{ "reference": "GameLib/MapManager.cpp", "reference_sha256": "6e20512dcbe73aeb9d49300667ce460bbd21bf4697a75a0d96fa1b57e7c8a4ff", "priority": "P4", "contracts": [], "functions": { "CMapManager::IsMapOutdoor": { "status": "TODO" }, "CMapManager::GetMapOutdoorRef": { "status": "TODO" }, "CMapManager::CMapManager": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::CMapManager" ], "note": "Constructor matches 40250; kept in pending file until CMapOutdoor is ported.", "test": "project/python_game_render_test.gd" }, "CMapManager::~CMapManager": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::~CMapManager" ], "note": "Calls transition adapter Destroy, which frees pack-backed map state.", "test": "project/python_game_render_test.gd" }, "CMapManager::IsSoftwareTilingEnable": { "status": "TODO" }, "CMapManager::ReserveSoftwareTilingEnable": { "status": "TODO" }, "CMapManager::Initialize": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::Initialize" ], "note": "40250 AtlasInfo loading order; pack text parsed in transition adapter.", "test": "project/python_game_render_test.gd" }, "CMapManager::Create": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::Create" ], "note": "No CMapOutdoor allocation yet; Metin2World renders terrain.", "test": "project/python_game_render_test.gd" }, "CMapManager::Destroy": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::Destroy" ], "note": "Frees transition map and environment data; CMapOutdoor cleanup remains TODO.", "test": "project/python_game_render_test.gd" }, "CMapManager::Clear": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::Clear" ], "note": "Clears pack-backed terrain state, not CMapOutdoor.", "test": "project/python_game_render_test.gd" }, "CMapManager::AllocMap": { "status": "TODO" }, "CMapManager::LoadProperty": { "status": "TODO" }, "CMapManager::LoadMap": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::LoadMap" ], "note": "Loads Setting.txt, initial height tile and .msenv from 40250 packs for reachable Warp chain; outdoor scene lifecycle remains TODO.", "test": "project/python_game_render_test.gd" }, "CMapManager::IsMapReady": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::IsMapReady" ], "note": "Reports pack-backed transition map readiness instead of CMapOutdoor::IsReady.", "test": "project/python_game_render_test.gd" }, "CMapManager::UnloadMap": { "status": "TODO" }, "CMapManager::UpdateMap": { "status": "TODO" }, "CMapManager::UpdateAroundAmbience": { "status": "TODO" }, "CMapManager::GetHeight": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::GetHeight" ], "note": "Uses the 40250 terrain triangle interpolation on packed height.raw; placed-object height remains TODO.", "test": "project/python_game_render_test.gd" }, "CMapManager::GetTerrainHeight": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::GetTerrainHeight" ], "note": "CMapOutdoor::GetTerrainHeight: 40250 terrain triangle interpolation on packed height.raw. GetHeight forwards here until map objects are registered (CMapOutdoor::GetHeight's object half).", "test": "extension/tests/port_login_flow_test.cpp" }, "CMapManager::GetWaterHeight": { "status": "TODO" }, "CMapManager::BeginEnvironment": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::BeginEnvironment" ], "note": "Applies .msenv material/background light through RecordingDevice; fog and full CMapOutdoor environment remain TODO.", "test": "project/python_game_render_test.gd" }, "CMapManager::EndEnvironment": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::EndEnvironment" ], "note": "Restores recorded lighting state; full environment state restoration remains TODO.", "test": "project/python_game_render_test.gd" }, "CMapManager::SetEnvironmentData": { "status": "TODO" }, "CMapManager::SetEnvironmentDataPtr": { "status": "TODO" }, "CMapManager::ResetEnvironmentDataPtr": { "status": "TODO" }, "CMapManager::BlendEnvironmentData": { "status": "TODO" }, "CMapManager::RegisterEnvironmentData": { "status": "TODO" }, "CMapManager::GetCurrentEnvironmentData": { "status": "TODO" }, "CMapManager::GetEnvironmentData": { "status": "TODO" }, "CMapManager::RefreshPortal": { "status": "TODO" }, "CMapManager::ClearPortal": { "status": "TODO" }, "CMapManager::AddShowingPortalID": { "status": "TODO" }, "CMapManager::AllocEnvironmentData": { "status": "TODO" }, "CMapManager::DeleteEnvironmentData": { "status": "TODO" }, "CMapManager::LoadEnvironmentData": { "status": "TODO" }, "CMapManager::GetShadowMapColor": { "status": "TODO" }, "CMapManager::GetRenderedSplatNum": { "status": "TODO" }, "CMapManager::GetRenderedGraphicThingInstanceNum": { "status": "TODO" }, "CMapManager::GetNormal": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::GetNormal" ], "test": "extension/tests/port_login_flow_test.cpp (port.login_flow: ground item vnum 19 add/ownership/PickCloseItem/GROUND_DEL; item.SelectItem(19))", "note": "CMapOutdoor::GetNormal tile clamp + CTerrain::CalculateNormal formula evaluated per call on the native height tile (no m_acNormalMap until CMapOutdoor/CTerrain are ported)." }, "CMapManager::isPhysicalCollision": { "status": "TODO" }, "CMapManager::isAttrOn": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::isAttrOn" ], "test": "extension/tests/port_login_flow_test.cpp", "note": "CMapOutdoor::isAttrOn + CTerrain::isAttrOn verbatim over native attr.atr tiles (Setting.txt map size instead of the CTerrain list)." }, "CMapManager::GetAttr": { "status": "TODO" }, "CMapManager::SetTerrainRenderSort": { "status": "TODO" }, "CMapManager::SetTransparentTree": { "status": "TODO" }, "CMapManager::GetTerrainRenderSort": { "status": "TODO" }, "CMapManager::GetBaseXY": { "status": "TODO" }, "CMapManager::__LoadMapInfoVector": { "status": "ADAPTED", "impl": [ "extension/src/platform/pending/GameLib/MapManager.cpp:CMapManager::__LoadMapInfoVector" ], "note": "Reads packed AtlasInfo bounds with 40250 terrain tile size; parser is transitional.", "test": "project/python_game_render_test.gd" } } }