Posted: Tue Jun 24, 2014 3:19 pm Post subject:
C&C Executable Modifier
The C&C Executable Modifier is a tool that offers an easy to use interface to apply the various exe changes/hacks that have been found over time.
It shows in a list the available hacks and marks those which are already applied to the exe and which aren't.
The list of hacks is stored in a very easy editable hacks.ini. If you find more exe hacks, feel free to edit the ini and upload it here, so others can use them too.
Right now the ini only lists TS hacks, but the tool can be also used to modify any other exe.
Installation: simply copy it into an empty folder of your choice. Then start the exe.
-green: hack is applied
-white: original exe value is used
-yellow: unknown exe value not matching the original nor the modified value (It is likely to be incompatible with the current exe and thus can break it if any modification is done)
-right click on an item and choose whether you want to apply the original values or the modified ones
Version 01.00.00.02 Changes
-Multiple hacks can be selected and applied at once (Shift/Ctrl + Mouse-click to select them)
-hacks.ini has new key "Type" to assign hacks to certain games, and allow filtering for certain hacks
-File menu with option to load ini
-[Edit ini] option added to menu, which opens the currently used hacks.ini in Notepad
-many more TS hacks included in hacks.ini (Thanks to Bittah Commander)
-?? joker in Modified string shows dynamic input window to set the value
-"InputText" key added, which gives an Offset/Original/Modified block a description for the Input window if ?? joker is used
-"HackDescription" key added which allows each Offset/Original/Modified block to show a description in the "List of Changes"
Version 01.00.00.03 Changes
-Program icon added
-Input window shows RGB Color Picker, for hacks that include the key "UseColorPicker=yes" (latest hacks.ini updated with this key)
-when Original and Modified had the same value it was showing the hack in green like Modified, not Original
-Input window allows to choose between decimal and hexadecimal values
-hacks.finalsun.ini included which has hacks for the map editor FinalSun
Version 01.00.00.04 Changes
-Labels for exe and ini file are colored red, if files are not found or write access is denied
-Program doesn't crash anymore when trying to write in a write-protected file
-latest inis included (TS,FinalSun,YR)
Version 01.00.00.05 Changes
-new key "InputAsOneValue" which allows max 8 Byte big input fields
-new key "InputAsBigEndian" works together with "InputAsOneValue" and treats the value in big endianess
-new key "InputAsString" which allows to enter texts. Length of text is restricted to number of ?? in modified string
Version 01.00.00.06 Changes
-InputAsString fills rest of the string with 00 Bytes if new string is shorter than maxlength
-[Refresh List] also loads the modifications file again before updating the list
-new key(s) "PresetList#" (# being any char) show combobox with preset values if one or more of the keys are present (Format: PresetList#= Bytes | ComboboxText )
-new key "ExternalDataFile" allows to set a path/filename to a file with binary data, that is written at the given offset
-new key "InsertExternalData" = yes/no specifies if the ExternalData is inserted rather than overwriting existing bytes
-links in the "List of Changes" text can be clicked to be opened in default browser
Version 01.00.00.07 Changes
-InputAsOneValue defaults to no
-[Info] dialog shows list of keys, their datatypes and default values
-new key "Warning" which shows the text in the "List of Changes" in bold red
-all latest inis adjusted to use Warning key when necessary, InputAsOneValue when necessary, some typos fixed
Version 01.00.08.00 Changes
-new key "Group" allows to group hacksections and show them grouped together in ModExe
-[Tools] menu added, [Edit ini] option moved there as subelement
-new function [Reference Calculator] added to [Tools] menu
-Bugfix: decimal value was treated like hexadecimal in input dialog
-Update: If only Offset is specified, Original and Modified will be used from the next possible set value
(Allows to easier set multiple Offsets sharing same Original/Modified values, by specifying Original/Modified only on the last Offset)
-latest hacks.yr.ini from Glukv48 included. Group keys added to the sections for better ordering
-improved hacks.ini for ts included (Bittah added a huge list of hacks to modify the filenames of game specific files, which can be also used to now use them in subfolders like DTA and TI use it already)
Version 01.00.08.01 Changes
-Bugfix: ref.calc. doesn't crash anymore on very high values in the Reference input field
Version 01.00.08.02 Changes
-Update: ref.calc. can be run alone by starting modexe with the parameter -refcalc
-separate refcalc.exe included
Note: This is the first version and therefore it can contain bugs. So make sure you backup your game executable before you apply changes to it with this tool!
Warning: It changes the exe which can lead to unexpected sideeffects.
The list of hacks is not failsafe and not all hacks have been verified to be working 100% fine.
So use this tool on your own risk! Last edited by Lin Kuei Ominae on Tue Mar 12, 2019 9:56 pm; edited 14 times in total QUICK_EDIT
Nice tool; I'll have a look at the hacks.ini some time soon to see what I can add.
I think it's best if you remove the "Armor Crate Multiply Change" hack however; when I tested it for Iran it turned out that the amount of extra hitpoints the additional armor crates give to units wasn't consistent. So 2 crates don't give twice as many hitpoints as 1 armor crate and 4 crates don't give twice as many hitpoints as 2 armor crates. Additionally some crates occasionally wouldn't give any (or barely any) extra hitpoints at all.
Picking up a certain number of crates did always result in the same number of hitpoints being added when attempted again however.
The second to last hack (the one that reduces the delay after giving orders in LAN games) is also best left out, considering it can make the connection unstable (and thus cause desyncs). _________________ QUICK_EDIT
- The program doesn't respond while it's patching and patching takes long
- Add some config options so you can state the expected file name of the EXE that's been patched in hacks.ini
- Easier support for different/multiple hacks.ini files, it's easy to confuse them. Maybe list all hacks_*.INI files?
- State in text whether the bytes at an offset in the EXE correspond to the 'original' or 'modified' or neither, atm you need to check the shown bytes for to determine this. QUICK_EDIT
Another thing that would be useful is to allow the user to enter a number for certain hacks.
Currently if I'd for example add a hack that changes the maximum allowed tech level, users would only be able make that hack change the max allowed tech level value to the value I specified. So it would be convenient if hacks like those would allow users to input their own modified value (and also have a description for the modified value input, considering that it can mean different things in some situations).
Edit:
What would also be useful is if you could create "profiles" for mods. In other words, there should be a separate ini file that contains all hacks that one specific mod uses (since specific mods might have hacks that would be useless to any other mod, such as file name changes) so you'd either be able to instantly apply all of your mod's hacks to a different TS exe file (like for example when a new version of HP is released) or so that you can individually disable (or re-enable) different hacks that have been applied to your mod's exe. _________________ Last edited by Bittah Commander on Tue Jun 24, 2014 6:16 pm; edited 1 time in total QUICK_EDIT
- Add some config options so you can state the expected file name of the EXE that's been patched in hacks.ini
- Easier support for different/multiple hacks.ini files, it's easy to confuse them. Maybe list all hacks_*.INI files?
Maybe just enable patching any exe, ignoring name, file size, etc...
Multiple ini files, eg: Ra1, TS, Ra2, YR, etc...
Add a check that upon completion would notify the user if the game exe ( only for default game exe's, same as the game list above ) has been previously modified, eg: size, values ( at addresses ). The target exe could be predicted through the game specific ini loaded. QUICK_EDIT
Something I noticed from the preview...the armor powerup parameter in TS doesn't affect the amount of unit hitpoints - it's actually a coefficient for damage dealt to the unit by whatever source. _________________
I think it's best if you remove the "Armor Crate Multiply Change" hack however;
The second to last hack (the one that reduces the delay after giving orders in LAN games) is also best left out, considering it can make the connection unstable (and thus cause desyncs).
This tool only lists all the found hacks. It is up to the user/modder to decide if they are really useful for him.
However i could add an ini-key "Warning=" where you can write sideeffects, so the user is warned.
Iran wrote:
Very cool tool. Could you upload the source?
Nah, i wouldn't like everyone to see the mess
Iran wrote:
- The program doesn't respond while it's patching and patching takes long
- Add some config options so you can state the expected file name of the EXE that's been patched in hacks.ini
- Easier support for different/multiple hacks.ini files, it's easy to confuse them. Maybe list all hacks_*.INI files?
- State in text whether the bytes at an offset in the EXE correspond to the 'original' or 'modified' or neither, atm you need to check the shown bytes for to determine this.
-slow? What? When i click "set modified" or "set original" it instantly changes it. I went through the whole list in less than 10 seconds and the most time took my clicking work. Do you have an anti-virus blocking it?
-old DTA used DTA.dat, TI uses game.dat and TS has game.exe, so this wouldn't be very mod friendly. But i can see if i find a solution for this.
-well you can create as many as you want and then set in modexe.ini which one to load. But yes, i'll add some more "userfriendlyness" to it.
-if the bytes in the exe don't match the original nor the modified bytes from hacks.ini, then the item is marked yellow in the list (green=modified is applied, white=original bytes are found)
Bittah Commander wrote:
Another thing that would be useful is to allow the user to enter a number for certain hacks.
Interactive hacks. hmm. sounds interesting. I just wonder how i would specify such a hack in the hacks.ini
right now it looks like this.
Code:
[ArmorCrate]
Name=Armor Crate Weakening bug
Description=The armor crate in TS divides the armor stats [...]
Link=http://www.ppmsite.com/forum/viewtopic.php?t=37620
Offset=0x58C02
Original=74
Modified=4C
very simple and easy to edit.
Bittah Commander wrote:
What would also be useful is if you could create "profiles" for mods. In other words, there should be a separate ini file that contains all hacks that one specific mod uses (since specific mods might have hacks that would be useless to any other mod, such as file name changes) so you'd either be able to instantly apply all of your mod's hacks to a different TS exe file (like for example when a new version of HP is released) or so that you can individually disable (or re-enable) different hacks that have been applied to your mod's exe.
which of the hacks you apply is up to the user.
So in the list can also stand "TS: this hack is for TS", "DTA: this hack is for DTA", "TI: this hack is giving TI shader 3.0 support" etc.
My plan was to make this tool more a collection of all hacks, so you have an overview of them and an easy way to check which of them are applied to your selected exe.
Thus it would be just some wise ordering in hacks.ini to make sure you don't get confused. e.g. list first all DTA exclusive hacks, then the TI exclusive hacks, then the TS hacks which work on every exe etc.
DaRTzO wrote:
Maybe just enable patching any exe, ignoring name, file size, etc...
you can already now. Just load which exe you want. Theoretically you can also load a text file. The tool does not care which one you plan to modify.
Then edit hacks.ini so the right hacks for your file are included and you can use it right away for RA1, RA2, YR, kernel32.dll, whatever you want.
DaRTzO wrote:
Multiple ini files, eg: Ra1, TS, Ra2, YR, etc...
load ini button will be done.
DaRTzO wrote:
Add a check that upon completion would notify the user if the game exe ( only for default game exe's, same as the game list above ) has been previously modified, eg: size, values ( at addresses ). The target exe could be predicted through the game specific ini loaded.
I can't follow you. How should it notice this?
This is only a simple process of: open file, compare bytes at offset, write bytes at offset. And it should stay that simple.
To know if a file has been modified and even the states, it would have to store somehow all the modification states or know all of them. Which means lots of 5MB files in some temporary folder, which makes it uselessly big.
@Crimsonum: those descriptions come straight from the research topics that Iran posted. I was checking if the explanation is always 100% correct.
But i would bet that it does change the hitpoints, not the armor as you describe. It would be quite strange if the game creates a complete new armor type just for this unit. _________________ SHP Artist of Twisted Insurrection: Nod buildings
-slow? What? When i click "set modified" or "set original" it instantly changes it. I went through the whole list in less than 10 seconds and the most time took my clicking work.
This sort of relates to a point I was trying to make; the possibility to enable all hacks at once. If you won't add the possibility to have different profiles (or different ini files with different hacks), then instead of instantly enabling all hacks in the list, could you instead make it possible to select multiple hacks at once (via Ctrl+Click for multiple individual hacks or Shift+Click/down arrow key/end key/home key for multiple sequential hacks) and then enable them at the same time?
Lin Kuei Ominae wrote:
Bittah Commander wrote:
Another thing that would be useful is to allow the user to enter a number for certain hacks.
Interactive hacks. hmm. sounds interesting. I just wonder how i would specify such a hack in the hacks.ini
How about specifying such an interactive hack either by entering a wild card such as "?" or "*" after Modified= or by just by entering nothing after Modified= at all?
gistop wrote:
wait... call me a newbie but can the 32 facing SHP hack work in YR with Ares as well?
No, this won't work considering it's a different game and the offsets would be different at the very least. _________________ QUICK_EDIT
wait... call me a newbie but can the 32 facing SHP hack work in YR with Ares as well?
definitely no. The offsets are for a TS executable, not for a RA2 executable.
My example hacks.ini includes TS hacks only, because i had no hacks about a RA1,TD or RA2 exe. It needs one of the exe pros to find the right offset and changes to do things like the 32 facing hack for RA2.
Bittah Commander wrote:
could you instead make it possible to select multiple hacks at once (via Ctrl+Click for multiple individual hacks or Shift+Click/down arrow key/end key/home key for multiple sequential hacks) and then enable them at the same time?
MultiSelect=true and doing multiple at once? See it as good as done.
Bittah Commander wrote:
How about specifying such an interactive hack either by entering a wild card such as "?" or "*"
Wildcard could work. It would be just a bit strange if you have multiple of these in a long line of bytes and then have constantly messageboxes pop up where you have to enter values.
It would be also strange if there is no description available to all of these input fields.
I'll see what i can come up with to make this work though. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Joined: 22 Nov 2010 Location: Iszkaszentgyorgy, Hungary
Posted: Tue Jun 24, 2014 8:06 pm Post subject:
Then maybe you should call it TS and not C&C to avoid confusion.
gistop, bad idea you have there, hacking the exe while aiming it to be used for Ares is way to go for crashes if Ares does not refuse to start in the first place. XWIS YR already has custom hacks which result with the game crash when one clicks on the Quit Game buton on the main menu with Ares'd XWIS YR. _________________ "If you didn't get angry and mad and frustrated, that means you don't care about the end result, and are doing something wrong." - Greg Kroah-Hartman
=======================
Past C&C projects: Attacque Supérior (2010-2019); Valiant Shades (2019-2021)
=======================
WeiDU mods: Random Graion Tweaks | Graion's Soundsets
Maintainance: Extra Expanded Enhanced Encounters! | BGEESpawn
Contributions: EE Fixpack | Enhanced Edition Trilogy | DSotSC (Trilogy) | UB_IWD | SotSC & a lot more... QUICK_EDIT
Then maybe you should call it TS and not C&C to avoid confusion.
No. Just add RA2 hacks to hacks.ini and you can use it for RA2.
Add TD hacks and you can use it for TD
It is not for TS only!
I just did not had any RA2 hacks available when i made the first example hacks.ini.
Lin Kuei Ominae wrote:
If you find more exe hacks, feel free to edit the ini and upload it here, so others can use them too.
Right now the ini only lists TS hacks, but the tool can be also used to modify any other exe.
hacks.ini is a text file. Everyone can edit it. Everyone can include whatever hack he wants. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Add a check that upon completion would notify the user if the game exe ( only for default game exe's, same as the game list above ) has been previously modified, eg: size, values ( at addresses ). The target exe could be predicted through the game specific ini loaded.
I can't follow you. How should it notice this?
By comparing the values at the addresses?
Say, at 0x0EF482 the default value is 04, the modified value is 05, but the found value is 06, lets say you load gamemd.exe with game.exe's hacks ini, the program would check the values and return a warning stating something like "The loaded executable does not match the available modification options. Please load the correct executable or configuration file."
You could also make the program check known hacks (addresses, default and modified values) through all available ini hack options files, upon opening an exe and have the program automatically load the correct ini file for that exe. Also add an option to disable that feature for users that wouldn't like that behavior. IMO it would be a nice time saver for casual modders.
Also maybe change the description text where it says "list of changes" you have offset, original, modified, executable. Would it make more sense for the common folk to have the text executable as 'current'.
Other suggestions.
+ A drop-down list menu to select detected ini files in the (ini's folder)
+ A button to edit the selected ini file (open hack options ini in notepad) Last edited by DaRTzO on Wed Jun 25, 2014 1:28 am; edited 1 time in total QUICK_EDIT
@DaRTzO:
The tool already shows of which hacks both the "Original" and "Modified" values don't correspond with the actual value at that offset in the exe by giving the hack a yellow color (when "Original" corresponds the color will be white and when "Modified" corresponds, the color will be green).
When you select that hack, the tool also shows what value is currently present at the specified offset in the exe, in addition to what values are specified for "Original" and "Modified".
@LKO:
I added 27 extra hacks to your hacks.ini file (all by CCHyper, with exception of AlexB's VideoBackBuffer hack) and corrected a few grammar errors in your descriptions.
I left out all hacks that require user input (such as max tech level, multiplayer colors and tiberium pip colors), since the tool doesn't support those yet.
By the way, when you add support for those you need to take in mind that while some of such options can work with having any possible number entered, others might only allow a specific set of choices (like when you'd wanna chance the mission of starting units or FreeUnits).
Smart tool. It checks for changes made and shows in different colors. Also if out of size offset is given,
it adds zeros and then makes the changes.
- could include fields like IncompatibleWith= or DependsOn= in hacks.ini which can have other section name(s).
- how long the hex data could be? Like in MBs, will it display all of it?
- it allows multiple instances which could be accessing same file, should have exclusive file access.
- no icon visible from file explorers for the exe.
On the shared hacks.ini
- Vinifera has entry Power=100 in original rules.ini, is the warning for something else?
- Leveled projectiles - currently projectiles go straight up and never returns with this. Is anything left out?
- HyperPatch (0.2 to 0.3) had 4 bytes change for transports aircraft fix. Is it enough to have 2 bytes change only? QUICK_EDIT
- could include fields like IncompatibleWith= or DependsOn= in hacks.ini which can have other section name(s).
good idea.
E1 Elite wrote:
- how long the hex data could be? Like in MBs, will it display all of it?
not sure, but definitely not MBs. It uses StreamReader ReadLine to read the "ini" line by line (no windows api GetPrivateProfilestring ini reader, due to special formatting) and thus is limited by the max string length of the ReadLine function.
Though you could of course use a hack section with multiple Offset/Original/Modified keys and this way create one very big hack.
Since hacks.ini is not read via windows API GetPrivateProfileString, it is also not limited to 64kB like INI's read with the API functions. Thus hacks.ini can be much bigger.
E1 Elite wrote:
- it allows multiple instances which could be accessing same file, should have exclusive file access.
Well, i expect a bit common sense of the user and right from the start i wasn't planning to make it absolutely failsafe and just a small tool for those who know what they are doing.
e.g. right now you could also write LA RI DA as the hex value in hacks.ini and the program would still try to convert it into a byte number.
E1 Elite wrote:
- no icon visible from file explorers for the exe.
Because it has none. I did not made any graphic for it, due to lack of design ideas. But feel free to create one if you have a nice idea.
E1 Elite wrote:
- Vinifera has entry Power=100 in original rules.ini, is the warning for something else?
I was told it had no key in vanilla TS rules.ini and didn't checked the ini myself. You're right. Power=100 is set and thus basically no problem.
hacks.ini will surely undergo some more changes in future, but feel free to fix any bugs you can find and upload the ini here.
E1 Elite wrote:
- Leveled projectiles - currently projectiles go straight up and never returns with this. Is anything left out?
I got this hack from Bittah. Not sure if he tested it and if it works.
The list of hacks isn't completely tested and proved to be working perfectly fine. It's also up to the user to check if hacks work and to decide if he really wants to risk the implementation of any of these.
E1 Elite wrote:
- HyperPatch (0.2 to 0.3) had 4 bytes change for transports aircraft fix. Is it enough to have 2 bytes change only?
Not sure. I got this fix from Bittah. Maybe Hyper can check the hacks and verify them. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Well, it uses ReadWrite access for the StreamWriter when you modify the exe, if it's that what you mean. But it only does that for the few milliseconds when it writes a single hack.
It basically opens the file, writes the hack, closes the file, goes to the next hack, opens the file, writes the hack, closes the file etc.
I know i could lock the file, then do all write operations once and give the file free, but that would be additional work.
Maybe i add an option to switch between hex and dec input. But for colors, techlevels and most other cases dec is surely more useful. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Leveled projectiles - currently projectiles go straight up and never returns with this. Is anything left out?
No, that's all there's to the hack. It's pretty glitchy (projectiles can go on flying forever when they miss their target), which is why I never ended up using it in DTA. I'm not really sure if there really are ways to make that hack actually useful, so it might be better to just remove it again...
E1 Elite wrote:
HyperPatch (0.2 to 0.3) had 4 bytes change for transports aircraft fix. Is it enough to have 2 bytes change only?
Thanks for pointing that out, this has to be added to make that hack work properly:
Offset=0xA669
Original=8B 8E
Modified=EB 4F
Edit:
I downloaded the latest version of the ModExe.zip file and added those lines to hacks.ini.
btw, do you have any other hacks? Right now it's for TS only, but it would be nice to also have hacks for other games in the ini.
If you have some FinalSun hacks available, you could include those too.
e.g. the hack to make FinalSun read the ini by default and not use the damn registry to find installed games.
For such a hack, just set in the ini Type=FinalSun, so the user knows for which exe this is.
It would be also nice to have the "use subfolders instead of mix files" hack for TS included. Not sure if the current hacks.ini allows such drastic change. Let me know if there is anything necessary to include such a hack.
P.S.: 48 hacks just for TS. That's pretty impressive. Before this, i didn't knew there were already so many. Keep 'em coming. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Sure, I could add some hacks for FinalSun tomorrow. Maybe it's better if I enter these into a separate hacks.ini file?
Making the game use subdirs is actually a matter of renaming every single file name in the exe and including the subdir in the file name. RULES.INI would for example have to be renamed to INI\RULES.INI.
Since most of the original file names don't have enough space after them in the exe to allow the subdir to be added in the name, their strings need to be moved to a different location where they do have enough space. To do this, their references have to be changed to point to the new locations of the strings.
It's not impossible to make a code your current hacks.ini file so that all ini and mix files would instantly be moved to subdirs, but the game will then crash when files are missing. Users might also not want all files to be moved to subdirs or they might want to give these subdirs (or the files themselves) different names, meaning it would be better to give the user a bit more control over this.
The way the strings currently have been moved in the exe for both DTA and TI leaves little or no space to change the file names or sub dir names into anything longer, so it would be necessary for me to write the code for hacks.ini in such a way that the strings have more space where they are moved and this would take some time.
I could do it, but we'll have to see how to go about it... Maybe you could even add a feature that automatically changes the references for you whenever you move a string, but that might end up being too complicated considering any string can have one or multiple references (although it could still be doable if the tool is provided with the positions of all of these references). _________________ QUICK_EDIT
Also Known As: banshee_revora (Steam) Joined: 15 Aug 2002 Location: Brazil
Posted: Wed Jun 25, 2014 9:10 pm Post subject:
First of all, this project is awesome! Nice job, LKO.
Regarding the subdirectories idea, while I understand that this is more confortable for modders, it doesn't seem to be a good idea in terms of performance. Since files could be very spaced between each other in the hard disk, the game would run considerably slower with a higher hard disk usage. QUICK_EDIT
Sure, I could add some hacks for FinalSun tomorrow. Maybe it's better if I enter these into a separate hacks.ini file?
Initial plan was one big ini, but i guess a separate one would be better ordered and easier to update.
So i would say make a separate ini.
Banshee wrote:
First of all, this project is awesome! Nice job, LKO.
Thank you.
Banshee wrote:
Regarding the subdirectories idea, while I understand that this is more confortable for modders, it doesn't seem to be a good idea in terms of performance.
I don't think it's that much, because the game loads all necessary files into RAM during initial startup and then the rest during map loading.
So all you might notice is a few milliseconds longer loading time. _________________ SHP Artist of Twisted Insurrection: Nod buildings
It contains 14 hacks, of which
- 2 are for permanently disabling options (Tip of the day and AutoShore),
- 4 are for disabling sidebar items
- and 4 allow you to specify the index in the [OverlayTypes] list of the items under the Other menu under Special / Overlay on the sidebar.
The remaining 4 are for
- making FinalSun use FinalSun.ini instead of the registry to find the TS install path as requested,
- a hack to make FinalSun use numbers 50-57 when selecting one of the Multi-Player houses for a trigger action parameter (this makes it select one of the Spawn# houses of Iran's spawner),
- and 2 hacks by myself, of which the first simply makes the "Paint random trees" tool display any terrain object with a T in the ID (opposed to only those with TREE in the ID)
- and the second allows you to change the name Final Sun will display for an object by using the FSName= key in Rules.ini (this only excludes overlay). Final Sun will still take the name from Name= when no FSName= key has been added for an object.
Also Known As: ZivDero Joined: 23 Jul 2013 Location: Russia
Posted: Thu Jun 26, 2014 5:10 pm Post subject:
The select color feature needs a color spectre. _________________
DarkVen9109 wrote:
What in the name of insanity is this? I FRICKING LOVE THIS LOGICCCC!!!!!!!!!!!!OOOOOOOOHEEAWWWWWWWWWWWYAAAAAAAAAAAAAAAAAWWWWWW PEW PEW PEW PEW BOOM BOOM BOOM!! Nice I love this!!!! Ferriswheel bomb, Dive bomb. New Logic discovered thanks to Kenosis
Version 01.00.00.03 Changes
-Program icon added
-Input window shows RGB Color Picker, for hacks that include the key "UseColorPicker=yes" (latest hacks.ini updated with this key)
-when Original and Modified had the same value it was showing the hack in green like Modified, not Original
-Input window allows to choose between decimal and hexadecimal values
-hacks.finalsun.ini included which has hacks for the map editor FinalSun _________________ SHP Artist of Twisted Insurrection: Nod buildings
Nice to see requests/suggestions getting fulfilled.
- does it ignore comments in ini like lines starting with ;
yes, though every line that doesn't starts with one of the reserved keynames or a [ is ignored.
However in case it might get/need some kind of commenting system in future, i would recommend starting comment lines with ; anyway. _________________ SHP Artist of Twisted Insurrection: Nod buildings
It seems the value for Original= needs to be changed to 09 8B.
Maybe in the future a list of actual unit stance names can be added instead of of having the user enter numbers. We'd have to figure out which is which first though. _________________ QUICK_EDIT
What do you mean with "stance" in the first place?
The direction into which the unit is standing or the type of action it is doing (guard, area guard, sleep etc)? _________________ SHP Artist of Twisted Insurrection: Nod buildings
The mission (guard, sleep, harvest, etc.). Any free unit currently has the Harvest mission by default; this means that if you apply this hack, harvesters the are spawned by refineries won't automatically start harvesting anymore. _________________ QUICK_EDIT
[AutoTargetNeutral]
Name=Auto-target neutral units
Description=Players will auto-target units of houses that have MultiplayerPassive=yes (such as visceroids)
Type=TS
Offset=0x22D4B2
Original=84 C0 0F 85 06 04 00 00
Modified=90 90 90 90 90 90 90 90
Mind that this hack hasn't been tested yet, but I will do so later on (unless someone beats me to it).
Edit: I tested it and can confirm that it works.
What in the name of insanity is this? I FRICKING LOVE THIS LOGICCCC!!!!!!!!!!!!OOOOOOOOHEEAWWWWWWWWWWWYAAAAAAAAAAAAAAAAAWWWWWW PEW PEW PEW PEW BOOM BOOM BOOM!! Nice I love this!!!! Ferriswheel bomb, Dive bomb. New Logic discovered thanks to Kenosis
Also Known As: ZivDero Joined: 23 Jul 2013 Location: Russia
Posted: Mon Jun 30, 2014 8:19 am Post subject:
Could you make so that the program accepts values that consist of multiple bytes? (eg. now only ?? works as the modified value, ?? ?? ?? would not work).
And some bug reports:
1. The program does not have an exception handler for an event when the user who runs it doesn't have the rights to change the file.
2. HackDescription tag doesn't work. Reular Description is displayed in the menu below the list instead.
Unfortunately, I can not get a screen in English :P
Filesize:
101.97 KB
Viewed:
110713 Time(s)
_________________
DarkVen9109 wrote:
What in the name of insanity is this? I FRICKING LOVE THIS LOGICCCC!!!!!!!!!!!!OOOOOOOOHEEAWWWWWWWWWWWYAAAAAAAAAAAAAAAAAWWWWWW PEW PEW PEW PEW BOOM BOOM BOOM!! Nice I love this!!!! Ferriswheel bomb, Dive bomb. New Logic discovered thanks to Kenosis
Version 01.00.00.04 Changes
-Labels for exe and ini file are colored red, if files are not found or write access is denied
-Program doesn't crash anymore when trying to write in a write-protected file
-latest inis included (TS,FinalSun,YR)
Parasite03 wrote:
Could you make so that the program accepts values that consist of multiple bytes? (eg. now only ?? works as the modified value, ?? ?? ?? would not work).
It does work. See preview picture in first post. It has ?? ?? ?? and offers 3 input fields.
The program shows as many Inputfields in the dialog as you have double ? in the modified string.
Parasite03 wrote:
2. HackDescription tag doesn't work. Reular Description is displayed in the menu below the list instead.
It works. It has to follow the Offset key, to belong to this Offset/Original/Modified block. See hacks.ini where this is already used. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Could you make so that the program accepts values that consist of multiple bytes? (eg. now only ?? works as the modified value, ?? ?? ?? would not work).
It does work. See preview picture in first post. It has ?? ?? ?? and offers 3 input fields.
The program shows as many Inputfields in the dialog as you have double ? in the modified string.
The program currently reads "?? ??" as two separate variables. But what if it's one long variable that consists of a few bytes?
Parasite03 Talked about it, he even gave examples such hacks QUICK_EDIT
Oh, multiple bytes read as one big value. Ok that indeed doesn't work, yet.
Hmm, i wonder what possible cases can occur and how to code that to be as flexible as possible.
e.g.
What if you set ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
This is surely bigger than the numericupdown control allows. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Also Known As: ZivDero Joined: 23 Jul 2013 Location: Russia
Posted: Mon Jun 30, 2014 10:57 am Post subject:
There can be values like 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90. I am not joking. The program needs to be able to handle this. By the way, how about EtensiveDescription tag? Like you put the short description in the table and a big one in the bar.
BTW, could you please fix a mistake in the YR ini? I misspelled the word incoming as icoming. _________________
DarkVen9109 wrote:
What in the name of insanity is this? I FRICKING LOVE THIS LOGICCCC!!!!!!!!!!!!OOOOOOOOHEEAWWWWWWWWWWWYAAAAAAAAAAAAAAAAAWWWWWW PEW PEW PEW PEW BOOM BOOM BOOM!! Nice I love this!!!! Ferriswheel bomb, Dive bomb. New Logic discovered thanks to Kenosis
I'll restrict it to 8 bytes. This is a 64bit value and bigger than any variable the game uses and it can still be handled fine by the numericupdown control.
Parasite03 wrote:
There can be values like 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90. I am not joking.
That would be very stupid.
a) no variable has such a high value range
b) instead of one super long input, you can still split that into several smaller 8 byte blocks
So no, such a case won't be included.
c) I might add a key "InputAsString" so you can use there such long inputs, e.g. when you want to hardcode some kind of path or filename which can be longer
I wont add an "ExtensiveDescription" key, because i don't see it useful.
a) this is a tool, not a textbook with super long descriptions
b) you can use the "Link" key to point to the forum topic where this hack can be discussed and explained in several pages long texts.
c) for additional info you can use the "HackDescription" to add some more detail what a certain Offset change does _________________ SHP Artist of Twisted Insurrection: Nod buildings
If you have ?? ?? ?? ?? ?? and InputAsString set, then i would make sure the string can not be longer than 5 chars (string length restricted to number of ??). Is it that what you mean? _________________ SHP Artist of Twisted Insurrection: Nod buildings
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum