rotators / foclassic

FOnline Community Edition (r412 base)
https://rotators.fodev.net/foclassic/
GNU General Public License v3.0
42 stars 5 forks source link

Automated foclassic.h generation #10

Open wipe2238 opened 5 years ago

wipe2238 commented 5 years ago

In SDK, fonline.h was always edited manually; in fact, it never was part of source repo at all. It's a working solution, sure, but i'd like to automate it, to minimize possible human mistakes resulting in broken dlls.

In perfect world, we'd just copy related headers (Critter.h, Item.h, Map.h, and so on), write a wrapper with #include wall, add entry point stuff etc. and be done with it.

That, however, won't work as headers aren't written with such exposure in mind. Just look at Common.h which is must-have with such approach - wall of #pragma comment(lib) and #include for almost all third party libs, and that's just a beginning. Ugh.

I don't consider it as a part of any currently planned milestones. V15 will most likely affect it, but automated dll header creation should be a result of various changes, rather than a goal. As of now, i've included header in repo, so we can at least connect changes in header with changes in engine, by simply doing both in one commit.

Things which we can prepared beforehand:

I'll probably get on that at some point in future, as of today it's very minor priority.