* make sure to #define _GNU_SOURCE when compiling on Unix systems with Code::Blocks
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2845 4a71c877-e1ca-e34f-864e-861f7616d084
* Add a large quantity of debug() calls to game.c
* Correct some spelling errors in comments
Part of patch #853 by Buginator
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2826 4a71c877-e1ca-e34f-864e-861f7616d084
cost of even less sanity for whichever poor soul who reads this code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2816 4a71c877-e1ca-e34f-864e-861f7616d084
* Add some comments to sasprintf
* Utilize sasprintf and asprintf in src/version.c to drastically cut back in code size and duplication
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2806 4a71c877-e1ca-e34f-864e-861f7616d084
* Don't #include <unistd.h> in source:trunk/src/clparse.c as we don't need it
* Rename a debug message to use the correct function name as prefix (bitimage.c)
* Utilize snprintf instead of sprintf, at two locations
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2796 4a71c877-e1ca-e34f-864e-861f7616d084
doing unnecessary OpenGL state changes. Also make sure we turn off normalization.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2778 4a71c877-e1ca-e34f-864e-861f7616d084
(Make WZ compile with the Tiny-C-Compiler by using the correct type for storing pointers as ints)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2757 4a71c877-e1ca-e34f-864e-861f7616d084
* These functions comply to the C99 specification and return the amount of characters they would have written if no truncation occurred
Slightly modified form of patch file #3146 attached to bug #10269 by Buginator; applied the changes of this patch to wzglobal.h instead of version.c
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2742 4a71c877-e1ca-e34f-864e-861f7616d084
* Make sure to set '''global''' pointers to NULL when free()ing them
* Also set the "size" variables belonging to these pointers to zero
* Use a swap(a, b) style function for variable swapping (in PlayList_Shuffle()) rather than obfuscating code
* Make sure that PlayList_CurrentSong() and PlayList_NextSong() return "const char*" rather than "char*" to make sure no one touches memory he/she shouldn't
* Some general changes to conform with coding style (most notably: braces on a line of their own)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2712 4a71c877-e1ca-e34f-864e-861f7616d084
* Make PlayList_Read return a bool instead of char (using 'char' there was a perfect example of premature optimisation; to save memory most likely)
* Remove macro CURRENT_TRACK which expanded to playlist[current_track] (it did _not_ increase readability)
* Make sure to free resources from __all__ return paths from PlayList_Read
* Check realloc's return value
* Don't bitshift but multiply!
* Make sure to follow coding style (in PlayList_Read)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2709 4a71c877-e1ca-e34f-864e-861f7616d084
* Refactor a linked list iteration to for-loop
* In audio_StopAll() check whether psSample->psObj is marked for deletion (i.e. audio_ObjectDead(psSample->psObj) returns true); if it is, set the pointer to NULL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2683 4a71c877-e1ca-e34f-864e-861f7616d084
* Tune down the volume of the oil-pumps, power-spikes and power hums a bit, to make them less dominant (and annoying) (from patch #822 by Buginator)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2681 4a71c877-e1ca-e34f-864e-861f7616d084
would divide a vector by zero, which is bad. This closes bug #9739.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2654 4a71c877-e1ca-e34f-864e-861f7616d084
* Replace (the last) strncpy() call in nettyps.c with a strlcpy() call
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2647 4a71c877-e1ca-e34f-864e-861f7616d084
* Fix an error in src/game.c where we would use the wrong size as parameter to strlcpy()
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2640 4a71c877-e1ca-e34f-864e-861f7616d084
* Document the "fileName" parameter of makeLocaleFile in the Doxygen comment
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2639 4a71c877-e1ca-e34f-864e-861f7616d084
* Get rid of several magic numbers
* Some const correctness
* Replace a huge amount of strcpy(), strcat(), strncpy() and strncat() calls with a strlcpy() and strlcat() calls respectively
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2635 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
* Don't perform assertions on the content of uninitialized memory, it's useless and annoying when they fail
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2615 4a71c877-e1ca-e34f-864e-861f7616d084
* In this bug-report calling free() twice (once on psRes->aID then on psRes) was proposed
* Instead just ''over allocate'' the memory for psRes so that a single free() call on psRes will suffice
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2614 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove iV_Reset() call from src/levels.c which is there only to prevent a crash caused by the *OLD* font rendering code
* Make sure to initalize the font rendering module (by calling iv_TextInit()) in init.c:systemInitialize()
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2593 4a71c877-e1ca-e34f-864e-861f7616d084
unit tests. First sketch of new defined savegame format in tagfile_map.def.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2586 4a71c877-e1ca-e34f-864e-861f7616d084
- Less strict warnings in debug-mode (still unusable, because ICC warns about _a lot_)
- Explicit conversions
- Clarify parameter evaluation order
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2550 4a71c877-e1ca-e34f-864e-861f7616d084
* In function dataScriptLoad, make "printHack" a "static const" instead of a local non-const variable (emphasizes that it really is a compile-time constant; also towards the compiler btw, GCC treats a static const var as a preprocessor macro with static type checking)
* Move global variables pScrInputFiles (formerly pScrInputBuffer), scr_include_stack_ptr, scr_num_macros, scr_macro_stack_ptr, pScrMacroBuffer and scrInclLine from script_parser.y to script_lexer.l and mark them static to disallow external linkage (to make it a little bit better encapsulated and localised)
* Make function scriptCompile return a SCRIPT_CODE* pointer instead of a BOOL and writing the same pointer into an output pointer (instead upon failure it now returns NULL)
* Move some of the functionality of scriptCompile to new function scriptSetInputFile instead (which is based upon scriptSetInputBuffer)
* Modify script_lexer.l to read include files directly from the files rather than an intermediate memory buffer (by means of a modified YY_INPUT macro)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2532 4a71c877-e1ca-e34f-864e-861f7616d084
* Dump the font-face list on LOG_NEVER instead of LOG_ERROR
* Write an error to LOG_ERROR when the required font couldn't be loaded (currently hardcoded as "DejaVu Sans Mono")
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2528 4a71c877-e1ca-e34f-864e-861f7616d084
* This _will_ require you to install http://quesoglc.sourceforge.net/ on your system to be able to compile (windows binaries are provided on the sourceforge download page as well; just dump them in wz's devpackage directory for now)
* Currently the font render code is hard-coded to select two fonts: DejaVu Sans Mono regular style (aka "Book") or bold style; if you're package manager doesn't provide these fonts (Debian and derivatives have "ttf-dejavu"), you can get them from http://dejavu.sourceforge.net/
This closes#1 (https://trac.mortis.eu/warzone/ticket/1 I dumped/maintained my patch there)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2521 4a71c877-e1ca-e34f-864e-861f7616d084
* This commit removes utf8.[ch] from all build systems (manual text-editing for the most of them)
* For the removal from the XCode project I just reverted r2288
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2477 4a71c877-e1ca-e34f-864e-861f7616d084
- adding *.tab.c to BUILD_SOURCES and CLEANFILES before *.tab.h in applicable Makefile.am files causes *.tab.c to be the file that triggers the %.tab.h %.tab.c: %.y rule, resulting in the command run being "bison -y -d -o[...].tab.c [...].y", not "bison -y -d -o[...].tab.h [...].y", which (aside from being correct syntax Wink ) stops "warning: conflicting outputs to file `[...].tab.h'"
- chat_parser.y had %token _T_A declared twice, second instance removed
- audp_parser.y had trailing | signs (presumably from when NULL wasn't commented out)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2426 4a71c877-e1ca-e34f-864e-861f7616d084
- Use WZ_CC_GNU_PREREQ (copied from glibc's features.h) instead of custom code
- Move platform.h into wzglobal.h
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2424 4a71c877-e1ca-e34f-864e-861f7616d084
* Add an explanation about floats (that they're basically the same as 32bit integers as far as endianness conversions are concerned)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2379 4a71c877-e1ca-e34f-864e-861f7616d084
* Don't write directly from the memory of the EFFECTs (since this memory doesn't always have the same size on 32vs64bit systems)
* Guarantee to always write the IMD's hash number as if it's a uint32_t (this fixes 64bit compatibility of these functions)
* Add functions openLoadFile and openSaveFile which perform the file opening for loadFile2 and saveFile and now readFXData and writeFXData as well
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2378 4a71c877-e1ca-e34f-864e-861f7616d084
* Turn macro ALLOC_VARIDENTDECL partially into a static inline function
* Remove -Wno-nonnull since this warning shouldn't appear anymore now
Patch by pseudonym404 with some changes by me ( http://forums.wz2100.net/index.php?topic=148.msg7723#msg7723 )
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2377 4a71c877-e1ca-e34f-864e-861f7616d084
* Modify them slighly to use get/set functions for the package direction (instead of a global accessable to all files which forward declare it)
* Add a NETfloat to the set of primitives
* Modify NETstring to use strnlen1 instead of strnlen which is a GNU extension to the C library (strnlen1 has been copied from gettext 0.16.1 which is GPLv2+)
NB: rerun your buildsystems
NB2: Xcode requires an update
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2358 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove unused functions pie_SetFormattedTextFlags and pie_GetFormattedTextFlags
* Move constants PIE_TEXT_WHITE_COLOUR, PIE_TEXT_LIGHTBLUE_COLOUR and PIE_TEXT_DARKBLUE_COLOUR from header file to implementation file
* Remove global var FFlags which only ever had one value (FTEXT_SKIP_TRAILING_SPACES)
* Remove global var ExtentsMode which only ever had one value (EXTENTS_USEMAXWIDTH) and remove all if-statements which never matched (remove the conditional part from the parts that always matched)
* Remove #ifdef _TESTBED code since _TESTBED is never defined (not in commented out code either)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2346 4a71c877-e1ca-e34f-864e-861f7616d084
* replace all usages of iV_DrawText270(...) with iV_DrawTextRotated(..., 270.f) and get rid of MACRO iV_DrawText270
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2333 4a71c877-e1ca-e34f-864e-861f7616d084
* add function iV_DrawTextRotated which uses glTranslatef and glRotatef to change (i.e. rotate) the result of iV_DrawText which it also calls; the translation matrix is later reset using glLoadIdentity() (no pushing&popping of the matrix)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2330 4a71c877-e1ca-e34f-864e-861f7616d084
Makes doubleclick state a condition for mousePressed, so that widget
can recognize the 'down' state in a double click state correctly.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2325 4a71c877-e1ca-e34f-864e-861f7616d084
* add some comments
* actually parse newline characters (ASCII_NEWLINE to be precise which is defined as '@' right now, we might want to change this)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2315 4a71c877-e1ca-e34f-864e-861f7616d084
* remove "BOOL AddLeadingSpaces" and all code relying on it to be true, since it never would be true
* turn a while-loop into a for-loop (reduces duplicated code slightly, and increases its readability)
* merge two nested if's: if (a) { if (b); } => if (a && b)
NOTE: there should be no behavioural changes
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2314 4a71c877-e1ca-e34f-864e-861f7616d084
* remove character wrapping code from pie_DrawText (word wrapping code already exists in the only function that ever calls pie_DrawText, so why would we need character wrapping?)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2312 4a71c877-e1ca-e34f-864e-861f7616d084
This is because I got fed up by mixed indentation style (even on the same line!!), and some dozen of different styles sometimes even in the same function (and I don't want to waste my time on style)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2311 4a71c877-e1ca-e34f-864e-861f7616d084
* fix error in code cutting off trailing spaces where we would cut of everything until a space instead! (oops)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2310 4a71c877-e1ca-e34f-864e-861f7616d084
* put curly braces on a line of their own
* general clean up (e.g. moving some variables in a more local scope, giving some more sensible names, etc.)
NOTE: there should be _no_ behavioural changes
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2309 4a71c877-e1ca-e34f-864e-861f7616d084