* 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
* Fix macro ASSERT_START_OCTET (I used a logical and there instead of logical or)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2296 4a71c877-e1ca-e34f-864e-861f7616d084
* Don't use a hundred and two different methods of determining the end of nul terminated string
* Use pointers into the string rather than integers as "iterators"
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2291 4a71c877-e1ca-e34f-864e-861f7616d084
* function was declared unsigned int, but defined as int; now it's unsigned int in both
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2289 4a71c877-e1ca-e34f-864e-861f7616d084
* Define iV_GetTextWidth in terms of iV_GetCharWidth now (rather than copy&paste implementations)
* iV_GetTextWidth now also returns an unsigned int
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2287 4a71c877-e1ca-e34f-864e-861f7616d084
* This way it should be easy to change the type of utf_32_char if ever needed (currently it is uint_fast32_t)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2284 4a71c877-e1ca-e34f-864e-861f7616d084
* Add files lib/framework/utf8.[ch] to autoconf/automake, raw makefiles, Code::Blocks and MSVC
NOTE: this may require updating of some additionaly buildsystems (e.g. OSX)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2281 4a71c877-e1ca-e34f-864e-861f7616d084
Any fixes, if necessary, should be applied on loading.
In the image code (IMAGEDEF) this did not work, so OLD_TEXTURE_SIZE_FIX is applied during rendering.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2258 4a71c877-e1ca-e34f-864e-861f7616d084
* autoconf/automake buildsystem
* raw makefiles
* Code::Blocks project file
* lib/netplay/nettypes.[ch]:
* set svn:eol-style and svn:mime-type
* add a GPL header to the file
* add include guards to the header file (nettypes.h)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2245 4a71c877-e1ca-e34f-864e-861f7616d084
This patch fixes the following tempting features: ;)
1. Doubleclick to select all droids of the same template.
2. Doubleclick construct droid to open up build menu.
3. Double pressing numeric keys '1,2,3,4,5,6,7,8,9' to center view/align camera to the group 1-9 you assigned.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2242 4a71c877-e1ca-e34f-864e-861f7616d084
Also add some fallback in case server sends us a bad player number.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2160 4a71c877-e1ca-e34f-864e-861f7616d084
the most network bandwidth. Look in in the netplay.log file for this info.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2113 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove a dual check of psTrack == NULL in sound_Play2DTrack (is already tested by invoked function sound_CheckTrack)
* sound_GetTrackID now won't loop through a list of 600 pointers to find a match anymore if the given pointer is NULL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2102 4a71c877-e1ca-e34f-864e-861f7616d084
* Add some additional info about which track is being asked about into the assert
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2095 4a71c877-e1ca-e34f-864e-861f7616d084
* Move a large portion of code from audio_SetTrackVals into sound_SetTrackVals (audio_SetTrackVals only checks whether sound is enabled now, the rest of the job is entirely delegated to sound_SetTrackVals)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2084 4a71c877-e1ca-e34f-864e-861f7616d084
* in sound_GetAvailableID start looking for available IDs starting from ID_SOUND_NEXT, not zero (0) as that might cause ID collisions when used in conjunction with the hardcoded IDs in audio_id.*
* Make ID_SOUND_MAX be equal to the highest ID number (of the ID set defined in audio_id.*) rather than one more (since this is what "max" suggests: the highest number, not one more than the highest number)
* ID_SOUND_NEXT is now one higher than the highest ID number and can be/is used where one higher is required
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2082 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove parameter `SDWORD iMaxSameSamples` from sound_Init who's value was only used to set g_iMaxSameSamples
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2081 4a71c877-e1ca-e34f-864e-861f7616d084
* Fix two typos of wrong filenames (these two are not case mismatches) in audio_id.c (one used a ',' instead of '.' and used wav as extension, the other missed a '-')
* Don't use case insensitive matching of filenames in audio_GetIDFromStr anymore as our filesystems aren't guaranteed to be case insensitive (this should cause no problems together with the above fixes)
* Use calloc instead of malloc and a for-loop to allocate an array of NULL pointers in sound_Init
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2076 4a71c877-e1ca-e34f-864e-861f7616d084
- pie_MAX_POLYS became pie_MAX_POLYGONS.
- pie_MAX_POLY_VERTS became pie_MAX_VERTICES_PER_POLYGON and was decreased to 6 from 10. This _should_ work everywhere, I didn't see glitches. Grim recommended to even reduce it to 4, but the terrain renderer didn't like that. (When you pitched down the camera too much, the left screen side of the terrain disappeared.)
- iV_IMD_MAX_POINTS, iV_IMD_MAX_POLYS now are defined to the pie_ variants.
- scrPoints was moved into the scope of the only using function, pie_Draw3DShape2.
- aByteScale was never used, so it got removed.
- Some counters were changed from signed to unsigned.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2054 4a71c877-e1ca-e34f-864e-861f7616d084
Previously those displayed images instead of the appropriate letters.
This still doesn't allow for UTF-8 strings (since multi-byte characters are not handled), but it should work with ISO8859-X encodings.
Patch by Martin Koller.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2053 4a71c877-e1ca-e34f-864e-861f7616d084
* Put curly braces on a line of their own
* Use INT16_MAX and INT16_MIN instead of magic numbers
* Make some global vars statically linked and const (since they're constants for the adpcm audio codec only)
* Make some functions in rpl_reader statically linked (they're only used in that file)
* Add include file dec130.h instead of forward declaring functions in source files
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2036 4a71c877-e1ca-e34f-864e-861f7616d084
* Change an assert(FALSE) into a more descriptively styled: !"text string"
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2030 4a71c877-e1ca-e34f-864e-861f7616d084
Reuse FILE_LOAD_BUFFER_SIZE macro, which was abandoned before. (That's also why fileLoadBuffer is now defined in src/init.c, even though the place is probably inappropriate.)
Make fileLoadBuffer static instead of malloced.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1992 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove global var g_i3DVolume and audio_Set3DVolume which would set its value since g_i3DVolume was never ever read (well audio_Get3DVolume read it, but this function never got called)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1976 4a71c877-e1ca-e34f-864e-861f7616d084
mixer_GetCDVolume to sound_GetMusicVolume
mixer_SetCDVolume to sound_SetMusicVolume
mixer_GetWavVolume to sound_GetUIVolume
mixer_SetWavVolume to sound_SetUIVolume
mixer_Get3dWavVolume to sound_GetEffectsVolume
mixer_Set3dWavVolume to sound_SetEffectsVolume
* Make the above functions use floats instead of SDWORD (int32_t) and use a range of 0.0 - 1.0 instead of 0 - 100
* Remove global var g_iGlobalVol which was only used by one function and wasn't reused in multiple calls, now use a local function var instead: float originalVolume
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1972 4a71c877-e1ca-e34f-864e-861f7616d084
- Add some debug output (which will never get shown, since we setup the crashhandler before the debughandler).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1968 4a71c877-e1ca-e34f-864e-861f7616d084
* remove global var g_bStopAll which seems to function as some kind of crude (and non-functional) mutex lock (while Warzone doesn't even uses threads!)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1961 4a71c877-e1ca-e34f-864e-861f7616d084
* Adapt all code that depends on display3D by either removing if (!display3D){} code or removing the conditional around if(display3D){}
* remove now useless function audio_Display3D (returned display3D) and now unused function audio_Get2DPlayerPos
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1958 4a71c877-e1ca-e34f-864e-861f7616d084
* Change the array iteration code such that it is a bit easier to read
* remove audio_CheckAllUnloaded() which only forwarded to sound_CheckAllUnloaded()
* Add some comments
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1910 4a71c877-e1ca-e34f-864e-861f7616d084
- Reorder debug=yes CFLAGS so the -Wno- flags are at the end
- Make skybox float-uv aware
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1890 4a71c877-e1ca-e34f-864e-861f7616d084
- Teach for to pieblitfunc
- sed DrawTransImage to DrawImage (they were defined this way before anyway) and remove an unnecessary parameter
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1875 4a71c877-e1ca-e34f-864e-861f7616d084
* r1866 removed piefunc.c from raw Makefiles instead of rendfunc.c: fixed
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1868 4a71c877-e1ca-e34f-864e-861f7616d084
* Mark some global pointers/vars for static linkage (the less global, and more local they are, the better!)
* Add include guards to some files
* Some code cleanup: braces on their own line
* loadFile2 now doesn't free memory it didn't allocate itself anymore
* Use decent assertion expressions for some asserts (e.g. !"string", so that debuggers actually display something more interesting than 'FALSE')
* Don't assert(pointed_to_data != 0xdddddddd) since that method of detecting usage of dangling pointers only works with MSVC, while MSVC's free() probably (i.e. if it is sane) implementation does this check itself already
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1855 4a71c877-e1ca-e34f-864e-861f7616d084
* Use "%zu" as format specifier to print out size_t types
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1833 4a71c877-e1ca-e34f-864e-861f7616d084
* This conditional compilation is controlled by WZ_NOSOUND (which replaces WZ_NOOGG)
* Remove an unneed inclusion from oggvorbis.h (track.h)
NOTE: This is currently integrated in none of the build systems
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1832 4a71c877-e1ca-e34f-864e-861f7616d084
* Create a dedicated function for conversion of ASCII characters into upper case: upcaseASCII
* Make HashStringIgnoreCase use upcaseASCII instead of an ugly bitmask hack which won't even work as expected on all strings!!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1830 4a71c877-e1ca-e34f-864e-861f7616d084
* To make sure we still have the guarantee that a char is 8bit I've inserted a static assertion for this (CHAR_BIT == 8)
* Use exact length types for lobbyserver
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1821 4a71c877-e1ca-e34f-864e-861f7616d084
That is:
* Don't use a custom memory heap implementation anymore
* Remove all usages of HEAP code and replace it with malloc/free
NOTE: MacOSX projectfile probably requires an update
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1820 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
* intdisplay.c now uses the widget interface to set tooltips on its widgets (which is the const-correct way, and better localizes memory management code; i.e. strdup() would be the dirty-hack style alternative)
* Change mixed space/tab indentation into tab indentation (only for one function though)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1812 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@1810 4a71c877-e1ca-e34f-864e-861f7616d084
That is:
* Don't use a custom memory heap implementation anymore
* Remove all usages of HEAP code for string allocation (wasn't being used anyway due to conditional compilation)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1805 4a71c877-e1ca-e34f-864e-861f7616d084
That is:
* Don't use a custom memory heap implementation anymore
* Use malloc & free for memory management
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1804 4a71c877-e1ca-e34f-864e-861f7616d084
(The error state simply wasn't cleared before calling a function that could produce an error)
Patch by vs2k5
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1803 4a71c877-e1ca-e34f-864e-861f7616d084
* make integers unsigned at places where we never, ever use signed values for their values
* move some variables into a more local scope (i.e. the only scope where they're used)
* turn some mixed tab/spaces indentation usage into tabs-only
* remove unused (and commented out) conditional compilation macro USE_DIRECTPLAY_PROTOCOL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1798 4a71c877-e1ca-e34f-864e-861f7616d084
- POINT -> Vector2i
- changed internalformat = getPixelFormat() to GL_RGBA in one place
- removed unused variables/functions
- proper intialisation
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1792 4a71c877-e1ca-e34f-864e-861f7616d084
Also rename "count" to "i", since it really only is a loop iterator.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1769 4a71c877-e1ca-e34f-864e-861f7616d084
- Tune lighting and enable by default (This doesn't seem to affect the terrain)
- Declaration updates (Trolltech says that attributes need to go after the "static inline", the GCC manual is a bit unspecific about this)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1744 4a71c877-e1ca-e34f-864e-861f7616d084
* previously this indicated the size of soundDataBuffer + soundDataBuffer.data instead (which was wrong)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1743 4a71c877-e1ca-e34f-864e-861f7616d084
* Use tabulated code indentation for oggvorbis.[ch]
* Move curPos and fileSize into a more localized scope
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1741 4a71c877-e1ca-e34f-864e-861f7616d084
* Simply return the value we need (instead of using a pointer)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1721 4a71c877-e1ca-e34f-864e-861f7616d084
* make definitions of IMAGEHEADER and IMAGEDEF safe for loading on systems with different sizes for datatypes
* Allocate IMAGEDEF in a function of its own: iV_AllocImageFile (uses only one malloc call so we don't need to go and toy with lots free() calls on failure)
* Use PHYSFS_read* functions for endian correctness (rather than the endian_*word stuff)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1719 4a71c877-e1ca-e34f-864e-861f7616d084
* Drop now unnecessary extern "C" declaration, since C++'s function overloading shouldn't cause problems now
* Add "struct" keyword in front of all declarations of `struct OggVorbisDecoderState` or pointers to it
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1698 4a71c877-e1ca-e34f-864e-861f7616d084
* Make sure function overloading by a C++ compiler doesn't cause linker errors by declaring affected functions extern "C"
Patch by Christian Ohm (in message <20070523201048.GF3778@localdomain>);
* applied changes to lib/ivis_common/imdload.c
* brought linker errors to light caused by function overloading
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1695 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove some forward declarations of deprecated, unused and undefined functions
* Remove some unused functions which only said: "return TRUE;"
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1692 4a71c877-e1ca-e34f-864e-861f7616d084
It should even render them as floats. I wasn't able to see a difference after modifying some PIE files, though.
This patch is heavily inspired by Watermelon's work. (Namely piefloat.patch)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1681 4a71c877-e1ca-e34f-864e-861f7616d084
+Sint32 pie_RotateProject(Vector3i *v3d, Vector2i *v2d)
This removes the necessity of the wrapper pie_RotProj.
- Also changed a few "Vector3i null" to "zero" for less confusion.
- And removed an unused variable that hid behind an assignment.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1674 4a71c877-e1ca-e34f-864e-861f7616d084
NOTE: MSVC users don't get scared since SDL defines the C99 types for MSVC
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1671 4a71c877-e1ca-e34f-864e-861f7616d084
where the y and z parameters were not switched, as they should be.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1670 4a71c877-e1ca-e34f-864e-861f7616d084
r1638. Exception handler still removed if WZ_OS_MAC is set.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1640 4a71c877-e1ca-e34f-864e-861f7616d084
- WZ_OS_MAC && DEBUG implies --debug all so that Console.app can be used
to view debugging output on debug builds when launching from Finder
- DEBUG flag re-added to Debug builds in Xcode project; was removed
accidentally at some point
- WZ_OS_MAC no longer implies WZ_OS_UNIX; handled separately where
necessary
- Do not use Warzone's crash handler since Mac OS X provides a good
crash reporter already that just saves the crash log, with lots of
useful information, to ~/Library/Logs/CrashReporter/Warzone.crash.log
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1635 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove parameter `BOOL async` of NETfindGame since it wasn't used
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1628 4a71c877-e1ca-e34f-864e-861f7616d084
(This function was only used to generate a hash from the compiled Warzone executable, this hash was then used as a security value across the network. This method won't work when using different compilers, OSes, etc.)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1624 4a71c877-e1ca-e34f-864e-861f7616d084
- Move wzFPSmanager over to main.c, so the delay can be dealt with directly in the mainloop instead of the detour through frameUpdate
- Adding the functions directly to main.c is probably not the wisest idea, but may be fixed later
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1623 4a71c877-e1ca-e34f-864e-861f7616d084
- Split the mainloop into several (run) subfunctions
- start/stop functions for (de)initialization. This replaces the !Restart part
- removed necessity of several variables
- This is the last step before the event based mainloop
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1622 4a71c877-e1ca-e34f-864e-861f7616d084
* When receiving an SDL_ACTIVEEVENT also check for SDL_APPMOUSEFOCUS, but don't loose focus because of it, only gain focus when receiving this
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1605 4a71c877-e1ca-e34f-864e-861f7616d084
defined in <sys/signal.h> for _POSIX_C_SOURCE or _ANSI_SOURCE.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1599 4a71c877-e1ca-e34f-864e-861f7616d084
- increase total number of scripts object variables to handle larger AI scripts
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1585 4a71c877-e1ca-e34f-864e-861f7616d084
- Removed a 20ms delay from the mainloop
- Added ASSERT_STATIC macro to check assumptions on compiletime
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1582 4a71c877-e1ca-e34f-864e-861f7616d084
- Renamed pie_PNGLoadFile, because I got confused about pie_ vs. iV_ when working on my terrain stuff, and did not fix it when backporting to trunk
- iTexture (now aka iV_Image, s.a.) is given a depth field to enable support for different number of channels. This is required to support RGB only textures (without adding a useless alpha channel) and eg. for greyscale images like heightmaps
- Simplyfied iV_loadImage_PNG (formerly known as pie_PNGLoadFile, s.a.) and also removed lots of seemingly unnecessary conversions
- Converted page-8 from paletted to RGB for simplification. This multiplied the size by about 3x (still < 100kB)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1580 4a71c877-e1ca-e34f-864e-861f7616d084
apparently we need a glDisable(GL_TEXTURE_2D) call at some times, or do nothing at other times, this is determined by pie_SetTexturePage by use of some global state, and the texture index, in other words pie_SetTexturePage to me seems like a dirty hack, but we need it for the moment
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1579 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove the ability to decode into a specified buffer from sound_DecodeOggVorbis altogether, we now only use a buffer we malloc'ed ourselves
* this might be slightly slower for streaming (depending on the malloc implementation), but can be easily optimized away by just increasing the buffer size (which IMO is a better optimization, because it's _a_lot_ simpler)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1573 4a71c877-e1ca-e34f-864e-861f7616d084
* instead we now just calculate the precise amount of memory needed ahead of time and just malloc for decoding of each track (decoding only occurs while loading so these extra malloc calls shouldn't go at the expense of performance)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1572 4a71c877-e1ca-e34f-864e-861f7616d084
* did _not_ add copyright statement for "Eidos" to new files since Eidos never wrote anything about this OpenAL/OggVorbis code (if anyone thinks I'm wrong in doing this, please say so on the mailinglist)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1566 4a71c877-e1ca-e34f-864e-861f7616d084
* use plain data types where appropriate
* move the decision for streaming to a parameter of the decoder function (less tight coupling of client to internal decoder callbacks)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1565 4a71c877-e1ca-e34f-864e-861f7616d084
- Vector2f type which will be needed for texture coordinates
- Output adjustment for pie_AddTexPage
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1550 4a71c877-e1ca-e34f-864e-861f7616d084
- Remove unecessary copying and code duplication from drawTerrainTiles
- Remove more BSP and unused code
- pie_Pagename -> pie_MakeTexPageName
- pie_AddBMPToTexPages -> pie_AddTexPage
- Whitespace and formating
- Fix hardcoded SKY_TEXPAGE id, which depends on the loading order in the wrf file. Changed to string (filename).
- iTexPage.textPage3dfx -> iTexPage.id
- Prevent unecessary texpage switching in pie_DrawTexTriangle
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1548 4a71c877-e1ca-e34f-864e-861f7616d084
unused NOTEXTURE directive. I believe the NOTEXTURE effect can be achieved
simply by not specifying a texture instead in more recent IMD versions.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1545 4a71c877-e1ca-e34f-864e-861f7616d084
more. Remove unused GetLastHashName() and SetLastHashName().
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1544 4a71c877-e1ca-e34f-864e-861f7616d084
- Make trigonometry tables static and remove usage of FRACT macros (trig.c)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1542 4a71c877-e1ca-e34f-864e-861f7616d084
* Turn some implicit conversions of void* to something* into an explicit cast
* remove some redundant commented out code
* refactor some error checking code ( was: if (!error) normal exec path; else deal with error; now is: if (error) deal with error; normal exec path )
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1534 4a71c877-e1ca-e34f-864e-861f7616d084
the #define BSPIMD line in lib/ivis_common/ivisdef.h header.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1529 4a71c877-e1ca-e34f-864e-861f7616d084
1. Fixed a bug (I made some parenthesis order mistakes, near predictX and predictY, which might corrupt predictX, predictY)
2. Fixed a value corruption when predictX or predictY becomes negative, since proj_SendProjectile only expects UDWORD (now set them to 0 when they become negative, so the turret wont try to fire projectiles to some off-map coords)
3. Fixed zero height building bug (invincible rearm pads) when an imd's ymin is equal to ymax...
lib/ivis_opengl/screen.c: \param channels
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1524 4a71c877-e1ca-e34f-864e-861f7616d084
allocated on the stack instead of the heap, which usually is a lot faster => stack alloc = O(1), heap (malloc=heap allocater) usually O(n) or O(log n)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1522 4a71c877-e1ca-e34f-864e-861f7616d084
- Show hostname:port on connection errors
- Make gameserver and masterserver port configurable (as well as the masterserver name)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1512 4a71c877-e1ca-e34f-864e-861f7616d084
- Be safer with stringlengths
- Create "page-123" texpages in pie_Pagename(). This code is needed since WZ might have loaded a different variant of a texpage (-urban,-arizona,...) and thus can only find it by the common "page-123" part
- Output filename on errors in in PNG loading
- Be a little bit less forgiving for wrong case
- Convert all TEXTURE references in PIE files to lowercase and replace 'fx`s' with 'fx', also replace 'urban area' and 'bases urban' with just 'urban' to keep consistency
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1505 4a71c877-e1ca-e34f-864e-861f7616d084
* (r1502 had a NULL pointer to many passed in the argumentlist)
thanks to vs2k5 for this fix (sorry couldn't find any other name anywhere on the mailinglist than your email userid)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1503 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove some dead (commented out) & dirty code from multiint.c which used JPEG code (image_load_from_jpg)
* Remove dead (commented out) code from screen.c which used JPEG code (function static GLuint image_create_texture)
* Remove unused backdrop types from pieblitfunc.[ch]
* Convert last JPEG files into PNG, add a "comment" property on those: "All of these are converted from JPEG files, so this is JPEG quality."
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1490 4a71c877-e1ca-e34f-864e-861f7616d084
* change pie_ReloadTexPage to use files instead of memory buffers as well
* change data.c's resource handler mappings to now load some more fileformats directly from file (all that directly or indirectly used to depend upon pie_PNGLoadMem)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1483 4a71c877-e1ca-e34f-864e-861f7616d084
* do the same with pie_ReloadTexPage which calls pie_PNGLoadMem
* char* -> const char* in tex.c
* fix a syntax error from r1481
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1482 4a71c877-e1ca-e34f-864e-861f7616d084
* dump less information in the debug log if the assert is triggered (just "integer overflow; no more filenumbers available.")
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1481 4a71c877-e1ca-e34f-864e-861f7616d084
* make screen dumping code (screen shotstuff) more readable and friendly to edit (behaviour should be unchanged)
* change screenDumpToDisk:
* now returns void (rather than the target file name of the screen shot) since its only callee (a keymap callback) ignored the return value
* use snprintf now instead of sprintf (to prevent buffer overflows)
* add code to detect integer overflows (maybe we should just abort() on this condition?)
* remove an empty and commented out function (screenTextOut)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1480 4a71c877-e1ca-e34f-864e-861f7616d084
* remove goto, placed the "goto"-code in an inline function instead
* make pie_PNGLoadMem const correct (i.e. take a buffer we don't write to as const char*)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1477 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
* AUDIO_SAMPLE
* remove unused variable iLoops from the struct
* rename bRemove to the more descriptive title of bFinishedPlaying
* change sound_SetupChannel to return a BOOL rather than be return void and throw its output value in a pointer
* make audio_Update() return void (instead of BOOL) since its output value was TRUE always anyway, plus all its callees ignored the output value
* increase readability of lots of functions in audio.c
* remove unused (and nothing doing) functions: audio_StopTrack, audio_SetTrackPan, audio_SetTrackVol and audio_SetTrackFreq
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1444 4a71c877-e1ca-e34f-864e-861f7616d084
* remove ptrlist.c from lib/gamelib/Makefile.raw
* some modifications of char* -> const char*
* modify typedef of audio callback function to take a parameter of `void *psObj` rather than `AUDIO_SAMPLE *psSample` to minimize exposure (psSample->psObj was the only thing used by all callback functions anyway)
* modify all callback functions to match the new typedef's signature
* modify all functions calling callbacks to match the new signature (I think I've got them all, but since passing a pointer to a void* parameter doesn't generate any compiler errors/warnings I might have missed one, which would lead to undefined behaviour)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1442 4a71c877-e1ca-e34f-864e-861f7616d084
The texture file in PIE files can now be up to MAX_PATH chars long.
- Find the reason for WZ discarding everything after the number in "page-123" styled texture references.
This led to the problem with Grim's mod referencing the skybox texture instead of his own wall texture.
- Beautify some code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1438 4a71c877-e1ca-e34f-864e-861f7616d084
- Remove "-%token <sval> TEXT" from audp_parser.y since it clashed with declarations in MinGW's Windows headers. It does still compile and run, but this may have harmed something anyway. Please check!
- Hack around DATADIR being defined by objbase.h in MinGW by undefining it before the inclusion of shlobj.h (incl. in main.c) This only works since the case that DATADIR is actually used on Windows is extremely rare.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1437 4a71c877-e1ca-e34f-864e-861f7616d084
* since gettext_noop is always defined, remove the conditional definition of N_ which checks whether it is or is not defined
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1420 4a71c877-e1ca-e34f-864e-861f7616d084
_GNU_SOURCE can take effect first, to silence stpcpy() warnings from
bison generated code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1416 4a71c877-e1ca-e34f-864e-861f7616d084
* use it in src/droid.c
* throw some hardcoded strings (in a switch statement) in an array of strings instead (using N_ there as well)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1414 4a71c877-e1ca-e34f-864e-861f7616d084
* use proper constness:
* make some functions take arguments of `const char*` rather than just `char*` (also modified some functions' return values to return `const char*` where appropiate)
* modify rank retrieval functions to use a central array instead; currently ranklimits (i.e. the amount of kills required to promote) is hardcoded in switch statements, as is the case with the names of those ranks
* `make -C po update-po`
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1409 4a71c877-e1ca-e34f-864e-861f7616d084
- Add -Wno-nonnull to debug=strict to make it compile (Remove it from AM_CFLAGS)
- Remove -Wno-unused-label as this warning is not generated anymore
- Fix a "... from incompatible pointer type" warning which led to a lot of strings (and associated functions) in the widget area becoming const
- Maybe found the reason for images in UTF-8 strings
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1405 4a71c877-e1ca-e34f-864e-861f7616d084
* move construction (allocation and initialization) of struct TRACK to openal_track.c where it is also decoded
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1401 4a71c877-e1ca-e34f-864e-861f7616d084
* resource types ANI and ANIMCFG are now read directly from file
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1400 4a71c877-e1ca-e34f-864e-861f7616d084
* change audp_parser/lexer to be able to read directly from a file (through PHYSFS)
* change data.c's mapping for "AUDIOCFG" to use the parsing directly from file
* rename dataAudioLoadFile to dataAudioLoad
* add a second list with load function mappings to audio.c for load from file mappings
* add a second piece of iteration code for the file mapping list
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1398 4a71c877-e1ca-e34f-864e-861f7616d084
* turn a one-statement function into an inline (resDoResLoadCallback)
* revive resource loading from file (the function pointer for this was removed in r1394, to actually use this pointer new code had to be written)
* modify resDataInit to handle memory allocation as well as data initialization
* modify struct RES_DATA to not have a fixed size char array to contain the filename (is now dynamically allocated together with the rest of the struct, see resDataInit)
* modify some argument lists to take `const char*` instead of `char*`
* change resLoadFile to use RES_TYPE.fileLoad if available, also remove an unused if statement (well actually the condition could never be false)
* resource type "WAV" (see data.c) now directly loads from a file (rather than copying the file entirely into memory and then to operate on that)
* fix sound_ConstructTrack (track.c) where I used the wrong source to copy the filename from
* fix sound_LoadTrackFromBuffer (track.c) to *not* add the track to the tracklist because this breaks other code
* modify sound_ReleaseTrack (track.c) to gracefully deal with NULL pointers
* remove dataAudioRelease (data.c) and instead just use sound_ReleaseTrack
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1397 4a71c877-e1ca-e34f-864e-861f7616d084
* Change some calls to FREE(TRACK*) to free(TRACK*), because TRACK is always allocated using malloc
* Change only one instance of MALLOC and only other instance of FREE in lib/sound/track.c to malloc and free respectively
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1396 4a71c877-e1ca-e34f-864e-861f7616d084
* remove wrapping function audio_LoadTrackFromFile from lib/sound/audio.c
* move similar code in sound_LoadTrackFromBuffer and sound_LoadTrackFromFile to a static inline: sound_ConstructTrack (lib/sound/track.c)
* this code also allocates memory for a TRACK and a string using one malloc call, this to make one free call sufficient for cleaning those up (they should _always_ be free'd together anyway, which previously was *not* always the case: memleaks)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1395 4a71c877-e1ca-e34f-864e-861f7616d084
* remove function resAddFileLoad from lib/framework/frameresource.[ch] which was used to set RES_TYPE.fileLoad
* remove only call to resAddFileLoad from src/data.c, function dataInitLoadFuncs
* remove now completely unused function dataSaveGameLoad from src/data.c
* modify function dataInitLoadFuncs in src/data.c:
* modify the struct definition for the list of resource types
* modify the list accordingly
* remove the NULL-item from the end of the list
* modify list iteration code to use a start and end iterator (end being a pointer just past the last valid list-item, begin being the first valid one)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1394 4a71c877-e1ca-e34f-864e-861f7616d084
-simple data types are lowercase on default
-casts using uppercase still allowed for compatibility with campaign scripts
-updated scripting manual accordingly
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1391 4a71c877-e1ca-e34f-864e-861f7616d084
variables. 4. Commented out some unused sound code.
I just love Valgrind :)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1390 4a71c877-e1ca-e34f-864e-861f7616d084
* (probably caused because I was editing this file when r1377 was committed which probably was merged wrongly with my changes)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1379 4a71c877-e1ca-e34f-864e-861f7616d084
* remove an unused variable from lib/ivis_opengl/piemode.c
* some code refactoring to increase readability, change if branches that handle error conditions to the folowing style:
if (error)
{
deal with the error;
return something (usually false or 0);
}
continue with normal execution path;
* previously was something like: if(not error) {normal execution path;} else {deal with error;}; the above way groups error detection and handling which is more easily readable/understandable
* wrap some if branches from r1374 with curly braces according to Per's advice on the dev mailinglist
* completely get rid of iPriority from struct TRACK (also stripped it out of functions' argumentlists) since the only code that seemed to use it is the removed priority queue implementation
PS someone might want to look at lib/gamelib/audp_parser.y to finalize the modification to audio_SetTrackVals there, I'm not sure whether it will break any code/script if I would simply remove values from the parameter list, so I'm leaving it as is for this moment
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1378 4a71c877-e1ca-e34f-864e-861f7616d084
* remove some unnecessary else branches in audio_SetTrackVals (the if respective if branches really only where error handlers which caused the function to return anyway)
* rename some things in audio_id.c to a more explaining name (i.e. the struct and its members)
* fix some serious abuse of tabs ('\t') in audio_id.c, while the file looks partially good with a tabsize of 4, it looks awful with a tabsize of 8
PS audio_id.c's sole duty seems to be to map sound events to audio files, for the sake of moddability I think we ought to move this out of sources and into scripts.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1372 4a71c877-e1ca-e34f-864e-861f7616d084
Remove all callers (which all were commented out)
The 'real' font implementation used lives in ivis_
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1357 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
* also allow this to be disabled on a per file basis (this code is basically taken from the sound branch: lib/sound/decoding.cpp)
* some minor code cleanups (using a temporary to cast into, rather than casting directly into a function call's parameters, optimizer will optimize this away anyhow)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1345 4a71c877-e1ca-e34f-864e-861f7616d084
The MSVC poject will need to be updated I guess, as some files were deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1343 4a71c877-e1ca-e34f-864e-861f7616d084
- Remove unneeded checks from autogen.sh (all of them are also checked in configure.ac)
- Move AM_CPPFLAGS=-$(top_srcdir), which was included in nearly every Makefile, to configure.ac
- Remove -g from CFLAGS for usual builds. This should be set by the buildscripts instead
- Remove CFLAGS_OVERRIDE, which was rendered obsolete by the above change
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1332 4a71c877-e1ca-e34f-864e-861f7616d084
-fixed local string variables now being cleared between function calls
-implemented a setBit() scripting function to work with bitfields
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1318 4a71c877-e1ca-e34f-864e-861f7616d084
the terrain and other objects. (it was the other way around)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1304 4a71c877-e1ca-e34f-864e-861f7616d084
is no longer cleared each frame, but care is taken do draw on the entire screen so that no smearing takes place. This patch gives me about +30 fps.
(from 45 to 75)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1302 4a71c877-e1ca-e34f-864e-861f7616d084
- Do not modify CFLAGS inside automake Makefiles
- Add NEWS and INSTALL to comply with GNU standards
- Use aclocal's include functionality instead of acinclude.m4
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1296 4a71c877-e1ca-e34f-864e-861f7616d084
only compress the texure pages, and not backdrops and other textures. This this should give a framerate increase of 5-10 fps on fillrate limited
systems (cpu usage < 100%).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1289 4a71c877-e1ca-e34f-864e-861f7616d084
* further remove audio_GetIDFromStr from src/aud.c and rename audioID_GetIDFromStr (from audio_id.c) to audio_GetIDFromStr
* also changed calling method of audio_GetIDFromStr, now it returns its retrieved value (ID index number) rather than writing it in a pointer given as parameter
PS MSVC project might be broken, I don't have it so can't check nor fix it
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1288 4a71c877-e1ca-e34f-864e-861f7616d084
* NULL assignment to a non-pointer -> changed to assignment of 0
* remove unused variables
* remove empty function drawEffects (and a commented out line that called it)
* Fix implicit declaration (of war_GetFog and war_SetFog) by including warzoneconfig.h
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1287 4a71c877-e1ca-e34f-864e-861f7616d084
number of simultaneous effects is down from 2500 to 500 (a big fight has about 200 effects). The effect processing and drawing is now done from one
loop instead of from 2 (saves on the iterations). The pie_DrawTexTriangle function defaults to non transparent tiles and sets an alpha drawing mode
only when needed.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1286 4a71c877-e1ca-e34f-864e-861f7616d084
more cpu time. Buildings have static shadows, the shadows of
components/droids get recomputed every frame. Rain/bullets/other effects
do no longer drop a shadow.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1281 4a71c877-e1ca-e34f-864e-861f7616d084
- make a lot of functions static
- remove unused extern declarations
- fix one function declarations () -> (void)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1254 4a71c877-e1ca-e34f-864e-861f7616d084
Fixing type-punned pointers is difficult, especially with that HEAP_ALLOC function...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1252 4a71c877-e1ca-e34f-864e-861f7616d084
why it worked, or, perhaps, why it still works. Take care ;-)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1251 4a71c877-e1ca-e34f-864e-861f7616d084
string, but does not use hashes. I could not see that it is ever used,
but it must be wrong, so fixing it anyway. Adding the first case of
gettext markup in the code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1248 4a71c877-e1ca-e34f-864e-861f7616d084
a texture to replace during game play. The problem is that the
texture counter is reset several times during a campaign, so we
cannot trust it. This should be fixed more thoroughly later, for
now we just check all textures irrespective of the texture counter.
Also improves logging, and fixes a problem that should have made
texture replacements simply not work previously. Thanks to
Gernot Kohlhaas <mr_maniac> for reporting the bug.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1246 4a71c877-e1ca-e34f-864e-861f7616d084
- Vector3i from lib/ivis also used in lib/audio, maybe want to move it to some more generic place?
- Replace iPoint with Vector2i
- Remove additional integer type declarations from pietypes.h
- Rename all iSprite to iTexture
- Various warning fixes: Unsigned/signed comparisons, uninitialized variables, declared but not defined symbols
- Replace DEBUG_BLOCK with DEBUG_MALLOC (it was virtually the same)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1245 4a71c877-e1ca-e34f-864e-861f7616d084
- Replace iBool with BOOL where it was used
- Fix a warning in src/effects.c about validatePie being declared but not defined
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1241 4a71c877-e1ca-e34f-864e-861f7616d084
the logic in there.
Hopefully this will fix the crash reported by Richie on the forums.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1227 4a71c877-e1ca-e34f-864e-861f7616d084
- Examine si_code where non default (SI_*) value are possible
- Output signal in style: "SIGNAL: Problem: Reason"
- Handle more signals (all which are marked "A - Abnormal termination of the process" by the POSIX manual)
- Check for XSI extension (_XOPEN_UNIX) instead of presence of every single signal. Hope this works on all systems
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1226 4a71c877-e1ca-e34f-864e-861f7616d084
- Added a bit more safety to WZ_DECL_UNUSED (not sure since which GCC version this exists, so choose >=3.2)
- Encapsulate GLibC extensions and use rest of errorHandler for all POSIX systems (thus renamed to posixErrorHandler)
- A little bit more verbosity in the gdmp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1222 4a71c877-e1ca-e34f-864e-861f7616d084
- Move programCommand into the Linux section as it is not needed on Windows
- Add some comments
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1206 4a71c877-e1ca-e34f-864e-861f7616d084
- Don't call GDB if not available
- Use fork/pipe/exec properly (subprocess ends after exec, so don't call other functions after it, close files correctly)
- sizeof(char) is guaranteed to be 1 by C
- Use execve instead of execle, because execle might perhaps cause problems
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1205 4a71c877-e1ca-e34f-864e-861f7616d084
definition on all platforms by using a switch and some ifdefs.
Looks ugly but should be safer.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1204 4a71c877-e1ca-e34f-864e-861f7616d084
Additional to the useless GLibC backtrace also try to attach GDB to the process and dump a backtrace.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1196 4a71c877-e1ca-e34f-864e-861f7616d084
- Handle OS differences better
- Clarify which headers in the Linux handler belong to which standards
- Use GNU backtrace() libc-extension only on Linux
- programVersion -> VERSION on Windows
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1194 4a71c877-e1ca-e34f-864e-861f7616d084
It uses strlen(), which is not required to be signal safe, but I can't imagine it to be not reentrant and suffering from heap/stack corruption...
It uses strsignal(), which is a GNU extension. strsignal is implemented using the signum as an index into an array of signal descriptions, which should be easily cloneable for non GNU systems if needed.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1190 4a71c877-e1ca-e34f-864e-861f7616d084
- Reorder read_gdmp output
- Added compilation date to gdmp
- Reordered gdmp values: sysInfo now after programVersion/compileDate instead of before, to match read_gdmp display order
Still not implemented: Custom (signal safe) sprintf replacement, so we can output textfiles instead of binary blobs.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1189 4a71c877-e1ca-e34f-864e-861f7616d084
the sky has been increased to allow easier view of the new skyline.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1179 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
r1150 "made it return FALSE when sound is disabled. The attached
patch corrects this, and also removes the redundant function
audio_LoadTrackFromBuffer which was only a very thin wrapper for
sound_LoadTrackFromBuffer. The check if sound is enabled is again in
dataAudioLoad."
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1157 4a71c877-e1ca-e34f-864e-861f7616d084
checks for lack of double buffering and too small
texture support. Use --debug texture to see your
texture size (first line in output).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1156 4a71c877-e1ca-e34f-864e-861f7616d084
yes (as before), relaxed (-O2 & -Wextra), and no
(as before). Fix two more reported warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1151 4a71c877-e1ca-e34f-864e-861f7616d084
- the function dataAudioLoad first checked whether the audio system is disabled and if it is sets return buffer (*ppData) to NULL, even though this functionality is already performed by the function it calls (audio_LoadTrackFromBuffer)
- this is similar for dataAudioRelease, additionally I moved the (low-level) call FREE(psTrack) to lib/sound/track.c which is also the file in which it gets malloc'ed
* while at it I directly changed sound_ReleaseTrack from returning BOOL to void since its return value was meaningless anyway (would always be TRUE no matter what), not to mention it was completely ignored by its only caller (dataAudioRelease)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1150 4a71c877-e1ca-e34f-864e-861f7616d084
for compilers other than gcc. Thanks to devurandom for bringing
this problem to my attention. Also update documentation for
WZ_DECL_DEPRECATED, which had bitrotted.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1149 4a71c877-e1ca-e34f-864e-861f7616d084
unused code. Also add -Wno-unused-label to Makefile.raw builds, too, to
skip the warning generated by flex that we cannot fix.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1148 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
This allows files to be decoded by OggVorbis directly through PHYSFS. Previously PHYSFS was used to read the entire file into memory and then to decode it from that memory buffer.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1138 4a71c877-e1ca-e34f-864e-861f7616d084
* remove function `static void sound_SaveTrackData` because the operation it performs doesn't justify a whole function (and its calling overhead)
* some cleanup in functions sound_ReadTrackFromBuffer and sound_ReadTrackFromFile
* commented operation of both functions
* moved the content of function sound_SaveTrackData (only one statement) to sound_ReadTrackFromBuffer
* modified sound_ReadTrackFromFile to not allocate double the size of the needed memory for a buffer
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1137 4a71c877-e1ca-e34f-864e-861f7616d084
functions of dubious usefulness. The log calls are still
present, with protos in ivi.h, in case someone wants to
build something better with them.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1128 4a71c877-e1ca-e34f-864e-861f7616d084