Post by ouch on Oct 21, 2010 21:28:12 GMT -5
Yep, just finished a new Hardwar utility for you guys.
It allows you to easily alter certain statistics in the hardwar game world.
Currently you can alter:
Cells: Power Storage, recharge rate, mass.
Engines: Max thrust force, directional thrust force, idle power useage, max power useage, directional power useage, Mass.
Moth Stats: Item ID, Name, Model Name, Mass,Drag Factor, Artic Name, Weapon points, passenger seat, artic ID, Hit points, Price.
Pods: Item ID, Max Item Types, Max Items, Mass, Texture Name, Model Name.
Items: Terminal name, in game name, price, model, mass, description, type.
All the pilot names including: the random ones, random thug ones, and the unique starting pilot names.
with much more on the way!
The key feature here is that the program uses an SQLite database to bring all this to life. This means it's easy to add hardwar versions, store thousands of user made templates, and add new things to patch.
All you need to do is to extract the Patcher to your main hardwar directory so that it is along side HardwarW.exe. make a backup of HardwarW.exe while your there. then just double click on the patcher. On slower machines there may be a small delay while the default database (Hardwar Patcher.db) is created. Once the values in the grids fill in, your in business. Now just edit the numbers as you wish and click the "save new" button. This will create a new template with the values you gave. you switch between templates with the slider at the very bottom of the app. you can also delete templates with the "Delete" button. then Just click the "Patch Game" button. then start up hardwar and experience your changes. It's that easy.
If your good with Hex editing and want to make a new version to select from then just write the name of the version in the combo box and click the "save new version" button. A whole new version will be created for you. Including a new list of offsets that the app will write to. It's basically the name of the version you entered with "_OFFS" added to the end of it. You can see and edit all the offsets by clicking on the offsets checkbox. While you can create multiple offset templates, only the 1rst one will be used for writing. you can also delete a version if you screw up by clicking the "Delete Version" button.
You can revert to defaults if you screw up too bad. however the defaults are stored and read from template 1. so if you edit template one the changes are also going to be applied to every template you click the default button on. This is because some people have preferences on what the default actually should be...
If you want to go back to the true "original" defaults you must delete the "Hardwar Patcher.db" file. Then EVERYTHING will be reset, including any templates you made. You may also just delete the UIM06 version. The program requires this version to exist, (simply because there must be one version to read from, if there isn't it crashes...) so if it doesn't exist it will be re-created from the original defaults.
You may also import and export templates and offset info. To do this first click on the load database button, select a file to import or just type a name if you wish to create a file to export. There are two Tree structure boxes, the one on the left represents whats in your main database right now. The one on the right represents whats in the the file you loaded. If it's blank you created a new database with nothing in it yet. The version and the underlying templates for that version are displayed for you. The numbers represents where the slider is when you view that template. To Export something click on a number in the tree display on the left, then click the export button. (Do not actually highlight a version name for importing or exporting, the app already knows what templates goes where. Doing so may corrupt your database file/files) To import something just click on a number on the right and click import. When you export a template a version/versions will be created in the new database and "_ext" (ext for external) will be added to the version name. When you import, any templates you select regardless of the version will be placed in whatever is in the combo box labeled "version" located just above the slider on the very bottom of the app. You may also import/export offsets by toggling on the offsets checkbox near the main slider. Offsets are displayed and worked with exactly the same as version contents.
You may also create your own custom edits complete with labels, decimal numbers, and of course words and sentences. the technical functional details are the exact same as the rest of the app. However the custom grid area is treated as a separate section from the rest of the app. So much so, it has it's own set of controls. This allows you to create your own format of sorts, with separate templates, versions, and offsets from the rest of the app. But more importantly is how easy it is to use. Basically your labels and contents of your hacks go in the main page. then your offsets go on the _offs page. So for example lets say you want to edit that annoying "please run hardwar from the hardwar manager only" message when you double click on the hardwarW.exe file. So lets open up hardwarw.exe in a hex editor and do a search for "Please run". Bingo, found at 0x0d55e4 in my UIM06 version of hardwarw.exe. Now I'm going to create a new page/version in the hardwar patcher app for my new find. so I'm going to type in "myhacks" in the combo box on the "custom" tab and then click the "new version" button. now I have a nice clean main page to do as I please. So in cell A1 I'm going to type "DOUBLE CLICK WARNING". This will serve as my label. Below that in A2 I could write whatever I want the message it to be. But I may want to go back to what the message was at some point. So I'm going to type in what the message is originally. So without the quotes: "Please run Hardwar from the Hardwar Manager only". Now I'm going to click "save" to save my page, then click "display offsets" check box. So now I have another clean page that represents where the fields will be written. And I want to write what ever is in A2 to 0x0d55e4. How do I do that? Well I simply write 0x0d55e4 in A2. You see, any cell that is blank on the offsets page will not be written and considered to be a label or some notes or something. Click "Save" and that's that. But lets actually change the message. So click "display offsets" checkbox again. and Change A2 on the main page to be: "I pity the fool who double clicks HardwarW.exe! " Notice the extra spaces to fully cover up the old message. Also never enter a message longer than the old one as it will over flow into other places and possibly cause a crash. Now click "save new" and you will see an additional position on the slider near the top. so now if you want to reset your message just click on the "defaults" button which basically copies template one and places it in what ever template your looking at. But regardless I want to test out my simple hack. So I click on "patch game" and in a flash the message gets written. So double click HardwarW.exe and poof, the new message appears. The program can also write the value of a 32bit (4 bytes) decimal number if the contents of a cell is just a number and nothing else. But if you wanted to actually write the character "4" and not the numerical representation of "4" for example. All you do is add a Tilda in front of the file offset so it would look like "~0x03fa42" and the app would write the character "4" instead of the numerical representation of "4". You can also write 0x in front of a number or sequence of numbers to tell the program that this is a hex string. The number MUST be written in standard hex pairs. This allows you to patch in your own code modifications with ease.
windows:
sites.google.com/site/ouchsdownloads/home/downloads/HardwarPatcherwin.zip?attredirects=0
The linux version has been discontinued to to lack of demand. You may still get the old 2010 version below however.
Linux:
sites.google.com/site/ouchsdownloads/home/downloads/HardwarPatcherlinux.tar.gz?attredirects=0
If you get errors about mingwm10.DLL missing you can download this and extract it to wherever you extracted the above files:
sites.google.com/site/ouchsdownloads/home/downloads/mingwm10.zip?attredirects=0
Notes: If you play online, both the server and your game must have the same numbers. If you don't, the game will de-sync and crash. but If they are the same you can play normally with any modified settings you like.
Some settings require starting a new game. (like engine speeds) The majority do not however.
The AI is rather adaptable to most of these changes, don't be afraid of disrupting them.
If you start the app and nothing happens. Chances are you have an older version of Hardwar Patcher.db. You must delete it, rename it or use an SQLite database editor to manually update it with the new fields.
You can use any single character you want except apostrophes that's one of these.-> ' The reason for that is because of the SQL commands use those for string declarations. (of which so far every field uses). As a result all the ' have been removed from the exe in the fields that have been modified. You also may not use spaces or non-standard characters in template names. for instance a Non-Standard character would be: | But in general if you click the new template button and the app crashes you have a non-standard character in the name somewhere.
It allows you to easily alter certain statistics in the hardwar game world.
Currently you can alter:
Cells: Power Storage, recharge rate, mass.
Engines: Max thrust force, directional thrust force, idle power useage, max power useage, directional power useage, Mass.
Moth Stats: Item ID, Name, Model Name, Mass,Drag Factor, Artic Name, Weapon points, passenger seat, artic ID, Hit points, Price.
Pods: Item ID, Max Item Types, Max Items, Mass, Texture Name, Model Name.
Items: Terminal name, in game name, price, model, mass, description, type.
All the pilot names including: the random ones, random thug ones, and the unique starting pilot names.
with much more on the way!
The key feature here is that the program uses an SQLite database to bring all this to life. This means it's easy to add hardwar versions, store thousands of user made templates, and add new things to patch.
All you need to do is to extract the Patcher to your main hardwar directory so that it is along side HardwarW.exe. make a backup of HardwarW.exe while your there. then just double click on the patcher. On slower machines there may be a small delay while the default database (Hardwar Patcher.db) is created. Once the values in the grids fill in, your in business. Now just edit the numbers as you wish and click the "save new" button. This will create a new template with the values you gave. you switch between templates with the slider at the very bottom of the app. you can also delete templates with the "Delete" button. then Just click the "Patch Game" button. then start up hardwar and experience your changes. It's that easy.
If your good with Hex editing and want to make a new version to select from then just write the name of the version in the combo box and click the "save new version" button. A whole new version will be created for you. Including a new list of offsets that the app will write to. It's basically the name of the version you entered with "_OFFS" added to the end of it. You can see and edit all the offsets by clicking on the offsets checkbox. While you can create multiple offset templates, only the 1rst one will be used for writing. you can also delete a version if you screw up by clicking the "Delete Version" button.
You can revert to defaults if you screw up too bad. however the defaults are stored and read from template 1. so if you edit template one the changes are also going to be applied to every template you click the default button on. This is because some people have preferences on what the default actually should be...
If you want to go back to the true "original" defaults you must delete the "Hardwar Patcher.db" file. Then EVERYTHING will be reset, including any templates you made. You may also just delete the UIM06 version. The program requires this version to exist, (simply because there must be one version to read from, if there isn't it crashes...) so if it doesn't exist it will be re-created from the original defaults.
You may also import and export templates and offset info. To do this first click on the load database button, select a file to import or just type a name if you wish to create a file to export. There are two Tree structure boxes, the one on the left represents whats in your main database right now. The one on the right represents whats in the the file you loaded. If it's blank you created a new database with nothing in it yet. The version and the underlying templates for that version are displayed for you. The numbers represents where the slider is when you view that template. To Export something click on a number in the tree display on the left, then click the export button. (Do not actually highlight a version name for importing or exporting, the app already knows what templates goes where. Doing so may corrupt your database file/files) To import something just click on a number on the right and click import. When you export a template a version/versions will be created in the new database and "_ext" (ext for external) will be added to the version name. When you import, any templates you select regardless of the version will be placed in whatever is in the combo box labeled "version" located just above the slider on the very bottom of the app. You may also import/export offsets by toggling on the offsets checkbox near the main slider. Offsets are displayed and worked with exactly the same as version contents.
You may also create your own custom edits complete with labels, decimal numbers, and of course words and sentences. the technical functional details are the exact same as the rest of the app. However the custom grid area is treated as a separate section from the rest of the app. So much so, it has it's own set of controls. This allows you to create your own format of sorts, with separate templates, versions, and offsets from the rest of the app. But more importantly is how easy it is to use. Basically your labels and contents of your hacks go in the main page. then your offsets go on the _offs page. So for example lets say you want to edit that annoying "please run hardwar from the hardwar manager only" message when you double click on the hardwarW.exe file. So lets open up hardwarw.exe in a hex editor and do a search for "Please run". Bingo, found at 0x0d55e4 in my UIM06 version of hardwarw.exe. Now I'm going to create a new page/version in the hardwar patcher app for my new find. so I'm going to type in "myhacks" in the combo box on the "custom" tab and then click the "new version" button. now I have a nice clean main page to do as I please. So in cell A1 I'm going to type "DOUBLE CLICK WARNING". This will serve as my label. Below that in A2 I could write whatever I want the message it to be. But I may want to go back to what the message was at some point. So I'm going to type in what the message is originally. So without the quotes: "Please run Hardwar from the Hardwar Manager only". Now I'm going to click "save" to save my page, then click "display offsets" check box. So now I have another clean page that represents where the fields will be written. And I want to write what ever is in A2 to 0x0d55e4. How do I do that? Well I simply write 0x0d55e4 in A2. You see, any cell that is blank on the offsets page will not be written and considered to be a label or some notes or something. Click "Save" and that's that. But lets actually change the message. So click "display offsets" checkbox again. and Change A2 on the main page to be: "I pity the fool who double clicks HardwarW.exe! " Notice the extra spaces to fully cover up the old message. Also never enter a message longer than the old one as it will over flow into other places and possibly cause a crash. Now click "save new" and you will see an additional position on the slider near the top. so now if you want to reset your message just click on the "defaults" button which basically copies template one and places it in what ever template your looking at. But regardless I want to test out my simple hack. So I click on "patch game" and in a flash the message gets written. So double click HardwarW.exe and poof, the new message appears. The program can also write the value of a 32bit (4 bytes) decimal number if the contents of a cell is just a number and nothing else. But if you wanted to actually write the character "4" and not the numerical representation of "4" for example. All you do is add a Tilda in front of the file offset so it would look like "~0x03fa42" and the app would write the character "4" instead of the numerical representation of "4". You can also write 0x in front of a number or sequence of numbers to tell the program that this is a hex string. The number MUST be written in standard hex pairs. This allows you to patch in your own code modifications with ease.
windows:
sites.google.com/site/ouchsdownloads/home/downloads/HardwarPatcherwin.zip?attredirects=0
The linux version has been discontinued to to lack of demand. You may still get the old 2010 version below however.
Linux:
sites.google.com/site/ouchsdownloads/home/downloads/HardwarPatcherlinux.tar.gz?attredirects=0
If you get errors about mingwm10.DLL missing you can download this and extract it to wherever you extracted the above files:
sites.google.com/site/ouchsdownloads/home/downloads/mingwm10.zip?attredirects=0
Notes: If you play online, both the server and your game must have the same numbers. If you don't, the game will de-sync and crash. but If they are the same you can play normally with any modified settings you like.
Some settings require starting a new game. (like engine speeds) The majority do not however.
The AI is rather adaptable to most of these changes, don't be afraid of disrupting them.
If you start the app and nothing happens. Chances are you have an older version of Hardwar Patcher.db. You must delete it, rename it or use an SQLite database editor to manually update it with the new fields.