* Turn some signed integers ("int" or "SDWORD") into unsigned integers where it made more sence (and signed integers caused warnings about comparing signed with unsigned integers)
* At some places cast to an unsigned integer (where the type of the expression is a signed integer but the result of it logically _always_ is an absolute value)
* Remove unused struct-type EVENT_INIT
* Convert use of malloc->memcpy->free to one single realloc call (and now make sure to actually check realloc's return value, which wasn't done with the malloc call)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3037 4a71c877-e1ca-e34f-864e-861f7616d084
* Refactor NETlogEntry() to use the array of strings (packetname[]) instead of a large switch-statement with a lot of copy & pasted code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2617 4a71c877-e1ca-e34f-864e-861f7616d084
* Use decent assertion expressions for some asserts (e.g. !"string", so that debuggers actually display something more interesting than 'FALSE')
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1815 4a71c877-e1ca-e34f-864e-861f7616d084
This patch will create crashes where the code expects FREE to set the pointer to NULL! (Those problems should be fixed anyway.)
The only occassion where I saw this is when quiting a game, so it is not too much of an issue.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1459 4a71c877-e1ca-e34f-864e-861f7616d084
* replace all instances of PTRVALID(ptr,size) by (ptr != NULL)
* remove asserts of style ASSERT( x == NULL || x != NULL ) because they would evaluate to true always anyhow and as such wouldn't ever trigger
* remove macros iV_HeapAlloc and iV_HeapFree and replaced them with MALLOC and FREE respectively (that's what they expanded to anyway)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1348 4a71c877-e1ca-e34f-864e-861f7616d084
NOTE: this will break old save games (at least skirmish ones).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1168 4a71c877-e1ca-e34f-864e-861f7616d084
debug builds. Hopefully this will not cause too much pain, but
rather increase code quality for the future.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1144 4a71c877-e1ca-e34f-864e-861f7616d084
* remove some unused things: variables, macros (MEMORYREPORT, MEMORYTREAP)
* fix some signing errors:
* change assignments of/comparisons with -1 to unsigned variables ((-1) directly, not through a preprocessor directive) to ~0 (left OpenAL-code alone)
* remove some casts to (SDWORD) in comparisons which actually cause signed/unsigned errors rather than fix them
* redefine some vars as unsigned
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@955 4a71c877-e1ca-e34f-864e-861f7616d084
-fixed MSVC compilation issues and wrong casts in initializations
Scripting Engine:
-lexer will now skip all macros in script files - allows to use macros in IDEs
-float data type can now be used in boolean expressions
-fixed visibility check in initEnumStruct() script function
-fixed playerLoaded() script function
-added some new script functions
-Object.weapon now also works with structures
-added decrement/increment operators
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@889 4a71c877-e1ca-e34f-864e-861f7616d084
-compiler and parts of interpreter now use union to store different data types
-got rid of a great deal of pointer->integer casts
-ASSERT() now outputs last event (or function) called by scripts
-implemented float data type support for the scripting engine - basic functionality at the moment
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@846 4a71c877-e1ca-e34f-864e-861f7616d084
Mainly explicit casts, some type changes, a few fixes.
We need to have a look if this line creates any problems:
lib/script/interp.c @@ -329,7 +329,7 @@
- if(!RetStackRemember(CurEvent, (ip + 2))) //Remember where to jump back later
+ if(!RetStackRemember(CurEvent, *(ip + 2))) //Remember where to jump back later
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@719 4a71c877-e1ca-e34f-864e-861f7616d084
Patch marks several read-only function parameters and datastructures as such by adding const.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@709 4a71c877-e1ca-e34f-864e-861f7616d084
- Simplify definition of ASSERT(). Now is the same for GCC and MSVC.
This may not work on versions older than MSVC 2005. If you experience this, please report it!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@613 4a71c877-e1ca-e34f-864e-861f7616d084
cleaned up Bison logs
enabled logs for loading .slo and .vlo files
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@597 4a71c877-e1ca-e34f-864e-861f7616d084
-implemented string support
-functions can now have arguments, example:
function STRING myFunc(DROID myDroid, int myInt2){<code>}
-functions can have return values:
return <statement>;
or just "return;" for void functions
-function calls are made the normal c/c++ way (using the function from the first example):
myString = myFunc(myDroid, 156);
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@583 4a71c877-e1ca-e34f-864e-861f7616d084
Same as in r431, but now for lib/
- converted the sources in lib/ to use full path includes instead of just the filename.
- marked places where lib/ivis_*implementation* (eg opengl) is needed, because of incomplete lib/ivis_common.
Should improve the understanding of interfaces and code organization.
(Also fixed a double slash (//) include in src/multimenu.c)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@432 4a71c877-e1ca-e34f-864e-861f7616d084