Move the duplicated effort of looping over all structs and enums out of the code generators and into the code that invokes the code generator. Thus instead of invoking the code generator once to generate code for all structs and enums, we now invoke it once for every struct and enum.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5367 4a71c877-e1ca-e34f-864e-861f7616d084
A slight modification to the code generators removes their need for needing to know how many elements (enums or structs) it needs to generate code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5366 4a71c877-e1ca-e34f-864e-861f7616d084
Add a new code generator for the database mini-meta-language. It creates SQL SELECT statements that use INNER JOINs to join all fields across the inheritance hierarchy in a single result row.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5365 4a71c877-e1ca-e34f-864e-861f7616d084
Don't add an AUTOINCREMENT clause to the PRIMARY KEY, ID column if it we're not working on the abstract base class.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5364 4a71c877-e1ca-e34f-864e-861f7616d084
Give the code generators the opportunity to print something at the start and the end of the file. E.g. header guards for C files, and some notice about the file being automatically generated for all types.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5363 4a71c877-e1ca-e34f-864e-861f7616d084
In addition we now also parse the "unique" keyword in set and enum lines and thus process it there as well.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5360 4a71c877-e1ca-e34f-864e-861f7616d084
Instead we now have a two phase process:
* First parse and build an abstract syntax tree (AST)
* Secondly loop over the generated AST to produce useable code for the target language.
NOTE: Currently only the C struct definition generator is rewritten to this new architecture.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5359 4a71c877-e1ca-e34f-864e-861f7616d084
This code generator is still in a prototyping phase. It'll probably get rewritten entirely.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5358 4a71c877-e1ca-e34f-864e-861f7616d084
Instead print the enum-number which we used to switch on.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5356 4a71c877-e1ca-e34f-864e-861f7616d084
With our current backtrace dumps I quite oftenly find that in case of segfaults, which combined with assert failures are the most common crash cause, I cannot easily see what value the dereferenced pointer held.
To be able to see this the exception handler will now invoke the "disassemble" and "info registers" commands when producing a back trace using GDB. This gives us the ability to see the precise assembly instruction that triggered the crash, together with the value of the register that was used as pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5352 4a71c877-e1ca-e34f-864e-861f7616d084
fallback fix for non-debug builds. This to improve tracing of bug #11908:
crash - some assertion failed.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5345 4a71c877-e1ca-e34f-864e-861f7616d084
* add 16 to the valid values for the configuration option textureSize
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5341 4a71c877-e1ca-e34f-864e-861f7616d084
Exception is when generating the .wz files, where we need the path to the build directory and building a reverse relative path to $(srcdir) will be messy.
Also silence submake.mk a great deal.
Bug #11883 should be fixed now for the most part.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5325 4a71c877-e1ca-e34f-864e-861f7616d084
- Provide the missing Windows commands
- Remove TEST_D, because it has no suitable syntactical equivalent on Windows.
(Just create directories unconditionaly. You will probably notice if there exits a file of the same name...)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5320 4a71c877-e1ca-e34f-864e-861f7616d084
Their use is currently flawed, since it will not work in directories with spaces in them... (
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5319 4a71c877-e1ca-e34f-864e-861f7616d084
The info from this ASSERT is needed for a proper (and fully educated) fix of bug #11865. Thus please attach a backtrace to bug #11865 when this ASSERT gets triggered, and if possible add which VTOL type you ordered to or from a rearming pad at the time.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5314 4a71c877-e1ca-e34f-864e-861f7616d084