RGSS300 Player - An Alternative to Ace's Game.exe

Rafael_Sol_Maker

Almighty God Jabu
Veteran
Joined
May 8, 2012
Messages
129
Reaction score
56
First Language
Portuguese
Primarily Uses
RMMV
Hello, guys and girls!

Rafael_Sol_Maker (ME!) said:
[...]These days I've the idea of writing a custom game player for RPG Maker Maker VX Ace, a custom Game.exe made in VC++, to be exact. I don't know if I'll release it opensource of or no, but my question here is if this can be considered legal to distribute or comment about it here.The purpose of making such? Mainly to allow the changing of internal resources, like icons and stringtables, without breaking EULA, along providing another new few features (the Game.exe does almost nothing compared to the RGSS DLL, actually, it's very limited).

How about this? This is legal? Breaks the EULA in any way? How Enterbrain will react about this? These basically are my questions.[...]
Well, I already asked this for some people here, but how the answer didn't helped much, I'm bringing this discussion to the public. Questions apart, the development is in an advanced state now, it already works perfectly and there's plenty of new features already implemented, and others waiting to be developed. The advantages already implemented or in development right now include:

  • Console running in a separated thread, and executing user-typed commands with "Eval";
  • Possibility to remove the borders of the screen;
  • Resizable window (note: it doesn't change "screen resolution");
  • Enable or disable minimize, maximize or close buttons;
  • Track the mouse (or keyboard) and put the results it in a Ruby's Global variable directly;
  • Use the .INI or command line arguments to freely load any parameter wanted;
  • Implementation of a "hook" to detect the most common window events ocurring within game window (e.g.: double click);
  • And lots of others to imagine... (to begin, just think in all WinAPI available!)

If someone programs in C/C++ (pure, no MFC, ATL etc.), any help would be appreciated. If you support the making of this custom Game.exe, please let me know, so I can continue develop this.

Thanks for the attention,

RSM

Text in process of edition, maintained only for reference puposes





Introduction
Coming soon!

"The purpose of making such? Mainly to allow the changing of internal resources, like icons and stringtables, without breaking EULA, along providing another new few features"



Features


Coming soon!

  • "Console running in a separated thread, and executing user-typed commands with "Eval";
  • Possibility to remove the borders of the screen;
  • Resizable window (note: it doesn't change "screen resolution");
  • Enable or disable minimize, maximize or close buttons;
  • Track the mouse (or keyboard) and put the results it in a Ruby's Global variable directly;
  • Use the .INI or command line arguments to freely load any parameter wanted;




Keyboard Shortcuts


Coming soon!

  • F1¹
  • F2¹
  • F3
  • F4

  • F9¹ ²
  • F10
  • F11²
  • F12¹

¹ Already present in the default game player.

² Only avaiable in "test mode".



Command-line Arguments


Coming soon!

  • console*
  • btest*
  • test*

  • askexit
  • fixedpos
  • dropshadow
  • borderless
  • aboveallwns
  • fullscreen

  • noclosebtn
  • nominimize
  • resizeable

  • nof1
  • nof2
  • nof12
  • noaltenter
  • nohotkeys

  • addf3
  • addf4
  • addf11
  • addhotkeys

* Already present in the default game player.



.INI File Arguments


None at this moment!

Usage, Downloads, etcetera...
 
Last edited by a moderator:

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
Sounds cool, though what's the issue with not being able to change screen resolution?
 

TheRiotInside

Extra Ordinaire
Veteran
Joined
Sep 3, 2012
Messages
270
Reaction score
123
First Language
English
Primarily Uses
I don't think he meant it as an issue. He was just saying that you can now resize the game window like you could other windows, as in, while playing the game. He just made a point to clarify that it doesn't change the resolution, it only zooms the play window itself.

...I think? Haha.
 

Mouser

Veteran
Veteran
Joined
Aug 19, 2012
Messages
1,245
Reaction score
264
First Language
English
Primarily Uses
Off the top of my head about legality:

If you looked inside the software - ie: decompiled their game.exe or .dll files, then no it's not legal because your work is now "tainted" by their code. In essence your program is a 'derivative work' of theirs. Plus just decompiling or otherwise "looking under the hood" violates the EULA in itself.
 

Rafael_Sol_Maker

Almighty God Jabu
Veteran
Joined
May 8, 2012
Messages
129
Reaction score
56
First Language
Portuguese
Primarily Uses
RMMV
Off the top of my head about legality:

If you looked inside the software - ie: decompiled their game.exe or .dll files, then no it's not legal because your work is now "tainted" by their code. In essence your program is a 'derivative work' of theirs. Plus just decompiling or otherwise "looking under the hood" violates the EULA in itself.
No, I've not decrypted/decompiled the executable nor the DLL (lol, it's possible to decompile a executable?). No reverse engineering here. There's some softwares that allow you to see what functions can be called from that DLL, like some task managers, but only this.To be honest, it's based on some source code I've found, in a chinese community to be exact. I adapted and corrected the code, and all the implementations are based on common knowledge on the web and mainly MSDN (Microsoft Developer Network) documentation.

Well, some thing make me to believe the original Game.exe was wrote in Delphi, or some language derivated from Pascal. I am writing it in Microsoft Visual C++ 2010 Express.
 

timk1980

Apprentice
Member
Joined
Mar 15, 2012
Messages
123
Reaction score
42
First Language
English
Primarily Uses
Off the top of my head about legality:

If you looked inside the software - ie: decompiled their game.exe or .dll files, then no it's not legal because your work is now "tainted" by their code. In essence your program is a 'derivative work' of theirs. Plus just decompiling or otherwise "looking under the hood" violates the EULA in itself.
The Apple iPhone jailbreaking case established an important precedent, namely that reverse engineering for the sake of increasing compatibility or interoperability of software is perfectly legal.

If any of the decompiled code was used to generate the new binaries, then yes, there'd be an issue. Just to peek under the hood, might technically be a violation of the EULA, but I don't know what punishment could be enforced for it (I think none).
 

Cidiomar

Veteran
Veteran
Joined
Apr 23, 2012
Messages
68
Reaction score
7
First Language
Portuguese
Primarily Uses
Hello, guys and girls!

Well, I already asked this for some people here, but how the answer didn't helped much, I'm bringing this discussion to the public. Questions apart, the development is in an advanced state now, it already works perfectly and there's plenty of new features already implemented, and others waiting to be developed. The advantages already implemented or in development right now include:

  • Console running in a separated thread, and executing user-typed commands with "Eval";
  • Possibility to remove the borders of the screen;
  • Resizable window (note: it doesn't change "screen resolution");
  • Enable or disable minimize, maximize or close buttons;
  • Track the mouse (or keyboard) and put the results it in a Ruby's Global variable directly;
  • Use the .INI or command line arguments to freely load any parameter wanted;
  • Implementation of a "hook" to detect the most common window events ocurring within game window (e.g.: double click);
  • And lots of others to imagine... (to begin, just think in all WinAPI available!)

If someone programs in C/C++ (pure, no MFC, ATL etc.), any help would be appreciated. If you support the making of this custom Game.exe, please let me know, so I can continue develop this.

Thanks for the attention,

RSM
Everything in your list is easy to do =/

The worse problem is that Ace DLL uses widechar strings.
 

Rafael_Sol_Maker

Almighty God Jabu
Veteran
Joined
May 8, 2012
Messages
129
Reaction score
56
First Language
Portuguese
Primarily Uses
RMMV
Sounds cool, though what's the issue with not being able to change screen resolution?
Oh yeah, the RGSS DLL is hard to play with. Basically I can only create a Window and let the RGSS do the rest. The maximum resolution is 640x480, there's no workaround to this, unfortunately, without modifying the DLL (that's illegal), or modify the code when it's running (on-the-fly).
[...]If any of the decompiled code was used to generate the new binaries, then yes, there'd be an issue. Just to peek under the hood, might technically be a violation of the EULA, but I don't know what punishment could be enforced for it (I think none).
Again, I've not used nothing that came from the original .EXE. I've not decompiled Enterbrain software. (again, is this even possible to do in a 32-bit compiled executable? I doubt)But if you use, for example, some task manager like the Sysinternals' Process Explorer XP (distributed by Microsoft), you can see some of the strings and APIs a executable uses. And so far I know it's not reverse engineering, "peek under the hood" or anything like this. This only shows process properties.

Everything in your list is easy to do =/

The worse problem is that Ace DLL uses widechar strings.
Sim, Cidiomar, é relativamente fácil de fazer. Nem tanto para mim, que não conhecia nada de C++ antes de iniciar o projeto. De toda forma, vamos trabalhar juntos nele? Quanto à questão dos widechars, já aprendi bastante sobre!
 
Last edited by a moderator:

Cidiomar

Veteran
Veteran
Joined
Apr 23, 2012
Messages
68
Reaction score
7
First Language
Portuguese
Primarily Uses
Oh yeah, the RGSS DLL is hard to play with. Basically I can only create a Window and let the RGSS do the rest. The maximum resolution is 640x480, there's no workaround to this, unfortunately, without modifying the DLL (that's illegal), or modify the code when it's running (on-the-fly).

