353 lines
7.6 KiB
C
353 lines
7.6 KiB
C
#include "defines.h"
|
||
|
||
/*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*/
|
||
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
|
||
|
||
#include "ambiance.def"
|
||
#include "diskfunc.def"
|
||
#include "extra.def"
|
||
#include "fiche.def"
|
||
#include "flipbox.def"
|
||
#include "gamemenu.def"
|
||
#include "gerelife.def"
|
||
#include "geretrak.def"
|
||
#include "grille.def"
|
||
#include "holomap.def"
|
||
#include "incrust.def"
|
||
#include "message.def"
|
||
#include "object.def"
|
||
#include "perso.def"
|
||
#include "playfla.def"
|
||
|
||
/* prototype */
|
||
|
||
char *GetMultiText( LONG text, char *dst ) ;
|
||
|
||
WORD GiveObjSelect( WORD type, LONG xm, LONG ym ) ;
|
||
|
||
UBYTE WorldColBrick( WORD xw, WORD yw, WORD zw ) ;
|
||
|
||
WORD ThrowExtra( WORD owner,
|
||
WORD x, WORD y, WORD z, WORD num,
|
||
WORD alpha, WORD beta, WORD vitesse, WORD poids,
|
||
WORD hitforce ) ;
|
||
WORD GetValue() ;
|
||
|
||
WORD GetListObjet( WORD x0, WORD y0 ) ;
|
||
|
||
LONG SceReadWord() ;
|
||
WORD SearchLastZoneSce() ;
|
||
|
||
ULONG HQ_MixSample( WORD numsample, WORD decalage, WORD repeat, WORD volleft, WORD volright ) ;
|
||
void HQ_StopOneSample( WORD num ) ;
|
||
|
||
void *LoadTestMalloc( char *filename ) ;
|
||
|
||
WORD InitAnim( UBYTE gen_anim, WORD flag, UBYTE gen_nextanim, WORD numobj ) ;
|
||
WORD SearchAnim( UBYTE numanim, WORD numobj ) ;
|
||
WORD SearchBody( UBYTE numbody, WORD numobj ) ;
|
||
void LoadFic( UBYTE indexfileobjet, WORD numobj ) ;
|
||
|
||
/*--------- divers ---------------------------------------------*/
|
||
|
||
extern UWORD *BufOrder ;
|
||
extern UBYTE *BufText ;
|
||
extern UBYTE *BufSpeak ;
|
||
|
||
extern UBYTE GamePathname[] ;
|
||
|
||
extern WORD ComportementDebug;
|
||
|
||
extern UBYTE *LbaFont ;
|
||
extern UBYTE *Screen ;
|
||
extern UBYTE PalettePcx[] ;
|
||
extern UBYTE *PtrPal ;
|
||
|
||
extern WORD MyJoy ;
|
||
extern WORD MyFire ;
|
||
extern WORD MyKey ;
|
||
|
||
extern WORD LastFire ;
|
||
|
||
extern LONG FlagVsync ;
|
||
extern WORD FlagMCGA ;
|
||
extern LONG FlagCredits ;
|
||
|
||
extern UBYTE String[] ;
|
||
extern UBYTE EditString[] ;
|
||
extern WORD Value ;
|
||
|
||
extern LONG SampleVolume, MusicVolume, CDVolume, LineVolume, MasterVolume ;
|
||
extern WORD SamplesEnable ;
|
||
extern UBYTE *PtrSample[] ;
|
||
|
||
extern WORD QuickMessage ;
|
||
extern LONG FlecheForcee ;
|
||
|
||
extern WORD FlagPalettePcx ;
|
||
extern WORD FlagFade ;
|
||
extern WORD FlagMessageShade ;
|
||
extern WORD Bulle ;
|
||
extern WORD FlagBlackPal ;
|
||
|
||
extern WORD FlaFromCD ;
|
||
extern UBYTE PathFla[] ;
|
||
|
||
extern LONG Version_US ;
|
||
|
||
/*-------- RESSOURCES ---------------------------------------------*/
|
||
|
||
extern T_HQR_HEADER *HQR_Samples ;
|
||
extern T_HQR_HEADER *HQR_Midi ;
|
||
extern T_HQR_HEADER *InventoryObj ;
|
||
|
||
/*-------- DISKFUNC.C ---------------------------------------------*/
|
||
|
||
extern char PleaseWait[] ;
|
||
|
||
extern UBYTE ProgDrive[] ;
|
||
extern UBYTE ProgDir[] ;
|
||
|
||
extern ULONG OrgDrive ;
|
||
extern UBYTE OrgDir[] ;
|
||
|
||
extern UBYTE Drive[] ;
|
||
extern UBYTE Dir[] ;
|
||
extern UBYTE Name[] ;
|
||
extern UBYTE Ext[] ;
|
||
|
||
extern UBYTE OrgPathname[] ;
|
||
extern UBYTE ProgramPathname[] ;
|
||
|
||
extern UBYTE Pathname[] ;
|
||
|
||
extern UBYTE FliPathname[_MAX_PATH] ;
|
||
|
||
/*-------- SCRIPT.C ---------------------------------------------*/
|
||
|
||
extern UBYTE FicName[] ;
|
||
extern UBYTE *PtrFiche ;
|
||
extern UBYTE *PtrCommand ;
|
||
extern UBYTE *PtrFicName ;
|
||
|
||
/*-------- FLIP_BOX.C ---------------------------------------------*/
|
||
|
||
extern WORD NbPhysBox ;
|
||
extern WORD NbOptPhysBox ;
|
||
|
||
/*-------- LIB_SVGA ---------------------------------------------*/
|
||
|
||
extern WORD NbPolyPoints ;
|
||
|
||
/*-------- life tool ---------------------------------------------*/
|
||
|
||
extern WORD ErrorFlag ;
|
||
|
||
extern WORD FlagInfos ;
|
||
|
||
extern WORD Modif ;
|
||
|
||
extern UBYTE DefPathname[] ;
|
||
extern UBYTE ScePathname[] ;
|
||
extern UBYTE PcxPathname[] ;
|
||
|
||
extern WORD FlagFrame ;
|
||
|
||
extern T_ZONE *ListZone ;
|
||
extern WORD NbZones ;
|
||
|
||
extern WORD IndexZone ;
|
||
extern WORD EditNumZone ;
|
||
extern WORD EditTypeZone ;
|
||
extern WORD VisuTypeZone ;
|
||
|
||
extern UBYTE *ListTypeZone[] ;
|
||
|
||
extern T_TRACK *ListBrickTrack ;
|
||
extern WORD NbBrickTrack ;
|
||
|
||
extern WORD IndexBrickTrack ;
|
||
extern WORD EditNumTrack ;
|
||
|
||
extern WORD ActiveEdit ;
|
||
|
||
/*
|
||
extern T_FLAG ListFlagCube[] ;
|
||
extern T_FLAG ListFlagGame[] ;
|
||
*/
|
||
extern UBYTE ListFlagCube[] ;
|
||
extern UBYTE ListFlagGame[] ;
|
||
|
||
extern UBYTE ListFlagInventory[] ;
|
||
|
||
|
||
extern UBYTE *ListMove[] ;
|
||
|
||
/*--------- holomap ----------------------------*/
|
||
|
||
//extern T_HOLO_OBJ ListHoloObj[MAX_HOLO_OBJ] ;
|
||
//extern WORD NbHoloObj ;
|
||
|
||
extern T_HOLO_POS *ListHoloPos ; // [MAX_HOLO_POS] ;
|
||
extern UBYTE TabHoloPos[] ;
|
||
|
||
/*--------- menus -----------------------------*/
|
||
|
||
extern WORD GameChoice ;
|
||
extern WORD GameNbChoices ;
|
||
extern WORD GameListChoice[] ;
|
||
|
||
/*--------- perso ----------------------------*/
|
||
|
||
extern WORD FlagTheEnd ;
|
||
|
||
extern WORD ActionNormal ;
|
||
extern WORD InventoryAction ;
|
||
extern WORD Weapon ;
|
||
|
||
extern WORD Comportement ;
|
||
extern WORD AnimRien ;
|
||
extern WORD AnimRienNormal, AnimRienSportif, AnimRienAgressif, AnimRienDiscret, AnimRienProtopack ;
|
||
|
||
extern UBYTE *PtrFile3dNormal ;
|
||
extern UBYTE *PtrFile3dSportif ;
|
||
extern UBYTE *PtrFile3dAgressif ;
|
||
extern UBYTE *PtrFile3dDiscret ;
|
||
extern UBYTE *PtrFile3dProtopack ;
|
||
|
||
extern WORD SceZoom ;
|
||
extern WORD Shadow ;
|
||
extern WORD ShadowX, ShadowY, ShadowZ ;
|
||
extern UBYTE ShadowCol ;
|
||
|
||
extern WORD NumHolomapTraj ;
|
||
extern WORD FlagChgCube, NewCube, NumCube ;
|
||
extern WORD NewPosX, NewPosY, NewPosZ ;
|
||
extern WORD SceneStartX, SceneStartY, SceneStartZ ;
|
||
extern WORD CubeStartX, CubeStartY, CubeStartZ ;
|
||
extern WORD GameOverCube ;
|
||
|
||
extern WORD CombatAuto ;
|
||
extern WORD MagicBall ;
|
||
extern WORD MagicBallType ;
|
||
extern WORD MagicBallCount ;
|
||
|
||
extern WORD MagicLevel ;
|
||
extern WORD MagicPoint ;
|
||
extern WORD NbGoldPieces ;
|
||
extern WORD NbLittleKeys ;
|
||
extern WORD Chapitre ;
|
||
extern UBYTE Island ;
|
||
extern WORD Fuel ;
|
||
extern WORD NumPingouin ;
|
||
|
||
extern WORD NbFourLeafClover ;
|
||
extern WORD NbCloverBox ;
|
||
|
||
extern WORD FlagClimbing ;
|
||
extern WORD StartYFalling ;
|
||
extern T_REAL_VALUE RealFalling ;
|
||
extern WORD StepFalling ;
|
||
|
||
extern UBYTE CodeJeu ;
|
||
extern WORD FlagWater ;
|
||
|
||
// perso sauvegarde entr‚e cube
|
||
|
||
extern WORD SaveCube ;
|
||
extern WORD SaveComportement ;
|
||
|
||
extern char SaveStringBody[SIZE_NAME+1] ;
|
||
extern BYTE SaveGenBody ;
|
||
|
||
extern WORD SaveBeta ;
|
||
extern WORD SaveNbGoldPieces ;
|
||
extern WORD SaveMagicLevel ;
|
||
extern WORD SaveMagicPoint ;
|
||
extern WORD SaveLifePoint ;
|
||
extern WORD SaveChapitre ;
|
||
extern WORD SaveNbCloverBox ;
|
||
extern WORD SaveNbFourLeafClover ;
|
||
|
||
/*--------- Extra objs ----------------------------*/
|
||
|
||
extern T_EXTRA ListExtra[] ;
|
||
|
||
//extern UBYTE *PtrSpriteExtra ;
|
||
extern T_HQR_HEADER *HQRPtrSpriteExtra ;
|
||
extern WORD *PtrZvExtra ;
|
||
|
||
/*---------------- incrust display ----------------*/
|
||
|
||
extern T_INCRUST_DISP ListIncrustDisp[] ;
|
||
|
||
/*-------- Moteur 3D ---------------------------------------------*/
|
||
|
||
extern UBYTE *BufferShadow ;
|
||
|
||
extern UBYTE *BufferAnim ;
|
||
extern UBYTE *PtrBufferAnim ;
|
||
|
||
extern LONG NbBodys ;
|
||
extern UBYTE *PtrBody[] ;
|
||
extern T_HQR_HEADER *HQR_Anims ;
|
||
|
||
extern LONG NbObjets ;
|
||
extern T_OBJET ListObjet[] ;
|
||
|
||
extern T_SORT ListTri[] ;
|
||
|
||
extern WORD NumObjFollow ;
|
||
|
||
/*--------- ambiance ----------------------------*/
|
||
|
||
extern WORD SampleAmbiance[] ;
|
||
extern WORD SampleRepeat[] ;
|
||
extern WORD SampleRnd[] ;
|
||
extern WORD SamplePlayed ;
|
||
extern ULONG TimerNextAmbiance ;
|
||
extern WORD SecondEcart ;
|
||
extern WORD SecondMin ;
|
||
extern WORD CubeJingle ;
|
||
extern UBYTE *PtrXmi ;
|
||
extern WORD NumXmi ;
|
||
|
||
/*-------- Brick ISO ---------------------------------------------*/
|
||
|
||
#ifdef BRICK_HQR
|
||
extern UBYTE *BufferBrick ;
|
||
#endif
|
||
extern UBYTE *BufCube ;
|
||
|
||
extern WORD FirstTime ;
|
||
extern WORD CameraZone ;
|
||
|
||
extern LONG StartXCube ;
|
||
extern LONG StartYCube ;
|
||
extern LONG StartZCube ;
|
||
|
||
extern LONG WorldXCube ;
|
||
extern LONG WorldYCube ;
|
||
extern LONG WorldZCube ;
|
||
|
||
extern WORD XpOrgw ;
|
||
extern WORD YpOrgw ;
|
||
|
||
extern WORD LastXmBrickSelected ;
|
||
extern WORD LastYmBrickSelected ;
|
||
extern WORD LastZmBrickSelected ;
|
||
|
||
extern UBYTE *BufCollis ;
|
||
|
||
extern WORD CubeClip ;
|
||
extern WORD CubeClipX, CubeClipY, CubeClipZ ;
|
||
|
||
extern WORD FlagAffGrille ;
|
||
/*--------- Message ---------------------------------------------*/
|
||
|
||
extern WORD NumObjSpeak ;
|
||
extern LONG FlagSpeak ;
|
||
|
||
|
||
|