EasyRPG / Player

RPG Maker 2000/2003 and EasyRPG games interpreter
https://easyrpg.org/player/
GNU General Public License v3.0
1.01k stars 193 forks source link

Idea: Integrate EasyRPG on some solution such as RetroPie #799

Closed BlisterB closed 8 years ago

BlisterB commented 8 years ago

Hi everyone! This is just an idea, but Christopho (the developper of the Solarus Engine) added the Solarus Project to RetroPie. https://twitter.com/ChristophoZS/status/705418608067928065

Imho it would be a nice thing to include EasyRPG to some gaming solution such as RetroPie (since the GameBrowser is operationnal and allow to play to games stored in a directory). It already permit to play to a lot of cool games and it would be a good promotion for the project :). And it should be really simple because of the Jenkins automatic builds.

I plan to buy a Raspberry Pi 3 after my exams (3 weeks to handle!), i can work on the idea :).

Ghabry commented 8 years ago

Okay, have fun :)

zerojay commented 8 years ago

Actually, I added Solarus to Retropie and I'm currently taking a look at doing the same thing with Easy RPG Player. I'll post here when I have any progress to note.

BlisterB commented 8 years ago

Oh, apologizes for the mistake!

Please have a look at the Jenkins server, the easiest way to get the last build. https://ci.easyrpg.org/ Nightlies are recommended to have the best experience with EasyRPG.

Guess I'll stick on the Android port ^^.

Ghabry commented 8 years ago

The Jenkins automatic builds won't work @BlisterBoy, because they are not for ARM :D. But recompiling is easy.

@zerojay Some compile instructions: https://wiki.easyrpg.org/development/compiling/liblcf/autotools

https://wiki.easyrpg.org/development/compiling/player/autotools

I recommend compiling liblcf with ICU and expat. Otherwise it's not feature complete. And the Player with the newest SDL2 you can find (2.0.1 ^^) because this version (together with 2.0.1 mixer) fixed many problems, especially with Audio.

And SDL2(_mixer) should support at least WAV, OGG, MIDI and MP3. Without MP3 most games will be silent :/. Libmad for MP3 is also more stable then smpeg (but I guess you can't change this because you use the SDL2 of the distribution) The audio is really an issue, we have to replace this someday...

zerojay commented 8 years ago

For RetroPie, we basically write up scripts that compile, install and setup ports and apps for users and those that get into RetroPie officially also get official binaries as well, so while I appreciate being pointed to Jenkins, it's not going to work for us.

Thanks for the compile tips.

zerojay commented 8 years ago

Alright, I have it up and running on the Pi 2. I went through RTP hell to extract the files needed but it's clear that something's wrong when looking at the sprites. Incorrect sprites are being used everywhere. It's clear that the game is looking for, for example if sprite X was a door, it asks for sprite X from the RTP and the sprite is actually a set of stairs. And it's like that everywhere. The character sprites appear to be fine. I'm using A Blurred Line as my test game of choice here and I have both rtp2000 and rtp2003 being found and apparently read from.

Ghabry commented 8 years ago

Can you post the easyrpg_log.txt? (is in the working directory of the Player, or in --save-path if you passed that arg). The file could give some hints about which RTP is used.

zerojay commented 8 years ago

Here's the log:

2016-03-11 20:00:23] Debug: EasyRPG Player 0.4.0 started [2016-03-11 20:00:23] Debug: ============================ [2016-03-11 20:00:23] Debug: CLI: [2016-03-11 20:00:23] Debug: Opened audio at 44100 Hz (stereo), format: S16LSB [2016-03-11 20:00:26] Debug: Detected encoding: ibm-5348_P100-1997 [2016-03-11 20:00:26] Debug: Using ./blurline as Game and Save directory [2016-03-11 20:00:27] Debug: Loading game A Blurred Line [2016-03-11 20:00:27] Debug: Using RPG2k Interpreter [2016-03-11 20:00:27] Debug: wine prefix not found: "/home/pi/.wine" [2016-03-11 20:00:27] Debug: wine prefix not found: "/home/pi/.wine" [2016-03-11 20:00:27] Debug: wine prefix not found: "/home/pi/.wine" [2016-03-11 20:00:27] Debug: wine prefix not found: "/home/pi/.wine" [2016-03-11 20:00:27] Debug: Adding /home/pi/games/data/rtp/2000/ to RTP path [2016-03-11 20:00:28] Debug: Starting new game [2016-03-11 20:00:28] Debug: Loading Map Map0004.lmu [2016-03-11 20:00:28] Debug: Tree: Blank (Leave START here) < Introduction [2016-03-11 20:00:30] Debug: Loading Map Map0001.lmu [2016-03-11 20:00:30] Debug: Tree: Introduction [2016-03-11 20:13:16] Debug: possible leak in cached bitmap System/ablskin [2016-03-11 20:13:16] Debug: possible leak in cached bitmap Title/ABL20Title

zerojay commented 8 years ago

All I can think of is either an issue with the encoding of the filenames or the RTP is somehow wrong.

Ghabry commented 8 years ago

The log looks fine. So must be something with the RTP, probably the wrong one. Can I have a directory listing of the whole RTP (with subdirs)?

zerojay commented 8 years ago

I now see what the problem is. The encoding of the filenames got screwed up when I scp'd them across. Blocks everywhere.

Ghabry commented 8 years ago

That RTP is fine.

I can only make an educated guess: Because it's an English game it uses Don's inofficial RTP translation (with English filenames). EasyRPG Player has a mapping table implemented which maps that English files to the Japanese. Maybe there is a bug in this mapping table.

Could you try with Don Miguels RTP?

Welcome to RTP hell :(

fdelapena commented 8 years ago

There are games using characters existing in the Don Miguel RTP translation, which adds more than 30 new assets, including characters. The RTP table replacement is doing a fallback of missing files to unrelated characters in these cases. Details: https://wiki.easyrpg.org/development/rtp-database/2000-rtp#don-miguel-s-rpg-maker-2000-rtp-changes

zerojay commented 8 years ago

Okay, so... what can I do to ensure that I have proper RTPs for just about anything I'm going to be playing? Have the Japanese RTPs in 2000/ and 2003/ and define a fallback with the environment variable?

Ghabry commented 8 years ago

Well for Europe and USA for 2000 Don and for 2003 RPG Advocate. Newer (2015) games use the official English RTP. For Japanese the official ones. For other languages... other translations.

Hm, guess we have to adjust the Player to allow more then one RTP via env vars.

Basicly it's hopeless... You will not find an ultimate solution for this. (And you can't legally distribute the RTP btw)

But not all games need the RTP :)

zerojay commented 8 years ago

Well, thanks. I do appreciate your attempts to help me out here but I think I'm going to pass on this.

EDIT: Nevermind, I think I figured something out here. Work continues on.

zerojay commented 8 years ago

I now have a working installation script for installing EasyRPG Player into RetroPie. It can be found in my repo: https://github.com/zerojay/RetroPie-Extra/

Ghabry commented 8 years ago

Looks okay, but please ensure that liblcf links against ICU. Otherwise non-English people won't be happy (without ICU the encoding is not autodetected and non-ASCII characters will be broken)

carstene1ns commented 8 years ago

my 2 cents:

Otherwise looks fine.

fdelapena commented 8 years ago

Thanks zerojay for porting EasyRPG Player to RetroPie, I guess BlisterBoy's proposal for this issue is solved.