From 06bf24a606d5330c4af283cc1dc16b051ec54fd8 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 8 Feb 2018 23:28:30 +1100 Subject: [PATCH 1/3] pcb_reader dumps hierachyId now spawning objects has never been more fun! --- src/tools/pcb_reader/lgb.h | 3 ++- src/tools/pcb_reader/main.cpp | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/tools/pcb_reader/lgb.h b/src/tools/pcb_reader/lgb.h index 7a9b7bdc..c90572b3 100644 --- a/src/tools/pcb_reader/lgb.h +++ b/src/tools/pcb_reader/lgb.h @@ -174,7 +174,8 @@ public: struct LGB_EOBJ_HEADER : public LGB_ENTRY_HEADER { uint32_t eobjId; - uint8_t unknown1[0x10]; + uint32_t levelHierachyId; + uint8_t unknown1[0xC]; }; class LGB_EOBJ_ENTRY : public LGB_ENTRY diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 83d66887..7b639d07 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -236,6 +236,7 @@ void writeEobjEntry( std::ofstream& out, LGB_ENTRY* pObj ) uint32_t id; std::string name; std::string typeStr; + uint32_t eobjlevelHierachyId = 0; if( pObj->getType() == LgbEntryType::EventObject ) { @@ -243,6 +244,7 @@ void writeEobjEntry( std::ofstream& out, LGB_ENTRY* pObj ) id = pEobj->header.eobjId; name = eobjNameMap[id]; typeStr = eobjStr; + eobjlevelHierachyId = pEobj->header.levelHierachyId; } else if( pObj->getType() == LgbEntryType::MapRange ) { @@ -253,7 +255,8 @@ void writeEobjEntry( std::ofstream& out, LGB_ENTRY* pObj ) std::string outStr( std::to_string( id ) + ", " + typeStr + "\"" + name + "\", " + - std::to_string( pObj->header.translation.x ) + ", " + std::to_string( pObj->header.translation.y ) + ", " + std::to_string( pObj->header.translation.z ) + "\n" + std::to_string( pObj->header.translation.x ) + ", " + std::to_string( pObj->header.translation.y ) + ", " + std::to_string( pObj->header.translation.z ) + + ", " + std::to_string( eobjlevelHierachyId ) + "\n" ); out.write( outStr.c_str(), outStr.size() ); } From 6f84e9ef41e603c303f06b4b8b3d90a571bbf246 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 8 Feb 2018 23:28:52 +1100 Subject: [PATCH 2/3] restructure script folder hierachy to remove unnecessary build targets --- .../Script/Scripts/{aetheryte => common}/Aethernet.cpp | 0 .../Script/Scripts/{aetheryte => common}/Aetheryte.cpp | 0 .../Script/Scripts/{CmnDef => common}/CmnDefCutSceneReplay.cpp | 0 .../Script/Scripts/{CmnDef => common}/CmnDefInnBed.cpp | 0 .../Script/Scripts/{CmnDef => common}/CmnDefLinkShell.cpp | 0 .../Script/Scripts/{CmnDef => common}/HouFurOrchestrion.cpp | 0 .../Script/Scripts/{ => quest}/opening/OpeningGridania.cpp | 2 +- .../Script/Scripts/{ => quest}/opening/OpeningLimsa.cpp | 2 +- .../Script/Scripts/{ => quest}/opening/OpeningUldah.cpp | 2 +- src/servers/sapphire_zone/Zone/InstanceContent.cpp | 1 + src/servers/sapphire_zone/Zone/InstanceContent.h | 2 ++ 11 files changed, 6 insertions(+), 3 deletions(-) rename src/servers/sapphire_zone/Script/Scripts/{aetheryte => common}/Aethernet.cpp (100%) rename src/servers/sapphire_zone/Script/Scripts/{aetheryte => common}/Aetheryte.cpp (100%) rename src/servers/sapphire_zone/Script/Scripts/{CmnDef => common}/CmnDefCutSceneReplay.cpp (100%) rename src/servers/sapphire_zone/Script/Scripts/{CmnDef => common}/CmnDefInnBed.cpp (100%) rename src/servers/sapphire_zone/Script/Scripts/{CmnDef => common}/CmnDefLinkShell.cpp (100%) rename src/servers/sapphire_zone/Script/Scripts/{CmnDef => common}/HouFurOrchestrion.cpp (100%) rename src/servers/sapphire_zone/Script/Scripts/{ => quest}/opening/OpeningGridania.cpp (99%) rename src/servers/sapphire_zone/Script/Scripts/{ => quest}/opening/OpeningLimsa.cpp (99%) rename src/servers/sapphire_zone/Script/Scripts/{ => quest}/opening/OpeningUldah.cpp (99%) diff --git a/src/servers/sapphire_zone/Script/Scripts/aetheryte/Aethernet.cpp b/src/servers/sapphire_zone/Script/Scripts/common/Aethernet.cpp similarity index 100% rename from src/servers/sapphire_zone/Script/Scripts/aetheryte/Aethernet.cpp rename to src/servers/sapphire_zone/Script/Scripts/common/Aethernet.cpp diff --git a/src/servers/sapphire_zone/Script/Scripts/aetheryte/Aetheryte.cpp b/src/servers/sapphire_zone/Script/Scripts/common/Aetheryte.cpp similarity index 100% rename from src/servers/sapphire_zone/Script/Scripts/aetheryte/Aetheryte.cpp rename to src/servers/sapphire_zone/Script/Scripts/common/Aetheryte.cpp diff --git a/src/servers/sapphire_zone/Script/Scripts/CmnDef/CmnDefCutSceneReplay.cpp b/src/servers/sapphire_zone/Script/Scripts/common/CmnDefCutSceneReplay.cpp similarity index 100% rename from src/servers/sapphire_zone/Script/Scripts/CmnDef/CmnDefCutSceneReplay.cpp rename to src/servers/sapphire_zone/Script/Scripts/common/CmnDefCutSceneReplay.cpp diff --git a/src/servers/sapphire_zone/Script/Scripts/CmnDef/CmnDefInnBed.cpp b/src/servers/sapphire_zone/Script/Scripts/common/CmnDefInnBed.cpp similarity index 100% rename from src/servers/sapphire_zone/Script/Scripts/CmnDef/CmnDefInnBed.cpp rename to src/servers/sapphire_zone/Script/Scripts/common/CmnDefInnBed.cpp diff --git a/src/servers/sapphire_zone/Script/Scripts/CmnDef/CmnDefLinkShell.cpp b/src/servers/sapphire_zone/Script/Scripts/common/CmnDefLinkShell.cpp similarity index 100% rename from src/servers/sapphire_zone/Script/Scripts/CmnDef/CmnDefLinkShell.cpp rename to src/servers/sapphire_zone/Script/Scripts/common/CmnDefLinkShell.cpp diff --git a/src/servers/sapphire_zone/Script/Scripts/CmnDef/HouFurOrchestrion.cpp b/src/servers/sapphire_zone/Script/Scripts/common/HouFurOrchestrion.cpp similarity index 100% rename from src/servers/sapphire_zone/Script/Scripts/CmnDef/HouFurOrchestrion.cpp rename to src/servers/sapphire_zone/Script/Scripts/common/HouFurOrchestrion.cpp diff --git a/src/servers/sapphire_zone/Script/Scripts/opening/OpeningGridania.cpp b/src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningGridania.cpp similarity index 99% rename from src/servers/sapphire_zone/Script/Scripts/opening/OpeningGridania.cpp rename to src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningGridania.cpp index 9f6d6f0a..1541561c 100644 --- a/src/servers/sapphire_zone/Script/Scripts/opening/OpeningGridania.cpp +++ b/src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningGridania.cpp @@ -1,4 +1,4 @@ -#include "../ScriptObject.h" +#include class OpeningGridania : public EventScript { diff --git a/src/servers/sapphire_zone/Script/Scripts/opening/OpeningLimsa.cpp b/src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningLimsa.cpp similarity index 99% rename from src/servers/sapphire_zone/Script/Scripts/opening/OpeningLimsa.cpp rename to src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningLimsa.cpp index a40ea482..f30a2aed 100644 --- a/src/servers/sapphire_zone/Script/Scripts/opening/OpeningLimsa.cpp +++ b/src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningLimsa.cpp @@ -1,4 +1,4 @@ -#include "../ScriptObject.h" +#include // Opening Script: OpeningLimsaLominsa // Quest Name: OpeningLimsaLominsa diff --git a/src/servers/sapphire_zone/Script/Scripts/opening/OpeningUldah.cpp b/src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningUldah.cpp similarity index 99% rename from src/servers/sapphire_zone/Script/Scripts/opening/OpeningUldah.cpp rename to src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningUldah.cpp index fdd1c5d2..c780782e 100644 --- a/src/servers/sapphire_zone/Script/Scripts/opening/OpeningUldah.cpp +++ b/src/servers/sapphire_zone/Script/Scripts/quest/opening/OpeningUldah.cpp @@ -1,4 +1,4 @@ -#include "../ScriptObject.h" +#include class OpeningUldah : public EventScript { diff --git a/src/servers/sapphire_zone/Zone/InstanceContent.cpp b/src/servers/sapphire_zone/Zone/InstanceContent.cpp index 48f8fac9..6e9d689f 100644 --- a/src/servers/sapphire_zone/Zone/InstanceContent.cpp +++ b/src/servers/sapphire_zone/Zone/InstanceContent.cpp @@ -31,6 +31,7 @@ Core::InstanceContent::InstanceContent( boost::shared_ptr< Core::Data::InstanceC m_instanceContentId( instanceContentId ), m_state( Created ) { + m_instanceExpireTime = Util::getTimeSeconds() + ( m_instanceContentInfo->timeLimitmin * 60u ); } Core::InstanceContent::~InstanceContent() diff --git a/src/servers/sapphire_zone/Zone/InstanceContent.h b/src/servers/sapphire_zone/Zone/InstanceContent.h index 49bfedf7..23d873f7 100644 --- a/src/servers/sapphire_zone/Zone/InstanceContent.h +++ b/src/servers/sapphire_zone/Zone/InstanceContent.h @@ -46,6 +46,8 @@ private: uint32_t m_instanceContentId; InstanceContentState m_state; + int64_t m_instanceExpireTime; + }; } From bb5c97ed2f48219821e717912b40abf1d322a53f Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 9 Feb 2018 00:04:46 +1100 Subject: [PATCH 3/3] fix instance expire time --- src/servers/sapphire_zone/Zone/InstanceContent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/servers/sapphire_zone/Zone/InstanceContent.cpp b/src/servers/sapphire_zone/Zone/InstanceContent.cpp index 6e9d689f..d88e88f2 100644 --- a/src/servers/sapphire_zone/Zone/InstanceContent.cpp +++ b/src/servers/sapphire_zone/Zone/InstanceContent.cpp @@ -31,7 +31,6 @@ Core::InstanceContent::InstanceContent( boost::shared_ptr< Core::Data::InstanceC m_instanceContentId( instanceContentId ), m_state( Created ) { - m_instanceExpireTime = Util::getTimeSeconds() + ( m_instanceContentInfo->timeLimitmin * 60u ); } Core::InstanceContent::~InstanceContent() @@ -103,6 +102,7 @@ void Core::InstanceContent::onUpdate( uint32_t currTime ) } m_state = DutyInProgress; + m_instanceExpireTime = Util::getTimeSeconds() + ( m_instanceContentInfo->timeLimitmin * 60u ); break; }