Made it so the SDK actually compiles. Also removed the .suo file from the repo.
Modified header generation so that a parameter with an offset of 0 doesn't get accessed as (params + offset) in the generated headers. Also made it so there is a single define to change to set the path of your TASDK repo root relative to the leaked TribesAscend exe in the SDK. This commit also has header generation enabled in the mod main.
Fixed the build and removed a the massive repeat importing of the header dump.
Added an IndentedStreamWriter class, and mostly implemented a new multi-stage header generation mechanism, which will allow for more advanced generation of the headers. (including dependancy analysis, and a few other things)
All of the new code is currently in my code style, it will be changed over once it's complete and functional.
More work on the new mechanism. It should now load all the data needed, and class and property generation are now mostly complete.
Modified the generated headers so that properties can be accessed directly via their names. (the var_* methods have become get_* instead, to fit better with the property mechanism)
Manually modified the headers for the moment, but all 3.3k headers are no longer included in the TestMod. Also hooked the ClassDescriptor into the header generation, so lets see how well it works.
Some fixes to the header generation, and regenerated all the headers. These headers are 1.2mb smaller than the original set which also only included properties.
The header for the parent class should now get properly included in generated headers.
Woops, forgot that std::string's don't format nicely.
Perhaps this time it will like me better?
Regenerated the headers after the last commit, they now include the proper #include's for their parent classes, next up adding the includes for the classes referenced by fields.
Moved the methods for dependency management to a seperate struct, and added dependency inclusion for properties.
Fixed a small typo when checking if a property is an object. Also made sure that a class can't include itself as a dependency.
Made it so only ObjectProperty's (for now) get the header for their class included. (due to struct's not being dumped yet)
Centralized property dependency analysis, and added the dependency analysis for functions, as well as a preliminary dump, to say that the methods exist.
Regenerated headers after the last commit, next regeneration should make the new header generation mechanism fully functional.
Implemented dumping of function signatures.
Fixed a couple of typo's in GetTypeNameForProperty. Also fixed the dumping of output parameters. Also implemented the dumping of the actual method bodies.
Accounted for the return value in the parameter size allocation. Also made it so the function return value offset is baked into the generated headers.