Again, I've not used nothing that came from the original .EXE. I've not decompiled Enterbrain software. (again, is this even possible to do in a 32-bit compiled executable? I doubt)

But if you use, for example, some task manager like the Sysinternals' Process Explorer XP (distributed by Microsoft), you can see some of the strings and APIs a executable uses. And so far I know it's not reverse engineering, "peek under the hood" or anything like this. This only shows process properties.

Sim, Cidiomar, é relativamente fácil de fazer. Nem tanto para mim, que não conhecia nada de C++ antes de iniciar o projeto. De toda forma, vamos trabalhar juntos nele? Quanto à questão dos widechars, já aprendi bastante sobre!
I'm not good to work in group, but we can try :3

I don't work with C++, then we will use C, right?

Please, PM me.
 

Rafael_Sol_Maker

Almighty God Jabu
Veteran
Joined
May 8, 2012
Messages
129
Reaction score
56
First Language
Portuguese
Primarily Uses
RMMV
Well, good news! I've managed to create a procedure that helps to handle the events perfectly.

Now it will be perfect to detect hotkeys and the mouse position. Some hot keys I plan to implement:

F3: Enlarge/Reduce the screen size (like RM2Kx)

F4: Toggle fullscreen (like RM2Kx)

F11: Show/hide the Console Window

