2019-05-30 00:47:33 +02:00
|
|
|
#pragma once
|
2019-05-15 16:52:37 +02:00
|
|
|
|
|
|
|
enum Config {
|
2019-06-20 14:49:16 +02:00
|
|
|
NUMCDIMAGES = 12, // gta3.img duplicates (not used on PC)
|
|
|
|
MAX_CDIMAGES = 8, // additional cdimages
|
2019-07-24 18:55:43 +02:00
|
|
|
MAX_CDCHANNELS = 5,
|
2019-05-15 16:52:37 +02:00
|
|
|
|
|
|
|
MODELINFOSIZE = 5500,
|
|
|
|
TXDSTORESIZE = 850,
|
|
|
|
EXTRADIRSIZE = 128,
|
2019-09-28 17:16:52 +02:00
|
|
|
CUTSCENEDIRSIZE = 512,
|
2019-05-15 16:52:37 +02:00
|
|
|
|
|
|
|
SIMPLEMODELSIZE = 5000,
|
|
|
|
TIMEMODELSIZE = 30,
|
|
|
|
CLUMPMODELSIZE = 5,
|
|
|
|
PEDMODELSIZE = 90,
|
|
|
|
VEHICLEMODELSIZE = 120,
|
|
|
|
TWODFXSIZE = 2000,
|
|
|
|
|
2019-06-20 14:49:16 +02:00
|
|
|
MAXVEHICLESLOADED = 50, // 70 on mobile
|
|
|
|
|
2019-06-12 11:08:56 +02:00
|
|
|
NUMOBJECTINFO = 168, // object.dat
|
2019-05-15 16:52:37 +02:00
|
|
|
|
|
|
|
// Pool sizes
|
2019-06-12 11:08:56 +02:00
|
|
|
NUMPTRNODES = 30000, // 26000 on PS2
|
|
|
|
NUMENTRYINFOS = 5400, // 3200 on PS2
|
|
|
|
NUMPEDS = 140, // 90 on PS2
|
|
|
|
NUMVEHICLES = 110, // 70 on PS2
|
|
|
|
NUMBUILDINGS = 5500, // 4915 on PS2
|
2019-05-15 16:52:37 +02:00
|
|
|
NUMTREADABLES = 1214,
|
|
|
|
NUMOBJECTS = 450,
|
2019-06-12 11:08:56 +02:00
|
|
|
NUMDUMMIES = 2802, // 2368 on PS2
|
2019-05-15 16:52:37 +02:00
|
|
|
NUMAUDIOSCRIPTOBJECTS = 256,
|
2019-09-12 02:43:18 +02:00
|
|
|
NUMCUTSCENEOBJECTS = 50,
|
2019-05-15 16:52:37 +02:00
|
|
|
|
2019-07-08 21:37:47 +02:00
|
|
|
NUMTEMPOBJECTS = 30,
|
|
|
|
|
2019-08-09 19:42:18 +02:00
|
|
|
// Path data
|
|
|
|
NUM_PATHNODES = 4930,
|
|
|
|
NUM_CARPATHLINKS = 2076,
|
|
|
|
NUM_MAPOBJECTS = 1250,
|
|
|
|
NUM_PATHCONNECTIONS = 10260,
|
|
|
|
|
2019-05-15 16:52:37 +02:00
|
|
|
// Link list lengths
|
|
|
|
// TODO: alpha list
|
|
|
|
NUMCOLCACHELINKS = 200,
|
|
|
|
NUMREFERENCES = 800,
|
|
|
|
|
|
|
|
// Zones
|
|
|
|
NUMAUDIOZONES = 36,
|
|
|
|
NUMZONES = 50,
|
|
|
|
NUMMAPZONES = 25,
|
|
|
|
|
|
|
|
// Cull zones
|
|
|
|
NUMCULLZONES = 512,
|
|
|
|
NUMATTRIBZONES = 288,
|
|
|
|
NUMZONEINDICES = 55000,
|
|
|
|
|
|
|
|
NUMHANDLINGS = 57,
|
|
|
|
|
|
|
|
PATHNODESIZE = 4500,
|
|
|
|
|
|
|
|
NUMWEATHERS = 4,
|
|
|
|
NUMHOURS = 24,
|
2019-05-30 11:12:49 +02:00
|
|
|
|
2019-06-01 12:02:31 +02:00
|
|
|
NUMEXTRADIRECTIONALS = 4,
|
2019-05-30 11:12:49 +02:00
|
|
|
NUMANTENNAS = 8,
|
2019-06-01 19:18:19 +02:00
|
|
|
NUMCORONAS = 56,
|
2019-06-12 11:08:56 +02:00
|
|
|
NUMPOINTLIGHTS = 32,
|
2019-10-03 12:21:00 +02:00
|
|
|
NUMMONEYMESSAGES = 16,
|
2019-10-03 21:28:56 +02:00
|
|
|
NUMPICKUPMESSAGES = 16,
|
2019-06-12 11:08:56 +02:00
|
|
|
|
2019-06-25 00:42:23 +02:00
|
|
|
NUMONSCREENTIMERENTRIES = 1,
|
2019-06-23 13:11:41 +02:00
|
|
|
NUMRADARBLIPS = 32,
|
2019-10-03 21:28:56 +02:00
|
|
|
NUMGENERALPICKUPS = 320,
|
|
|
|
NUMSCRIPTEDPICKUPS = 16,
|
|
|
|
NUMPICKUPS = NUMGENERALPICKUPS + NUMSCRIPTEDPICKUPS,
|
|
|
|
NUMCOLLECTEDPICKUPS = 20,
|
2019-07-12 18:01:22 +02:00
|
|
|
NUMEVENTS = 64,
|
2019-07-27 20:28:18 +02:00
|
|
|
|
2019-09-11 20:42:34 +02:00
|
|
|
NUM_CARGENS = 160,
|
|
|
|
|
|
|
|
NUM_PATH_NODES_IN_AUTOPILOT = 8,
|
2019-09-15 01:28:07 +02:00
|
|
|
|
|
|
|
NUM_ACCIDENTS = 20,
|
|
|
|
NUM_FIRES = 40
|
2019-05-15 16:52:37 +02:00
|
|
|
};
|
2019-05-30 23:49:06 +02:00
|
|
|
|
2019-07-06 12:27:21 +02:00
|
|
|
// We'll use this once we're ready to become independent of the game
|
|
|
|
// Use it to mark bugs in the code that will prevent the game from working then
|
|
|
|
//#define STANDALONE
|
2019-07-03 13:13:55 +02:00
|
|
|
|
2019-06-27 10:58:51 +02:00
|
|
|
// We don't expect to compile for PS2 or Xbox
|
|
|
|
// but it might be interesting for documentation purposes
|
|
|
|
#define GTA_PC
|
|
|
|
//#define GTA_PS2
|
|
|
|
//#define GTA_XBOX
|
|
|
|
|
2019-07-03 13:13:55 +02:00
|
|
|
// This enables things from the PS2 version on PC
|
|
|
|
#define GTA_PS2_STUFF
|
|
|
|
|
|
|
|
// This is enabled for all released games.
|
|
|
|
// any debug stuff that isn't left in any game is not in FINAL
|
|
|
|
//#define FINAL
|
|
|
|
|
|
|
|
// This is enabled for all released games except mobile
|
|
|
|
// any debug stuff that is only left in mobile, is not in MASTER
|
|
|
|
//#define MASTER
|
|
|
|
|
|
|
|
#if defined GTA_PS2
|
|
|
|
# define RANDOMSPLASH
|
|
|
|
#elif defined GTA_PC
|
|
|
|
# define GTA3_1_1_PATCH
|
2019-08-02 22:20:12 +02:00
|
|
|
//# define GTA3_STEAM_PATCH
|
2019-07-03 13:13:55 +02:00
|
|
|
# ifdef GTA_PS2_STUFF
|
2019-07-04 23:10:04 +02:00
|
|
|
//# define USE_PS2_RAND // this is unsafe until we have the game reversed
|
2019-07-03 13:13:55 +02:00
|
|
|
# define RANDOMSPLASH // use random splash as on PS2
|
|
|
|
# define PS2_MATFX
|
|
|
|
# endif
|
|
|
|
#elif defined GTA_XBOX
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef MASTER
|
|
|
|
// only in master builds
|
|
|
|
#else
|
|
|
|
// not in master builds
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef FINAL
|
|
|
|
// in all games
|
|
|
|
# define USE_MY_DOCUMENTS // use my documents directory for user files
|
|
|
|
#else
|
|
|
|
// not in any game
|
|
|
|
# define NASTY_GAME // nasty game for all languages
|
|
|
|
# define NO_MOVIES // disable intro videos
|
2019-08-02 22:20:12 +02:00
|
|
|
# define NO_CDCHECK
|
2019-07-03 13:13:55 +02:00
|
|
|
# define CHATTYSPLASH // print what the game is loading
|
|
|
|
#endif
|
|
|
|
|
2019-07-25 12:38:25 +02:00
|
|
|
#define FIX_BUGS // fix bugs in the game, TODO: use this more
|
2019-07-01 21:46:44 +02:00
|
|
|
#define KANGAROO_CHEAT
|
2019-07-03 13:13:55 +02:00
|
|
|
#define ASPECT_RATIO_SCALE
|
2019-07-25 12:38:25 +02:00
|
|
|
#define USE_DEBUG_SCRIPT_LOADER
|
2019-07-31 23:57:18 +02:00
|
|
|
#define EXPLODING_AIRTRAIN // can blow up jumbo jet with rocket launcher
|
2019-08-17 21:03:57 +02:00
|
|
|
#define ANIMATE_PED_COL_MODEL
|
2019-09-11 20:42:34 +02:00
|
|
|
//#define REMOVE_TREADABLE_PATHFIND
|
2019-09-26 23:01:50 +02:00
|
|
|
#define VC_PED_PORTS
|
2019-10-03 21:28:56 +02:00
|
|
|
//#define MONEY_MESSAGES
|