This patch consists mostly of casts to make Warzone compile with g++
-fpermissive. I'll reply to this mail with comments on a few changes.
--
Life is a concentration camp. You're stuck here and there's no way
out and you can only rage impotently against your persecutors.
-- Woody Allen
Index: lib/framework/debug.c
===================================================================
--- lib/framework/debug.c (revision 316)
+++ lib/framework/debug.c (working copy)
@@ -249,7 +249,7 @@
}
-void debug( code_part part, const char *str, ... )
+int debug( code_part part, const char *str, ... )
{
va_list ap;
static char inputBuffer[2][MAX_LEN_LOG_LINE];
Index: lib/framework/debug.h
===================================================================
--- lib/framework/debug.h (revision 316)
+++ lib/framework/debug.h (working copy)
@@ -157,7 +157,7 @@
* \param part Code part to associate with this message
* \param str printf style formatstring
*/
-void debug( code_part part, const char *str, ...)
+int debug( code_part part, const char *str, ...)
wz__attribute((format (printf, 2, 3)) );
#endif
Index: lib/framework/configfile.h
===================================================================
--- lib/framework/configfile.h (revision 316)
+++ lib/framework/configfile.h (working copy)
@@ -9,3 +9,5 @@
extern BOOL setWarzoneKeyNumeric (STRING *pName,DWORD val);
extern BOOL getWarzoneKeyString(STRING *pName, STRING *pString);
extern BOOL setWarzoneKeyString(STRING *pName, STRING *pString);
+
+extern char RegFilePath[MAX_PATH];
Index: lib/script/stack.c
===================================================================
--- lib/script/stack.c (revision 316)
+++ lib/script/stack.c (working copy)
@@ -501,8 +501,8 @@
break;
case OP_CANC: //String cancatenation
{
- char *tempstr1[MAXSTRLEN];
- char *tempstr2[MAXSTRLEN];
+ char tempstr1[MAXSTRLEN];
+ char tempstr2[MAXSTRLEN];
/* Check first value if it's compatible with Strings */
if((psV1->type == VAL_INT) || (psV1->type == VAL_BOOL))
//First value isn't string, but can be converted to string
Index: lib/script/script_parser.y
===================================================================
--- lib/script/script_parser.y (revision 316)
+++ lib/script/script_parser.y (working copy)
@@ -4958,7 +4958,7 @@
if(psStorage->storage == ST_LOCAL)
{
- if(scriptLookUpVariable(psVarIdent->pIdent, &ppsVarSym))
+ if(scriptLookUpVariable(psVarIdent->pIdent, ppsVarSym))
{
debug(LOG_ERROR, "var found");
debug(LOG_ERROR, "var=%s, index=%d of %d",
psVarIdent->pIdent, (*ppsVarSym)->index, psCurEvent->numParams);
@@ -5540,7 +5540,7 @@
{
ASSERT( psTypeTab[i].typeID == type,
"scriptSetTypeTab: ID's must be >= VAL_USERTYPESTART
and sequential" );
- type += 1;
+ type = type + 1;
}
#endif
@@ -5583,7 +5583,7 @@
{
ASSERT( psCallTab[i].type == type,
"scriptSetCallbackTab: ID's must be >=
VAL_CALLBACKSTART and sequential" );
- type += 1;
+ type = type + 1;
}
#endif
Index: src/scriptfuncs.c
===================================================================
--- src/scriptfuncs.c (revision 316)
+++ src/scriptfuncs.c (working copy)
@@ -6600,7 +6600,7 @@
ASSERT( PTRVALID(psTemplate, sizeof(DROID_TEMPLATE)),
"scrFactoryGetTemplate: Invalid template pointer" );
- if (!stackPushResult(ST_TEMPLATE, (UDWORD)psTemplate))
+ if (!stackPushResult((INTERP_TYPE)ST_TEMPLATE, (UDWORD)psTemplate))
{
debug(LOG_ERROR, "scrFactoryGetTemplate: stackPushResult
failed");
return FALSE;
@@ -8174,7 +8174,7 @@
psStruct = NULL;
}
- if (!stackPushResult(ST_STRUCTURE, (UDWORD)psStruct))
+ if (!stackPushResult((INTERP_TYPE)ST_STRUCTURE, (UDWORD)psStruct))
{
return FALSE;
}
@@ -8331,14 +8331,14 @@
if(bFound)
{
- if (!stackPushResult(ST_BASEOBJECT, (SDWORD)psObj))
+ if (!stackPushResult((INTERP_TYPE)ST_BASEOBJECT, (SDWORD)psObj))
{
return FALSE;
}
}
else
{
- if (!stackPushResult(ST_BASEOBJECT, (SDWORD)NULL))
+ if (!stackPushResult((INTERP_TYPE)ST_BASEOBJECT, (SDWORD)NULL))
{
return FALSE;
}
@@ -8691,14 +8691,14 @@
if(bFound)
{
- if (!stackPushResult(ST_DROID, (SDWORD)foundDroid))
+ if (!stackPushResult((INTERP_TYPE)ST_DROID, (SDWORD)foundDroid))
{
return FALSE;
}
}
else
{
- if (!stackPushResult(ST_DROID, (SDWORD)NULL))
+ if (!stackPushResult((INTERP_TYPE)ST_DROID, (SDWORD)NULL))
{
return FALSE;
}
@@ -8772,14 +8772,14 @@
if(bFound)
{
- if (!stackPushResult(ST_STRUCTURE, (SDWORD)foundStruct))
+ if (!stackPushResult((INTERP_TYPE)ST_STRUCTURE,
(SDWORD)foundStruct))
{
return FALSE;
}
}
else
{
- if (!stackPushResult(ST_STRUCTURE, (SDWORD)NULL))
+ if (!stackPushResult((INTERP_TYPE)ST_STRUCTURE, (SDWORD)NULL))
{
return FALSE;
}
@@ -9381,7 +9381,7 @@
}
}
- if (!stackPushResult(ST_DROID, (SDWORD)psClosestDroid))
+ if (!stackPushResult((INTERP_TYPE)ST_DROID, (SDWORD)psClosestDroid))
{
return FALSE;
}
Index: src/scriptobj.c
===================================================================
--- src/scriptobj.c (revision 316)
+++ src/scriptobj.c (working copy)
@@ -250,13 +250,13 @@
if (psObj->type == OBJ_STRUCTURE)
{
- type = ST_STRUCTURESTAT;
+ type = (INTERP_TYPE)ST_STRUCTURESTAT;
val = ((STRUCTURE *)psObj)->pStructureType -
asStructureStats;
}
else if (psObj->type == OBJ_DROID)
{
//psStructStats = (STRUCTURE_STATS*)psDroid->psTarStats;
- type = ST_STRUCTURESTAT;
+ type = (INTERP_TYPE)ST_STRUCTURESTAT;
val = (SDWORD)((STRUCTURE_STATS *)(((DROID
*)psObj)->psTarStats) - asStructureStats);
}
else //Nothing else supported
@@ -272,13 +272,13 @@
//added object->psTarget
if (psObj->type == OBJ_STRUCTURE)
{
- type = ST_BASEOBJECT;
+ type = (INTERP_TYPE)ST_BASEOBJECT;
val = (SDWORD)((STRUCTURE *)psObj)->psTarget;
}
else if (psObj->type == OBJ_DROID)
{
//psStructStats = (STRUCTURE_STATS*)psDroid->psTarStats;
- type = ST_BASEOBJECT;
+ type = (INTERP_TYPE)ST_BASEOBJECT;
val = (SDWORD)(((DROID *)psObj)->psTarget);
}
else //Nothing else supported
Index: src/effects.c
===================================================================
--- src/effects.c (revision 316)
+++ src/effects.c (working copy)
@@ -3091,7 +3091,7 @@
if(asEffectsList[i].imd)
{
/* Restore the pointer from the hashed ID */
- endian_udword(&asEffectsList[i].imd);
+ endian_udword((UDWORD*)&asEffectsList[i].imd);
asEffectsList[i].imd =
(iIMDShape*)resGetDataFromHash("IMD",(UDWORD)asEffectsList[i].imd);
}
}
Index: src/game.c
===================================================================
--- src/game.c (revision 316)
+++ src/game.c (working copy)
@@ -10153,7 +10153,7 @@
psSaveMessage = (SAVE_MESSAGE *) pFileData;
/* SAVE_MESSAGE */
- endian_sdword(&psSaveMessage->type); /* FIXME: enum may not
be this type! */
+ endian_sdword((SDWORD*)&psSaveMessage->type); /* FIXME: enum
may not be this type! */
endian_udword(&psSaveMessage->objId);
endian_udword(&psSaveMessage->player);
@@ -10317,7 +10317,7 @@
psSaveMessage->read = psMessage->read;
//flag to indicate whether message has been read
psSaveMessage->player = psMessage->player;
//which player this message belongs to
- endian_sdword(&psSaveMessage->type); /* FIXME: enum may
be different type! */
+ endian_sdword((SDWORD*)&psSaveMessage->type); /* FIXME:
enum may be different type! */
endian_udword(&psSaveMessage->objId);
endian_udword(&psSaveMessage->player);
@@ -10591,7 +10591,7 @@
psSaveflag = (SAVE_FLAG *) pFileData;
/* SAVE_FLAG */
- endian_sdword(&psSaveflag->type); /* FIXME: enum may not be
this type! */
+ endian_sdword((SDWORD*)psSaveflag->type); /* FIXME: enum may
not be this type! */
endian_udword(&psSaveflag->frameNumber);
endian_udword(&psSaveflag->screenX);
endian_udword(&psSaveflag->screenY);
@@ -10791,7 +10791,7 @@
}
/* SAVE_FLAG */
- endian_sdword(&psSaveflag->type); /* FIXME: enum may be
different type! */
+ endian_sdword((SDWORD*)&psSaveflag->type); /* FIXME:
enum may be different type! */
endian_udword(&psSaveflag->frameNumber);
endian_udword(&psSaveflag->screenX);
endian_udword(&psSaveflag->screenY);
@@ -10842,7 +10842,7 @@
}
/* SAVE_FLAG */
-
endian_sdword(&psSaveflag->type); /* FIXME: enum may be different type! */
+
endian_sdword((SDWORD*)&psSaveflag->type); /* FIXME: enum may be different
type! */
endian_udword(&psSaveflag->frameNumber);
endian_udword(&psSaveflag->screenX);
endian_udword(&psSaveflag->screenY);
Index: src/multiplay.c
===================================================================
--- src/multiplay.c (revision 316)
+++ src/multiplay.c (working copy)
@@ -1335,7 +1335,7 @@
MultiMsgPlayerTo = selectedPlayer;
strcpy(MultiplayMsg,&(pMsg->body[4]));
- eventFireCallbackTrigger(CALL_AI_MSG);
+ eventFireCallbackTrigger((TRIGGER_TYPE)CALL_AI_MSG);
// make some noise!
if(titleMode == MULTIOPTION || titleMode == MULTILIMIT)
@@ -1934,7 +1934,7 @@
strcpy(MultiplayMsg, msg);
- eventFireCallbackTrigger(CALL_BEACON);
+ eventFireCallbackTrigger((TRIGGER_TYPE)CALL_BEACON);
break;
case CALL_AI_MSG:
@@ -1949,7 +1949,7 @@
strcpy(MultiplayMsg, msg);
- eventFireCallbackTrigger(CALL_AI_MSG);
+ eventFireCallbackTrigger((TRIGGER_TYPE)CALL_AI_MSG);
break;
default:
@@ -1983,4 +1983,4 @@
strcpy(beaconReceiveMsg[sender], msg);
return addHelpBlip(locX,locY,receiver,sender,beaconReceiveMsg[sender]);
-}
\ No newline at end of file
+}
Index: src/scriptai.c
===================================================================
--- src/scriptai.c (revision 316)
+++ src/scriptai.c (working copy)
@@ -2320,7 +2320,7 @@
psDroid = NULL;
}
- if (!stackPushResult(ST_DROID, (SDWORD)psDroid))
+ if (!stackPushResult((INTERP_TYPE)ST_DROID, (SDWORD)psDroid))
{
debug(LOG_ERROR, "scrIterateGroupB: stackPushResult failed");
return FALSE;
Index: src/keybind.c
===================================================================
--- src/keybind.c (revision 316)
+++ src/keybind.c (working copy)
@@ -1855,7 +1855,7 @@
//--------------------------
ConsolePlayer = selectedPlayer;
strcpy(ConsoleMsg,sTextToSend);
- eventFireCallbackTrigger(CALL_CONSOLE);
+
eventFireCallbackTrigger((TRIGGER_TYPE)CALL_CONSOLE);
if(bMultiPlayer && NetPlay.bComms)
Index: src/main.c
===================================================================
--- src/main.c (revision 316)
+++ src/main.c (working copy)
@@ -3,6 +3,7 @@
*
*/
#include "lib/framework/frame.h"
+#include "lib/framework/configfile.h"
/* For SHGetFolderPath */
#ifdef WIN32
@@ -84,7 +85,6 @@
char MultiPlayersPath[MAX_PATH];
char KeyMapPath[MAX_PATH];
char UserMusicPath[MAX_PATH];
-char RegFilePath[MAX_PATH];
void debug_callback_stderr( void**, const char * );
void debug_callback_win32debug( void**, const char * );
_______________________________________________
Warzone-dev mailing list
[email protected]
https://mail.gna.org/listinfo/warzone-dev