/*========================================================================= gameslot.cpp Author: PKG Created: Project: Spongebob Purpose: Copyright (c) 2001 Climax Development Ltd ===========================================================================*/ /*---------------------------------------------------------------------- Includes -------- */ #include "game\gameslot.h" #ifndef __SYSTEM_DBG_H__ #include "system\dbg.h" #endif /* Std Lib ------- */ /* Data ---- */ /*---------------------------------------------------------------------- Tyepdefs && Defines ------------------- */ /*---------------------------------------------------------------------- Structure defintions -------------------- */ /*---------------------------------------------------------------------- Function Prototypes ------------------- */ /*---------------------------------------------------------------------- Vars ---- */ CGameSlotManager::GameSlot CGameSlotManager::s_gameSlots[4]; CGameSlotManager::GameSlot *CGameSlotManager::s_currentGameSlot=0; /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CGameSlotManager::init() { int i; for(i=0;im_isInUse=false; slot->m_lives=INITIAL_LIVES; slot->m_continues=INITIAL_CONTINUES; // Clear spatula and kelp token flags for(i=0;im_spatulaCollectedCounts[i]=0; } for(i=0;im_kelpTokenCollectedFlags[i][j]=0; } } #ifdef __USER_paul__ slot->m_kelpTokensHeld=82; #else slot->m_kelpTokensHeld=0; #endif // No party items held yet for(i=0;im_partyItemsHeld[i]=false; } // Mark all levels except first as NOT_OPEN // On a non-cd build, everything starts as open slot->m_levelCompletionState[0]=LEVELCOMPETESTATE_OPEN; for(i=1;im_levelCompletionState[i]=LEVELCOMPETESTATE_NOT_OPEN; } } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CGameSlotManager::copyGameSlot(unsigned int _src,unsigned int _dest) { ASSERT(_src<=NUM_GAME_SLOTS); ASSERT(_dest<=NUM_GAME_SLOTS); s_gameSlots[_dest]=s_gameSlots[_src]; } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CGameSlotManager::setSlotData(int _slot,GameSlot *_data) { ASSERT(_slot<=NUM_GAME_SLOTS); s_gameSlots[_slot]=*_data; } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ CGameSlotManager::GameSlot CGameSlotManager::getSlotData(int _slot) { ASSERT(_slot<=NUM_GAME_SLOTS); return s_gameSlots[_slot]; } /*=========================================================================== end */