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
- when script runtime error occurs wz first outputs error information and then asserts, not vice versa
- printCallStack() script function will output script call stack to standard output
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1107 4a71c877-e1ca-e34f-864e-861f7616d084
-added script call stack trace output on script runtime error
-added STRUCTURE getTileStructure(INT tileX, INT tileY) script function to get a structure on a certain map position
-fixed two stackPopParams() calls with too many actual parameters
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1087 4a71c877-e1ca-e34f-864e-861f7616d084
The include changes might break other buildsystem, I'll fix that when I am back on Linux.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@983 4a71c877-e1ca-e34f-864e-861f7616d084
* remove -fno-gnu-keywords from GCC because it seems to be only for C++/ObjectC (Doh!), and the variant for C (being -fno-asm) additionally disables inlines which we definitely don't want disabled
* remove a large function which reserves memory without it ever being used *at*all* (from hci.*, mapdisplay.* and intelmap.c), also remove a function parameter from another function in mapdisplay.c, (it was this parameter that required the other functions to reserve memory)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@971 4a71c877-e1ca-e34f-864e-861f7616d084
-Fixed endless recursion in one of the lexical parser rules.
-Disabled log warnings when no meaningful information could be extracted form a player chat message.
-Small update to the lexical chat parser rules.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@966 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
Example:
#include "multiplay/skirmish/my_include.slo"
-Implemented C-like #define preprocessor directive. Nested macros allowed with up to depth of MAX_SCR_MACRO_DEPTH.
-Added a script function for a fast feature iteration (returns burning as well as non-burning oil resources)
-Replaced some custom Pumpkin routines with default FLEX routines
-Some cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@950 4a71c877-e1ca-e34f-864e-861f7616d084
-void pointer is now compatible with any other pointer type
-strings can now be directly compared using '==' and '!=' operators
-added a linguistic chat message parser with some generic messages predefined - to be used for Human<->AI and AI<->AI communication
Note: chat_lexer.l should be compiled using an additional -i switch for case-insensitive lexer
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@898 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
- Fix a lot of char* related warnings (fixing of scripttabs.c needs to be finished like I started it)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@867 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
-fixed line endings in macro.h
-applied Christian Ohm's "032 - Fixes for src-aiexperience.c-h" and "037 - g++ fix" patches
-made warzone report loading of all *.lev files
Scripting:
-fixed implicit bool/int to string convertion for the scripting language
-STRUCTURESTAT can now be checked for being 0 with NULLSTRUCTURESTAT
-minor scripting function fixes
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@794 4a71c877-e1ca-e34f-864e-861f7616d084
-It is now possible to win in a team in 'Locked Alliances' mode, also in this mode a player doesn't lose until all of his team members were defeated
-Game now shows a text message when player has won/lost the game (just a temporary solution to bug #7317)
-Added extra heap debug, should be there at least until we fix bug #6530, as PTRVALID() doesn't seem to detect corrupted DROID pointers on win
-Increased number of iterations A* is allowed to do per frame, which will hopefully speed up pathfinding
-Fixed multiplayer menu slider bug (bug #6529)
-Fixed players not forwarding enemy units visibility to their allies in 'TEAMPLAY' and 'Locked Alliances' modes
-Further scripting engine improvements
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@780 4a71c877-e1ca-e34f-864e-861f7616d084
-Added ability to rename players through scripts
-New savegame version: 34 (as a result of the previous point)
-Fixed double messages in online games
-Minor cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@771 4a71c877-e1ca-e34f-864e-861f7616d084
-Added now frontend texture to frend.img
-Disabled "Allied players send vision to each other automatically (only once)" for "Allow alliances" alliance mode, since (x allied y) is not a transitive relation in this mode
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@744 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
- Replace every occurence of VOID with void (and LPVOID with void*)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@703 4a71c877-e1ca-e34f-864e-861f7616d084
- Don't declare stdint declarations which are allready declared in SDL_config
- Change only use of stdint type to use SDL type instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@700 4a71c877-e1ca-e34f-864e-861f7616d084
Define DEBUG_SCRIPT to get some more Bison/Flex debug output
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@648 4a71c877-e1ca-e34f-864e-861f7616d084
Allied players send vision to each other automatically (only once)
Fixed caching problems for variables of type GROUP
Some other scripting engine updates and cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@647 4a71c877-e1ca-e34f-864e-861f7616d084
- Clean warnings and a wrapper function for widgets
- Add an assert to intDisplayMessageButton to catch crashes better
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@631 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
-added new scripting function
-added new callbacks
-added new member variables
-players controlled by AI now receive (and send) multiplayer messages and can process them
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@595 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
Implemented local variables, which can be used inside of functions or events.
Syntax:
local int myVar1,myVar2;
* fixed a bug which made wz crash when local variable was declared inside of an event
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@572 4a71c877-e1ca-e34f-864e-861f7616d084
some things on platforms where 'just char' means unsigned char. Fix lots of
new signedness warnings resulting from that fix (which would have cropped
up on unsigned char platforms anyway). Also implement a small subset of
stdint.h for windows platform in frame.h, hope this does not create any
conflicts. This allows us to use types like uint64_t where relevant.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@569 4a71c877-e1ca-e34f-864e-861f7616d084
more than half the warnings on gcc4, and makes sure we do not
get signedness problems between platforms where char is defined
with different signedness. Also set line-ending properites for
some bison/flex files that did not have it set.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@563 4a71c877-e1ca-e34f-864e-861f7616d084
-added simple function support
Limitations:
-void return type only
-no arguments support
Example:
function void myFunc() {<code>}
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@557 4a71c877-e1ca-e34f-864e-861f7616d084
Uses a config.mk.tmpl file to set system dependend stuff, no bash required.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@490 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