Files
lba1-classic/SOURCES/GLOBAL.C

261 lines
5.8 KiB
C

#include "defines.h"
/*══════════════════════════════════════════════════════════════════════════*
█▀▀▀█ █▀▀▀▀ █▀▀▀█ ██▀▀▀ █▀▀▀█
██▀▀▀ ██▀▀ ██▀█▀ ▀▀▀▀█ ██ █
▀▀ ▀▀▀▀▀ ▀▀ ▀ ▀▀▀▀▀ ▀▀▀▀▀
*══════════════════════════════════════════════════════════════════════════*/
/*──────────────────────────────────────────────────────────────────────────*/
/*--------- divers ---------------------------*/
UBYTE *BufSpeak ;
UBYTE *LbaFont ;
UBYTE *Screen ;
UBYTE PalettePcx[768+500] ;
WORD MyJoy = 0 ;
WORD MyFire = 0 ;
WORD MyKey = 0 ;
UBYTE *PtrPal ;
WORD LastFire = 0 ;
LONG FlagVsync = 0 ;
WORD FlagMCGA = FALSE ;
LONG FlagCredits = FALSE ;
UBYTE String[256] ;
WORD Value ;
LONG SampleVolume, MusicVolume, CDVolume, LineVolume, MasterVolume ;
WORD SamplesEnable = FALSE ;
WORD FlagPalettePcx = FALSE ;
WORD FlagFade = FALSE ;
WORD Bulle = TRUE ;
WORD FlagBlackPal = FALSE ;
#ifdef CDROM
WORD FlaFromCD = TRUE ;
#else
#ifdef MAGOUILLE_FLA_HD
WORD FlaFromCD = TRUE ; // magouille fla sur HD
#else
WORD FlaFromCD = FALSE ;
#endif
#endif
UBYTE PathFla[_MAX_PATH] ;
LONG Version_US = TRUE ;
/*--------- ressources ---------------------------*/
T_HQR_HEADER *HQR_Samples ;
T_HQR_HEADER *HQR_Midi ;
T_HQR_HEADER *InventoryObj ;
UBYTE *BufferShadow ;
/*--------- disk ---------------------------*/
char PleaseWait[60] ;
UBYTE ProgDrive[_MAX_DRIVE] ;
UBYTE ProgDir[_MAX_DIR] ;
ULONG OrgDrive ;
UBYTE OrgDir[_MAX_DIR] ;
/*
UBYTE Drive[_MAX_DRIVE] ;
UBYTE Dir[_MAX_DIR] ;
*/
UBYTE Name[_MAX_FNAME] ;
UBYTE Ext[_MAX_EXT] ;
//UBYTE OrgPathname[_MAX_PATH] ;
//UBYTE ProgramPathname[_MAX_PATH] ;
//UBYTE Pathname[_MAX_PATH] ;
/*--------- script ---------------------------*/
//UBYTE FicName[_MAX_PATH] ;
//UBYTE *PtrFiche ;
//UBYTE *PtrCommand ;
//UBYTE *PtrFicName ;
/*--------- life tools ---------------------------*/
//UBYTE DefPathname[_MAX_PATH] ;
//UBYTE ScePathname[_MAX_PATH] ;
//UBYTE PcxPathname[_MAX_PATH] ;
T_ZONE *ListZone ;
WORD NbZones = 0 ;
T_TRACK *ListBrickTrack ;
WORD NbBrickTrack = 0 ;
/*
T_FLAG ListFlagCube[MAX_FLAGS_CUBE] ;
T_FLAG ListFlagGame[MAX_FLAGS_GAME] ;
*/
UBYTE ListFlagCube[MAX_FLAGS_CUBE] ;
UBYTE ListFlagGame[MAX_FLAGS_GAME] ;
UBYTE ListFlagInventory[MAX_INVENTORY] ;
/*--------- holomap ----------------------------*/
//T_HOLO_OBJ ListHoloObj[MAX_HOLO_OBJ] ;
//WORD NbHoloObj = 0 ;
T_HOLO_POS *ListHoloPos ; // [MAX_HOLO_POS] ;
UBYTE TabHoloPos[MAX_HOLO_POS] ;
//UBYTE *TabHoloPos ;
/*--------- menus -----------------------------*/
WORD GameChoice ;
WORD GameNbChoices ;
WORD GameListChoice[10] ; // max 7 (normally)
/*--------- perso ----------------------------*/
WORD FlagTheEnd = FALSE ;
WORD ActionNormal = FALSE ;
WORD InventoryAction = -1 ;
WORD Weapon = 0 ; // magicball
WORD Comportement = C_NORMAL ;
//WORD AnimRien = -1;
WORD AnimRienNormal, AnimRienSportif, AnimRienAgressif, AnimRienDiscret, AnimRienProtopack ;
UBYTE *PtrFile3dNormal ;
UBYTE *PtrFile3dSportif ;
UBYTE *PtrFile3dAgressif ;
UBYTE *PtrFile3dDiscret ;
UBYTE *PtrFile3dProtopack ;
WORD SceZoom = 1 ; // hard
WORD Shadow = 2 ; // full
WORD ShadowX, ShadowY, ShadowZ ;
UBYTE ShadowCol ;
WORD NumHolomapTraj = -1 ;
WORD NumCube = 0 ; // num cube en cours
WORD NewCube = -1 ; // change cube demandé
WORD FlagChgCube = 0 ;
WORD NewPosX, NewPosY, NewPosZ ;
WORD SceneStartX, SceneStartY, SceneStartZ ;
WORD CubeStartX, CubeStartY, CubeStartZ ;
WORD GameOverCube = 0 ;
WORD MagicBall = -1 ;
WORD MagicBallType = 1 ;
WORD MagicBallCount = 3 ;
WORD CombatAuto = TRUE ;
WORD MagicLevel = 0 ;
WORD MagicPoint = 0 ;
WORD NbGoldPieces = 0 ;
WORD NbLittleKeys = 0 ;
WORD Chapitre = 0 ;
WORD NbFourLeafClover = 2 ;
WORD NbCloverBox = 2 ;
WORD Island = 0 ;
WORD Fuel = 0 ;
WORD NumPingouin = -1 ;
WORD FlagClimbing = FALSE ;
WORD StartYFalling = 0 ;
T_REAL_VALUE RealFalling ;
WORD StepFalling = 1 ;
WORD FlagWater = FALSE ;
// perso sauvegarde entrée cube
//UBYTE SaveGenBody ;
//WORD SaveCube ;
//WORD SaveChapitre ;
WORD SaveComportement = C_NORMAL ;
WORD SaveBeta = 0 ;
//WORD SaveLifePoint ;
//WORD SaveNbGoldPieces ;
//WORD SaveMagicLevel ;
//WORD SaveMagicPoint ;
//WORD SaveNbCloverBox ;
//WORD SaveNbFourLeafClover ;
//UBYTE SaveListFlagGame[MAX_FLAGS_GAME] ;
/*--------- Extra objs ----------------------------*/
T_EXTRA ListExtra[MAX_EXTRAS] ;
//UBYTE *PtrSpriteExtra ;
T_HQR_HEADER *HQRPtrSpriteExtra ;
WORD *PtrZvExtra ;
/*---------------- incrust display ----------------*/
T_INCRUST_DISP ListIncrustDisp[MAX_INCRUST_DISP] ;
/*--------- moteur 3D ----------------------------*/
UBYTE *BufferAnim ;
UBYTE *PtrBufferAnim ;
LONG NbBodys = 0 ;
UBYTE *PtrBody[MAX_BODYS] ;
// T_HQR_HEADER *HQR_Bodys ;
//LONG NbAnims = 0 ;
//UBYTE *PtrAnim[MAX_ANIMS] ;
T_HQR_HEADER *HQR_Anims ;
LONG NbObjets = 0 ;
T_OBJET ListObjet[MAX_OBJETS] ;
T_SORT ListTri[MAX_OBJETS+MAX_EXTRAS] ;
WORD NumObjFollow = NUM_PERSO ;
/*--------- ambiance ----------------------------*/
WORD SampleAmbiance[4] ;
WORD SampleRepeat[4] ;
WORD SampleRnd[4] ;
WORD SamplePlayed = 0 ;
ULONG TimerNextAmbiance = 0 ;
WORD SecondEcart = 30 ;
WORD SecondMin = 10 ;
WORD CubeJingle = 255 ;
UBYTE *PtrXmi = 0 ;
WORD NumXmi = -2 ;
/*--------- brick iso ----------------------------*/
WORD FirstTime = TRUE ;
WORD CameraZone = FALSE ;
WORD FlagAffGrille = TRUE ;