@@ -70,6 +70,9 @@ bool LMapDOMNode::LoadMap(std::filesystem::path file_path)
7070
7171 mMapArchive = Archive::Rarc::Create ();
7272
73+ char mapname[5 ];
74+ std::sscanf (file_path.string ().c_str (), " %3s%d" , &mapname[0 ], &mMapNum );
75+
7376 // Make sure file path is valid
7477 if (!std::filesystem::exists (file_path))
7578 {
@@ -113,10 +116,10 @@ bool LMapDOMNode::LoadMap(std::filesystem::path file_path)
113116 std::string eventName = archive.path ().stem ().string ();
114117 std::string csvName = eventName;
115118
116- char * eventNm[5 ];
119+ char eventNm[5 ];
117120 int eventNo = 0 ;
118121
119- std::sscanf (eventName.c_str (), " %5s%3d" , &eventNm, &eventNo);
122+ std::sscanf (eventName.c_str (), " %5s%3d" , &eventNm[ 0 ] , &eventNo);
120123 csvName = std::format (" message{}" , eventNo);
121124 std::shared_ptr<LEventDataDOMNode> eventData = std::make_shared<LEventDataDOMNode>(eventName);
122125
@@ -155,6 +158,19 @@ bool LMapDOMNode::LoadMap(std::filesystem::path file_path)
155158 }
156159 }
157160
161+ // Load Collision
162+ LGenUtility::Log << " [MapDOMNode] Loading Map Collision" << std::endl;
163+ std::shared_ptr<LMapCollisionDOMNode> collision = std::make_shared<LMapCollisionDOMNode>(" Collision" );
164+
165+ std::shared_ptr<Archive::File> collisionFile = mMapArchive ->GetFile (" col.mp" );
166+
167+ if (collisionFile != nullptr )
168+ {
169+ bStream::CMemoryStream collisionMemStream (collisionFile->GetData (), collisionFile->GetSize (), bStream::Endianess::Big, bStream::OpenMode::In);
170+ collision->Load (&collisionMemStream);
171+ AddChild (collision);
172+ }
173+
158174 if (!ReadStaticData (roomsMap))
159175 {
160176 LGenUtility::Log << std::format (" [MapDOMNode]: Failed to open static data from {0}" , roomsMap.string ()) << std::endl;
@@ -208,18 +224,6 @@ bool LMapDOMNode::LoadMap(std::filesystem::path file_path)
208224 LoadStaticData (rooms);
209225
210226
211- // Load Collision
212- LGenUtility::Log << " [MapDOMNode] Loading Map Collision" << std::endl;
213- std::shared_ptr<LMapCollisionDOMNode> collision = std::make_shared<LMapCollisionDOMNode>(" Collision" );
214-
215- std::shared_ptr<Archive::File> collisionFile = mMapArchive ->GetFile (" col.mp" );
216-
217- if (collisionFile != nullptr )
218- {
219- bStream::CMemoryStream collisionMemStream (collisionFile->GetData (), collisionFile->GetSize (), bStream::Endianess::Big, bStream::OpenMode::In);
220- collision->Load (&collisionMemStream);
221- AddChild (collision);
222- }
223227
224228 LGenUtility::Log << " [MapDOMNode] Loading JMP Files" << std::endl;
225229
0 commit comments