re3/src/core/config.h

191 lines
4.8 KiB
C
Raw Normal View History

2019-05-29 22:47:33 +00:00
#pragma once
2019-05-15 14:52:37 +00:00
enum Config {
NUMCDIMAGES = 12, // gta3.img duplicates (not used on PC)
MAX_CDIMAGES = 8, // additional cdimages
2019-07-24 16:55:43 +00:00
MAX_CDCHANNELS = 5,
2019-05-15 14:52:37 +00:00
MODELINFOSIZE = 5500,
TXDSTORESIZE = 850,
EXTRADIRSIZE = 128,
CUTSCENEDIRSIZE = 512,
2019-05-15 14:52:37 +00:00
SIMPLEMODELSIZE = 5000,
MLOMODELSIZE = 1,
MLOINSTANCESIZE = 1,
2019-05-15 14:52:37 +00:00
TIMEMODELSIZE = 30,
CLUMPMODELSIZE = 5,
PEDMODELSIZE = 90,
VEHICLEMODELSIZE = 120,
XTRACOMPSMODELSIZE = 2,
2019-05-15 14:52:37 +00:00
TWODFXSIZE = 2000,
MAXVEHICLESLOADED = 50, // 70 on mobile
2019-06-20 12:49:16 +00:00
NUMOBJECTINFO = 168, // object.dat
2019-05-15 14:52:37 +00:00
// Pool sizes
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 14:52:37 +00:00
NUMTREADABLES = 1214,
NUMOBJECTS = 450,
NUMDUMMIES = 2802, // 2368 on PS2
2019-05-15 14:52:37 +00:00
NUMAUDIOSCRIPTOBJECTS = 256,
2019-09-12 00:43:18 +00:00
NUMCUTSCENEOBJECTS = 50,
2019-05-15 14:52:37 +00:00
2019-07-08 19:37:47 +00:00
NUMTEMPOBJECTS = 30,
2019-08-09 17:42:18 +00:00
// Path data
NUM_PATHNODES = 4930,
NUM_CARPATHLINKS = 2076,
NUM_MAPOBJECTS = 1250,
NUM_PATHCONNECTIONS = 10260,
2019-05-15 14:52:37 +00: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 09:12:49 +00:00
2019-06-01 10:02:31 +00:00
NUMEXTRADIRECTIONALS = 4,
2019-05-30 09:12:49 +00:00
NUMANTENNAS = 8,
2019-06-01 17:18:19 +00:00
NUMCORONAS = 56,
NUMPOINTLIGHTS = 32,
2019-10-16 23:22:39 +00:00
NUM3DMARKERS = 32,
2019-10-03 10:21:00 +00:00
NUMMONEYMESSAGES = 16,
2019-10-03 19:28:56 +00:00
NUMPICKUPMESSAGES = 16,
2020-03-22 10:20:36 +00:00
NUMBULLETTRACES = 16,
2019-06-24 22:42:23 +00:00
NUMONSCREENTIMERENTRIES = 1,
NUMRADARBLIPS = 32,
2019-10-03 19:28:56 +00:00
NUMGENERALPICKUPS = 320,
NUMSCRIPTEDPICKUPS = 16,
NUMPICKUPS = NUMGENERALPICKUPS + NUMSCRIPTEDPICKUPS,
NUMCOLLECTEDPICKUPS = 20,
2019-07-12 16:01:22 +00:00
NUMEVENTS = 64,
2019-07-27 18:28:18 +00:00
2019-09-11 18:42:34 +00:00
NUM_CARGENS = 160,
NUM_PATH_NODES_IN_AUTOPILOT = 8,
2019-09-14 23:28:07 +00:00
NUM_ACCIDENTS = 20,
2019-10-06 21:39:25 +00:00
NUM_FIRES = 40,
2020-01-03 16:48:13 +00:00
NUM_GARAGES = 32,
2020-01-12 11:31:04 +00:00
NUM_PROJECTILES = 32,
2019-10-06 21:39:25 +00:00
NUM_WATERCANNONS = 3,
2019-10-06 21:39:25 +00:00
NUMPEDROUTES = 200,
NUMPHONES = 50,
2020-02-16 02:15:58 +00:00
NUMPEDGROUPS = 31,
NUMMODELSPERPEDGROUP = 8,
2019-11-02 23:13:29 +00:00
NUMVISIBLEENTITIES = 2000,
NUMINVISIBLEENTITIES = 150,
2019-05-15 14:52:37 +00:00
};
2019-07-06 10:27:21 +00: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-06-27 08:58:51 +00: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
// 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 20:20:12 +00:00
//# define GTA3_STEAM_PATCH
# ifdef GTA_PS2_STUFF
2019-07-04 21:10:04 +00:00
//# define USE_PS2_RAND // this is unsafe until we have the game reversed
# 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
#define VALIDATE_SAVE_SIZE
#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 20:20:12 +00:00
# define NO_CDCHECK
# define CHATTYSPLASH // print what the game is loading
#endif
2019-11-06 22:53:54 +00:00
#define FIX_BUGS // fixes bugs that we've came across during reversing, TODO: use this more
#define TOGGLEABLE_BETA_FEATURES // toggleable from debug menu. doesn't have too many things
2019-10-05 13:44:03 +00:00
// Pad
#define KANGAROO_CHEAT
2019-10-05 13:44:03 +00:00
// Hud, frontend and radar
#define ASPECT_RATIO_SCALE // Not just makes everything scale with aspect ratio, also adds support for all aspect ratios
2019-11-06 22:53:54 +00:00
#define TRIANGULAR_BLIPS // height indicating triangular radar blips, as in VC
#define PS2_SAVE_DIALOG // PS2 style save dialog with transparent black box
2020-03-17 18:03:13 +00:00
// #define PS2_LIKE_MENU // An effort to recreate PS2 menu, cycling through tabs, different bg etc.
2019-10-05 13:44:03 +00:00
// Script
2019-11-06 22:53:54 +00:00
#define USE_DEBUG_SCRIPT_LOADER // makes game load main_freeroam.scm by default
2020-02-16 20:08:54 +00:00
#define USE_MEASUREMENTS_IN_METERS // makes game use meters instead of feet in script
#define USE_PRECISE_MEASUREMENT_CONVERTION // makes game convert feet to meeters more precisely
2019-10-05 13:44:03 +00:00
2020-03-15 15:47:21 +00:00
// Replay
//#define DONT_FIX_REPLAY_BUGS // keeps various bugs in CReplay, some of which are fairly cool!
//#define USE_BETA_REPLAY_MODE // adds another replay mode, a few seconds slomo (caution: buggy!)
2019-10-05 13:44:03 +00:00
// Vehicles
2019-07-31 21:57:18 +00:00
#define EXPLODING_AIRTRAIN // can blow up jumbo jet with rocket launcher
2019-09-11 18:42:34 +00:00
//#define REMOVE_TREADABLE_PATHFIND
2019-10-05 13:44:03 +00:00
// Pickups
//#define MONEY_MESSAGES
// Peds
#define ANIMATE_PED_COL_MODEL
2019-11-06 22:53:54 +00:00
#define VC_PED_PORTS // various ports from VC's CPed, mostly subtle
#define NEW_WALK_AROUND_ALGORITHM // to make walking around vehicles/objects less awkward
2019-10-05 14:32:01 +00:00
#define CANCELLABLE_CAR_ENTER