Patch by Christian Ohm: "g++ fixes"
Mainly explicit casts, some type changes, a few fixes. We need to have a look if this line creates any problems: lib/script/interp.c @@ -329,7 +329,7 @@ - if(!RetStackRemember(CurEvent, (ip + 2))) //Remember where to jump back later + if(!RetStackRemember(CurEvent, *(ip + 2))) //Remember where to jump back later git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@719 4a71c877-e1ca-e34f-864e-861f7616d084master
parent
ea15befafe
commit
d889ce9da7
|
@ -9,3 +9,5 @@ extern BOOL closeWarzoneKey (void);
|
|||
extern BOOL setWarzoneKeyNumeric (const STRING *pName,DWORD val);
|
||||
extern BOOL getWarzoneKeyString(const STRING *pName, STRING *pString);
|
||||
extern BOOL setWarzoneKeyString(const STRING *pName, const STRING *pString);
|
||||
|
||||
extern char RegFilePath[MAX_PATH];
|
||||
|
|
|
@ -512,7 +512,7 @@ static BOOL loadFile2(char *pFileName, char **ppFileData, UDWORD *pFileSize,
|
|||
|
||||
if (AllocateMem == TRUE) {
|
||||
// Allocate a buffer to store the data and a terminating zero
|
||||
*ppFileData = MALLOC(filesize + 1);
|
||||
*ppFileData = (char*)MALLOC(filesize + 1);
|
||||
if (*ppFileData == NULL) {
|
||||
debug(LOG_ERROR, "loadFile2: Out of memory loading %s", pFileName);
|
||||
assert(FALSE);
|
||||
|
|
|
@ -48,7 +48,7 @@ static BOOL strresAllocBlock(STR_BLOCK **ppsBlock, UDWORD size)
|
|||
memset((*ppsBlock)->apStrings, 0, sizeof(STRING *) * size);
|
||||
|
||||
#ifdef DEBUG
|
||||
(*ppsBlock)->aUsage = MALLOC(sizeof(UDWORD) * size);
|
||||
(*ppsBlock)->aUsage = (UDWORD*)MALLOC(sizeof(UDWORD) * size);
|
||||
memset((*ppsBlock)->aUsage, 0, sizeof(UDWORD) * size);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ anim_InitBaseMembers( BASEANIM * psAnim, UWORD uwStates, UWORD uwFrameRate,
|
|||
psAnim->uwAnimTime = (UWORD) (uwStates*1000 / psAnim->uwFrameRate);
|
||||
|
||||
/* allocate frames */
|
||||
psAnim->psStates = MALLOC( uwObj*psAnim->uwStates*sizeof(ANIM_STATE) );
|
||||
psAnim->psStates = (ANIM_STATE*)MALLOC( uwObj*psAnim->uwStates*sizeof(ANIM_STATE) );
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
@ -135,7 +135,7 @@ anim_Create3D( char szPieFileName[], UWORD uwStates,
|
|||
UWORD uwFrames, i;
|
||||
|
||||
/* allocate anim */
|
||||
if ( (psAnim3D = MALLOC(sizeof(ANIM3D))) == NULL )
|
||||
if ( (psAnim3D = (ANIM3D*)MALLOC(sizeof(ANIM3D))) == NULL )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ anim_Create3D( char szPieFileName[], UWORD uwStates,
|
|||
}
|
||||
|
||||
/* get pointers to individual frames */
|
||||
psAnim3D->apFrame = MALLOC( uwFrames*sizeof(iIMDShape *) );
|
||||
psAnim3D->apFrame = (iIMDShape**)MALLOC( uwFrames*sizeof(iIMDShape *) );
|
||||
psFrames = psAnim3D->psFrames;
|
||||
for ( i=0; i<uwFrames; i++ )
|
||||
{
|
||||
|
@ -295,7 +295,7 @@ void
|
|||
anim_SetVals( char szFileName[], UWORD uwAnimID )
|
||||
{
|
||||
/* get track pointer from resource */
|
||||
BASEANIM *psAnim = resGetData( "ANI", szFileName );
|
||||
BASEANIM *psAnim = (BASEANIM*)resGetData( "ANI", szFileName );
|
||||
|
||||
if ( psAnim == NULL )
|
||||
{
|
||||
|
|
|
@ -95,7 +95,7 @@ ANIM3D;
|
|||
|
||||
/***************************************************************************/
|
||||
|
||||
typedef void * (* GETSHAPEFUNC) ( STRING *pStr );
|
||||
typedef iIMDShape * (* GETSHAPEFUNC) ( STRING *pStr );
|
||||
|
||||
typedef struct ANIMGLOBALS
|
||||
{
|
||||
|
|
|
@ -126,7 +126,7 @@ animObj_Update( void )
|
|||
SDWORD dwTime;
|
||||
BOOL bRemove;
|
||||
|
||||
psObj = hashTable_GetFirst( g_pAnimObjTable );
|
||||
psObj = (ANIM_OBJECT*)hashTable_GetFirst( g_pAnimObjTable );
|
||||
|
||||
while ( psObj != NULL )
|
||||
{
|
||||
|
@ -166,7 +166,7 @@ animObj_Update( void )
|
|||
}
|
||||
}
|
||||
|
||||
psObj = hashTable_GetNext( g_pAnimObjTable );
|
||||
psObj = (ANIM_OBJECT*)hashTable_GetNext( g_pAnimObjTable );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -191,7 +191,7 @@ animObj_Add( void *pParentObj, int iAnimID,
|
|||
|
||||
|
||||
/* get object from table */
|
||||
psObj = hashTable_GetElement( g_pAnimObjTable );
|
||||
psObj = (ANIM_OBJECT*)hashTable_GetElement( g_pAnimObjTable );
|
||||
|
||||
|
||||
if (psObj==NULL)
|
||||
|
@ -282,7 +282,7 @@ animObj_GetFirst( void )
|
|||
ANIM_OBJECT *
|
||||
animObj_GetNext( void )
|
||||
{
|
||||
return hashTable_GetNext( g_pAnimObjTable );
|
||||
return (ANIM_OBJECT*)hashTable_GetNext( g_pAnimObjTable );
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
@ -290,7 +290,7 @@ animObj_GetNext( void )
|
|||
ANIM_OBJECT *
|
||||
animObj_Find( void *pParentObj, int iAnimID )
|
||||
{
|
||||
return hashTable_FindElement( g_pAnimObjTable,
|
||||
return (ANIM_OBJECT*)hashTable_FindElement( g_pAnimObjTable,
|
||||
(int) pParentObj, iAnimID );
|
||||
}
|
||||
|
||||
|
|
|
@ -74,9 +74,9 @@ hashTable_Create( HASHTABLE **ppsTable, UDWORD udwTableSize,
|
|||
/* allocate and init table */
|
||||
|
||||
|
||||
(*ppsTable) = MALLOC( sizeof(HASHTABLE) );
|
||||
(*ppsTable) = (HASHTABLE*)MALLOC( sizeof(HASHTABLE) );
|
||||
udwSize = udwTableSize * sizeof(HASHNODE *);
|
||||
(*ppsTable)->ppsNode = MALLOC( udwSize );
|
||||
(*ppsTable)->ppsNode = (HASHNODE**)MALLOC( udwSize );
|
||||
memset( (*ppsTable)->ppsNode, 0, udwSize );
|
||||
|
||||
/* allocate heaps */
|
||||
|
@ -260,7 +260,7 @@ hashTable_InsertElement( HASHTABLE *psTable, void *psElement,
|
|||
udwHashIndex = hashTable_GetHashKey( psTable, iKey1, iKey2 );
|
||||
|
||||
/* get node from heap */
|
||||
HEAP_ALLOC( psTable->psNodeHeap, (void*) &psNode );
|
||||
HEAP_ALLOC( psTable->psNodeHeap, (void**) &psNode );
|
||||
|
||||
/* set node elements */
|
||||
psNode->iKey1 = iKey1;
|
||||
|
|
|
@ -27,7 +27,7 @@ ptrList_Create( PTRLIST **ppsList, UDWORD udwInitElements,
|
|||
UDWORD udwExtElements, UDWORD udwElementSize )
|
||||
{
|
||||
/* create ptr list struct */
|
||||
(*ppsList) = MALLOC( sizeof(PTRLIST) );
|
||||
(*ppsList) = (PTRLIST*)MALLOC( sizeof(PTRLIST) );
|
||||
|
||||
/* allocate heaps */
|
||||
if ( !HEAP_CREATE( &(*ppsList)->psNodeHeap, sizeof(LISTNODE),
|
||||
|
@ -178,7 +178,7 @@ ptrList_InsertElement( PTRLIST *ptrList, void *psElement, SDWORD sdwKey )
|
|||
"ptrList_InsertElement: element pointer invalid\n" );
|
||||
|
||||
/* get node from heap */
|
||||
HEAP_ALLOC( ptrList->psNodeHeap, (void*) &psNode );
|
||||
HEAP_ALLOC( ptrList->psNodeHeap, (void**) &psNode );
|
||||
|
||||
/* set node elements */
|
||||
psNode->sdwKey = sdwKey;
|
||||
|
|
|
@ -84,20 +84,20 @@ IMAGEFILE *iV_LoadImageFile(char *FileData, UDWORD FileSize)
|
|||
endian_uword(&Header->BitDepth);
|
||||
endian_uword(&Header->NumTPages);
|
||||
|
||||
ImageFile = MALLOC(sizeof(IMAGEFILE));
|
||||
ImageFile = (IMAGEFILE*)MALLOC(sizeof(IMAGEFILE));
|
||||
if(ImageFile == NULL) {
|
||||
debug( LOG_ERROR, "Out of memory" );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
ImageFile->TexturePages = MALLOC(sizeof(iSprite)*Header->NumTPages);
|
||||
ImageFile->TexturePages = (iSprite*)MALLOC(sizeof(iSprite)*Header->NumTPages);
|
||||
if(ImageFile->TexturePages == NULL) {
|
||||
debug( LOG_ERROR, "Out of memory" );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ImageFile->ImageDefs = MALLOC(sizeof(IMAGEDEF)*Header->NumImages);
|
||||
ImageFile->ImageDefs = (IMAGEDEF*)MALLOC(sizeof(IMAGEDEF)*Header->NumImages);
|
||||
if(ImageFile->ImageDefs == NULL) {
|
||||
debug( LOG_ERROR, "Out of memory" );
|
||||
return NULL;
|
||||
|
|
|
@ -531,7 +531,7 @@ static iBool _imd_load_bsp(STRING **ppFileData, STRING *FileDataEnd, iIMDShape *
|
|||
}
|
||||
|
||||
// Build table of nodes - we sort out the links later
|
||||
NodeList=MALLOC((sizeof(BSPTREENODE))*BSPNodeCount); // Allocate the entire node tree
|
||||
NodeList = (BSPTREENODE*)MALLOC((sizeof(BSPTREENODE))*BSPNodeCount); // Allocate the entire node tree
|
||||
|
||||
memset(NodeList,0,(sizeof(BSPTREENODE))*BSPNodeCount); // Zero it out ... we need to make all pointers NULL
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ BOOL pie_PNGLoadMem(char *pngimage, iSprite *s, iColour *pal)
|
|||
s->width = w;
|
||||
s->height = h;
|
||||
// Freeing s->bmp before allocating new mem would give a HEAP error on Windows (Invalid Address specified to RtlFreeHeap( x, x )).
|
||||
s->bmp = malloc(w*h*info_ptr->channels);
|
||||
s->bmp = (iBitmap*)malloc(w*h*info_ptr->channels);
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
@ -18,7 +18,6 @@ void pie_SetDefaultStates(void)//Sets all states
|
|||
pie_SetFogColour(0x00000000);//nicks colour
|
||||
|
||||
//depth Buffer on
|
||||
rendStates.depthBuffer = FALSE;//to force reset to true
|
||||
pie_SetDepthBufferStatus(DEPTH_CMP_LEQ_WRT_ON);
|
||||
|
||||
//set render mode
|
||||
|
|
|
@ -100,7 +100,6 @@ typedef enum ALPHA_MODE
|
|||
|
||||
typedef struct RENDER_STATE
|
||||
{
|
||||
DEPTH_MODE depthBuffer;
|
||||
BOOL translucent;
|
||||
BOOL additive;
|
||||
FOG_CAP fogCap;
|
||||
|
|
|
@ -234,7 +234,7 @@ BOOL image_create(pie_image* image,
|
|||
if (image->data != NULL) {
|
||||
free(image->data);
|
||||
}
|
||||
image->data = malloc(width*height*channels);
|
||||
image->data = (unsigned char*)malloc(width*height*channels);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -534,7 +534,7 @@ void screenDoDumpToDiskIfRequired(void)
|
|||
free(buffer);
|
||||
}
|
||||
buffer_size = row_stride * screen->h;
|
||||
buffer = malloc(buffer_size);
|
||||
buffer = (unsigned char*)malloc(buffer_size);
|
||||
}
|
||||
glReadPixels(0, 0, screen->w, screen->h, GL_RGB, GL_UNSIGNED_BYTE, buffer);
|
||||
|
||||
|
|
|
@ -366,14 +366,15 @@ BOOL eventNewContext(SCRIPT_CODE *psCode, CONTEXT_RELEASE release,
|
|||
SCRIPT_CONTEXT **ppsContext)
|
||||
{
|
||||
SCRIPT_CONTEXT *psContext;
|
||||
SDWORD val, storeIndex, type, arrayNum, i,j, arraySize;
|
||||
SDWORD val, storeIndex, arrayNum, i,j, arraySize;
|
||||
INTERP_TYPE type;
|
||||
VAL_CHUNK *psNewChunk, *psNextChunk;
|
||||
|
||||
ASSERT( PTRVALID(psCode, sizeof(SCRIPT_CODE)),
|
||||
"eventNewContext: Invalid code pointer" );
|
||||
|
||||
// Get a new context
|
||||
if (!HEAP_ALLOC(psContHeap, (void*) &psContext))
|
||||
if (!HEAP_ALLOC(psContHeap, (void**) &psContext))
|
||||
{
|
||||
debug(LOG_ERROR,"eventNewContext: HEAP_ALLOC failed");
|
||||
return FALSE;
|
||||
|
@ -382,7 +383,7 @@ BOOL eventNewContext(SCRIPT_CODE *psCode, CONTEXT_RELEASE release,
|
|||
// Initialise the context
|
||||
psContext->psCode = psCode;
|
||||
psContext->triggerCount = 0;
|
||||
psContext->release = (SWORD)(release == CR_RELEASE ? TRUE : FALSE);
|
||||
psContext->release = release;
|
||||
psContext->psGlobals = NULL;
|
||||
psContext->id = -1; // only used by the save game
|
||||
val = psCode->numGlobals + psCode->arraySize - 1;
|
||||
|
@ -457,7 +458,7 @@ BOOL eventNewContext(SCRIPT_CODE *psCode, CONTEXT_RELEASE release,
|
|||
|
||||
while (val >= 0)
|
||||
{
|
||||
if (!HEAP_ALLOC(psValHeap, (void*) &psNewChunk))
|
||||
if (!HEAP_ALLOC(psValHeap, (void**) &psNewChunk))
|
||||
{
|
||||
for(psNewChunk=psContext->psGlobals; psNewChunk; psNewChunk = psNextChunk)
|
||||
{
|
||||
|
@ -842,7 +843,7 @@ static BOOL eventInitTrigger(ACTIVE_TRIGGER **ppsTrigger, SCRIPT_CONTEXT *psCont
|
|||
}
|
||||
|
||||
// Get a trigger object
|
||||
if (!HEAP_ALLOC(psTrigHeap, (void*) &psNewTrig))
|
||||
if (!HEAP_ALLOC(psTrigHeap, (void**) &psNewTrig))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -876,7 +877,7 @@ BOOL eventLoadTrigger(UDWORD time, SCRIPT_CONTEXT *psContext,
|
|||
"eventLoadTrigger: Trigger out of range" );
|
||||
|
||||
// Get a trigger object
|
||||
if (!HEAP_ALLOC(psTrigHeap, (void*) &psNewTrig))
|
||||
if (!HEAP_ALLOC(psTrigHeap, (void**) &psNewTrig))
|
||||
{
|
||||
debug( LOG_ERROR, "eventLoadTrigger: out of memory" );
|
||||
abort();
|
||||
|
@ -909,7 +910,7 @@ BOOL eventAddPauseTrigger(SCRIPT_CONTEXT *psContext, UDWORD event, UDWORD offset
|
|||
"eventAddTrigger: Event out of range" );
|
||||
|
||||
// Get a trigger object
|
||||
if (!HEAP_ALLOC(psTrigHeap, (void*) &psNewTrig))
|
||||
if (!HEAP_ALLOC(psTrigHeap, (void**) &psNewTrig))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -29,6 +29,13 @@ typedef struct _link_chunk
|
|||
struct _link_chunk *psNext;
|
||||
} LINK_CHUNK;
|
||||
|
||||
// Whether a context is released when there are no active triggers for it
|
||||
typedef enum _context_release
|
||||
{
|
||||
CR_RELEASE, // release the context
|
||||
CR_NORELEASE, // do not release the context
|
||||
} CONTEXT_RELEASE;
|
||||
|
||||
|
||||
/* The data needed within an object to run a script */
|
||||
typedef struct _script_context
|
||||
|
@ -36,7 +43,7 @@ typedef struct _script_context
|
|||
SCRIPT_CODE *psCode; // The actual script to run
|
||||
VAL_CHUNK *psGlobals; // The objects copy of the global variables
|
||||
SDWORD triggerCount; // Number of currently active triggers
|
||||
SWORD release; // Whether to release the context when there are no triggers
|
||||
CONTEXT_RELEASE release; // Whether to release the context when there are no triggers
|
||||
SWORD id;
|
||||
|
||||
struct _script_context *psNext;
|
||||
|
|
|
@ -171,7 +171,7 @@ static BOOL eventLoadContext(SDWORD version, char *pBuffer, UDWORD *pSize)
|
|||
char *pPos;
|
||||
STRING *pScriptID;
|
||||
SCRIPT_CODE *psCode;
|
||||
SWORD release;
|
||||
CONTEXT_RELEASE release;
|
||||
INTERP_VAL *psVal;
|
||||
|
||||
size = 0;
|
||||
|
@ -187,7 +187,7 @@ static BOOL eventLoadContext(SDWORD version, char *pBuffer, UDWORD *pSize)
|
|||
{
|
||||
// get the script code
|
||||
pScriptID = (STRING *)pPos;
|
||||
psCode = resGetData("SCRIPT", pScriptID);
|
||||
psCode = (SCRIPT_CODE*)resGetData("SCRIPT", pScriptID);
|
||||
pPos += strlen(pScriptID) + 1;
|
||||
|
||||
// check the number of variables
|
||||
|
@ -200,7 +200,7 @@ static BOOL eventLoadContext(SDWORD version, char *pBuffer, UDWORD *pSize)
|
|||
}
|
||||
pPos += sizeof(SWORD);
|
||||
|
||||
release = *pPos;
|
||||
release = (CONTEXT_RELEASE)*pPos;
|
||||
pPos += sizeof(UBYTE);
|
||||
|
||||
// create the context
|
||||
|
@ -218,7 +218,7 @@ static BOOL eventLoadContext(SDWORD version, char *pBuffer, UDWORD *pSize)
|
|||
for(i=0; i < numVars; i+= 1)
|
||||
{
|
||||
// get the variable type
|
||||
type = *((SWORD*)pPos);
|
||||
type = (INTERP_TYPE)*pPos;
|
||||
pPos += sizeof(SWORD);
|
||||
size += sizeof(SWORD);
|
||||
|
||||
|
@ -289,7 +289,7 @@ static BOOL eventLoadContextHashed(SDWORD version, char *pBuffer, UDWORD *pSize)
|
|||
//not hashed STRING *pScriptID;
|
||||
UDWORD hashedName;
|
||||
SCRIPT_CODE *psCode;
|
||||
SWORD release;
|
||||
CONTEXT_RELEASE release;
|
||||
INTERP_VAL *psVal;
|
||||
|
||||
size = 0;
|
||||
|
@ -309,7 +309,7 @@ static BOOL eventLoadContextHashed(SDWORD version, char *pBuffer, UDWORD *pSize)
|
|||
//notHashed pPos += strlen(pScriptID) + 1;
|
||||
hashedName = *((UDWORD*)pPos);
|
||||
pPos += sizeof(UDWORD);
|
||||
psCode = resGetDataFromHash("SCRIPT", hashedName);
|
||||
psCode = (SCRIPT_CODE*)resGetDataFromHash("SCRIPT", hashedName);
|
||||
|
||||
|
||||
// check the number of variables
|
||||
|
@ -322,7 +322,7 @@ static BOOL eventLoadContextHashed(SDWORD version, char *pBuffer, UDWORD *pSize)
|
|||
}
|
||||
pPos += sizeof(SWORD);
|
||||
|
||||
release = *pPos;
|
||||
release = (CONTEXT_RELEASE)*pPos;
|
||||
pPos += sizeof(UBYTE);
|
||||
|
||||
// create the context
|
||||
|
@ -340,7 +340,7 @@ static BOOL eventLoadContextHashed(SDWORD version, char *pBuffer, UDWORD *pSize)
|
|||
for(i=0; i < numVars; i+= 1)
|
||||
{
|
||||
// get the variable type
|
||||
type = *((SWORD*)pPos);
|
||||
type = (INTERP_TYPE)*pPos;
|
||||
pPos += sizeof(SWORD);
|
||||
size += sizeof(SWORD);
|
||||
|
||||
|
@ -584,7 +584,7 @@ BOOL eventSaveState(SDWORD version, char **ppBuffer, UDWORD *pFileSize)
|
|||
|
||||
|
||||
// Allocate the buffer to save to
|
||||
pBuffer = MALLOC(totalSize);
|
||||
pBuffer = (char*)MALLOC(totalSize);
|
||||
if (pBuffer == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "eventSaveState: out of memory" );
|
||||
|
|
|
@ -329,7 +329,7 @@ BOOL interpRunScript(SCRIPT_CONTEXT *psContext, INTERP_RUNTYPE runType, UDWORD i
|
|||
case OP_FUNC:
|
||||
//debug( LOG_SCRIPT, "-OP_FUNC" );
|
||||
//debug( LOG_SCRIPT, "OP_FUNC: remember event %d, ip=%d", CurEvent, (ip + 2) );
|
||||
if(!RetStackRemember(CurEvent, (ip + 2))) //Remember where to jump back later
|
||||
if(!RetStackRemember(CurEvent, *(ip + 2))) //Remember where to jump back later
|
||||
{
|
||||
debug( LOG_ERROR, "interpRunScript() - RetStackRemember() failed.");
|
||||
return FALSE;
|
||||
|
|
|
@ -158,7 +158,7 @@ typedef struct _var_debug
|
|||
typedef struct _array_data
|
||||
{
|
||||
UDWORD base; // the base index of the array values
|
||||
UBYTE type; // the array data type
|
||||
INTERP_TYPE type; // the array data type
|
||||
UBYTE dimensions;
|
||||
UBYTE elements[VAR_MAX_DIMENSIONS];
|
||||
} ARRAY_DATA;
|
||||
|
@ -193,7 +193,7 @@ typedef enum _trigger_type
|
|||
/* Description of a trigger for the SCRIPT_CODE */
|
||||
typedef struct _trigger_data
|
||||
{
|
||||
UWORD type; // Type of trigger
|
||||
TRIGGER_TYPE type; // Type of trigger
|
||||
UWORD code; // BOOL - is there code with this trigger
|
||||
UDWORD time; // How often to check the trigger
|
||||
} TRIGGER_DATA;
|
||||
|
|
|
@ -66,7 +66,7 @@ typedef BOOL (*SCR_VAL_LOAD)(SDWORD version, INTERP_TYPE type, char *pBuffer, UD
|
|||
/* Type for a user type symbol */
|
||||
typedef struct _type_symbol
|
||||
{
|
||||
SWORD typeID; // The type id to use in the type field of values
|
||||
INTERP_TYPE typeID; // The type id to use in the type field of values
|
||||
SWORD accessType; // Whether the type is an object or a simple value
|
||||
STRING *pIdent; // Type identifier
|
||||
SCR_VAL_SAVE saveFunc; // load and save functions
|
||||
|
|
|
@ -94,13 +94,6 @@ extern BOOL interpRunScript(SCRIPT_CONTEXT *psContext, INTERP_RUNTYPE runType,
|
|||
* Event system functions
|
||||
*/
|
||||
|
||||
// Whether a context is released when there are no active triggers for it
|
||||
typedef enum _context_release
|
||||
{
|
||||
CR_RELEASE, // release the context
|
||||
CR_NORELEASE, // do not release the context
|
||||
} CONTEXT_RELEASE;
|
||||
|
||||
// reset the event system
|
||||
extern void eventReset(void);
|
||||
|
||||
|
|
|
@ -4086,7 +4086,6 @@ stringexp:
|
|||
//debug(LOG_SCRIPT,"[YACC]: PUT_DATA VAL_STRING, val: '%s'",yyvsp[0].sval);
|
||||
|
||||
/* Manage string stack */
|
||||
*STRSTACK[CURSTACKSTR] = (char)MALLOC(MAXSTRLEN);
|
||||
widgCopyString(STRSTACK[CURSTACKSTR],yyvsp[0].sval);
|
||||
CURSTACKSTR = CURSTACKSTR + 1; /* Increment 'pointer' to the top of the string stack */
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ static BOOL stackNewChunk(UDWORD size)
|
|||
{
|
||||
return FALSE;
|
||||
}
|
||||
psCurrChunk->psNext->aVals = MALLOC(sizeof(INTERP_VAL) * size);
|
||||
psCurrChunk->psNext->aVals = (INTERP_VAL*)MALLOC(sizeof(INTERP_VAL) * size);
|
||||
if (!psCurrChunk->psNext->aVals)
|
||||
{
|
||||
FREE(psCurrChunk->psNext);
|
||||
|
@ -627,7 +627,7 @@ BOOL stackInitialise(void)
|
|||
abort();
|
||||
return FALSE;
|
||||
}
|
||||
psStackBase->aVals = MALLOC(sizeof(INTERP_VAL) * INIT_SIZE);
|
||||
psStackBase->aVals = (INTERP_VAL*)MALLOC(sizeof(INTERP_VAL) * INIT_SIZE);
|
||||
if (!psStackBase->aVals)
|
||||
{
|
||||
debug( LOG_ERROR, "Out of memory" );
|
||||
|
|
|
@ -25,7 +25,7 @@ void resize_data_buffer(unsigned int size) {
|
|||
if (data_buffer != NULL) {
|
||||
free(data_buffer);
|
||||
}
|
||||
data_buffer = malloc(size);
|
||||
data_buffer = (char*)malloc(size);
|
||||
data_buffer_size = size;
|
||||
}
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ rpl_open(char* filename) {
|
|||
unsigned int i;
|
||||
unsigned int max_video_size = 0;
|
||||
|
||||
rpl->chunks = malloc(sizeof(RPL_chunk_info_t)*rpl->nb_chunks);
|
||||
rpl->chunks = (RPL_chunk_info_t*)malloc(sizeof(RPL_chunk_info_t)*rpl->nb_chunks);
|
||||
PHYSFS_seek(f, rpl->otcc);
|
||||
|
||||
for (i = 0; i < rpl->nb_chunks; ++i) {
|
||||
|
@ -228,7 +228,7 @@ unsigned int rpl_decode_sound_unknown(RPL* rpl, short* buffer, unsigned int buff
|
|||
total_audio_size += rpl->chunks[i].audio_size;
|
||||
}
|
||||
|
||||
audio_buffer = malloc(total_audio_size);
|
||||
audio_buffer = (char*)malloc(total_audio_size);
|
||||
tmp = audio_buffer;
|
||||
|
||||
for (i = 0; i < rpl->nb_chunks; ++i) {
|
||||
|
@ -289,7 +289,7 @@ unsigned int rpl_decode_sound_adpcm(RPL* rpl, short* buffer, unsigned int buffer
|
|||
if (audio_frame_size > tmp_buffer_size) {
|
||||
tmp_buffer_size = audio_frame_size << 1;
|
||||
free(tmp_buffer);
|
||||
tmp_buffer = malloc(tmp_buffer_size);
|
||||
tmp_buffer = (unsigned char*)malloc(tmp_buffer_size);
|
||||
}
|
||||
PHYSFS_seek(rpl->f, rpl->chunks[cf].offset+rpl->chunks[cf].video_size);
|
||||
PHYSFS_read(rpl->f, tmp_buffer, audio_frame_size, 1);
|
||||
|
|
|
@ -371,7 +371,7 @@ AUDIO_SAMPLE *audio_QueueSample( SDWORD iTrack )
|
|||
}
|
||||
|
||||
// debug(LOG_SOUND, "audio_queuetrack called1" );
|
||||
HEAP_ALLOC( g_psSampleHeap, (void *) &psSample );
|
||||
HEAP_ALLOC( g_psSampleHeap, (void **) &psSample );
|
||||
if ( psSample != NULL )
|
||||
{
|
||||
memset( psSample, 0, sizeof(AUDIO_SAMPLE) ); //[check] -Q
|
||||
|
@ -650,7 +650,7 @@ BOOL audio_LoadTrackFromFile( char szFileName[] )
|
|||
// =======================================================================================================================
|
||||
// =======================================================================================================================
|
||||
//
|
||||
void *audio_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize)
|
||||
TRACK *audio_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize)
|
||||
{
|
||||
// if audio not enabled return TRUE to carry on game without audio
|
||||
if ( g_bAudioEnabled == FALSE )
|
||||
|
@ -703,7 +703,7 @@ BOOL audio_SetTrackVals
|
|||
}
|
||||
|
||||
// get track pointer from resource
|
||||
psTrack = resGetData( "WAV", szFileName ); //at this point we have 4 valid entries, and 8 invalid -Q
|
||||
psTrack = (TRACK*)resGetData( "WAV", szFileName ); //at this point we have 4 valid entries, and 8 invalid -Q
|
||||
if ( psTrack == NULL )
|
||||
{
|
||||
debug( LOG_NEVER, "audio_SetTrackVals: track %s resource not found\n", szFileName );
|
||||
|
@ -755,7 +755,7 @@ BOOL audio_SetTrackValsHashName
|
|||
}
|
||||
|
||||
// get track pointer from resource
|
||||
psTrack = resGetDataFromHash( "WAV", hash );
|
||||
psTrack = (TRACK*)resGetDataFromHash( "WAV", hash );
|
||||
if ( psTrack == NULL )
|
||||
{
|
||||
return FALSE;
|
||||
|
@ -859,7 +859,7 @@ static BOOL audio_Play3DTrack( SDWORD iX, SDWORD iY, SDWORD iZ, int iTrack, void
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
HEAP_ALLOC( g_psSampleHeap, (void *) &psSample );
|
||||
HEAP_ALLOC( g_psSampleHeap, (void **) &psSample );
|
||||
if ( psSample == NULL )
|
||||
{
|
||||
return FALSE;
|
||||
|
@ -987,7 +987,7 @@ BOOL audio_PlayStream( char szFileName[], SDWORD iVol, AUDIO_CALLBACK pUserCallb
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
HEAP_ALLOC( g_psSampleHeap, (void *) &psSample );
|
||||
HEAP_ALLOC( g_psSampleHeap, (void **) &psSample );
|
||||
if ( psSample != NULL )
|
||||
{
|
||||
memset( psSample, 0, sizeof(AUDIO_SAMPLE) );
|
||||
|
@ -1058,7 +1058,7 @@ void audio_PlayTrack( int iTrack )
|
|||
return;
|
||||
}
|
||||
|
||||
HEAP_ALLOC( g_psSampleHeap, (void *) &psSample );
|
||||
HEAP_ALLOC( g_psSampleHeap, (void **) &psSample );
|
||||
if ( psSample != NULL )
|
||||
{
|
||||
// setup sample
|
||||
|
@ -1259,7 +1259,7 @@ SDWORD audio_GetTrackID( char szFileName[] )
|
|||
}
|
||||
else
|
||||
{
|
||||
psTrack = resGetData( "WAV", szFileName );
|
||||
psTrack = (TRACK*)resGetData( "WAV", szFileName );
|
||||
if ( psTrack == NULL )
|
||||
{
|
||||
return SAMPLE_NOT_FOUND;
|
||||
|
@ -1290,7 +1290,7 @@ SDWORD audio_GetTrackIDFromHash( UDWORD hash )
|
|||
}
|
||||
else
|
||||
{
|
||||
psTrack = resGetDataFromHash( "WAV", hash );
|
||||
psTrack = (TRACK*)resGetDataFromHash( "WAV", hash );
|
||||
if ( psTrack == NULL )
|
||||
{
|
||||
return SAMPLE_NOT_FOUND;
|
||||
|
|
|
@ -17,7 +17,7 @@ extern BOOL audio_Shutdown(void);
|
|||
extern BOOL audio_Disabled( void );
|
||||
|
||||
extern BOOL audio_LoadTrackFromFile( char szFileName[] );
|
||||
extern void * audio_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize);
|
||||
extern TRACK * audio_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize);
|
||||
extern BOOL audio_SetTrackVals( char szFileName[], BOOL bLoop, int *piID,
|
||||
int iVol, int iPriority, int iAudibleRadius, int VagID );
|
||||
extern BOOL audio_SetTrackValsHashName( UDWORD hash, BOOL bLoop, int iTrack, int iVol,
|
||||
|
|
|
@ -231,8 +231,6 @@ static inline signed int scale_sample(mad_fixed_t sample)
|
|||
return sample >> (MAD_F_FRACBITS + 1 - 16);
|
||||
}
|
||||
|
||||
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
|
||||
|
||||
static int mp3_read_buffer(char *buffer, const int size) {
|
||||
int samples = 0;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ void PlayList_Init(void) {
|
|||
unsigned int i;
|
||||
|
||||
for (i = 0; i < NB_TRACKS; ++i) {
|
||||
playlist[i].songs = malloc(2*sizeof(char*));
|
||||
playlist[i].songs = (char**)malloc(2*sizeof(char*));
|
||||
playlist[i].list_size = 2;
|
||||
playlist[i].nb_songs = 0;
|
||||
memset( playlist[i].songs, 0, playlist[i].list_size*sizeof(char*) );
|
||||
|
@ -100,10 +100,10 @@ char PlayList_Read(const char* path) {
|
|||
char* filepath;
|
||||
|
||||
if (path_to_music == NULL) {
|
||||
filepath = malloc(strlen(filename)+1);
|
||||
filepath = (char*)malloc(strlen(filename)+1);
|
||||
sprintf(filepath, "%s", filename);
|
||||
} else {
|
||||
filepath = malloc( strlen(filename)
|
||||
filepath = (char*)malloc( strlen(filename)
|
||||
+ strlen(path_to_music)+2);
|
||||
sprintf(filepath, "%s/%s", path_to_music, filename);
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ char PlayList_Read(const char* path) {
|
|||
|
||||
if (CURRENT_TRACK.nb_songs == CURRENT_TRACK.list_size) {
|
||||
CURRENT_TRACK.list_size <<= 1;
|
||||
CURRENT_TRACK.songs = realloc(CURRENT_TRACK.songs,
|
||||
CURRENT_TRACK.songs = (char**)realloc(CURRENT_TRACK.songs,
|
||||
CURRENT_TRACK.list_size*sizeof(char*));
|
||||
}
|
||||
|
||||
|
|
|
@ -234,7 +234,7 @@ BOOL sound_AddTrack( TRACK *pTrack )
|
|||
// =======================================================================================================================
|
||||
// =======================================================================================================================
|
||||
//
|
||||
void *sound_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize)
|
||||
TRACK *sound_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize)
|
||||
{
|
||||
//~~~~~~~~~~~~
|
||||
TRACK *pTrack;
|
||||
|
@ -252,7 +252,7 @@ void *sound_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize)
|
|||
else
|
||||
{
|
||||
pTrack->bMemBuffer = TRUE;
|
||||
pTrack->pName = MALLOC( strlen(GetLastResourceFilename()) + 1 );
|
||||
pTrack->pName = (STRING*)MALLOC( strlen(GetLastResourceFilename()) + 1 );
|
||||
if ( pTrack->pName == NULL )
|
||||
{
|
||||
debug( LOG_ERROR, "sound_LoadTrackFromBuffer: couldn't allocate memory\n" );
|
||||
|
@ -296,7 +296,7 @@ BOOL sound_LoadTrackFromFile(char szFileName[])
|
|||
if ( pTrack != NULL )
|
||||
{
|
||||
pTrack->bMemBuffer = FALSE;
|
||||
pTrack->pName = MALLOC( strlen((char*) szFileName) + 1 );
|
||||
pTrack->pName = (STRING*)MALLOC( strlen((char*) szFileName) + 1 );
|
||||
if ( pTrack->pName == NULL )
|
||||
{
|
||||
debug( LOG_ERROR, "sound_LoadTrackFromFile: Out of memory" );
|
||||
|
@ -469,7 +469,7 @@ SDWORD sound_GetTrackAudibleRadius( SDWORD iTrack )
|
|||
// =======================================================================================================================
|
||||
// =======================================================================================================================
|
||||
//
|
||||
char *sound_GetTrackName( SDWORD iTrack )
|
||||
const char *sound_GetTrackName( SDWORD iTrack )
|
||||
{
|
||||
if ( iTrack == SAMPLE_NOT_FOUND ) return NULL;
|
||||
ASSERT( g_apTrack[iTrack] != NULL, "sound_GetTrackName: unallocated track" );
|
||||
|
|
|
@ -99,7 +99,7 @@ BOOL sound_Init( SDWORD iMaxSameSamples );
|
|||
BOOL sound_Shutdown(void);
|
||||
|
||||
BOOL sound_LoadTrackFromFile(char szFileName[]);
|
||||
void * sound_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize);
|
||||
TRACK * sound_LoadTrackFromBuffer(char *pBuffer, UDWORD udwSize);
|
||||
BOOL sound_SetTrackVals( TRACK *psTrack, BOOL bLoop, SDWORD iTrack,
|
||||
SDWORD iVol, SDWORD iPriority, SDWORD iAudibleRadius,
|
||||
SDWORD VagID );
|
||||
|
@ -117,7 +117,7 @@ SDWORD sound_GetTrackTime( SDWORD iTrack );
|
|||
SDWORD sound_GetTrackPriority( SDWORD iTrack );
|
||||
SDWORD sound_GetTrackAudibleRadius( SDWORD iTrack );
|
||||
SDWORD sound_GetTrackVolume( SDWORD iTrack );
|
||||
char * sound_GetTrackName( SDWORD iTrack );
|
||||
const char * sound_GetTrackName( SDWORD iTrack );
|
||||
UDWORD sound_GetTrackHashName( SDWORD iTrack );
|
||||
|
||||
BOOL sound_TrackLooped( SDWORD iTrack );
|
||||
|
|
|
@ -48,7 +48,7 @@ BOOL barGraphCreate(W_BARGRAPH **ppsWidget, W_BARINIT *psInit)
|
|||
*ppsWidget = (W_BARGRAPH *)MALLOC(sizeof(W_BARGRAPH));
|
||||
if (*ppsWidget == NULL)
|
||||
#else
|
||||
if (!HEAP_ALLOC(psBarHeap, (void*) ppsWidget))
|
||||
if (!HEAP_ALLOC(psBarHeap, (void**) ppsWidget))
|
||||
#endif
|
||||
{
|
||||
ASSERT( FALSE, "barGraphCreate: Out of memory" );
|
||||
|
|
|
@ -47,7 +47,7 @@ BOOL buttonCreate(W_BUTTON **ppsWidget, W_BUTINIT *psInit)
|
|||
*ppsWidget = (W_BUTTON *)MALLOC(sizeof(W_BUTTON));
|
||||
if (*ppsWidget == NULL)
|
||||
#else
|
||||
if (!HEAP_ALLOC(psButHeap, (void*) ppsWidget))
|
||||
if (!HEAP_ALLOC(psButHeap, (void**) ppsWidget))
|
||||
#endif
|
||||
{
|
||||
ASSERT( FALSE, "buttonCreate: Out of memory" );
|
||||
|
|
|
@ -54,7 +54,7 @@ BOOL editBoxCreate(W_EDITBOX **ppsWidget, W_EDBINIT *psInit)
|
|||
*ppsWidget = (W_EDITBOX *)MALLOC(sizeof(W_EDITBOX));
|
||||
if (*ppsWidget == NULL)
|
||||
#else
|
||||
if (!HEAP_ALLOC(psEdbHeap, (void*) ppsWidget))
|
||||
if (!HEAP_ALLOC(psEdbHeap, (void**) ppsWidget))
|
||||
#endif
|
||||
{
|
||||
ASSERT( FALSE, "Out of memory" );
|
||||
|
|
|
@ -88,7 +88,7 @@ static BOOL formCreatePlain(W_FORM **ppsWidget, W_FORMINIT *psInit)
|
|||
*ppsWidget = (W_FORM *)MALLOC(sizeof(W_FORM));
|
||||
if (*ppsWidget == NULL)
|
||||
#else
|
||||
if (!HEAP_ALLOC(psFormHeap, (void*) ppsWidget))
|
||||
if (!HEAP_ALLOC(psFormHeap, (void**) ppsWidget))
|
||||
#endif
|
||||
{
|
||||
ASSERT( FALSE, "formCreatePlain: Out of memory" );
|
||||
|
@ -152,7 +152,7 @@ static BOOL formCreateClickable(W_CLICKFORM **ppsWidget, W_FORMINIT *psInit)
|
|||
*ppsWidget = (W_CLICKFORM *)MALLOC(sizeof(W_CLICKFORM));
|
||||
if (*ppsWidget == NULL)
|
||||
#else
|
||||
if (!HEAP_ALLOC(psCFormHeap, (void*) ppsWidget))
|
||||
if (!HEAP_ALLOC(psCFormHeap, (void**) ppsWidget))
|
||||
#endif
|
||||
{
|
||||
ASSERT( FALSE, "formCreateClickable: Out of memory" );
|
||||
|
@ -279,7 +279,7 @@ static BOOL formCreateTabbed(W_TABFORM **ppsWidget, W_FORMINIT *psInit)
|
|||
*ppsWidget = (W_TABFORM *)MALLOC(sizeof(W_TABFORM));
|
||||
if (*ppsWidget == NULL)
|
||||
#else
|
||||
if (!HEAP_ALLOC(psTFormHeap, (void*) ppsWidget))
|
||||
if (!HEAP_ALLOC(psTFormHeap, (void**) ppsWidget))
|
||||
#endif
|
||||
{
|
||||
ASSERT( FALSE, "formCreateTabbed: Out of memory" );
|
||||
|
|
|
@ -36,7 +36,7 @@ BOOL labelCreate(W_LABEL **ppsWidget, W_LABINIT *psInit)
|
|||
*ppsWidget = (W_LABEL *)MALLOC(sizeof(W_LABEL));
|
||||
if (*ppsWidget == NULL)
|
||||
#else
|
||||
if (!HEAP_ALLOC(psLabHeap, (void*) ppsWidget))
|
||||
if (!HEAP_ALLOC(psLabHeap, (void**) ppsWidget))
|
||||
#endif
|
||||
{
|
||||
ASSERT( FALSE, "Out of memory" );
|
||||
|
|
|
@ -64,7 +64,7 @@ BOOL sliderCreate(W_SLIDER **ppsWidget, W_SLDINIT *psInit)
|
|||
*ppsWidget = (W_SLIDER *)MALLOC(sizeof(W_SLIDER));
|
||||
if (*ppsWidget == NULL)
|
||||
#else
|
||||
if (!HEAP_ALLOC(psSldHeap, (void*) ppsWidget))
|
||||
if (!HEAP_ALLOC(psSldHeap, (void**) ppsWidget))
|
||||
#endif
|
||||
{
|
||||
ASSERT( FALSE, "sliderCreate: Out of memory" );
|
||||
|
|
|
@ -144,7 +144,7 @@ void widgShutDown(void)
|
|||
/* Get a string from the string heap */
|
||||
BOOL widgAllocString(STRING **ppStr)
|
||||
{
|
||||
if (!HEAP_ALLOC(psStrHeap, (void*) ppStr))
|
||||
if (!HEAP_ALLOC(psStrHeap, (void**) ppStr))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -174,7 +174,7 @@ void widgCopyString(STRING *pDest, STRING *pSrc)
|
|||
*/
|
||||
BOOL widgAllocCopyString(STRING **ppDest, STRING *pSrc)
|
||||
{
|
||||
if (!HEAP_ALLOC(psStrHeap, (void*) ppDest))
|
||||
if (!HEAP_ALLOC(psStrHeap, (void**) ppDest))
|
||||
{
|
||||
*ppDest = NULL;
|
||||
return FALSE;
|
||||
|
|
|
@ -128,7 +128,7 @@ BOOL astarInitialise(void)
|
|||
}
|
||||
|
||||
#if OPEN_LIST == 2
|
||||
apsNodes = MALLOC(sizeof(FP_NODE *) * FPATH_TABLESIZE);
|
||||
apsNodes = (FP_NODE**)MALLOC(sizeof(FP_NODE *) * FPATH_TABLESIZE);
|
||||
if (!apsNodes)
|
||||
{
|
||||
return FALSE;
|
||||
|
@ -759,7 +759,7 @@ static FP_NODE *fpathNewNode(SDWORD x, SDWORD y, SDWORD dist, FP_NODE *psRoute)
|
|||
{
|
||||
FP_NODE *psNode;
|
||||
|
||||
if (!HEAP_ALLOC(psFPNodeHeap, (void*) &psNode))
|
||||
if (!HEAP_ALLOC(psFPNodeHeap, (void**) &psNode))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -900,13 +900,13 @@ BOOL bufferTexPageLoad(char *pBuffer, UDWORD size, void **ppData)
|
|||
}
|
||||
else
|
||||
{
|
||||
NewTexturePage = MALLOC(sizeof(TEXTUREPAGE));
|
||||
NewTexturePage = (TEXTUREPAGE*)MALLOC(sizeof(TEXTUREPAGE));
|
||||
if (!NewTexturePage) return FALSE;
|
||||
|
||||
NewTexturePage->Texture=NULL;
|
||||
NewTexturePage->Palette=NULL;
|
||||
|
||||
psPal = MALLOC(sizeof(iPalette));
|
||||
psPal = (iPalette*)MALLOC(sizeof(iPalette));
|
||||
if (!psPal) return FALSE;
|
||||
|
||||
psSprite = (iSprite*)MALLOC(sizeof(iSprite));
|
||||
|
@ -1071,7 +1071,7 @@ BOOL dataAnimCfgLoad(char *pBuffer, UDWORD size, void **ppData)
|
|||
|
||||
void dataAnimRelease( void *pData )
|
||||
{
|
||||
anim_ReleaseAnim(pData);
|
||||
anim_ReleaseAnim((BASEANIM*)pData);
|
||||
}
|
||||
|
||||
/* Load a string resource file */
|
||||
|
|
|
@ -2855,7 +2855,7 @@ BOOL loadDroidTemplates(char *pDroidData, UDWORD bufferSize)
|
|||
|
||||
for (i=0; i < NumDroids; i++)
|
||||
{
|
||||
if (!HEAP_ALLOC(psTemplateHeap, (void*) &pDroidDesign))
|
||||
if (!HEAP_ALLOC(psTemplateHeap, (void**) &pDroidDesign))
|
||||
{
|
||||
debug( LOG_ERROR, "Out of memory - Droid Templates" );
|
||||
abort();
|
||||
|
|
|
@ -2925,7 +2925,7 @@ iIMDShape *psOrig;
|
|||
fileSize = ( sizeof(struct _fx_save_header) + ( fxEntries*sizeof(struct _effect_def) ) );
|
||||
|
||||
/* Try and allocate it - freed up in same function */
|
||||
pFileData = MALLOC(fileSize);
|
||||
pFileData = (char*)MALLOC(fileSize);
|
||||
|
||||
/* Did we get it? */
|
||||
if(!pFileData)
|
||||
|
@ -3091,7 +3091,7 @@ EFFECT *pFXData;
|
|||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ BOOL waterOnMap(void)
|
|||
//this function just allocates the memory now for MaxMapWidth, MaxMapHeight
|
||||
BOOL environInit( void )
|
||||
{
|
||||
pEnvironData = MALLOC(sizeof(struct environ_data) * MAP_MAXWIDTH * MAP_MAXHEIGHT);
|
||||
pEnvironData = (ENVIRON_DATA*)MALLOC(sizeof(struct environ_data) * MAP_MAXWIDTH * MAP_MAXHEIGHT);
|
||||
if(!pEnvironData)
|
||||
{
|
||||
debug( LOG_ERROR, "Can't get memory for the environment data" );
|
||||
|
|
|
@ -1043,7 +1043,8 @@ void removeFeature(FEATURE *psDel)
|
|||
/* Remove a Feature and free it's memory */
|
||||
void destroyFeature(FEATURE *psDel)
|
||||
{
|
||||
UDWORD widthScatter,breadthScatter,heightScatter, i, explosionSize;
|
||||
UDWORD widthScatter,breadthScatter,heightScatter, i;
|
||||
EFFECT_TYPE explosionSize;
|
||||
iVector pos;
|
||||
UDWORD width,breadth;
|
||||
UDWORD mapX,mapY;
|
||||
|
|
|
@ -115,7 +115,7 @@ BOOL formationNew(FORMATION **ppsFormation, FORMATION_TYPE type,
|
|||
SDWORD i;
|
||||
|
||||
// get a heap structure
|
||||
if (!HEAP_ALLOC(psFHeap, (void*) &psNew))
|
||||
if (!HEAP_ALLOC(psFHeap, (void**) &psNew))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ extern void intUpdateOptionText(struct _widget *psWidget, struct _w_context *psC
|
|||
extern void set_active_data_directory(int);
|
||||
|
||||
extern CURSORSNAP InterfaceSnap;
|
||||
extern void ProcessCursorSnap(VOID);
|
||||
extern void ProcessCursorSnap(void);
|
||||
|
||||
int StartWithGame = 1; // New game starts in Cam 1.
|
||||
|
||||
|
|
10
src/game.c
10
src/game.c
|
@ -10153,7 +10153,7 @@ BOOL loadSaveMessageV(char *pFileData, UDWORD filesize, UDWORD numMessages, UDWO
|
|||
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 @@ static BOOL writeMessageFile(STRING *pFileName)
|
|||
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 @@ BOOL loadSaveFlagV(char *pFileData, UDWORD filesize, UDWORD numflags, UDWORD ver
|
|||
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 @@ static BOOL writeFlagFile(STRING *pFileName)
|
|||
}
|
||||
|
||||
/* 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 @@ static BOOL writeFlagFile(STRING *pFileName)
|
|||
}
|
||||
|
||||
/* 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);
|
||||
|
|
|
@ -160,7 +160,7 @@ BOOL gwNewGateway(SDWORD x1, SDWORD y1, SDWORD x2, SDWORD y2)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
psNew = MALLOC(sizeof(GATEWAY));
|
||||
psNew = (GATEWAY*)MALLOC(sizeof(GATEWAY));
|
||||
if (!psNew)
|
||||
{
|
||||
debug( LOG_ERROR, "gwNewGateway: out of memory" );
|
||||
|
@ -232,7 +232,7 @@ BOOL gwNewLinkGateway(SDWORD x, SDWORD y)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
psNew = MALLOC(sizeof(GATEWAY));
|
||||
psNew = (GATEWAY*)MALLOC(sizeof(GATEWAY));
|
||||
if (!psNew)
|
||||
{
|
||||
debug( LOG_ERROR, "gwNewGateway: out of memory" );
|
||||
|
@ -705,7 +705,7 @@ BOOL gwLinkGateways(void)
|
|||
|
||||
|
||||
// note which zones have a gateway
|
||||
aZoneReachable = MALLOC( sizeof(UBYTE) * gwNumZones );
|
||||
aZoneReachable = (UBYTE*)MALLOC( sizeof(UBYTE) * gwNumZones );
|
||||
if (aZoneReachable == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "gwLinkGateways: out of memory" );
|
||||
|
@ -795,7 +795,7 @@ BOOL gwLinkGateways(void)
|
|||
}
|
||||
if (zone1Links+zone2Links > 0)
|
||||
{
|
||||
psCurr->psLinks = MALLOC(sizeof(GATEWAY_LINK) * (zone1Links+zone2Links));
|
||||
psCurr->psLinks = (GATEWAY_LINK*)MALLOC(sizeof(GATEWAY_LINK) * (zone1Links+zone2Links));
|
||||
if (psCurr->psLinks == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "gwLinkGateways: out of memory" );
|
||||
|
@ -910,7 +910,7 @@ BOOL gwNewZoneMap(void)
|
|||
gwFreeZoneMap();
|
||||
}
|
||||
|
||||
apRLEZones = MALLOC(sizeof(UBYTE *) * gwMapHeight());
|
||||
apRLEZones = (UBYTE**)MALLOC(sizeof(UBYTE *) * gwMapHeight());
|
||||
if (apRLEZones == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "gwNewZoneMap: Out of memory" );
|
||||
|
@ -937,7 +937,7 @@ UBYTE * gwNewZoneLine(UDWORD Line,UDWORD Size)
|
|||
FREE(apRLEZones[Line]);
|
||||
}
|
||||
|
||||
apRLEZones[Line] = MALLOC(Size);
|
||||
apRLEZones[Line] = (UBYTE*)MALLOC(Size);
|
||||
if (apRLEZones[Line] == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "gwNewZoneLine: Out of memory" );
|
||||
|
@ -1032,7 +1032,7 @@ BOOL gwNewEquivTable(SDWORD numZones)
|
|||
"gwNewEquivTable: invalid number of zones" );
|
||||
|
||||
gwNumZones = numZones;
|
||||
aNumEquiv = MALLOC(sizeof(UBYTE) * numZones);
|
||||
aNumEquiv = (UBYTE*)MALLOC(sizeof(UBYTE) * numZones);
|
||||
if (aNumEquiv == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "gwNewEquivTable: out of memory" );
|
||||
|
@ -1044,7 +1044,7 @@ BOOL gwNewEquivTable(SDWORD numZones)
|
|||
aNumEquiv[i] = 0;
|
||||
}
|
||||
|
||||
apEquivZones = MALLOC(sizeof(UBYTE *) * numZones);
|
||||
apEquivZones = (UBYTE**)MALLOC(sizeof(UBYTE *) * numZones);
|
||||
if (apEquivZones == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "gwNewEquivTable: out of memory" );
|
||||
|
@ -1095,7 +1095,7 @@ BOOL gwSetZoneEquiv(SDWORD zone, SDWORD numEquiv, UBYTE *pEquiv)
|
|||
ASSERT( numEquiv <= gwNumZones,
|
||||
"gwSetZoneEquiv: invalid number of zone equivalents" );
|
||||
|
||||
apEquivZones[zone] = MALLOC(sizeof(UBYTE) * numEquiv);
|
||||
apEquivZones[zone] = (UBYTE*)MALLOC(sizeof(UBYTE) * numEquiv);
|
||||
if (apEquivZones[zone] == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "gwSetZoneEquiv: out of memory" );
|
||||
|
|
|
@ -505,7 +505,7 @@ BOOL gwCreateBlankZoneMap(void)
|
|||
gwFreeZoneMap();
|
||||
}
|
||||
|
||||
apRLEZones = MALLOC(sizeof(UBYTE *) * gwMapHeight());
|
||||
apRLEZones = (UBYTE**)MALLOC(sizeof(UBYTE *) * gwMapHeight());
|
||||
if (apRLEZones == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "gwCreateBlankZoneMap: Out of memory" );
|
||||
|
@ -515,7 +515,7 @@ BOOL gwCreateBlankZoneMap(void)
|
|||
for(i=0; i< gwMapHeight(); i++)
|
||||
{
|
||||
|
||||
apRLEZones[i] = MALLOC(gwMapWidth() * 2);
|
||||
apRLEZones[i] = (UBYTE*)MALLOC(gwMapWidth() * 2);
|
||||
|
||||
if (apRLEZones[i] == NULL)
|
||||
{
|
||||
|
|
|
@ -42,7 +42,7 @@ void grpShutDown(void)
|
|||
// create a new group
|
||||
BOOL grpCreate(DROID_GROUP **ppsGroup)
|
||||
{
|
||||
if (!HEAP_ALLOC(psGrpHeap, (void*) ppsGroup))
|
||||
if (!HEAP_ALLOC(psGrpHeap, (void**) ppsGroup))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -1014,7 +1014,7 @@ BOOL systemInitialise(void)
|
|||
{
|
||||
displayBufferSize = 5000000;
|
||||
}
|
||||
DisplayBuffer = MALLOC(displayBufferSize);
|
||||
DisplayBuffer = (char*)MALLOC(displayBufferSize);
|
||||
if (DisplayBuffer == NULL)
|
||||
{
|
||||
debug( LOG_ERROR, "Unable to allocate memory for display buffer" );
|
||||
|
|
|
@ -2319,7 +2319,7 @@ void InitialiseButtonData(void)
|
|||
UDWORD i;
|
||||
|
||||
for(i=0; i<NUM_OBJECTSURFACES; i++) {
|
||||
ObjectSurfaces[i].Buffer = MALLOC(Width*Height);
|
||||
ObjectSurfaces[i].Buffer = (UBYTE*)MALLOC(Width*Height);
|
||||
ASSERT( ObjectSurfaces[i].Buffer!=NULL,"intInitialise : Failed to allocate Object surface" );
|
||||
ObjectSurfaces[i].Surface = iV_SurfaceCreate(REND_SURFACE_USR,Width,Height,10,10,ObjectSurfaces[i].Buffer);
|
||||
ASSERT( ObjectSurfaces[i].Surface!=NULL,"intInitialise : Failed to create Object surface" );
|
||||
|
@ -2331,7 +2331,7 @@ void InitialiseButtonData(void)
|
|||
}
|
||||
|
||||
for(i=0; i<NUM_SYSTEM0SURFACES; i++) {
|
||||
System0Surfaces[i].Buffer = MALLOC(Width*Height);
|
||||
System0Surfaces[i].Buffer = (UBYTE*)MALLOC(Width*Height);
|
||||
ASSERT( System0Surfaces[i].Buffer!=NULL,"intInitialise : Failed to allocate System0 surface" );
|
||||
System0Surfaces[i].Surface = iV_SurfaceCreate(REND_SURFACE_USR,Width,Height,10,10,System0Surfaces[i].Buffer);
|
||||
ASSERT( System0Surfaces[i].Surface!=NULL,"intInitialise : Failed to create System0 surface" );
|
||||
|
@ -2343,7 +2343,7 @@ void InitialiseButtonData(void)
|
|||
}
|
||||
|
||||
for(i=0; i<NUM_TOPICSURFACES; i++) {
|
||||
TopicSurfaces[i].Buffer = MALLOC(WidthTopic*HeightTopic);
|
||||
TopicSurfaces[i].Buffer = (UBYTE*)MALLOC(WidthTopic*HeightTopic);
|
||||
ASSERT( TopicSurfaces[i].Buffer!=NULL,"intInitialise : Failed to allocate Topic surface" );
|
||||
TopicSurfaces[i].Surface = iV_SurfaceCreate(REND_SURFACE_USR,WidthTopic,HeightTopic,10,10,TopicSurfaces[i].Buffer);
|
||||
ASSERT( TopicSurfaces[i].Surface!=NULL,"intInitialise : Failed to create Topic surface" );
|
||||
|
@ -2355,7 +2355,7 @@ void InitialiseButtonData(void)
|
|||
}
|
||||
|
||||
for(i=0; i<NUM_STATSURFACES; i++) {
|
||||
StatSurfaces[i].Buffer = MALLOC(Width*Height);
|
||||
StatSurfaces[i].Buffer = (UBYTE*)MALLOC(Width*Height);
|
||||
ASSERT( StatSurfaces[i].Buffer!=NULL,"intInitialise : Failed to allocate Stats surface" );
|
||||
StatSurfaces[i].Surface = iV_SurfaceCreate(REND_SURFACE_USR,Width,Height,10,10,StatSurfaces[i].Buffer);
|
||||
ASSERT( StatSurfaces[i].Surface!=NULL,"intInitialise : Failed to create Stat surface" );
|
||||
|
|
|
@ -59,7 +59,7 @@ typedef struct {
|
|||
|
||||
|
||||
typedef struct {
|
||||
uint8 *Buffer; // Bitmap buffer.
|
||||
UBYTE *Buffer; // Bitmap buffer.
|
||||
struct iSurface *Surface; // Ivis surface definition.
|
||||
} BUTTON_SURFACE;
|
||||
|
||||
|
|
|
@ -1855,7 +1855,7 @@ void kf_SendTextMessage(void)
|
|||
//--------------------------
|
||||
ConsolePlayer = selectedPlayer;
|
||||
strcpy(ConsoleMsg,sTextToSend);
|
||||
eventFireCallbackTrigger(CALL_CONSOLE);
|
||||
eventFireCallbackTrigger((TRIGGER_TYPE)CALL_CONSOLE);
|
||||
|
||||
|
||||
if(bMultiPlayer && NetPlay.bComms)
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
*
|
||||
*/
|
||||
#include "lib/framework/frame.h"
|
||||
#include "lib/framework/configfile.h"
|
||||
|
||||
/* For SHGetFolderPath */
|
||||
#ifdef WIN32
|
||||
|
@ -84,7 +85,6 @@ char MultiCustomMapsPath[MAX_PATH];
|
|||
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 * );
|
||||
|
|
|
@ -1335,7 +1335,7 @@ BOOL recvTextMessage(NETMSG *pMsg)
|
|||
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)
|
||||
|
@ -1919,7 +1919,7 @@ BOOL msgStackFireTop(void)
|
|||
{
|
||||
case CALL_VIDEO_QUIT:
|
||||
debug(LOG_SCRIPT, "msgStackFireTop: popped CALL_VIDEO_QUIT");
|
||||
eventFireCallbackTrigger(CALL_VIDEO_QUIT);
|
||||
eventFireCallbackTrigger((TRIGGER_TYPE)CALL_VIDEO_QUIT);
|
||||
break;
|
||||
|
||||
case CALL_BEACON:
|
||||
|
@ -1938,7 +1938,7 @@ BOOL msgStackFireTop(void)
|
|||
|
||||
strcpy(MultiplayMsg, msg);
|
||||
|
||||
eventFireCallbackTrigger(CALL_BEACON);
|
||||
eventFireCallbackTrigger((TRIGGER_TYPE)CALL_BEACON);
|
||||
break;
|
||||
|
||||
case CALL_AI_MSG:
|
||||
|
@ -1953,7 +1953,7 @@ BOOL msgStackFireTop(void)
|
|||
|
||||
strcpy(MultiplayMsg, msg);
|
||||
|
||||
eventFireCallbackTrigger(CALL_AI_MSG);
|
||||
eventFireCallbackTrigger((TRIGGER_TYPE)CALL_AI_MSG);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -2320,7 +2320,7 @@ BOOL scrIterateGroupB(void)
|
|||
psDroid = NULL;
|
||||
}
|
||||
|
||||
if (!stackPushResult(ST_DROID, (SDWORD)psDroid))
|
||||
if (!stackPushResult((INTERP_TYPE)ST_DROID, (SDWORD)psDroid))
|
||||
{
|
||||
debug(LOG_ERROR, "scrIterateGroupB: stackPushResult failed");
|
||||
return FALSE;
|
||||
|
|
|
@ -6600,7 +6600,7 @@ BOOL scrFactoryGetTemplate(void)
|
|||
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 @@ BOOL scrGetStructureVis(void)
|
|||
psStruct = NULL;
|
||||
}
|
||||
|
||||
if (!stackPushResult(ST_STRUCTURE, (UDWORD)psStruct))
|
||||
if (!stackPushResult((INTERP_TYPE)ST_STRUCTURE, (UDWORD)psStruct))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -8331,14 +8331,14 @@ BOOL scrGetClosestEnemy(void)
|
|||
|
||||
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 @@ BOOL scrGetClosestEnemyDroidByType(void)
|
|||
|
||||
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 @@ BOOL scrGetClosestEnemyStructByType(void)
|
|||
|
||||
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 @@ BOOL scrClosestDamagedGroupDroid(void)
|
|||
}
|
||||
}
|
||||
|
||||
if (!stackPushResult(ST_DROID, (SDWORD)psClosestDroid))
|
||||
if (!stackPushResult((INTERP_TYPE)ST_DROID, (SDWORD)psClosestDroid))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -250,13 +250,13 @@ BOOL scrBaseObjGet(UDWORD index)
|
|||
|
||||
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 @@ BOOL scrBaseObjGet(UDWORD index)
|
|||
//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
|
||||
|
|
|
@ -731,40 +731,40 @@ FUNC_SYMBOL asFuncTable[] =
|
|||
//droid functions
|
||||
//-----------------------------------
|
||||
{ "actionDroidObj", scrActionDroidObj, VAL_VOID,
|
||||
3, { ST_DROID, VAL_INT, ST_BASEOBJECT } },
|
||||
3, { (INTERP_TYPE)ST_DROID, VAL_INT, (INTERP_TYPE)ST_BASEOBJECT } },
|
||||
|
||||
{ "InitEnumDroids", scrInitEnumDroids, VAL_VOID,
|
||||
2, { VAL_INT, VAL_INT } },
|
||||
{ "EnumDroid", scrEnumDroid, ST_DROID,
|
||||
{ "EnumDroid", scrEnumDroid, (INTERP_TYPE)ST_DROID,
|
||||
0, { VAL_VOID } },
|
||||
|
||||
{ "initIterateGroupB", scrInitIterateGroupB, VAL_VOID,
|
||||
2, { ST_GROUP, VAL_INT } },
|
||||
2, { (INTERP_TYPE)ST_GROUP, VAL_INT } },
|
||||
|
||||
{ "iterateGroupB", scrIterateGroupB, ST_DROID,
|
||||
2, { ST_GROUP, VAL_INT } },
|
||||
{ "iterateGroupB", scrIterateGroupB, (INTERP_TYPE)ST_DROID,
|
||||
2, { (INTERP_TYPE)ST_GROUP, VAL_INT } },
|
||||
|
||||
{ "closestDamagedGroupDroid", scrClosestDamagedGroupDroid, ST_DROID,
|
||||
6, { VAL_INT, ST_GROUP, VAL_INT, VAL_INT, VAL_INT, VAL_INT } },
|
||||
{ "closestDamagedGroupDroid", scrClosestDamagedGroupDroid, (INTERP_TYPE)ST_DROID,
|
||||
6, { VAL_INT, (INTERP_TYPE)ST_GROUP, VAL_INT, VAL_INT, VAL_INT, VAL_INT } },
|
||||
|
||||
|
||||
{ "factoryGetTemplate", scrFactoryGetTemplate, ST_TEMPLATE,
|
||||
1, { ST_STRUCTURE } },
|
||||
{ "factoryGetTemplate", scrFactoryGetTemplate, (INTERP_TYPE)ST_TEMPLATE,
|
||||
1, { (INTERP_TYPE)ST_STRUCTURE } },
|
||||
|
||||
{ "numTemplatesInProduction", scrNumTemplatesInProduction, VAL_INT,
|
||||
2, { ST_TEMPLATE, VAL_INT } },
|
||||
2, { (INTERP_TYPE)ST_TEMPLATE, VAL_INT } },
|
||||
|
||||
{ "numDroidsByComponent", scrNumDroidsByComponent, VAL_INT,
|
||||
3, { ST_COMPONENT, VAL_INT, VAL_INT } },
|
||||
3, { (INTERP_TYPE)ST_COMPONENT, VAL_INT, VAL_INT } },
|
||||
|
||||
{ "getStructureLimit", scrGetStructureLimit, VAL_INT,
|
||||
2, { ST_STRUCTURESTAT, VAL_INT } },
|
||||
2, { (INTERP_TYPE)ST_STRUCTURESTAT, VAL_INT } },
|
||||
|
||||
{ "structureLimitReached", scrStructureLimitReached, VAL_BOOL,
|
||||
2, { ST_STRUCTURESTAT, VAL_INT } },
|
||||
2, { (INTERP_TYPE)ST_STRUCTURESTAT, VAL_INT } },
|
||||
|
||||
{ "getNumStructures", scrGetNumStructures, VAL_INT,
|
||||
2, { ST_STRUCTURESTAT, VAL_INT } },
|
||||
2, { (INTERP_TYPE)ST_STRUCTURESTAT, VAL_INT } },
|
||||
|
||||
{ "getUnitLimit", scrGetUnitLimit, VAL_INT,
|
||||
1, { VAL_INT } },
|
||||
|
@ -782,13 +782,13 @@ FUNC_SYMBOL asFuncTable[] =
|
|||
4, { VAL_INT, VAL_INT, VAL_INT, VAL_INT} },
|
||||
|
||||
{ "numResearchLeft", scrNumResearchLeft, VAL_INT,
|
||||
2, { VAL_INT, ST_RESEARCH } },
|
||||
2, { VAL_INT, (INTERP_TYPE)ST_RESEARCH } },
|
||||
|
||||
{ "researchFinished", scrResearchCompleted, VAL_BOOL,
|
||||
2, { ST_RESEARCH, VAL_INT } },
|
||||
2, { (INTERP_TYPE)ST_RESEARCH, VAL_INT } },
|
||||
|
||||
{ "researchStarted", scrResearchStarted, VAL_BOOL,
|
||||
2, { ST_RESEARCH, VAL_INT } },
|
||||
2, { (INTERP_TYPE)ST_RESEARCH, VAL_INT } },
|
||||
|
||||
{ "threatInRange", scrThreatInRange, VAL_BOOL,
|
||||
5, { VAL_INT, VAL_INT , VAL_INT, VAL_INT, VAL_BOOL} },
|
||||
|
@ -822,10 +822,10 @@ FUNC_SYMBOL asFuncTable[] =
|
|||
|
||||
//num structures
|
||||
{ "numStructsByStatInRange", scrNumStructsByStatInRange, VAL_INT,
|
||||
6, { ST_STRUCTURESTAT, VAL_INT , VAL_INT, VAL_INT, VAL_INT, VAL_INT} },
|
||||
6, { (INTERP_TYPE)ST_STRUCTURESTAT, VAL_INT , VAL_INT, VAL_INT, VAL_INT, VAL_INT} },
|
||||
|
||||
{ "numStructsByStatInArea", scrNumStructsByStatInArea, VAL_INT,
|
||||
7, { ST_STRUCTURESTAT, VAL_INT , VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_INT} },
|
||||
7, { (INTERP_TYPE)ST_STRUCTURESTAT, VAL_INT , VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_INT} },
|
||||
|
||||
{ "numStructsByTypeInRange", scrNumStructsByTypeInRange, VAL_INT,
|
||||
6, { VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_INT } },
|
||||
|
@ -836,45 +836,45 @@ FUNC_SYMBOL asFuncTable[] =
|
|||
{ "numStructsButNotWallsInRangeVis", scrNumStructsButNotWallsInRangeVis, VAL_INT,
|
||||
5, { VAL_INT , VAL_INT, VAL_INT, VAL_INT, VAL_INT} },
|
||||
|
||||
{ "getStructureVis", scrGetStructureVis, ST_STRUCTURE,
|
||||
3, { ST_STRUCTURESTAT, VAL_INT, VAL_INT } },
|
||||
{ "getStructureVis", scrGetStructureVis, (INTERP_TYPE)ST_STRUCTURE,
|
||||
3, { (INTERP_TYPE)ST_STRUCTURESTAT, VAL_INT, VAL_INT } },
|
||||
|
||||
{ "chooseValidLoc", scrChooseValidLoc, VAL_BOOL,
|
||||
6, { VAL_REF|VAL_INT, VAL_REF|VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_INT } },
|
||||
|
||||
{ "getClosestEnemy", scrGetClosestEnemy, ST_BASEOBJECT,
|
||||
{ "getClosestEnemy", scrGetClosestEnemy, (INTERP_TYPE)ST_BASEOBJECT,
|
||||
6, { VAL_INT, VAL_INT, VAL_INT, VAL_BOOL, VAL_BOOL, VAL_INT } },
|
||||
|
||||
{ "transporterCapacity", scrTransporterCapacity, VAL_INT,
|
||||
1, { ST_DROID} },
|
||||
1, { (INTERP_TYPE)ST_DROID} },
|
||||
|
||||
{ "transporterFlying", scrTransporterFlying, VAL_BOOL,
|
||||
1, { ST_DROID} },
|
||||
1, { (INTERP_TYPE)ST_DROID} },
|
||||
|
||||
{ "unloadTransporter", scrUnloadTransporter, VAL_VOID,
|
||||
3, { ST_DROID, VAL_INT, VAL_INT} },
|
||||
3, { (INTERP_TYPE)ST_DROID, VAL_INT, VAL_INT} },
|
||||
|
||||
{ "hasGroup", scrHasGroup, VAL_BOOL,
|
||||
1, { ST_DROID} },
|
||||
1, { (INTERP_TYPE)ST_DROID} },
|
||||
|
||||
{ "objWeaponMaxRange", scrObjWeaponMaxRange, VAL_INT,
|
||||
1, { ST_BASEOBJECT} },
|
||||
1, { (INTERP_TYPE)ST_BASEOBJECT} },
|
||||
|
||||
{ "objHasWeapon", scrObjHasWeapon, VAL_BOOL,
|
||||
1, { ST_BASEOBJECT} },
|
||||
1, { (INTERP_TYPE)ST_BASEOBJECT} },
|
||||
|
||||
{ "objectHasIndirectWeapon", scrObjectHasIndirectWeapon, VAL_BOOL,
|
||||
1, { ST_BASEOBJECT} },
|
||||
1, { (INTERP_TYPE)ST_BASEOBJECT} },
|
||||
|
||||
{ "getClosestEnemyDroidByType", scrGetClosestEnemyDroidByType, ST_DROID,
|
||||
{ "getClosestEnemyDroidByType", scrGetClosestEnemyDroidByType, (INTERP_TYPE)ST_DROID,
|
||||
6, { VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_BOOL, VAL_INT } },
|
||||
|
||||
{ "getClosestEnemyStructByType", scrGetClosestEnemyStructByType, ST_STRUCTURE,
|
||||
{ "getClosestEnemyStructByType", scrGetClosestEnemyStructByType, (INTERP_TYPE)ST_STRUCTURE,
|
||||
5, { VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_INT } },
|
||||
|
||||
|
||||
{ "skDefenseLocationB", scrSkDefenseLocationB, VAL_BOOL,
|
||||
6, {VAL_REF|VAL_INT, VAL_REF|VAL_INT, ST_STRUCTURESTAT, ST_STRUCTURESTAT, ST_DROID,VAL_INT } },
|
||||
6, {VAL_REF|VAL_INT, VAL_REF|VAL_INT, (INTERP_TYPE)ST_STRUCTURESTAT, (INTERP_TYPE)ST_STRUCTURESTAT, (INTERP_TYPE)ST_DROID,VAL_INT } },
|
||||
|
||||
{ "circlePerimPoint", scrCirclePerimPoint, VAL_VOID,
|
||||
5, { VAL_INT, VAL_INT, VAL_REF|VAL_INT, VAL_REF|VAL_INT, VAL_INT} },
|
||||
|
@ -889,10 +889,10 @@ FUNC_SYMBOL asFuncTable[] =
|
|||
5, { VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_INT} },
|
||||
|
||||
{ "selectDroid", scrSelectDroid, VAL_VOID,
|
||||
2, { ST_DROID, VAL_BOOL} },
|
||||
2, { (INTERP_TYPE)ST_DROID, VAL_BOOL} },
|
||||
|
||||
{ "selectGroup", scrSelectGroup, VAL_VOID,
|
||||
2, { ST_GROUP, VAL_BOOL} },
|
||||
2, { (INTERP_TYPE)ST_GROUP, VAL_BOOL} },
|
||||
|
||||
{ "modulo", scrModulo, VAL_INT,
|
||||
2, { VAL_INT, VAL_INT} },
|
||||
|
@ -1048,23 +1048,23 @@ VAR_SYMBOL asObjTable[] =
|
|||
|
||||
/* new member variables */
|
||||
//similiar to .order
|
||||
{ "action", VAL_INT, (INTERP_TYPE)ST_OBJECT, ST_DROID, OBJID_ACTION,
|
||||
{ "action", VAL_INT, (INTERP_TYPE)ST_OBJECT, (INTERP_TYPE)ST_DROID, OBJID_ACTION,
|
||||
scrBaseObjGet, NULL },
|
||||
|
||||
//.stat - now supports droids, ST_STRUCTURE became ST_BASEOBJECT
|
||||
{ "stat", ST_STRUCTURESTAT, (INTERP_TYPE)ST_OBJECT, ST_BASEOBJECT, OBJID_STRUCTSTAT,
|
||||
{ "stat", (INTERP_TYPE)ST_STRUCTURESTAT, (INTERP_TYPE)ST_OBJECT, (INTERP_TYPE)ST_BASEOBJECT, OBJID_STRUCTSTAT,
|
||||
scrBaseObjGet, NULL },
|
||||
|
||||
//object->psTarget
|
||||
{ "target", ST_BASEOBJECT, (INTERP_TYPE)ST_OBJECT, ST_BASEOBJECT, OBJID_TARGET,
|
||||
{ "target", (INTERP_TYPE)ST_BASEOBJECT, (INTERP_TYPE)ST_OBJECT, (INTERP_TYPE)ST_BASEOBJECT, OBJID_TARGET,
|
||||
scrBaseObjGet, NULL },
|
||||
|
||||
//returns psStruct->pStructureType->type
|
||||
{ "stattype", VAL_INT, (INTERP_TYPE)ST_OBJECT, ST_STRUCTURE, OBJID_STRUCTSTATTYPE,
|
||||
{ "stattype", VAL_INT, (INTERP_TYPE)ST_OBJECT, (INTERP_TYPE)ST_STRUCTURE, OBJID_STRUCTSTATTYPE,
|
||||
scrBaseObjGet, NULL },
|
||||
|
||||
//returns if this unit is currently selected by a player (usually human)
|
||||
{ "selected", VAL_BOOL, (INTERP_TYPE)ST_OBJECT, ST_DROID, OBJID_SELECTED,
|
||||
{ "selected", VAL_BOOL, (INTERP_TYPE)ST_OBJECT, (INTERP_TYPE)ST_DROID, OBJID_SELECTED,
|
||||
scrBaseObjGet, NULL },
|
||||
|
||||
/* This entry marks the end of the variable list */
|
||||
|
@ -1551,7 +1551,7 @@ CALLBACK_SYMBOL asCallbackTable[] =
|
|||
|
||||
//new transporter landed callback
|
||||
{ "CALL_TRANSPORTER_LANDED_B", (TRIGGER_TYPE)CALL_TRANSPORTER_LANDED_B, scrCBTransporterLandedB,
|
||||
3, { ST_GROUP, VAL_INT, VAL_REF|ST_DROID } },
|
||||
3, { (INTERP_TYPE)ST_GROUP, VAL_INT, VAL_REF|ST_DROID } },
|
||||
|
||||
/* This entry marks the end of the callback list */
|
||||
{ "CALLBACK LIST END", 0 }
|
||||
|
|
|
@ -168,20 +168,20 @@ script_name: SCRIPT QTEXT
|
|||
{
|
||||
if (resPresent("BLO",stringname)==TRUE)
|
||||
{
|
||||
psCurrScript=resGetData("BLO",stringname);
|
||||
psCurrScript = (SCRIPT_CODE*)resGetData("BLO",stringname);
|
||||
}
|
||||
else
|
||||
{
|
||||
// change extension to "slo"
|
||||
stringname[extpos]='s';
|
||||
psCurrScript=resGetData("SCRIPT",stringname);
|
||||
psCurrScript = (SCRIPT_CODE*)resGetData("SCRIPT",stringname);
|
||||
}
|
||||
}
|
||||
else if (strncmp(&stringname[extpos],"slo",3)==0)
|
||||
{
|
||||
if (resPresent("SCRIPT",stringname)==TRUE)
|
||||
{
|
||||
psCurrScript=resGetData("SCRIPT",stringname);
|
||||
psCurrScript = (SCRIPT_CODE*)resGetData("SCRIPT",stringname);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue