* change all casts using the typeof() keyword to their respective typename
* append a compiler flag for GCC (-fno-gnu-keywords) which disables GNU-specific keywords (typeof and asm only in case of C-99, inline as well if C-90 mode is used), to aid in code portability (i.e. among compilers)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@970 4a71c877-e1ca-e34f-864e-861f7616d084
* moved several #defines to the enums where they belong
* changed some datatypes on declaration
* prepended casts to malloc calls (using typeof() style)
* changed some (void*) casts to (void**) where required
* removed several #defines and there instances and then replaced them with their corresponding values from an enum
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@969 4a71c877-e1ca-e34f-864e-861f7616d084
-AI can now request help using chat messages when in trouble.
-AI can recognize other players (Humans or AIs) asking for help and react accordingly by sending units to help ally - indicate position on the map with a beacon (Alt+H) and send a chat message requesting help.
Example:
"Help"
Addresses all players sender communicates with.
Certain AIs can be addressed directly:
"Black, Red and SantaClaus help me!!!"
-"i'm fine" or similar forms understood by lexical parser will notify AIs to send its units back.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@967 4a71c877-e1ca-e34f-864e-861f7616d084
-Fixed endless recursion in one of the lexical parser rules.
-Disabled log warnings when no meaningful information could be extracted form a player chat message.
-Small update to the lexical chat parser rules.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@966 4a71c877-e1ca-e34f-864e-861f7616d084
* remove file-global var `ALfloat listenerPos[3]` and replaced with function calls to alListener{Get}{n}{fi}{v}( AL_POSITION, ... )
* modified sound_SetObjectPosition() to be better human-readable (removed some unnecessary temporary vars)
* modified sound_SetPlayerOrientation() to a more verbose writing (+Doxygen comment)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@962 4a71c877-e1ca-e34f-864e-861f7616d084
1) [FIX/ADDITION] the selection box is now filled in with a translucent shade of grey, like Pumpkin Studios intended it, but it wasn't working due to a bug. Can be disabled with the --noTranslucent command line parameter (theoretically along with all other transparency effects, but in practice it doesn't seem to affect anything else because the check for war_GetTranslucent() is not used anywhere else).
2) [FIX] the selection box now always pulses consistently inwards, no matter in which orientation you drag it (ie. from top-left to bottom-right, from bottom-left to top-right, etc.)
3) [FIX] the selection box doesn't flash/disappear momentarily sometimes when the mouse cursor is positioned at the very edge of the screen anymore
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@961 4a71c877-e1ca-e34f-864e-861f7616d084
- except for script and sound all libs can now be compiled using -Werror (means they generate no warnings) and without -fpermissive except for the files generated by flex
- netplay/netplay.c: changed variable size from unsigned to signed according to SDL spec ( http://www.libsdl.org/cgi/docwiki.cgi/SDLNet_5fTCP_5fSend )
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@958 4a71c877-e1ca-e34f-864e-861f7616d084
- removed these functions and all calls to it if REALLY_DEBUG_MALLOC isn't defined, because they don't do anything currently when REALLY_DEBUG_MALLOC isn't defined
- moved the declaration of memRecReport from memint.h to mem.h where it is, together with memMemoryReport, optionally declared depending on REALLY_DEBUG_MALLOC
* fixed yet another set of signed/unsigned errors (src/seqdisp.c & textdraw.c/h)
* removed a cast from char* to char* (that's what I call unnecessary; transforming something into something it already is)
* memory system:
- added some comments to clarify what certain pieces of code actually do
- removed some redundant code (e.g. why would you ever want to overwrite memory to zero just before passing it to free()?)
- made debug-version of free() return immediately when being passed a NULL pointer (i.e. after raising an assert)
- moved some variable declarations down to the first point of usage
- *IMPORTANT*: commented the definition of MEMORY_SET out (line 38 mem.c), this might break code that expects freshly malloc'ed memory to be pre-initialized, if you experience any problems due to commenting this out please say so on the mailinglists!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@957 4a71c877-e1ca-e34f-864e-861f7616d084
* remove some unused things: variables, macros (MEMORYREPORT, MEMORYTREAP)
* fix some signing errors:
* change assignments of/comparisons with -1 to unsigned variables ((-1) directly, not through a preprocessor directive) to ~0 (left OpenAL-code alone)
* remove some casts to (SDWORD) in comparisons which actually cause signed/unsigned errors rather than fix them
* redefine some vars as unsigned
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@955 4a71c877-e1ca-e34f-864e-861f7616d084
* Set svn:ignore to:
* include files which should only occur in a working copy (e.g. makerules/config.mk which is derived from makerules/config.mk.tmpl)
* prevent files produced by the build-system (e.g. files generated by bison and flex) from showing up in `svn status'
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@952 4a71c877-e1ca-e34f-864e-861f7616d084
- This patch adds some additional info (including an URL to http://wz2100.net/) to the MSW Add/Remove software section.
Some additional variable reordering by me.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@951 4a71c877-e1ca-e34f-864e-861f7616d084
Example:
#include "multiplay/skirmish/my_include.slo"
-Implemented C-like #define preprocessor directive. Nested macros allowed with up to depth of MAX_SCR_MACRO_DEPTH.
-Added a script function for a fast feature iteration (returns burning as well as non-burning oil resources)
-Replaced some custom Pumpkin routines with default FLEX routines
-Some cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@950 4a71c877-e1ca-e34f-864e-861f7616d084
Multi-Targeting support:
1. Every weapon will try to choose its 'ideal' (this weapon's best
target) target first, if fails choose primary (weapon_slot 0) target.
2. If primary target is not valid for auxiliary (2nd,3rd etc), auxiliary
turret will try to acquire other targets (use primary weapon mortar to
engage remote target while having mg/cannon to engage close-quarter
enemies).
3.Adds DROID_OACTION_INFO struct (contains DROID_MAXWEAPS pointers to
BASE_OBJECT(target)) to handle multiple target info in order
functions.
4.A few weapon-related functions now return boolean values again instead of bitfields.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@945 4a71c877-e1ca-e34f-864e-861f7616d084
- Removed unneeded check for psTarget == NULL from the establishTarget* functions, would have crashed before anyway
- Patch by Watermelon: Projectile Fix 7: 1.Fixed a crash with VTOL bomber with NULL weapon pIMD.
- Fix include of lib/framework/frame.h
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@942 4a71c877-e1ca-e34f-864e-861f7616d084
1.Made the Get z 'height'(imd + turret imd) a function called establishTargetHeight to remove hacky checks and such
2.Few minor changes to various variables.
3.Fixed some building height check problems like missile not able to hit fortress etc(hopefully)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@938 4a71c877-e1ca-e34f-864e-861f7616d084