- Every yellow potion (potion kind 5, all stages) is a Teleportationstrank: drinking it posts the teleporter's event to the busy dialog with the hero's known portals; the potion is used up only when the hero teleports from that window (closing it keeps the potion) - Names replaced in every game text (ReplaceInTexts), so item names and the bottom bar's quick-select tooltip read Teleportationstrank; GameText reads the game's own text - HeroIndex / HeroInventory moved to skillslots for shared use - docs/teleport-potion.md; walking animation after loading noted in todo Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
27 lines
863 B
C++
27 lines
863 B
C++
#pragma once
|
|
// Game texts by id (TextManager 0x6728c0, GetText 0x672f70): texts of our own
|
|
// under ids the game does not use, for controls that take a text id (e.g.
|
|
// tab headers), and changes to the game's own texts.
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
namespace game {
|
|
|
|
// A new text id for `text` (kept for the rest of the run; `text` must stay
|
|
// valid, e.g. a literal).
|
|
uint32_t RegisterText(const wchar_t* text);
|
|
|
|
// Shows the game's text `id` with each word capitalized ("RUCKSACK" ->
|
|
// "Rucksack"). Call at startup.
|
|
void CapitalizeText(uint32_t id);
|
|
|
|
// Shows `to` in place of `from` wherever a game text contains it (item names,
|
|
// tooltips, ...).
|
|
void ReplaceInTexts(const std::wstring& from, const std::wstring& to);
|
|
|
|
// The game's text `id` without our changes (empty if there is none).
|
|
std::wstring GameText(uint32_t id);
|
|
|
|
} // namespace game
|