v50 Steam/Premium information for editors
- v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
- Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.
Editing User:Jifodus/Dwarf Fortress Utility Framework
Jump to navigation
Jump to search
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | I'm currently writing a framework for Dwarf Fortress utilities. The general idea is to use C++ interfaces in a cross-compiler fashion that is very easy to use | + | I'm currently writing a framework for Dwarf Fortress utilities. The general idea is to use C++ interfaces in a cross-compiler fashion that is very easy to use. |
− | + | Please note, since this is still currently under development, I don't have the time to make a pretty WikiPage. I also will not post the interface & file format document for the same reason. Once there is a release, I will have a solid data format that will probably never change, as well as unchanging interfaces. | |
− | == | + | ==Overview== |
− | |||
− | + | ===Features=== | |
− | == | + | ====Current Features==== |
− | === | + | * Written in C++, using interfaces |
− | + | ** Incomplete memory data stored in Lua format | |
− | + | * Sample utility for implementation reference | |
− | + | * API header & library | |
+ | * Complete source code | ||
+ | * Identify Dwarf Fortress version via PE executable timestamp | ||
+ | * Cross-compiler/C compatible using Windows COM style interfaces. | ||
− | + | ====Expected Initial Release==== | |
− | === | + | I'm scheduling the initial release date to be December 15, 2007. At that time, the following features will be in place: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Written in C++, using interfaces | * Written in C++, using interfaces | ||
− | * Memory data | + | * Memory data |
+ | ** Stored in a Lua format | ||
+ | ** Stored in a CSV format | ||
+ | ** Stored in an XML format? | ||
* Sample utility for implementation reference: reimplementation of StartProfile | * Sample utility for implementation reference: reimplementation of StartProfile | ||
+ | * Library self-contained in DLL | ||
* API header & library | * API header & library | ||
+ | * Cross-compiler portable | ||
* Complete source code | * Complete source code | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | ====Second Release==== |
− | + | After the first release, and it's been extensively bug checked, the next release will have: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Auto-retrieve memory data off the internet | * Auto-retrieve memory data off the internet | ||
* Auto-update framework code itself | * Auto-update framework code itself | ||
* Have an installer that will install the DLL and data file to a shared location, so multiple utilities can use the same library | * Have an installer that will install the DLL and data file to a shared location, so multiple utilities can use the same library | ||
− | |||
− | |||
− | |||
* Implement specific subsets of the std library; reduce utility size more, no large dependencies for the utilities | * Implement specific subsets of the std library; reduce utility size more, no large dependencies for the utilities | ||
** std::string | ** std::string | ||
** std::vector | ** std::vector | ||
− | |||
** Console IO | ** Console IO | ||
** File IO | ** File IO | ||
+ | |||
+ | ====Future==== | ||
+ | And further down the road (through auto-update): | ||
* Easy to use GUI framework; for making tools with a nice GUI | * Easy to use GUI framework; for making tools with a nice GUI | ||
* Cross-process memory allocation | * Cross-process memory allocation | ||
Line 142: | Line 97: | ||
**** Address: [1] = The offset into the ".text" section that the following raw data can be found. | **** Address: [1] = The offset into the ".text" section that the following raw data can be found. | ||
**** Raw Data: [2] = The data the ".text" segment is supposed to contain. | **** Raw Data: [2] = The data the ".text" segment is supposed to contain. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |