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

260 lines
6.1 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.
/*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*
ÛßßßÜ Ûßßßß Ûßßßß Û ÛÛÜ Û Ûßßßß ÛÛßßß
ÛÛ Û ÛÛßß ÛÛßß ÛÛ ÛÛßÛÛ ÛÛßß ßßßßÛ
ßßßß ßßßßß ßß ßß ßß ß ßßßßß ßßßßß
*ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ*/
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
// Cdrom Version si pas define version disk
//#define CDROM 1
// mettre ce define pour une version travail seulement
// en cdrom pas d'importance ATTENTION … supprimer pour version disk
// #define MAGOUILLE_FLA_HD 1
/*----------------*/
// demo 3 cubes
// #define DEMO 1
// sauvegarde ecran/acceleration/infos
//#define DEBUG_TOOLS 1
/*----------------*/
// Brick, Gri et Bll dans .HQR
#define BRICK_HQR 1
// samples dans .HQR
#define SAMPLE_HQR 1
// midi music dans .HQR
#define MIDI_HQR 1
// samples des FLAs dans .HQR
#define SAMPLE_FLA_HQR 1
// tous fichiers dans mˆme dir
#define ONE_GAME_DIRECTORY 1
//path des ressources
#define PATH_RESSOURCE ""
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
#include <stdlib.h>
#include <string.h>
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include "\projet\lib386\lib_sys\adeline.h"
#include "\projet\lib386\lib_sys\lib_sys.h"
#include "\projet\lib386\lib_svga\lib_svga.h"
#include "\projet\lib386\lib_3D\lib_3D.h"
#include "\projet\lib386\lib_mix\lib_mix.h"
#include "\projet\lib386\lib_samp\lib_wave.h"
#include "\projet\lib386\lib_midi\lib_midi.h"
#include "\projet\lib386\lib_cd\lib_cd.h"
#include "common.h"
/*---------------- macros ------------------*/
#ifdef DEBUG_TOOLS
extern ULONG UsedHQMemory ;
#define CHECK_MEMORY \
if( (Size_HQM_Memory-Size_HQM_Free) > UsedHQMemory )\
{\
UsedHQMemory = Size_HQM_Memory-Size_HQM_Free ;\
}
#else
#define CHECK_MEMORY /* coucou */
#endif
/*---------------- CONSTANTE ------------------*/
#define SIZE_CUBE_X 64
#define SIZE_CUBE_Y 25
#define SIZE_CUBE_Z 64
#define SIZE_BRICK_XZ 512
#define SIZE_BRICK_Y 256
#define DEMI_BRICK_XZ 256
#define DEMI_BRICK_Y 128
/*---------------- FENETRE ------------------*/
#define VIEW_X0 -50
#define VIEW_Y0 -30
#define VIEW_X1 680
#define VIEW_Y1 580
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
#define MAX_CLOVER_BOX 10
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
/* type objet pour affscene */
#define TYPE_OBJ_3D (1024*0)
#define TYPE_FLAG_RED (1024*1)
#define TYPE_FLAG_YELLOW (1024*2)
#define TYPE_SHADOW (1024*3)
#define TYPE_OBJ_SPRITE (1024*4)
#define TYPE_ZONE_DEC (1024*5)
#define TYPE_EXTRA (1024*6)
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
#define FILE_3D_NORMAL 0
#define FILE_3D_SPORTIF 1
#define FILE_3D_AGRESSIF 2
#define FILE_3D_DISCRET 3
#define FILE_3D_PROTOPACK 4
#define NO_BODY 255
#define GEN_BODY_NORMAL 0
#define GEN_BODY_TUNIQUE 1
#define GEN_BODY_SABRE 2
#define NO_ANIM 255
#define GEN_ANIM_RIEN 0
#define GEN_ANIM_MARCHE 1
#define GEN_ANIM_RECULE 2
#define GEN_ANIM_GAUCHE 3
#define GEN_ANIM_DROITE 4
#define GEN_ANIM_ENCAISSE 5
#define GEN_ANIM_CHOC 6
#define GEN_ANIM_TOMBE 7
#define GEN_ANIM_RECEPTION 8
#define GEN_ANIM_RECEPTION_2 9
#define GEN_ANIM_MORT 10
#define GEN_ANIM_ACTION 11
#define GEN_ANIM_MONTE 12
#define GEN_ANIM_ECHELLE 13
#define GEN_ANIM_SAUTE 14
#define GEN_ANIM_LANCE 15
#define GEN_ANIM_CACHE 16
#define GEN_ANIM_COUP_1 17
#define GEN_ANIM_COUP_2 18
#define GEN_ANIM_COUP_3 19
#define GEN_ANIM_TROUVE 20
#define GEN_ANIM_NOYADE 21
#define GEN_ANIM_CHOC2 22
#define GEN_ANIM_SABRE 23
#define GEN_ANIM_DEGAINE 24
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
/*ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*/
typedef struct
{
UBYTE GenBody ; // 0 … 254 mais je veux -1
UBYTE GenAnim ;
UBYTE NextGenAnim ;
UBYTE Col ; /* brick en collision (inutile?) */
UBYTE *PtrAnimAction ;
WORD Sprite ;
WORD OffsetLabelTrack ;
// divers
UBYTE *PtrFile3D ;
// constantes
WORD OptionFlags ; /* flag d'init 2 */
/* B*/ WORD NbBonus ; /* nb bonus to give */
/* B*/ WORD Armure ; /* resistance */
WORD CoulObj ; /* couleur dominante de l'objet */
/* game infos */
WORD Body ; /* num body ou sprite dans la base */
WORD PosObjX ; /* pos world en cours */
WORD PosObjY ;
WORD PosObjZ ;
WORD OldPosX ; /* old pos world */
WORD OldPosY ;
WORD OldPosZ ;
WORD Xmin ; /* ZV */
WORD Xmax ;
WORD Ymin ;
WORD Ymax ;
WORD Zmin ;
WORD Zmax ;
WORD Beta ; /* angle en cours */
WORD SRot ; /* vitesse de rotation */
T_REAL_VALUE RealAngle ; /* valeur real time de rotation */
/* B*/ WORD Move ; /* type de deplacement */
UBYTE *PtrTrack ; /* ptr track prog */
WORD OffsetTrack ; /* offset dans la track */
UBYTE *PtrLife ;
WORD OffsetLife ; /* offset dans la vie */
WORD Info ; /* infos pour DoDir */
WORD Info1 ;
WORD Info2 ;
WORD Info3 ;
/* B*/ WORD ObjCol ; /* num obj en collision */
/* B*/ WORD CarryBy ;
WORD ZoneSce ; /* zone declenchement scenarique */
/* B*/ WORD LabelTrack ; /* dernier label de track */
/* B*/ WORD MemoLabelTrack ; /* memo dernier label de track */
WORD Flags ; /* flags divers permanent */
WORD WorkFlags ; /* flags de gestion */
/* B*/ WORD HitBy ; /* frappe par */
/* B*/ WORD HitForce ; /* si !=0 force de frappe anim */
/* B*/ WORD LifePoint ; /* point de vie en cours */
/* B*/ WORD AnimStepBeta ; /* step de rotation par anim */
WORD AnimStepX ; /* step de dep par anim */
WORD AnimStepY ;
WORD AnimStepZ ;
WORD DoorWidth ; // pour les DOOR peut reservir
WORD Anim ; /* anim en cours */
/* B*/ WORD Frame ; /* frame en cours */
/* B*/ WORD FlagAnim ; /* type d'anim en cours (dans flags?) */
UBYTE CodeJeu ; // brick spciale sample ou action
} T_OBJET ;
/*
typedef struct
{
UBYTE Bit ; } T_FLAG ;
*/
typedef struct
{
WORD X ;
WORD Y ;
WORD Z ; } T_TRACK ;