reman3/Rayman_X/cpa/public/GAM/STRUCTUR/ErrGame.h

312 lines
13 KiB
C

/*=========================================================================
* ErrGame.h : Management of the errors for GAME
*
* This is a part of the Game project.
*
* Version 1.0
* Creation date 20/08/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__ERRGAME_H_)
#define __ERRGAME_H_
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#ifdef __cplusplus
extern "C" {
#endif
#include "GAM/Header.h"
#define __FATAL_ERR_GAME__
#define __INFORMATION_ERR_GAME__ /**** Treat as a level 1 warning ****/
#define __WARNING_ERR_GAME__ /**** Treat as a level 2 warning ****/
enum e_uwGameErrNumber
{
E_uwGameFatalErr,
#if defined(__FATAL_ERR_GAME__)
/**** Error's errors ****/
E_uwGameFatalErrorNotAFatalError,
E_uwGameInformationErrorIsNotAInformationError,
E_uwGameWarningErrorIsNotAWarningError,
/**** Memory's errors ****/
E_uwGameInitMemoryCheckAlign,
E_uwGameGameMallocBadBlock,
E_uwGameGameMallocBadSize,
E_uwGameGameMallocAlloc,
E_uwGameIncreaseNumberOfSource,
/**** Object's errors ****/
E_uwGameScriptCallBackStateActionsAlreadyRead,
E_uwGameInitAllObjectTreeNullPointer,
E_uwGameInitAllObjectTreeBadInitType,
E_uwGameInitDesinitOneObjectNullPointer,
E_uwGameMiniStructAllocAlreadyAlloc,
E_uwGameMiniStructObjectNull,
E_uwGameMiniStructNull,
E_uwGameCineInfoSuperObjectNull,
/**** Engine's errors ****/
E_uwGameChooseTheGoodInitInvalidMode,
E_uwGameChooseTheGoodDesinitInvalidMode,
E_uwGameChangeEngineModeNewMode,
E_uwGameExploreWorldTreeInvalidSuperObject,
E_uwGameVerifySomeProgramVariableHandleFunction,
E_uwGameLanguage,
E_uwGameLanguageDefinition,
/**** Basic functions errors ****/
E_uwGameAToIBadEntry,
E_uwGameAToFBadEntry,
/**** Script errors ****/
E_uwGameScriptBadNumberOfArg,
E_uwGameScriptBadIPTLinkNumber,
/**** Animations ****/
E_uwGameErrorWhileLoadingAnimation,
E_uwGameBadAnimationGeneralInfo,
E_uwGameBadFrameNumber,
E_uwGameBadChannelNumber,
E_uwGameTooManyAnimations,
E_uwGameCurrentActorNotSet,
E_uwGameNoMorePLAObj,
E_uwGamePLA_NoWantedState,
E_uwGameStateNotInLinkTable,
E_uwGameScriptCallBackCreateNewStateBadNextState,
E_uwGameScriptCallBackCreateNewStateBadTargetState,
E_uwGameScriptCallBackCreateNewStateBadStateToGo,
/**** ViewPort errors ****/
E_uwGameCantCreateFixViewPort,
E_uwGameCantClearViewPort,
E_uwGameCantWriteToViewPort,
E_uwGameCantWriteToViewPortFinished,
E_uwGameCantFlipDevice,
/**** Always errors ****/
E_uwGameKillAlwaysByPersonalType,
/**** Dynamics ****/
E_uwGameDynamScriptCallBackBadParameter,
/**** SubMap ****/
E_uwGameUnCoherentSubMap,
#endif /* __FATAL_ERR_GAME__ */
E_uwGameStartOfWarning,
#if defined(__WARNING_ERR_GAME__)
/**** Engine's warning ****/
E_uwGameChangeEngineModeOldMode,
/**** memory's warning ****/
E_uwGameMallocUserDataAlreadyAllocated,
/**** Input's warning ****/
E_uwGameReadInputKeyboard,
E_uwGameReadInputJoystick,
/**** Object's warning ****/
E_uwGameAddAnAlwaysModelAlreadyExist,
E_uwGameAllocateAlwaysUnknownModel,
E_uwGameAllocateAlwaysNoMorePlace,
E_uwGameKillOneEngineObjectInvalid,
E_uwGameFreeEngineSuperObjectNoCharacter,
E_uwGameFirstInitFamilyStructureNoNull,
E_uwGameFreeUnknownSuperObjectType,
E_uwGameSaveOneEngineCharacters,
E_uwGameSaveAllEngineCharacters,
E_uwGameCreateSOFromEngineObjectAndParentBadSO,
E_uwGameChangeOfMechanicsDuringOneFrame,
E_uwGameBadNumberOfStatesInActivationList,
E_uwGamePLA_BadInitialState,
/*E_uwGameProblemsWithStartingPosition,*/
E_uwGameDebugDynamicAllocation,
#endif /* __WARNING_ERR_GAME__ */
E_uwGameStartOfInformationWarning,
#if defined(__INFORMATION_ERR_GAME__)
/**** Input's information ****/
E_uwGameInitInputKeyboard,
E_uwGameInitInputJoystick,
/**** Memory's information ****/
E_uwGameGameFreeNullPointer,
/**** Object's information ****/
E_uwGameInitOneObjectInvalidObject,
E_uwGameKillAlwaysByRankInvalidObject,
/**** Script's information ****/
E_uwGameScriptCallBackDescriptionUnknownAction,
E_uwGameScriptCallBackDescriptionScriptError,
/**** Sector errors ****/
E_uwGameCurrentSectorInOwnSoundList,
E_uwGameSectorTwiceInSoundList,
E_uwGameCurrentSectorInOwnActivityList,
E_uwGameSectorTwiceInActivityList,
E_uwGameCurrentSectorInOwnCollisionList,
E_uwGameSectorTwiceInCollisionList,
E_uwGameCurrentSectorInOwnGraphicList,
E_uwGameSectorTwiceInGraphicList,
#endif /* __INFORMATION_ERR_GAME__ */
E_uwGameErrNumber,
};
/*------------------*/
/* Global Variables*/
/*------------------*/
EXTERN unsigned char g_ucGameModuleId /* number of identification of the Game module*/
#if defined(D_GameGlobals)
= C_ucModuleNotInitialized
#endif /* D_GameGlobals */
;
#if defined(__ERROR_STRINGS__)
EXTERN CPA_EXPORT char * g_a_szGameInformationModule []
#if defined(D_GameGlobals) && !defined(CPA_WANTS_IMPORT)
= {C_szGamVersion, C_szGamFullName, C_szGamDate}
#endif /* D_GameGlobals && CPA_WANTS_IMPORT */
;
EXTERN char * g_szGameModuleName /* Obliged syntax 'sz'+[Abbreviation of ModuleName]+'ModuleName'*/
#if defined(D_GameGlobals)
= {C_szGamFullName}
#endif /* D_GameGlobals */
;
EXTERN tdstErrorMsg g_a_stGameTabErr[] /* Obliged syntax 'a_sz'+[Abbreviation of ModuleName]+'TabErr'*/
#if defined(D_GameGlobals)
=
{
#if defined(__FATAL_ERR_GAME__)
/* --------------------*/
/**** Error's errors ****/
E_uwGameFatalErrorNotAFatalError,"M_GameFatalError : Try to raise a warning or an information",
E_uwGameInformationErrorIsNotAInformationError,"M_GameInformationError : Try to raise a fatal or a warning",
E_uwGameWarningErrorIsNotAWarningError,"M_GameWarningError : Try to raise a fatal or a information",
/**** Memory's errors ****/
E_uwGameInitMemoryCheckAlign,"fn_vInitMemory : Bad alignment memory",
E_uwGameGameMallocBadBlock,"fnp_vGameMalloc : Bad block memory",
E_uwGameGameMallocBadSize,"fnp_vGameMalloc : Bad size allocation",
E_uwGameGameMallocAlloc,"fnp_vGameMalloc : Null pointer returned",
E_uwGameIncreaseNumberOfSource,"GAM_fn_vMemoryLogFile : Increase number of source",
/**** Object's errors ****/
E_uwGameScriptCallBackStateActionsAlreadyRead,"fn_vScriptCallBackStateActions : Two lines have the same state in script",
E_uwGameInitAllObjectTreeNullPointer,"fn_vInitAllObjectTree : Null pointer",
E_uwGameInitAllObjectTreeBadInitType,"fn_vInitAllObjectTree : Bad initialisation's type",
E_uwGameInitDesinitOneObjectNullPointer,"fn_v(Des)InitOneObject : A object must have p_st3dDatas and p_stStandardGame",
E_uwGameMiniStructAllocAlreadyAlloc,"fn_v####Alloc : Attempt to realloc a mini structure",
E_uwGameMiniStructObjectNull,"Attempt to used a NULL object's pointer",
E_uwGameMiniStructNull,"Attempt to used a NULL object mini-structure's pointer",
E_uwGameCineInfoSuperObjectNull,"Attempt to used CineInfo with no SuperObject",
/**** Engine's errors ****/
E_uwGameChooseTheGoodInitInvalidMode,"fn_vChooseTheGoodInit : invalid engine mode",
E_uwGameChooseTheGoodDesinitInvalidMode,"fn_vChooseTheGoodDesInit : invalid engine mode",
E_uwGameChangeEngineModeNewMode,"fn_vChangeEngineMode : bad new engine mode",
E_uwGameExploreWorldTreeInvalidSuperObject,"fn_vExploreWorldTree : unknown SuperObject type",
E_uwGameVerifySomeProgramVariableHandleFunction,"fn_vVerifySomeProgramVariable : size of tdstEngineObject and stStructureHandleFunction are not compatible",
E_uwGameLanguage,"Array of languages is full.",
E_uwGameLanguageDefinition, "Redefinition of the array of languages." ,
/**** Basic functions errors ****/
E_uwGameAToIBadEntry,"fn_lAToI : string in number.",
E_uwGameAToFBadEntry,"fn_lAToF : string in number.",
/**** Script errors ****/
E_uwGameScriptBadNumberOfArg,"Script callback : bad number of arguments",
E_uwGameScriptBadIPTLinkNumber,"fn_eScriptCallBackIPTLink : Bad link number",
/**** Animations ****/
E_uwGameErrorWhileLoadingAnimation,"",
E_uwGameBadAnimationGeneralInfo,"",
E_uwGameBadFrameNumber,"",
E_uwGameBadChannelNumber,"",
E_uwGameTooManyAnimations,"",
E_uwGameCurrentActorNotSet,"",
E_uwGameNoMorePLAObj,"SuperObjects heap Overflow : increase constant at the top of PlayAnim.h",
E_uwGamePLA_NoWantedState,"WantedState == NULL, a state has ended and no new state has been positionned",
E_uwGameScriptCallBackCreateNewStateBadNextState,"fn_eScriptCallBackCreateNewState : Bad Next State",
E_uwGameScriptCallBackCreateNewStateBadTargetState,"fn_eScriptCallBackCreateNewState : Bad Target State",
E_uwGameScriptCallBackCreateNewStateBadStateToGo,"fn_eScriptCallBackCreateNewState : Bad StateToGo State",
/**** ViewPort errors ****/
E_uwGameCantCreateFixViewPort,"fn_vCreateFixViewPort : failed.",
E_uwGameCantClearViewPort,"fn_vEngine : Can't clear ViewPort.",
E_uwGameCantWriteToViewPort,"fn_vEngine : Can't write to ViewPort.",
E_uwGameCantWriteToViewPortFinished,"fn_vDisplayAll : can't write to ViewPort finished",
E_uwGameCantFlipDevice,"fn_vDisplayAll : can't write to ViewPort finished",
/**** Always errors ****/
E_uwGameKillAlwaysByPersonalType,"fn_vKillAlwaysByPersonalType : Bad SO type founded",
/**** Dynamics ****/
E_uwGameDynamScriptCallBackBadParameter,"fn_eDynamScriptCallBack : Bad parameters",
/**** Submap ****/
E_uwGameUnCoherentSubMap,"fn_vVerifySubMapCoherence : Some loaded sectors are not child of root",
#endif /* __FATAL_ERR_GAME__ */
#ifdef __WARNING_ERR_GAME__
/* --------------------*/
/**** Engine's warning ****/
E_uwGameChangeEngineModeOldMode,"fn_vChangeEngineMode : bad old engine mode",
/**** memory's warning ****/
E_uwGameMallocUserDataAlreadyAllocated,"fn_vMallocUserData : User data already allocated.",
/**** Input's warning ****/
E_uwGameReadInputKeyboard,"fn_vReadInput : keyboard is read but not initialized",
E_uwGameReadInputJoystick,"fn_vReadInput : joystick is read but not initialized",
/**** Object's warning ****/
E_uwGameAddAnAlwaysModelAlreadyExist,"fn_vAddAnAlwaysModel : Always model already exist (ignored)",
E_uwGameAllocateAlwaysUnknownModel,"fn_p_stAllocateAlways : Unknown always model",
E_uwGameAllocateAlwaysNoMorePlace,"fn_p_stAllocateAlways : No more place",
E_uwGameKillOneEngineObjectInvalid,"fn_vKillOneEngineObject : Attempt to kill a invalid object (ignored)",
E_uwGameFreeEngineSuperObjectNoCharacter,"fn_p_stFreeEngineSuperObject : Attempt to free a no character SuperObject (ignored)",
E_uwGameFirstInitFamilyStructureNoNull,"fn_vFirstInitFamilyStructure : g_p_stFamily is not NULL (lost memory) !!!",
E_uwGameFreeUnknownSuperObjectType,"fn_vDestroyAllHierarchy : Unknown super object type (ignored).",
E_uwGameSaveOneEngineCharacters,"fn_vSaveOneEngineCharacters : Can not save character (ignored).",
E_uwGameSaveAllEngineCharacters,"fn_vSaveAllEngineAndAlwaysCharacters : Can not save characters (ignored).",
E_uwGameCreateSOFromEngineObjectAndParentBadSO,"fn_hCreateSOFromEngineObjectAndParent : Try to put a Character SO above a not Physical SO",
E_uwGameChangeOfMechanicsDuringOneFrame,"fn_vMakeCharacterReact : Kind of Mechanics should change at beginning of Frame !",
/* JO 29/05/97*/
E_uwGameBadNumberOfStatesInActivationList,"fn_eScriptCallBackCreateNewZoneSetArray : Will bug in few minuts!!",
E_uwGamePLA_BadInitialState,"Bad Initial State in .car : it doesn't exist in .sta",
/*E_uwGameProblemsWithStartingPosition,"Problem with starting point",*/
E_uwGameDebugDynamicAllocation,"Debug version : dynamic allocation in bloc GAM (don't forget to increase the bloc)",
#endif /* __WARNING_ERR_GAME__ */
#ifdef __INFORMATION_ERR_GAME__
/* --------------------*/
/**** Input's information ****/
E_uwGameInitInputKeyboard,"fn_vInitInput : no keyboard !",
E_uwGameInitInputJoystick,"fn_vInitInput : no joystick !",
/**** Memory's information ****/
E_uwGameGameFreeNullPointer,"fn_vGameFree : Try to free a null pointer !",
/**** Object's information ****/
E_uwGameInitOneObjectInvalidObject,"fn_vInitOneObject : init a invalid object",
E_uwGameKillAlwaysByRankInvalidObject,"fn_vKillAlwaysByRank : attempt to destroy invalid always object",
/**** Script's information ****/
E_uwGameScriptCallBackDescriptionUnknownAction,"fn_eScriptCallBackXxx : unknown action (ignored)",
E_uwGameScriptCallBackDescriptionScriptError,"fn_eScriptCallBackXxx : internal script error (file skipped)",
/**** Sector errors ****/
E_uwGameCurrentSectorInOwnSoundList,"fn_vTestAllSectorsListForIncoherences: Current sector is in its own Sound list",
E_uwGameSectorTwiceInSoundList,"fn_vTestAllSectorsListForIncoherences: Sector is twice in Sound list",
E_uwGameCurrentSectorInOwnActivityList,"fn_vTestAllSectorsListForIncoherences: Current sector is in its own Activity list",
E_uwGameSectorTwiceInActivityList,"fn_vTestAllSectorsListForIncoherences: Sector is twice in Activity list",
E_uwGameCurrentSectorInOwnCollisionList,"fn_vTestAllSectorsListForIncoherences: Current sector is in its own Collision list",
E_uwGameSectorTwiceInCollisionList,"fn_vTestAllSectorsListForIncoherences: Sector is twice in Collision list",
E_uwGameCurrentSectorInOwnGraphicList,"fn_vTestAllSectorsListForIncoherences: Current sector is in its own Graphic list",
E_uwGameSectorTwiceInGraphicList,"fn_vTestAllSectorsListForIncoherences: Sector is twice in Graphic list",
#endif /* __INFORMATION_ERR_GAME__ */
0xffff,"\0"/*fin*/
}
#endif /* D_GameGlobals */
;
#endif /* __ERROR_STRINGS__ */
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif /* !__ERRGAME_H_ */