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

[Feature Request]: Game Plugins #5539

Closed
ermaccer opened this issue Feb 18, 2022 · 4 comments
Closed

[Feature Request]: Game Plugins #5539

ermaccer opened this issue Feb 18, 2022 · 4 comments

Comments

@ermaccer
Copy link

Description

Would it be possible to make .irx modules work like .prx plugins for PSP?

PPSSPP has this feature implemented, while .prx plugins are a thing on hardware too - PS2 itself has no simple way of loading .irx modules for specific games.

User could store them in plugins folder which would be located in user files location.

Reason

Game specific modules would greatly decrease the hassle of editing code as they could be written in C and compiled instead of manually writing asm code.

Possible use cases:

  • Widescreen fixes
  • More advanced game mods
  • Translation patches

Examples

PPSSPP Reference:
hrydgard/ppsspp#13335

@Ziemas
Copy link
Contributor

Ziemas commented Feb 18, 2022

Maybe you could elaborate on how you would use this feature to accomplish your possible use cases?

IRX modules run on the IOP, so beyond handling various IO tasks for the game (which runs on the EE) there isn't much you can do with them to modify game play.

There is a corresponding ERX module system for the EE, but I don't know of any games that actually used it.

@ThirteenAG
Copy link

IRX modules run on the IOP, so beyond handling various IO tasks for the game (which runs on the EE) there isn't much you can do with them to modify game play.

And it's not the point, the issue was created for someone familiar with ps2 internals to comment on whether it's possible to have something similar to ppsspp's plugin system or not. Whatever it can be eventually, irx, erx or else, doesn't matter much.

Maybe you could elaborate on how you would use this feature to accomplish your possible use cases?

Check this post for example, use cases can be anything from printing a hello world on screen, to making a skip intro patch.

@ermaccer
Copy link
Author

Maybe you could elaborate on how you would use this feature to accomplish your possible use cases?

For example, I would like to port my Mortal Kombat Unchained PSP mod (https://github.com/ermaccer/MKUHook) to MK Deception PS2 since both games use exact codebases. It needs to call an internal screen refresh function to update the screen in certain situations. Use cases can be anything really, it depends what you want to do - for example, make some custom texture/text draws in game.

IRX modules run on the IOP, so beyond handling various IO tasks for the game (which runs on the EE) there isn't much you can do with them to modify game play.

You're right here but I've mentioned IRX due to how more "popular" it is. The idea here is simply to have any kind of MIPS related plugin system instead of manual asm patches.

@lightningterror
Copy link
Contributor

Closing as trivial, pr's welcome if someone is interested adding it.

@lightningterror lightningterror closed this as not planned Won't fix, can't repro, duplicate, stale Jun 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants