mirror of
https://github.com/OpenDriver2/REDRIVER2.git
synced 2024-11-22 10:22:48 +01:00
- move many types from dr2types.h to corresponding files
This commit is contained in:
parent
8dea78101d
commit
44cf1e011c
@ -1,7 +1,6 @@
|
|||||||
#ifndef AI_H
|
#ifndef AI_H
|
||||||
#define AI_H
|
#define AI_H
|
||||||
|
|
||||||
|
|
||||||
extern void StoreGameFlags(); // 0x0001BBB8
|
extern void StoreGameFlags(); // 0x0001BBB8
|
||||||
extern int TannerCanEnterCar(CAR_DATA *cp, int distToCarSq); // 0x0001BBE8
|
extern int TannerCanEnterCar(CAR_DATA *cp, int distToCarSq); // 0x0001BBE8
|
||||||
extern int TannerStuckInCar(int doSpeedCheck, int player_id); // 0x0001BA90
|
extern int TannerStuckInCar(int doSpeedCheck, int player_id); // 0x0001BA90
|
||||||
|
@ -20,6 +20,20 @@
|
|||||||
#include "glaunch.h"
|
#include "glaunch.h"
|
||||||
#include "ASM/rndrasm.h"
|
#include "ASM/rndrasm.h"
|
||||||
|
|
||||||
|
struct plotCarGlobals
|
||||||
|
{
|
||||||
|
u_char* primptr;
|
||||||
|
OTTYPE* ot;
|
||||||
|
u_int intensity;
|
||||||
|
u_short* pciv_clut;
|
||||||
|
u_int ShineyTPageASL16;
|
||||||
|
u_int ShineyClutASL16;
|
||||||
|
u_char* damageLevel;
|
||||||
|
u_char* shineyTable;
|
||||||
|
int ghost;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifndef PSX
|
#ifndef PSX
|
||||||
#define CAR_LOD_SWITCH_DISTANCE switch_detail_distance
|
#define CAR_LOD_SWITCH_DISTANCE switch_detail_distance
|
||||||
#else
|
#else
|
||||||
|
@ -1,6 +1,17 @@
|
|||||||
#ifndef CIV_AI_H
|
#ifndef CIV_AI_H
|
||||||
#define CIV_AI_H
|
#define CIV_AI_H
|
||||||
|
|
||||||
|
typedef struct _EXTRA_CIV_DATA
|
||||||
|
{
|
||||||
|
int surfInd;
|
||||||
|
int distAlongSegment;
|
||||||
|
short angle;
|
||||||
|
u_short ctrlState;
|
||||||
|
int thrustState;
|
||||||
|
u_char palette;
|
||||||
|
u_char controlFlags;
|
||||||
|
} EXTRA_CIV_DATA;
|
||||||
|
|
||||||
extern const u_char speedLimits[3];
|
extern const u_char speedLimits[3];
|
||||||
extern unsigned char reservedSlots[MAX_CARS];
|
extern unsigned char reservedSlots[MAX_CARS];
|
||||||
extern int frameStart;
|
extern int frameStart;
|
||||||
|
@ -19,6 +19,14 @@
|
|||||||
#include "pedest.h"
|
#include "pedest.h"
|
||||||
#include "pres.h"
|
#include "pres.h"
|
||||||
|
|
||||||
|
enum AIZone
|
||||||
|
{
|
||||||
|
zoneFrnt = 0,
|
||||||
|
zoneBack = 1,
|
||||||
|
zoneLeft = 2,
|
||||||
|
zoneRght = 3,
|
||||||
|
};
|
||||||
|
|
||||||
struct iVectNT
|
struct iVectNT
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
#ifndef COP_AI_H
|
#ifndef COP_AI_H
|
||||||
#define COP_AI_H
|
#define COP_AI_H
|
||||||
|
|
||||||
|
struct COP_SIGHT_DATA
|
||||||
|
{
|
||||||
|
short surroundViewDistance;
|
||||||
|
short frontViewDistance;
|
||||||
|
short frontViewAngle;
|
||||||
|
};
|
||||||
|
|
||||||
extern COP_DATA gCopData;
|
extern COP_DATA gCopData;
|
||||||
extern COP_SIGHT_DATA copSightData;
|
extern COP_SIGHT_DATA copSightData;
|
||||||
extern VECTOR roadblockLoc;
|
extern VECTOR roadblockLoc;
|
||||||
|
@ -23,6 +23,20 @@
|
|||||||
#include "xaplay.h"
|
#include "xaplay.h"
|
||||||
#include "overlay.h"
|
#include "overlay.h"
|
||||||
|
|
||||||
|
struct CUTSCENE_BUFFER
|
||||||
|
{
|
||||||
|
int numResident;
|
||||||
|
u_char residentCutscenes[4];
|
||||||
|
char(*residentPointers[4]);
|
||||||
|
|
||||||
|
char* buffer;
|
||||||
|
char* currentPointer;
|
||||||
|
|
||||||
|
int bytesFree;
|
||||||
|
int reservedSize;
|
||||||
|
// char buffer[32*1024]; // was 8192, but we have some free mem now even for PSX. Using malloc.
|
||||||
|
};
|
||||||
|
|
||||||
int gSkipInGameCutscene = 0;
|
int gSkipInGameCutscene = 0;
|
||||||
|
|
||||||
int gInGameCutsceneActive = 0;
|
int gInGameCutsceneActive = 0;
|
||||||
|
@ -1,6 +1,18 @@
|
|||||||
#ifndef CUTSCENE_H
|
#ifndef CUTSCENE_H
|
||||||
#define CUTSCENE_H
|
#define CUTSCENE_H
|
||||||
|
|
||||||
|
struct CUTSCENE_INFO
|
||||||
|
{
|
||||||
|
u_short offset;
|
||||||
|
u_short size;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct CUTSCENE_HEADER
|
||||||
|
{
|
||||||
|
int maxsize;
|
||||||
|
CUTSCENE_INFO data[15];
|
||||||
|
};
|
||||||
|
|
||||||
#ifndef PSX
|
#ifndef PSX
|
||||||
#define MAX_USER_REPLAYS 16
|
#define MAX_USER_REPLAYS 16
|
||||||
|
|
||||||
@ -9,9 +21,7 @@ extern int gNumUserChases;
|
|||||||
|
|
||||||
extern void InitUserReplays(const char* str);
|
extern void InitUserReplays(const char* str);
|
||||||
|
|
||||||
#endif
|
#endif // PSX
|
||||||
|
|
||||||
extern CUTSCENE_BUFFER CutsceneBuffer;
|
|
||||||
|
|
||||||
extern int NumCutsceneStreams;
|
extern int NumCutsceneStreams;
|
||||||
extern int gSkipInGameCutscene;
|
extern int gSkipInGameCutscene;
|
||||||
|
@ -116,6 +116,11 @@ int gDrawDistance = 441;
|
|||||||
_pct& plotContext = *(_pct*)((u_char*)getScratchAddr(0) + 1024 - sizeof(_pct)); // orig offset: 0x1f800020
|
_pct& plotContext = *(_pct*)((u_char*)getScratchAddr(0) + 1024 - sizeof(_pct)); // orig offset: 0x1f800020
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
struct MVERTEX5x5
|
||||||
|
{
|
||||||
|
MVERTEX verts[5][5];
|
||||||
|
};
|
||||||
|
|
||||||
// [D] [T] [A]
|
// [D] [T] [A]
|
||||||
void addSubdivSpriteShadow(POLYFT4* src, SVECTOR* verts, int z)
|
void addSubdivSpriteShadow(POLYFT4* src, SVECTOR* verts, int z)
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,26 @@
|
|||||||
#ifndef DRAW_H
|
#ifndef DRAW_H
|
||||||
#define DRAW_H
|
#define DRAW_H
|
||||||
|
|
||||||
|
// Primitive plot context used in scratchpad
|
||||||
|
struct _pct
|
||||||
|
{
|
||||||
|
struct DB* current;
|
||||||
|
u_short(*ptexture_pages)[128];
|
||||||
|
u_short(*ptexture_cluts)[128][32];
|
||||||
|
int f4colourTable[32];
|
||||||
|
int* polySizes;
|
||||||
|
char* primptr;
|
||||||
|
OTTYPE* ot;
|
||||||
|
u_int clut;
|
||||||
|
u_int tpage;
|
||||||
|
u_int colour;
|
||||||
|
int flags;
|
||||||
|
SVECTOR* verts;
|
||||||
|
u_int lastTexInfo;
|
||||||
|
int scribble[8];
|
||||||
|
int model;
|
||||||
|
};
|
||||||
|
|
||||||
extern SVECTOR day_vectors[4];
|
extern SVECTOR day_vectors[4];
|
||||||
extern SVECTOR night_vectors[4];
|
extern SVECTOR night_vectors[4];
|
||||||
extern SVECTOR day_colours[4];
|
extern SVECTOR day_colours[4];
|
||||||
|
@ -23,6 +23,102 @@
|
|||||||
#include "ASM/rndrasm.h"
|
#include "ASM/rndrasm.h"
|
||||||
#include "cutrecorder.h"
|
#include "cutrecorder.h"
|
||||||
|
|
||||||
|
struct FixedEvent // same as EVENT but different fields
|
||||||
|
{
|
||||||
|
VECTOR position;
|
||||||
|
short rotation;
|
||||||
|
short active;
|
||||||
|
u_short initialRotation;
|
||||||
|
u_short finalRotation;
|
||||||
|
u_short minSpeed;
|
||||||
|
u_short maxSpeed;
|
||||||
|
short flags;
|
||||||
|
short radius;
|
||||||
|
int model;
|
||||||
|
EVENT* next;
|
||||||
|
char* modelName;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MissionTrain
|
||||||
|
{
|
||||||
|
EVENT* engine;
|
||||||
|
int* node;
|
||||||
|
int cornerSpeed;
|
||||||
|
int initialStraightSpeed;
|
||||||
|
int finalStraightSpeed;
|
||||||
|
int start;
|
||||||
|
int startDir;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Foam
|
||||||
|
{
|
||||||
|
MODEL* model;
|
||||||
|
int rotate;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct EventCarriage
|
||||||
|
{
|
||||||
|
short rotation;
|
||||||
|
short vel;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MultiCar
|
||||||
|
{
|
||||||
|
EVENT* event;
|
||||||
|
int count;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Helicopter
|
||||||
|
{
|
||||||
|
int speed;
|
||||||
|
short pitch;
|
||||||
|
short dp;
|
||||||
|
short roll;
|
||||||
|
short dr;
|
||||||
|
int lastX;
|
||||||
|
int lastZ;
|
||||||
|
TEXTURE_DETAILS rotorTexture;
|
||||||
|
short rotorrot;
|
||||||
|
short rotorvel;
|
||||||
|
int cleanModel;
|
||||||
|
int deadModel;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Detonator
|
||||||
|
{
|
||||||
|
int timer;
|
||||||
|
int count;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct CameraDelay
|
||||||
|
{
|
||||||
|
int delay;
|
||||||
|
int type;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum VisType
|
||||||
|
{
|
||||||
|
VIS_INIT = 0,
|
||||||
|
VIS_SORT = 1,
|
||||||
|
VIS_ADD = 2,
|
||||||
|
VIS_NEXT = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct EventCamera
|
||||||
|
{
|
||||||
|
VECTOR position;
|
||||||
|
short yAng;
|
||||||
|
MATRIX matrix;
|
||||||
|
int rotate;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum Station
|
||||||
|
{
|
||||||
|
EVENT_NO_STATION = 0,
|
||||||
|
EVENT_APPROACHING = 1,
|
||||||
|
EVENT_LEAVING = 2,
|
||||||
|
};
|
||||||
|
|
||||||
#define PATH_NODE_WRAP 0x80000000 // go back to first node without interpolation
|
#define PATH_NODE_WRAP 0x80000000 // go back to first node without interpolation
|
||||||
#define PATH_NODE_CYCLE 0x80000001 // cycle nodes with interpolation
|
#define PATH_NODE_CYCLE 0x80000001 // cycle nodes with interpolation
|
||||||
#define PATH_NODE_STATION 0x80000002 // stop point
|
#define PATH_NODE_STATION 0x80000002 // stop point
|
||||||
@ -458,6 +554,8 @@ EVENT* event;
|
|||||||
|
|
||||||
static EventCamera eventCamera;
|
static EventCamera eventCamera;
|
||||||
|
|
||||||
|
void MakeEventTrackable(EVENT* ev);
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
int GetVisValue(int index, int zDir)
|
int GetVisValue(int index, int zDir)
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,37 @@
|
|||||||
#ifndef EVENT_H
|
#ifndef EVENT_H
|
||||||
#define EVENT_H
|
#define EVENT_H
|
||||||
|
|
||||||
|
enum SpecialCamera
|
||||||
|
{
|
||||||
|
SPECIAL_CAMERA_SET = 0,
|
||||||
|
SPECIAL_CAMERA_SET2 = 1,
|
||||||
|
SPECIAL_CAMERA_RESET = 2,
|
||||||
|
SPECIAL_CAMERA_WAIT = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _EVENT EVENT;
|
||||||
|
|
||||||
|
struct _EVENT
|
||||||
|
{
|
||||||
|
VECTOR position;
|
||||||
|
short rotation;
|
||||||
|
short timer;
|
||||||
|
int* data;
|
||||||
|
int* node;
|
||||||
|
short flags;
|
||||||
|
short radius;
|
||||||
|
int model;
|
||||||
|
EVENT* next;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct EventGlobal
|
||||||
|
{
|
||||||
|
int camera;
|
||||||
|
int draw;
|
||||||
|
EVENT** track;
|
||||||
|
EVENT* cameraEvent;
|
||||||
|
};
|
||||||
|
|
||||||
extern EventGlobal events;
|
extern EventGlobal events;
|
||||||
|
|
||||||
extern CELL_OBJECT *EventCop;
|
extern CELL_OBJECT *EventCop;
|
||||||
@ -12,11 +43,6 @@ extern void InitEvents(); // 0x0004BBD4
|
|||||||
extern void SetUpEvents(int full); // 0x00046258
|
extern void SetUpEvents(int full); // 0x00046258
|
||||||
extern VECTOR* TriggerEvent(int i);
|
extern VECTOR* TriggerEvent(int i);
|
||||||
|
|
||||||
extern void InitEventCamera(); // 0x0004BF54
|
|
||||||
extern void ResetEventCamera(); // 0x0004C014
|
|
||||||
|
|
||||||
extern void SetCamera(EVENT *ev); // 0x00047538
|
|
||||||
|
|
||||||
extern void EventCollisions(CAR_DATA *cp, int type); // 0x0004BC50
|
extern void EventCollisions(CAR_DATA *cp, int type); // 0x0004BC50
|
||||||
|
|
||||||
extern void StepEvents(); // 0x00048A60
|
extern void StepEvents(); // 0x00048A60
|
||||||
@ -27,14 +53,10 @@ extern void EventCameraOffset(SVECTOR* offset);
|
|||||||
|
|
||||||
extern sdPlane* EventSurface(VECTOR *pos, sdPlane *plane); // 0x0004A688
|
extern sdPlane* EventSurface(VECTOR *pos, sdPlane *plane); // 0x0004A688
|
||||||
|
|
||||||
extern void MakeEventTrackable(EVENT *ev); // 0x0004BD6C
|
|
||||||
|
|
||||||
extern void OffsetTarget(VECTOR *target); // 0x0004BD2C
|
extern void OffsetTarget(VECTOR *target); // 0x0004BD2C
|
||||||
|
|
||||||
extern void SetSpecialCamera(SpecialCamera type, int change); // 0x0004B29C
|
extern void SetSpecialCamera(SpecialCamera type, int change); // 0x0004B29C
|
||||||
|
|
||||||
extern void ScreenShake(int count, SVECTOR *ang); // 0x0004C280
|
|
||||||
|
|
||||||
extern int DetonatorTimer(); // 0x0004B5FC
|
extern int DetonatorTimer(); // 0x0004B5FC
|
||||||
|
|
||||||
extern void MultiCarEvent(MS_TARGET *target); // 0x0004BAB0
|
extern void MultiCarEvent(MS_TARGET *target); // 0x0004BAB0
|
||||||
|
@ -1,6 +1,22 @@
|
|||||||
#ifndef FMVPLAY_H
|
#ifndef FMVPLAY_H
|
||||||
#define FMVPLAY_H
|
#define FMVPLAY_H
|
||||||
|
|
||||||
|
struct RENDER_ARG
|
||||||
|
{
|
||||||
|
u_char render;
|
||||||
|
u_char credits;
|
||||||
|
u_short recap;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct RENDER_ARGS
|
||||||
|
{
|
||||||
|
u_char nRenders;
|
||||||
|
u_char subtitle;
|
||||||
|
char screenx;
|
||||||
|
char screeny;
|
||||||
|
RENDER_ARG Args[4];
|
||||||
|
};
|
||||||
|
|
||||||
extern int gSubtitles;
|
extern int gSubtitles;
|
||||||
extern int gNoFMV;
|
extern int gNoFMV;
|
||||||
|
|
||||||
|
@ -24,6 +24,51 @@
|
|||||||
#include "debris.h"
|
#include "debris.h"
|
||||||
#include "felony.h"
|
#include "felony.h"
|
||||||
|
|
||||||
|
typedef struct __othercarsound
|
||||||
|
{
|
||||||
|
int car;
|
||||||
|
int chan;
|
||||||
|
char in_use;
|
||||||
|
char stopped;
|
||||||
|
char idle;
|
||||||
|
} othercarsound;
|
||||||
|
|
||||||
|
typedef struct __bitfield64
|
||||||
|
{
|
||||||
|
int h;
|
||||||
|
int l;
|
||||||
|
} bitfield64;
|
||||||
|
|
||||||
|
typedef struct __envsound
|
||||||
|
{
|
||||||
|
u_char type;
|
||||||
|
u_char flags;
|
||||||
|
VECTOR pos;
|
||||||
|
VECTOR pos2;
|
||||||
|
int bank;
|
||||||
|
int sample;
|
||||||
|
int vol;
|
||||||
|
} envsound;
|
||||||
|
|
||||||
|
typedef struct __envsoundtags
|
||||||
|
{
|
||||||
|
int frame_cnt;
|
||||||
|
int func_cnt;
|
||||||
|
int num_envsnds;
|
||||||
|
int envsnd_cnt;
|
||||||
|
} envsoundtags;
|
||||||
|
|
||||||
|
typedef struct __envsoundinfo
|
||||||
|
{
|
||||||
|
VECTOR eff_pos[4];
|
||||||
|
VECTOR cam_pos;
|
||||||
|
float g[4];
|
||||||
|
int thisS[4];
|
||||||
|
int playing_sound[4];
|
||||||
|
int chan[4];
|
||||||
|
u_int flags;
|
||||||
|
} envsoundinfo;
|
||||||
|
|
||||||
typedef void(*envsoundfunc)(envsound* ep /*$s1*/, envsoundinfo* E /*$a1*/, int pl /*$a2*/);
|
typedef void(*envsoundfunc)(envsound* ep /*$s1*/, envsoundinfo* E /*$a1*/, int pl /*$a2*/);
|
||||||
|
|
||||||
void IdentifyZone(envsound* ep, envsoundinfo* E, int pl);
|
void IdentifyZone(envsound* ep, envsoundinfo* E, int pl);
|
||||||
|
@ -58,6 +58,16 @@ enum SoundBankIds
|
|||||||
SBK_COP_SIREN_START = 69,
|
SBK_COP_SIREN_START = 69,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct SPEECH_QUEUE
|
||||||
|
{
|
||||||
|
char allowed;
|
||||||
|
char chan;
|
||||||
|
char is_playing;
|
||||||
|
int count;
|
||||||
|
char reverb;
|
||||||
|
int slot[7];
|
||||||
|
};
|
||||||
|
|
||||||
extern int gDriver1Music;
|
extern int gDriver1Music;
|
||||||
|
|
||||||
extern int TimeSinceLastSpeech;
|
extern int TimeSinceLastSpeech;
|
||||||
|
@ -18,6 +18,14 @@
|
|||||||
|
|
||||||
#include "Frontend/FEmain.h"
|
#include "Frontend/FEmain.h"
|
||||||
|
|
||||||
|
struct MISSION_STEP
|
||||||
|
{
|
||||||
|
u_char flags : 3;
|
||||||
|
u_char recap : 5;
|
||||||
|
u_char data : 7;
|
||||||
|
u_char disc : 1;
|
||||||
|
};
|
||||||
|
|
||||||
MISSION_STEP MissionLadder[68] =
|
MISSION_STEP MissionLadder[68] =
|
||||||
{
|
{
|
||||||
{ 1, 0, 1, 0 },
|
{ 1, 0, 1, 0 },
|
||||||
|
@ -17,6 +17,37 @@
|
|||||||
#include <stdlib.h> // getenv
|
#include <stdlib.h> // getenv
|
||||||
#endif // PSX
|
#endif // PSX
|
||||||
|
|
||||||
|
struct GAME_SAVE_HEADER
|
||||||
|
{
|
||||||
|
u_int magic;
|
||||||
|
u_char gMissionLadderPos;
|
||||||
|
u_char pad1;
|
||||||
|
u_char pad2;
|
||||||
|
u_char pad3;
|
||||||
|
MISSION_DATA SavedData;
|
||||||
|
int reserved[8];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct CONFIG_SAVE_HEADER
|
||||||
|
{
|
||||||
|
u_int magic;
|
||||||
|
int gMasterVolume;
|
||||||
|
int gMusicVolume;
|
||||||
|
int gSoundMode;
|
||||||
|
int gVibration;
|
||||||
|
int gCopDifficultyLevel;
|
||||||
|
int gFurthestMission;
|
||||||
|
MAPPING PadMapping[2];
|
||||||
|
SCORE_TABLES ScoreTables;
|
||||||
|
int PALAdjustX;
|
||||||
|
int PALAdjustY;
|
||||||
|
int NTSCAdjustX;
|
||||||
|
int NTSCAdjustY;
|
||||||
|
int gSubtitles;
|
||||||
|
ACTIVE_CHEATS AvailableCheats;
|
||||||
|
int reserved[6];
|
||||||
|
};
|
||||||
|
|
||||||
// [A]
|
// [A]
|
||||||
void ShowSavingWaitMessage(char *message, int height)
|
void ShowSavingWaitMessage(char *message, int height)
|
||||||
{
|
{
|
||||||
|
@ -464,14 +464,14 @@ void ProcessMotionLump(char* lump_ptr, int lump_size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupPedMotionData(PEDESTRIAN* pPed)
|
void SetupPedMotionData(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->motion = MotionCaptureData[pPed->type];
|
pPed->motion = MotionCaptureData[pPed->type];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupPedestrian(PEDESTRIAN* pedptr)
|
void SetupPedestrian(LPPEDESTRIAN pedptr)
|
||||||
{
|
{
|
||||||
pedptr->velocity.vy = 10;
|
pedptr->velocity.vy = 10;
|
||||||
pedptr->speed = 10;
|
pedptr->speed = 10;
|
||||||
@ -487,7 +487,7 @@ int bDoingShadow = 0;
|
|||||||
int gCurrentZ;
|
int gCurrentZ;
|
||||||
|
|
||||||
// [D] [T] [A]
|
// [D] [T] [A]
|
||||||
void DrawBodySprite(PEDESTRIAN* pDrawingPed, int boneId, VERTTYPE v1[2], VERTTYPE v2[2], int sz, int sy)
|
void DrawBodySprite(LPPEDESTRIAN pDrawingPed, int boneId, VERTTYPE v1[2], VERTTYPE v2[2], int sz, int sy)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
// debug code
|
// debug code
|
||||||
@ -890,7 +890,7 @@ int bodyShiftValue = BODY_OFFSET;
|
|||||||
int torsoShiftValue = TORSO_OFFSET;
|
int torsoShiftValue = TORSO_OFFSET;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupTannerSkeleton(PEDESTRIAN* pDrawingPed)
|
void SetupTannerSkeleton(LPPEDESTRIAN pDrawingPed)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
BONE* pBone;
|
BONE* pBone;
|
||||||
@ -1003,7 +1003,7 @@ void SetupTannerSkeleton(PEDESTRIAN* pDrawingPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [A] - was inlined in newShowTanner
|
// [A] - was inlined in newShowTanner
|
||||||
void DrawSprite(PEDESTRIAN* pDrawingPed, BONE* pBone, VECTOR* vJPos)
|
void DrawSprite(LPPEDESTRIAN pDrawingPed, BONE* pBone, VECTOR* vJPos)
|
||||||
{
|
{
|
||||||
VERTTYPE t0[2], t1[2]; // [A] was two longs
|
VERTTYPE t0[2], t1[2]; // [A] was two longs
|
||||||
int z, z1, z2;
|
int z, z1, z2;
|
||||||
@ -1040,7 +1040,7 @@ void DrawSprite(PEDESTRIAN* pDrawingPed, BONE* pBone, VECTOR* vJPos)
|
|||||||
int bAllreadyRotated = 0;
|
int bAllreadyRotated = 0;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void newShowTanner(PEDESTRIAN* pDrawingPed)
|
void newShowTanner(LPPEDESTRIAN pDrawingPed)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
int draw;
|
int draw;
|
||||||
@ -1253,7 +1253,7 @@ void newShowTanner(PEDESTRIAN* pDrawingPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
SVECTOR* GetModelVertPtr(PEDESTRIAN* pDrawingPed, int boneId, int modelType)
|
SVECTOR* GetModelVertPtr(LPPEDESTRIAN pDrawingPed, int boneId, int modelType)
|
||||||
{
|
{
|
||||||
int startVertex;
|
int startVertex;
|
||||||
|
|
||||||
@ -1293,7 +1293,7 @@ SVECTOR* GetModelVertPtr(PEDESTRIAN* pDrawingPed, int boneId, int modelType)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void newRotateBones(PEDESTRIAN* pDrawingPed, BONE* poBone)
|
void newRotateBones(LPPEDESTRIAN pDrawingPed, BONE* poBone)
|
||||||
{
|
{
|
||||||
SVECTOR* pVerts;
|
SVECTOR* pVerts;
|
||||||
MODEL* pModel;
|
MODEL* pModel;
|
||||||
@ -1420,7 +1420,7 @@ void newRotateBones(PEDESTRIAN* pDrawingPed, BONE* poBone)
|
|||||||
|
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void DrawCiv(PEDESTRIAN* pPed)
|
void DrawCiv(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
SVECTOR* vert2;
|
SVECTOR* vert2;
|
||||||
SVECTOR* vert1;
|
SVECTOR* vert1;
|
||||||
@ -1612,7 +1612,7 @@ void SetSkelModelPointers(int type)
|
|||||||
int iCurrBone = 0;
|
int iCurrBone = 0;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void DrawTanner(PEDESTRIAN* pPed)
|
void DrawTanner(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int iVar1;
|
int iVar1;
|
||||||
VECTOR v;
|
VECTOR v;
|
||||||
@ -1664,7 +1664,7 @@ void DrawTanner(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
int DrawCharacter(PEDESTRIAN* pPed)
|
int DrawCharacter(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int fr;
|
int fr;
|
||||||
short size;
|
short size;
|
||||||
@ -1800,7 +1800,7 @@ void InitTannerShadow(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void TannerShadow(PEDESTRIAN* pDrawingPed, VECTOR* pPedPos, SVECTOR* pLightPos, CVECTOR* col, short angle)
|
void TannerShadow(LPPEDESTRIAN pDrawingPed, VECTOR* pPedPos, SVECTOR* pLightPos, CVECTOR* col, short angle)
|
||||||
{
|
{
|
||||||
DR_ENV* dr_env;
|
DR_ENV* dr_env;
|
||||||
SVECTOR vert[4];
|
SVECTOR vert[4];
|
||||||
@ -1956,7 +1956,7 @@ void TannerShadow(PEDESTRIAN* pDrawingPed, VECTOR* pPedPos, SVECTOR* pLightPos,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [A] - totally custom function but it works pretty much same as original
|
// [A] - totally custom function but it works pretty much same as original
|
||||||
void DoCivHead(PEDESTRIAN* pPed, SVECTOR* vert1, SVECTOR* vert2)
|
void DoCivHead(LPPEDESTRIAN pPed, SVECTOR* vert1, SVECTOR* vert2)
|
||||||
{
|
{
|
||||||
SVECTOR spos;
|
SVECTOR spos;
|
||||||
VECTOR pos;
|
VECTOR pos;
|
||||||
|
@ -16,21 +16,21 @@ extern int ThisMotion;
|
|||||||
|
|
||||||
extern void ProcessMotionLump(char *lump_ptr, int lump_size); // 0x00069A38
|
extern void ProcessMotionLump(char *lump_ptr, int lump_size); // 0x00069A38
|
||||||
|
|
||||||
extern void SetupPedMotionData(PEDESTRIAN *pPed); // 0x00069AB8
|
extern void SetupPedMotionData(LPPEDESTRIAN pPed); // 0x00069AB8
|
||||||
extern void SetupPedestrian(PEDESTRIAN *pedptr); // 0x00069B6C
|
extern void SetupPedestrian(LPPEDESTRIAN pedptr); // 0x00069B6C
|
||||||
|
|
||||||
extern void StoreVertexLists(); // 0x0006594C
|
extern void StoreVertexLists(); // 0x0006594C
|
||||||
|
|
||||||
extern void DrawCiv(PEDESTRIAN *pPed); // 0x000670CC
|
extern void DrawCiv(LPPEDESTRIAN pPed); // 0x000670CC
|
||||||
extern void SetSkelModelPointers(int type); // 0x00069AD8
|
extern void SetSkelModelPointers(int type); // 0x00069AD8
|
||||||
|
|
||||||
extern void DrawTanner(PEDESTRIAN *pPed); // 0x000678D0
|
extern void DrawTanner(LPPEDESTRIAN pPed); // 0x000678D0
|
||||||
extern int DrawCharacter(PEDESTRIAN *pPed); // 0x00067D44
|
extern int DrawCharacter(LPPEDESTRIAN pPed); // 0x00067D44
|
||||||
|
|
||||||
extern void InitTannerShadow(); // 0x000681EC
|
extern void InitTannerShadow(); // 0x000681EC
|
||||||
extern void TannerShadow(PEDESTRIAN *pDrawingPed, VECTOR *pPedPos, SVECTOR *pLightPos, CVECTOR *col, short angle); // 0x00068358
|
extern void TannerShadow(LPPEDESTRIAN pDrawingPed, VECTOR *pPedPos, SVECTOR *pLightPos, CVECTOR *col, short angle); // 0x00068358
|
||||||
|
|
||||||
extern void DoCivHead(PEDESTRIAN *pPed, SVECTOR *vert1, SVECTOR *vert2); // 0x00068B2C
|
extern void DoCivHead(LPPEDESTRIAN pPed, SVECTOR *vert1, SVECTOR *vert2); // 0x00068B2C
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -32,6 +32,13 @@ struct GARAGE_DOOR
|
|||||||
char yang;
|
char yang;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct CYCLE_OBJECT
|
||||||
|
{
|
||||||
|
char* name;
|
||||||
|
short vx, vy;
|
||||||
|
short start1, stop1, speed1;
|
||||||
|
short start2, stop2, speed2;
|
||||||
|
};
|
||||||
|
|
||||||
CYCLE_OBJECT Lev0[2] =
|
CYCLE_OBJECT Lev0[2] =
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,24 @@
|
|||||||
#ifndef OVERLAY_H
|
#ifndef OVERLAY_H
|
||||||
#define OVERLAY_H
|
#define OVERLAY_H
|
||||||
|
|
||||||
|
struct COLOUR_BAND
|
||||||
|
{
|
||||||
|
CVECTOR colour;
|
||||||
|
int value;
|
||||||
|
int flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _PERCENTAGE_BAR
|
||||||
|
{
|
||||||
|
char* tag;
|
||||||
|
short xpos, ypos;
|
||||||
|
short width, height;
|
||||||
|
u_short position;
|
||||||
|
u_short max;
|
||||||
|
COLOUR_BAND* pColourBand;
|
||||||
|
int flags, active;
|
||||||
|
} PERCENTAGE_BAR, * LPPERCENTAGE_BAR;
|
||||||
|
|
||||||
extern PERCENTAGE_BAR PlayerDamageBar;
|
extern PERCENTAGE_BAR PlayerDamageBar;
|
||||||
extern PERCENTAGE_BAR Player2DamageBar;
|
extern PERCENTAGE_BAR Player2DamageBar;
|
||||||
extern PERCENTAGE_BAR DamageBar;
|
extern PERCENTAGE_BAR DamageBar;
|
||||||
|
@ -17,6 +17,20 @@
|
|||||||
#include "pad.h"
|
#include "pad.h"
|
||||||
#include "ASM/rnc_2.h"
|
#include "ASM/rnc_2.h"
|
||||||
|
|
||||||
|
struct MAPTEX
|
||||||
|
{
|
||||||
|
short u, w, v, h;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct OVERMAP
|
||||||
|
{
|
||||||
|
int x_offset, y_offset;
|
||||||
|
int width, height;
|
||||||
|
u_char toptile;
|
||||||
|
u_char dummy;
|
||||||
|
int scale;
|
||||||
|
};
|
||||||
|
|
||||||
OVERMAP overlaidmaps[4] =
|
OVERMAP overlaidmaps[4] =
|
||||||
{
|
{
|
||||||
{ 197, 318, 384, 672, 252, 0x99, 2145 },
|
{ 197, 318, 384, 672, 252, 0x99, 2145 },
|
||||||
|
@ -61,6 +61,46 @@ enum ECarPads
|
|||||||
CAR_PAD_LEAVECAR = (MPAD_D_UP | MPAD_TRIANGLE),
|
CAR_PAD_LEAVECAR = (MPAD_D_UP | MPAD_TRIANGLE),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct DUPLICATION
|
||||||
|
{
|
||||||
|
char* buffer;
|
||||||
|
int size;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct MAPPING
|
||||||
|
{
|
||||||
|
u_short button_lookup[16];
|
||||||
|
u_short swap_analog;
|
||||||
|
u_short reserved1;
|
||||||
|
} *LPMAPPING;
|
||||||
|
|
||||||
|
typedef struct PAD
|
||||||
|
{
|
||||||
|
u_char active;
|
||||||
|
u_char type;
|
||||||
|
u_char dualshock;
|
||||||
|
u_char reserved1;
|
||||||
|
u_short direct;
|
||||||
|
u_short dirnew;
|
||||||
|
char diranalog[4];
|
||||||
|
u_short mapped;
|
||||||
|
u_short mapnew;
|
||||||
|
char mapanalog[4];
|
||||||
|
MAPPING mappings;
|
||||||
|
u_char alarmShakeCounter;
|
||||||
|
u_char asd;
|
||||||
|
u_char sdf;
|
||||||
|
u_char dfg;
|
||||||
|
u_char delay;
|
||||||
|
u_char port;
|
||||||
|
u_char state;
|
||||||
|
u_char dsactive;
|
||||||
|
u_char* shakeptr;
|
||||||
|
u_char motors[2];
|
||||||
|
u_char shake_type;
|
||||||
|
u_char vibrate;
|
||||||
|
} *LPPAD;
|
||||||
|
|
||||||
extern int pad_connected;
|
extern int pad_connected;
|
||||||
extern int numPadsConnected;
|
extern int numPadsConnected;
|
||||||
extern int gVibration;
|
extern int gVibration;
|
||||||
|
@ -43,6 +43,29 @@ struct MENU_MESSAGE
|
|||||||
int show;
|
int show;
|
||||||
} gDisplayedMessage = { NULL, NULL, 0 };
|
} gDisplayedMessage = { NULL, NULL, 0 };
|
||||||
|
|
||||||
|
typedef void(*pauseFunc)(int dir);
|
||||||
|
|
||||||
|
struct MENU_ITEM;
|
||||||
|
struct MENU_HEADER;
|
||||||
|
|
||||||
|
struct MENU_ITEM
|
||||||
|
{
|
||||||
|
char* Text;
|
||||||
|
u_char Type;
|
||||||
|
u_char Justify;
|
||||||
|
pauseFunc func;
|
||||||
|
EXIT_VALUE ExitValue;
|
||||||
|
MENU_HEADER* SubMenu;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MENU_HEADER
|
||||||
|
{
|
||||||
|
char* Title;
|
||||||
|
XYWH Bound;
|
||||||
|
u_char NumItems;
|
||||||
|
MENU_ITEM* MenuItems;
|
||||||
|
};
|
||||||
|
|
||||||
static MENU_ITEM* ActiveItem[PAUSE_MENU_LEVELS];
|
static MENU_ITEM* ActiveItem[PAUSE_MENU_LEVELS];
|
||||||
static MENU_HEADER* VisibleMenus[PAUSE_MENU_LEVELS];
|
static MENU_HEADER* VisibleMenus[PAUSE_MENU_LEVELS];
|
||||||
static MENU_HEADER* ActiveMenu;
|
static MENU_HEADER* ActiveMenu;
|
||||||
|
@ -1,6 +1,18 @@
|
|||||||
#ifndef PAUSE_H
|
#ifndef PAUSE_H
|
||||||
#define PAUSE_H
|
#define PAUSE_H
|
||||||
|
|
||||||
|
enum EXIT_VALUE
|
||||||
|
{
|
||||||
|
MENU_QUIT_NONE = 0,
|
||||||
|
MENU_QUIT_CONTINUE = 1,
|
||||||
|
MENU_QUIT_QUIT = 2,
|
||||||
|
MENU_QUIT_RESTART = 3,
|
||||||
|
MENU_QUIT_DIRECTOR = 4,
|
||||||
|
MENU_QUIT_QUICKREPLAY = 5,
|
||||||
|
MENU_QUIT_BACKMENU = 6,
|
||||||
|
MENU_QUIT_NEXTMISSION = 7,
|
||||||
|
};
|
||||||
|
|
||||||
extern int gShowMap;
|
extern int gShowMap;
|
||||||
extern int gDrawPauseMenus;
|
extern int gDrawPauseMenus;
|
||||||
extern int pauseflag;
|
extern int pauseflag;
|
||||||
|
@ -27,23 +27,38 @@
|
|||||||
|
|
||||||
#include "ASM/rndrasm.h"
|
#include "ASM/rndrasm.h"
|
||||||
|
|
||||||
|
struct CAR_COLLISION_BOX
|
||||||
|
{
|
||||||
|
int min_x, max_x;
|
||||||
|
int min_z, max_z;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct SEATED_PEDESTRIANS
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
int z;
|
||||||
|
short rotation;
|
||||||
|
char index;
|
||||||
|
char pad;
|
||||||
|
} *SEATEDPTR;
|
||||||
|
|
||||||
MODEL* pmTannerModels[17] = { 0 };
|
MODEL* pmTannerModels[17] = { 0 };
|
||||||
MODEL* pmJerichoModels[6] = { 0 };
|
MODEL* pmJerichoModels[6] = { 0 };
|
||||||
|
|
||||||
void PedDoNothing(PEDESTRIAN* pPed);
|
void PedDoNothing(LPPEDESTRIAN pPed);
|
||||||
void PedUserWalker(PEDESTRIAN* pPed);
|
void PedUserWalker(LPPEDESTRIAN pPed);
|
||||||
void PedUserRunner(PEDESTRIAN* pPed);
|
void PedUserRunner(LPPEDESTRIAN pPed);
|
||||||
void PedGetInCar(PEDESTRIAN* pPed);
|
void PedGetInCar(LPPEDESTRIAN pPed);
|
||||||
void PedGetOutCar(PEDESTRIAN* pPed);
|
void PedGetOutCar(LPPEDESTRIAN pPed);
|
||||||
void PedCarryOutAnimation(PEDESTRIAN* pPed);
|
void PedCarryOutAnimation(LPPEDESTRIAN pPed);
|
||||||
void CivPedDoNothing(PEDESTRIAN* pPed);
|
void CivPedDoNothing(LPPEDESTRIAN pPed);
|
||||||
void CivPedWalk(PEDESTRIAN* pPed);
|
void CivPedWalk(LPPEDESTRIAN pPed);
|
||||||
void CivPedSit(PEDESTRIAN* pPed);
|
void CivPedSit(LPPEDESTRIAN pPed);
|
||||||
void CivPedJump(PEDESTRIAN* pPed);
|
void CivPedJump(LPPEDESTRIAN pPed);
|
||||||
void PedPressButton(PEDESTRIAN* pPed);
|
void PedPressButton(LPPEDESTRIAN pPed);
|
||||||
void TannerSitDown(PEDESTRIAN* pPed);
|
void TannerSitDown(LPPEDESTRIAN pPed);
|
||||||
void CopStand(PEDESTRIAN* pPed);
|
void CopStand(LPPEDESTRIAN pPed);
|
||||||
void CivGetIn(PEDESTRIAN* pPed);
|
void CivGetIn(LPPEDESTRIAN pPed);
|
||||||
|
|
||||||
pedFunc fpPedPersonalityFunctions[] = {
|
pedFunc fpPedPersonalityFunctions[] = {
|
||||||
PedDoNothing,
|
PedDoNothing,
|
||||||
@ -72,7 +87,7 @@ const int tannerTurnStep = 4;
|
|||||||
|
|
||||||
int bKillTanner = 0;
|
int bKillTanner = 0;
|
||||||
|
|
||||||
SEATED_PEDESTRIANS* seated_pedestrian; // lump
|
SEATEDPTR seated_pedestrian; // lump
|
||||||
int seated_count;
|
int seated_count;
|
||||||
int maxSeated;
|
int maxSeated;
|
||||||
static int numTannerPeds = 0;
|
static int numTannerPeds = 0;
|
||||||
@ -81,9 +96,9 @@ int pinginPedAngle = 0;
|
|||||||
|
|
||||||
PEDESTRIAN pedestrians[MAX_PEDESTRIANS];
|
PEDESTRIAN pedestrians[MAX_PEDESTRIANS];
|
||||||
|
|
||||||
PEDESTRIAN* pUsedPeds = NULL; // linked list of pedestrians
|
LPPEDESTRIAN pUsedPeds = NULL; // linked list of pedestrians
|
||||||
PEDESTRIAN* pFreePeds = NULL;
|
LPPEDESTRIAN pFreePeds = NULL;
|
||||||
PEDESTRIAN* pHold = NULL;
|
LPPEDESTRIAN pHold = NULL;
|
||||||
|
|
||||||
int max_pedestrians;
|
int max_pedestrians;
|
||||||
int num_pedestrians;
|
int num_pedestrians;
|
||||||
@ -103,6 +118,11 @@ int bPower = 0;
|
|||||||
int oldWeather = 0;
|
int oldWeather = 0;
|
||||||
int powerCounter = 0;
|
int powerCounter = 0;
|
||||||
|
|
||||||
|
extern int CheckForPlayerCar(LPPEDESTRIAN pedestrian, CAR_COLLISION_BOX* collision_box); // 0x000732C0
|
||||||
|
extern SEATEDPTR FindSeated(); // 0x00072644
|
||||||
|
extern SEATEDPTR FindTannerASeat(LPPEDESTRIAN pPed); // 0x000717AC
|
||||||
|
extern void add_seated(SEATEDPTR seatedptr, int seat_index); // 0x000718C8
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void InitTanner(void)
|
void InitTanner(void)
|
||||||
{
|
{
|
||||||
@ -142,7 +162,7 @@ void InitTanner(void)
|
|||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetTannerPosition(VECTOR* pVec)
|
void SetTannerPosition(VECTOR* pVec)
|
||||||
{
|
{
|
||||||
PEDESTRIAN* pPed;
|
LPPEDESTRIAN pPed;
|
||||||
|
|
||||||
pPed = pUsedPeds;
|
pPed = pUsedPeds;
|
||||||
while (pPed)
|
while (pPed)
|
||||||
@ -166,18 +186,18 @@ void SetTannerPosition(VECTOR* pVec)
|
|||||||
void InitPedestrians(void)
|
void InitPedestrians(void)
|
||||||
{
|
{
|
||||||
int loop;
|
int loop;
|
||||||
SEATED_PEDESTRIANS* seatedptr;
|
SEATEDPTR seatedptr;
|
||||||
|
|
||||||
memset((u_char*)pedestrians, 0, sizeof(pedestrians));
|
memset((u_char*)pedestrians, 0, sizeof(pedestrians));
|
||||||
DestroyPedestrians();
|
DestroyPedestrians();
|
||||||
|
|
||||||
PEDESTRIAN* lastPed = &pedestrians[0];
|
LPPEDESTRIAN lastPed = &pedestrians[0];
|
||||||
|
|
||||||
lastPed->pPrev = NULL;
|
lastPed->pPrev = NULL;
|
||||||
|
|
||||||
for (loop = 1; loop < MAX_PEDESTRIANS; loop++)
|
for (loop = 1; loop < MAX_PEDESTRIANS; loop++)
|
||||||
{
|
{
|
||||||
PEDESTRIAN* currPed = &pedestrians[loop];
|
LPPEDESTRIAN currPed = &pedestrians[loop];
|
||||||
|
|
||||||
lastPed->pNext = currPed;
|
lastPed->pNext = currPed;
|
||||||
currPed->pPrev = lastPed++;
|
currPed->pPrev = lastPed++;
|
||||||
@ -227,8 +247,8 @@ void DestroyPedestrians(void)
|
|||||||
// [D] [T]
|
// [D] [T]
|
||||||
void DestroyCivPedestrians(void)
|
void DestroyCivPedestrians(void)
|
||||||
{
|
{
|
||||||
PEDESTRIAN* pPed;
|
LPPEDESTRIAN pPed;
|
||||||
PEDESTRIAN* pHPed;
|
LPPEDESTRIAN pHPed;
|
||||||
|
|
||||||
pPed = pUsedPeds;
|
pPed = pUsedPeds;
|
||||||
while (pPed != NULL)
|
while (pPed != NULL)
|
||||||
@ -247,7 +267,7 @@ void DestroyCivPedestrians(void)
|
|||||||
|
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void DestroyPedestrian(PEDESTRIAN* pPed)
|
void DestroyPedestrian(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
if (pPed->flags & 8)
|
if (pPed->flags & 8)
|
||||||
numCopPeds--; // or road block pedestrians
|
numCopPeds--; // or road block pedestrians
|
||||||
@ -306,9 +326,9 @@ int PedSurfaceType(VECTOR* ped_pos)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
PEDESTRIAN* CreatePedestrian(void)
|
LPPEDESTRIAN CreatePedestrian(void)
|
||||||
{
|
{
|
||||||
PEDESTRIAN* pNewPed;
|
LPPEDESTRIAN pNewPed;
|
||||||
pNewPed = pFreePeds;
|
pNewPed = pFreePeds;
|
||||||
|
|
||||||
if (pFreePeds != NULL)
|
if (pFreePeds != NULL)
|
||||||
@ -400,7 +420,7 @@ void PlaceRoadBlockCops(void)
|
|||||||
// [D] [T]
|
// [D] [T]
|
||||||
int CreatePedAtLocation(LONGVECTOR4* pPos, int pedType)
|
int CreatePedAtLocation(LONGVECTOR4* pPos, int pedType)
|
||||||
{
|
{
|
||||||
PEDESTRIAN* pPed;
|
LPPEDESTRIAN pPed;
|
||||||
|
|
||||||
if (num_pedestrians >= MAX_PLACED_PEDS)
|
if (num_pedestrians >= MAX_PLACED_PEDS)
|
||||||
return 0;
|
return 0;
|
||||||
@ -456,7 +476,7 @@ int CreatePedAtLocation(LONGVECTOR4* pPos, int pedType)
|
|||||||
// [D] [T]
|
// [D] [T]
|
||||||
void DrawAllPedestrians(void)
|
void DrawAllPedestrians(void)
|
||||||
{
|
{
|
||||||
PEDESTRIAN* pPed;
|
LPPEDESTRIAN pPed;
|
||||||
|
|
||||||
pPed = pUsedPeds;
|
pPed = pUsedPeds;
|
||||||
while (pPed != NULL)
|
while (pPed != NULL)
|
||||||
@ -504,7 +524,7 @@ void DrawAllPedestrians(void)
|
|||||||
// [D] [T]
|
// [D] [T]
|
||||||
int TannerActionHappening(void)
|
int TannerActionHappening(void)
|
||||||
{
|
{
|
||||||
PEDESTRIAN* pPed = player[0].pPed;
|
LPPEDESTRIAN pPed = player[0].pPed;
|
||||||
|
|
||||||
if (pPed && pPed->type == PED_ACTION_PRESSBUTTON)
|
if (pPed && pPed->type == PED_ACTION_PRESSBUTTON)
|
||||||
return pPed->frame1 == 14;
|
return pPed->frame1 == 14;
|
||||||
@ -519,8 +539,8 @@ int bAvoidBomb = -1;
|
|||||||
void ControlPedestrians(void)
|
void ControlPedestrians(void)
|
||||||
{
|
{
|
||||||
CAR_DATA* pCar;
|
CAR_DATA* pCar;
|
||||||
PEDESTRIAN* pPed;
|
LPPEDESTRIAN pPed;
|
||||||
PEDESTRIAN* pPedNext;
|
LPPEDESTRIAN pPedNext;
|
||||||
|
|
||||||
pPed = pUsedPeds;
|
pPed = pUsedPeds;
|
||||||
|
|
||||||
@ -583,7 +603,7 @@ void ControlPedestrians(void)
|
|||||||
|
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void AnimatePed(PEDESTRIAN* pPed)
|
void AnimatePed(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int dir;
|
int dir;
|
||||||
VECTOR vec;
|
VECTOR vec;
|
||||||
@ -673,7 +693,7 @@ void AnimatePed(PEDESTRIAN* pPed)
|
|||||||
|
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupDoNowt(PEDESTRIAN* pPed)
|
void SetupDoNowt(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->speed = 0;
|
pPed->speed = 0;
|
||||||
pPed->dir.vz = 0;
|
pPed->dir.vz = 0;
|
||||||
@ -685,7 +705,7 @@ void SetupDoNowt(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupWalker(PEDESTRIAN* pPed)
|
void SetupWalker(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->type = PED_ACTION_WALK;
|
pPed->type = PED_ACTION_WALK;
|
||||||
pPed->speed = 14;
|
pPed->speed = 14;
|
||||||
@ -695,7 +715,7 @@ void SetupWalker(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupRunner(PEDESTRIAN* pPed)
|
void SetupRunner(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->type = PED_ACTION_RUN;
|
pPed->type = PED_ACTION_RUN;
|
||||||
pPed->frame1 = 0;
|
pPed->frame1 = 0;
|
||||||
@ -706,7 +726,7 @@ void SetupRunner(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupBack(PEDESTRIAN* pPed)
|
void SetupBack(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->type = PED_ACTION_WALK;
|
pPed->type = PED_ACTION_WALK;
|
||||||
pPed->frame1 = 0;
|
pPed->frame1 = 0;
|
||||||
@ -719,7 +739,7 @@ void SetupBack(PEDESTRIAN* pPed)
|
|||||||
CAR_DATA* pCivCarToGetIn = NULL;
|
CAR_DATA* pCivCarToGetIn = NULL;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void CivGetIn(PEDESTRIAN* pPed) // [A] UNUSED
|
void CivGetIn(LPPEDESTRIAN pPed) // [A] UNUSED
|
||||||
{
|
{
|
||||||
u_int padid;
|
u_int padid;
|
||||||
DRIVER2_CURVE* curve;
|
DRIVER2_CURVE* curve;
|
||||||
@ -741,7 +761,7 @@ void CivGetIn(PEDESTRIAN* pPed) // [A] UNUSED
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void CopStand(PEDESTRIAN* pPed)
|
void CopStand(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
VECTOR v;
|
VECTOR v;
|
||||||
v.vx = pPed->position.vx - player[0].pos[0];
|
v.vx = pPed->position.vx - player[0].pos[0];
|
||||||
@ -754,7 +774,7 @@ void CopStand(PEDESTRIAN* pPed)
|
|||||||
int iAllowWatch = 0;
|
int iAllowWatch = 0;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void PedDoNothing(PEDESTRIAN* pPed)
|
void PedDoNothing(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->speed = 0;
|
pPed->speed = 0;
|
||||||
|
|
||||||
@ -868,7 +888,7 @@ void PedDoNothing(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void PedUserRunner(PEDESTRIAN* pPed)
|
void PedUserRunner(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
if ((pPed->flags & 0x10U) == 0)
|
if ((pPed->flags & 0x10U) == 0)
|
||||||
{
|
{
|
||||||
@ -946,7 +966,7 @@ void PedUserRunner(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void PedUserWalker(PEDESTRIAN* pPed)
|
void PedUserWalker(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
if ((pPed->flags & 0x10) == 0)
|
if ((pPed->flags & 0x10) == 0)
|
||||||
{
|
{
|
||||||
@ -986,7 +1006,7 @@ int bFreezeAnimation = 0;
|
|||||||
int allreadydone = 0;
|
int allreadydone = 0;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void PedCarryOutAnimation(PEDESTRIAN* pPed)
|
void PedCarryOutAnimation(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->speed = 0;
|
pPed->speed = 0;
|
||||||
|
|
||||||
@ -1050,7 +1070,7 @@ CAR_DATA* carToGetIn;
|
|||||||
int bReverseYRotation = 0;
|
int bReverseYRotation = 0;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void PedGetOutCar(PEDESTRIAN* pPed)
|
void PedGetOutCar(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int playerId;
|
int playerId;
|
||||||
|
|
||||||
@ -1080,7 +1100,7 @@ void PedGetOutCar(PEDESTRIAN* pPed)
|
|||||||
int lastCarCameraView = 0;
|
int lastCarCameraView = 0;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupGetOutCar(PEDESTRIAN* pPed, CAR_DATA* pCar, int side)
|
void SetupGetOutCar(LPPEDESTRIAN pPed, CAR_DATA* pCar, int side)
|
||||||
{
|
{
|
||||||
bool entrySide;
|
bool entrySide;
|
||||||
int sn, cs;
|
int sn, cs;
|
||||||
@ -1127,7 +1147,7 @@ void SetupGetOutCar(PEDESTRIAN* pPed, CAR_DATA* pCar, int side)
|
|||||||
|
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupGetInCar(PEDESTRIAN* pPed)
|
void SetupGetInCar(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int sn, cs;
|
int sn, cs;
|
||||||
int carDir;
|
int carDir;
|
||||||
@ -1190,7 +1210,7 @@ void SetupGetInCar(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void PedGetInCar(PEDESTRIAN* pPed)
|
void PedGetInCar(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int playerID;
|
int playerID;
|
||||||
|
|
||||||
@ -1217,7 +1237,7 @@ void PedGetInCar(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupPressButton(PEDESTRIAN* pPed)
|
void SetupPressButton(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->type = PED_ACTION_PRESSBUTTON;
|
pPed->type = PED_ACTION_PRESSBUTTON;
|
||||||
SetupPedMotionData(pPed);
|
SetupPedMotionData(pPed);
|
||||||
@ -1229,7 +1249,7 @@ void SetupPressButton(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void PedPressButton(PEDESTRIAN* pPed)
|
void PedPressButton(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
if (pPed->frame1 < 15)
|
if (pPed->frame1 < 15)
|
||||||
{
|
{
|
||||||
@ -1247,7 +1267,7 @@ void PedPressButton(PEDESTRIAN* pPed)
|
|||||||
|
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupTannerSitDown(PEDESTRIAN* pPed)
|
void SetupTannerSitDown(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->type = PED_ACTION_SIT;
|
pPed->type = PED_ACTION_SIT;
|
||||||
SetupPedMotionData(pPed);
|
SetupPedMotionData(pPed);
|
||||||
@ -1259,7 +1279,7 @@ void SetupTannerSitDown(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void TannerCameraHandler(PEDESTRIAN* pPed)
|
void TannerCameraHandler(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int value;
|
int value;
|
||||||
int padSteer;
|
int padSteer;
|
||||||
@ -1308,7 +1328,7 @@ void TannerCameraHandler(PEDESTRIAN* pPed)
|
|||||||
|
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void TannerSitDown(PEDESTRIAN* pPed)
|
void TannerSitDown(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
if (oldCamView != 2 && player[pPed->padId].cameraView == 2)
|
if (oldCamView != 2 && player[pPed->padId].cameraView == 2)
|
||||||
{
|
{
|
||||||
@ -1362,7 +1382,7 @@ void TannerSitDown(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void CivPedDoNothing(PEDESTRIAN* pPed)
|
void CivPedDoNothing(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1395,7 +1415,7 @@ void SetupCivPedRouteData(VECTOR* pPos)
|
|||||||
void PingInPedestrians(void)
|
void PingInPedestrians(void)
|
||||||
{
|
{
|
||||||
int bFound;
|
int bFound;
|
||||||
PEDESTRIAN* pPed;
|
LPPEDESTRIAN pPed;
|
||||||
int rnd;
|
int rnd;
|
||||||
int pingInDist;
|
int pingInDist;
|
||||||
int i;
|
int i;
|
||||||
@ -1515,7 +1535,7 @@ void PingInPedestrians(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void TannerCollision(PEDESTRIAN* pPed)
|
void TannerCollision(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
CAR_DATA* pcdTanner;
|
CAR_DATA* pcdTanner;
|
||||||
|
|
||||||
@ -1552,7 +1572,7 @@ void TannerCollision(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
int FindPointOfCollision(CAR_DATA* pCar, PEDESTRIAN* pPed)
|
int FindPointOfCollision(CAR_DATA* pCar, LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int dx, dz;
|
int dx, dz;
|
||||||
int minZ;
|
int minZ;
|
||||||
@ -1744,7 +1764,7 @@ int TannerCarCollisionCheck(VECTOR* pPos, int dir, int bQuick)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
int PingOutPed(PEDESTRIAN* pPed)
|
int PingOutPed(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int pz;
|
int pz;
|
||||||
int px;
|
int px;
|
||||||
@ -1762,7 +1782,7 @@ int PingOutPed(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupCivJump(PEDESTRIAN* pPed, CAR_DATA* cp)
|
void SetupCivJump(LPPEDESTRIAN pPed, CAR_DATA* cp)
|
||||||
{
|
{
|
||||||
int dz;
|
int dz;
|
||||||
short scale;
|
short scale;
|
||||||
@ -1842,7 +1862,7 @@ void SetupCivJump(PEDESTRIAN* pPed, CAR_DATA* cp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void CivPedJump(PEDESTRIAN* pPed)
|
void CivPedJump(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
if (pPed->frame1 == 2)
|
if (pPed->frame1 == 2)
|
||||||
pPed->speed *= 2;
|
pPed->speed *= 2;
|
||||||
@ -1865,7 +1885,7 @@ void CivPedJump(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetupCivPedWalk(PEDESTRIAN* pPed)
|
void SetupCivPedWalk(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->flags |= 0x10;
|
pPed->flags |= 0x10;
|
||||||
|
|
||||||
@ -1880,7 +1900,7 @@ void SetupCivPedWalk(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void CivPedWalk(PEDESTRIAN* pPed)
|
void CivPedWalk(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int dir;
|
int dir;
|
||||||
int turn;
|
int turn;
|
||||||
@ -1960,7 +1980,7 @@ void CivPedWalk(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void CivPedSit(PEDESTRIAN* pPed)
|
void CivPedSit(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
pPed->frame1 = 0;
|
pPed->frame1 = 0;
|
||||||
}
|
}
|
||||||
@ -1977,7 +1997,7 @@ void HandlePedestrians(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void PedestrianActionInit_WalkToTarget(PEDESTRIAN* pPed)
|
void PedestrianActionInit_WalkToTarget(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int dir;
|
int dir;
|
||||||
dir = CalcPedestrianDirection(0, (pPed->position).vx, (pPed->position).vz, &pPed->target);
|
dir = CalcPedestrianDirection(0, (pPed->position).vx, (pPed->position).vz, &pPed->target);
|
||||||
@ -2000,7 +2020,7 @@ void PedestrianActionInit_WalkToTarget(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void CorrectPathPosition(PEDESTRIAN* pedestrian, VECTOR* position)
|
void CorrectPathPosition(LPPEDESTRIAN pedestrian, VECTOR* position)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2092,7 +2112,7 @@ int CalcPedestrianDirection(int last_dir, int wx, int wz, VECTOR* target)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
int IsPavement(int x, int y, int z, PEDESTRIAN* pPed)
|
int IsPavement(int x, int y, int z, LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
VECTOR v;
|
VECTOR v;
|
||||||
@ -2117,7 +2137,7 @@ int IsPavement(int x, int y, int z, PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void SetPedestrianTurn(PEDESTRIAN* pedestrian, int turn)
|
void SetPedestrianTurn(LPPEDESTRIAN pedestrian, int turn)
|
||||||
{
|
{
|
||||||
int speed;
|
int speed;
|
||||||
int dir;
|
int dir;
|
||||||
@ -2138,12 +2158,12 @@ void SetPedestrianTurn(PEDESTRIAN* pedestrian, int turn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
SEATED_PEDESTRIANS* FindSeated(void)
|
SEATEDPTR FindSeated(void)
|
||||||
{
|
{
|
||||||
int dz;
|
int dz;
|
||||||
int dx;
|
int dx;
|
||||||
int count1;
|
int count1;
|
||||||
SEATED_PEDESTRIANS* seatedptr;
|
SEATEDPTR seatedptr;
|
||||||
|
|
||||||
if (!seated_pedestrian)
|
if (!seated_pedestrian)
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -2184,13 +2204,13 @@ SEATED_PEDESTRIANS* FindSeated(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
SEATED_PEDESTRIANS* FindTannerASeat(PEDESTRIAN* pPed)
|
SEATEDPTR FindTannerASeat(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
int dx, dz;
|
int dx, dz;
|
||||||
int distSqr;
|
int distSqr;
|
||||||
int bestSqr;
|
int bestSqr;
|
||||||
SEATED_PEDESTRIANS* seatedptr;
|
SEATEDPTR seatedptr;
|
||||||
SEATED_PEDESTRIANS* theOne;
|
SEATEDPTR theOne;
|
||||||
|
|
||||||
theOne = NULL;
|
theOne = NULL;
|
||||||
bestSqr = 4096;
|
bestSqr = 4096;
|
||||||
@ -2236,9 +2256,9 @@ SEATED_PEDESTRIANS* FindTannerASeat(PEDESTRIAN* pPed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void add_seated(SEATED_PEDESTRIANS* seatedptr, int seat_index)
|
void add_seated(SEATEDPTR seatedptr, int seat_index)
|
||||||
{
|
{
|
||||||
PEDESTRIAN* pedptr;
|
LPPEDESTRIAN pedptr;
|
||||||
int rnd;
|
int rnd;
|
||||||
|
|
||||||
if (num_pedestrians < MAX_SEATED_PEDS)
|
if (num_pedestrians < MAX_SEATED_PEDS)
|
||||||
@ -2393,7 +2413,7 @@ void BuildCarCollisionBox(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
CAR_DATA* CheckForCar(PEDESTRIAN* pedestrian)
|
CAR_DATA* CheckForCar(LPPEDESTRIAN pedestrian)
|
||||||
{
|
{
|
||||||
int count;
|
int count;
|
||||||
|
|
||||||
@ -2427,7 +2447,7 @@ CAR_DATA* CheckForCar(PEDESTRIAN* pedestrian)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
int CheckForPlayerCar(PEDESTRIAN* pedestrian, CAR_COLLISION_BOX* collision_box)
|
int CheckForPlayerCar(LPPEDESTRIAN pedestrian, CAR_COLLISION_BOX* collision_box)
|
||||||
{
|
{
|
||||||
if (pedestrian->position.vx >= collision_box->min_x &&
|
if (pedestrian->position.vx >= collision_box->min_x &&
|
||||||
pedestrian->position.vx <= collision_box->max_x &&
|
pedestrian->position.vx <= collision_box->max_x &&
|
||||||
@ -2443,7 +2463,7 @@ int CheckForPlayerCar(PEDESTRIAN* pedestrian, CAR_COLLISION_BOX* collision_box)
|
|||||||
int basic_car_interest;
|
int basic_car_interest;
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void CalculatePedestrianInterest(PEDESTRIAN* pPed)
|
void CalculatePedestrianInterest(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
CAR_DATA* pCar;
|
CAR_DATA* pCar;
|
||||||
int carId;
|
int carId;
|
||||||
@ -2497,7 +2517,7 @@ void CalculatePedestrianInterest(PEDESTRIAN* pPed)
|
|||||||
// [D] [T]
|
// [D] [T]
|
||||||
void ProcessChairLump(char* lump_file, int lump_size)
|
void ProcessChairLump(char* lump_file, int lump_size)
|
||||||
{
|
{
|
||||||
seated_pedestrian = (SEATED_PEDESTRIANS*)lump_file;
|
seated_pedestrian = (SEATEDPTR)lump_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
@ -2562,7 +2582,7 @@ void IHaveThePower(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void ProcessTannerPad(PEDESTRIAN* pPed, u_int pad, char PadSteer, char use_analogue)
|
void ProcessTannerPad(LPPEDESTRIAN pPed, u_int pad, char PadSteer, char use_analogue)
|
||||||
{
|
{
|
||||||
sdPlane* SurfacePtr;
|
sdPlane* SurfacePtr;
|
||||||
int direction;
|
int direction;
|
||||||
@ -2757,7 +2777,7 @@ int ActivatePlayerPedestrian(CAR_DATA* pCar, char* padId, int direction, LONGVEC
|
|||||||
int wbody;
|
int wbody;
|
||||||
int side;
|
int side;
|
||||||
int dir;
|
int dir;
|
||||||
PEDESTRIAN* pedptr;
|
LPPEDESTRIAN pedptr;
|
||||||
int playerId;
|
int playerId;
|
||||||
VECTOR* pos;
|
VECTOR* pos;
|
||||||
VECTOR v;
|
VECTOR v;
|
||||||
@ -2958,7 +2978,7 @@ int ActivatePlayerPedestrian(CAR_DATA* pCar, char* padId, int direction, LONGVEC
|
|||||||
}
|
}
|
||||||
|
|
||||||
// [D] [T]
|
// [D] [T]
|
||||||
void DeActivatePlayerPedestrian(PEDESTRIAN* pPed)
|
void DeActivatePlayerPedestrian(LPPEDESTRIAN pPed)
|
||||||
{
|
{
|
||||||
CAR_DATA* cp;
|
CAR_DATA* cp;
|
||||||
int playerId;
|
int playerId;
|
||||||
|
@ -3,33 +3,35 @@
|
|||||||
|
|
||||||
#define TANNER_COLLIDER_CARID (MAX_CARS)
|
#define TANNER_COLLIDER_CARID (MAX_CARS)
|
||||||
|
|
||||||
|
typedef struct SEATED_PEDESTRIANS* SEATEDPTR;
|
||||||
|
|
||||||
extern SVECTOR tannerLookAngle;
|
extern SVECTOR tannerLookAngle;
|
||||||
|
|
||||||
extern MODEL* pmTannerModels[17];
|
extern MODEL* pmTannerModels[17];
|
||||||
extern MODEL* pmJerichoModels[6];
|
extern MODEL* pmJerichoModels[6];
|
||||||
|
|
||||||
extern SEATED_PEDESTRIANS *seated_pedestrian;
|
extern SEATEDPTR seated_pedestrian;
|
||||||
extern int bKillTanner;
|
extern int bKillTanner;
|
||||||
extern int bReverseYRotation;
|
extern int bReverseYRotation;
|
||||||
|
|
||||||
extern PEDESTRIAN *pUsedPeds;
|
extern LPPEDESTRIAN pUsedPeds;
|
||||||
|
|
||||||
extern void ProcessChairLump(char *lump_file, int lump_size); // 0x00073328
|
extern void ProcessChairLump(char *lump_file, int lump_size); // 0x00073328
|
||||||
|
|
||||||
extern void InitTanner(); // 0x0006E408
|
extern void InitTanner(); // 0x0006E408
|
||||||
extern void SetTannerPosition(VECTOR *pVec); // 0x00072478
|
extern void SetTannerPosition(VECTOR *pVec); // 0x00072478
|
||||||
|
|
||||||
extern void ProcessTannerPad(PEDESTRIAN *pPed, u_int pad, char PadSteer, char use_analogue); // 0x0006DF54
|
extern void ProcessTannerPad(LPPEDESTRIAN pPed, u_int pad, char PadSteer, char use_analogue); // 0x0006DF54
|
||||||
|
|
||||||
extern void InitPedestrians(); // 0x0006E5C4
|
extern void InitPedestrians(); // 0x0006E5C4
|
||||||
extern void DestroyPedestrians(); // 0x00071F54
|
extern void DestroyPedestrians(); // 0x00071F54
|
||||||
|
|
||||||
extern void DestroyCivPedestrians(); // 0x00072FD0
|
extern void DestroyCivPedestrians(); // 0x00072FD0
|
||||||
|
|
||||||
extern void DestroyPedestrian(PEDESTRIAN *pPed); // 0x00071FB4
|
extern void DestroyPedestrian(LPPEDESTRIAN pPed); // 0x00071FB4
|
||||||
|
|
||||||
extern int ActivatePlayerPedestrian(CAR_DATA *pCar, char *padId, int direction, LONGVECTOR4* position, PED_MODEL_TYPES playerType); // 0x0006E6C4
|
extern int ActivatePlayerPedestrian(CAR_DATA *pCar, char *padId, int direction, LONGVECTOR4* position, PED_MODEL_TYPES playerType); // 0x0006E6C4
|
||||||
extern PEDESTRIAN * CreatePedestrian(); // 0x000720AC
|
extern LPPEDESTRIAN CreatePedestrian(); // 0x000720AC
|
||||||
|
|
||||||
extern void PlaceRoadBlockCops(); // 0x0006EC88
|
extern void PlaceRoadBlockCops(); // 0x0006EC88
|
||||||
extern int CreatePedAtLocation(LONGVECTOR4* pPos, int pedType); // 0x0006F00C
|
extern int CreatePedAtLocation(LONGVECTOR4* pPos, int pedType); // 0x0006F00C
|
||||||
@ -39,50 +41,42 @@ extern int TannerActionHappening(); // 0x00072430
|
|||||||
|
|
||||||
extern void ControlPedestrians(); // 0x0006F16C
|
extern void ControlPedestrians(); // 0x0006F16C
|
||||||
|
|
||||||
extern void DeActivatePlayerPedestrian(PEDESTRIAN *pPed); // 0x0007216C
|
extern void DeActivatePlayerPedestrian(LPPEDESTRIAN pPed); // 0x0007216C
|
||||||
|
|
||||||
extern void SetupCivPedRouteData(VECTOR *pPos); // 0x0007313C
|
extern void SetupCivPedRouteData(VECTOR *pPos); // 0x0007313C
|
||||||
|
|
||||||
extern void PingInPedestrians(); // 0x0007047C
|
extern void PingInPedestrians(); // 0x0007047C
|
||||||
|
|
||||||
extern void TannerCollision(PEDESTRIAN *pPed); // 0x00072EE4
|
extern void TannerCollision(LPPEDESTRIAN pPed); // 0x00072EE4
|
||||||
|
|
||||||
extern int FindPointOfCollision(CAR_DATA *pCar, PEDESTRIAN* pPed); // 0x00070878
|
extern int FindPointOfCollision(CAR_DATA *pCar, LPPEDESTRIAN pPed); // 0x00070878
|
||||||
|
|
||||||
extern int TannerCarCollisionCheck(VECTOR *pPos, int dir, int bQuick); // 0x00070A9C
|
extern int TannerCarCollisionCheck(VECTOR *pPos, int dir, int bQuick); // 0x00070A9C
|
||||||
|
|
||||||
extern int PingOutPed(PEDESTRIAN *pPed); // 0x000731F8
|
extern int PingOutPed(LPPEDESTRIAN pPed); // 0x000731F8
|
||||||
|
|
||||||
extern void SetupCivJump(PEDESTRIAN *pPed, CAR_DATA *cp); // 0x00071054
|
extern void SetupCivJump(LPPEDESTRIAN pPed, CAR_DATA *cp); // 0x00071054
|
||||||
|
|
||||||
extern void SetupCivPedWalk(PEDESTRIAN *pPed); // 0x00073270
|
extern void SetupCivPedWalk(LPPEDESTRIAN pPed); // 0x00073270
|
||||||
|
|
||||||
extern void HandlePedestrians(); // 0x0007211C
|
extern void HandlePedestrians(); // 0x0007211C
|
||||||
|
|
||||||
extern void PedestrianActionInit_WalkToTarget(PEDESTRIAN *pPed); // 0x0007283C
|
extern void PedestrianActionInit_WalkToTarget(LPPEDESTRIAN pPed); // 0x0007283C
|
||||||
|
|
||||||
extern void CorrectPathPosition(PEDESTRIAN *pedestrian, VECTOR *position); // 0x000715FC
|
extern void CorrectPathPosition(LPPEDESTRIAN pedestrian, VECTOR *position); // 0x000715FC
|
||||||
|
|
||||||
extern int CalcPedestrianDirection(int last_dir, int wx, int wz, VECTOR *target); // 0x00071608
|
extern int CalcPedestrianDirection(int last_dir, int wx, int wz, VECTOR *target); // 0x00071608
|
||||||
|
|
||||||
extern int IsPavement(int x, int y, int z, PEDESTRIAN *pPed); // 0x000725B8
|
extern int IsPavement(int x, int y, int z, LPPEDESTRIAN pPed); // 0x000725B8
|
||||||
|
|
||||||
extern void SetPedestrianTurn(PEDESTRIAN *pedestrian, int turn); // 0x00072500
|
extern void SetPedestrianTurn(LPPEDESTRIAN pedestrian, int turn); // 0x00072500
|
||||||
|
|
||||||
extern SEATED_PEDESTRIANS * FindSeated(); // 0x00072644
|
|
||||||
|
|
||||||
extern SEATED_PEDESTRIANS * FindTannerASeat(PEDESTRIAN *pPed); // 0x000717AC
|
|
||||||
|
|
||||||
extern void add_seated(SEATED_PEDESTRIANS *seatedptr, int seat_index); // 0x000718C8
|
|
||||||
|
|
||||||
extern void set_coll_box(int index, CAR_DATA *cp, int offset); // 0x00071A5C
|
extern void set_coll_box(int index, CAR_DATA *cp, int offset); // 0x00071A5C
|
||||||
|
|
||||||
extern void BuildCarCollisionBox(); // 0x00071B7C
|
extern void BuildCarCollisionBox(); // 0x00071B7C
|
||||||
|
|
||||||
extern CAR_DATA * CheckForCar(PEDESTRIAN *pedestrian); // 0x00072738
|
extern CAR_DATA* CheckForCar(LPPEDESTRIAN pedestrian); // 0x00072738
|
||||||
|
|
||||||
extern int CheckForPlayerCar(PEDESTRIAN *pedestrian, CAR_COLLISION_BOX *collision_box); // 0x000732C0
|
extern void CalculatePedestrianInterest(LPPEDESTRIAN pPed); // 0x00071E0C
|
||||||
|
|
||||||
extern void CalculatePedestrianInterest(PEDESTRIAN *pPed); // 0x00071E0C
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -247,7 +247,7 @@ void ChangePedPlayerToCar(int playerID, CAR_DATA *newCar)
|
|||||||
void UpdatePlayers(void)
|
void UpdatePlayers(void)
|
||||||
{
|
{
|
||||||
int i, carId;
|
int i, carId;
|
||||||
PEDESTRIAN* ped;
|
LPPEDESTRIAN ped;
|
||||||
PLAYER* locPlayer;
|
PLAYER* locPlayer;
|
||||||
CAR_DATA* cp;
|
CAR_DATA* cp;
|
||||||
|
|
||||||
|
@ -5,6 +5,12 @@
|
|||||||
|
|
||||||
extern TEXTURE_DETAILS digit_texture;
|
extern TEXTURE_DETAILS digit_texture;
|
||||||
|
|
||||||
|
struct FONT_DIGIT
|
||||||
|
{
|
||||||
|
char xOffset;
|
||||||
|
char width;
|
||||||
|
};
|
||||||
|
|
||||||
FONT_DIGIT fontDigit[] = {
|
FONT_DIGIT fontDigit[] = {
|
||||||
{ 2, 14 },
|
{ 2, 14 },
|
||||||
{ 17, 14},
|
{ 17, 14},
|
||||||
|
@ -1,6 +1,17 @@
|
|||||||
#ifndef PRES_H
|
#ifndef PRES_H
|
||||||
#define PRES_H
|
#define PRES_H
|
||||||
|
|
||||||
|
struct OUT_FONTINFO
|
||||||
|
{
|
||||||
|
u_char x;
|
||||||
|
u_char y;
|
||||||
|
char offx;
|
||||||
|
char offy;
|
||||||
|
u_char width;
|
||||||
|
u_char height;
|
||||||
|
u_short pad;
|
||||||
|
};
|
||||||
|
|
||||||
extern short fonttpage;
|
extern short fonttpage;
|
||||||
|
|
||||||
extern void InitButtonTextures(); // 0x00074E54
|
extern void InitButtonTextures(); // 0x00074E54
|
||||||
|
@ -14,6 +14,18 @@
|
|||||||
#include "mission.h"
|
#include "mission.h"
|
||||||
#include "tile.h"
|
#include "tile.h"
|
||||||
|
|
||||||
|
struct TYRE_TRACK
|
||||||
|
{
|
||||||
|
u_char type;
|
||||||
|
u_char shade;
|
||||||
|
u_char shade_type;
|
||||||
|
u_char surface;
|
||||||
|
SVECTOR_NOPAD p1;
|
||||||
|
SVECTOR_NOPAD p2;
|
||||||
|
SVECTOR_NOPAD p3;
|
||||||
|
SVECTOR_NOPAD p4;
|
||||||
|
};
|
||||||
|
|
||||||
int gShadowTexturePage;
|
int gShadowTexturePage;
|
||||||
int gShadowTextureNum;
|
int gShadowTextureNum;
|
||||||
|
|
||||||
|
@ -24,6 +24,45 @@
|
|||||||
#include "camera.h"
|
#include "camera.h"
|
||||||
#include "dr2roads.h"
|
#include "dr2roads.h"
|
||||||
|
|
||||||
|
struct SPOOLQ
|
||||||
|
{
|
||||||
|
u_char type;
|
||||||
|
u_char data;
|
||||||
|
u_short nsectors;
|
||||||
|
u_int sector;
|
||||||
|
char* addr;
|
||||||
|
void (*func)();
|
||||||
|
#ifdef _DEBUG
|
||||||
|
const char* requestby;
|
||||||
|
int requestbyline;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SPL_REGIONINFO
|
||||||
|
{
|
||||||
|
u_short region_to_unpack;
|
||||||
|
u_short target_barrel_region;
|
||||||
|
int nsectors;
|
||||||
|
char* cell_addr;
|
||||||
|
char* roadm_addr;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct AreaDataStr
|
||||||
|
{
|
||||||
|
u_short gfx_offset;
|
||||||
|
u_short model_offset;
|
||||||
|
u_short music_offset;
|
||||||
|
u_short ambient_offset;
|
||||||
|
u_char model_size;
|
||||||
|
u_char pad;
|
||||||
|
u_char num_tpages;
|
||||||
|
u_char ambient_size;
|
||||||
|
u_char music_size;
|
||||||
|
u_char music_samples_size;
|
||||||
|
u_char music_id;
|
||||||
|
u_char ambient_id;
|
||||||
|
};
|
||||||
|
|
||||||
int date_date = 0xA11;
|
int date_date = 0xA11;
|
||||||
int date_time = 0x27220B;
|
int date_time = 0x27220B;
|
||||||
|
|
||||||
|
@ -1,6 +1,18 @@
|
|||||||
#ifndef SPOOL_H
|
#ifndef SPOOL_H
|
||||||
#define SPOOL_H
|
#define SPOOL_H
|
||||||
|
|
||||||
|
struct Spool
|
||||||
|
{
|
||||||
|
u_short offset;
|
||||||
|
u_char connected_areas[2];
|
||||||
|
u_char pvs_size;
|
||||||
|
u_char cell_data_size[3];
|
||||||
|
u_char super_region;
|
||||||
|
u_char num_connected_areas;
|
||||||
|
u_char roadm_size;
|
||||||
|
u_char roadh_size;
|
||||||
|
};
|
||||||
|
|
||||||
extern int cell_objects_add[5];
|
extern int cell_objects_add[5];
|
||||||
extern int cell_slots_add[5];
|
extern int cell_slots_add[5];
|
||||||
|
|
||||||
|
@ -1,6 +1,32 @@
|
|||||||
#ifndef SYSTEM_H
|
#ifndef SYSTEM_H
|
||||||
#define SYSTEM_H
|
#define SYSTEM_H
|
||||||
|
|
||||||
|
struct DRAW_MODE
|
||||||
|
{
|
||||||
|
short x1, y1;
|
||||||
|
short x2, y2;
|
||||||
|
short width, height;
|
||||||
|
short framex, framey;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum CDTYPE
|
||||||
|
{
|
||||||
|
CDTYPE_NODISC = 0,
|
||||||
|
CDTYPE_SHELLOPEN = 1,
|
||||||
|
CDTYPE_DISCERROR = 2,
|
||||||
|
CDTYPE_WRONGDISC = 3,
|
||||||
|
CDTYPE_CORRECTDISC = 4,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum CITYTYPE
|
||||||
|
{
|
||||||
|
CITYTYPE_DAY = 0,
|
||||||
|
CITYTYPE_NIGHT = 1,
|
||||||
|
CITYTYPE_MULTI_DAY = 2,
|
||||||
|
CITYTYPE_MULTI_NIGHT = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
extern volatile char* _overlay_buffer; // 0x1C0000
|
extern volatile char* _overlay_buffer; // 0x1C0000
|
||||||
extern volatile char* _frontend_buffer; // 0xFB400
|
extern volatile char* _frontend_buffer; // 0xFB400
|
||||||
extern volatile char* _other_buffer; // 0xF3000
|
extern volatile char* _other_buffer; // 0xF3000
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#include "driver2.h"
|
#include "driver2.h"
|
||||||
#include "tile.h"
|
|
||||||
#include "models.h"
|
#include "models.h"
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "mission.h"
|
#include "mission.h"
|
||||||
#include "draw.h"
|
#include "draw.h"
|
||||||
#include "texture.h"
|
#include "texture.h"
|
||||||
|
#include "tile.h"
|
||||||
|
|
||||||
#include "ASM/rndrasm.h"
|
#include "ASM/rndrasm.h"
|
||||||
|
|
||||||
|
@ -1,6 +1,27 @@
|
|||||||
#ifndef TILE_H
|
#ifndef TILE_H
|
||||||
#define TILE_H
|
#define TILE_H
|
||||||
|
|
||||||
|
struct MVERTEX
|
||||||
|
{
|
||||||
|
short vx;
|
||||||
|
short vy;
|
||||||
|
short vz;
|
||||||
|
union {
|
||||||
|
short val;
|
||||||
|
struct {
|
||||||
|
u_char u0;
|
||||||
|
u_char v0;
|
||||||
|
}s;
|
||||||
|
}uv;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct VERTEX
|
||||||
|
{
|
||||||
|
DVECTOR coord;
|
||||||
|
UV_INFO uv_coord;
|
||||||
|
u_char pad[2];
|
||||||
|
};
|
||||||
|
|
||||||
extern void DrawTILES(PACKED_CELL_OBJECT** tiles, int tile_amount); // 0x00041D7C
|
extern void DrawTILES(PACKED_CELL_OBJECT** tiles, int tile_amount); // 0x00041D7C
|
||||||
|
|
||||||
extern void Tile1x1(MODEL *model); // 0x00041B10
|
extern void Tile1x1(MODEL *model); // 0x00041B10
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "driver2.h"
|
#include "driver2.h"
|
||||||
#include "C/system.h"
|
#include "C/system.h"
|
||||||
|
#include "C/pres.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#ifndef PSX
|
#ifndef PSX
|
||||||
@ -7,6 +8,7 @@
|
|||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int gUserLanguage = 0;
|
int gUserLanguage = 0;
|
||||||
|
|
||||||
char* gMisssionLanguageBuffer = NULL;
|
char* gMisssionLanguageBuffer = NULL;
|
||||||
|
@ -3,6 +3,13 @@
|
|||||||
|
|
||||||
#include <abs.h>
|
#include <abs.h>
|
||||||
|
|
||||||
|
struct MATRIX2
|
||||||
|
{
|
||||||
|
short m[3][3];
|
||||||
|
short computed;
|
||||||
|
char null[12];
|
||||||
|
};
|
||||||
|
|
||||||
#if defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
|
#if defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -260,19 +260,6 @@ struct CAR_MODEL
|
|||||||
SVECTOR* nlist;
|
SVECTOR* nlist;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct plotCarGlobals
|
|
||||||
{
|
|
||||||
u_char* primptr;
|
|
||||||
OTTYPE* ot;
|
|
||||||
u_int intensity;
|
|
||||||
u_short* pciv_clut;
|
|
||||||
u_int ShineyTPageASL16;
|
|
||||||
u_int ShineyClutASL16;
|
|
||||||
u_char* damageLevel;
|
|
||||||
u_char* shineyTable;
|
|
||||||
int ghost;
|
|
||||||
};
|
|
||||||
|
|
||||||
// UNUSED
|
// UNUSED
|
||||||
struct TEX_INFO
|
struct TEX_INFO
|
||||||
{
|
{
|
||||||
@ -564,136 +551,6 @@ struct LEAD_PARAMETERS
|
|||||||
int hWidth80Mul;
|
int hWidth80Mul;
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: DR2EVENTS.H
|
|
||||||
|
|
||||||
typedef struct _EVENT EVENT;
|
|
||||||
|
|
||||||
struct _EVENT
|
|
||||||
{
|
|
||||||
VECTOR position;
|
|
||||||
short rotation;
|
|
||||||
short timer;
|
|
||||||
int* data;
|
|
||||||
int* node;
|
|
||||||
short flags;
|
|
||||||
short radius;
|
|
||||||
int model;
|
|
||||||
EVENT* next;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct FixedEvent // same as EVENT but different fields
|
|
||||||
{
|
|
||||||
VECTOR position;
|
|
||||||
short rotation;
|
|
||||||
short active;
|
|
||||||
u_short initialRotation;
|
|
||||||
u_short finalRotation;
|
|
||||||
u_short minSpeed;
|
|
||||||
u_short maxSpeed;
|
|
||||||
short flags;
|
|
||||||
short radius;
|
|
||||||
int model;
|
|
||||||
EVENT* next;
|
|
||||||
char* modelName;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct EventGlobal
|
|
||||||
{
|
|
||||||
int camera;
|
|
||||||
int draw;
|
|
||||||
EVENT** track;
|
|
||||||
EVENT* cameraEvent;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum SpecialCamera
|
|
||||||
{
|
|
||||||
SPECIAL_CAMERA_SET = 0,
|
|
||||||
SPECIAL_CAMERA_SET2 = 1,
|
|
||||||
SPECIAL_CAMERA_RESET = 2,
|
|
||||||
SPECIAL_CAMERA_WAIT = 3,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MissionTrain
|
|
||||||
{
|
|
||||||
EVENT* engine;
|
|
||||||
int* node;
|
|
||||||
int cornerSpeed;
|
|
||||||
int initialStraightSpeed;
|
|
||||||
int finalStraightSpeed;
|
|
||||||
int start;
|
|
||||||
int startDir;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Foam
|
|
||||||
{
|
|
||||||
MODEL* model;
|
|
||||||
int rotate;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct EventCarriage
|
|
||||||
{
|
|
||||||
short rotation;
|
|
||||||
short vel;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MultiCar
|
|
||||||
{
|
|
||||||
EVENT* event;
|
|
||||||
int count;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Helicopter
|
|
||||||
{
|
|
||||||
int speed;
|
|
||||||
short pitch;
|
|
||||||
short dp;
|
|
||||||
short roll;
|
|
||||||
short dr;
|
|
||||||
int lastX;
|
|
||||||
int lastZ;
|
|
||||||
TEXTURE_DETAILS rotorTexture;
|
|
||||||
short rotorrot;
|
|
||||||
short rotorvel;
|
|
||||||
int cleanModel;
|
|
||||||
int deadModel;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Detonator
|
|
||||||
{
|
|
||||||
int timer;
|
|
||||||
int count;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct CameraDelay
|
|
||||||
{
|
|
||||||
int delay;
|
|
||||||
int type;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum VisType
|
|
||||||
{
|
|
||||||
VIS_INIT = 0,
|
|
||||||
VIS_SORT = 1,
|
|
||||||
VIS_ADD = 2,
|
|
||||||
VIS_NEXT = 3,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct EventCamera
|
|
||||||
{
|
|
||||||
VECTOR position;
|
|
||||||
short yAng;
|
|
||||||
MATRIX matrix;
|
|
||||||
int rotate;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum Station
|
|
||||||
{
|
|
||||||
EVENT_NO_STATION = 0,
|
|
||||||
EVENT_APPROACHING = 1,
|
|
||||||
EVENT_LEAVING = 2,
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
||||||
// TODO: MISSION.H
|
// TODO: MISSION.H
|
||||||
|
|
||||||
@ -957,12 +814,9 @@ enum MissionTimerFlags
|
|||||||
|
|
||||||
struct MR_TIMER
|
struct MR_TIMER
|
||||||
{
|
{
|
||||||
short x;
|
short x, y;
|
||||||
short y;
|
|
||||||
u_char flags;
|
u_char flags;
|
||||||
u_char min;
|
u_char min, sec, frac;
|
||||||
u_char sec;
|
|
||||||
u_char frac;
|
|
||||||
int count;
|
int count;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1073,12 +927,14 @@ enum PED_MODEL_TYPES //: char
|
|||||||
CIVILIAN = 3,
|
CIVILIAN = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef void(*pedFunc)(struct PEDESTRIAN* pPed);
|
typedef struct PEDESTRIAN *LPPEDESTRIAN;
|
||||||
|
|
||||||
|
typedef void(*pedFunc)(LPPEDESTRIAN pPed);
|
||||||
|
|
||||||
typedef struct PEDESTRIAN
|
typedef struct PEDESTRIAN
|
||||||
{
|
{
|
||||||
PEDESTRIAN* pNext;
|
LPPEDESTRIAN pNext;
|
||||||
PEDESTRIAN* pPrev;
|
LPPEDESTRIAN pPrev;
|
||||||
pedFunc fpRestState;
|
pedFunc fpRestState;
|
||||||
pedFunc fpAgitatedState;
|
pedFunc fpAgitatedState;
|
||||||
char padId;
|
char padId;
|
||||||
@ -1103,23 +959,6 @@ typedef struct PEDESTRIAN
|
|||||||
char type;
|
char type;
|
||||||
} *LPPEDESTRIAN;
|
} *LPPEDESTRIAN;
|
||||||
|
|
||||||
struct CAR_COLLISION_BOX
|
|
||||||
{
|
|
||||||
int min_x;
|
|
||||||
int max_x;
|
|
||||||
int min_z;
|
|
||||||
int max_z;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct SEATED_PEDESTRIANS
|
|
||||||
{
|
|
||||||
int x;
|
|
||||||
int z;
|
|
||||||
short rotation;
|
|
||||||
char index;
|
|
||||||
char pad;
|
|
||||||
} *SEATEDPTR;
|
|
||||||
|
|
||||||
typedef struct PEDESTRIAN_ROADS
|
typedef struct PEDESTRIAN_ROADS
|
||||||
{
|
{
|
||||||
short pos;
|
short pos;
|
||||||
@ -1132,61 +971,6 @@ typedef struct PEDESTRIAN_ROADS
|
|||||||
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
||||||
// TODO: GAMESND.H
|
// TODO: GAMESND.H
|
||||||
|
|
||||||
typedef struct __envsound
|
|
||||||
{
|
|
||||||
u_char type;
|
|
||||||
u_char flags;
|
|
||||||
VECTOR pos;
|
|
||||||
VECTOR pos2;
|
|
||||||
int bank;
|
|
||||||
int sample;
|
|
||||||
int vol;
|
|
||||||
} envsound;
|
|
||||||
|
|
||||||
typedef struct __envsoundtags
|
|
||||||
{
|
|
||||||
int frame_cnt;
|
|
||||||
int func_cnt;
|
|
||||||
int num_envsnds;
|
|
||||||
int envsnd_cnt;
|
|
||||||
} envsoundtags;
|
|
||||||
|
|
||||||
typedef struct __envsoundinfo
|
|
||||||
{
|
|
||||||
VECTOR eff_pos[4];
|
|
||||||
VECTOR cam_pos;
|
|
||||||
float g[4];
|
|
||||||
int thisS[4];
|
|
||||||
int playing_sound[4];
|
|
||||||
int chan[4];
|
|
||||||
u_int flags;
|
|
||||||
} envsoundinfo;
|
|
||||||
|
|
||||||
struct SPEECH_QUEUE
|
|
||||||
{
|
|
||||||
char allowed;
|
|
||||||
char chan;
|
|
||||||
char is_playing;
|
|
||||||
int count;
|
|
||||||
char reverb;
|
|
||||||
int slot[7];
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct __othercarsound
|
|
||||||
{
|
|
||||||
int car;
|
|
||||||
int chan;
|
|
||||||
char in_use;
|
|
||||||
char stopped;
|
|
||||||
char idle;
|
|
||||||
} othercarsound;
|
|
||||||
|
|
||||||
typedef struct __bitfield64
|
|
||||||
{
|
|
||||||
int h;
|
|
||||||
int l;
|
|
||||||
} bitfield64;
|
|
||||||
|
|
||||||
typedef struct __skidinfo
|
typedef struct __skidinfo
|
||||||
{
|
{
|
||||||
char chan;
|
char chan;
|
||||||
@ -1200,75 +984,6 @@ typedef struct __horninfo
|
|||||||
char request;
|
char request;
|
||||||
} horninfo;
|
} horninfo;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: ANIMOBJ.H
|
|
||||||
|
|
||||||
struct CYCLE_OBJECT
|
|
||||||
{
|
|
||||||
char* name;
|
|
||||||
short vx;
|
|
||||||
short vy;
|
|
||||||
short start1;
|
|
||||||
short stop1;
|
|
||||||
short speed1;
|
|
||||||
short start2;
|
|
||||||
short stop2;
|
|
||||||
short speed2;
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: OVERLAY.H
|
|
||||||
|
|
||||||
struct COLOUR_BAND
|
|
||||||
{
|
|
||||||
CVECTOR colour;
|
|
||||||
int value;
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct _PERCENTAGE_BAR
|
|
||||||
{
|
|
||||||
char* tag;
|
|
||||||
short xpos;
|
|
||||||
short ypos;
|
|
||||||
short width;
|
|
||||||
short height;
|
|
||||||
u_short position;
|
|
||||||
u_short max;
|
|
||||||
COLOUR_BAND* pColourBand;
|
|
||||||
int flags;
|
|
||||||
int active;
|
|
||||||
} PERCENTAGE_BAR, *LPPERCENTAGE_BAR;
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: OVERMAP.H
|
|
||||||
|
|
||||||
struct COP_SIGHT_DATA
|
|
||||||
{
|
|
||||||
short surroundViewDistance;
|
|
||||||
short frontViewDistance;
|
|
||||||
short frontViewAngle;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MAPTEX
|
|
||||||
{
|
|
||||||
short u;
|
|
||||||
short w;
|
|
||||||
short v;
|
|
||||||
short h;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct OVERMAP
|
|
||||||
{
|
|
||||||
int x_offset;
|
|
||||||
int y_offset;
|
|
||||||
int width;
|
|
||||||
int height;
|
|
||||||
u_char toptile;
|
|
||||||
u_char dummy;
|
|
||||||
int scale;
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
||||||
// TODO: CHEATS.H
|
// TODO: CHEATS.H
|
||||||
|
|
||||||
@ -1399,35 +1114,6 @@ struct PLAYBACKCAMERA
|
|||||||
u_char idx;
|
u_char idx;
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: CUTSCENE.H
|
|
||||||
|
|
||||||
struct CUTSCENE_BUFFER
|
|
||||||
{
|
|
||||||
int numResident;
|
|
||||||
u_char residentCutscenes[4];
|
|
||||||
char(*residentPointers[4]);
|
|
||||||
|
|
||||||
char* buffer;
|
|
||||||
char* currentPointer;
|
|
||||||
|
|
||||||
int bytesFree;
|
|
||||||
int reservedSize;
|
|
||||||
// char buffer[32*1024]; // was 8192, but we have some free mem now even for PSX. Using malloc.
|
|
||||||
};
|
|
||||||
|
|
||||||
struct CUTSCENE_INFO
|
|
||||||
{
|
|
||||||
u_short offset;
|
|
||||||
u_short size;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct CUTSCENE_HEADER
|
|
||||||
{
|
|
||||||
int maxsize;
|
|
||||||
CUTSCENE_INFO data[15];
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
||||||
// TODO: COP_AI.H
|
// TODO: COP_AI.H
|
||||||
|
|
||||||
@ -1450,7 +1136,7 @@ struct ADJACENT_ROAD_INFO
|
|||||||
};
|
};
|
||||||
|
|
||||||
// only "status" is used
|
// only "status" is used
|
||||||
struct ROADBLOCK // [A] causes undefined behaviour
|
struct ROADBLOCK
|
||||||
{
|
{
|
||||||
VECTOR position;
|
VECTOR position;
|
||||||
ADJACENT_ROAD_INFO adjacentRoadInfo;
|
ADJACENT_ROAD_INFO adjacentRoadInfo;
|
||||||
@ -1613,17 +1299,6 @@ typedef struct _PLAYER
|
|||||||
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
||||||
// TODO: AI.H
|
// TODO: AI.H
|
||||||
|
|
||||||
typedef struct _EXTRA_CIV_DATA
|
|
||||||
{
|
|
||||||
int surfInd;
|
|
||||||
int distAlongSegment;
|
|
||||||
short angle;
|
|
||||||
u_short ctrlState;
|
|
||||||
int thrustState;
|
|
||||||
u_char palette;
|
|
||||||
u_char controlFlags;
|
|
||||||
} EXTRA_CIV_DATA;
|
|
||||||
|
|
||||||
struct COP_DATA
|
struct COP_DATA
|
||||||
{
|
{
|
||||||
int autoMaxPowerScaleLimit;
|
int autoMaxPowerScaleLimit;
|
||||||
@ -1637,143 +1312,6 @@ struct COP_DATA
|
|||||||
short trigger[5];
|
short trigger[5];
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AIZone
|
|
||||||
{
|
|
||||||
zoneFrnt = 0,
|
|
||||||
zoneBack = 1,
|
|
||||||
zoneLeft = 2,
|
|
||||||
zoneRght = 3,
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: DRAW.H
|
|
||||||
|
|
||||||
// Primitive plot context used in scratchpad
|
|
||||||
struct _pct
|
|
||||||
{
|
|
||||||
struct DB* current;
|
|
||||||
u_short(*ptexture_pages)[128];
|
|
||||||
u_short(*ptexture_cluts)[128][32];
|
|
||||||
int f4colourTable[32];
|
|
||||||
int* polySizes;
|
|
||||||
char* primptr;
|
|
||||||
OTTYPE* ot;
|
|
||||||
u_int clut;
|
|
||||||
u_int tpage;
|
|
||||||
u_int colour;
|
|
||||||
int flags;
|
|
||||||
SVECTOR* verts;
|
|
||||||
u_int lastTexInfo;
|
|
||||||
int scribble[8];
|
|
||||||
int model;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MATRIX2
|
|
||||||
{
|
|
||||||
short m[3][3];
|
|
||||||
short computed;
|
|
||||||
char null[12];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MVERTEX
|
|
||||||
{
|
|
||||||
short vx;
|
|
||||||
short vy;
|
|
||||||
short vz;
|
|
||||||
union {
|
|
||||||
short val;
|
|
||||||
struct {
|
|
||||||
u_char u0;
|
|
||||||
u_char v0;
|
|
||||||
}s;
|
|
||||||
}uv;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MVERTEX5x5
|
|
||||||
{
|
|
||||||
MVERTEX verts[5][5];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct VERTEX
|
|
||||||
{
|
|
||||||
DVECTOR coord;
|
|
||||||
UV_INFO uv_coord;
|
|
||||||
u_char pad[2];
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: SPOOL.H
|
|
||||||
|
|
||||||
struct Spool
|
|
||||||
{
|
|
||||||
u_short offset;
|
|
||||||
u_char connected_areas[2];
|
|
||||||
u_char pvs_size;
|
|
||||||
u_char cell_data_size[3];
|
|
||||||
u_char super_region;
|
|
||||||
u_char num_connected_areas;
|
|
||||||
u_char roadm_size;
|
|
||||||
u_char roadh_size;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct SPOOLQ
|
|
||||||
{
|
|
||||||
u_char type;
|
|
||||||
u_char data;
|
|
||||||
u_short nsectors;
|
|
||||||
u_int sector;
|
|
||||||
char* addr;
|
|
||||||
void (*func)();
|
|
||||||
#ifdef _DEBUG
|
|
||||||
const char* requestby;
|
|
||||||
int requestbyline;
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
struct SPL_REGIONINFO
|
|
||||||
{
|
|
||||||
u_short region_to_unpack;
|
|
||||||
u_short target_barrel_region;
|
|
||||||
int nsectors;
|
|
||||||
char* cell_addr;
|
|
||||||
char* roadm_addr;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct AreaDataStr
|
|
||||||
{
|
|
||||||
u_short gfx_offset;
|
|
||||||
u_short model_offset;
|
|
||||||
u_short music_offset;
|
|
||||||
u_short ambient_offset;
|
|
||||||
u_char model_size;
|
|
||||||
u_char pad;
|
|
||||||
u_char num_tpages;
|
|
||||||
u_char ambient_size;
|
|
||||||
u_char music_size;
|
|
||||||
u_char music_samples_size;
|
|
||||||
u_char music_id;
|
|
||||||
u_char ambient_id;
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: FMV.H
|
|
||||||
|
|
||||||
struct RENDER_ARG
|
|
||||||
{
|
|
||||||
u_char render;
|
|
||||||
u_char credits;
|
|
||||||
u_short recap;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct RENDER_ARGS
|
|
||||||
{
|
|
||||||
u_char nRenders;
|
|
||||||
u_char subtitle;
|
|
||||||
char screenx;
|
|
||||||
char screeny;
|
|
||||||
RENDER_ARG Args[4];
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
||||||
// TODO: GLAUNCH.H
|
// TODO: GLAUNCH.H
|
||||||
|
|
||||||
@ -1808,206 +1346,4 @@ enum GAMEMODE
|
|||||||
GAMEMODE_DEMO = 6,
|
GAMEMODE_DEMO = 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MISSION_STEP
|
|
||||||
{
|
|
||||||
u_char flags : 3;
|
|
||||||
u_char recap : 5;
|
|
||||||
u_char data : 7;
|
|
||||||
u_char disc : 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: PAUSE.H
|
|
||||||
|
|
||||||
enum EXIT_VALUE
|
|
||||||
{
|
|
||||||
MENU_QUIT_NONE = 0,
|
|
||||||
MENU_QUIT_CONTINUE = 1,
|
|
||||||
MENU_QUIT_QUIT = 2,
|
|
||||||
MENU_QUIT_RESTART = 3,
|
|
||||||
MENU_QUIT_DIRECTOR = 4,
|
|
||||||
MENU_QUIT_QUICKREPLAY = 5,
|
|
||||||
MENU_QUIT_BACKMENU = 6,
|
|
||||||
MENU_QUIT_NEXTMISSION = 7,
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef void(*pauseFunc)(int dir);
|
|
||||||
|
|
||||||
struct MENU_ITEM;
|
|
||||||
struct MENU_HEADER;
|
|
||||||
|
|
||||||
struct MENU_ITEM
|
|
||||||
{
|
|
||||||
char* Text;
|
|
||||||
u_char Type;
|
|
||||||
u_char Justify;
|
|
||||||
pauseFunc func;
|
|
||||||
EXIT_VALUE ExitValue;
|
|
||||||
MENU_HEADER* SubMenu;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MENU_HEADER
|
|
||||||
{
|
|
||||||
char* Title;
|
|
||||||
XYWH Bound;
|
|
||||||
u_char NumItems;
|
|
||||||
MENU_ITEM* MenuItems;
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: PRES.H
|
|
||||||
|
|
||||||
struct OUT_FONTINFO
|
|
||||||
{
|
|
||||||
u_char x;
|
|
||||||
u_char y;
|
|
||||||
char offx;
|
|
||||||
char offy;
|
|
||||||
u_char width;
|
|
||||||
u_char height;
|
|
||||||
u_short pad;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct FONT_DIGIT
|
|
||||||
{
|
|
||||||
char xOffset;
|
|
||||||
char width;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct SHADOWHDR
|
|
||||||
{
|
|
||||||
u_int num_common_verts;
|
|
||||||
u_short num_verts_total;
|
|
||||||
u_short num_polys_total;
|
|
||||||
u_short vert_offsets[4];
|
|
||||||
u_short nverts[4];
|
|
||||||
u_short npolys[4];
|
|
||||||
u_int(*poly_block[4]);
|
|
||||||
SVECTOR* vertices;
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: SHADOW.H
|
|
||||||
|
|
||||||
struct TYRE_TRACK
|
|
||||||
{
|
|
||||||
u_char type;
|
|
||||||
u_char shade;
|
|
||||||
u_char shade_type;
|
|
||||||
u_char surface;
|
|
||||||
SVECTOR_NOPAD p1;
|
|
||||||
SVECTOR_NOPAD p2;
|
|
||||||
SVECTOR_NOPAD p3;
|
|
||||||
SVECTOR_NOPAD p4;
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: SYSTEM.H
|
|
||||||
|
|
||||||
struct DRAW_MODE
|
|
||||||
{
|
|
||||||
short x1;
|
|
||||||
short y1;
|
|
||||||
short x2;
|
|
||||||
short y2;
|
|
||||||
short width;
|
|
||||||
short height;
|
|
||||||
short framex;
|
|
||||||
short framey;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum CDTYPE
|
|
||||||
{
|
|
||||||
CDTYPE_NODISC = 0,
|
|
||||||
CDTYPE_SHELLOPEN = 1,
|
|
||||||
CDTYPE_DISCERROR = 2,
|
|
||||||
CDTYPE_WRONGDISC = 3,
|
|
||||||
CDTYPE_CORRECTDISC = 4,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum CITYTYPE
|
|
||||||
{
|
|
||||||
CITYTYPE_DAY = 0,
|
|
||||||
CITYTYPE_NIGHT = 1,
|
|
||||||
CITYTYPE_MULTI_DAY = 2,
|
|
||||||
CITYTYPE_MULTI_NIGHT = 3,
|
|
||||||
};
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: PAD.H
|
|
||||||
|
|
||||||
struct DUPLICATION
|
|
||||||
{
|
|
||||||
char* buffer;
|
|
||||||
int size;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct MAPPING
|
|
||||||
{
|
|
||||||
u_short button_lookup[16];
|
|
||||||
u_short swap_analog;
|
|
||||||
u_short reserved1;
|
|
||||||
} *LPMAPPING;
|
|
||||||
|
|
||||||
typedef struct PAD
|
|
||||||
{
|
|
||||||
u_char active;
|
|
||||||
u_char type;
|
|
||||||
u_char dualshock;
|
|
||||||
u_char reserved1;
|
|
||||||
u_short direct;
|
|
||||||
u_short dirnew;
|
|
||||||
char diranalog[4];
|
|
||||||
u_short mapped;
|
|
||||||
u_short mapnew;
|
|
||||||
char mapanalog[4];
|
|
||||||
MAPPING mappings;
|
|
||||||
u_char alarmShakeCounter;
|
|
||||||
u_char asd;
|
|
||||||
u_char sdf;
|
|
||||||
u_char dfg;
|
|
||||||
u_char delay;
|
|
||||||
u_char port;
|
|
||||||
u_char state;
|
|
||||||
u_char dsactive;
|
|
||||||
u_char* shakeptr;
|
|
||||||
u_char motors[2];
|
|
||||||
u_char shake_type;
|
|
||||||
u_char vibrate;
|
|
||||||
} *LPPAD;
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------
|
|
||||||
// TODO: LOADSAVE.H
|
|
||||||
|
|
||||||
struct GAME_SAVE_HEADER
|
|
||||||
{
|
|
||||||
u_int magic;
|
|
||||||
u_char gMissionLadderPos;
|
|
||||||
u_char pad1;
|
|
||||||
u_char pad2;
|
|
||||||
u_char pad3;
|
|
||||||
MISSION_DATA SavedData;
|
|
||||||
int reserved[8];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct CONFIG_SAVE_HEADER
|
|
||||||
{
|
|
||||||
u_int magic;
|
|
||||||
int gMasterVolume;
|
|
||||||
int gMusicVolume;
|
|
||||||
int gSoundMode;
|
|
||||||
int gVibration;
|
|
||||||
int gCopDifficultyLevel;
|
|
||||||
int gFurthestMission;
|
|
||||||
MAPPING PadMapping[2];
|
|
||||||
SCORE_TABLES ScoreTables;
|
|
||||||
int PALAdjustX;
|
|
||||||
int PALAdjustY;
|
|
||||||
int NTSCAdjustX;
|
|
||||||
int NTSCAdjustY;
|
|
||||||
int gSubtitles;
|
|
||||||
ACTIVE_CHEATS AvailableCheats;
|
|
||||||
int reserved[6];
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // DR2TYPES_H
|
#endif // DR2TYPES_H
|
@ -62,6 +62,18 @@ struct COLLISION_PACKET
|
|||||||
short xsize, ysize, zsize;
|
short xsize, ysize, zsize;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct SHADOWHDR
|
||||||
|
{
|
||||||
|
u_int num_common_verts;
|
||||||
|
u_short num_verts_total;
|
||||||
|
u_short num_polys_total;
|
||||||
|
u_short vert_offsets[4];
|
||||||
|
u_short nverts[4];
|
||||||
|
u_short npolys[4];
|
||||||
|
u_int(*poly_block[4]);
|
||||||
|
SVECTOR* vertices;
|
||||||
|
};
|
||||||
|
|
||||||
struct RGB // almost same as CVECTOR
|
struct RGB // almost same as CVECTOR
|
||||||
{
|
{
|
||||||
u_char r;
|
u_char r;
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "C/system.h"
|
#include "C/system.h"
|
||||||
#include "C/E3stuff.h"
|
#include "C/E3stuff.h"
|
||||||
#include "C/fmv_font.h"
|
#include "C/fmv_font.h"
|
||||||
|
#include "C/fmvplay.h"
|
||||||
|
|
||||||
#include <AL/al.h>
|
#include <AL/al.h>
|
||||||
#include <jpeglib.h>
|
#include <jpeglib.h>
|
||||||
|
Loading…
Reference in New Issue
Block a user