Update more globals (#3)
Build / build (ubuntu-latest) (push) Failing after 1m3s
Build / build (windows-latest) (push) Has been cancelled

* feat(script): update globals

* feat(script): update CGameScriptHandlerNetComponent
This commit is contained in:
Mr-X-GTA
2024-12-23 21:39:36 +01:00
committed by GitHub
parent d274128767
commit e803b20ec3
3 changed files with 55 additions and 19 deletions
+3 -2
View File
@@ -101,6 +101,7 @@ public:
CNetGamePlayer* m_host_migration_target;
CNetGamePlayer* m_apparent_host_player;
char gap60[8];
char new_68[8]; // added b3407
CScriptParticipant* m_participants[32];
char pad_0168[8];
int m_next_host_verify_time;
@@ -137,5 +138,5 @@ public:
return m_host->m_net_game_player;
}
};
static_assert(sizeof(CGameScriptHandlerNetComponent) == 0x1A8);
#pragma pack(pop)
static_assert(sizeof(CGameScriptHandlerNetComponent) == 0x1B0);
#pragma pack(pop)
+29 -8
View File
@@ -357,7 +357,7 @@ static_assert(sizeof(ARENA_GARAGE_DATA) == 9 * 8);
struct INSIDE_TRACK
{
TEXT_LABEL_63 PlayerName; // real name leak when playing inside track
TEXT_LABEL_63 PlayerName;
SCR_INT BetHorseID;
SCR_INT BetChips;
};
@@ -459,13 +459,32 @@ static_assert(sizeof(SALVAGE_YARD_DATA) == 7 * 8);
struct BAIL_SHOP_DATA
{
SCR_INT Index;
uint64_t PAD_0001[12];
uint64_t PAD_0001[11]; // a field was removed in b3407
};
static_assert(sizeof(BAIL_SHOP_DATA) == 13 * 8);
static_assert(sizeof(BAIL_SHOP_DATA) == 12 * 8);
struct HACKER_DEN_DATA
{
SCR_INT Index; // always one for obvious reasons
SCR_INT Flags;
SCR_INT SafeCashValue;
};
static_assert(sizeof(HACKER_DEN_DATA) == 3 * 8);
struct FIELD_HANGAR_DATA
{
SCR_INT Index;
SCR_INT Flags;
};
static_assert(sizeof(FIELD_HANGAR_DATA) == 2 * 8);
#define NUM_PROPERTY_INTERIORS 33 // (30 -> 31) b3095
// (31 -> 32) b3258
// (32 -> 33) b3407
struct PROPERTY_DATA
{
SCR_ARRAY<uint64_t, 32> PropertyIds; // size 30 -> 31 b3095, size 31 -> 32 b3258
SCR_ARRAY<uint64_t, NUM_PROPERTY_INTERIORS> PropertyIds;
SCR_BITSET<ePropertyInteriorFlags>Flags; // I really don't want to indent everything again
SCR_INT RingingPlayers; // bitset of players requesting entry into property
SCR_INT Index; // the value you pass to the send to apartment TSE
@@ -474,7 +493,7 @@ struct PROPERTY_DATA
PLAYER_INDEX ExteriorOwner;
SCR_ARRAY<uint64_t, 32> RingingPlayersState; // 0 = ringing, 1 = accepted, 2 = denied
GAMER_HANDLE OwnerHandle; // can be used to bypass RID spoofing when player is inside interior
SCR_ARRAY<uint64_t, 32> EclipseTheme; // size 30 -> 31 b3095, size 31 -> 32 b3258
SCR_ARRAY<uint64_t, NUM_PROPERTY_INTERIORS> EclipseTheme;
SCR_INT ApartmentType; // normal vs stilt vs eclipse
SCR_INT OwnerInstance; // same as Instance in most cases
SCR_ARRAY<EXEC_WAREHOUSE_INFO, 5> ExecutiveWarehouseInfos;
@@ -548,8 +567,10 @@ struct PROPERTY_DATA
MULTI_STOREY_GARAGE_DATA MultiStoreyGarageData; // @507 as of 1.67
SCR_INT FreakshopBits; // 0: has weapon workshop, 1: radio enabled
BAIL_SHOP_DATA BailShopData;
HACKER_DEN_DATA HackerDenData;
FIELD_HANGAR_DATA FieldHangarData;
};
static_assert(sizeof(PROPERTY_DATA) == 538 * 8);
static_assert(sizeof(PROPERTY_DATA) == 544 * 8);
struct BIKER_CONTRACTS
{
@@ -659,10 +680,10 @@ struct GPBD_FM_Entry
SCR_INT ApartmentEnterFlags;
SCR_VEC3 AvengerMissionStartPosition;
};
static_assert(sizeof(GPBD_FM_Entry) == 883 * 8);
static_assert(sizeof(GPBD_FM_Entry) == 889 * 8);
struct GPBD_FM
{
SCR_ARRAY<GPBD_FM_Entry, 32> Entries;
};
static_assert(sizeof(GPBD_FM) == 28257 * 8);
static_assert(sizeof(GPBD_FM) == 28449 * 8);
+23 -9
View File
@@ -140,7 +140,11 @@ enum class eBlipType
GRANGER_3600LX,
PATRIOT_MILSPEC,
ARMS_DEALING_AIR, // requires some flag to be set
BRICKADE_6X6
BRICKADE_6X6,
RAIJU,
CONADA2,
STEAMER2,
TOW_TRUCK,
};
enum class ePlayerStateFlags
@@ -394,6 +398,14 @@ enum class eSimpleInteriorIndex
SIMPLE_INTERIOR_SALVAGE_YARD_PALETO_BAY,
SIMPLE_INTERIOR_SALVAGE_YARD_SANDY_SHORES,
SIMPLE_INTERIOR_SALVAGE_YARD_STRAWBERRY,
SIMPLE_INTERIOR_BAIL_OFFICE_DAVIS,
SIMPLE_INTERIOR_BAIL_OFFICE_DEL_PERRO,
SIMPLE_INTERIOR_BAIL_OFFICE_MISSION_ROW,
SIMPLE_INTERIOR_BAIL_OFFICE_PALETO_BAY,
SIMPLE_INTERIOR_BAIL_OFFICE_WEST_VINEWOOD,
SIMPLE_INTERIOR_HACKER_DEN,
SIMPLE_INTERIOR_FIELD_HANGAR,
SIMPLE_INTERIOR_MAX
};
struct JOB_STATS
@@ -547,15 +559,17 @@ struct GlobalPlayerBDEntry
NETWORK_INDEX DeliveryMechanicNetId4; // another one...
NETWORK_INDEX AcidLabNetId;
NETWORK_INDEX DeliveryBikeNetId;
NETWORK_INDEX BountyTransporterNetId; // added b3258
SCR_BOOL PAD_0057;
uint64_t PAD_0058[15]; // confirmed these are not used by PC scripts
NETWORK_INDEX BountyTransporterNetId; // added b3258
NETWORK_INDEX FieldDusterNetId; // added b3407
SCR_BOOL PAD_0057; // (@59 as of b3407)
uint64_t PAD_0058[15]; // confirmed these are not used by PC scripts
PLAYER_BLIP PlayerBlip;
SCR_BOOL NeedToPopulateSessionStartTime; // the session start time is unused
uint64_t PAD_0089[32]; // TODO
SCR_BOOL NeedToPopulateSessionStartTime; // the session start time is unused
uint64_t PAD_0089[33]; // TODO (@91 as of b3407)
// 32 -> 33 (new field) b3407
alignas(8) eMissionType MissionType;
SCR_BOOL SpawningVehicle;
uint64_t PAD_0123[3]; // confirmed these are not used by PC scripts
uint64_t PAD_0123[3]; // confirmed these are not used by PC scripts
MISSION_BETS MissionBets;
SCR_BOOL RadarBlipVisibliltyMechanicEnabled;
SCR_BITSET<ePlayerStateFlags> PlayerStateFlags;
@@ -662,10 +676,10 @@ struct GlobalPlayerBDEntry
SCR_BOOL CanSpawnGunVan;
};
static_assert(sizeof(GlobalPlayerBDEntry) == 465 * 8);
static_assert(sizeof(GlobalPlayerBDEntry) == 467 * 8);
struct GlobalPlayerBD
{
SCR_ARRAY<GlobalPlayerBDEntry, 32> Entries;
};
static_assert(sizeof(GlobalPlayerBD) == 14881 * 8);
static_assert(sizeof(GlobalPlayerBD) == 14945 * 8);