Commit Graph

134 Commits (1811aa0cdb7bb519b5c68a9f014ec1d30cf29d8f)

Author SHA1 Message Date
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 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
Roman C d042bb5203 Fixed c99-style variable declaration in script_lexer.l
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2536 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-08 14:21:09 +00:00
Giel van Schijndel ad3f3442f6 * Fix a segfault introduced in r2532 which was triggered when loading *.slo scripts with #define directives in them
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2533 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-06 14:22:49 +00:00
Giel van Schijndel f7e793cf31 * Load SCRIPT files (*.slo) directly from their files rather than an intermediate memory buffer
* 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
2007-10-05 22:44:18 +00:00
Roman C e5f977e0f1 Scripting engine:
-increased possible length of a macro name

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2493 4a71c877-e1ca-e34f-864e-861f7616d084
2007-09-29 14:41:46 +00:00
Roman C 5d39df302d Added more phrases recognized by 1.10 and Aivolution AIs as help requests.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2432 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-24 13:21:31 +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
Giel van Schijndel 707e156265 * Fix warning about "null argument where non-null required"
* 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
2007-08-14 19:24:29 +00:00
Roman C c1f1288f53 Turn some ASSERTs into debug(LOG_ERROR, ... )
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2371 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-13 10:35:18 +00:00
Per Inge Mathisen 00b0b8c322 Fix signedness warning
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2116 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-15 15:59:54 +00:00
Roman C 7337171595 Show correct line number of the error in the input script file when using script includes.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2108 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-15 13:11:09 +00:00
Per Inge Mathisen 2e99433ad0 Rename a few files for consistent naming. base.h -> basedef.h.
bulletdef.h -> projectiledef.h. weapons.h -> weapondef.h.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2063 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-12 19:56:16 +00:00
Per Inge Mathisen 077433f02f Audit more globals not being set correctly to NULL.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1850 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-12 17:56:34 +00:00
Giel van Schijndel d65f88beb5 * Replace a lot of heap usage with malloc/free usage
* 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
2007-06-04 20:46:30 +00:00
Giel van Schijndel 704c6bc653 * Use decent assertion expressions for some asserts (e.g. !"string", so that debuggers actually display something more interesting than 'FALSE')
* Remove usage of widgCopyString

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1807 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-04 16:49:58 +00:00
Dennis Schridde 6fa36aa0e9 + const, - unused
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1795 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-03 13:46:50 +00:00
Roman C 600e947bab - added two additional chat commands which can be recognized by AI
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1589 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-06 12:03:18 +00:00
Roman C 8fb6fd5b3c - increase number of allowed script instruction until the interpreter recognizes an infinite loop
- 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
2007-05-05 15:28:21 +00:00
Dennis Schridde ce16856887 FREE->free, MALLOC->malloc (sed+review)
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
2007-04-15 10:43:05 +00:00
Stefan Huehner c0a44c70e2 Make some more char* -> const char*
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1452 4a71c877-e1ca-e34f-864e-861f7616d084
2007-04-13 15:04:08 +00:00
Per Inge Mathisen 96cb7cafc5 Ressurect -Wno-unused-label. Reorganize string.h includes so that
_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
2007-04-10 12:44:50 +00:00
Dennis Schridde 8952155c7a - Add -Wextra to debug=yes, as it doesn't generate so many new warnings
- 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
2007-04-09 14:41:22 +00:00
Roman C 0faf85229b Scripting Language:
-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
2007-04-08 13:27:41 +00:00
Giel van Schijndel 26f2672bfd * remove macro PTRVALID
* 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
2007-04-03 13:20:41 +00:00
Gerard Krol 42ed587327 Per's removal of the memory heap system. Now MALLOC is just malloc, and not some wrapper around a wrapper that will allocate it from a specific pool.
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
2007-04-03 10:33:26 +00:00
Dennis Schridde 3b09a756df - Remove unneeded gettext files and instead create them via autopoint
- 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
2007-04-02 17:21:05 +00:00
Roman C 89f67fc187 Scripting Engine:
-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
2007-04-01 16:22:01 +00:00
Roman C 1c2ec5e07d Enabled recursive function calls for scripts.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1311 4a71c877-e1ca-e34f-864e-861f7616d084
2007-03-31 16:03:21 +00:00
Dennis Schridde 4107156595 Another buildsystem update:
- 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
2007-03-29 12:41:18 +00:00
Dennis Schridde 8c2c3c97a8 Clean yacc headers properly
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1295 4a71c877-e1ca-e34f-864e-861f7616d084
2007-03-29 10:08:12 +00:00
Dennis Schridde 2a74242eb3 - Replaced various vectors with Vector3i and Vector3f (idea by Watermelon)
- 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
2007-03-16 16:20:16 +00:00
Gerard Krol 4465a061c1 Fix warnings, and revert r1241 for effects.c (validatePie really needs a prototype at the top)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1242 4a71c877-e1ca-e34f-864e-861f7616d084
2007-03-15 23:17:09 +00:00
Dennis Schridde 7e12df4e35 - Backport r1228 (lib/script/script_parser.y, not initializing ppsLocalVarVal leads to segfault)
- Change some idention and whitespaces


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1229 4a71c877-e1ca-e34f-864e-861f7616d084
2007-03-13 20:49:03 +00:00
Roman C b0218cad3e Fixed saving and loading of script string variables.
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
2007-02-23 20:45:05 +00:00
Per Inge Mathisen daaac4b5e3 Clean up redundant copy&paste code. Patch by Gerard Krol with
some stylistic and extra changes by me.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1158 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-21 22:38:52 +00:00
Per Inge Mathisen d3cadd9e4a Start making the code conform to -Wextra
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1146 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-19 16:46:48 +00:00
Per Inge Mathisen 79b3875fc4 This commit fixes all warnings (on my system). -Werror added for
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
2007-02-19 14:10:44 +00:00
Per Inge Mathisen 929c4bf2ab Set eol-style for files missing this.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1143 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-19 14:02:24 +00:00
Per Inge Mathisen 9640c6a42d Fix mixed line endings
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1142 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-19 14:01:41 +00:00
Per Inge Mathisen 714d15e7e8 Attempt to fix mixed line endings.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1141 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-19 13:57:33 +00:00
Dennis Schridde 8a70df4064 Use some more advanced Automake techniques like noinst_HEADERS. Changes partly autogenerated by KDevelop, so this should be compatible with Automake 1.6.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1118 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-16 14:36:03 +00:00
Roman C cd70a98588 - fixed compilation of script functions consisting of a single return statement
- minor cleanups

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1112 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-14 22:12:48 +00:00
Roman C da3f1e25f8 - removed some ASSERSs doubling debug() error output
- when script runtime error occurs wz first outputs error information and then asserts, not vice versa
- printCallStack() script function will output script call stack to standard output

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1107 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-14 18:29:26 +00:00
Ari Johnson 05bd724b1c Fixed script state saving and loading on big-endian machines
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1100 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-14 03:39:17 +00:00
Roman C 1ac2942948 Make use of the script type compatibility table during compilation of vlo and slo files.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1098 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-12 15:46:54 +00:00
Roman C f13a111a5c Scripting engine update:
-added script call stack trace output on script runtime error
-added STRUCTURE getTileStructure(INT tileX, INT tileY) script function to get a structure on a certain map position
-fixed two stackPopParams() calls with too many actual parameters

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1087 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-10 15:23:47 +00:00
Giel van Schijndel 991b9ceb12 patch by Gerard as provided in message with ID <45CC4A2E.4060706@student.tudelft.nl>:
* fixes usage of negative array index

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1082 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-09 16:29:32 +00:00