Initial commit
This commit is contained in:
228
SOURCES/DISKFUNC.C
Normal file
228
SOURCES/DISKFUNC.C
Normal file
@@ -0,0 +1,228 @@
|
||||
#include "c_extern.h"
|
||||
#include "direct.h"
|
||||
|
||||
#include <dos.h>
|
||||
|
||||
UBYTE *PtrSce ;
|
||||
UBYTE *PtrScene ;
|
||||
|
||||
#define GET_BYTE (*PtrSce++)
|
||||
#define GET_WORD (*(WORD*)PtrSce) ; PtrSce+=2
|
||||
|
||||
/*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*
|
||||
ÛßßßÜ Û ÛÛßßß Û Üß Ûßßßß Û Û ÛÛÜ Û Ûßßßß
|
||||
ÛÛ Û ÛÛ ßßßßÛ ÛÛßÜ ÛÛßß ÛÛ Û ÛÛßÛÛ ÛÛ
|
||||
ßßßß ßß ßßßßß ßß ß ßßßßß ßß ßßßßß ßß ß ßßßßß
|
||||
*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*/
|
||||
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
|
||||
|
||||
void GetDiskEnv( UBYTE *progpath )
|
||||
{
|
||||
_splitpath( (char*)progpath, ProgDrive, ProgDir, Name, Ext ) ;
|
||||
getcwd( OrgDir, _MAX_DIR ) ;
|
||||
_dos_getdrive( &OrgDrive ) ;
|
||||
}
|
||||
|
||||
void RestoreDiskEnv()
|
||||
{
|
||||
ULONG total ;
|
||||
|
||||
_dos_setdrive( OrgDrive, &total ) ;
|
||||
chdir( OrgDir ) ;
|
||||
}
|
||||
|
||||
/*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*
|
||||
ÛÛßßß Ûßßßß Ûßßßß ÛÛÜ Û Ûßßßß Ûßßßß Û Û Ûßßßß
|
||||
ßßßßÛ ÛÛ ÛÛßß ÛÛßÛÛ ÛÛßß ÛÛßß ÛÛ ÛÛ ÛÛßß
|
||||
ßßßßß ßßßßß ßßßßß ßß ß ßßßßß ßßßßß ßß ßß ßßßßß ßßßßß
|
||||
*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*/
|
||||
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
|
||||
|
||||
WORD LoadScene( WORD numscene )
|
||||
{
|
||||
T_OBJET *ptrobj ;
|
||||
WORD n, info3 ;
|
||||
UBYTE string[256] ;
|
||||
UBYTE mess[256] ;
|
||||
WORD sizetoload ;
|
||||
WORD indexfile3d ;
|
||||
|
||||
// PtrScene = PtrSce = LoadMalloc_HQR( PATH_RESSOURCE"scene.hqr", numscene ) ;
|
||||
|
||||
HQRM_Load( PATH_RESSOURCE"scene.hqr", numscene, &PtrScene ) ;
|
||||
CHECK_MEMORY
|
||||
|
||||
PtrSce = PtrScene ;
|
||||
|
||||
if( !PtrSce )
|
||||
{
|
||||
Message( "Scene.Hqr introuvable ou pas assez mem", TRUE ) ;
|
||||
}
|
||||
|
||||
// info world: INFO_WORLD
|
||||
|
||||
NewCube = numscene ;
|
||||
|
||||
Island = GET_BYTE ;
|
||||
|
||||
GameOverCube = GET_BYTE ;
|
||||
|
||||
n = GET_WORD ;
|
||||
n = GET_WORD ;
|
||||
|
||||
// ListHoloObj[NUM_PERSO].Alpha = GET_WORD ;
|
||||
// ListHoloObj[NUM_PERSO].Beta = GET_WORD ;
|
||||
// ListHoloObj[NUM_PERSO].Size = GET_WORD ;
|
||||
|
||||
// ambiance: AMBIANCE
|
||||
|
||||
AlphaLight = GET_WORD ;
|
||||
BetaLight = GET_WORD ;
|
||||
|
||||
SampleAmbiance[0] = GET_WORD ;
|
||||
SampleRepeat[0] = GET_WORD ;
|
||||
SampleRnd[0] = GET_WORD ;
|
||||
SampleAmbiance[1] = GET_WORD ;
|
||||
SampleRepeat[1] = GET_WORD ;
|
||||
SampleRnd[1] = GET_WORD ;
|
||||
SampleAmbiance[2] = GET_WORD ;
|
||||
SampleRepeat[2] = GET_WORD ;
|
||||
SampleRnd[2] = GET_WORD ;
|
||||
SampleAmbiance[3] = GET_WORD ;
|
||||
SampleRepeat[3] = GET_WORD ;
|
||||
SampleRnd[3] = GET_WORD ;
|
||||
SecondMin = GET_WORD ;
|
||||
SecondEcart = GET_WORD ;
|
||||
|
||||
CubeJingle = GET_BYTE ;
|
||||
// PlayMidiFile( CubeJingle ) ;
|
||||
|
||||
// hero inits: HERO_START
|
||||
|
||||
ptrobj = ListObjet ;
|
||||
|
||||
CubeStartX = GET_WORD ;
|
||||
CubeStartY = GET_WORD ;
|
||||
CubeStartZ = GET_WORD ;
|
||||
|
||||
sizetoload = GET_WORD ;
|
||||
ptrobj->PtrTrack = PtrSce ;
|
||||
PtrSce += sizetoload ;
|
||||
|
||||
sizetoload = GET_WORD ;
|
||||
ptrobj->PtrLife = PtrSce ;
|
||||
PtrSce += sizetoload ;
|
||||
|
||||
ptrobj++ ;
|
||||
|
||||
// objets: OBJECT
|
||||
|
||||
NbObjets = GET_WORD ;
|
||||
for( n=1; n<NbObjets; n++, ptrobj++ )
|
||||
{
|
||||
InitObject( n ) ;
|
||||
|
||||
ptrobj->Flags = GET_WORD ;
|
||||
|
||||
indexfile3d = GET_WORD ;
|
||||
|
||||
if( !(ptrobj->Flags & SPRITE_3D) )
|
||||
{
|
||||
|
||||
HQRM_Load( PATH_RESSOURCE"File3D.hqr", indexfile3d, &ptrobj->PtrFile3D ) ;
|
||||
CHECK_MEMORY
|
||||
|
||||
/* ptrobj->PtrFile3D =
|
||||
LoadMalloc_HQR(
|
||||
PATH_RESSOURCE"File3D.hqr",
|
||||
indexfile3d ) ;
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
ptrobj->GenBody = GET_BYTE ;
|
||||
ptrobj->GenAnim = GET_BYTE ;
|
||||
/*
|
||||
if( n==5 )
|
||||
{
|
||||
CoulText( 15,0 ) ;
|
||||
Text( 10, 300, "obj 5 org anim: %d", ptrobj->GenAnim ) ;
|
||||
}
|
||||
*/
|
||||
|
||||
ptrobj->Sprite = GET_WORD ;
|
||||
|
||||
ptrobj->OldPosX = ptrobj->PosObjX = GET_WORD ;
|
||||
ptrobj->OldPosY = ptrobj->PosObjY = GET_WORD ;
|
||||
ptrobj->OldPosZ = ptrobj->PosObjZ = GET_WORD ;
|
||||
ptrobj->HitForce = GET_BYTE ;
|
||||
ptrobj->OptionFlags = GET_WORD ;
|
||||
ptrobj->OptionFlags &= ~EXTRA_GIVE_NOTHING ;
|
||||
ptrobj->Beta = GET_WORD ;
|
||||
ptrobj->SRot = GET_WORD ;
|
||||
ptrobj->Move = GET_WORD ;
|
||||
|
||||
ptrobj->Info = GET_WORD ;
|
||||
ptrobj->Info1 = GET_WORD ;
|
||||
ptrobj->Info2 = GET_WORD ;
|
||||
ptrobj->Info3 = GET_WORD ;
|
||||
|
||||
ptrobj->NbBonus = GET_BYTE ;
|
||||
ptrobj->CoulObj = GET_BYTE ;
|
||||
ptrobj->Armure = GET_BYTE ;
|
||||
ptrobj->LifePoint = GET_BYTE ;
|
||||
|
||||
sizetoload = GET_WORD ;
|
||||
ptrobj->PtrTrack = PtrSce ;
|
||||
PtrSce = PtrSce + sizetoload ;
|
||||
|
||||
sizetoload = GET_WORD ;
|
||||
ptrobj->PtrLife = PtrSce ;
|
||||
PtrSce = PtrSce + sizetoload ;
|
||||
}
|
||||
|
||||
// zone declechement: ZONE
|
||||
|
||||
NbZones = GET_WORD ;
|
||||
ListZone = (T_ZONE*)PtrSce ;
|
||||
PtrSce += NbZones * 12 * 2 ;
|
||||
|
||||
// point track: TRACK
|
||||
|
||||
NbBrickTrack = GET_WORD ;
|
||||
ListBrickTrack = (T_TRACK*)PtrSce ;
|
||||
|
||||
return TRUE ;
|
||||
}
|
||||
|
||||
/*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*
|
||||
ÛßßßÜ Ûßßßß ÛßßÛ Û Û Ûßßßß
|
||||
ÛÛ Û ÛÛßß ÛÛßßÛ ÛÛ Û ÛÛ ßÛ
|
||||
ßßßß ßßßßß ßßßßß ßßßßß ßßßßß
|
||||
*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*/
|
||||
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
|
||||
|
||||
/*
|
||||
void *LoadTestMalloc( char *filename )
|
||||
{
|
||||
void *ptr ;
|
||||
UBYTE string[256] ;
|
||||
|
||||
ptr = LoadMalloc( filename ) ;
|
||||
|
||||
if( !ptr )
|
||||
{
|
||||
strcpy( string, "ARG ! Mem:" ) ;
|
||||
strcat( string, Itoa( (ULONG)Malloc(-1) ) ) ;
|
||||
strcat( string, " fichier:" ) ;
|
||||
strcat( string, filename ) ;
|
||||
|
||||
Message( string, TRUE ) ;
|
||||
}
|
||||
return ptr ;
|
||||
}
|
||||
*/
|
||||
|
||||
/*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*/
|
||||
/*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*/
|
||||
|
||||
Reference in New Issue
Block a user