Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QoL: detect unsupported engines #3326

Merged

Conversation

Primekick
Copy link
Contributor

@Primekick Primekick commented Jan 7, 2025

Fix #3198

Some users, particularly on mobile, struggle to understand why EasyRPG doesn't detect any playable content when trying to run games made with unsupported engines like RPG Maker versions other than 2kX or similar software (e.g. Wolf RPG Editor).

This PR addresses this issue by implementing a feature that detects games created with commonly encountered unsupported engines. Affects both regular and Android version of the player. The list of known engines consists of:

  • RPG Maker XP
  • RPG Maker VX
  • RPG Maker VX Ace
  • RPG Maker MV/MZ
  • Wolf RPG Editor

A few screenshots demonstrating the feature:
Player_20250107-152146
image
image-1
image
image-1

@Ghabry
Copy link
Member

Ghabry commented Jan 7, 2025

Jenkins: test this please

Thanks! Looks good.

What could become a problem on mostly our console platforms is Show information for unsupported engines directly on the game list. Reason is that IO performance on many homebrew platforms is ridiculous slow, so fetching these information takes a while :/.

Have to benchmark how awful the performance penalty is.

@Ghabry Ghabry added this to the 0.8.1 milestone Jan 8, 2025
@Ghabry Ghabry self-requested a review January 9, 2025 14:22
@Ghabry
Copy link
Member

Ghabry commented Jan 10, 2025

also worth adding: RPG_RT.rs1. That's an encrypted archive format you can create via the latest Maniac Patch editor. Until somebody reverse engineers the encryption this will not run (even though it's technically a RPG Maker 2k3 game...)

@florianessl
Copy link
Member

I went & checked a few older RPG95 / SimRPG 95 games for identification.
These names should prove to be reliable targets for a simple file name check, if you'd like to include them:

  • SWNAME.DAT + *.RPG -> RPG Maker 95
  • SWNAME.DAT + GEOLOGY.DAT -> Sim RPG Maker 95

src/filefinder.h Outdated
Comment on lines 359 to 370
*
* 2k v1.51 (Japanese) : 746496
* 2k v1.50 (Japanese) : 745984
* -- threshold (2k) -- : 735000
* 2k v1.10 (Japanese) : 726016
*
* 2k3 v1.09a (Japanese) : 950784
* 2k3 v1.06 (Japanese) : 949248
* 2k3 v1.05 (Japanese) : unknown
* -- threshold (2k3) -- : 927000
* 2k3 v1.04 (Japanese) : 913408
*/
Copy link
Contributor

@fdelapena fdelapena Jan 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

automatic spaces to tabs seems that added an extra tab

@fdelapena fdelapena added the UX For issues affecting the user experience, such annoyances, counter-intuitive or ugly design label Jan 19, 2025
@Ghabry
Copy link
Member

Ghabry commented Jan 19, 2025

@Primekick can you please rebase to the latest Player commit?

git remote add upstream https://github.com/easyrpg/player
git fetch upstream
git rebase upstream/master --committer-date-is-author-date --autostash
git push --force-with-lease origin

@Primekick Primekick force-pushed the Primekick-DetectProjectType branch from 6d932db to cc4975a Compare January 20, 2025 10:53
Make localization simpler by merging some strings
Add (Sim) RPG Maker 95 to detection
Our homebrew platforms have too slow IO for this.
@Ghabry
Copy link
Member

Ghabry commented Jan 20, 2025

Okay, did some adjustments:

  • Fixed the incorrect whitespace on some lines.
  • Solved some visual bugs on Android I found (and changed something in the cache layout)
  • Added (Sim)RM95 detection
  • Made Wildcard processing opt-in
  • Disabled project type detection on our homebrew platforms (too slow)

src/filefinder.cpp Outdated Show resolved Hide resolved
@Ghabry Ghabry force-pushed the Primekick-DetectProjectType branch from 64f68e4 to f9f0747 Compare January 20, 2025 18:20
@Ghabry Ghabry force-pushed the Primekick-DetectProjectType branch from f9f0747 to 2c19a17 Compare January 20, 2025 18:24
@fdelapena fdelapena merged commit f787328 into EasyRPG:master Jan 21, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Android Building FileFinder UX For issues affecting the user experience, such annoyances, counter-intuitive or ugly design Window/Scenes
Development

Successfully merging this pull request may close these issues.

Extend the player code to detect (NOT SUPPORT) some common engine types other than RM2k(3)
4 participants