* Rename LIST_ADDEND to LIST_APPEND (because that's what it does: append to a list)
* Clean up the assertion in LIST_REMOVE
* Prevent a potential bug in LIST_APPEND by not initialising the psNext pointer to NULL
- doesn't ever occur right now, for one simple reason: the only place where this macro is used is on a structure that's initialised with memset(0)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6260 4a71c877-e1ca-e34f-864e-861f7616d084
* Fix several parameters that got passed wrong and didn't get caught due to the different definitions
Caught by EvilGuru
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6256 4a71c877-e1ca-e34f-864e-861f7616d084
* If initialisation of the debug callback failed, do ''not'' add it to the list of debug callbacks to use
This fixes ticket:136
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6249 4a71c877-e1ca-e34f-864e-861f7616d084
Forces window XP users to also use a software device for openAL. (already the default for the other platforms & vista). This allows 256 sources, instead of 16.
Note: *this is windows specific* and will not affect the other platforms.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6223 4a71c877-e1ca-e34f-864e-861f7616d084
* use mkstemp(3) to create a temporary file that's guaranteed not to exist already
Prevents a potential symlink attack (e.g. where /tmp/warzone2100.gdmp is symlinked by user A to a file owned by user B, then having user B crash warzone)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6214 4a71c877-e1ca-e34f-864e-861f7616d084
(Normally, it dumps only when LOG_SCRIPT is defined, but we can't determine where the script errors are when LOG_SCRIPT isn't used)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6212 4a71c877-e1ca-e34f-864e-861f7616d084
* Instead rely on setting that pointer to NULL in the client code that calls animObj_Remove in the first place
- This was already done in all but one case where animObj_Remove was called
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6180 4a71c877-e1ca-e34f-864e-861f7616d084
* Missing returns from function
* Functions that are defined in both DEBUG and NDEBUG builds but only used in DEBUG builds
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6179 4a71c877-e1ca-e34f-864e-861f7616d084
* Mark several parameters that aren't being used (but shouldn't be removed) with WZ_DECL_UNUSED
* Use "(unsigned )?int" instead of "[SU](D?WORD|BYTE)" where the size guarantee is not required
* Instead of "(X - Y) >= 0" use the logically equivalent and more readable "X >= Y"
* Remove redundant function prototypes
* Move variables into a more local scope where possible
* Assign the result of an expression to a variable once so that the expression doesn't have to be duplicated several times
* Move constant UNALLOCATED_OBJECT out of the header and into the only source file where it's ever used
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6160 4a71c877-e1ca-e34f-864e-861f7616d084
* Const correctness
* Use "(unsigned )?int" instead of "[SU](D?WORD|BYTE)" where the size guarantee is not required
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6158 4a71c877-e1ca-e34f-864e-861f7616d084
* Implement hypot() and hypotf() on non-C99 systems
* Wherever the parameters to dirtyHypot() are signed: use hypotf() instead
* Move some variables in to a more local scope
* Merge the conditions of some nested if-statements
* Get rid of some stupidly named variables (tempx and tempy are ''not'' good variable names, the names should indicate ''what'' the variables contain, not for how long)
* Remove some unnecessary casting between float and [SU]DWORD
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6157 4a71c877-e1ca-e34f-864e-861f7616d084
* The lexers depend on the parser's headers so make sure to compile the parsers first
* Move a misplaced line-wrapping backslash in src/makefile.win32
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6153 4a71c877-e1ca-e34f-864e-861f7616d084
* Rewrite NETgetGameFlagsUnjoined such that it's not hardcoded for its `flag` parameter anymore
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6150 4a71c877-e1ca-e34f-864e-861f7616d084
Do this because we cannot trust malloc()'s heaps to be intact at the time an exception handler gets called.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6146 4a71c877-e1ca-e34f-864e-861f7616d084
* Add support for decoding and displaying of OggTheora/Vorbis videos
* Change all references to *.rpl files to *.ogg files (and lower case them)
* Add a new menu (and config) option for selecting the size at which to display videos (1x (native), 2x, full screen)
This closes ticket:64 and ticket:46
Code changes are ticket:64 (patch by Gerard Krol, Giel van Schijndel and Buginator)
FMVs can be found at http://download.gna.org/warzone/videos/sequences_ogg.zip (for now at least)
Videos encoded by Angus Lees
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6119 4a71c877-e1ca-e34f-864e-861f7616d084
* Use "bool" instead of "BOOL" for the return types of lib/sequence functions
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6112 4a71c877-e1ca-e34f-864e-861f7616d084
* 3.6.0 introduced an interface change to the VFS layer
* Updated physfs_vfs.c for the interface change in 3.6.0, breaking compatibility with SQLite < 3.6.0
* Change the configure script to require sqlite3 >= 3.6
This closes ticket:66
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6034 4a71c877-e1ca-e34f-864e-861f7616d084
* Use the pkg-config variables SQLITE_CFLAGS and SQLITE_LIBS to compile and link with instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6021 4a71c877-e1ca-e34f-864e-861f7616d084
* Require sqlite3 versions >= 3.5.4 and < 3.6 (due to r5984 these versions are possible)
* Move physfs_vfs.[ch] from lib/sqlite3/ to lib/framework/
* Update the autotools, raw win32 Makefile, Code::Blocks and MSVC build systems
- NOTE: Xcode still requires an update
This closes ticket:59
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6018 4a71c877-e1ca-e34f-864e-861f7616d084
* These can be defined using Lua tables; see the example code in sdl-testapp.lua
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6016 4a71c877-e1ca-e34f-864e-861f7616d084
* Add method `destroy` to the Lua class `widget` and its children in the betawidget module
* Add some code that demonstrates the usage of widget:destroy() and its current flaws (i.e. segfaults ''will'' occur when using widget after calling the destroy() method on it, garbage collection is included in "using")
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6008 4a71c877-e1ca-e34f-864e-861f7616d084
* Use a separate cairo_pattern for each window to store the window gradient in
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6007 4a71c877-e1ca-e34f-864e-861f7616d084
* Compile the utility part we use from Warzone (framework/utf.c and ivis_opengl/GLee.c) separately
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6002 4a71c877-e1ca-e34f-864e-861f7616d084
- We can safely catch the only one case where this filename is used (see comment in diff for an explanation)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5984 4a71c877-e1ca-e34f-864e-861f7616d084
* In the Lua test app use betawidget.getTime() to determine the *true* amount of time passed since registering of the timer event
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5979 4a71c877-e1ca-e34f-864e-861f7616d084
* If the Lua event handler function didn't return a value, assume it was successful (and leave the stack as is)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5978 4a71c877-e1ca-e34f-864e-861f7616d084
- This struct is only destroyed when the callback is destroyed, which (by default) only happens when the widget is destroyed.
- Keeping a reference to the widget prevents Lua's garbage collector from ever destroying the widget
- Thus store a reference to the widget in a Lua "weak table"
- Also store the callback function in this table
* Thus we now only keep a reference to a Lua table referring to the widget (weakly) and the function (normally/strongly)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5972 4a71c877-e1ca-e34f-864e-861f7616d084
* Be more interesting when clicking the first window
* Add a timer event handler
* Add a clipboard usage example
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5968 4a71c877-e1ca-e34f-864e-861f7616d084
* Partially generated by SWIG
* Partially handcrafted
* Already supports registering Lua functions as event handlers of `widget` derivatives
* Slight change in betawidget headers because the struct typedef's somehow confused the compiler
* Use libtool for linking with Lua
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5963 4a71c877-e1ca-e34f-864e-861f7616d084
* When only compiling and linking against betawidget just forward declare cairo_t
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5938 4a71c877-e1ca-e34f-864e-861f7616d084
* Make sure to call va_end on all instances of va_list when we're done with it
Similar to r5930 (which fixed ticket:50)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5931 4a71c877-e1ca-e34f-864e-861f7616d084
* Because va_copy is C99 provide a fallback for it on non-C99 systems (which assumes that va_list is just a pointer to the stack)
This fixes ticket:50, thanks to Buginator for finding the cause (though this solution is different from his suggestion)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5930 4a71c877-e1ca-e34f-864e-861f7616d084
* This will allow encoding of Unicode strings to UTF-8 regardless of its current encoding
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5899 4a71c877-e1ca-e34f-864e-861f7616d084
* This will allow determining of the length of a string when encoded as UTF-8 regardless of its current encoding
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5898 4a71c877-e1ca-e34f-864e-861f7616d084
This is meant to be used with betawidget
This is a revert of r2477 (which removed the UTF-8 module)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5895 4a71c877-e1ca-e34f-864e-861f7616d084
* ASSERT_HELPER can be used by debug functions that wish to alter the location information attached and printed with ASSERTs
* Add some missing semi-colons (the previous ASSERT macro had a terminating semi-colon)
* Change an ASSERT that checks calloc's return value into an if() block (we can also run out of memory on non-debug builds...)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5865 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove some redundant debug(LOG_NEVER calls (they're preceded by a sound_GetError() call which will already dump that info)
* Improve some comments
* Log sound errors to LOG_SOUND, not to LOG_NEVER
* In sound_DestroyStream make sure to bail out when we fail to retrieve the buffer count (as that could cause memory over-allocation)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5860 4a71c877-e1ca-e34f-864e-861f7616d084
(NOTE, this is really a temp fix, so it don't crash/cause more openAL errors. The sound code need a rewrite to correctly fix this problem)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5853 4a71c877-e1ca-e34f-864e-861f7616d084
"Poked" by ticket:23 to add these API-level comments, but the comments themselves are completely different.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5821 4a71c877-e1ca-e34f-864e-861f7616d084
* More granular control over window position (relative offsets &c);
* frame drawing code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5816 4a71c877-e1ca-e34f-864e-861f7616d084
* Add 4 new functions `Vector[23][fi]_LinearInterpolate` which linearly interpolate the position between to points at a certain distance from the starting point
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5784 4a71c877-e1ca-e34f-864e-861f7616d084
Deletion suggested by Buginator. This should fix bug #12136
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5777 4a71c877-e1ca-e34f-864e-861f7616d084
* Reduce the nesting inside Init_FBO
* Bail out of Init_FBO as soon as we discovered that FBOs are unavailable
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5771 4a71c877-e1ca-e34f-864e-861f7616d084
* Restore the empty lines removed in r5732
* Add a note to GAMESTRUCT containing a list of elements that need to be updated when GAMESTRUCT's definition changes
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5770 4a71c877-e1ca-e34f-864e-861f7616d084
* Fix indentation
* Don't repeat function prototypes in their pre-leading comments
* "Upgrade" some function comments to Doxygen comments
* Remove whitespace from the end of lines
* Reintroduce empty lines removed in r5733
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5769 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename audio_Get3DPlayerRotAboutVerticalAxis to audio_GetPlayerOrientation and change it to return two Vector3f's with a forward and upward pointing vector in it (which can be directly used by OpenAL)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5763 4a71c877-e1ca-e34f-864e-861f7616d084
* Use Vector3f_Mult to multiply all members with some number instead of doing it manually
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5762 4a71c877-e1ca-e34f-864e-861f7616d084
* Update the autotools, win32 makefiles, Code::Blocks and MSVC build systems
NOTE: Xcode will need an update for this
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5761 4a71c877-e1ca-e34f-864e-861f7616d084
* Vector3f_ToRadians to convert a rotation vector (Euler angles) from degrees to radians
* Vector3iPSX_To3fDegree to convert the PSX "wannabe-float" degree vectors into a vector of ''real'' floats, with ''real'' degrees (i.e. 360 is completely round, instead of 65536 representing that)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5745 4a71c877-e1ca-e34f-864e-861f7616d084
This allows players to get to the correct starting position on the map they picked, much easier.
Note, this uses a FBO. If your card doesn't support it, then you will basically notice nothing different. A fallback routine is done (but not in this patch), it is just waiting for a decent font *bitmap* that we can use.
Please see http://forums.wz2100.net/viewtopic.php?f=19&t=1953 for more discussion on the matter.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5733 4a71c877-e1ca-e34f-864e-861f7616d084
* At the only place where these ID numbers where used (scrValDefSave and scrValDefLoad), use the key-string instead (e.g. "ZNULLBODY" instead of 17)
* Rename function strresGetStringByID to strresGetString
* Increment event save file version to 4 (version of savegame.es files)
* Reject loading of savegames that need to load non-NULL ST_TEXTSTRING variables from version < 4
NOTE: This may break current savegames of games that use scripts with variables of type TEXTSTRING in them (AFAIK currently only ''some'' campaign and tutorial savegames have these).
This closes ticket:19
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5685 4a71c877-e1ca-e34f-864e-861f7616d084
* Don't maintain a secondary linked list of strings in strres.c
* Add the string that's tracked and it's ID number to the TREAP_NODE structure
* Let the treap code manage its own memory
* Have the treap code perform reverse lookups using either the resource string (i.e. not the "key" string) or associated ID number
NOTE: Searching a treap for anything else than the key is O(n), but that's no worse than a linked list, which is O(n) as well. Walking a treap has O(log n) as memory requirement, whereas walking a linked list has O(1) as memory requirement (stack size). So the only disadvantage is that searching the treap has a (highly remote!) possibility of stack overflows.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5666 4a71c877-e1ca-e34f-864e-861f7616d084
* Replace the only use of strresGetIDString with a call to function strresGetStringByID, which will also return NULL on failure to find the given ID string
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5663 4a71c877-e1ca-e34f-864e-861f7616d084
* Get rid of function strresGetIDNum with its inconvenient API and use strresGetStringByID instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5661 4a71c877-e1ca-e34f-864e-861f7616d084
* Instead use strdup() where a non-const reference to these strings is used
* NOTE: This may introduce memory leaks, but I'd rather have memory leaks than double-frees, of which I'm frankly surprised that they don't occur ''much'' more often
* Change FindDroidTemplate to take its parameter as const
* Don't multi-purpose the parameters of FindDroidTemplate as local variables
* Store string variables in getName as const
* scrvGetString:
* Directly return the string it retrieved and use NULL to indicate failure
* Return the string as `const'
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5658 4a71c877-e1ca-e34f-864e-861f7616d084
* Allocate STR_ID structures in such a way that a single free() call on it will suffice as cleanup
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5657 4a71c877-e1ca-e34f-864e-861f7616d084
* Change allocateName to do as the name suggests and actually ''allocate'' a string!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5656 4a71c877-e1ca-e34f-864e-861f7616d084
* Instead pass the current STR_RES* pointer to work on to the parser function
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5654 4a71c877-e1ca-e34f-864e-861f7616d084
In any case I ''think'' these ASSERTs always hold true, (and for the testing I've done so far they do). But I'd like some more certainty and confirmation, hence why I'm committing this (before I make changes that rely on that assertion holding true), so other people get a chance to test this and prove my assertion wrong.
Thus, ''if'', these ASSERTs are triggered, please open a bugreport or otherwise notify me of it (e-mail, IRC, text message, postal mail, phone call, etc.)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5649 4a71c877-e1ca-e34f-864e-861f7616d084
* win32 Makefile system:
* Compile with debug symbols and all warnings enabled on both debug ''and'' non-debug builds
* Only use -Werror-implicit-function-declaration when compiling C sources, as for C++ implicit function declarations are illegal anyway (and g++ thus doesn't like this compiler option)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5647 4a71c877-e1ca-e34f-864e-861f7616d084
* Add a forward declaration for STR_RES to strres.h (so that we can still declare pointers to this type)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5645 4a71c877-e1ca-e34f-864e-861f7616d084
* Return the STR_RES* pointer from strresCreate and use NULL to indicate failure
* Use size_t to store memory sizes in instead of UDWORD
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5644 4a71c877-e1ca-e34f-864e-861f7616d084
* Use calloc instead of a malloc followed by memset(0)
* Check the return value from malloc&calloc for ''all'' invocations of it
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5643 4a71c877-e1ca-e34f-864e-861f7616d084
* Use an unsigned int instead of UDWORD as we don't depend on the size guarantee
* Move the definition of aUsage into #ifdef DEBUG_CHECK_FOR_UNUSED_STRINGS, because that's the only place where it's used
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5630 4a71c877-e1ca-e34f-864e-861f7616d084
* Replace use of the forwarding macro TREAP_ADD with a direct call to treapAdd
* Remove treap debugging code (actually that's what the above changes effectively accomplished)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5627 4a71c877-e1ca-e34f-864e-861f7616d084
* Replace use of the forwarding macro TREAP_CREATE with a direct call to treapCreate
* Return the TREAP* pointer directly from treapCreate and use NULL as an indicator for failure
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5626 4a71c877-e1ca-e34f-864e-861f7616d084
* Change the Windows locale list to allow specifying sublanguages as well
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5598 4a71c877-e1ca-e34f-864e-861f7616d084
Because the treap management code is only used by the code for string resources, make it specific for these string resources and don't use casting back & forth from void* all over the place. This simplifies the interaction of string resource code with treap code.
This will allow an easier cleanup and eventually a removal of string resource code. As the string resource code can eventually be replaced with gettext code instead.
This closes#18
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5586 4a71c877-e1ca-e34f-864e-861f7616d084
This fixes bug #12047 (assert failure as soon as you open one of the design/manufacture/construct/research windows)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5583 4a71c877-e1ca-e34f-864e-861f7616d084
* Add a new function dbgDumpLog to dumpinfo.cpp for dumping the last debug messages
* Add a debug output callback to dumpinfo.cpp which is used to fetch the debug messages and store them in a ring buffer
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5581 4a71c877-e1ca-e34f-864e-861f7616d084
* Replace uses of strncmp, snprintf and vsnprintf with sstrcmp, ssprintf and vssprintf respectively
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5579 4a71c877-e1ca-e34f-864e-861f7616d084
* In widgSetTabs depend on functions widgGetNumTabMajor and widgGetNumTabMinor respectively instead of duplicating their code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5573 4a71c877-e1ca-e34f-864e-861f7616d084
use the texture rectangle extension to draw the radar window, which should be
supported on even the oldest OpenGL-capable hardware out there.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5562 4a71c877-e1ca-e34f-864e-861f7616d084
* Don't strdup strings retrieved from __FILE__ directives; just store const char* the pointer instead (prevents a memory leak as well)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5549 4a71c877-e1ca-e34f-864e-861f7616d084
* Declare these functions with static linkage instead.
* Update autotools buildsystem, Code::Blocks project and MSVC project, raw win32 Makefiles don't need an update
NOTE: This may require updating of buildsystems not mentioned above
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5544 4a71c877-e1ca-e34f-864e-861f7616d084
* Use a forward declaration in strres.h to declare a pointer to a TREAP instead of importing the full treap.h declarations in strres.h and thus large portions of the codebase
* Rename TREAP's forward declaration name from _treap to TREAP
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5543 4a71c877-e1ca-e34f-864e-861f7616d084
* Update build systems: autotools, raw win32 makefiles, Code::Blocks project and MSVC project
* Rename _droid and _base_object forward declaration types to DROID and BASE_OBJECT respectively
* Add two forward declarations for BASE_OBJECT and DROID to scriptfuncs.h so that it can declare pointers to these types
* src/messagedef.h depends on lib/ivis_common/ivisdef.h and src/positiondef.h so #include those
* Don't #include stuff from src/ in lib/script/chat_processing.h
* Remove all unnecessary #inlucdes from src/ from lib/script/chat_lexer.l
NOTE: Build systems not mentioned above might need updating.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5531 4a71c877-e1ca-e34f-864e-861f7616d084
had a little bug of its own, that made player 3, 5, and 7 drop instead. Fixed!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5521 4a71c877-e1ca-e34f-864e-861f7616d084
an integer value. This fixes the problem of AL_INVALID being used for
invalid values, while it is really a perfectly valid ID for a sample.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5426 4a71c877-e1ca-e34f-864e-861f7616d084
currently impossible case of the sample not being in the active list.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5425 4a71c877-e1ca-e34f-864e-861f7616d084
Clean scriptFreeCode's formating and remove unnecessary checks for ptr!=NULL before freeing.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5400 4a71c877-e1ca-e34f-864e-861f7616d084
* Flush the write end of the pipe after writing all GDB commands into it
* Process the return data (both return value and the contents of the output integer) from waitpid()
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5390 4a71c877-e1ca-e34f-864e-861f7616d084
* return as soon as an error condition is detected, thus preventing the need for deep nested if-branches.
* Add some additional comments
* Return true or false, false indicating an error, true indicating success
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5389 4a71c877-e1ca-e34f-864e-861f7616d084
* Instead compile that code on all platforms except for the given one (Mac OSX)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5385 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