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

Reply via email to