Improve mission code readability.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3723 4a71c877-e1ca-e34f-864e-861f7616d084master
parent
67d38b5298
commit
ac65ebfdfc
307
src/mission.c
307
src/mission.c
|
@ -325,7 +325,6 @@ void initMission(void)
|
|||
UDWORD inc;
|
||||
|
||||
debug( LOG_NEVER, "***Init Mission ***\n" );
|
||||
//mission.type = MISSION_NONE;
|
||||
mission.type = LDS_NONE;
|
||||
for (inc = 0; inc < MAX_PLAYERS; inc++)
|
||||
{
|
||||
|
@ -338,7 +337,6 @@ void initMission(void)
|
|||
}
|
||||
offWorldKeepLists = FALSE;
|
||||
mission.time = -1;
|
||||
// ffs ab
|
||||
setMissionCountDown();
|
||||
|
||||
mission.ETA = -1;
|
||||
|
@ -363,11 +361,8 @@ void initMission(void)
|
|||
memset(asVTOLReturnPos, 0, sizeof(Vector2i) * MAX_PLAYERS);
|
||||
|
||||
bDroidsToSafety = FALSE;
|
||||
|
||||
|
||||
setPlayCountDown(TRUE);
|
||||
|
||||
|
||||
//start as not cheating!
|
||||
mission.cheatTime = 0;
|
||||
}
|
||||
|
@ -480,7 +475,6 @@ void setMissionCountDown(void)
|
|||
}
|
||||
|
||||
|
||||
//BOOL startMission(MISSION_TYPE missionType, char *pGame)
|
||||
BOOL startMission(LEVEL_TYPE missionType, char *pGame)
|
||||
{
|
||||
BOOL loaded = TRUE;
|
||||
|
@ -492,42 +486,9 @@ BOOL startMission(LEVEL_TYPE missionType, char *pGame)
|
|||
/* and win/lose video is obvioulsy not playing */
|
||||
setScriptWinLoseVideo(PLAY_NONE);
|
||||
|
||||
//HACKY HACK HACK
|
||||
// this inits the flag so that 'reinforcements have arrived' message isn't played for the first transporter load
|
||||
initFirstTransporterFlag();
|
||||
|
||||
// if (missionType == LDS_CAMSTART)
|
||||
// {
|
||||
//only load up one campaign start
|
||||
// if (!DemoStart)
|
||||
// {
|
||||
// DBERROR(("Unable to load mission"));
|
||||
// return FALSE;
|
||||
// }
|
||||
// DemoStart = FALSE;
|
||||
// }
|
||||
// else if (missionType == LDS_MKEEP)
|
||||
// {
|
||||
//only load up one other mission
|
||||
// if (!DemoExpand)
|
||||
// {
|
||||
// DBERROR(("Unable to load mission"));
|
||||
// return FALSE;
|
||||
// }
|
||||
// DemoExpand = FALSE;
|
||||
// }
|
||||
// else if(missionType == LDS_BETWEEN)
|
||||
// {
|
||||
// // do nothing.
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //don't want to load up any other type of mission
|
||||
// DBERROR(("Unable to load mission"));
|
||||
// return FALSE;
|
||||
// }
|
||||
|
||||
//if (mission.type != MISSION_NONE)
|
||||
if (mission.type != LDS_NONE)
|
||||
{
|
||||
/*mission type gets set to none when you have returned from a mission
|
||||
|
@ -541,7 +502,6 @@ BOOL startMission(LEVEL_TYPE missionType, char *pGame)
|
|||
initEffectsSystem();
|
||||
|
||||
//load the game file for all types of mission except a Between Mission
|
||||
//if (missionType != MISSION_BETWEEN)
|
||||
if (missionType != LDS_BETWEEN)
|
||||
{
|
||||
loadGameInit(pGame);
|
||||
|
@ -581,22 +541,6 @@ BOOL startMission(LEVEL_TYPE missionType, char *pGame)
|
|||
}
|
||||
case LDS_CAMCHANGE:
|
||||
{
|
||||
/*if (getCampaignNumber() == 1)
|
||||
{
|
||||
//play the cam 2 video
|
||||
seq_ClearSeqList();
|
||||
seq_AddSeqToList("cam2/c002.rpl",NULL,"cam2/c002.txa",FALSE);
|
||||
seq_StartNextFullScreenVideo();
|
||||
}
|
||||
else
|
||||
{
|
||||
//play the cam 3 video
|
||||
seq_ClearSeqList();
|
||||
seq_AddSeqToList("cam2/cam2out.rpl",NULL,NULL,FALSE);
|
||||
seq_AddSeqToList("cam3/c003.rpl",NULL,"cam3/c003.txa",FALSE);
|
||||
seq_StartNextFullScreenVideo();
|
||||
}*/
|
||||
|
||||
if (!startMissionCampaignChange(pGame))
|
||||
{
|
||||
loaded = FALSE;
|
||||
|
@ -701,10 +645,8 @@ void addTransporterTimerInterface(void)
|
|||
{
|
||||
DROID *psDroid, *psTransporter;
|
||||
BOOL bAddInterface = FALSE;
|
||||
|
||||
W_CLICKFORM *psForm;
|
||||
|
||||
|
||||
//check if reinforcements are allowed
|
||||
if (mission.ETA >= 0)
|
||||
{
|
||||
|
@ -720,20 +662,6 @@ void addTransporterTimerInterface(void)
|
|||
}
|
||||
}
|
||||
if (psDroid)
|
||||
{
|
||||
//don't bother checking for reinforcements - always add it if you've got a Transporter
|
||||
//check the player has some reinforcements back at home
|
||||
/*psDroid = NULL;
|
||||
for (psDroid = mission.apsDroidLists[selectedPlayer]; psDroid !=
|
||||
NULL; psDroid = psDroid->psNext)
|
||||
{
|
||||
if (psDroid->droidType != DROID_TRANSPORTER)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
//if reinforcements available
|
||||
if (psDroid)*/
|
||||
{
|
||||
bAddInterface = TRUE;
|
||||
|
||||
|
@ -756,8 +684,6 @@ void addTransporterTimerInterface(void)
|
|||
formSetClickState(psForm, WBUT_LOCK);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
// if criteria not met
|
||||
|
@ -935,7 +861,6 @@ void saveMissionData(void)
|
|||
if (psStructBeingBuilt == psStruct)
|
||||
{
|
||||
// check there is enough power to complete
|
||||
//inc = psStruct->pStructureType->powerToBuild - psStruct->currentPowerAccrued;
|
||||
inc = structPowerToBuild(psStruct) - psStruct->currentPowerAccrued;
|
||||
if (inc > 0)
|
||||
{
|
||||
|
@ -996,12 +921,6 @@ void saveMissionData(void)
|
|||
}
|
||||
}
|
||||
|
||||
//THIS HAPPENS AT THE END OF THE CAMCHANGE MISSION NOW - AB 22/12/98
|
||||
//before copy the pointers over check selectedPlayer's mission.droids since
|
||||
//there might be some from the previous camapign
|
||||
//processPreviousCampDroids();
|
||||
|
||||
|
||||
for (inc = 0; inc < MAX_PLAYERS; inc++)
|
||||
{
|
||||
mission.apsStructLists[inc] = apsStructLists[inc];
|
||||
|
@ -1027,8 +946,6 @@ void saveMissionData(void)
|
|||
initEffectsSystem();
|
||||
|
||||
resetRadarRedraw();
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1094,7 +1011,6 @@ void restoreMissionData(void)
|
|||
}
|
||||
//swap mission data over
|
||||
|
||||
|
||||
psMapTiles = mission.psMapTiles;
|
||||
|
||||
aMapLinePoints = mission.aMapLinePoints;
|
||||
|
@ -1143,11 +1059,9 @@ void restoreMissionData(void)
|
|||
|
||||
resetRadarRedraw();
|
||||
|
||||
|
||||
// reset the environ map back to the homebase settings
|
||||
environReset();
|
||||
|
||||
|
||||
//intSetMapPos(mission.playerX, mission.playerY);
|
||||
}
|
||||
|
||||
|
@ -1166,9 +1080,6 @@ void saveMissionLimboData(void)
|
|||
// there might be some from the previous camapign
|
||||
processPreviousCampDroids();
|
||||
|
||||
//only need to keep the selectedPlayer's droid's separate
|
||||
//mission.apsDroidLists[selectedPlayer] = apsDroidLists[selectedPlayer];
|
||||
//apsDroidLists[selectedPlayer] = NULL;
|
||||
// move droids properly - does all the clean up code
|
||||
for (psDroid = apsDroidLists[selectedPlayer]; psDroid != NULL; psDroid = psNext)
|
||||
{
|
||||
|
@ -1180,46 +1091,8 @@ void saveMissionLimboData(void)
|
|||
}
|
||||
apsDroidLists[selectedPlayer] = NULL;
|
||||
|
||||
//this is happening in a separate function now so can be called once the mission has started
|
||||
/*apsDroidLists[selectedPlayer] = apsLimboDroids[selectedPlayer];
|
||||
apsLimboDroids[selectedPlayer] = NULL;
|
||||
|
||||
//set up location for each of the droids
|
||||
for (psDroid = apsDroidLists[selectedPlayer]; psDroid != NULL; psDroid =
|
||||
psDroid->psNext)
|
||||
{
|
||||
droidX = map_coord(getLandingX(LIMBO_LANDING));
|
||||
droidY = map_coord(getLandingY(LIMBO_LANDING));
|
||||
pickRes = pickHalfATile(&droidX, &droidY,LOOK_FOR_EMPTY_TILE);
|
||||
if (pickRes == NO_FREE_TILE )
|
||||
{
|
||||
ASSERT( FALSE, "saveMissionLimboData: Unable to find a free location" );
|
||||
}
|
||||
psDroid->pos.x = (UWORD)world_coord(droidX);
|
||||
psDroid->pos.y = (UWORD)world_coord(droidY);
|
||||
if (pickRes == HALF_FREE_TILE )
|
||||
{
|
||||
psDroid->pos.x += TILE_UNITS;
|
||||
psDroid->pos.y += TILE_UNITS;
|
||||
}
|
||||
psDroid->pos.z = map_Height(psDroid->pos.x, psDroid->pos.y);
|
||||
updateDroidOrientation(psDroid);
|
||||
//psDroid->lastTile = mapTile(map_coord(psDroid->pos.x),
|
||||
// map_coord(psDroid->pos.y));
|
||||
psDroid->selected = FALSE;
|
||||
//this is mainly for VTOLs
|
||||
psDroid->psBaseStruct = NULL;
|
||||
psDroid->cluster = 0;
|
||||
//initialise the movement data
|
||||
initDroidMovement(psDroid);
|
||||
//make sure the died flag is not set
|
||||
psDroid->died = FALSE;
|
||||
|
||||
}*/
|
||||
|
||||
// any selectedPlayer's factories/research need to be put on holdProduction/holdresearch
|
||||
for (psStruct = apsStructLists[selectedPlayer]; psStruct != NULL; psStruct =
|
||||
psStruct->psNext)
|
||||
for (psStruct = apsStructLists[selectedPlayer]; psStruct != NULL; psStruct = psStruct->psNext)
|
||||
{
|
||||
if (StructIsFactory(psStruct))
|
||||
{
|
||||
|
@ -1230,8 +1103,6 @@ void saveMissionLimboData(void)
|
|||
holdResearch(psStruct);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//this is called via a script function to place the Limbo droids once the mission has started
|
||||
|
@ -1241,9 +1112,8 @@ void placeLimboDroids(void)
|
|||
UDWORD droidX, droidY;
|
||||
PICKTILE pickRes;
|
||||
|
||||
//copy the droids across for the selected Player
|
||||
for (psDroid = apsLimboDroids[selectedPlayer]; psDroid != NULL;
|
||||
psDroid = psNext)
|
||||
// Copy the droids across for the selected Player
|
||||
for (psDroid = apsLimboDroids[selectedPlayer]; psDroid != NULL; psDroid = psNext)
|
||||
{
|
||||
psNext = psDroid->psNext;
|
||||
if (droidRemove(psDroid, apsLimboDroids))
|
||||
|
@ -1324,61 +1194,31 @@ void saveCampaignData(void)
|
|||
UBYTE inc;
|
||||
DROID *psDroid, *psNext, *psSafeDroid, *psNextSafe, *psCurr, *psCurrNext;
|
||||
|
||||
//if the droids have been moved to safety then get any Transporters that exist
|
||||
// If the droids have been moved to safety then get any Transporters that exist
|
||||
if (getDroidsToSafetyFlag())
|
||||
{
|
||||
//move any Transporters into the mission list
|
||||
// Move any Transporters into the mission list
|
||||
psDroid = apsDroidLists[selectedPlayer];
|
||||
while(psDroid != NULL)
|
||||
{
|
||||
psNext = psDroid->psNext;
|
||||
if (psDroid->droidType == DROID_TRANSPORTER)
|
||||
{
|
||||
/*Now - we want to empty the transporter and make it turn up
|
||||
with the first ten out of the previous mission*/
|
||||
// Empty the transporter into the mission list
|
||||
ASSERT(psDroid->psGroup != NULL, "saveCampaignData: Transporter does not have a group");
|
||||
|
||||
//we want to make sure they are full
|
||||
/*if (calcRemainingCapacity(psDroid))
|
||||
//before we move the droid into the mission list - check to see if it's empty
|
||||
//if (psDroid->psGroup && psDroid->psGroup->refCount == 1)
|
||||
{
|
||||
//fill it with droids from the mission list
|
||||
for (psSafeDroid = mission.apsDroidLists[selectedPlayer];
|
||||
psSafeDroid != NULL; psSafeDroid = psNextSafe)
|
||||
{
|
||||
psNextSafe = psSafeDroid->psNext;
|
||||
//add to the Transporter, checking for when full
|
||||
if (checkTransporterSpace(psDroid, psSafeDroid))
|
||||
{
|
||||
if (droidRemove(psSafeDroid, mission.apsDroidLists))
|
||||
{
|
||||
grpJoin(psDroid->psGroup, psSafeDroid);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//setting this will cause the loop to end
|
||||
psNextSafe = NULL;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
//empty the transporter into the mission list
|
||||
ASSERT( psDroid->psGroup != NULL,
|
||||
"saveCampaignData: Transporter does not have a group" );
|
||||
|
||||
for (psCurr = psDroid->psGroup->psList; psCurr != NULL && psCurr !=
|
||||
psDroid; psCurr = psCurrNext)
|
||||
for (psCurr = psDroid->psGroup->psList; psCurr != NULL && psCurr != psDroid; psCurr = psCurrNext)
|
||||
{
|
||||
psCurrNext = psCurr->psGrpNext;
|
||||
//remove it from the transporter group
|
||||
// Remove it from the transporter group
|
||||
grpLeave( psDroid->psGroup, psCurr);
|
||||
//cam change add droid
|
||||
// Cam change add droid
|
||||
psCurr->pos.x = INVALID_XY;
|
||||
psCurr->pos.y = INVALID_XY;
|
||||
//add it back into current droid lists
|
||||
// Add it back into current droid lists
|
||||
addDroid(psCurr, mission.apsDroidLists);
|
||||
}
|
||||
//remove the transporter from the current list
|
||||
// Remove the transporter from the current list
|
||||
if (droidRemove(psDroid, apsDroidLists))
|
||||
{
|
||||
//cam change add droid
|
||||
|
@ -1392,7 +1232,7 @@ void saveCampaignData(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
//reserve the droids for selected player for start of next campaign
|
||||
// Reserve the droids for selected player for start of next campaign
|
||||
mission.apsDroidLists[selectedPlayer] = apsDroidLists[selectedPlayer];
|
||||
apsDroidLists[selectedPlayer] = NULL;
|
||||
psDroid = mission.apsDroidLists[selectedPlayer];
|
||||
|
@ -1487,8 +1327,8 @@ BOOL startMissionOffClear(char *pGame)
|
|||
|
||||
//this gets set when the timer is added in scriptFuncs
|
||||
//mission.startTime = gameTime;
|
||||
// ffs ab
|
||||
//the message should have been played at the between stage
|
||||
|
||||
// The message should have been played at the between stage
|
||||
missionCountDown &= ~NOT_PLAYED_ACTIVATED;
|
||||
|
||||
return TRUE;
|
||||
|
@ -1513,8 +1353,8 @@ BOOL startMissionOffKeep(char *pGame)
|
|||
|
||||
//this gets set when the timer is added in scriptFuncs
|
||||
//mission.startTime = gameTime;
|
||||
// ffs ab
|
||||
//the message should have been played at the between stage
|
||||
|
||||
// The message should have been played at the between stage
|
||||
missionCountDown &= ~NOT_PLAYED_ACTIVATED;
|
||||
|
||||
return TRUE;
|
||||
|
@ -1522,21 +1362,18 @@ BOOL startMissionOffKeep(char *pGame)
|
|||
|
||||
BOOL startMissionCampaignStart(char *pGame)
|
||||
{
|
||||
//clear out all intelligence screen messages
|
||||
// Clear out all intelligence screen messages
|
||||
freeMessages();
|
||||
|
||||
//check no units left with any settings that are invalid
|
||||
// Check no units left with any settings that are invalid
|
||||
clearCampaignUnits();
|
||||
|
||||
//load in the new game details
|
||||
// Load in the new game details
|
||||
if (!loadGame(pGame, !KEEPOBJECTS, FREEMEM, FALSE))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//call after everything has been loaded up - done on stageThreeInit
|
||||
//gridReset();
|
||||
|
||||
offWorldKeepLists = FALSE;
|
||||
|
||||
return TRUE;
|
||||
|
@ -1544,13 +1381,13 @@ BOOL startMissionCampaignStart(char *pGame)
|
|||
|
||||
BOOL startMissionCampaignChange(char *pGame)
|
||||
{
|
||||
//clear out all intelligence screen messages
|
||||
// Clear out all intelligence screen messages
|
||||
freeMessages();
|
||||
|
||||
//check no units left with any settings that are invalid
|
||||
// Check no units left with any settings that are invalid
|
||||
clearCampaignUnits();
|
||||
|
||||
//clear out the production run between campaigns
|
||||
// Clear out the production run between campaigns
|
||||
changeProductionPlayer((UBYTE)selectedPlayer);
|
||||
|
||||
saveCampaignData();
|
||||
|
@ -1612,8 +1449,7 @@ void clearCampaignUnits(void)
|
|||
{
|
||||
DROID *psDroid;
|
||||
|
||||
for (psDroid = apsDroidLists[selectedPlayer]; psDroid != NULL; psDroid =
|
||||
psDroid->psNext)
|
||||
for (psDroid = apsDroidLists[selectedPlayer]; psDroid != NULL; psDroid = psDroid->psNext)
|
||||
{
|
||||
orderDroid(psDroid, DORDER_STOP);
|
||||
setDroidBase(psDroid, NULL);
|
||||
|
@ -1639,25 +1475,13 @@ static void processMission(void)
|
|||
if (droidRemove(psDroid, apsDroidLists))
|
||||
{
|
||||
addDroid(psDroid, mission.apsDroidLists);
|
||||
// just remove the droid from the grid cos
|
||||
// there is only one grid which gets reset when we go back to the
|
||||
// campaign map
|
||||
//gridRemoveObject((BASE_OBJECT *)psDroid); - happens in droidRemove()
|
||||
//set the x/y for now
|
||||
//psDroid->pos.x = getHomeLandingX() + 256;
|
||||
//psDroid->pos.y = getHomeLandingY() + 256;
|
||||
//droidX = map_coord(getLandingX(psDroid->player)); //map_coord(getHomeLandingX());
|
||||
//droidY = map_coord(getLandingY(psDroid->player)); //map_coord(getHomeLandingY());
|
||||
droidX = getHomeLandingX();
|
||||
droidY = getHomeLandingY();
|
||||
//swap the droid and map pointers
|
||||
// Swap the droid and map pointers
|
||||
swapMissionPointers();
|
||||
|
||||
pickRes = pickHalfATile(&droidX, &droidY,LOOK_FOR_EMPTY_TILE);
|
||||
if (pickRes == NO_FREE_TILE )
|
||||
{
|
||||
ASSERT( FALSE, "processMission: Unable to find a free location" );
|
||||
}
|
||||
ASSERT(pickRes != NO_FREE_TILE, "processMission: Unable to find a free location" );
|
||||
psDroid->pos.x = (UWORD)world_coord(droidX);
|
||||
psDroid->pos.y = (UWORD)world_coord(droidY);
|
||||
if (pickRes == HALF_FREE_TILE )
|
||||
|
@ -1668,29 +1492,21 @@ static void processMission(void)
|
|||
ASSERT(worldOnMap(psDroid->pos.x,psDroid->pos.y), "the droid is not on the map");
|
||||
psDroid->pos.z = map_Height(psDroid->pos.x, psDroid->pos.y);
|
||||
updateDroidOrientation(psDroid);
|
||||
/* psDroid->lastTile = mapTile(map_coord(psDroid->pos.x),
|
||||
map_coord(psDroid->pos.y));
|
||||
*/
|
||||
//swap the droid and map pointers back again
|
||||
// Swap the droid and map pointers back again
|
||||
swapMissionPointers();
|
||||
psDroid->selected = FALSE;
|
||||
//this is mainly for VTOLs
|
||||
// This is mainly for VTOLs
|
||||
setDroidBase(psDroid, NULL);
|
||||
psDroid->cluster = 0;
|
||||
//initialise the movement data
|
||||
// Initialise the movement data
|
||||
initDroidMovement(psDroid);
|
||||
|
||||
//orderSelectedLoc(psDroid->player, psDroid->pos.x + 3 * TILE_UNITS,
|
||||
// psDroid->pos.y + 3 * TILE_UNITS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define MAXLIMBODROIDS (999)
|
||||
|
||||
|
||||
/*This deals with droids at the end of an offworld Limbo mission*/
|
||||
void processMissionLimbo(void)
|
||||
{
|
||||
|
@ -1714,25 +1530,19 @@ void processMissionLimbo(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
//remove out of stored list and add to current Droid list
|
||||
// Remove out of stored list and add to current Droid list
|
||||
if (droidRemove(psDroid, apsDroidLists))
|
||||
{
|
||||
//limbo list invalidate XY
|
||||
// Limbo list invalidate XY
|
||||
psDroid->pos.x = INVALID_XY;
|
||||
psDroid->pos.y = INVALID_XY;
|
||||
addDroid(psDroid, apsLimboDroids);
|
||||
//this is mainly for VTOLs
|
||||
// This is mainly for VTOLs
|
||||
setDroidBase(psDroid, NULL);
|
||||
psDroid->cluster = 0;
|
||||
orderDroid(psDroid, DORDER_STOP);
|
||||
|
||||
numDroidsAddedToLimboList++;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1746,11 +1556,11 @@ void swapMissionPointers(void)
|
|||
void **ppVoid;
|
||||
UDWORD udwTemp, inc;
|
||||
|
||||
//swap psMapTiles
|
||||
// Swap psMapTiles
|
||||
pVoid = (void*)psMapTiles;
|
||||
psMapTiles = mission.psMapTiles;
|
||||
mission.psMapTiles = (MAPTILE *)pVoid;
|
||||
//swap map sizes
|
||||
// Swap map sizes
|
||||
udwTemp = mapWidth;
|
||||
mapWidth = mission.mapWidth;
|
||||
mission.mapWidth = udwTemp;
|
||||
|
@ -1776,7 +1586,7 @@ void swapMissionPointers(void)
|
|||
pVoid = (void*)aZoneReachable;
|
||||
aZoneReachable = mission.aZoneReachable;
|
||||
mission.aZoneReachable = (UBYTE *)pVoid;
|
||||
//swap scroll limits
|
||||
// Swap scroll limits
|
||||
udwTemp = scrollMinX;
|
||||
scrollMinX = mission.scrollMinX;
|
||||
mission.scrollMinX = udwTemp;
|
||||
|
@ -1804,44 +1614,6 @@ void swapMissionPointers(void)
|
|||
apsFlagPosLists[inc] = mission.apsFlagPosLists[inc];
|
||||
mission.apsFlagPosLists[inc] = (FLAG_POSITION *)pVoid;
|
||||
}
|
||||
|
||||
/*
|
||||
for (inc = 0; inc < MAX_PLAYERS; inc++)
|
||||
{
|
||||
udwTemp = iTranspEntryTileX[inc];
|
||||
iTranspEntryTileX[inc] = mission.iTranspEntryTileX[inc];
|
||||
mission.iTranspEntryTileX[inc] = udwTemp;
|
||||
udwTemp = iTranspEntryTileY[inc];
|
||||
iTranspEntryTileY[inc] = mission.iTranspEntryTileY[inc];
|
||||
mission.iTranspEntryTileY[inc] = udwTemp;
|
||||
udwTemp = iTranspExitTileX[inc];
|
||||
iTranspExitTileX[inc] = mission.iTranspExitTileX[inc];
|
||||
mission.iTranspExitTileX[inc] = udwTemp;
|
||||
udwTemp = iTranspExitTileY[inc];
|
||||
iTranspExitTileY[inc] = mission.iTranspExitTileY[inc];
|
||||
mission.iTranspExitTileY[inc] = udwTemp;
|
||||
}
|
||||
*/
|
||||
// NOTE: none of the gateway pointers are swapped at the moment
|
||||
// which isn't a problem for the current usage - might need to be
|
||||
// added later
|
||||
/* stuff to add
|
||||
UDWORD type; //defines which start and end functions to use - see levels_type in levels.h
|
||||
//struct _proximity_display *apsProxDisp[MAX_PLAYERS];
|
||||
FLAG_POSITION *apsFlagPosLists[MAX_PLAYERS];
|
||||
PLAYER_POWER asPower[MAX_PLAYERS];
|
||||
|
||||
//stuff for save game
|
||||
UDWORD startTime; //time the mission started
|
||||
SDWORD time; //how long the mission can last
|
||||
// < 0 = no limit
|
||||
SDWORD ETA; //time taken for reinforcements to arrive
|
||||
// < 0 = none allowed
|
||||
UWORD homeLZ_X; //selectedPlayer's LZ x and y
|
||||
UWORD homeLZ_Y;
|
||||
SDWORD playerX; //original view position
|
||||
SDWORD playerY;
|
||||
*/
|
||||
}
|
||||
|
||||
void endMission(void)
|
||||
|
@ -3424,8 +3196,6 @@ BOOL intAddMissionResult(BOOL result, BOOL bPlaySuccess)
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void intRemoveMissionResultNoAnim(void)
|
||||
{
|
||||
widgDelete(psWScreen, IDMISSIONRES_TITLE);
|
||||
|
@ -3632,7 +3402,6 @@ void intCDCancel( void )
|
|||
|
||||
|
||||
//sets up the game to start a new mission
|
||||
//BOOL setUpMission(MISSION_TYPE type)
|
||||
BOOL setUpMission(UDWORD type)
|
||||
{
|
||||
//close the interface
|
||||
|
@ -3753,20 +3522,14 @@ void adjustMissionPower(void)
|
|||
game needs to be paused*/
|
||||
void setMissionPauseState(void)
|
||||
{
|
||||
|
||||
if (!bMultiPlayer)
|
||||
{
|
||||
|
||||
|
||||
gameTimeStop();
|
||||
setGameUpdatePause(TRUE);
|
||||
setAudioPause(TRUE);
|
||||
setScriptPause(TRUE);
|
||||
setConsolePause(TRUE);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*resets the pause states */
|
||||
|
|
|
@ -452,9 +452,9 @@ void removeDroid(DROID *psDroidToRemove, DROID *pList[MAX_PLAYERS])
|
|||
"removeUnit: invalid player for unit" );
|
||||
removeObjectFromList((BASE_OBJECT**)pList, (BASE_OBJECT*)psDroidToRemove);
|
||||
|
||||
/*whenever a droid is removed from the current list its died
|
||||
flag is set to NOT_CURRENT_LIST so that anything targetting
|
||||
it will cancel itself - HACK?!*/
|
||||
/* Whenever a droid is removed from the current list its died
|
||||
* flag is set to NOT_CURRENT_LIST so that anything targetting
|
||||
* it will cancel itself, and we know it is not really on the map. */
|
||||
if (pList[psDroidToRemove->player] == apsDroidLists[psDroidToRemove->player])
|
||||
{
|
||||
psDroidToRemove->died = NOT_CURRENT_LIST;
|
||||
|
|
|
@ -971,17 +971,13 @@ BOOL scrAddDroidToTransporter(void)
|
|||
|
||||
if (psTransporter == NULL || psDroid == NULL)
|
||||
{
|
||||
//ignore!
|
||||
ASSERT(FALSE, "scrAddUnitToTransporter: null unit passed");
|
||||
return TRUE;
|
||||
return TRUE; // allow to continue
|
||||
}
|
||||
|
||||
ASSERT( psTransporter != NULL,
|
||||
"scrAddUnitToTransporter: invalid transporter pointer" );
|
||||
ASSERT( psDroid != NULL,
|
||||
"scrAddUnitToTransporter: invalid unit pointer" );
|
||||
ASSERT( psTransporter->droidType == DROID_TRANSPORTER,
|
||||
"scrAddUnitToTransporter: invalid transporter type" );
|
||||
ASSERT(psTransporter != NULL, "scrAddUnitToTransporter: invalid transporter pointer");
|
||||
ASSERT(psDroid != NULL, "scrAddUnitToTransporter: invalid unit pointer");
|
||||
ASSERT(psTransporter->droidType == DROID_TRANSPORTER, "scrAddUnitToTransporter: invalid transporter type");
|
||||
|
||||
/* check for space */
|
||||
if (checkTransporterSpace(psTransporter, psDroid))
|
||||
|
|
Loading…
Reference in New Issue