Suggestions, friends?
 

Rafael_Sol_Maker

Almighty God Jabu
Veteran
Joined
May 8, 2012
Messages
129
Reaction score
56
First Language
Portuguese
Primarily Uses
RMMV
please made alt enter or alt f4 disabler :D .
Oh, someone actually supporting the project! Thanks!The hotkeys I said are already implemented. And I rewrote most of the code, most of it is entirely (re)written by me, so, copyright issues would not be a problem in any circunstance. (Or am I wrong?)

Well, I'm trying to create something to disable completely F1, F2 and F12. Alt+Enter and Alt+F4 could be done as well. Thanks for the suggestions, I will consider this for the current version.

I wasn't writing much of this ultimately, but the first release would be soon.
 

Solistra

Veteran
Veteran
Joined
Aug 15, 2012
Messages
593
Reaction score
247
Primarily Uses
Don't remove Alt+F4. That's an expected feature from the operating system, and I absolutely despise it when programs try to hijack expected behaviors. If I press Alt+F4, I want to quit the game -- not having it accept the signal doesn't change that fact, and just makes it endlessly more annoying.

That's the only one of those mentioned that I have a problem with, though. The others could be quite welcomed in some circumstances.
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,309
Reaction score
531
First Language
indonesian
@solistra : it actualy only make the alt + f4 not be able to works in the project window. not in whole windows xp/ 7/ vista.

this feature really needed if you want to use autosave script. people will just alt+f4 if they don't get what they needed before the autosave occur. and load from last autosave. there already some discussion about this.

perhaps option to disable it or not from the developer would be nicer..

