mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-13 14:07:04 +03:00
Update savegame schema
This commit is contained in:
parent
d4cde2886f
commit
aa0e51ae71
3 changed files with 156 additions and 174 deletions
|
@ -614,7 +614,6 @@ bool SaveGame::Save(int slot)
|
||||||
}
|
}
|
||||||
|
|
||||||
Save::ItemBuilder serializedItem{ fbb };
|
Save::ItemBuilder serializedItem{ fbb };
|
||||||
|
|
||||||
serializedItem.add_next_item(itemToSerialize.NextItem);
|
serializedItem.add_next_item(itemToSerialize.NextItem);
|
||||||
serializedItem.add_next_item_active(itemToSerialize.NextActive);
|
serializedItem.add_next_item_active(itemToSerialize.NextActive);
|
||||||
serializedItem.add_anim_number(itemToSerialize.Animation.AnimNumber - obj->animIndex);
|
serializedItem.add_anim_number(itemToSerialize.Animation.AnimNumber - obj->animIndex);
|
||||||
|
@ -622,7 +621,6 @@ bool SaveGame::Save(int slot)
|
||||||
serializedItem.add_box_number(itemToSerialize.BoxNumber);
|
serializedItem.add_box_number(itemToSerialize.BoxNumber);
|
||||||
serializedItem.add_carried_item(itemToSerialize.CarriedItem);
|
serializedItem.add_carried_item(itemToSerialize.CarriedItem);
|
||||||
serializedItem.add_active_state(itemToSerialize.Animation.ActiveState);
|
serializedItem.add_active_state(itemToSerialize.Animation.ActiveState);
|
||||||
serializedItem.add_vertical_velocity(itemToSerialize.Animation.Velocity.y);
|
|
||||||
serializedItem.add_flags(itemToSerialize.Flags);
|
serializedItem.add_flags(itemToSerialize.Flags);
|
||||||
serializedItem.add_floor(itemToSerialize.Floor);
|
serializedItem.add_floor(itemToSerialize.Floor);
|
||||||
serializedItem.add_frame_number(itemToSerialize.Animation.FrameNumber);
|
serializedItem.add_frame_number(itemToSerialize.Animation.FrameNumber);
|
||||||
|
@ -634,7 +632,7 @@ bool SaveGame::Save(int slot)
|
||||||
serializedItem.add_pose(&FromPHD(itemToSerialize.Pose));
|
serializedItem.add_pose(&FromPHD(itemToSerialize.Pose));
|
||||||
serializedItem.add_required_state(itemToSerialize.Animation.RequiredState);
|
serializedItem.add_required_state(itemToSerialize.Animation.RequiredState);
|
||||||
serializedItem.add_room_number(itemToSerialize.RoomNumber);
|
serializedItem.add_room_number(itemToSerialize.RoomNumber);
|
||||||
serializedItem.add_velocity(itemToSerialize.Animation.Velocity.z);
|
serializedItem.add_velocity(&FromVector3(itemToSerialize.Animation.Velocity));
|
||||||
serializedItem.add_timer(itemToSerialize.Timer);
|
serializedItem.add_timer(itemToSerialize.Timer);
|
||||||
serializedItem.add_color(&FromVector4(itemToSerialize.Color));
|
serializedItem.add_color(&FromVector4(itemToSerialize.Color));
|
||||||
serializedItem.add_touch_bits(itemToSerialize.TouchBits);
|
serializedItem.add_touch_bits(itemToSerialize.TouchBits);
|
||||||
|
@ -1331,8 +1329,7 @@ bool SaveGame::Load(int slot)
|
||||||
item->Pose = ToPHD(savedItem->pose());
|
item->Pose = ToPHD(savedItem->pose());
|
||||||
item->RoomNumber = savedItem->room_number();
|
item->RoomNumber = savedItem->room_number();
|
||||||
|
|
||||||
item->Animation.Velocity.z = savedItem->velocity();
|
item->Animation.Velocity = ToVector3(savedItem->velocity());
|
||||||
item->Animation.Velocity.y = savedItem->vertical_velocity();
|
|
||||||
|
|
||||||
if (item->ObjectNumber == ID_LARA && !dynamicItem)
|
if (item->ObjectNumber == ID_LARA && !dynamicItem)
|
||||||
{
|
{
|
||||||
|
|
|
@ -381,18 +381,18 @@ struct KeyValPair::Traits {
|
||||||
|
|
||||||
struct ItemT : public flatbuffers::NativeTable {
|
struct ItemT : public flatbuffers::NativeTable {
|
||||||
typedef Item TableType;
|
typedef Item TableType;
|
||||||
|
int32_t active_state = 0;
|
||||||
|
int32_t anim_number = 0;
|
||||||
|
int32_t frame_number = 0;
|
||||||
|
bool is_airborne = false;
|
||||||
|
int32_t required_state = 0;
|
||||||
|
int32_t target_state = 0;
|
||||||
|
std::unique_ptr<TEN::Save::Vector3> velocity{};
|
||||||
int32_t floor = 0;
|
int32_t floor = 0;
|
||||||
int32_t touch_bits = 0;
|
int32_t touch_bits = 0;
|
||||||
int32_t mesh_bits = 0;
|
int32_t mesh_bits = 0;
|
||||||
int32_t object_id = 0;
|
int32_t object_id = 0;
|
||||||
int32_t active_state = 0;
|
|
||||||
int32_t target_state = 0;
|
|
||||||
int32_t required_state = 0;
|
|
||||||
int32_t anim_number = 0;
|
|
||||||
int32_t frame_number = 0;
|
|
||||||
int32_t room_number = 0;
|
int32_t room_number = 0;
|
||||||
int32_t velocity = 0;
|
|
||||||
int32_t vertical_velocity = 0;
|
|
||||||
int32_t hit_points = 0;
|
int32_t hit_points = 0;
|
||||||
int32_t box_number = 0;
|
int32_t box_number = 0;
|
||||||
int32_t timer = 0;
|
int32_t timer = 0;
|
||||||
|
@ -408,7 +408,6 @@ struct ItemT : public flatbuffers::NativeTable {
|
||||||
bool triggered = false;
|
bool triggered = false;
|
||||||
bool active = false;
|
bool active = false;
|
||||||
int32_t status = 0;
|
int32_t status = 0;
|
||||||
bool is_airborne = false;
|
|
||||||
bool hit_stauts = false;
|
bool hit_stauts = false;
|
||||||
bool collidable = false;
|
bool collidable = false;
|
||||||
bool looked_at = false;
|
bool looked_at = false;
|
||||||
|
@ -427,18 +426,18 @@ struct Item FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
||||||
typedef ItemBuilder Builder;
|
typedef ItemBuilder Builder;
|
||||||
struct Traits;
|
struct Traits;
|
||||||
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
|
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
|
||||||
VT_FLOOR = 4,
|
VT_ACTIVE_STATE = 4,
|
||||||
VT_TOUCH_BITS = 6,
|
VT_ANIM_NUMBER = 6,
|
||||||
VT_MESH_BITS = 8,
|
VT_FRAME_NUMBER = 8,
|
||||||
VT_OBJECT_ID = 10,
|
VT_IS_AIRBORNE = 10,
|
||||||
VT_ACTIVE_STATE = 12,
|
VT_REQUIRED_STATE = 12,
|
||||||
VT_TARGET_STATE = 14,
|
VT_TARGET_STATE = 14,
|
||||||
VT_REQUIRED_STATE = 16,
|
VT_VELOCITY = 16,
|
||||||
VT_ANIM_NUMBER = 18,
|
VT_FLOOR = 18,
|
||||||
VT_FRAME_NUMBER = 20,
|
VT_TOUCH_BITS = 20,
|
||||||
VT_ROOM_NUMBER = 22,
|
VT_MESH_BITS = 22,
|
||||||
VT_VELOCITY = 24,
|
VT_OBJECT_ID = 24,
|
||||||
VT_VERTICAL_VELOCITY = 26,
|
VT_ROOM_NUMBER = 26,
|
||||||
VT_HIT_POINTS = 28,
|
VT_HIT_POINTS = 28,
|
||||||
VT_BOX_NUMBER = 30,
|
VT_BOX_NUMBER = 30,
|
||||||
VT_TIMER = 32,
|
VT_TIMER = 32,
|
||||||
|
@ -454,20 +453,40 @@ struct Item FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
||||||
VT_TRIGGERED = 52,
|
VT_TRIGGERED = 52,
|
||||||
VT_ACTIVE = 54,
|
VT_ACTIVE = 54,
|
||||||
VT_STATUS = 56,
|
VT_STATUS = 56,
|
||||||
VT_IS_AIRBORNE = 58,
|
VT_HIT_STAUTS = 58,
|
||||||
VT_HIT_STAUTS = 60,
|
VT_COLLIDABLE = 60,
|
||||||
VT_COLLIDABLE = 62,
|
VT_LOOKED_AT = 62,
|
||||||
VT_LOOKED_AT = 64,
|
VT_AI_BITS = 64,
|
||||||
VT_AI_BITS = 66,
|
VT_SWAP_MESH_FLAGS = 66,
|
||||||
VT_SWAP_MESH_FLAGS = 68,
|
VT_DATA_TYPE = 68,
|
||||||
VT_DATA_TYPE = 70,
|
VT_DATA = 70,
|
||||||
VT_DATA = 72,
|
VT_LUA_NAME = 72,
|
||||||
VT_LUA_NAME = 74,
|
VT_LUA_ON_KILLED_NAME = 74,
|
||||||
VT_LUA_ON_KILLED_NAME = 76,
|
VT_LUA_ON_HIT_NAME = 76,
|
||||||
VT_LUA_ON_HIT_NAME = 78,
|
VT_LUA_ON_COLLIDED_WITH_OBJECT_NAME = 78,
|
||||||
VT_LUA_ON_COLLIDED_WITH_OBJECT_NAME = 80,
|
VT_LUA_ON_COLLIDED_WITH_ROOM_NAME = 80
|
||||||
VT_LUA_ON_COLLIDED_WITH_ROOM_NAME = 82
|
|
||||||
};
|
};
|
||||||
|
int32_t active_state() const {
|
||||||
|
return GetField<int32_t>(VT_ACTIVE_STATE, 0);
|
||||||
|
}
|
||||||
|
int32_t anim_number() const {
|
||||||
|
return GetField<int32_t>(VT_ANIM_NUMBER, 0);
|
||||||
|
}
|
||||||
|
int32_t frame_number() const {
|
||||||
|
return GetField<int32_t>(VT_FRAME_NUMBER, 0);
|
||||||
|
}
|
||||||
|
bool is_airborne() const {
|
||||||
|
return GetField<uint8_t>(VT_IS_AIRBORNE, 0) != 0;
|
||||||
|
}
|
||||||
|
int32_t required_state() const {
|
||||||
|
return GetField<int32_t>(VT_REQUIRED_STATE, 0);
|
||||||
|
}
|
||||||
|
int32_t target_state() const {
|
||||||
|
return GetField<int32_t>(VT_TARGET_STATE, 0);
|
||||||
|
}
|
||||||
|
const TEN::Save::Vector3 *velocity() const {
|
||||||
|
return GetStruct<const TEN::Save::Vector3 *>(VT_VELOCITY);
|
||||||
|
}
|
||||||
int32_t floor() const {
|
int32_t floor() const {
|
||||||
return GetField<int32_t>(VT_FLOOR, 0);
|
return GetField<int32_t>(VT_FLOOR, 0);
|
||||||
}
|
}
|
||||||
|
@ -480,30 +499,9 @@ struct Item FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
||||||
int32_t object_id() const {
|
int32_t object_id() const {
|
||||||
return GetField<int32_t>(VT_OBJECT_ID, 0);
|
return GetField<int32_t>(VT_OBJECT_ID, 0);
|
||||||
}
|
}
|
||||||
int32_t active_state() const {
|
|
||||||
return GetField<int32_t>(VT_ACTIVE_STATE, 0);
|
|
||||||
}
|
|
||||||
int32_t target_state() const {
|
|
||||||
return GetField<int32_t>(VT_TARGET_STATE, 0);
|
|
||||||
}
|
|
||||||
int32_t required_state() const {
|
|
||||||
return GetField<int32_t>(VT_REQUIRED_STATE, 0);
|
|
||||||
}
|
|
||||||
int32_t anim_number() const {
|
|
||||||
return GetField<int32_t>(VT_ANIM_NUMBER, 0);
|
|
||||||
}
|
|
||||||
int32_t frame_number() const {
|
|
||||||
return GetField<int32_t>(VT_FRAME_NUMBER, 0);
|
|
||||||
}
|
|
||||||
int32_t room_number() const {
|
int32_t room_number() const {
|
||||||
return GetField<int32_t>(VT_ROOM_NUMBER, 0);
|
return GetField<int32_t>(VT_ROOM_NUMBER, 0);
|
||||||
}
|
}
|
||||||
int32_t velocity() const {
|
|
||||||
return GetField<int32_t>(VT_VELOCITY, 0);
|
|
||||||
}
|
|
||||||
int32_t vertical_velocity() const {
|
|
||||||
return GetField<int32_t>(VT_VERTICAL_VELOCITY, 0);
|
|
||||||
}
|
|
||||||
int32_t hit_points() const {
|
int32_t hit_points() const {
|
||||||
return GetField<int32_t>(VT_HIT_POINTS, 0);
|
return GetField<int32_t>(VT_HIT_POINTS, 0);
|
||||||
}
|
}
|
||||||
|
@ -549,9 +547,6 @@ struct Item FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
||||||
int32_t status() const {
|
int32_t status() const {
|
||||||
return GetField<int32_t>(VT_STATUS, 0);
|
return GetField<int32_t>(VT_STATUS, 0);
|
||||||
}
|
}
|
||||||
bool is_airborne() const {
|
|
||||||
return GetField<uint8_t>(VT_IS_AIRBORNE, 0) != 0;
|
|
||||||
}
|
|
||||||
bool hit_stauts() const {
|
bool hit_stauts() const {
|
||||||
return GetField<uint8_t>(VT_HIT_STAUTS, 0) != 0;
|
return GetField<uint8_t>(VT_HIT_STAUTS, 0) != 0;
|
||||||
}
|
}
|
||||||
|
@ -657,18 +652,18 @@ struct Item FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
||||||
}
|
}
|
||||||
bool Verify(flatbuffers::Verifier &verifier) const {
|
bool Verify(flatbuffers::Verifier &verifier) const {
|
||||||
return VerifyTableStart(verifier) &&
|
return VerifyTableStart(verifier) &&
|
||||||
|
VerifyField<int32_t>(verifier, VT_ACTIVE_STATE) &&
|
||||||
|
VerifyField<int32_t>(verifier, VT_ANIM_NUMBER) &&
|
||||||
|
VerifyField<int32_t>(verifier, VT_FRAME_NUMBER) &&
|
||||||
|
VerifyField<uint8_t>(verifier, VT_IS_AIRBORNE) &&
|
||||||
|
VerifyField<int32_t>(verifier, VT_REQUIRED_STATE) &&
|
||||||
|
VerifyField<int32_t>(verifier, VT_TARGET_STATE) &&
|
||||||
|
VerifyField<TEN::Save::Vector3>(verifier, VT_VELOCITY) &&
|
||||||
VerifyField<int32_t>(verifier, VT_FLOOR) &&
|
VerifyField<int32_t>(verifier, VT_FLOOR) &&
|
||||||
VerifyField<int32_t>(verifier, VT_TOUCH_BITS) &&
|
VerifyField<int32_t>(verifier, VT_TOUCH_BITS) &&
|
||||||
VerifyField<int32_t>(verifier, VT_MESH_BITS) &&
|
VerifyField<int32_t>(verifier, VT_MESH_BITS) &&
|
||||||
VerifyField<int32_t>(verifier, VT_OBJECT_ID) &&
|
VerifyField<int32_t>(verifier, VT_OBJECT_ID) &&
|
||||||
VerifyField<int32_t>(verifier, VT_ACTIVE_STATE) &&
|
|
||||||
VerifyField<int32_t>(verifier, VT_TARGET_STATE) &&
|
|
||||||
VerifyField<int32_t>(verifier, VT_REQUIRED_STATE) &&
|
|
||||||
VerifyField<int32_t>(verifier, VT_ANIM_NUMBER) &&
|
|
||||||
VerifyField<int32_t>(verifier, VT_FRAME_NUMBER) &&
|
|
||||||
VerifyField<int32_t>(verifier, VT_ROOM_NUMBER) &&
|
VerifyField<int32_t>(verifier, VT_ROOM_NUMBER) &&
|
||||||
VerifyField<int32_t>(verifier, VT_VELOCITY) &&
|
|
||||||
VerifyField<int32_t>(verifier, VT_VERTICAL_VELOCITY) &&
|
|
||||||
VerifyField<int32_t>(verifier, VT_HIT_POINTS) &&
|
VerifyField<int32_t>(verifier, VT_HIT_POINTS) &&
|
||||||
VerifyField<int32_t>(verifier, VT_BOX_NUMBER) &&
|
VerifyField<int32_t>(verifier, VT_BOX_NUMBER) &&
|
||||||
VerifyField<int32_t>(verifier, VT_TIMER) &&
|
VerifyField<int32_t>(verifier, VT_TIMER) &&
|
||||||
|
@ -685,7 +680,6 @@ struct Item FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
||||||
VerifyField<uint8_t>(verifier, VT_TRIGGERED) &&
|
VerifyField<uint8_t>(verifier, VT_TRIGGERED) &&
|
||||||
VerifyField<uint8_t>(verifier, VT_ACTIVE) &&
|
VerifyField<uint8_t>(verifier, VT_ACTIVE) &&
|
||||||
VerifyField<int32_t>(verifier, VT_STATUS) &&
|
VerifyField<int32_t>(verifier, VT_STATUS) &&
|
||||||
VerifyField<uint8_t>(verifier, VT_IS_AIRBORNE) &&
|
|
||||||
VerifyField<uint8_t>(verifier, VT_HIT_STAUTS) &&
|
VerifyField<uint8_t>(verifier, VT_HIT_STAUTS) &&
|
||||||
VerifyField<uint8_t>(verifier, VT_COLLIDABLE) &&
|
VerifyField<uint8_t>(verifier, VT_COLLIDABLE) &&
|
||||||
VerifyField<uint8_t>(verifier, VT_LOOKED_AT) &&
|
VerifyField<uint8_t>(verifier, VT_LOOKED_AT) &&
|
||||||
|
@ -803,6 +797,27 @@ struct ItemBuilder {
|
||||||
typedef Item Table;
|
typedef Item Table;
|
||||||
flatbuffers::FlatBufferBuilder &fbb_;
|
flatbuffers::FlatBufferBuilder &fbb_;
|
||||||
flatbuffers::uoffset_t start_;
|
flatbuffers::uoffset_t start_;
|
||||||
|
void add_active_state(int32_t active_state) {
|
||||||
|
fbb_.AddElement<int32_t>(Item::VT_ACTIVE_STATE, active_state, 0);
|
||||||
|
}
|
||||||
|
void add_anim_number(int32_t anim_number) {
|
||||||
|
fbb_.AddElement<int32_t>(Item::VT_ANIM_NUMBER, anim_number, 0);
|
||||||
|
}
|
||||||
|
void add_frame_number(int32_t frame_number) {
|
||||||
|
fbb_.AddElement<int32_t>(Item::VT_FRAME_NUMBER, frame_number, 0);
|
||||||
|
}
|
||||||
|
void add_is_airborne(bool is_airborne) {
|
||||||
|
fbb_.AddElement<uint8_t>(Item::VT_IS_AIRBORNE, static_cast<uint8_t>(is_airborne), 0);
|
||||||
|
}
|
||||||
|
void add_required_state(int32_t required_state) {
|
||||||
|
fbb_.AddElement<int32_t>(Item::VT_REQUIRED_STATE, required_state, 0);
|
||||||
|
}
|
||||||
|
void add_target_state(int32_t target_state) {
|
||||||
|
fbb_.AddElement<int32_t>(Item::VT_TARGET_STATE, target_state, 0);
|
||||||
|
}
|
||||||
|
void add_velocity(const TEN::Save::Vector3 *velocity) {
|
||||||
|
fbb_.AddStruct(Item::VT_VELOCITY, velocity);
|
||||||
|
}
|
||||||
void add_floor(int32_t floor) {
|
void add_floor(int32_t floor) {
|
||||||
fbb_.AddElement<int32_t>(Item::VT_FLOOR, floor, 0);
|
fbb_.AddElement<int32_t>(Item::VT_FLOOR, floor, 0);
|
||||||
}
|
}
|
||||||
|
@ -815,30 +830,9 @@ struct ItemBuilder {
|
||||||
void add_object_id(int32_t object_id) {
|
void add_object_id(int32_t object_id) {
|
||||||
fbb_.AddElement<int32_t>(Item::VT_OBJECT_ID, object_id, 0);
|
fbb_.AddElement<int32_t>(Item::VT_OBJECT_ID, object_id, 0);
|
||||||
}
|
}
|
||||||
void add_active_state(int32_t active_state) {
|
|
||||||
fbb_.AddElement<int32_t>(Item::VT_ACTIVE_STATE, active_state, 0);
|
|
||||||
}
|
|
||||||
void add_target_state(int32_t target_state) {
|
|
||||||
fbb_.AddElement<int32_t>(Item::VT_TARGET_STATE, target_state, 0);
|
|
||||||
}
|
|
||||||
void add_required_state(int32_t required_state) {
|
|
||||||
fbb_.AddElement<int32_t>(Item::VT_REQUIRED_STATE, required_state, 0);
|
|
||||||
}
|
|
||||||
void add_anim_number(int32_t anim_number) {
|
|
||||||
fbb_.AddElement<int32_t>(Item::VT_ANIM_NUMBER, anim_number, 0);
|
|
||||||
}
|
|
||||||
void add_frame_number(int32_t frame_number) {
|
|
||||||
fbb_.AddElement<int32_t>(Item::VT_FRAME_NUMBER, frame_number, 0);
|
|
||||||
}
|
|
||||||
void add_room_number(int32_t room_number) {
|
void add_room_number(int32_t room_number) {
|
||||||
fbb_.AddElement<int32_t>(Item::VT_ROOM_NUMBER, room_number, 0);
|
fbb_.AddElement<int32_t>(Item::VT_ROOM_NUMBER, room_number, 0);
|
||||||
}
|
}
|
||||||
void add_velocity(int32_t velocity) {
|
|
||||||
fbb_.AddElement<int32_t>(Item::VT_VELOCITY, velocity, 0);
|
|
||||||
}
|
|
||||||
void add_vertical_velocity(int32_t vertical_velocity) {
|
|
||||||
fbb_.AddElement<int32_t>(Item::VT_VERTICAL_VELOCITY, vertical_velocity, 0);
|
|
||||||
}
|
|
||||||
void add_hit_points(int32_t hit_points) {
|
void add_hit_points(int32_t hit_points) {
|
||||||
fbb_.AddElement<int32_t>(Item::VT_HIT_POINTS, hit_points, 0);
|
fbb_.AddElement<int32_t>(Item::VT_HIT_POINTS, hit_points, 0);
|
||||||
}
|
}
|
||||||
|
@ -884,9 +878,6 @@ struct ItemBuilder {
|
||||||
void add_status(int32_t status) {
|
void add_status(int32_t status) {
|
||||||
fbb_.AddElement<int32_t>(Item::VT_STATUS, status, 0);
|
fbb_.AddElement<int32_t>(Item::VT_STATUS, status, 0);
|
||||||
}
|
}
|
||||||
void add_is_airborne(bool is_airborne) {
|
|
||||||
fbb_.AddElement<uint8_t>(Item::VT_IS_AIRBORNE, static_cast<uint8_t>(is_airborne), 0);
|
|
||||||
}
|
|
||||||
void add_hit_stauts(bool hit_stauts) {
|
void add_hit_stauts(bool hit_stauts) {
|
||||||
fbb_.AddElement<uint8_t>(Item::VT_HIT_STAUTS, static_cast<uint8_t>(hit_stauts), 0);
|
fbb_.AddElement<uint8_t>(Item::VT_HIT_STAUTS, static_cast<uint8_t>(hit_stauts), 0);
|
||||||
}
|
}
|
||||||
|
@ -936,18 +927,18 @@ struct ItemBuilder {
|
||||||
|
|
||||||
inline flatbuffers::Offset<Item> CreateItem(
|
inline flatbuffers::Offset<Item> CreateItem(
|
||||||
flatbuffers::FlatBufferBuilder &_fbb,
|
flatbuffers::FlatBufferBuilder &_fbb,
|
||||||
|
int32_t active_state = 0,
|
||||||
|
int32_t anim_number = 0,
|
||||||
|
int32_t frame_number = 0,
|
||||||
|
bool is_airborne = false,
|
||||||
|
int32_t required_state = 0,
|
||||||
|
int32_t target_state = 0,
|
||||||
|
const TEN::Save::Vector3 *velocity = 0,
|
||||||
int32_t floor = 0,
|
int32_t floor = 0,
|
||||||
int32_t touch_bits = 0,
|
int32_t touch_bits = 0,
|
||||||
int32_t mesh_bits = 0,
|
int32_t mesh_bits = 0,
|
||||||
int32_t object_id = 0,
|
int32_t object_id = 0,
|
||||||
int32_t active_state = 0,
|
|
||||||
int32_t target_state = 0,
|
|
||||||
int32_t required_state = 0,
|
|
||||||
int32_t anim_number = 0,
|
|
||||||
int32_t frame_number = 0,
|
|
||||||
int32_t room_number = 0,
|
int32_t room_number = 0,
|
||||||
int32_t velocity = 0,
|
|
||||||
int32_t vertical_velocity = 0,
|
|
||||||
int32_t hit_points = 0,
|
int32_t hit_points = 0,
|
||||||
int32_t box_number = 0,
|
int32_t box_number = 0,
|
||||||
int32_t timer = 0,
|
int32_t timer = 0,
|
||||||
|
@ -963,7 +954,6 @@ inline flatbuffers::Offset<Item> CreateItem(
|
||||||
bool triggered = false,
|
bool triggered = false,
|
||||||
bool active = false,
|
bool active = false,
|
||||||
int32_t status = 0,
|
int32_t status = 0,
|
||||||
bool is_airborne = false,
|
|
||||||
bool hit_stauts = false,
|
bool hit_stauts = false,
|
||||||
bool collidable = false,
|
bool collidable = false,
|
||||||
bool looked_at = false,
|
bool looked_at = false,
|
||||||
|
@ -998,25 +988,24 @@ inline flatbuffers::Offset<Item> CreateItem(
|
||||||
builder_.add_timer(timer);
|
builder_.add_timer(timer);
|
||||||
builder_.add_box_number(box_number);
|
builder_.add_box_number(box_number);
|
||||||
builder_.add_hit_points(hit_points);
|
builder_.add_hit_points(hit_points);
|
||||||
builder_.add_vertical_velocity(vertical_velocity);
|
|
||||||
builder_.add_velocity(velocity);
|
|
||||||
builder_.add_room_number(room_number);
|
builder_.add_room_number(room_number);
|
||||||
builder_.add_frame_number(frame_number);
|
|
||||||
builder_.add_anim_number(anim_number);
|
|
||||||
builder_.add_required_state(required_state);
|
|
||||||
builder_.add_target_state(target_state);
|
|
||||||
builder_.add_active_state(active_state);
|
|
||||||
builder_.add_object_id(object_id);
|
builder_.add_object_id(object_id);
|
||||||
builder_.add_mesh_bits(mesh_bits);
|
builder_.add_mesh_bits(mesh_bits);
|
||||||
builder_.add_touch_bits(touch_bits);
|
builder_.add_touch_bits(touch_bits);
|
||||||
builder_.add_floor(floor);
|
builder_.add_floor(floor);
|
||||||
|
builder_.add_velocity(velocity);
|
||||||
|
builder_.add_target_state(target_state);
|
||||||
|
builder_.add_required_state(required_state);
|
||||||
|
builder_.add_frame_number(frame_number);
|
||||||
|
builder_.add_anim_number(anim_number);
|
||||||
|
builder_.add_active_state(active_state);
|
||||||
builder_.add_data_type(data_type);
|
builder_.add_data_type(data_type);
|
||||||
builder_.add_looked_at(looked_at);
|
builder_.add_looked_at(looked_at);
|
||||||
builder_.add_collidable(collidable);
|
builder_.add_collidable(collidable);
|
||||||
builder_.add_hit_stauts(hit_stauts);
|
builder_.add_hit_stauts(hit_stauts);
|
||||||
builder_.add_is_airborne(is_airborne);
|
|
||||||
builder_.add_active(active);
|
builder_.add_active(active);
|
||||||
builder_.add_triggered(triggered);
|
builder_.add_triggered(triggered);
|
||||||
|
builder_.add_is_airborne(is_airborne);
|
||||||
return builder_.Finish();
|
return builder_.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1027,18 +1016,18 @@ struct Item::Traits {
|
||||||
|
|
||||||
inline flatbuffers::Offset<Item> CreateItemDirect(
|
inline flatbuffers::Offset<Item> CreateItemDirect(
|
||||||
flatbuffers::FlatBufferBuilder &_fbb,
|
flatbuffers::FlatBufferBuilder &_fbb,
|
||||||
|
int32_t active_state = 0,
|
||||||
|
int32_t anim_number = 0,
|
||||||
|
int32_t frame_number = 0,
|
||||||
|
bool is_airborne = false,
|
||||||
|
int32_t required_state = 0,
|
||||||
|
int32_t target_state = 0,
|
||||||
|
const TEN::Save::Vector3 *velocity = 0,
|
||||||
int32_t floor = 0,
|
int32_t floor = 0,
|
||||||
int32_t touch_bits = 0,
|
int32_t touch_bits = 0,
|
||||||
int32_t mesh_bits = 0,
|
int32_t mesh_bits = 0,
|
||||||
int32_t object_id = 0,
|
int32_t object_id = 0,
|
||||||
int32_t active_state = 0,
|
|
||||||
int32_t target_state = 0,
|
|
||||||
int32_t required_state = 0,
|
|
||||||
int32_t anim_number = 0,
|
|
||||||
int32_t frame_number = 0,
|
|
||||||
int32_t room_number = 0,
|
int32_t room_number = 0,
|
||||||
int32_t velocity = 0,
|
|
||||||
int32_t vertical_velocity = 0,
|
|
||||||
int32_t hit_points = 0,
|
int32_t hit_points = 0,
|
||||||
int32_t box_number = 0,
|
int32_t box_number = 0,
|
||||||
int32_t timer = 0,
|
int32_t timer = 0,
|
||||||
|
@ -1054,7 +1043,6 @@ inline flatbuffers::Offset<Item> CreateItemDirect(
|
||||||
bool triggered = false,
|
bool triggered = false,
|
||||||
bool active = false,
|
bool active = false,
|
||||||
int32_t status = 0,
|
int32_t status = 0,
|
||||||
bool is_airborne = false,
|
|
||||||
bool hit_stauts = false,
|
bool hit_stauts = false,
|
||||||
bool collidable = false,
|
bool collidable = false,
|
||||||
bool looked_at = false,
|
bool looked_at = false,
|
||||||
|
@ -1075,18 +1063,18 @@ inline flatbuffers::Offset<Item> CreateItemDirect(
|
||||||
auto lua_on_collided_with_room_name__ = lua_on_collided_with_room_name ? _fbb.CreateString(lua_on_collided_with_room_name) : 0;
|
auto lua_on_collided_with_room_name__ = lua_on_collided_with_room_name ? _fbb.CreateString(lua_on_collided_with_room_name) : 0;
|
||||||
return TEN::Save::CreateItem(
|
return TEN::Save::CreateItem(
|
||||||
_fbb,
|
_fbb,
|
||||||
|
active_state,
|
||||||
|
anim_number,
|
||||||
|
frame_number,
|
||||||
|
is_airborne,
|
||||||
|
required_state,
|
||||||
|
target_state,
|
||||||
|
velocity,
|
||||||
floor,
|
floor,
|
||||||
touch_bits,
|
touch_bits,
|
||||||
mesh_bits,
|
mesh_bits,
|
||||||
object_id,
|
object_id,
|
||||||
active_state,
|
|
||||||
target_state,
|
|
||||||
required_state,
|
|
||||||
anim_number,
|
|
||||||
frame_number,
|
|
||||||
room_number,
|
room_number,
|
||||||
velocity,
|
|
||||||
vertical_velocity,
|
|
||||||
hit_points,
|
hit_points,
|
||||||
box_number,
|
box_number,
|
||||||
timer,
|
timer,
|
||||||
|
@ -1102,7 +1090,6 @@ inline flatbuffers::Offset<Item> CreateItemDirect(
|
||||||
triggered,
|
triggered,
|
||||||
active,
|
active,
|
||||||
status,
|
status,
|
||||||
is_airborne,
|
|
||||||
hit_stauts,
|
hit_stauts,
|
||||||
collidable,
|
collidable,
|
||||||
looked_at,
|
looked_at,
|
||||||
|
@ -6413,18 +6400,18 @@ inline ItemT *Item::UnPack(const flatbuffers::resolver_function_t *_resolver) co
|
||||||
inline void Item::UnPackTo(ItemT *_o, const flatbuffers::resolver_function_t *_resolver) const {
|
inline void Item::UnPackTo(ItemT *_o, const flatbuffers::resolver_function_t *_resolver) const {
|
||||||
(void)_o;
|
(void)_o;
|
||||||
(void)_resolver;
|
(void)_resolver;
|
||||||
|
{ auto _e = active_state(); _o->active_state = _e; }
|
||||||
|
{ auto _e = anim_number(); _o->anim_number = _e; }
|
||||||
|
{ auto _e = frame_number(); _o->frame_number = _e; }
|
||||||
|
{ auto _e = is_airborne(); _o->is_airborne = _e; }
|
||||||
|
{ auto _e = required_state(); _o->required_state = _e; }
|
||||||
|
{ auto _e = target_state(); _o->target_state = _e; }
|
||||||
|
{ auto _e = velocity(); if (_e) _o->velocity = std::unique_ptr<TEN::Save::Vector3>(new TEN::Save::Vector3(*_e)); }
|
||||||
{ auto _e = floor(); _o->floor = _e; }
|
{ auto _e = floor(); _o->floor = _e; }
|
||||||
{ auto _e = touch_bits(); _o->touch_bits = _e; }
|
{ auto _e = touch_bits(); _o->touch_bits = _e; }
|
||||||
{ auto _e = mesh_bits(); _o->mesh_bits = _e; }
|
{ auto _e = mesh_bits(); _o->mesh_bits = _e; }
|
||||||
{ auto _e = object_id(); _o->object_id = _e; }
|
{ auto _e = object_id(); _o->object_id = _e; }
|
||||||
{ auto _e = active_state(); _o->active_state = _e; }
|
|
||||||
{ auto _e = target_state(); _o->target_state = _e; }
|
|
||||||
{ auto _e = required_state(); _o->required_state = _e; }
|
|
||||||
{ auto _e = anim_number(); _o->anim_number = _e; }
|
|
||||||
{ auto _e = frame_number(); _o->frame_number = _e; }
|
|
||||||
{ auto _e = room_number(); _o->room_number = _e; }
|
{ auto _e = room_number(); _o->room_number = _e; }
|
||||||
{ auto _e = velocity(); _o->velocity = _e; }
|
|
||||||
{ auto _e = vertical_velocity(); _o->vertical_velocity = _e; }
|
|
||||||
{ auto _e = hit_points(); _o->hit_points = _e; }
|
{ auto _e = hit_points(); _o->hit_points = _e; }
|
||||||
{ auto _e = box_number(); _o->box_number = _e; }
|
{ auto _e = box_number(); _o->box_number = _e; }
|
||||||
{ auto _e = timer(); _o->timer = _e; }
|
{ auto _e = timer(); _o->timer = _e; }
|
||||||
|
@ -6440,7 +6427,6 @@ inline void Item::UnPackTo(ItemT *_o, const flatbuffers::resolver_function_t *_r
|
||||||
{ auto _e = triggered(); _o->triggered = _e; }
|
{ auto _e = triggered(); _o->triggered = _e; }
|
||||||
{ auto _e = active(); _o->active = _e; }
|
{ auto _e = active(); _o->active = _e; }
|
||||||
{ auto _e = status(); _o->status = _e; }
|
{ auto _e = status(); _o->status = _e; }
|
||||||
{ auto _e = is_airborne(); _o->is_airborne = _e; }
|
|
||||||
{ auto _e = hit_stauts(); _o->hit_stauts = _e; }
|
{ auto _e = hit_stauts(); _o->hit_stauts = _e; }
|
||||||
{ auto _e = collidable(); _o->collidable = _e; }
|
{ auto _e = collidable(); _o->collidable = _e; }
|
||||||
{ auto _e = looked_at(); _o->looked_at = _e; }
|
{ auto _e = looked_at(); _o->looked_at = _e; }
|
||||||
|
@ -6463,18 +6449,18 @@ inline flatbuffers::Offset<Item> CreateItem(flatbuffers::FlatBufferBuilder &_fbb
|
||||||
(void)_rehasher;
|
(void)_rehasher;
|
||||||
(void)_o;
|
(void)_o;
|
||||||
struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ItemT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
|
struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ItemT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
|
||||||
|
auto _active_state = _o->active_state;
|
||||||
|
auto _anim_number = _o->anim_number;
|
||||||
|
auto _frame_number = _o->frame_number;
|
||||||
|
auto _is_airborne = _o->is_airborne;
|
||||||
|
auto _required_state = _o->required_state;
|
||||||
|
auto _target_state = _o->target_state;
|
||||||
|
auto _velocity = _o->velocity ? _o->velocity.get() : 0;
|
||||||
auto _floor = _o->floor;
|
auto _floor = _o->floor;
|
||||||
auto _touch_bits = _o->touch_bits;
|
auto _touch_bits = _o->touch_bits;
|
||||||
auto _mesh_bits = _o->mesh_bits;
|
auto _mesh_bits = _o->mesh_bits;
|
||||||
auto _object_id = _o->object_id;
|
auto _object_id = _o->object_id;
|
||||||
auto _active_state = _o->active_state;
|
|
||||||
auto _target_state = _o->target_state;
|
|
||||||
auto _required_state = _o->required_state;
|
|
||||||
auto _anim_number = _o->anim_number;
|
|
||||||
auto _frame_number = _o->frame_number;
|
|
||||||
auto _room_number = _o->room_number;
|
auto _room_number = _o->room_number;
|
||||||
auto _velocity = _o->velocity;
|
|
||||||
auto _vertical_velocity = _o->vertical_velocity;
|
|
||||||
auto _hit_points = _o->hit_points;
|
auto _hit_points = _o->hit_points;
|
||||||
auto _box_number = _o->box_number;
|
auto _box_number = _o->box_number;
|
||||||
auto _timer = _o->timer;
|
auto _timer = _o->timer;
|
||||||
|
@ -6490,7 +6476,6 @@ inline flatbuffers::Offset<Item> CreateItem(flatbuffers::FlatBufferBuilder &_fbb
|
||||||
auto _triggered = _o->triggered;
|
auto _triggered = _o->triggered;
|
||||||
auto _active = _o->active;
|
auto _active = _o->active;
|
||||||
auto _status = _o->status;
|
auto _status = _o->status;
|
||||||
auto _is_airborne = _o->is_airborne;
|
|
||||||
auto _hit_stauts = _o->hit_stauts;
|
auto _hit_stauts = _o->hit_stauts;
|
||||||
auto _collidable = _o->collidable;
|
auto _collidable = _o->collidable;
|
||||||
auto _looked_at = _o->looked_at;
|
auto _looked_at = _o->looked_at;
|
||||||
|
@ -6505,18 +6490,18 @@ inline flatbuffers::Offset<Item> CreateItem(flatbuffers::FlatBufferBuilder &_fbb
|
||||||
auto _lua_on_collided_with_room_name = _o->lua_on_collided_with_room_name.empty() ? _fbb.CreateSharedString("") : _fbb.CreateString(_o->lua_on_collided_with_room_name);
|
auto _lua_on_collided_with_room_name = _o->lua_on_collided_with_room_name.empty() ? _fbb.CreateSharedString("") : _fbb.CreateString(_o->lua_on_collided_with_room_name);
|
||||||
return TEN::Save::CreateItem(
|
return TEN::Save::CreateItem(
|
||||||
_fbb,
|
_fbb,
|
||||||
|
_active_state,
|
||||||
|
_anim_number,
|
||||||
|
_frame_number,
|
||||||
|
_is_airborne,
|
||||||
|
_required_state,
|
||||||
|
_target_state,
|
||||||
|
_velocity,
|
||||||
_floor,
|
_floor,
|
||||||
_touch_bits,
|
_touch_bits,
|
||||||
_mesh_bits,
|
_mesh_bits,
|
||||||
_object_id,
|
_object_id,
|
||||||
_active_state,
|
|
||||||
_target_state,
|
|
||||||
_required_state,
|
|
||||||
_anim_number,
|
|
||||||
_frame_number,
|
|
||||||
_room_number,
|
_room_number,
|
||||||
_velocity,
|
|
||||||
_vertical_velocity,
|
|
||||||
_hit_points,
|
_hit_points,
|
||||||
_box_number,
|
_box_number,
|
||||||
_timer,
|
_timer,
|
||||||
|
@ -6532,7 +6517,6 @@ inline flatbuffers::Offset<Item> CreateItem(flatbuffers::FlatBufferBuilder &_fbb
|
||||||
_triggered,
|
_triggered,
|
||||||
_active,
|
_active,
|
||||||
_status,
|
_status,
|
||||||
_is_airborne,
|
|
||||||
_hit_stauts,
|
_hit_stauts,
|
||||||
_collidable,
|
_collidable,
|
||||||
_looked_at,
|
_looked_at,
|
||||||
|
|
|
@ -1,45 +1,46 @@
|
||||||
include "ten_itemdata.fbs";
|
include "ten_itemdata.fbs";
|
||||||
namespace TEN.Save;
|
namespace TEN.Save;
|
||||||
|
|
||||||
struct RoomVector {
|
struct RoomVector {
|
||||||
room: uint32;
|
room: uint32;
|
||||||
y_location: uint32;
|
y_location: uint32;
|
||||||
}
|
}
|
||||||
|
|
||||||
table Item {
|
table Item {
|
||||||
floor: int;
|
active_state: int32;
|
||||||
touch_bits: int32;
|
anim_number: int32;
|
||||||
mesh_bits: int32;
|
frame_number: int32;
|
||||||
object_id: int32;
|
is_airborne: bool;
|
||||||
active_state: int32;
|
required_state: int32;
|
||||||
target_state: int32;
|
target_state: int32;
|
||||||
required_state: int32;
|
velocity: Vector3;
|
||||||
anim_number: int32;
|
|
||||||
frame_number: int32;
|
floor: int;
|
||||||
room_number: int32;
|
touch_bits: int32;
|
||||||
velocity: int32;
|
mesh_bits: int32;
|
||||||
vertical_velocity: int32;
|
object_id: int32;
|
||||||
hit_points: int32;
|
room_number: int32;
|
||||||
box_number: int32;
|
hit_points: int32;
|
||||||
timer: int32;
|
box_number: int32;
|
||||||
|
timer: int32;
|
||||||
color: Vector4;
|
color: Vector4;
|
||||||
flags: int32;
|
flags: int32;
|
||||||
trigger_flags: int32;
|
trigger_flags: int32;
|
||||||
carried_item: int32;
|
carried_item: int32;
|
||||||
after_death: int32;
|
after_death: int32;
|
||||||
item_flags: [int32];
|
item_flags: [int32];
|
||||||
pose: Position;
|
pose: Position;
|
||||||
next_item: int32;
|
next_item: int32;
|
||||||
next_item_active: int32;
|
next_item_active: int32;
|
||||||
triggered: bool;
|
triggered: bool;
|
||||||
active: bool;
|
active: bool;
|
||||||
status: int32;
|
status: int32;
|
||||||
is_airborne: bool;
|
|
||||||
hit_stauts: bool;
|
hit_stauts: bool;
|
||||||
collidable: bool;
|
collidable: bool;
|
||||||
looked_at: bool;
|
looked_at: bool;
|
||||||
ai_bits: int32;
|
ai_bits: int32;
|
||||||
swap_mesh_flags: int32;
|
swap_mesh_flags: int32;
|
||||||
data: TEN.Save.ItemData;
|
data: TEN.Save.ItemData;
|
||||||
lua_name: string;
|
lua_name: string;
|
||||||
lua_on_killed_name: string;
|
lua_on_killed_name: string;
|
||||||
lua_on_hit_name: string;
|
lua_on_hit_name: string;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue