Files
lba1-classic/SOURCES/GLOBAL.C
Gwen Gourevich c5f4f6ba25 Initial commit
2021-10-27 10:34:18 +02:00

261 lines
5.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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 entre 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 ;