From eeec20de556ed2b1fe04705dfb963b7356aa9017 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 4 Nov 2026 18:12:24 +0000 Subject: [PATCH] Confirm fn_12778 (UIRoMapWnd::DrawKafraMarkers) Batch #10813 by kyoshi: 0 byte-identical, 1 confirmed by peer review. - fn_12778 UIRoMapWnd::DrawKafraMarkers: logic confirmed by peer review (already on main) Peer-reviewed-by: dori, cremane, StrawberrysherbetIX Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/FlyingShipRouteInfo.h | 2 +- Source/UI/Window/UIRoMapWnd.cpp | 2 ++ Source/UI/Window/UIRoMapWnd.h | 18 +++++++++--------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Source/Contents/FlyingShipRouteInfo.h b/Source/Contents/FlyingShipRouteInfo.h index a3db0f20..cb11c0c1 100644 --- a/Source/Contents/FlyingShipRouteInfo.h +++ b/Source/Contents/FlyingShipRouteInfo.h @@ -31,7 +31,7 @@ public: bool IsRouteMap(std::string mapName); void Draw(UIRoMapWnd* wnd); void BuildRoute(const std::vector& mapNames); - bool UpdateRoute(WorldViewRecord* record); + __declspec(noinline) bool UpdateRoute(WorldViewRecord* record); void Update(UIRoMapWnd* wnd, float elapsed); /* 0004 */ std::vector entries; diff --git a/Source/UI/Window/UIRoMapWnd.cpp b/Source/UI/Window/UIRoMapWnd.cpp index 5ceb33e0..3a4bee56 100644 --- a/Source/UI/Window/UIRoMapWnd.cpp +++ b/Source/UI/Window/UIRoMapWnd.cpp @@ -40,6 +40,8 @@ CWorldViewMgr g_worldViewMgr; void UIRoMapWnd::Slot25(int, int) { } +__declspec(noinline) void SetRoMapMarker(std::string name, const WorldViewArea& area, RoMapMarker& marker); + // OFFSET: 0x0091BE80 // FUNCTION: fn_12611 void SetRoMapMarker(std::string name, const WorldViewArea& area, RoMapMarker& marker) { diff --git a/Source/UI/Window/UIRoMapWnd.h b/Source/UI/Window/UIRoMapWnd.h index 8b91109e..0730e996 100644 --- a/Source/UI/Window/UIRoMapWnd.h +++ b/Source/UI/Window/UIRoMapWnd.h @@ -48,7 +48,7 @@ struct CKafraMoveMapServiceInfo { virtual ~CKafraMoveMapServiceInfo() = default; void Build(std::string mapName); - void Update(UIRoMapWnd* wnd, float elapsed); + __declspec(noinline) void Update(UIRoMapWnd* wnd, float elapsed); /* 0004 */ std::vector markers; /* 0010 */ RoMapMarker current; @@ -72,14 +72,14 @@ public: int SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) override; void ClearRecords(); void ResetKafraBounds(); - void UpdateNavigationButtons(); + __declspec(noinline) void UpdateNavigationButtons(); void DrawHoverTooltip(); void DrawMapNames(); void DrawFieldLabels(); void DrawRecordBorders(); - void DrawDungeonLinks(); - void DrawMarks(); - void DrawRecordFaces(int unused); + __declspec(noinline) void DrawDungeonLinks(); + __declspec(noinline) void DrawMarks(); + __declspec(noinline) void DrawRecordFaces(int unused); void DrawRecordAreas(); void DrawSelectedMapPreview(); void DrawKafraIcon(float x, float y); @@ -91,11 +91,11 @@ public: float startX, float startY, float endX, float endY, int stepWidth, int thickness, CTexture* body, int headSize, CTexture* head, float progress, std::uint32_t color, int offset ); - void DrawKafraMarkers(float elapsed); - void DrawMapMarker(const RoMapMarker& marker, unsigned char skipSelected); + __declspec(noinline) void DrawKafraMarkers(float elapsed); + __declspec(noinline) void DrawMapMarker(const RoMapMarker& marker, unsigned char skipSelected); void DrawWorld(); - void RefreshPartyRecords(); - bool LocateRecord(WorldViewRecord& record); + __declspec(noinline) void RefreshPartyRecords(); + __declspec(noinline) bool LocateRecord(WorldViewRecord& record); private: /* 00B4 */ std::list m_records;