1
0
mirror of https://github.com/XProger/OpenLara.git synced 2025-02-24 07:22:58 +01:00

keys and puzzle items naming

This commit is contained in:
XProger 2018-12-04 08:01:40 +03:00
parent 9582dfd502
commit df8478e254
2 changed files with 98 additions and 6 deletions

View File

@ -1458,11 +1458,62 @@ struct Inventory {
y = options[i].render(x, y, width, slot == i, &stg);
}
StringID getItemName(StringID def, TR::LevelID id, TR::Entity::Type type) {
#define LVLCHECK(L, T, S) if (id == TR::L && type == TR::Entity::INV_##T) return S;
LVLCHECK(LVL_TR1_2, KEY_ITEM_1, STR_KEY_SILVER);
LVLCHECK(LVL_TR1_2, PUZZLE_1, STR_PUZZLE_GOLD_IDOL);
LVLCHECK(LVL_TR1_3A, PUZZLE_1, STR_PUZZLE_COG);
LVLCHECK(LVL_TR1_4, KEY_ITEM_1, STR_KEY_NEPTUNE);
LVLCHECK(LVL_TR1_4, KEY_ITEM_2, STR_KEY_ATLAS);
LVLCHECK(LVL_TR1_4, KEY_ITEM_3, STR_KEY_DAMOCLES);
LVLCHECK(LVL_TR1_4, KEY_ITEM_4, STR_KEY_THOR);
LVLCHECK(LVL_TR1_5, KEY_ITEM_1, STR_KEY_RUSTY);
LVLCHECK(LVL_TR1_6, PUZZLE_1, STR_PUZZLE_GOLD_BAR);
LVLCHECK(LVL_TR1_7A, KEY_ITEM_1, STR_KEY_GOLD);
LVLCHECK(LVL_TR1_7A, KEY_ITEM_2, STR_KEY_SILVER);
LVLCHECK(LVL_TR1_7A, KEY_ITEM_3, STR_KEY_RUSTY);
LVLCHECK(LVL_TR1_7B, KEY_ITEM_1, STR_KEY_GOLD);
LVLCHECK(LVL_TR1_7B, KEY_ITEM_2, STR_KEY_RUSTY);
LVLCHECK(LVL_TR1_7B, KEY_ITEM_3, STR_KEY_RUSTY);
LVLCHECK(LVL_TR1_8A, KEY_ITEM_1, STR_KEY_SAPPHIRE);
LVLCHECK(LVL_TR1_8B, KEY_ITEM_1, STR_KEY_SAPPHIRE);
LVLCHECK(LVL_TR1_8B, PUZZLE_2, STR_PUZZLE_SCARAB);
LVLCHECK(LVL_TR1_8B, PUZZLE_3, STR_PUZZLE_HORUS);
LVLCHECK(LVL_TR1_8B, PUZZLE_4, STR_PUZZLE_ANKH);
LVLCHECK(LVL_TR1_8B, PUZZLE_1, STR_PUZZLE_HORUS);
LVLCHECK(LVL_TR1_8C, KEY_ITEM_1, STR_KEY_GOLD);
LVLCHECK(LVL_TR1_8C, PUZZLE_1, STR_PUZZLE_ANKH);
LVLCHECK(LVL_TR1_8C, PUZZLE_2, STR_PUZZLE_SCARAB);
LVLCHECK(LVL_TR1_10A, PUZZLE_1, STR_PUZZLE_FUSE);
LVLCHECK(LVL_TR1_10A, PUZZLE_2, STR_PUZZLE_PYRAMID);
LVLCHECK(LVL_TR1_EGYPT, KEY_ITEM_1, STR_KEY_GOLD);
LVLCHECK(LVL_TR1_CAT, KEY_ITEM_1, STR_KEY_ORNATE);
#undef LVLCHECK
return def;
}
void renderItemText(float eye, Item *item) {
if (item->type == TR::Entity::INV_PASSPORT && phaseChoose == 1.0f) {
//
} else
UI::textOut(vec2(-eye, 480 - 32), item->desc.str, UI::aCenter, UI::width);
} else {
StringID str = getItemName(item->desc.str, game->getLevel()->id, item->type);
UI::textOut(vec2(-eye, 480 - 32), str, UI::aCenter, UI::width);
}
renderItemCount(item, vec2(UI::width / 2 - 160 - eye, 480 - 96), 320);

View File

@ -103,10 +103,31 @@ enum StringID {
, STR_AMMO_UZIS
, STR_MEDI_SMALL
, STR_MEDI_BIG
, STR_PUZZLE
, STR_KEY
, STR_LEAD_BAR
, STR_SCION
// keys
, STR_KEY
, STR_KEY_SILVER
, STR_KEY_RUSTY
, STR_KEY_GOLD
, STR_KEY_SAPPHIRE
, STR_KEY_NEPTUNE
, STR_KEY_ATLAS
, STR_KEY_DAMOCLES
, STR_KEY_THOR
, STR_KEY_ORNATE
// puzzles
, STR_PUZZLE
, STR_PUZZLE_GOLD_IDOL
, STR_PUZZLE_GOLD_BAR
, STR_PUZZLE_COG
, STR_PUZZLE_FUSE
, STR_PUZZLE_ANKH
, STR_PUZZLE_HORUS
, STR_PUZZLE_ANUBIS
, STR_PUZZLE_SCARAB
, STR_PUZZLE_PYRAMID
, STR_MAX
};
@ -232,10 +253,30 @@ const char *STR[STR_MAX] = {
, "Uzi Clips"
, "Small Medi Pack"
, "Large Medi Pack"
, "Puzzle"
, "Key"
, "Lead Bar"
, "Scion"
// keys
, "Key"
, "Silver Key"
, "Rusty Key"
, "Gold Key"
, "Sapphire Key"
, "Neptune Key"
, "Atlas Key"
, "Damocles Key"
, "Thor Key"
, "Ornate Key"
// puzzles
, "Puzzle"
, "Gold Idol"
, "Gold Bar"
, "Machine Cog"
, "Fuse"
, "Ankh"
, "Eye of Horus"
, "Seal of Anubis"
, "Scarab"
, "Pyramid Key"
};
namespace UI {