More actions
m (Text replacement - "Infobox 3DS homebrew" to "Infobox-3DS-Homebrews") |
m (Text replacement - "Category:Homebrew developments for 3DS" to "") |
||
(40 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox | {{Infobox 3DS Homebrews | ||
| title = | |title=LOVE Potion | ||
| image = | |image=Lovepotion3.png | ||
| type = | |description=The unofficial port of LOVE for Nintendo 3DS. | ||
| version = | |author=Videah, TurtleP | ||
| | |lastupdated=2024/03/26 | ||
| | |type=Developments | ||
| website = https:// | |version=3.0.1 | ||
| | |license=Mixed | ||
| | |download=https://dlhb.gamebrew.org/3dshomebrews/lovepotion3ds.7z | ||
|website=https://lovebrew.org | |||
|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 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 [https://lovebrew.org LÖVE Potion wiki] will refer to what is implemented in Löve Potion which will follow the official [https://love2d.org/wiki/Main_Page 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 [https://sheepolution.com/learn/book/contents 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 [https://lovebrew.org/#/compatibility compatibility] and the API reference on the sidebar to see what may need changing. | |||
'''Q. How do I build this?''' | |||
Follow [https://lovebrew.org/#/building 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=== | |||
* [[Picroxx_3DS|Picroxx!]] by Substance12. | |||
* [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. | |||
* [[NumberF--ker3DS|NumberFucker3DS]] by unek & videah. | |||
* [[Space_Fruit_3DS|SpaceFruit]] by TurtleP. | |||
* [[Loophole_3DS|Loophole]] by Aaron Butterworth & CKlidify. | |||
* [[Hax0r_3DS|Hax0r]] by TurtleP. | |||
* [[Idiot 3DS|Idiot]] by TurtleP. | |||
* [[Ravimid_3DS|ravimid]] by hoksy "raisin bran" jp. | |||
* [[JETSKI 3DS|Jetski 3DS]] by miltoncandelero. | |||
==Media== | |||
'''Personal 3DS Homebrew Aguraki/Love2D/Love Potion''' ([https://www.youtube.com/watch?v=mTyscXt7NMg Ganjulationess3DS ]) <br> | |||
<youtube>mTyscXt7NMg</youtube> | <youtube>mTyscXt7NMg</youtube> | ||
==Changelog== | |||
'''v3.0.1''' | |||
*What's Changed: | |||
**Fix Various Post-Release Bugs by @TurtleP in #215. | |||
**Fix Joystick:getGamepadAxis on Nintendo 3DS (#223). | |||
**Fix app suspend not resuming (via swkbd or suspend) on Nintendo 3DS (#220). | |||
*Additions: | |||
**Nestlink is no longer required for debugging:. | |||
***Set t.console = true in conf.lua and connect via telnet on Windows or netcat on macOS/Linux. | |||
****Connect via {DEVICE_IP} 8000. | |||
***Other options can be done, simply by connecting via a TCP socket client. | |||
***There is no timeout to connect, so leaving t.console = true without connecting will wait for a connection. | |||
****A timeout can be added if desired, please open an issue for this. | |||
'''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): | ||
* love. | * 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. | * General system stability improvements to enhance the user's experience. | ||
* | |||
==Credits== | |||
Acknowledgements: | |||
* [https://github.com/devkitPro devkitPro] | |||
** devkitARM and libctru | |||
** devkitPPC and wut | |||
** devkitA64 and libnx | |||
** Various portlibs for the consoles | |||
* [https://github.com/piepie62 piepie] | |||
** Various C++ components | |||
* [https://github.com/fincs fincs] | |||
** 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== | |||
* Official website - https://lovebrew.org | |||
* GitHub (TurtleP) - https://github.com/lovebrew/lovepotion | |||
* GitHub (Videah) - https://github.com/videah/LovePotion | |||
* GBAtemp - https://gbatemp.net/threads/release-loevepotion-loeve-api-for-3ds-homebrew-beta.397559 | |||
* LÖVE - https://love2d.org/forums/viewtopic.php?t=80593 |
Latest revision as of 14:50, 6 Haziran 2024
LOVE Potion | |
---|---|
General | |
Author | Videah, TurtleP |
Type | Developments |
Version | 3.0.1 |
License | Mixed |
Last Updated | 2024/03/26 |
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
- Picroxx! by Substance12.
- Space Shooter Game by Darkwater.
- Ludum Dare 33 Entry by videah.
- NumberFucker3DS by unek & videah.
- SpaceFruit by TurtleP.
- Loophole by Aaron Butterworth & CKlidify.
- Hax0r by TurtleP.
- Idiot by TurtleP.
- ravimid by hoksy "raisin bran" jp.
- Jetski 3DS by miltoncandelero.
Media
Personal 3DS Homebrew Aguraki/Love2D/Love Potion (Ganjulationess3DS )
Changelog
v3.0.1
- What's Changed:
- Fix Various Post-Release Bugs by @TurtleP in #215.
- Fix Joystick:getGamepadAxis on Nintendo 3DS (#223).
- Fix app suspend not resuming (via swkbd or suspend) on Nintendo 3DS (#220).
- Additions:
- Nestlink is no longer required for debugging:.
- Set t.console = true in conf.lua and connect via telnet on Windows or netcat on macOS/Linux.
- Connect via {DEVICE_IP} 8000.
- Other options can be done, simply by connecting via a TCP socket client.
- There is no timeout to connect, so leaving t.console = true without connecting will wait for a connection.
- A timeout can be added if desired, please open an issue for this.
- Set t.console = true in conf.lua and connect via telnet on Windows or netcat on macOS/Linux.
- Nestlink is no longer required for debugging:.
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
- Official website - https://lovebrew.org
- GitHub (TurtleP) - https://github.com/lovebrew/lovepotion
- GitHub (Videah) - https://github.com/videah/LovePotion
- GBAtemp - https://gbatemp.net/threads/release-loevepotion-loeve-api-for-3ds-homebrew-beta.397559
- LÖVE - https://love2d.org/forums/viewtopic.php?t=80593