Next Generation Emulation banner

KrossX's Magical Tools™

24115 Views 116 Replies 9 Participants Last post by  shinra358
KrossX's Magical Tools™ (Edited)

Just a nicely named thread to group some sillies I made and perhaps new ones. You'll probably need Visual C++ 2010 Runtimes if you haven't them already: Runtimes' link.

Disclaimer/Warning! This programs may make your computer blow up and/or make you bald. Use them at your own risk. And should really not be used with admin rights... really.

  • Arcana Heart 3 (input config)
    View attachment 216650

    To use it, start the program with the EXE to be modified on the command line. Or, just drag the file to be modified on top and it will open it.

  • TypeX Config (typex_config replacement)
    View attachment 216651 View attachment 216652

    To use it, just move/copy the program into the typex_loader game folder and execute it. Supports keyboards and joysticks compatible with DirectInput8.

  • Replacer (command line tool)

    It will replace a set of characters for another in a given file. For example (batch included in zip):
    replacer --file game.exe --s1 D:\ --s2 .\\ [--wide]

    The new optional --wide switch will cheaply convert the Strings into wide versions and search for them instead. Necessary for Matrimelee Matsuri for example. Basically, if there's no match in your searches, try with the --wide switch.

    The idea is to have a tool to change save locations for the arcade games. But never forget to always make a backup of the file beforehand.

  • GetFocus (command line tool)

    Usage: GetFocus --title TITLE --wait NUMBER

    It will search for TITLE in current desktop's windows. If there's first match, it will wait for a NUMBER of ms and give focus afterwards. Not using parameters will simply try to use the current window as target and wait for 1s before giving it focus.

  • BitrateCalculator (WPF)
    View attachment 216653

    Exactly what it says, a very simple bitrate calculator.

  • PDF Bookzoom: Simple brute force replacement of the zoom/fit tags. That way your current zoom won't be changed when clicking PDF bookmarks.

    Usage: PDF_Bookzoom filename, or just drag the file on top.

=> KrossX @ GitHub, Download Folder @ GoogleDrive

#Mediafire Folder (old)
[Magical Tools @ Google Code] (old)
See less See more
1 - 20 of 117 Posts
OMG a post! What to do - what to do - what to do?!?!

Ehem... you're welcome. :cool:
Boredom and avoiding annoyance, so I guess that counts as self teaching. XD
lol, no problem and thanks. :)
There have been some arcade "ports" to PC, like BlazBlue. Most are from the TypeX arcades and use a typex_loader that comes with its config tool. I hated it so I made a replacement. Then, to change the location of the save data on this games I made the Replacer tool.

Another "port" is Arcana Heart 3, with no input config. To change keys, you had to hex edit the executable which is quite annoying.

Then, someone was doing some stuff with the console window and wanted to run things and get focus back to the console. That's what GetFocus was for.
Yah, since it's a mere hex edit to the game executable, to just change the keycodes.
No reason to do that though, since there's joy2key already available for the same task. XD
Added a very simple bitrate calculator, cuz I was in need of one. It also has a very lame icon as proof of my artistic skills. XD
Nope. A different CODEC would just give you different quality and stuff for that same given bitrate.
A single track file of 1MB and 1 minute uses around 136 kbps. And that could be an mp3 file, x264 video file, AAC or whatever. It really doesn't matter, Time * Bitrate = SIZE. Ideally, you wouldn't be constrained by size so instead of going by bitrate it would be better to use the encoding based on quality instead.

The calculator is only useful for when you're constrained in SIZE. For example, you want to fit 1h content in a single layer DVD. A single track content would give you around 10000 kbps to use. That's the value to use when using the encoder, for the final file to be of that size. Again, which codec or what content that actually is, doesn't matter. A single track of 1h content at around 10000 kbps will fit a single layer DVD.
Not a tool, but I really didn't want to make a thread for it. I just finished making me a UserDefined language for Notepad++ for HLSL. Far from perfect, but better than using the C++ profile instead so far.

#EDIT: Since the attachments thing doesn't want to work for me...

#EDIT2: Just in case, to add it just go to View->User-Defined then Import.
New tool, the PDF Bookzoom! Simple brute force replacement of the zoom/fit tags. That way your current zoom won't be changed when clicking PDF bookmarks.

Usage: PDF_Bookzoom filename (doesn't make a backup file, so beware)

No wildcards cuz I'm lazy, use a Batch file and a FOR loop or something. =P
^I should fix that one some day. Anyhow! Another silly thing to add...

The Scarygirl Resolution Tool just changes the registry and patches the executable so that the game runs in non-ugly resolutions.
See less See more
I'm afraid that's way beyond my possibilities. Maybe try using the open source loader?

#EDIT: Another silly tool!

Durazno, a XInput to XInput wrapper that allows for some customization when playing games with a XInput controller.

#EDIT2: Finally fixed that PDF_Bookzoom. New open source version here Magical Tools @ GoogleCode.

#EDIT3: Durazno now lets you remap the controller. Clicking the new button thing will display the section that lets you remap it. Once clicked.
See less See more
RegEmu32 @ GitHub

The registry wrapper thing to make some emulators use INI files instead of the Windows' registry.

I had posted the first tryout on the ePSXe 190 thread:

And here it is: View attachment 219902 ! A very WIP test version of the reg wrap thingy, so cleverly named RegEmu32 I might add. A patched ePSXe 1.9 is inlcuded. Makes a pretty INI, quite ".reg" like.

I'll be putting the code in... GitHub I suppose.

The only change in this, is the added patcher. Run Regemu32 with the target's filename (or drag and drop the target on top of the exe), it will check for ADVAPI32 and the imported functions. If the found functions are supported, then it will patch the file. If used on a patched file, it will revert to ADVAPI32 (uninstall).

Although I started the dll with ePSXe in mind, I already had it unpacked. Using the patcher on the packed exe will only detect one function and say it's supported. So careful with packed files as the patcher might not detect the other functions it uses.

Also, as of now only a few functions are implemented and only for strings. So... :p

View attachment 219913

#EDIT: New version!

Now a few more functions work, and DWORD also works. Seems to be good enough for Pete's OGL2 plugin. Updated patcher accordingly.

View attachment 219914

#EDIT2: Tested other Pete's plugins, and Eternal plugin. Seems to be working fine. :D
See less See more
The patcher checks for all ADVAPI32 functions against what I marked as "supported". If an unsupported function is found, the file is not patched.

But if a file is patched and does something I have not implemented (like anything other than string and dword) it might crash, yep. Just run the patcher again with that file and it will revert the change.
The only way to know if it's working fine is to check the generated INI and see if the stored registry entries look fine and the plugin/emu remembers the settings as usual.
No problem. Let me know if you find a buggy one, as I'm a lazy tester. :p
Fixed a bug on RegEmu32 for the Eternal plugin. It wouldn't crash, but wouldn't load settings either. It checked to see if the regkey existed, or it would fall to defaults.

Now it's implemented and it seems to work. Yay!
Build on the GoogleDrive Folder.
1 - 20 of 117 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.