refactor: look up the oldest zone files' scenes in a CDClient SceneTable table

Zone held a std::function that queried the SceneTable, so tests could swap it out. CDSceneTableTable now loads the table with the others, and Zone looks scenes up in it; tests fill its entries like the zone table's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-10-27 09:53:13 -05:00
parent 1c5c615670
commit 6b7396546a
7 changed files with 63 additions and 26 deletions

View File

@@ -0,0 +1,17 @@
#pragma once
// Custom Classes
#include "CDTable.h"
struct CDSceneTable {
uint32_t sceneID; //!< The scene's ID, as zone files before version 30 list their scenes
std::string sceneName; //!< The scene's file
};
namespace CDSceneTableTable {
using Table = std::map<uint32_t, CDSceneTable>;
void LoadValuesFromDatabase();
// Queries the table with a sceneID to find.
const CDSceneTable* Query(uint32_t sceneID);
};