RMMV C++ (Windows) Launcher 1.02 Updated 1 9 2016: Disable Alt+F4, integrate with Steam API, etc...

● ARCHIVED · READ-ONLY
Started by astracat111 12 posts View original ↗
  1. RPG Maker MV C++ Launcher for Windows - 1.02 (Updated 1 9 2016)

    I recently switched to RPG Maker MV, so I had to convert my Launcher for VX Ace over. There is no longer a need for adding movie support, so I just focused on disabling alt+f4, the windows keys, ctrl+esc, alt+enter. 

     

    The Launcher goes along with InputSettings which you can find here.

     

    License: 

    Free to all commercially, no credit necessary. Comes with C++ file that you can compile in Microsoft Visual C++ (express version is free).

     

    Feature list:

    - Run from Launcher.exe

    - Option to disable alt+f4 in rpg maker mv EDIT: for deployed exe (windows game only)

    - Stays open until Game.exe stops.

     

    Why this is good: 

    + Disabling Alt+F4 keeps people safe from accidentally closing the game and losing their saved data.

    + Using Visual C++ you can perhaps edit the json files or any other files of your deployed windows game. 

    + You can then potentially access your index.html file and start messing around with it programatically.

    + You can hide your Game.exe somewhere...I don't know maybe the %appdata% folder or something, then link it with the Launcher so people have a harder time finding your game.

    + This type of thing allows people to integrate the Steam API into their game, if they end up getting that far with it.

     

    Now with C++ source code. I have cleaned it up and it's ready to go. Make whatever modifications you'd like, use it commercially. 

     

    [Launcher]

    ProjectName=ProjectTitleGoesHere (what shows up in the window, no spaces)

    AltF4DoesntCloseGame=0

    PrintScreenDisabled=0


    Just replace "Project3" with your game title and you should be good to go. Thanks for trying it out.

     

    Note to Mac and Linux users:

    The same thing can be done on Mac I'm sure using Xcode and mac's developer library. I've included the .cpp file so you can look through it and convert it.

     

    All the program does is: 

     

    1. Look for ini file and grab entries from it, storing them to variables

    2. Create Launcher window, hide it

    3. Create Game.exe as a child process

    4. Hook keyboard with lowlevelkeyboardproc()

    5. In it's loop listen for messages.

    6. Once messages are received, they are sent automatically over to the lowlevelkeyboardproc() function, and then you can return 1 to eat the messages before they reach application windows.

    7. In it's loop, terminate everything if Game.exe closes for whatever reason.

    8. Also terminate everything on it's own close (WM_CLOSE).

     

    All you have to do is figure out how to do that on a mac. I'm pretty sure it's all the same thing, just different terminology.

     

    Thanks, 

    Astra Cat

    RPGMakerMVLauncherForWindows.zip
  2. Neat, also would it be possible to add an autoupdater for the game?
  3. shuttle099 said:
    Neat, also would it be possible to add an autoupdater for the game?
    With the source code provided and using C++ manipulating game files is absolutely possible, although I won't be implementing it, as I've said anyone who wants to take up the code themselves just ask and I'll pass the project on to you.

    Also I'm gonna be re-uploading the zip because I found an error in where I typed in DisableF4 twice instead of DisableF2.
  4. astracat111 said:
    With the source code provided and using C++ manipulating game files is absolutely possible, although I won't be implementing it, as I've said anyone who wants to take up the code themselves just ask and I'll pass the project on to you.
    Nooo! Please, make it for all of us!  ;_;  

    Very few people can understand C++...  ;_;
  5. Makeratore said:
    Nooo! Please, make it for all of us!  ;_;  

    Very few people can understand C++...  ;_;
    It's in C++ because it's a launcher for Windows. Windows is almost entirely written in C++ (also C and C#).
  6. Venthros said:
    It's in C++ because it's a launcher for Windows. Windows is almost entirely written in C++ (also C and C#).
    But almost every computer comes with Java, and there is always the option of going with Qt or other frameworks that support other languages.
  7. Tsukihime said:
    But almost every computer comes with Java, and there is always the option of going with Qt or other frameworks that support other languages.
    This is true. Good point.
  8. Tsukihime said:
    But almost every computer comes with Java, and there is always the option of going with Qt or other frameworks that support other languages.
    For someone that understands Java, it is convertable, you just have to use the windows.h api, so I've included the source code for that reason. I'm still cleaning up a few mistakes, and will create a youtube video explaining it now, actually, so links coming...I'm not sure on a mac you would be using the same functions, as I've never programmed using mac, so I'll just explain it.

    EDIT: I have updated the launcher now to be much simpler. I am releasing soon a plugin that allows you to mess with input settings from rpg maker mv.
  9. This open new opportunity for me. Thanks Astra Cat.
  10. DangDut said:
    This open new opportunity for me. Thanks Astra Cat.
    You're welcome, feel free to do what you like with it.

    Disabling F2, F3, F4, WASD remapping and disabling the mouse are no longer needed in the launcher itself, so I've created a simple input settings plugin to go with the launcher here as well:

    http://forums.rpgmakerweb.com/index.php?/topic/54527-astra-cats-simple-input-settings-plugin-wasd-movement-disable-f2-f4-and-disable-mouse/

    I'm going to add disabling mouse only for movement soon (instead of disabling the mouse all together) into the plugin.
  11. You mention something about a "Steam API" does this mean we can get it to work with steam, with achievements and stuff?
  12. Kloe said:
    You mention something about a "Steam API" does this mean we can get it to work with steam, with achievements and stuff?
    In theory you can, because if your game was greenlit they will hand you the api to use... though you have to have knowledge of how windows are displayed, and understand how the launcher works and everything.