and if you want example games that disables windows default function. some online games that don't have window mode crash if you press alt tab. since they know you're alt tabbing to run your cheat engine :D . so no problem for modifying windows behavior if you're really needed it. would you stick to conventional keylock in your house if you're been theft 10 times a week? no! you change to better security system don't you :D .

and in my case alt enter really destroy my video script >.< (it also use win32api). and ruin some fullscreen script since alt enter turn the screen to default full screen instead of fullscreen created by the script.
 

Rafael_Sol_Maker

Almighty God Jabu
Veteran
Joined
May 8, 2012
Messages
129
Reaction score
56
First Language
Portuguese
Primarily Uses
RMMV
To clarify the things up, all features different from the current game player will be purely optional.

Functions like the removal of Alt+Tab, Alt+Enter, Alt+F4, Alt+Esc, Windowns+Tab, etc. only will be available if (and only if) you want to use them.

(Well, let me try to develop this feature now... For Windows applications some things are very simple, but not for this RPG Maker executable.)

Any suggestions?
 

Mouser

Veteran
Veteran
Joined
Aug 19, 2012
Messages
1,245
Reaction score
264
First Language
English
Primarily Uses
Don't remove Alt+F4. That's an expected feature from the operating system, and I absolutely despise it when programs try to hijack expected behaviors. If I press Alt+F4, I want to quit the game -- not having it accept the signal doesn't change that fact, and just makes it endlessly more annoying.

That's the only one of those mentioned that I have a problem with, though. The others could be quite welcomed in some circumstances.
Alt-F4 isn't just a convenience either. It's a failsafe for runaway fullscreen processes.

Without it, you can hope for ctrl-alt-del to pull up a menu or else you're stuck doing a hard reboot - with nothing being allowed to shut down "gracefully".

Estriole said:
this feature really needed if you want to use autosave script. people will just alt+f4 if they don't get what they needed before the autosave occur. and load from last autosave.
And who cares? It's a single player game. Cheaters gonna cheat. Most people will still just play the game the way it plays, since killing and restarting your game is a PITA if nothing else.
 
Last edited by a moderator:

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
If I was going to cheat I'd already pull out CE or something.

I guess people can do the poor man's way of cheating by spamming reset 200000000 times until they get what they want. But what's the point in that?
 
Last edited by a moderator:

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,309
Reaction score
531
First Language
indonesian
@solistra & mouser: rafael said it would be optional. so we shouldn't bother anymore whether people want their game not cheatable?. it's a matter of personal opinion. i myself don't care if people cheat my game :D . and about single player. there's script already that support online ranking (i think). which some developer might want to reward certain item for the winner. but once again of course... this is just a game. who care if anyone cheat and made all online ranking their name :D . i don't at least.

but... if only.... i said if only... someone manage to create good ACE online script. and other someone manage to made good online games and host the server. he would appreciate if he can disable alt enter + alt tab to avoid cheat engine LOL.

@tsuki: i agree with you. i also pull out CE if i want to cheat. no need to reset :D .
 

Rafael_Sol_Maker

Almighty God Jabu
Veteran
Joined
May 8, 2012
Messages
129
Reaction score
56
First Language
Portuguese
Primarily Uses
RMMV
I know, Alt+F4 is a widely used Windows command (almost universal), it's not recommended to be overwritten, but leave this choice for the user of the software that will distribute the game. It could be needed or wished for someone or for some purpose. Well... With or without this command... It doesn't makes big difference after all.

Turning to the cheats' question... My executable is not made for the purpose of preventing (or allowing) any cheats.

Cheats, when implemented in game via programmer (aka cheat codes), are a important experience for the final user to have fun with the game. (Please read this article - Cheating as a Way to Enhance Player Experience in Deus Ex).

But using C.E. or other tools, it's another story. I don't know if this can be considered acceptable by the EULA to use these tools to modify the behaviour of an already executing software (changing directly values on the system's memory), but I personally don't recommend to do it.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 2)

Latest Threads

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,868
Messages
1,017,066
Members
137,576
Latest member
SadaSoda
Top