Fix merge

This commit is contained in:
Lwmte 2025-03-17 22:14:39 +01:00
parent 6306be1a59
commit 761eb85dfd
5 changed files with 827 additions and 122 deletions

View file

@ -952,6 +952,7 @@ DOPPELGANGER_ORIGIN
CORPSE
WRAITH_TRAP
WATERFALL_EMITTER
FIREFLY_EMITTER
MESHSWAP1
MESHSWAP2
MESHSWAP3
@ -1132,6 +1133,7 @@ AIR_BAR_TEXTURE
DASH_BAR_TEXTURE
SFX_BAR_TEXTURE
WATERFALL_SPRITES
FIREFLY_SPRITES
CROSSHAIR_GRAPHICS
SPEEDOMETER_GRAPHICS
CUSTOM_BAR_GRAPHICS
@ -1410,6 +1412,7 @@ AIR_BAR_TEXTURE
DASH_BAR_TEXTURE
SFX_BAR_TEXTURE
WATERFALL_SPRITES
FIREFLY_SPRITES
CROSSHAIR_GRAPHICS
SPEEDOMETER_GRAPHICS
CUSTOM_BAR_GRAPHICS

View file

@ -208,14 +208,14 @@ namespace TEN::Effects::Fireflies
StreamerEffect.Spawn(targetItem->Index, firefly.Number, pos, direction0, orient2D,
Vector4(firefly.r / (float)UCHAR_MAX, firefly.g / (float)UCHAR_MAX, firefly.b / (float)UCHAR_MAX, 1.0f),
Vector4::Zero,
6.3f - (firefly.zVel / 12), ((firefly.Velocity / 8) + firefly.zVel * 3) / (float)UCHAR_MAX, 0.0f, -0.1f, 90.0f, StreamerFeatherType::None, BlendMode::Additive);
6.3f - (firefly.zVel / 12), ((firefly.Velocity / 8) + firefly.zVel * 3) / (float)UCHAR_MAX, 0.0f, -0.1f, 90.0f, StreamerFeatherMode::None, BlendMode::Additive);
}
else if (targetItem->ItemFlags[FirefliesItemFlags::TriggerFlags] < 0)
{
StreamerEffect.Spawn(targetItem->Index, firefly.Number, pos, direction0, orient2D,
Vector4((firefly.r / 2) / (float)UCHAR_MAX, (firefly.g / 2) / (float)UCHAR_MAX, (firefly.b / 2) / (float)UCHAR_MAX, 0.2f),
Vector4((firefly.r / 3) / (float)UCHAR_MAX, (firefly.g / 3) / (float)UCHAR_MAX, (firefly.b / 3) / (float)UCHAR_MAX, 0.2f),
0.0f, 0.4f, 0.0f, 0.2f, 0.0f, StreamerFeatherType::None, BlendMode::Subtractive);
0.0f, 0.4f, 0.0f, 0.2f, 0.0f, StreamerFeatherMode::None, BlendMode::Subtractive);
}
if ((targetItem->ItemFlags[FirefliesItemFlags::LightIndex1] == firefly.Number || targetItem->ItemFlags[FirefliesItemFlags::LightIndex2] == firefly.Number) &&

View file

@ -1008,7 +1008,7 @@ enum GAME_OBJECT_ID : short
ID_SFX_BAR_TEXTURE,
ID_WATERFALL_SPRITES,
ID_FIREFLY_SPRITES,
ID_CROSSHAIR_GRAPHICS = 1380,
ID_CROSSHAIR_GRAPHICS,
ID_SPEEDOMETER_GRAPHICS,
ID_CUSTOM_BAR_GRAPHICS,
ID_CUSTOM_AMMO_GRAPHICS,

View file

@ -1,6 +1,7 @@
#pragma once
// Last generated on 18/11/2022
// This file is generated automatically, do not edit it.
// Last generated on 17/03/2025.
#include <unordered_map>
#include <string>
@ -165,6 +166,7 @@ The following constants are inside ObjID.
CYBORG
SNIPER
CHEF
KOLD
WINGED_MUMMY
CENTAUR_MUTANT
DOPPELGANGER
@ -189,14 +191,14 @@ The following constants are inside ObjID.
SWORD_GUARDIAN_STATUE
SHIVA
SHIVA_STATUE
TRIBEBOSS
WILLARD
CIVVY
MUTANT2
LIZARD
TONY_BOSS
TONY_BOSS_FLAME
PUNA_BOSS
SOPHIA_LEE_BOSS
SOPHIA_LEIGH_BOSS
LASER_BOLT
SKELETON
MUMMY
@ -228,7 +230,7 @@ The following constants are inside ObjID.
IMP
IMP_ROCK
GUNSHIP
AUTOGUN
AUTO_GUN_VCI
ROMAN_GOD1
ROMAN_GOD2
LAGOON_WITCH
@ -237,6 +239,7 @@ The following constants are inside ObjID.
BOSS_EXPLOSION_RING
CLAW_MUTANT
WASP_MUTANT
TWIN_AUTO_GUN
SKATEBOARD
SKATEBOARD_KID
WINSTON
@ -372,6 +375,11 @@ The following constants are inside ObjID.
ELECTRIC_CLEANER
SLAMMING_DOORS
SWINGING_BLADE
ELECTRIC_BALL
ELECTRIC_BALL_IMPACT_POINT
THOR_HAMMER_HANDLE
THOR_HAMMER_HEAD
MOVING_LASER
PUZZLE_ITEM1
PUZZLE_ITEM2
PUZZLE_ITEM3
@ -604,7 +612,6 @@ The following constants are inside ObjID.
CLOCKWORK_BEETLE
CLOCKWORK_BEETLE_COMBO1
CLOCKWORK_BEETLE_COMBO2
SWITCH_TYPE1
SWITCH_TYPE2
SWITCH_TYPE3
@ -626,10 +633,10 @@ The following constants are inside ObjID.
SHOOT_SWITCH3
SHOOT_SWITCH4
AIRLOCK_SWITCH
ID_UNDERWATER_WALL_SWITCH_1
ID_UNDERWATER_WALL_SWITCH_2
ID_UNDERWATER_CEILING_SWITCH_1
ID_UNDERWATER_CEILING_SWITCH_2
UNDERWATER_WALL_SWITCH1
UNDERWATER_WALL_SWITCH2
UNDERWATER_CEILING_SWITCH1
UNDERWATER_CEILING_SWITCH2
TURN_SWITCH
COG_SWITCH
LEVER_SWITCH
@ -776,7 +783,7 @@ The following constants are inside ObjID.
KILL_ALL_TRIGGERS
TRIGGER_TRIGGERER
HIGH_OBJECT1
HIGH_OBJECT2
EMBER_EMITTER
SMASH_OBJECT1
SMASH_OBJECT2
SMASH_OBJECT3
@ -807,6 +814,7 @@ The following constants are inside ObjID.
DOPPELGANGER_ORIGIN
CORPSE
WRAITH_TRAP
WATERFALL_EMITTER
FIREFLY_EMITTER
MESHSWAP1
MESHSWAP2
@ -965,8 +973,6 @@ The following constants are inside ObjID.
BRIDGE_TILT4
BRIDGE_CUSTOM
HORIZON
BINOCULAR_GRAPHICS
TARGET_GRAPHICS
SKY_GRAPHICS
DEFAULT_SPRITES
MISC_SPRITES
@ -981,30 +987,22 @@ The following constants are inside ObjID.
SKIDOO_SNOW_TRAIL_SPRITES
KAYAK_PADDLE_TRAIL_SPRITE
KAYAK_WAKE_SPRTIES
BINOCULAR_GRAPHIC
LASER_SIGHT_GRAPHIC
CAUSTICS_TEXTURES
BAR_BORDER_GRAPHIC
BINOCULAR_GRAPHICS
LASERSIGHT_GRAPHICS
CAUSTIC_TEXTURES
BAR_BORDER_GRAPHICS
HEALTH_BAR_TEXTURE
AIR_BAR_TEXTURE
DASH_BAR_TEXTURE
SFX_BAR_TEXTURE
SPEEDOMETER
WATERFALL
CUSTOM_BAR_GRAPHIC
CUSTOM_AMMO_GRAPHIC
WATERFALL_SPRITES
FIREFLY_SPRITES
CROSSHAIR_GRAPHICS
SPEEDOMETER_GRAPHICS
CUSTOM_BAR_GRAPHICS
CUSTOM_AMMO_GRAPHICS
DIARY_SPRITES
DIARY_ENTRY_SPRITES
PANEL_BORDER
PANEL_MIDDLE
PANEL_CORNER
PANEL_DIAGONAL
PANEL_STRIP
PANEL_HALF_BORDER1
PANEL_HALF_BORDER2
PANEL_MIDDLE_CORNER
Table of constants.
@table Members
*/
@ -1156,6 +1154,30 @@ The following ObjID members refer to pickups.
PICKUP_ITEM15_COMBO2
PICKUP_ITEM16_COMBO1
PICKUP_ITEM16_COMBO2
EXAMINE1
EXAMINE2
EXAMINE3
EXAMINE4
EXAMINE5
EXAMINE6
EXAMINE7
EXAMINE8
EXAMINE1_COMBO1
EXAMINE1_COMBO2
EXAMINE2_COMBO1
EXAMINE2_COMBO2
EXAMINE3_COMBO1
EXAMINE3_COMBO2
EXAMINE4_COMBO1
EXAMINE4_COMBO2
EXAMINE5_COMBO1
EXAMINE5_COMBO2
EXAMINE6_COMBO1
EXAMINE6_COMBO2
EXAMINE7_COMBO1
EXAMINE7_COMBO2
EXAMINE8_COMBO1
EXAMINE8_COMBO2
HAMMER_ITEM
CROWBAR_ITEM
BURNING_TORCH_ITEM
@ -1193,14 +1215,48 @@ The following ObjID members refer to pickups.
COMPASS_ITEM
DIARY_ITEM
STOPWATCH_ITEM
MEMCARD_LOAD_INV_ITEM
MEMCARD_SAVE_INV_ITEM
PC_LOAD_INV_ITEM
PC_SAVE_INV_ITEM
Table of constants.
@table PickupConstants
*/
static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_ID>
{
/*** Objects.ObjID sprite constants.
The following ObjID members refer to sprites.
SKY_GRAPHICS
DEFAULT_SPRITES
MISC_SPRITES
CUSTOM_SPRITES
FIRE_SPRITES
SMOKE_SPRITES
SPARK_SPRITE
DRIP_SPRITE
EXPLOSION_SPRITES
MOTORBOAT_FOAM_SPRITES
RUBBER_BOAT_WAVE_SPRITES
SKIDOO_SNOW_TRAIL_SPRITES
KAYAK_PADDLE_TRAIL_SPRITE
LASERSIGHT_GRAPHICS
CAUSTIC_TEXTURES
BAR_BORDER_GRAPHICS
HEALTH_BAR_TEXTURE
AIR_BAR_TEXTURE
DASH_BAR_TEXTURE
SFX_BAR_TEXTURE
WATERFALL_SPRITES
FIREFLY_SPRITES
CROSSHAIR_GRAPHICS
SPEEDOMETER_GRAPHICS
CUSTOM_BAR_GRAPHICS
CUSTOM_AMMO_GRAPHICS
DIARY_SPRITES
DIARY_ENTRY_SPRITES
@table SpriteConstants
*/
static const std::unordered_map<std::string, GAME_OBJECT_ID> GAME_OBJECT_IDS {
{ "LARA", ID_LARA },
{ "LARA_EXTRA_ANIMS", ID_LARA_EXTRA_ANIMS },
{ "PISTOLS_ANIM", ID_PISTOLS_ANIM },
@ -1350,6 +1406,7 @@ static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_
{ "CYBORG", ID_CYBORG },
{ "SNIPER", ID_SNIPER },
{ "CHEF", ID_CHEF },
{ "KOLD", ID_KOLD },
{ "WINGED_MUMMY", ID_WINGED_MUMMY },
{ "CENTAUR_MUTANT", ID_CENTAUR_MUTANT },
{ "DOPPELGANGER", ID_DOPPELGANGER },
@ -1413,7 +1470,7 @@ static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_
{ "IMP", ID_IMP },
{ "IMP_ROCK", ID_IMP_ROCK },
{ "GUNSHIP", ID_GUNSHIP },
{ "AUTOGUN", ID_AUTO_GUN_VCI },
{ "AUTO_GUN_VCI", ID_AUTO_GUN_VCI },
{ "ROMAN_GOD1", ID_ROMAN_GOD1 },
{ "ROMAN_GOD2", ID_ROMAN_GOD2 },
{ "LAGOON_WITCH", ID_LAGOON_WITCH },
@ -1422,6 +1479,7 @@ static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_
{ "BOSS_EXPLOSION_RING", ID_BOSS_EXPLOSION_RING },
{ "CLAW_MUTANT", ID_CLAW_MUTANT },
{ "WASP_MUTANT", ID_WASP_MUTANT },
{ "TWIN_AUTO_GUN", ID_TWIN_AUTO_GUN },
{ "SKATEBOARD", ID_SKATEBOARD },
{ "SKATEBOARD_KID", ID_SKATEBOARD_KID },
{ "WINSTON", ID_WINSTON },
@ -1559,6 +1617,9 @@ static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_
{ "SWINGING_BLADE", ID_SWINGING_BLADE },
{ "ELECTRIC_BALL", ID_ELECTRIC_BALL },
{ "ELECTRIC_BALL_IMPACT_POINT", ID_ELECTRIC_BALL_IMPACT_POINT },
{ "THOR_HAMMER_HANDLE", ID_THOR_HAMMER_HANDLE },
{ "THOR_HAMMER_HEAD", ID_THOR_HAMMER_HEAD },
{ "MOVING_LASER", ID_MOVING_LASER },
{ "PUZZLE_ITEM1", ID_PUZZLE_ITEM1 },
{ "PUZZLE_ITEM2", ID_PUZZLE_ITEM2 },
{ "PUZZLE_ITEM3", ID_PUZZLE_ITEM3 },
@ -1812,10 +1873,10 @@ static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_
{ "SHOOT_SWITCH3", ID_SHOOT_SWITCH3 },
{ "SHOOT_SWITCH4", ID_SHOOT_SWITCH4 },
{ "AIRLOCK_SWITCH", ID_AIRLOCK_SWITCH },
{ "UNDERWATER_WALL_SWITCH_1", ID_UNDERWATER_WALL_SWITCH_1 },
{ "UNDERWATER_WALL_SWITCH_2", ID_UNDERWATER_WALL_SWITCH_2 },
{ "UNDERWATER_CEILING_SWITCH_1", ID_UNDERWATER_CEILING_SWITCH_1 },
{ "UNDERWATER_CEILING_SWITCH_2", ID_UNDERWATER_CEILING_SWITCH_2 },
{ "UNDERWATER_WALL_SWITCH1", ID_UNDERWATER_WALL_SWITCH1 },
{ "UNDERWATER_WALL_SWITCH2", ID_UNDERWATER_WALL_SWITCH2 },
{ "UNDERWATER_CEILING_SWITCH1", ID_UNDERWATER_CEILING_SWITCH1 },
{ "UNDERWATER_CEILING_SWITCH2", ID_UNDERWATER_CEILING_SWITCH2 },
{ "TURN_SWITCH", ID_TURN_SWITCH },
{ "COG_SWITCH", ID_COG_SWITCH },
{ "LEVER_SWITCH", ID_LEVER_SWITCH },
@ -2152,8 +2213,6 @@ static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_
{ "BRIDGE_TILT4", ID_BRIDGE_TILT4 },
{ "BRIDGE_CUSTOM", ID_BRIDGE_CUSTOM },
{ "HORIZON", ID_HORIZON },
{ "BINOCULAR_GRAPHICS", ID_BINOCULAR_GRAPHICS },
{ "TARGET_GRAPHICS", ID_TARGET_GRAPHICS },
{ "SKY_GRAPHICS", ID_SKY_GRAPHICS },
{ "DEFAULT_SPRITES", ID_DEFAULT_SPRITES },
{ "MISC_SPRITES", ID_MISC_SPRITES },
@ -2168,28 +2227,20 @@ static const auto GAME_OBJECT_IDS = std::unordered_map<std::string, GAME_OBJECT_
{ "SKIDOO_SNOW_TRAIL_SPRITES", ID_SKIDOO_SNOW_TRAIL_SPRITES },
{ "KAYAK_PADDLE_TRAIL_SPRITE", ID_KAYAK_PADDLE_TRAIL_SPRITE },
{ "KAYAK_WAKE_SPRTIES", ID_KAYAK_WAKE_SPRTIES },
{ "BINOCULAR_GRAPHIC", ID_BINOCULAR_GRAPHIC },
{ "LASER_SIGHT_GRAPHIC", ID_LASER_SIGHT_GRAPHIC },
{ "CAUSTICS_TEXTURES", ID_CAUSTICS_TEXTURES },
{ "BAR_BORDER_GRAPHIC", ID_BAR_BORDER_GRAPHIC },
{ "BINOCULAR_GRAPHICS", ID_BINOCULAR_GRAPHICS },
{ "LASERSIGHT_GRAPHICS", ID_LASERSIGHT_GRAPHICS },
{ "CAUSTIC_TEXTURES", ID_CAUSTIC_TEXTURES },
{ "BAR_BORDER_GRAPHICS", ID_BAR_BORDER_GRAPHICS },
{ "HEALTH_BAR_TEXTURE", ID_HEALTH_BAR_TEXTURE },
{ "AIR_BAR_TEXTURE", ID_AIR_BAR_TEXTURE },
{ "DASH_BAR_TEXTURE", ID_DASH_BAR_TEXTURE },
{ "SFX_BAR_TEXTURE", ID_SFX_BAR_TEXTURE },
{ "WATERFALL_SPRITES", ID_WATERFALL_SPRITES },
{ "FIREFLY_SPRITES", ID_FIREFLY_SPRITES },
{ "CROSSHAIR", ID_CROSSHAIR },
{ "SPEEDOMETER", ID_SPEEDOMETER },
{ "WATERFALL", ID_WATERFALL_SPRITES },
{ "CUSTOM_BAR_GRAPHIC", ID_CUSTOM_BAR_GRAPHIC },
{ "CUSTOM_AMMO_GRAPHIC",ID_CUSTOM_AMMO_GRAPHIC },
{ "CROSSHAIR_GRAPHICS", ID_CROSSHAIR_GRAPHICS },
{ "SPEEDOMETER_GRAPHICS", ID_SPEEDOMETER_GRAPHICS },
{ "CUSTOM_BAR_GRAPHICS", ID_CUSTOM_BAR_GRAPHICS },
{ "CUSTOM_AMMO_GRAPHICS", ID_CUSTOM_AMMO_GRAPHICS },
{ "DIARY_SPRITES", ID_DIARY_SPRITES },
{ "DIARY_ENTRY_SPRITES", ID_DIARY_ENTRY_SPRITES },
{ "PANEL_BORDER", ID_PANEL_BORDER },
{ "PANEL_MIDDLE", ID_PANEL_MIDDLE },
{ "PANEL_CORNER", ID_PANEL_CORNER },
{ "PANEL_DIAGONAL", ID_PANEL_DIAGONAL },
{ "PANEL_STRIP", ID_PANEL_STRIP },
{ "PANEL_HALF_BORDER1", ID_PANEL_HALF_BORDER1 },
{ "PANEL_HALF_BORDER2", ID_PANEL_HALF_BORDER2 },
{ "PANEL_MIDDLE_CORNER", ID_PANEL_MIDDLE_CORNER }
{ "DIARY_ENTRY_SPRITES", ID_DIARY_ENTRY_SPRITES }
};

View file

@ -13,6 +13,10 @@ namespace Save {
struct RoomVector;
struct LevelData;
struct LevelDataBuilder;
struct LevelDataT;
struct Room;
struct RoomBuilder;
struct RoomT;
@ -541,6 +545,405 @@ struct KeyValPair::Traits {
using type = KeyValPair;
};
struct LevelDataT : public flatbuffers::NativeTable {
typedef LevelData TableType;
int32_t level_far_view = 0;
bool storm_enabled = false;
bool rumble_enabled = false;
int32_t weather_type = 0;
float weather_strength = 0.0f;
int32_t fog_color = 0;
float fog_min_distance = 0.0f;
float fog_max_distance = 0.0f;
bool sky_layer_1_enabled = false;
int32_t sky_layer_1_color = 0;
int32_t sky_layer_1_speed = 0;
bool sky_layer_2_enabled = false;
int32_t sky_layer_2_color = 0;
int32_t sky_layer_2_speed = 0;
bool horizon1_enabled = false;
int32_t horizon1_object_id = 0;
std::unique_ptr<TEN::Save::Vector3> horizon1_position{};
std::unique_ptr<TEN::Save::EulerAngles> horizon1_orientation{};
float horizon1_transparency = 0.0f;
bool horizon2_enabled = false;
int32_t horizon2_object_id = 0;
std::unique_ptr<TEN::Save::Vector3> horizon2_position{};
std::unique_ptr<TEN::Save::EulerAngles> horizon2_orientation{};
float horizon2_transparency = 0.0f;
int32_t lensflare_sprite_id = 0;
float lensflare_pitch = 0.0f;
float lensflare_yaw = 0.0f;
int32_t lensflare_color = 0;
int32_t starfield_star_count = 0;
int32_t starfield_meteor_count = 0;
int32_t starfield_meteor_spawn_density = 0;
int32_t starfield_meteor_velocity = 0;
};
struct LevelData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef LevelDataT NativeTableType;
typedef LevelDataBuilder Builder;
struct Traits;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_LEVEL_FAR_VIEW = 4,
VT_STORM_ENABLED = 6,
VT_RUMBLE_ENABLED = 8,
VT_WEATHER_TYPE = 10,
VT_WEATHER_STRENGTH = 12,
VT_FOG_COLOR = 14,
VT_FOG_MIN_DISTANCE = 16,
VT_FOG_MAX_DISTANCE = 18,
VT_SKY_LAYER_1_ENABLED = 20,
VT_SKY_LAYER_1_COLOR = 22,
VT_SKY_LAYER_1_SPEED = 24,
VT_SKY_LAYER_2_ENABLED = 26,
VT_SKY_LAYER_2_COLOR = 28,
VT_SKY_LAYER_2_SPEED = 30,
VT_HORIZON1_ENABLED = 32,
VT_HORIZON1_OBJECT_ID = 34,
VT_HORIZON1_POSITION = 36,
VT_HORIZON1_ORIENTATION = 38,
VT_HORIZON1_TRANSPARENCY = 40,
VT_HORIZON2_ENABLED = 42,
VT_HORIZON2_OBJECT_ID = 44,
VT_HORIZON2_POSITION = 46,
VT_HORIZON2_ORIENTATION = 48,
VT_HORIZON2_TRANSPARENCY = 50,
VT_LENSFLARE_SPRITE_ID = 52,
VT_LENSFLARE_PITCH = 54,
VT_LENSFLARE_YAW = 56,
VT_LENSFLARE_COLOR = 58,
VT_STARFIELD_STAR_COUNT = 60,
VT_STARFIELD_METEOR_COUNT = 62,
VT_STARFIELD_METEOR_SPAWN_DENSITY = 64,
VT_STARFIELD_METEOR_VELOCITY = 66
};
int32_t level_far_view() const {
return GetField<int32_t>(VT_LEVEL_FAR_VIEW, 0);
}
bool storm_enabled() const {
return GetField<uint8_t>(VT_STORM_ENABLED, 0) != 0;
}
bool rumble_enabled() const {
return GetField<uint8_t>(VT_RUMBLE_ENABLED, 0) != 0;
}
int32_t weather_type() const {
return GetField<int32_t>(VT_WEATHER_TYPE, 0);
}
float weather_strength() const {
return GetField<float>(VT_WEATHER_STRENGTH, 0.0f);
}
int32_t fog_color() const {
return GetField<int32_t>(VT_FOG_COLOR, 0);
}
float fog_min_distance() const {
return GetField<float>(VT_FOG_MIN_DISTANCE, 0.0f);
}
float fog_max_distance() const {
return GetField<float>(VT_FOG_MAX_DISTANCE, 0.0f);
}
bool sky_layer_1_enabled() const {
return GetField<uint8_t>(VT_SKY_LAYER_1_ENABLED, 0) != 0;
}
int32_t sky_layer_1_color() const {
return GetField<int32_t>(VT_SKY_LAYER_1_COLOR, 0);
}
int32_t sky_layer_1_speed() const {
return GetField<int32_t>(VT_SKY_LAYER_1_SPEED, 0);
}
bool sky_layer_2_enabled() const {
return GetField<uint8_t>(VT_SKY_LAYER_2_ENABLED, 0) != 0;
}
int32_t sky_layer_2_color() const {
return GetField<int32_t>(VT_SKY_LAYER_2_COLOR, 0);
}
int32_t sky_layer_2_speed() const {
return GetField<int32_t>(VT_SKY_LAYER_2_SPEED, 0);
}
bool horizon1_enabled() const {
return GetField<uint8_t>(VT_HORIZON1_ENABLED, 0) != 0;
}
int32_t horizon1_object_id() const {
return GetField<int32_t>(VT_HORIZON1_OBJECT_ID, 0);
}
const TEN::Save::Vector3 *horizon1_position() const {
return GetStruct<const TEN::Save::Vector3 *>(VT_HORIZON1_POSITION);
}
const TEN::Save::EulerAngles *horizon1_orientation() const {
return GetStruct<const TEN::Save::EulerAngles *>(VT_HORIZON1_ORIENTATION);
}
float horizon1_transparency() const {
return GetField<float>(VT_HORIZON1_TRANSPARENCY, 0.0f);
}
bool horizon2_enabled() const {
return GetField<uint8_t>(VT_HORIZON2_ENABLED, 0) != 0;
}
int32_t horizon2_object_id() const {
return GetField<int32_t>(VT_HORIZON2_OBJECT_ID, 0);
}
const TEN::Save::Vector3 *horizon2_position() const {
return GetStruct<const TEN::Save::Vector3 *>(VT_HORIZON2_POSITION);
}
const TEN::Save::EulerAngles *horizon2_orientation() const {
return GetStruct<const TEN::Save::EulerAngles *>(VT_HORIZON2_ORIENTATION);
}
float horizon2_transparency() const {
return GetField<float>(VT_HORIZON2_TRANSPARENCY, 0.0f);
}
int32_t lensflare_sprite_id() const {
return GetField<int32_t>(VT_LENSFLARE_SPRITE_ID, 0);
}
float lensflare_pitch() const {
return GetField<float>(VT_LENSFLARE_PITCH, 0.0f);
}
float lensflare_yaw() const {
return GetField<float>(VT_LENSFLARE_YAW, 0.0f);
}
int32_t lensflare_color() const {
return GetField<int32_t>(VT_LENSFLARE_COLOR, 0);
}
int32_t starfield_star_count() const {
return GetField<int32_t>(VT_STARFIELD_STAR_COUNT, 0);
}
int32_t starfield_meteor_count() const {
return GetField<int32_t>(VT_STARFIELD_METEOR_COUNT, 0);
}
int32_t starfield_meteor_spawn_density() const {
return GetField<int32_t>(VT_STARFIELD_METEOR_SPAWN_DENSITY, 0);
}
int32_t starfield_meteor_velocity() const {
return GetField<int32_t>(VT_STARFIELD_METEOR_VELOCITY, 0);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField<int32_t>(verifier, VT_LEVEL_FAR_VIEW) &&
VerifyField<uint8_t>(verifier, VT_STORM_ENABLED) &&
VerifyField<uint8_t>(verifier, VT_RUMBLE_ENABLED) &&
VerifyField<int32_t>(verifier, VT_WEATHER_TYPE) &&
VerifyField<float>(verifier, VT_WEATHER_STRENGTH) &&
VerifyField<int32_t>(verifier, VT_FOG_COLOR) &&
VerifyField<float>(verifier, VT_FOG_MIN_DISTANCE) &&
VerifyField<float>(verifier, VT_FOG_MAX_DISTANCE) &&
VerifyField<uint8_t>(verifier, VT_SKY_LAYER_1_ENABLED) &&
VerifyField<int32_t>(verifier, VT_SKY_LAYER_1_COLOR) &&
VerifyField<int32_t>(verifier, VT_SKY_LAYER_1_SPEED) &&
VerifyField<uint8_t>(verifier, VT_SKY_LAYER_2_ENABLED) &&
VerifyField<int32_t>(verifier, VT_SKY_LAYER_2_COLOR) &&
VerifyField<int32_t>(verifier, VT_SKY_LAYER_2_SPEED) &&
VerifyField<uint8_t>(verifier, VT_HORIZON1_ENABLED) &&
VerifyField<int32_t>(verifier, VT_HORIZON1_OBJECT_ID) &&
VerifyField<TEN::Save::Vector3>(verifier, VT_HORIZON1_POSITION) &&
VerifyField<TEN::Save::EulerAngles>(verifier, VT_HORIZON1_ORIENTATION) &&
VerifyField<float>(verifier, VT_HORIZON1_TRANSPARENCY) &&
VerifyField<uint8_t>(verifier, VT_HORIZON2_ENABLED) &&
VerifyField<int32_t>(verifier, VT_HORIZON2_OBJECT_ID) &&
VerifyField<TEN::Save::Vector3>(verifier, VT_HORIZON2_POSITION) &&
VerifyField<TEN::Save::EulerAngles>(verifier, VT_HORIZON2_ORIENTATION) &&
VerifyField<float>(verifier, VT_HORIZON2_TRANSPARENCY) &&
VerifyField<int32_t>(verifier, VT_LENSFLARE_SPRITE_ID) &&
VerifyField<float>(verifier, VT_LENSFLARE_PITCH) &&
VerifyField<float>(verifier, VT_LENSFLARE_YAW) &&
VerifyField<int32_t>(verifier, VT_LENSFLARE_COLOR) &&
VerifyField<int32_t>(verifier, VT_STARFIELD_STAR_COUNT) &&
VerifyField<int32_t>(verifier, VT_STARFIELD_METEOR_COUNT) &&
VerifyField<int32_t>(verifier, VT_STARFIELD_METEOR_SPAWN_DENSITY) &&
VerifyField<int32_t>(verifier, VT_STARFIELD_METEOR_VELOCITY) &&
verifier.EndTable();
}
LevelDataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(LevelDataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset<LevelData> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LevelDataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct LevelDataBuilder {
typedef LevelData Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_level_far_view(int32_t level_far_view) {
fbb_.AddElement<int32_t>(LevelData::VT_LEVEL_FAR_VIEW, level_far_view, 0);
}
void add_storm_enabled(bool storm_enabled) {
fbb_.AddElement<uint8_t>(LevelData::VT_STORM_ENABLED, static_cast<uint8_t>(storm_enabled), 0);
}
void add_rumble_enabled(bool rumble_enabled) {
fbb_.AddElement<uint8_t>(LevelData::VT_RUMBLE_ENABLED, static_cast<uint8_t>(rumble_enabled), 0);
}
void add_weather_type(int32_t weather_type) {
fbb_.AddElement<int32_t>(LevelData::VT_WEATHER_TYPE, weather_type, 0);
}
void add_weather_strength(float weather_strength) {
fbb_.AddElement<float>(LevelData::VT_WEATHER_STRENGTH, weather_strength, 0.0f);
}
void add_fog_color(int32_t fog_color) {
fbb_.AddElement<int32_t>(LevelData::VT_FOG_COLOR, fog_color, 0);
}
void add_fog_min_distance(float fog_min_distance) {
fbb_.AddElement<float>(LevelData::VT_FOG_MIN_DISTANCE, fog_min_distance, 0.0f);
}
void add_fog_max_distance(float fog_max_distance) {
fbb_.AddElement<float>(LevelData::VT_FOG_MAX_DISTANCE, fog_max_distance, 0.0f);
}
void add_sky_layer_1_enabled(bool sky_layer_1_enabled) {
fbb_.AddElement<uint8_t>(LevelData::VT_SKY_LAYER_1_ENABLED, static_cast<uint8_t>(sky_layer_1_enabled), 0);
}
void add_sky_layer_1_color(int32_t sky_layer_1_color) {
fbb_.AddElement<int32_t>(LevelData::VT_SKY_LAYER_1_COLOR, sky_layer_1_color, 0);
}
void add_sky_layer_1_speed(int32_t sky_layer_1_speed) {
fbb_.AddElement<int32_t>(LevelData::VT_SKY_LAYER_1_SPEED, sky_layer_1_speed, 0);
}
void add_sky_layer_2_enabled(bool sky_layer_2_enabled) {
fbb_.AddElement<uint8_t>(LevelData::VT_SKY_LAYER_2_ENABLED, static_cast<uint8_t>(sky_layer_2_enabled), 0);
}
void add_sky_layer_2_color(int32_t sky_layer_2_color) {
fbb_.AddElement<int32_t>(LevelData::VT_SKY_LAYER_2_COLOR, sky_layer_2_color, 0);
}
void add_sky_layer_2_speed(int32_t sky_layer_2_speed) {
fbb_.AddElement<int32_t>(LevelData::VT_SKY_LAYER_2_SPEED, sky_layer_2_speed, 0);
}
void add_horizon1_enabled(bool horizon1_enabled) {
fbb_.AddElement<uint8_t>(LevelData::VT_HORIZON1_ENABLED, static_cast<uint8_t>(horizon1_enabled), 0);
}
void add_horizon1_object_id(int32_t horizon1_object_id) {
fbb_.AddElement<int32_t>(LevelData::VT_HORIZON1_OBJECT_ID, horizon1_object_id, 0);
}
void add_horizon1_position(const TEN::Save::Vector3 *horizon1_position) {
fbb_.AddStruct(LevelData::VT_HORIZON1_POSITION, horizon1_position);
}
void add_horizon1_orientation(const TEN::Save::EulerAngles *horizon1_orientation) {
fbb_.AddStruct(LevelData::VT_HORIZON1_ORIENTATION, horizon1_orientation);
}
void add_horizon1_transparency(float horizon1_transparency) {
fbb_.AddElement<float>(LevelData::VT_HORIZON1_TRANSPARENCY, horizon1_transparency, 0.0f);
}
void add_horizon2_enabled(bool horizon2_enabled) {
fbb_.AddElement<uint8_t>(LevelData::VT_HORIZON2_ENABLED, static_cast<uint8_t>(horizon2_enabled), 0);
}
void add_horizon2_object_id(int32_t horizon2_object_id) {
fbb_.AddElement<int32_t>(LevelData::VT_HORIZON2_OBJECT_ID, horizon2_object_id, 0);
}
void add_horizon2_position(const TEN::Save::Vector3 *horizon2_position) {
fbb_.AddStruct(LevelData::VT_HORIZON2_POSITION, horizon2_position);
}
void add_horizon2_orientation(const TEN::Save::EulerAngles *horizon2_orientation) {
fbb_.AddStruct(LevelData::VT_HORIZON2_ORIENTATION, horizon2_orientation);
}
void add_horizon2_transparency(float horizon2_transparency) {
fbb_.AddElement<float>(LevelData::VT_HORIZON2_TRANSPARENCY, horizon2_transparency, 0.0f);
}
void add_lensflare_sprite_id(int32_t lensflare_sprite_id) {
fbb_.AddElement<int32_t>(LevelData::VT_LENSFLARE_SPRITE_ID, lensflare_sprite_id, 0);
}
void add_lensflare_pitch(float lensflare_pitch) {
fbb_.AddElement<float>(LevelData::VT_LENSFLARE_PITCH, lensflare_pitch, 0.0f);
}
void add_lensflare_yaw(float lensflare_yaw) {
fbb_.AddElement<float>(LevelData::VT_LENSFLARE_YAW, lensflare_yaw, 0.0f);
}
void add_lensflare_color(int32_t lensflare_color) {
fbb_.AddElement<int32_t>(LevelData::VT_LENSFLARE_COLOR, lensflare_color, 0);
}
void add_starfield_star_count(int32_t starfield_star_count) {
fbb_.AddElement<int32_t>(LevelData::VT_STARFIELD_STAR_COUNT, starfield_star_count, 0);
}
void add_starfield_meteor_count(int32_t starfield_meteor_count) {
fbb_.AddElement<int32_t>(LevelData::VT_STARFIELD_METEOR_COUNT, starfield_meteor_count, 0);
}
void add_starfield_meteor_spawn_density(int32_t starfield_meteor_spawn_density) {
fbb_.AddElement<int32_t>(LevelData::VT_STARFIELD_METEOR_SPAWN_DENSITY, starfield_meteor_spawn_density, 0);
}
void add_starfield_meteor_velocity(int32_t starfield_meteor_velocity) {
fbb_.AddElement<int32_t>(LevelData::VT_STARFIELD_METEOR_VELOCITY, starfield_meteor_velocity, 0);
}
explicit LevelDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
flatbuffers::Offset<LevelData> Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<LevelData>(end);
return o;
}
};
inline flatbuffers::Offset<LevelData> CreateLevelData(
flatbuffers::FlatBufferBuilder &_fbb,
int32_t level_far_view = 0,
bool storm_enabled = false,
bool rumble_enabled = false,
int32_t weather_type = 0,
float weather_strength = 0.0f,
int32_t fog_color = 0,
float fog_min_distance = 0.0f,
float fog_max_distance = 0.0f,
bool sky_layer_1_enabled = false,
int32_t sky_layer_1_color = 0,
int32_t sky_layer_1_speed = 0,
bool sky_layer_2_enabled = false,
int32_t sky_layer_2_color = 0,
int32_t sky_layer_2_speed = 0,
bool horizon1_enabled = false,
int32_t horizon1_object_id = 0,
const TEN::Save::Vector3 *horizon1_position = 0,
const TEN::Save::EulerAngles *horizon1_orientation = 0,
float horizon1_transparency = 0.0f,
bool horizon2_enabled = false,
int32_t horizon2_object_id = 0,
const TEN::Save::Vector3 *horizon2_position = 0,
const TEN::Save::EulerAngles *horizon2_orientation = 0,
float horizon2_transparency = 0.0f,
int32_t lensflare_sprite_id = 0,
float lensflare_pitch = 0.0f,
float lensflare_yaw = 0.0f,
int32_t lensflare_color = 0,
int32_t starfield_star_count = 0,
int32_t starfield_meteor_count = 0,
int32_t starfield_meteor_spawn_density = 0,
int32_t starfield_meteor_velocity = 0) {
LevelDataBuilder builder_(_fbb);
builder_.add_starfield_meteor_velocity(starfield_meteor_velocity);
builder_.add_starfield_meteor_spawn_density(starfield_meteor_spawn_density);
builder_.add_starfield_meteor_count(starfield_meteor_count);
builder_.add_starfield_star_count(starfield_star_count);
builder_.add_lensflare_color(lensflare_color);
builder_.add_lensflare_yaw(lensflare_yaw);
builder_.add_lensflare_pitch(lensflare_pitch);
builder_.add_lensflare_sprite_id(lensflare_sprite_id);
builder_.add_horizon2_transparency(horizon2_transparency);
builder_.add_horizon2_orientation(horizon2_orientation);
builder_.add_horizon2_position(horizon2_position);
builder_.add_horizon2_object_id(horizon2_object_id);
builder_.add_horizon1_transparency(horizon1_transparency);
builder_.add_horizon1_orientation(horizon1_orientation);
builder_.add_horizon1_position(horizon1_position);
builder_.add_horizon1_object_id(horizon1_object_id);
builder_.add_sky_layer_2_speed(sky_layer_2_speed);
builder_.add_sky_layer_2_color(sky_layer_2_color);
builder_.add_sky_layer_1_speed(sky_layer_1_speed);
builder_.add_sky_layer_1_color(sky_layer_1_color);
builder_.add_fog_max_distance(fog_max_distance);
builder_.add_fog_min_distance(fog_min_distance);
builder_.add_fog_color(fog_color);
builder_.add_weather_strength(weather_strength);
builder_.add_weather_type(weather_type);
builder_.add_level_far_view(level_far_view);
builder_.add_horizon2_enabled(horizon2_enabled);
builder_.add_horizon1_enabled(horizon1_enabled);
builder_.add_sky_layer_2_enabled(sky_layer_2_enabled);
builder_.add_sky_layer_1_enabled(sky_layer_1_enabled);
builder_.add_rumble_enabled(rumble_enabled);
builder_.add_storm_enabled(storm_enabled);
return builder_.Finish();
}
struct LevelData::Traits {
using type = LevelData;
static auto constexpr Create = CreateLevelData;
};
flatbuffers::Offset<LevelData> CreateLevelData(flatbuffers::FlatBufferBuilder &_fbb, const LevelDataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct RoomT : public flatbuffers::NativeTable {
typedef Room TableType;
int32_t index = 0;
@ -4958,6 +5361,13 @@ struct ParticleInfoT : public flatbuffers::NativeTable {
int32_t node_number = 0;
std::unique_ptr<TEN::Save::Vector3> target_pos{};
int32_t sprite_id = 0;
int32_t damage = 0;
float framerate = 0.0f;
int32_t animation_type = 0;
int32_t light_radius = 0;
int32_t light_flicker = 0;
int32_t light_flicker_s = 0;
int32_t sound = 0;
};
struct ParticleInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@ -5003,7 +5413,14 @@ struct ParticleInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VT_ROOM_NUMBER = 74,
VT_NODE_NUMBER = 76,
VT_TARGET_POS = 78,
VT_SPRITE_ID = 80
VT_SPRITE_ID = 80,
VT_DAMAGE = 82,
VT_FRAMERATE = 84,
VT_ANIMATION_TYPE = 86,
VT_LIGHT_RADIUS = 88,
VT_LIGHT_FLICKER = 90,
VT_LIGHT_FLICKER_S = 92,
VT_SOUND = 94
};
int32_t x() const {
return GetField<int32_t>(VT_X, 0);
@ -5122,6 +5539,27 @@ struct ParticleInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
int32_t sprite_id() const {
return GetField<int32_t>(VT_SPRITE_ID, 0);
}
int32_t damage() const {
return GetField<int32_t>(VT_DAMAGE, 0);
}
float framerate() const {
return GetField<float>(VT_FRAMERATE, 0.0f);
}
int32_t animation_type() const {
return GetField<int32_t>(VT_ANIMATION_TYPE, 0);
}
int32_t light_radius() const {
return GetField<int32_t>(VT_LIGHT_RADIUS, 0);
}
int32_t light_flicker() const {
return GetField<int32_t>(VT_LIGHT_FLICKER, 0);
}
int32_t light_flicker_s() const {
return GetField<int32_t>(VT_LIGHT_FLICKER_S, 0);
}
int32_t sound() const {
return GetField<int32_t>(VT_SOUND, 0);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField<int32_t>(verifier, VT_X) &&
@ -5163,6 +5601,13 @@ struct ParticleInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VerifyField<int32_t>(verifier, VT_NODE_NUMBER) &&
VerifyField<TEN::Save::Vector3>(verifier, VT_TARGET_POS) &&
VerifyField<int32_t>(verifier, VT_SPRITE_ID) &&
VerifyField<int32_t>(verifier, VT_DAMAGE) &&
VerifyField<float>(verifier, VT_FRAMERATE) &&
VerifyField<int32_t>(verifier, VT_ANIMATION_TYPE) &&
VerifyField<int32_t>(verifier, VT_LIGHT_RADIUS) &&
VerifyField<int32_t>(verifier, VT_LIGHT_FLICKER) &&
VerifyField<int32_t>(verifier, VT_LIGHT_FLICKER_S) &&
VerifyField<int32_t>(verifier, VT_SOUND) &&
verifier.EndTable();
}
ParticleInfoT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
@ -5291,6 +5736,27 @@ struct ParticleInfoBuilder {
void add_sprite_id(int32_t sprite_id) {
fbb_.AddElement<int32_t>(ParticleInfo::VT_SPRITE_ID, sprite_id, 0);
}
void add_damage(int32_t damage) {
fbb_.AddElement<int32_t>(ParticleInfo::VT_DAMAGE, damage, 0);
}
void add_framerate(float framerate) {
fbb_.AddElement<float>(ParticleInfo::VT_FRAMERATE, framerate, 0.0f);
}
void add_animation_type(int32_t animation_type) {
fbb_.AddElement<int32_t>(ParticleInfo::VT_ANIMATION_TYPE, animation_type, 0);
}
void add_light_radius(int32_t light_radius) {
fbb_.AddElement<int32_t>(ParticleInfo::VT_LIGHT_RADIUS, light_radius, 0);
}
void add_light_flicker(int32_t light_flicker) {
fbb_.AddElement<int32_t>(ParticleInfo::VT_LIGHT_FLICKER, light_flicker, 0);
}
void add_light_flicker_s(int32_t light_flicker_s) {
fbb_.AddElement<int32_t>(ParticleInfo::VT_LIGHT_FLICKER_S, light_flicker_s, 0);
}
void add_sound(int32_t sound) {
fbb_.AddElement<int32_t>(ParticleInfo::VT_SOUND, sound, 0);
}
explicit ParticleInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@ -5342,8 +5808,22 @@ inline flatbuffers::Offset<ParticleInfo> CreateParticleInfo(
int32_t room_number = 0,
int32_t node_number = 0,
const TEN::Save::Vector3 *target_pos = 0,
int32_t sprite_id = 0) {
int32_t sprite_id = 0,
int32_t damage = 0,
float framerate = 0.0f,
int32_t animation_type = 0,
int32_t light_radius = 0,
int32_t light_flicker = 0,
int32_t light_flicker_s = 0,
int32_t sound = 0) {
ParticleInfoBuilder builder_(_fbb);
builder_.add_sound(sound);
builder_.add_light_flicker_s(light_flicker_s);
builder_.add_light_flicker(light_flicker);
builder_.add_light_radius(light_radius);
builder_.add_animation_type(animation_type);
builder_.add_framerate(framerate);
builder_.add_damage(damage);
builder_.add_sprite_id(sprite_id);
builder_.add_target_pos(target_pos);
builder_.add_node_number(node_number);
@ -7660,6 +8140,7 @@ struct SaveGameStatisticsT : public flatbuffers::NativeTable {
int32_t damage_taken = 0;
int32_t distance = 0;
int32_t kills = 0;
int32_t pickups = 0;
int32_t secrets = 0;
int32_t timer = 0;
};
@ -7675,8 +8156,9 @@ struct SaveGameStatistics FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VT_DAMAGE_TAKEN = 10,
VT_DISTANCE = 12,
VT_KILLS = 14,
VT_SECRETS = 16,
VT_TIMER = 18
VT_PICKUPS = 16,
VT_SECRETS = 18,
VT_TIMER = 20
};
int32_t ammo_hits() const {
return GetField<int32_t>(VT_AMMO_HITS, 0);
@ -7696,6 +8178,9 @@ struct SaveGameStatistics FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
int32_t kills() const {
return GetField<int32_t>(VT_KILLS, 0);
}
int32_t pickups() const {
return GetField<int32_t>(VT_PICKUPS, 0);
}
int32_t secrets() const {
return GetField<int32_t>(VT_SECRETS, 0);
}
@ -7710,6 +8195,7 @@ struct SaveGameStatistics FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VerifyField<int32_t>(verifier, VT_DAMAGE_TAKEN) &&
VerifyField<int32_t>(verifier, VT_DISTANCE) &&
VerifyField<int32_t>(verifier, VT_KILLS) &&
VerifyField<int32_t>(verifier, VT_PICKUPS) &&
VerifyField<int32_t>(verifier, VT_SECRETS) &&
VerifyField<int32_t>(verifier, VT_TIMER) &&
verifier.EndTable();
@ -7741,6 +8227,9 @@ struct SaveGameStatisticsBuilder {
void add_kills(int32_t kills) {
fbb_.AddElement<int32_t>(SaveGameStatistics::VT_KILLS, kills, 0);
}
void add_pickups(int32_t pickups) {
fbb_.AddElement<int32_t>(SaveGameStatistics::VT_PICKUPS, pickups, 0);
}
void add_secrets(int32_t secrets) {
fbb_.AddElement<int32_t>(SaveGameStatistics::VT_SECRETS, secrets, 0);
}
@ -7766,11 +8255,13 @@ inline flatbuffers::Offset<SaveGameStatistics> CreateSaveGameStatistics(
int32_t damage_taken = 0,
int32_t distance = 0,
int32_t kills = 0,
int32_t pickups = 0,
int32_t secrets = 0,
int32_t timer = 0) {
SaveGameStatisticsBuilder builder_(_fbb);
builder_.add_timer(timer);
builder_.add_secrets(secrets);
builder_.add_pickups(pickups);
builder_.add_kills(kills);
builder_.add_distance(distance);
builder_.add_damage_taken(damage_taken);
@ -7792,6 +8283,7 @@ struct SaveGameT : public flatbuffers::NativeTable {
std::unique_ptr<TEN::Save::SaveGameHeaderT> header{};
std::unique_ptr<TEN::Save::SaveGameStatisticsT> game{};
std::unique_ptr<TEN::Save::SaveGameStatisticsT> level{};
std::unique_ptr<TEN::Save::LevelDataT> level_data{};
int32_t secret_bits = 0;
std::unique_ptr<TEN::Save::CameraT> camera{};
std::unique_ptr<TEN::Save::LaraT> lara{};
@ -7858,62 +8350,63 @@ struct SaveGame FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VT_HEADER = 4,
VT_GAME = 6,
VT_LEVEL = 8,
VT_SECRET_BITS = 10,
VT_CAMERA = 12,
VT_LARA = 14,
VT_ROOMS = 16,
VT_ITEMS = 18,
VT_NEXT_ITEM_FREE = 20,
VT_NEXT_ITEM_ACTIVE = 22,
VT_ROOM_ITEMS = 24,
VT_FISH_SWARM = 26,
VT_FIREFLY_SWARM = 28,
VT_FXINFOS = 30,
VT_NEXT_FX_FREE = 32,
VT_NEXT_FX_ACTIVE = 34,
VT_FIXED_CAMERAS = 36,
VT_SINKS = 38,
VT_STATIC_MESHES = 40,
VT_FLYBY_CAMERAS = 42,
VT_PARTICLES = 44,
VT_RATS = 46,
VT_SPIDERS = 48,
VT_SCARABS = 50,
VT_BATS = 52,
VT_FLIP_MAPS = 54,
VT_FLIP_STATS = 56,
VT_FLIP_EFFECT = 58,
VT_FLIP_TIMER = 60,
VT_FLIP_STATUS = 62,
VT_CURRENT_FOV = 64,
VT_LAST_INV_ITEM = 66,
VT_ACTION_QUEUE = 68,
VT_SOUNDTRACKS = 70,
VT_CD_FLAGS = 72,
VT_POSTPROCESS_MODE = 74,
VT_POSTPROCESS_STRENGTH = 76,
VT_POSTPROCESS_TINT = 78,
VT_ROPE = 80,
VT_PENDULUM = 82,
VT_ALTERNATE_PENDULUM = 84,
VT_VOLUMES = 86,
VT_GLOBAL_EVENT_SETS = 88,
VT_VOLUME_EVENT_SETS = 90,
VT_SCRIPT_VARS = 92,
VT_CALLBACKS_PRE_START = 94,
VT_CALLBACKS_POST_START = 96,
VT_CALLBACKS_PRE_END = 98,
VT_CALLBACKS_POST_END = 100,
VT_CALLBACKS_PRE_SAVE = 102,
VT_CALLBACKS_POST_SAVE = 104,
VT_CALLBACKS_PRE_LOAD = 106,
VT_CALLBACKS_POST_LOAD = 108,
VT_CALLBACKS_PRE_LOOP = 110,
VT_CALLBACKS_POST_LOOP = 112,
VT_CALLBACKS_PRE_USEITEM = 114,
VT_CALLBACKS_POST_USEITEM = 116,
VT_CALLBACKS_PRE_FREEZE = 118,
VT_CALLBACKS_POST_FREEZE = 120
VT_LEVEL_DATA = 10,
VT_SECRET_BITS = 12,
VT_CAMERA = 14,
VT_LARA = 16,
VT_ROOMS = 18,
VT_ITEMS = 20,
VT_NEXT_ITEM_FREE = 22,
VT_NEXT_ITEM_ACTIVE = 24,
VT_ROOM_ITEMS = 26,
VT_FISH_SWARM = 28,
VT_FIREFLY_SWARM = 30,
VT_FXINFOS = 32,
VT_NEXT_FX_FREE = 34,
VT_NEXT_FX_ACTIVE = 36,
VT_FIXED_CAMERAS = 38,
VT_SINKS = 40,
VT_STATIC_MESHES = 42,
VT_FLYBY_CAMERAS = 44,
VT_PARTICLES = 46,
VT_RATS = 48,
VT_SPIDERS = 50,
VT_SCARABS = 52,
VT_BATS = 54,
VT_FLIP_MAPS = 56,
VT_FLIP_STATS = 58,
VT_FLIP_EFFECT = 60,
VT_FLIP_TIMER = 62,
VT_FLIP_STATUS = 64,
VT_CURRENT_FOV = 66,
VT_LAST_INV_ITEM = 68,
VT_ACTION_QUEUE = 70,
VT_SOUNDTRACKS = 72,
VT_CD_FLAGS = 74,
VT_POSTPROCESS_MODE = 76,
VT_POSTPROCESS_STRENGTH = 78,
VT_POSTPROCESS_TINT = 80,
VT_ROPE = 82,
VT_PENDULUM = 84,
VT_ALTERNATE_PENDULUM = 86,
VT_VOLUMES = 88,
VT_GLOBAL_EVENT_SETS = 90,
VT_VOLUME_EVENT_SETS = 92,
VT_SCRIPT_VARS = 94,
VT_CALLBACKS_PRE_START = 96,
VT_CALLBACKS_POST_START = 98,
VT_CALLBACKS_PRE_END = 100,
VT_CALLBACKS_POST_END = 102,
VT_CALLBACKS_PRE_SAVE = 104,
VT_CALLBACKS_POST_SAVE = 106,
VT_CALLBACKS_PRE_LOAD = 108,
VT_CALLBACKS_POST_LOAD = 110,
VT_CALLBACKS_PRE_LOOP = 112,
VT_CALLBACKS_POST_LOOP = 114,
VT_CALLBACKS_PRE_USEITEM = 116,
VT_CALLBACKS_POST_USEITEM = 118,
VT_CALLBACKS_PRE_FREEZE = 120,
VT_CALLBACKS_POST_FREEZE = 122
};
const TEN::Save::SaveGameHeader *header() const {
return GetPointer<const TEN::Save::SaveGameHeader *>(VT_HEADER);
@ -7924,6 +8417,9 @@ struct SaveGame FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
const TEN::Save::SaveGameStatistics *level() const {
return GetPointer<const TEN::Save::SaveGameStatistics *>(VT_LEVEL);
}
const TEN::Save::LevelData *level_data() const {
return GetPointer<const TEN::Save::LevelData *>(VT_LEVEL_DATA);
}
int32_t secret_bits() const {
return GetField<int32_t>(VT_SECRET_BITS, 0);
}
@ -8100,6 +8596,8 @@ struct SaveGame FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
verifier.VerifyTable(game()) &&
VerifyOffset(verifier, VT_LEVEL) &&
verifier.VerifyTable(level()) &&
VerifyOffset(verifier, VT_LEVEL_DATA) &&
verifier.VerifyTable(level_data()) &&
VerifyField<int32_t>(verifier, VT_SECRET_BITS) &&
VerifyOffset(verifier, VT_CAMERA) &&
verifier.VerifyTable(camera()) &&
@ -8251,6 +8749,9 @@ struct SaveGameBuilder {
void add_level(flatbuffers::Offset<TEN::Save::SaveGameStatistics> level) {
fbb_.AddOffset(SaveGame::VT_LEVEL, level);
}
void add_level_data(flatbuffers::Offset<TEN::Save::LevelData> level_data) {
fbb_.AddOffset(SaveGame::VT_LEVEL_DATA, level_data);
}
void add_secret_bits(int32_t secret_bits) {
fbb_.AddElement<int32_t>(SaveGame::VT_SECRET_BITS, secret_bits, 0);
}
@ -8435,6 +8936,7 @@ inline flatbuffers::Offset<SaveGame> CreateSaveGame(
flatbuffers::Offset<TEN::Save::SaveGameHeader> header = 0,
flatbuffers::Offset<TEN::Save::SaveGameStatistics> game = 0,
flatbuffers::Offset<TEN::Save::SaveGameStatistics> level = 0,
flatbuffers::Offset<TEN::Save::LevelData> level_data = 0,
int32_t secret_bits = 0,
flatbuffers::Offset<TEN::Save::Camera> camera = 0,
flatbuffers::Offset<TEN::Save::Lara> lara = 0,
@ -8547,6 +9049,7 @@ inline flatbuffers::Offset<SaveGame> CreateSaveGame(
builder_.add_lara(lara);
builder_.add_camera(camera);
builder_.add_secret_bits(secret_bits);
builder_.add_level_data(level_data);
builder_.add_level(level);
builder_.add_game(game);
builder_.add_header(header);
@ -8564,6 +9067,7 @@ inline flatbuffers::Offset<SaveGame> CreateSaveGameDirect(
flatbuffers::Offset<TEN::Save::SaveGameHeader> header = 0,
flatbuffers::Offset<TEN::Save::SaveGameStatistics> game = 0,
flatbuffers::Offset<TEN::Save::SaveGameStatistics> level = 0,
flatbuffers::Offset<TEN::Save::LevelData> level_data = 0,
int32_t secret_bits = 0,
flatbuffers::Offset<TEN::Save::Camera> camera = 0,
flatbuffers::Offset<TEN::Save::Lara> lara = 0,
@ -8662,6 +9166,7 @@ inline flatbuffers::Offset<SaveGame> CreateSaveGameDirect(
header,
game,
level,
level_data,
secret_bits,
camera,
lara,
@ -8722,6 +9227,125 @@ inline flatbuffers::Offset<SaveGame> CreateSaveGameDirect(
flatbuffers::Offset<SaveGame> CreateSaveGame(flatbuffers::FlatBufferBuilder &_fbb, const SaveGameT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
inline LevelDataT *LevelData::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
auto _o = std::make_unique<LevelDataT>();
UnPackTo(_o.get(), _resolver);
return _o.release();
}
inline void LevelData::UnPackTo(LevelDataT *_o, const flatbuffers::resolver_function_t *_resolver) const {
(void)_o;
(void)_resolver;
{ auto _e = level_far_view(); _o->level_far_view = _e; }
{ auto _e = storm_enabled(); _o->storm_enabled = _e; }
{ auto _e = rumble_enabled(); _o->rumble_enabled = _e; }
{ auto _e = weather_type(); _o->weather_type = _e; }
{ auto _e = weather_strength(); _o->weather_strength = _e; }
{ auto _e = fog_color(); _o->fog_color = _e; }
{ auto _e = fog_min_distance(); _o->fog_min_distance = _e; }
{ auto _e = fog_max_distance(); _o->fog_max_distance = _e; }
{ auto _e = sky_layer_1_enabled(); _o->sky_layer_1_enabled = _e; }
{ auto _e = sky_layer_1_color(); _o->sky_layer_1_color = _e; }
{ auto _e = sky_layer_1_speed(); _o->sky_layer_1_speed = _e; }
{ auto _e = sky_layer_2_enabled(); _o->sky_layer_2_enabled = _e; }
{ auto _e = sky_layer_2_color(); _o->sky_layer_2_color = _e; }
{ auto _e = sky_layer_2_speed(); _o->sky_layer_2_speed = _e; }
{ auto _e = horizon1_enabled(); _o->horizon1_enabled = _e; }
{ auto _e = horizon1_object_id(); _o->horizon1_object_id = _e; }
{ auto _e = horizon1_position(); if (_e) _o->horizon1_position = std::unique_ptr<TEN::Save::Vector3>(new TEN::Save::Vector3(*_e)); }
{ auto _e = horizon1_orientation(); if (_e) _o->horizon1_orientation = std::unique_ptr<TEN::Save::EulerAngles>(new TEN::Save::EulerAngles(*_e)); }
{ auto _e = horizon1_transparency(); _o->horizon1_transparency = _e; }
{ auto _e = horizon2_enabled(); _o->horizon2_enabled = _e; }
{ auto _e = horizon2_object_id(); _o->horizon2_object_id = _e; }
{ auto _e = horizon2_position(); if (_e) _o->horizon2_position = std::unique_ptr<TEN::Save::Vector3>(new TEN::Save::Vector3(*_e)); }
{ auto _e = horizon2_orientation(); if (_e) _o->horizon2_orientation = std::unique_ptr<TEN::Save::EulerAngles>(new TEN::Save::EulerAngles(*_e)); }
{ auto _e = horizon2_transparency(); _o->horizon2_transparency = _e; }
{ auto _e = lensflare_sprite_id(); _o->lensflare_sprite_id = _e; }
{ auto _e = lensflare_pitch(); _o->lensflare_pitch = _e; }
{ auto _e = lensflare_yaw(); _o->lensflare_yaw = _e; }
{ auto _e = lensflare_color(); _o->lensflare_color = _e; }
{ auto _e = starfield_star_count(); _o->starfield_star_count = _e; }
{ auto _e = starfield_meteor_count(); _o->starfield_meteor_count = _e; }
{ auto _e = starfield_meteor_spawn_density(); _o->starfield_meteor_spawn_density = _e; }
{ auto _e = starfield_meteor_velocity(); _o->starfield_meteor_velocity = _e; }
}
inline flatbuffers::Offset<LevelData> LevelData::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LevelDataT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
return CreateLevelData(_fbb, _o, _rehasher);
}
inline flatbuffers::Offset<LevelData> CreateLevelData(flatbuffers::FlatBufferBuilder &_fbb, const LevelDataT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
(void)_rehasher;
(void)_o;
struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LevelDataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
auto _level_far_view = _o->level_far_view;
auto _storm_enabled = _o->storm_enabled;
auto _rumble_enabled = _o->rumble_enabled;
auto _weather_type = _o->weather_type;
auto _weather_strength = _o->weather_strength;
auto _fog_color = _o->fog_color;
auto _fog_min_distance = _o->fog_min_distance;
auto _fog_max_distance = _o->fog_max_distance;
auto _sky_layer_1_enabled = _o->sky_layer_1_enabled;
auto _sky_layer_1_color = _o->sky_layer_1_color;
auto _sky_layer_1_speed = _o->sky_layer_1_speed;
auto _sky_layer_2_enabled = _o->sky_layer_2_enabled;
auto _sky_layer_2_color = _o->sky_layer_2_color;
auto _sky_layer_2_speed = _o->sky_layer_2_speed;
auto _horizon1_enabled = _o->horizon1_enabled;
auto _horizon1_object_id = _o->horizon1_object_id;
auto _horizon1_position = _o->horizon1_position ? _o->horizon1_position.get() : 0;
auto _horizon1_orientation = _o->horizon1_orientation ? _o->horizon1_orientation.get() : 0;
auto _horizon1_transparency = _o->horizon1_transparency;
auto _horizon2_enabled = _o->horizon2_enabled;
auto _horizon2_object_id = _o->horizon2_object_id;
auto _horizon2_position = _o->horizon2_position ? _o->horizon2_position.get() : 0;
auto _horizon2_orientation = _o->horizon2_orientation ? _o->horizon2_orientation.get() : 0;
auto _horizon2_transparency = _o->horizon2_transparency;
auto _lensflare_sprite_id = _o->lensflare_sprite_id;
auto _lensflare_pitch = _o->lensflare_pitch;
auto _lensflare_yaw = _o->lensflare_yaw;
auto _lensflare_color = _o->lensflare_color;
auto _starfield_star_count = _o->starfield_star_count;
auto _starfield_meteor_count = _o->starfield_meteor_count;
auto _starfield_meteor_spawn_density = _o->starfield_meteor_spawn_density;
auto _starfield_meteor_velocity = _o->starfield_meteor_velocity;
return TEN::Save::CreateLevelData(
_fbb,
_level_far_view,
_storm_enabled,
_rumble_enabled,
_weather_type,
_weather_strength,
_fog_color,
_fog_min_distance,
_fog_max_distance,
_sky_layer_1_enabled,
_sky_layer_1_color,
_sky_layer_1_speed,
_sky_layer_2_enabled,
_sky_layer_2_color,
_sky_layer_2_speed,
_horizon1_enabled,
_horizon1_object_id,
_horizon1_position,
_horizon1_orientation,
_horizon1_transparency,
_horizon2_enabled,
_horizon2_object_id,
_horizon2_position,
_horizon2_orientation,
_horizon2_transparency,
_lensflare_sprite_id,
_lensflare_pitch,
_lensflare_yaw,
_lensflare_color,
_starfield_star_count,
_starfield_meteor_count,
_starfield_meteor_spawn_density,
_starfield_meteor_velocity);
}
inline RoomT *Room::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
auto _o = std::make_unique<RoomT>();
UnPackTo(_o.get(), _resolver);
@ -10119,6 +10743,13 @@ inline void ParticleInfo::UnPackTo(ParticleInfoT *_o, const flatbuffers::resolve
{ auto _e = node_number(); _o->node_number = _e; }
{ auto _e = target_pos(); if (_e) _o->target_pos = std::unique_ptr<TEN::Save::Vector3>(new TEN::Save::Vector3(*_e)); }
{ auto _e = sprite_id(); _o->sprite_id = _e; }
{ auto _e = damage(); _o->damage = _e; }
{ auto _e = framerate(); _o->framerate = _e; }
{ auto _e = animation_type(); _o->animation_type = _e; }
{ auto _e = light_radius(); _o->light_radius = _e; }
{ auto _e = light_flicker(); _o->light_flicker = _e; }
{ auto _e = light_flicker_s(); _o->light_flicker_s = _e; }
{ auto _e = sound(); _o->sound = _e; }
}
inline flatbuffers::Offset<ParticleInfo> ParticleInfo::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ParticleInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
@ -10168,6 +10799,13 @@ inline flatbuffers::Offset<ParticleInfo> CreateParticleInfo(flatbuffers::FlatBuf
auto _node_number = _o->node_number;
auto _target_pos = _o->target_pos ? _o->target_pos.get() : 0;
auto _sprite_id = _o->sprite_id;
auto _damage = _o->damage;
auto _framerate = _o->framerate;
auto _animation_type = _o->animation_type;
auto _light_radius = _o->light_radius;
auto _light_flicker = _o->light_flicker;
auto _light_flicker_s = _o->light_flicker_s;
auto _sound = _o->sound;
return TEN::Save::CreateParticleInfo(
_fbb,
_x,
@ -10208,7 +10846,14 @@ inline flatbuffers::Offset<ParticleInfo> CreateParticleInfo(flatbuffers::FlatBuf
_room_number,
_node_number,
_target_pos,
_sprite_id);
_sprite_id,
_damage,
_framerate,
_animation_type,
_light_radius,
_light_flicker,
_light_flicker_s,
_sound);
}
inline SoundtrackT *Soundtrack::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
@ -11019,6 +11664,7 @@ inline void SaveGameStatistics::UnPackTo(SaveGameStatisticsT *_o, const flatbuff
{ auto _e = damage_taken(); _o->damage_taken = _e; }
{ auto _e = distance(); _o->distance = _e; }
{ auto _e = kills(); _o->kills = _e; }
{ auto _e = pickups(); _o->pickups = _e; }
{ auto _e = secrets(); _o->secrets = _e; }
{ auto _e = timer(); _o->timer = _e; }
}
@ -11037,6 +11683,7 @@ inline flatbuffers::Offset<SaveGameStatistics> CreateSaveGameStatistics(flatbuff
auto _damage_taken = _o->damage_taken;
auto _distance = _o->distance;
auto _kills = _o->kills;
auto _pickups = _o->pickups;
auto _secrets = _o->secrets;
auto _timer = _o->timer;
return TEN::Save::CreateSaveGameStatistics(
@ -11047,6 +11694,7 @@ inline flatbuffers::Offset<SaveGameStatistics> CreateSaveGameStatistics(flatbuff
_damage_taken,
_distance,
_kills,
_pickups,
_secrets,
_timer);
}
@ -11063,6 +11711,7 @@ inline void SaveGame::UnPackTo(SaveGameT *_o, const flatbuffers::resolver_functi
{ auto _e = header(); if (_e) _o->header = std::unique_ptr<TEN::Save::SaveGameHeaderT>(_e->UnPack(_resolver)); }
{ auto _e = game(); if (_e) _o->game = std::unique_ptr<TEN::Save::SaveGameStatisticsT>(_e->UnPack(_resolver)); }
{ auto _e = level(); if (_e) _o->level = std::unique_ptr<TEN::Save::SaveGameStatisticsT>(_e->UnPack(_resolver)); }
{ auto _e = level_data(); if (_e) _o->level_data = std::unique_ptr<TEN::Save::LevelDataT>(_e->UnPack(_resolver)); }
{ auto _e = secret_bits(); _o->secret_bits = _e; }
{ auto _e = camera(); if (_e) _o->camera = std::unique_ptr<TEN::Save::CameraT>(_e->UnPack(_resolver)); }
{ auto _e = lara(); if (_e) _o->lara = std::unique_ptr<TEN::Save::LaraT>(_e->UnPack(_resolver)); }
@ -11132,6 +11781,7 @@ inline flatbuffers::Offset<SaveGame> CreateSaveGame(flatbuffers::FlatBufferBuild
auto _header = _o->header ? CreateSaveGameHeader(_fbb, _o->header.get(), _rehasher) : 0;
auto _game = _o->game ? CreateSaveGameStatistics(_fbb, _o->game.get(), _rehasher) : 0;
auto _level = _o->level ? CreateSaveGameStatistics(_fbb, _o->level.get(), _rehasher) : 0;
auto _level_data = _o->level_data ? CreateLevelData(_fbb, _o->level_data.get(), _rehasher) : 0;
auto _secret_bits = _o->secret_bits;
auto _camera = _o->camera ? CreateCamera(_fbb, _o->camera.get(), _rehasher) : 0;
auto _lara = _o->lara ? CreateLara(_fbb, _o->lara.get(), _rehasher) : 0;
@ -11193,6 +11843,7 @@ inline flatbuffers::Offset<SaveGame> CreateSaveGame(flatbuffers::FlatBufferBuild
_header,
_game,
_level,
_level_data,
_secret_bits,
_camera,
_lara,