Love Potion 3DS: Difference between revisions

From GameBrew
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 4: Line 4:
|description=The unofficial port of LOVE for Nintendo 3DS.
|description=The unofficial port of LOVE for Nintendo 3DS.
|author=Videah, TurtleP
|author=Videah, TurtleP
|lastupdated=2022/05/22
|lastupdated=2023/10/16
|type=Developments
|type=Developments
|version=2.4
|version=3.0
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/3dshomebrews/lovepotion3ds.7z
|download=https://dlhb.gamebrew.org/3dshomebrews/lovepotion3ds.7z
|website=https://lovebrew.org
|website=https://lovebrew.org
|source=https://github.com/lovebrew/lovepotion
|source=https://github.com/lovebrew/lovepotion
|donation=https://www.patreon.com/TurtleP
}}
}}
LÖVE Potion is a homebrew game framework for Nintendo 3DS and Nintendo Switch originally by VideahGams. It is an implementation of the [https://love2d.org LÖVE API] for 3DS Homebrew, which can be used to make 2D games in the Lua programming language.
LÖVE Potion is a homebrew game framework for Nintendo 3DS and Nintendo Switch originally by VideahGams. It is an implementation of the [https://love2d.org LÖVE API] for 3DS Homebrew, which can be used to make 2D games in the Lua programming language.


LÖVE is totally free, and can be used in anything from friendly open-source hobby projects, to evil, closed-source commercial ones.
LÖVE is totally free, and can be used in anything from friendly open-source hobby projects, to evil, closed-source commercial ones. Currently updated by TurtleP.


==User guide==
==User guide==
Line 50: Line 51:
* [http://novaember.com/s/8f9453/FIrGGQ.mp4 Space Shooter Game] by Darkwater.
* [http://novaember.com/s/8f9453/FIrGGQ.mp4 Space Shooter Game] by Darkwater.
* [http://ludumdare.com/compo/ludum-dare-33/?action=preview&uid=31436 Ludum Dare 33 Entry] by videah.
* [http://ludumdare.com/compo/ludum-dare-33/?action=preview&uid=31436 Ludum Dare 33 Entry] by videah.
* [[NumberFucker3DS|NumberFucker3DS]] by unek & videah.
* [[NumberF--ker3DS|NumberFucker3DS]] by unek & videah.
* [[Space_Fruit_3DS|SpaceFruit]] by TurtleP.
* [[Space_Fruit_3DS|SpaceFruit]] by TurtleP.
* [[Loophole_3DS|Loophole]] by Aaron Butterworth & CKlidify.
* [[Loophole_3DS|Loophole]] by Aaron Butterworth & CKlidify.
Line 57: Line 58:
* [[Ravimid_3DS|ravimid]] by hoksy "raisin bran" jp.
* [[Ravimid_3DS|ravimid]] by hoksy "raisin bran" jp.
* [[JETSKI 3DS|Jetski 3DS]] by miltoncandelero.
* [[JETSKI 3DS|Jetski 3DS]] by miltoncandelero.
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrews/lovepotion3.png


==Media==
==Media==
Line 66: Line 64:


==Changelog==
==Changelog==
'''v3.0'''
* This is the first stable release of LÖVE Potion 3.0.
* Please refer to the previous six pre-release items for details.
* Some items may still be missing, but it can be considered the main version to use now.
'''v2.4.1'''
*Fixes
** Fixed an issue on 3DS where Images would not return proper width/height.
** Fixed an issue on 3DS where some images, depending on width and height, would have problems displaying due to the --border option. This option is no longer needed, so please update to the latest version of lovebrew.
** Fixture objects not returning their proper Shape object.
'''v2.4.0'''
'''v2.4.0'''
* getLanguage -> getPreferredLocales
* getLanguage -> getPreferredLocales.
* love.video support
* love.video support.


'''v2.3.2'''
'''v2.3.2'''
Line 124: Line 132:


==Credits==
==Credits==
* Smealum and everyone who worked on [https://github.com/smealum/ctrulib ctrulib] and all the Hax.
Acknowledgements:
* xerpi for [https://github.com/xerpi/sf2dlib sf2dlib] and [https://github.com/xerpi/sftdlib sftdlib] and [https://githubcom/xerpi/sfillib sfillib].
* [https://github.com/devkitPro devkitPro]
* Everyone who worked on [https://github.com/keplerproject/lua-compat-5.2 lua-compat-5.2].
** devkitARM and libctru
* Everyone who has worked on [http://citra-emu.org Citra].
** devkitPPC and wut
* Everyone who worked on [http://devkitpro.org DevKitARM].
** devkitA64 and libnx
* rxi for [https://github.com/rxi/lovedos lovedos] which has been good learning material (also used his luaobj util).
** Various portlibs for the consoles
* Firew0lf, Reuh, Negi and everyone else who worked on [https://github.com/Firew0lf/ctruLua ctruLua].
* [https://github.com/piepie62 piepie]
* TurtleP for help/advice and being the best customer.
** Various C++ components
* Mik Embley for his contributions.
* [https://github.com/fincs fincs]
* All of the LÖVE community, for being awesome.
** citro2d, citro3d, and deko3d
* [https://github.com/mtheall mtheall]
** Initial debugging with Switch font rendering
* [https://github.com/love2d/love LÖVE's Developers]
** Code is referenced and used in this project
* [https://github.com/videah videah]
** Original author of LÖVE Potion


==External links==
==External links==
Line 144: Line 158:
[[Category:PC utilities for 3DS homebrew]]
[[Category:PC utilities for 3DS homebrew]]
[[Category:Homebrew developments for 3DS]]
[[Category:Homebrew developments for 3DS]]
[[Category:Support the author]]

Latest revision as of 12:59, 1 February 2024

LOVE Potion
Lovepotion3.png
General
AuthorVideah, TurtleP
TypeDevelopments
Version3.0
LicenseMixed
Last Updated2023/10/16
Links
Download
Website
Source
Support Author

LÖVE Potion is a homebrew game framework for Nintendo 3DS and Nintendo Switch originally by VideahGams. It is an implementation of the LÖVE API for 3DS Homebrew, which can be used to make 2D games in the Lua programming language.

LÖVE is totally free, and can be used in anything from friendly open-source hobby projects, to evil, closed-source commercial ones. Currently updated by TurtleP.

User guide

The LÖVE Potion wiki will refer to what is implemented in Löve Potion which will follow the official LÖVE API.

Please note that not all functions of LÖVE will be able to be implemented at this time until it moves from SDL2 to pure OpenGL on Nintendo Switch.

The 3DS version also has a very limited selection of the graphics API.

If you are new and unfamiliar with LÖVE and/or Lua, it is recommended to visit How to LÖVE by Sheepolution, which covers the basics of how to program games with the LÖVE framework.

FAQ

Q. Can I run my LÖVE game on this?

Running your game without any changes is possible, but it's recommended to currently use LÖVE Potion to make games from the ground up.

Take a look at compatibility and the API reference on the sidebar to see what may need changing.

Q. How do I build this?

Follow this guide, building should work on Linux, Windows and macOS if setup properly.

Q. Neat! I'm gonna send my game to Nintendo and get cartridge of my game and I'l-

Stop right there, this is for Homebrew only.

This is not for releasing a real 3DS title. Contact Nintendo if that's what you want.

Can I use this to run Mari0?

No.

Showcase

Media

Personal 3DS Homebrew Aguraki/Love2D/Love Potion (Ganjulationess3DS )

Changelog

v3.0

  • This is the first stable release of LÖVE Potion 3.0.
  • Please refer to the previous six pre-release items for details.
  • Some items may still be missing, but it can be considered the main version to use now.

v2.4.1

  • Fixes
    • Fixed an issue on 3DS where Images would not return proper width/height.
    • Fixed an issue on 3DS where some images, depending on width and height, would have problems displaying due to the --border option. This option is no longer needed, so please update to the latest version of lovebrew.
    • Fixture objects not returning their proper Shape object.

v2.4.0

  • getLanguage -> getPreferredLocales.
  • love.video support.

v2.3.2

  • lua-https (LÖVE 12.0 feature, use at your own risk since it is unreleased).
  • Fixed: Reloading textures would not be released properly, causing its old memory to be unfreed.
  • Fixed: Getting a really long error backtrace would crash the system. It has been mitigated.
  • General system stability improvements to enhance the user's experience.

v2.3.1

  • Fixed a potential issue where providing bad data to love.graphics.newImage would crash the console.
    • This now produces the proper error as would be expected on normal LÖVE.
  • Updated the JPGHandler class to use <jpeglib.h> instead of <jpegturbo.h>.
    • This does not affect any JPG loading.
  • Versioning number updates are more reliable to be done from the Makefile.
    • Not entirely important for end-users, but is noteworthy.

v2.3.0

  • General system stability improvements to enhance the user's experience.
  • Added the love.image module.
  • Added Data as a supported item for FileData construction.
  • Added ByteData:clone().

v2.2.0

Additions (3DS):

  • Audio playback for global play, pause, and stop.
  • Table and variadic versions of play, pause and stop functions.
  • love.graphics.(get/set)BlendMode.
  • Thank you @Nehemek for extra testing.
  • love.graphics.(get/set)ColorMask.
  • love.graphics.isActive.
  • love.graphics.isCreated.
  • love.graphics.getCanvas.
  • love.math.noise.
  • Networked debugger, simpler than using gdb on Nintendo 3DS.
  • Get it at the repository.
  • Wiki documentation and usage.

Bugfixes (3DS):

  • Fixed an issue where audio volume was not applied correctly.
  • Various issues with love.window.showMessagebox.
  • Thank you @HTV04 for finding these.
  • Fixtures not working properly with Fixture:getShape().
  • Fixed audio being shaky/pitched at times.
  • This may be from a prior release, but figured it should be mentioned.
  • Canvases not clearing on first construction.

Removals (3DS):

  • Removed love.graphics.setBlendFactor.
  • Colors can be multiplied as expected now with love.graphics.setColor, as of the newest citro2d version, using a special tinting mode.
  • Big thanks to @fincs.

Misc:

  • General system stability improvements to enhance the user's experience.

Credits

Acknowledgements:

  • devkitPro
    • devkitARM and libctru
    • devkitPPC and wut
    • devkitA64 and libnx
    • Various portlibs for the consoles
  • piepie
    • Various C++ components
  • fincs
    • citro2d, citro3d, and deko3d
  • mtheall
    • Initial debugging with Switch font rendering
  • LÖVE's Developers
    • Code is referenced and used in this project
  • videah
    • Original author of LÖVE Potion

External links

Advertising: