Hey guys.
So, I'm working on a massive upgrade to RPG Maker XP, in the form of an open source replacement/extension. Originally, it was only going to include the runtime, but some of the things I want to do require editor adjustments as well. Here's the thing: I absolutely love RPG Maker XP. I don't want my project to show Enterbrain any disrespect for the hard work they put in.
So, I really want to enforce ownership of the original editor in order to use mine - I couldn't reasonably extend the vanilla editor without replacing it, but I don't want it to become a free alternative.
But how to do this cleanly? As it's written in .NET, there's a good chance my editor could be made to work with Mono on other platforms - so I'd rather not rely on registry. I could prompt to browse for the original RPGXP.exe, and validate a checksum - which would at least require XP to be installed (can't vouch for its legitimacy, but at least any losses are not directly a result of my editor being available).
But then there's the question of how to enforce this at all when the project is open source? You could simply snip the checksum bit.
I need ideas. EB has never stepped on my toes in extending their product, I don't want to step on theirs by compromising its value to them. I need to get something in place before I can upload to GitHub/etc.
Edits:
Idea #1: Steamworks integration. Could probably wrangle some way to detect an RMXP install. Downsides: Windows-only (because the game is Windows-only), and only the steam version.
Idea #2: Check uninstall registry data. Downsides: Windows-only, some advanced users might delete uninstall data.
Idea #3: CRC32 or similar checksum of RPGXP.exe. Best bet so far, but requires a user to be able to find it. Downside: I'd have to only support the latest version, or compile a list of known CRC32s. (That said, the editor is only officially supporting 1.05 anyway)
Update: So going with a hashing method. You will be required to locate an RPGXP.exe before being able to use the tool.
Temporary drawback: I only have the latest steam version (1.05). So that's the only known checksum at this time.
If any of you can provide me with additional checksums, I will add support for them.
So, I'm working on a massive upgrade to RPG Maker XP, in the form of an open source replacement/extension. Originally, it was only going to include the runtime, but some of the things I want to do require editor adjustments as well. Here's the thing: I absolutely love RPG Maker XP. I don't want my project to show Enterbrain any disrespect for the hard work they put in.
So, I really want to enforce ownership of the original editor in order to use mine - I couldn't reasonably extend the vanilla editor without replacing it, but I don't want it to become a free alternative.
But how to do this cleanly? As it's written in .NET, there's a good chance my editor could be made to work with Mono on other platforms - so I'd rather not rely on registry. I could prompt to browse for the original RPGXP.exe, and validate a checksum - which would at least require XP to be installed (can't vouch for its legitimacy, but at least any losses are not directly a result of my editor being available).
But then there's the question of how to enforce this at all when the project is open source? You could simply snip the checksum bit.
I need ideas. EB has never stepped on my toes in extending their product, I don't want to step on theirs by compromising its value to them. I need to get something in place before I can upload to GitHub/etc.
Edits:
Idea #1: Steamworks integration. Could probably wrangle some way to detect an RMXP install. Downsides: Windows-only (because the game is Windows-only), and only the steam version.
Idea #2: Check uninstall registry data. Downsides: Windows-only, some advanced users might delete uninstall data.
Idea #3: CRC32 or similar checksum of RPGXP.exe. Best bet so far, but requires a user to be able to find it. Downside: I'd have to only support the latest version, or compile a list of known CRC32s. (That said, the editor is only officially supporting 1.05 anyway)
Update: So going with a hashing method. You will be required to locate an RPGXP.exe before being able to use the tool.
Temporary drawback: I only have the latest steam version (1.05). So that's the only known checksum at this time.
If any of you can provide me with additional checksums, I will add support for them.