Commit Graph

324 Commits (a204e399d3eb40fdbdaa59c5a5d4e3a697b1eb3f)

Author SHA1 Message Date
Dennis Schridde 1dd2b54431 wzglobal.h never belonged to Eidos. Instead large parts of the code are copied from Qt and thus belong to Trolltech.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2776 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-10 13:25:02 +00:00
Dennis Schridde 5ccaa17971 Correct WZ_CC_TINYC check. (Note the namechange!)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2775 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-10 12:10:54 +00:00
Dennis Schridde 3a56a479b3 - Extend compiler detection with TinyCC
- Add window system detection
- Remove MSDOS from supported OSes


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2771 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-10 00:31:43 +00:00
Giel van Schijndel 96d5054729 * Make sure to #include <stdio.h> when compiling on MSVC so that those inline replacements for snprintf and vsnprintf will actually compile....
* Lets terminate statements with a semi-colon!!


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2745 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-06 18:36:37 +00:00
Giel van Schijndel 7b2530306c * On MSVC make sure to #define inline __before__ using it!!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2744 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-06 18:30:19 +00:00
Giel van Schijndel 92e013e406 * Add static inline functions vsnprintf and snprintf when compiling with MSVC
* 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
2007-11-06 14:07:50 +00:00
Dennis Schridde 94136efe24 Revert to the non-global static_assert, since MSVC is not ready for the global one, yet.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2697 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-03 21:42:55 +00:00
Per Inge Mathisen ccd725073e Add extra sanity checking to tagfile code to make it fail earlier rather than later.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2673 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-30 18:51:44 +00:00
Per Inge Mathisen 5567ae6e4b Add debug log call for tagfile errors.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2672 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-30 16:58:35 +00:00
Giel van Schijndel dcbef6f398 * Don't use variable array, structure members in RES_DATA
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2658 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-29 17:53:37 +00:00
Giel van Schijndel 0374c67a12 * Add a doxygen comment to source:trunk/lib/framework/strlfuncs.h describing macro STR_L_FUNC_TRUNCATION_DETECT
* 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
2007-10-27 20:20:35 +00:00
Per Inge Mathisen 9609cb0005 Use full path to frame.h. Patch in bug #10208 by unknown.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2642 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 17:30:49 +00:00
Giel van Schijndel f5602b4778 * Replace a large amount of strncpy() calls with the safer strlcpy()
* 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
2007-10-27 16:18:52 +00:00
Giel van Schijndel 613a38364e * Make resSetBaseDir const correct (char* -> const char*)
* 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
2007-10-27 16:12:00 +00:00
Per Inge Mathisen 1811aa0cdb Use secure version of snprintf on Windows (_snprintf_s).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2638 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 15:50:45 +00:00
Giel van Schijndel bd37e62cb2 * Replace a lot of strncat(dst, src, sizeof(dst) - strlen(dst) - 1) calls with the less bloated strlcat(dst, src, sizeof(dst)) form
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2637 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 15:47:17 +00:00
Giel van Schijndel 6b4cba1700 * Rename pLevelName to aLevelName (hungarian notation is a pain. Especially when it's wrong!)
* 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
2007-10-27 14:35:35 +00:00
Giel van Schijndel 673812b2a4 * Add file strlfuncs.h; this file contains an inline implementation of strlcpy and strlcat (safer variants of strncpy and strncat respectively)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2627 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-26 17:05:29 +00:00
Dennis Schridde 20bc25c107 Windows MiniDumper: resultMessage is always null-terminated and MessageBox is always shown. => Move out of ifs.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2626 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-25 23:32:20 +00:00
Dennis Schridde a923b6a000 Dump used compiler and version, too.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2625 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-25 23:23:21 +00:00
Giel van Schijndel e06c186bd6 * Replace a _lot_ of strcpy(), strcat() and sprintf() calls with the safer strncpy(), strncat() and snprintf() respectively
* 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
2007-10-24 21:11:29 +00:00
Giel van Schijndel 3446fb2b87 * Remove __FILE__ prefix in debug() call as debug() apparently adds __FILE__ already (noted by Per)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2616 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-24 19:40:39 +00:00
Giel van Schijndel 329c6637d8 * Check malloc's return value
* 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
2007-10-24 17:20:29 +00:00
Giel van Schijndel e6827605e2 * Fix a rather large memory leak as reported in bug #10190
* 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
2007-10-24 16:54:53 +00:00
Per Inge Mathisen 6cf0e01f0b Add write and read methods for bools to tagfile framework. Remove enum write macro.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2599 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-23 20:21:18 +00:00
Per Inge Mathisen 9ec705bd9c Add new debug tag LOG_MAP
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2597 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-23 18:18:48 +00:00
Dennis Schridde d5601ebc91 Found a version of the STATIC_ASSERT which also works in global scope.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2592 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-22 20:53:27 +00:00
Per Inge Mathisen ffc1f75aac Silence asserts going off on working separator tags in tagfile code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2589 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-22 20:09:55 +00:00
Per Inge Mathisen 3bd357ed08 Fix some mistakes and remove debug printfs from tagfile code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2587 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-22 19:33:47 +00:00
Per Inge Mathisen c9b25c5738 Add the tagfile framework that we will use for our new savegame format, and related
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
2007-10-22 18:40:34 +00:00
Dennis Schridde eff43d1fa1 Spelling mistake
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2556 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-16 21:07:10 +00:00
Dennis Schridde 8151788f14 Giel wants this to be commented...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2555 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-16 20:57:55 +00:00
Dennis Schridde ceb1a432bc Proper fix for ICC warning "argument is incompatible with corresponding format string conversion".
The fix which silenced the warning in r2550 was wrong.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2553 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-16 20:51:34 +00:00
Dennis Schridde c7b00fadaf More work on the ICC front:
- 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
2007-10-15 18:09:18 +00:00
Dennis Schridde 87d55b978b Basic buildfile support for ICC and silence one warning.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2524 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-02 21:43:43 +00:00
Giel van Schijndel 470ea85417 * Remove lib/framework/utf8.c[ch] as we don't need it just right now (we can always revert this commit later on if necessary)
* 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
2007-09-25 19:46:10 +00:00
Dennis Schridde 6627ecbc6a Fix "incompatible declarations" found by batched compiling.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2460 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-16 14:05:01 +00:00
Giel van Schijndel 9db9ca51ea * Add Doxygen comments to lib/framework/strnlen1.h
* Fix some errors in lib/framework/utf8.h comments


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2459 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-15 23:37:32 +00:00
Dennis Schridde 274abd14ca Fix WZ_DECL_FORMAT for non >=gcc-2.5
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2430 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-22 18:04:07 +00:00
Dennis Schridde 63a38d0da9 Include unistd.h for MinGW as well.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2428 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-21 14:52:50 +00:00
Dennis Schridde 20fe87c0f4 AM: Add lexers to BUILT_SOURCES and CLEAN_FILES as well.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2427 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-21 13:16:09 +00:00
Dennis Schridde e232e9a6b5 Yacc warning fixes by Pseudonym404 (http://forums.wz2100.net/index.php?topic=148.msg7837#msg7837):
- 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
2007-08-21 13:03:09 +00:00
Dennis Schridde fbd3a9c394 Use Unix PATH_MAX as default and thus move all "fixes" to Windows.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2425 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-21 12:59:05 +00:00
Dennis Schridde 08a43494fd - Clean up macros a bit more
- 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
2007-08-21 12:30:00 +00:00
Dennis Schridde 3d6d40f5dd - Update WZ_OS_/WZ_CC_ definitions from Qt 4.3.1 and don't strip OS detection them anymore.
- Fix attribute prerequisites.
- Remove wz__attribute and add WZ_DECL_FORMAT.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2423 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-21 11:21:20 +00:00
Dennis Schridde 51a467d649 Remove CHAR_BIT check which is not needed anymore.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2422 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-21 10:43:16 +00:00
Giel van Schijndel b5e548e800 * Use a union instead of first casting to void* before casting to uint32_t* from float* (prevents type punning of pointers)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2412 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-17 22:17:16 +00:00
Giel van Schijndel 551aa55cb9 * Use SDL_EnableKeyRepeat to enable the repeation of key press events (this enables you to press your 'A' key once and get multiple 'A's if your in a textbox)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2380 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-16 09:30:50 +00:00
Giel van Schijndel 29c1229322 * Prevent a warning about "dereferencing type-punned pointer will break strict-aliasing rules" by casting a &float through a void* before casting it to uint32_t*
* 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
2007-08-16 09:09:30 +00:00
Giel van Schijndel 1ee0356036 * Adapt the writeFXData and readFXData functions to use the PHYSFS big endian swapping write and read functions
* 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
2007-08-15 21:26:05 +00:00