Homebrew RPG Maker Emulator/Player possible?

Mastak

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
139
Trophies
0
Age
34
XP
195
Country
United States
Another thing that will probably need extra code is saving data when running from RomFs. I assume because of ROM it is read-only? ;)

How does other homebrew does this? Simply write in some save directory on the SD card or is there a more fancy way?

3dsx supports romfs too. But EasyRPG is made to load game assets from disk, not have a single game embedded.

Well I like the idea... this way you can directly distribute complete RPG Maker games as a single executable, more homebrew, yeah! ;)


The RomFS code comes today or during the weekend, depends on my time ^^
 
Last edited by Mastak,

xXDungeon_CrawlerXx

Well-Known Member
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,720
Country
Another thing that will probably need extra code is saving data when running from RomFs. I assume because of ROM it is read-only? ;)

How does other homebrew does this? Simply write in some save directory on the SD card or is there a more fancy way?



Well I like the idea... this way you can directly distribute complete RPG Maker games as a single executable, more homebrew, yeah! ;)


The RomFS code comes today or during the weekend, depends on my time ^^
todayx would be fu**** awesome! :D
Savefiles, hm.... probably in SD:/Nintendo 3DS/Homebrew/***GameID(rsf configurated)/saves/ ?
 

xXDungeon_CrawlerXx

Well-Known Member
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,720
Country
Okay... soooo to make this a bit more dynamic without recompiling: How is the ctrulib function to get the GameID? :D

Oh and in case you need some branding for the Banner: EasyRPG Logos
yep, exactly! :D
uhmm.... good question... xD I think it's not possible to get the GameID this way :P
I'm not very good in 3ds developing (can compile stuff by myself and edit entrys, but other things... )

I've a Idea, could you create a Source for me which supports loading files (gamefiles) from RomFS and saves the savefile whereever I want (editable in source, probably the standard path could be "SD:/3DS/EasyRPG/save.sav" which I could edit easily) so I can compile it by myself?
For example:
I want to give the build the ID: 0xd4990
- The Game will be installed through CIA to: SD:/Nintendo 3DS/ID1/ID2/title/400000?/00d4990)" (PATH is always the same, id isconfigurated in rsf)
- The Gamefiles (Maps, Music, ...) will be stored in "RomFS:/<ROOT>"
- The Savefiles will be in "SD:/Nintendo 3DS/ID1/ID2/homebrew/00d4990/savefile.sav" or "SD:/Nintendo 3DS/ID1/ID2/title/400000?/00d4990/data/savefile.sav" (Make it editable so I can configure it by myself if needed :D)

Sorry for my bad english, it isn't my native language ;)
 
Last edited by xXDungeon_CrawlerXx,

Mastak

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
139
Trophies
0
Age
34
XP
195
Country
United States
Sorry @xXDungeon_CrawlerXx this takes longer then expected because for unknown reasons it crashes now always when I initialize the graphics. Even the .3dsx I provided for download doesn't work for me anymore, super strange.
Until I figure out what happened I can't provide any further releases, sorry :/
 

xXDungeon_CrawlerXx

Well-Known Member
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,720
Country
Sorry @xXDungeon_CrawlerXx this takes longer then expected because for unknown reasons it crashes now always when I initialize the graphics. Even the .3dsx I provided for download doesn't work for me anymore, super strange.
Until I figure out what happened I can't provide any further releases, sorry :/
ugh, that's bad :/
I hope you'll be able to fix that :(
 

Mastak

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
139
Trophies
0
Age
34
XP
195
Country
United States
whats the point of porting easyrpg? i thought that barely got beyond map rendering. battles dont even work, do they?

Because it's a challenge to port stuff to other systens, others port emus, I port this...

You are not up-to-date. EasyRPG has a battle system since mid 2014. The last big improvemets to the battle system (and many other components) were two months ago. So it's still under active development and many games already run (check our Android port in the PlayStore). I don't want to say that EasyRPG runs perfect but we are much closer to this then years ago.

There is a SDL 2 port for the 3ds by xerpi:
https://github.com/xerpi/SDL-3DS

Just use this

Oh that's interesting. But we don't have very heavy dependencies on SDL2 except Audio, the rest (Video and Input) is easy to replace. Does this port feature audio? Have to test it :)
 
Last edited by Mastak,
  • Like
Reactions: xXDungeon_CrawlerXx

xXDungeon_CrawlerXx

Well-Known Member
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,720
Country
@Mastak ,
hope you'll be able to get romfs-loading to work :D
Had the Idea you could add two types of loading into the sourcecode (one of them will be commented out while compiling)
EXAMPLE:
//-----Loading stuff from SD Card--//
<code>
<code>
//-----Loading stuff from RomFS--//
//<code>
//<code>
do you think it's possible? :D
 

Mastak

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
139
Trophies
0
Age
34
XP
195
Country
United States
@Mastak ,
hope you'll be able to get romfs-loading to work :D

RomFS will come for sure, I will provide a solution that works for both sd-card and romfs without recompiling. I also found a way in the meanwhile to get the TitleID via a ctrulib function.
I try to make all these things working without the need of recompiling :)

I'm also working on a patch for EasyRPG for providing a different save path (different to the game directory) which will be required for RomFS (and will be really useful for other platforms, too)

Save path when executed with romfs will be "sdmc:/Nintendo 3DS/Private/<Title ID Low>/" (as said on 3dbrew "Private" is for unencrypted data)
 
Last edited by Mastak,
  • Like
Reactions: xXDungeon_CrawlerXx

xXDungeon_CrawlerXx

Well-Known Member
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,720
Country
RomFS will come for sure, I will provide a solution that works for both sd-card and romfs without recompiling. I also found a way in the meanwhile to get the TitleID via a ctrulib function.
I try to make all these things working without the need of recompiling :)

I'm also working on a patch for EasyRPG for providing a different save path (different to the game directory) which will be required for RomFS (and will be really useful for other platforms, too)

Save path when executed with romfs will be "sdmc:/Nintendo 3DS/Private/<Title ID Low>/" (as said on 3dbrew "Private" is for unencrypted data)
Thank you alot for this! :)
 

xXDungeon_CrawlerXx

Well-Known Member
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,720
Country
Yo @Mastak,

i tried your Build in your first post but my N3DS just crashes while try to load it.
Cubic Ninja -> Homebrew Channel -> easyrpg_player-3ds.
I see the "garbage screen" for a short time and get a "An error has occured" screen.
The 3DS reboots after that.
Just copiy-pasted the folder inside of the archive to SD:/3DS/
 

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
Just a little bump to this thread to tell you that i started working on the EasyRPG port for 3DS. I'm currently optimizing rendering code, got a good frameboost (now it runs at 25 FPS on O3DS and 60 FPS on N3DS). When i'll finish with rendering code, i'll start working on audio code.

Here's a screenshot: https://twitter.com/Rinnegatamante/status/711710258402611200

And here's the GitHub repository for anyone interested: https://github.com/Rinnegatamante/easyrpg-player-3ds

EDIT: To anyone who wants to compile it and needs libraries, just contact me in PM since there are a lot of dependencies and also you'll need a modified sf2dlib (precisely with this pull: https://github.com/xerpi/sf2dlib/pull/29 )
 
Last edited by Rinnegatamante,

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
I could never get EasyRPG player running consistently as either 3dsx nor CIA so I gave up. It would usually give me red screen as 3dsx, presumably because the build was too big (nearly 9 MB). I think perhaps my liblcf build wasn't optimized enough even though I made some hacky changes to ICU. I'll download their portlib builds later and try. Other than that, it shouldn't be too hard to complete and get working at a nice framerate. Are you running as 3dsx?
 

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
I could never get EasyRPG player running consistently as either 3dsx nor CIA so I gave up. It would usually give me red screen as 3dsx, presumably because the build was too big (nearly 9 MB). I think perhaps my liblcf build wasn't optimized enough even though I made some hacky changes to ICU. I'll download their portlib builds later and try. Other than that, it shouldn't be too hard to complete and get working at a nice framerate. Are you running as 3dsx?

Yep i'm running it as a 3dsx on both O3DS and N3DS. Probably in CIA version you'll need to modify something to let the executable understand where to check for the project files. (This is a tip for the future but probably a "packer" that uses a prebuilded elf and packs the game in romFs like Video Channels Creator does is the best thing to do for a CIA build).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Sak is a fishy pineapple