Remove references to InvID in accordance with #701. Update doc source and changes.

This commit is contained in:
hispidence 2022-09-13 21:21:37 +01:00
parent 27b1ad43f9
commit 691be5dfd7
11 changed files with 18 additions and 505 deletions

View file

@ -27,6 +27,8 @@ Version 1.0.2
Lua API changes: Lua API changes:
* Util.ShortenTENCalls no longer needs to be called; it is now automatic.
* Flow.InvID has been removed; any function taking a pickup (e.g. GiveItem) now takes an Objects.ObjID instead.
* Timer.lua, EventSequence.lua and Util.lua have been moved to a subfolder, Engine. * Timer.lua, EventSequence.lua and Util.lua have been moved to a subfolder, Engine.
* LevelFuncs can now contain tables as well as functions. These tables can contain functions and other tables, and so forth. * LevelFuncs can now contain tables as well as functions. These tables can contain functions and other tables, and so forth.
* Moveable functions SetOnHit, SetOnKilled, SetOnCollidedWithObject and SetOnCollidedWithRoom no longer take strings, and instead take function objects themselves. * Moveable functions SetOnHit, SetOnKilled, SetOnCollidedWithObject and SetOnCollidedWithRoom no longer take strings, and instead take function objects themselves.

View file

@ -21,12 +21,8 @@ full_description = [[Welcome to the TombEngine scripting API. This is a work in
At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on the wiki <a href="https://github.com/Stranger1992/Tomb-Engine-Demo-Levels/wiki">here</a>. At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on the wiki <a href="https://github.com/Stranger1992/Tomb-Engine-Demo-Levels/wiki">here</a>.
####Module Hierarchy (boring but important) ####Module Hierarchy (boring but important)
Other than the "special tables" (GameVars, LevelVars and LevelFuncs), every module described herein is held in a master table called TEN. Other than the "special tables" (GameVars, LevelVars and LevelFuncs), every module described herein is held in a master table called TEN.
For example, to call GetMoveableByName, you would have to do: For convenience, these modules and classes are automatically put in the global table. For example, you can call GetMoveableByName either of these two ways:
local door = TEN.Objects.GetMoveableByName("door_type4_14") local door = TEN.Objects.GetMoveableByName("door_type4_14")
To save on typing, you can put the following at the start of a Lua file:
local Util = require("Engine.Util")
Util.ShortenTENCalls()
This will put the modules and classes in the global table. In other words, it means you can do the following:
local door = GetMoveableByName("door_type4_14") local door = GetMoveableByName("door_type4_14")
####Always check logs/TENLog.txt ####Always check logs/TENLog.txt

View file

@ -1,467 +0,0 @@
#pragma once
// Last generated on 23/8/2021.
#include <unordered_map>
#include <string>
#include "ItemEnumPair.h"
/***
Constants for items that can be used with GetItem and SetItem.
@enum Flow.InvID
@pragma nostrip
*/
/*** InvID constants.
The following constants are inside InvID.
PISTOLS_ITEM
PISTOLS_AMMO_ITEM
UZI_ITEM
UZI_AMMO_ITEM
SHOTGUN_ITEM
SHOTGUN_AMMO1_ITEM
SHOTGUN_AMMO2_ITEM
REVOLVER_ITEM
REVOLVER_AMMO_ITEM
CROSSBOW_ITEM
CROSSBOW_AMMO1_ITEM
CROSSBOW_AMMO2_ITEM
CROSSBOW_AMMO3_ITEM
HK_ITEM
HK_AMMO_ITEM
GRENADE_GUN_ITEM
GRENADE_AMMO1_ITEM
GRENADE_AMMO2_ITEM
GRENADE_AMMO3_ITEM
HARPOON_ITEM
HARPOON_AMMO_ITEM
ROCKET_LAUNCHER_ITEM
ROCKET_LAUNCHER_AMMO_ITEM
LASERSIGHT_ITEM
SILENCER_ITEM
BIGMEDI_ITEM
SMALLMEDI_ITEM
BINOCULARS_ITEM
FLARE_INV_ITEM
TIMEX_ITEM
PC_LOAD_INV_ITEM
PC_LOAD_SAVE_ITEM
BURNING_TORCH_ITEM
CROWBAR_ITEM
DIARY_ITEM
COMPASS_ITEM
CLOCKWORK_BEETLE
CLOCKWORK_BEETLE_COMBO1
CLOCKWORK_BEETLE_COMBO2
WATERSKIN1_EMPTY
WATERSKIN1_1
WATERSKIN1_2
WATERSKIN1_3
WATERSKIN2_EMPTY
WATERSKIN2_1
WATERSKIN2_2
WATERSKIN2_3
WATERSKIN2_4
WATERSKIN2_5
OPEN_DIARY_ITEM
GOLDROSE_ITEM
PUZZLE_ITEM1
PUZZLE_ITEM2
PUZZLE_ITEM3
PUZZLE_ITEM4
PUZZLE_ITEM5
PUZZLE_ITEM6
PUZZLE_ITEM7
PUZZLE_ITEM8
PUZZLE_ITEM9
PUZZLE_ITEM10
PUZZLE_ITEM11
PUZZLE_ITEM12
PUZZLE_ITEM13
PUZZLE_ITEM14
PUZZLE_ITEM15
PUZZLE_ITEM16
PUZZLE_ITEM1_COMBO1
PUZZLE_ITEM1_COMBO2
PUZZLE_ITEM2_COMBO1
PUZZLE_ITEM2_COMBO2
PUZZLE_ITEM3_COMBO1
PUZZLE_ITEM3_COMBO2
PUZZLE_ITEM4_COMBO1
PUZZLE_ITEM4_COMBO2
PUZZLE_ITEM5_COMBO1
PUZZLE_ITEM5_COMBO2
PUZZLE_ITEM6_COMBO1
PUZZLE_ITEM6_COMBO2
PUZZLE_ITEM7_COMBO1
PUZZLE_ITEM7_COMBO2
PUZZLE_ITEM8_COMBO1
PUZZLE_ITEM8_COMBO2
PUZZLE_ITEM9_COMBO1
PUZZLE_ITEM9_COMBO2
PUZZLE_ITEM10_COMBO1
PUZZLE_ITEM10_COMBO2
PUZZLE_ITEM11_COMBO1
PUZZLE_ITEM11_COMBO2
PUZZLE_ITEM12_COMBO1
PUZZLE_ITEM12_COMBO2
PUZZLE_ITEM13_COMBO1
PUZZLE_ITEM13_COMBO2
PUZZLE_ITEM14_COMBO1
PUZZLE_ITEM14_COMBO2
PUZZLE_ITEM15_COMBO1
PUZZLE_ITEM15_COMBO2
PUZZLE_ITEM16_COMBO1
PUZZLE_ITEM16_COMBO2
KEY_ITEM1
KEY_ITEM2
KEY_ITEM3
KEY_ITEM4
KEY_ITEM5
KEY_ITEM6
KEY_ITEM7
KEY_ITEM8
KEY_ITEM9
KEY_ITEM10
KEY_ITEM11
KEY_ITEM12
KEY_ITEM13
KEY_ITEM14
KEY_ITEM15
KEY_ITEM16
KEY_ITEM1_COMBO1
KEY_ITEM1_COMBO2
KEY_ITEM2_COMBO1
KEY_ITEM2_COMBO2
KEY_ITEM3_COMBO1
KEY_ITEM3_COMBO2
KEY_ITEM4_COMBO1
KEY_ITEM4_COMBO2
KEY_ITEM5_COMBO1
KEY_ITEM5_COMBO2
KEY_ITEM6_COMBO1
KEY_ITEM6_COMBO2
KEY_ITEM7_COMBO1
KEY_ITEM7_COMBO2
KEY_ITEM8_COMBO1
KEY_ITEM8_COMBO2
KEY_ITEM9_COMBO1
KEY_ITEM9_COMBO2
KEY_ITEM10_COMBO1
KEY_ITEM10_COMBO2
KEY_ITEM11_COMBO1
KEY_ITEM11_COMBO2
KEY_ITEM12_COMBO1
KEY_ITEM12_COMBO2
KEY_ITEM13_COMBO1
KEY_ITEM13_COMBO2
KEY_ITEM14_COMBO1
KEY_ITEM14_COMBO2
KEY_ITEM15_COMBO1
KEY_ITEM15_COMBO2
KEY_ITEM16_COMBO1
KEY_ITEM16_COMBO2
PICKUP_ITEM1
PICKUP_ITEM2
PICKUP_ITEM3
PICKUP_ITEM4
PICKUP_ITEM5
PICKUP_ITEM6
PICKUP_ITEM7
PICKUP_ITEM8
PICKUP_ITEM9
PICKUP_ITEM10
PICKUP_ITEM11
PICKUP_ITEM12
PICKUP_ITEM13
PICKUP_ITEM14
PICKUP_ITEM15
PICKUP_ITEM16
PICKUP_ITEM1_COMBO1
PICKUP_ITEM1_COMBO2
PICKUP_ITEM2_COMBO1
PICKUP_ITEM2_COMBO2
PICKUP_ITEM3_COMBO1
PICKUP_ITEM3_COMBO2
PICKUP_ITEM4_COMBO1
PICKUP_ITEM4_COMBO2
PICKUP_ITEM5_COMBO1
PICKUP_ITEM5_COMBO2
PICKUP_ITEM6_COMBO1
PICKUP_ITEM6_COMBO2
PICKUP_ITEM7_COMBO1
PICKUP_ITEM7_COMBO2
PICKUP_ITEM8_COMBO1
PICKUP_ITEM8_COMBO2
PICKUP_ITEM9_COMBO1
PICKUP_ITEM9_COMBO2
PICKUP_ITEM10_COMBO1
PICKUP_ITEM10_COMBO2
PICKUP_ITEM11_COMBO1
PICKUP_ITEM11_COMBO2
PICKUP_ITEM12_COMBO1
PICKUP_ITEM12_COMBO2
PICKUP_ITEM13_COMBO1
PICKUP_ITEM13_COMBO2
PICKUP_ITEM14_COMBO1
PICKUP_ITEM14_COMBO2
PICKUP_ITEM15_COMBO1
PICKUP_ITEM15_COMBO2
PICKUP_ITEM16_COMBO1
PICKUP_ITEM16_COMBO2
EXAMINE_ITEM1
EXAMINE_ITEM2
EXAMINE_ITEM3
EXAMINE_ITEM4
EXAMINE_ITEM5
EXAMINE_ITEM6
EXAMINE_ITEM7
EXAMINE_ITEM8
EXAMINE_ITEM1_COMBO1
EXAMINE_ITEM1_COMBO2
EXAMINE_ITEM2_COMBO1
EXAMINE_ITEM2_COMBO2
EXAMINE_ITEM3_COMBO1
EXAMINE_ITEM3_COMBO2
EXAMINE_ITEM4_COMBO1
EXAMINE_ITEM4_COMBO2
EXAMINE_ITEM5_COMBO1
EXAMINE_ITEM5_COMBO2
EXAMINE_ITEM6_COMBO1
EXAMINE_ITEM6_COMBO2
EXAMINE_ITEM7_COMBO1
EXAMINE_ITEM7_COMBO2
EXAMINE_ITEM8_COMBO1
EXAMINE_ITEM8_COMBO2
@section InvID
*/
/*** Table of constants to use with GetItem and SetItem.
@table CONSTANT_STRING_HERE
*/
static const std::unordered_map<std::string, ItemEnumPair> kInventorySlots {
{"PISTOLS_ITEM", {ID_PISTOLS_ITEM, INV_OBJECT_PISTOLS}},
{"PISTOLS_AMMO_ITEM", {ID_PISTOLS_AMMO_ITEM, INV_OBJECT_PISTOLS_AMMO}},
{"UZI_ITEM", {ID_UZI_ITEM, INV_OBJECT_UZIS}},
{"UZI_AMMO_ITEM", {ID_UZI_AMMO_ITEM, INV_OBJECT_UZI_AMMO}},
{"SHOTGUN_ITEM", {ID_SHOTGUN_ITEM, INV_OBJECT_SHOTGUN}},
{"SHOTGUN_AMMO1_ITEM", {ID_SHOTGUN_AMMO1_ITEM, INV_OBJECT_SHOTGUN_AMMO1}},
{"SHOTGUN_AMMO2_ITEM", {ID_SHOTGUN_AMMO2_ITEM, INV_OBJECT_SHOTGUN_AMMO2}},
{"REVOLVER_ITEM", {ID_REVOLVER_ITEM, INV_OBJECT_REVOLVER}},
{"REVOLVER_AMMO_ITEM", {ID_REVOLVER_AMMO_ITEM, INV_OBJECT_REVOLVER_AMMO}},
{"CROSSBOW_ITEM", {ID_CROSSBOW_ITEM, INV_OBJECT_CROSSBOW}},
{"CROSSBOW_AMMO1_ITEM", {ID_CROSSBOW_AMMO1_ITEM, INV_OBJECT_CROSSBOW_AMMO1}},
{"CROSSBOW_AMMO2_ITEM", {ID_CROSSBOW_AMMO2_ITEM, INV_OBJECT_CROSSBOW_AMMO2}},
{"CROSSBOW_AMMO3_ITEM", {ID_CROSSBOW_AMMO3_ITEM, INV_OBJECT_CROSSBOW_AMMO3}},
{"HK_ITEM", {ID_HK_ITEM, INV_OBJECT_HK}},
{"HK_AMMO_ITEM", {ID_HK_AMMO_ITEM, INV_OBJECT_HK_AMMO}},
{"GRENADE_GUN_ITEM", {ID_GRENADE_GUN_ITEM, INV_OBJECT_GRENADE_LAUNCHER}},
{"GRENADE_AMMO1_ITEM", {ID_GRENADE_AMMO1_ITEM, INV_OBJECT_GRENADE_AMMO1}},
{"GRENADE_AMMO2_ITEM", {ID_GRENADE_AMMO2_ITEM, INV_OBJECT_GRENADE_AMMO2}},
{"GRENADE_AMMO3_ITEM", {ID_GRENADE_AMMO3_ITEM, INV_OBJECT_GRENADE_AMMO3}},
{"HARPOON_ITEM", {ID_HARPOON_ITEM, INV_OBJECT_HARPOON_GUN}},
{"HARPOON_AMMO_ITEM", {ID_HARPOON_AMMO_ITEM, INV_OBJECT_HARPOON_AMMO}},
{"ROCKET_LAUNCHER_ITEM", {ID_ROCKET_LAUNCHER_ITEM, INV_OBJECT_ROCKET_LAUNCHER}},
{"ROCKET_LAUNCHER_AMMO_ITEM", {ID_ROCKET_LAUNCHER_AMMO_ITEM, INV_OBJECT_ROCKET_AMMO}},
{"LASERSIGHT_ITEM", {ID_LASERSIGHT_ITEM, INV_OBJECT_LASERSIGHT}},
{"SILENCER_ITEM", {ID_SILENCER_ITEM, INV_OBJECT_SILENCER}},
{"BIGMEDI_ITEM", {ID_BIGMEDI_ITEM, INV_OBJECT_LARGE_MEDIPACK}},
{"SMALLMEDI_ITEM", {ID_SMALLMEDI_ITEM, INV_OBJECT_SMALL_MEDIPACK}},
{"BINOCULARS_ITEM", {ID_BINOCULARS_ITEM, INV_OBJECT_BINOCULARS}},
{"FLARE_INV_ITEM", {ID_FLARE_INV_ITEM, INV_OBJECT_FLARES}},
{"TIMEX_ITEM", {ID_TIMEX_ITEM, INV_OBJECT_TIMEX}},
{"PC_LOAD_INV_ITEM", {ID_PC_LOAD_INV_ITEM, INV_OBJECT_LOAD_FLOPPY}},
{"PC_LOAD_SAVE_ITEM", {ID_PC_SAVE_INV_ITEM, INV_OBJECT_SAVE_FLOPPY}},
{"BURNING_TORCH_ITEM", {ID_BURNING_TORCH_ITEM, INV_OBJECT_BRUNING_TORCH}},
{"CROWBAR_ITEM", {ID_CROWBAR_ITEM, INV_OBJECT_CROWBAR}},
{"DIARY_ITEM", {ID_DIARY_ITEM, INV_OBJECT_DIARY}},
{"COMPASS_ITEM", {ID_COMPASS_ITEM, INV_OBJECT_COMPASS}},
{"CLOCKWORK_BEETLE", {ID_CLOCKWORK_BEETLE, INV_OBJECT_BEETLE}},
{"CLOCKWORK_BEETLE_COMBO1", {ID_CLOCKWORK_BEETLE_COMBO1, INV_OBJECT_BEETLE_PART1}},
{"CLOCKWORK_BEETLE_COMBO2", {ID_CLOCKWORK_BEETLE_COMBO2, INV_OBJECT_BEETLE_PART2}},
{"WATERSKIN1_EMPTY", {ID_WATERSKIN1_EMPTY, INV_OBJECT_SMOL_WATERSKIN}},
{"WATERSKIN1_1", {ID_WATERSKIN1_1, INV_OBJECT_SMOL_WATERSKIN1L}},
{"WATERSKIN1_2", {ID_WATERSKIN1_2, INV_OBJECT_SMOL_WATERSKIN2L}},
{"WATERSKIN1_3", {ID_WATERSKIN1_3, INV_OBJECT_SMOL_WATERSKIN3L}},
{"WATERSKIN2_EMPTY", {ID_WATERSKIN2_EMPTY, INV_OBJECT_BIG_WATERSKIN}},
{"WATERSKIN2_1", {ID_WATERSKIN2_1, INV_OBJECT_BIG_WATERSKIN1L}},
{"WATERSKIN2_2", {ID_WATERSKIN2_2, INV_OBJECT_BIG_WATERSKIN2L}},
{"WATERSKIN2_3", {ID_WATERSKIN2_3, INV_OBJECT_BIG_WATERSKIN3L}},
{"WATERSKIN2_4", {ID_WATERSKIN2_4, INV_OBJECT_BIG_WATERSKIN4L}},
{"WATERSKIN2_5", {ID_WATERSKIN2_5, INV_OBJECT_BIG_WATERSKIN5L}},
{"OPEN_DIARY_ITEM", {ID_DIARY_OPEN, INV_OBJECT_OPEN_DIARY}},
{"GOLDROSE_ITEM", {ID_GOLDROSE_ITEM, INVENTORY_TABLE_SIZE}},
{"PUZZLE_ITEM1", {ID_PUZZLE_ITEM1, INV_OBJECT_PUZZLE1}},
{"PUZZLE_ITEM2", {ID_PUZZLE_ITEM2, INV_OBJECT_PUZZLE2}},
{"PUZZLE_ITEM3", {ID_PUZZLE_ITEM3, INV_OBJECT_PUZZLE3}},
{"PUZZLE_ITEM4", {ID_PUZZLE_ITEM4, INV_OBJECT_PUZZLE4}},
{"PUZZLE_ITEM5", {ID_PUZZLE_ITEM5, INV_OBJECT_PUZZLE5}},
{"PUZZLE_ITEM6", {ID_PUZZLE_ITEM6, INV_OBJECT_PUZZLE6}},
{"PUZZLE_ITEM7", {ID_PUZZLE_ITEM7, INV_OBJECT_PUZZLE7}},
{"PUZZLE_ITEM8", {ID_PUZZLE_ITEM8, INV_OBJECT_PUZZLE8}},
{"PUZZLE_ITEM9", {ID_PUZZLE_ITEM9, INV_OBJECT_PUZZLE9}},
{"PUZZLE_ITEM10", {ID_PUZZLE_ITEM10, INV_OBJECT_PUZZLE10}},
{"PUZZLE_ITEM11", {ID_PUZZLE_ITEM11, INV_OBJECT_PUZZLE11}},
{"PUZZLE_ITEM12", {ID_PUZZLE_ITEM12, INV_OBJECT_PUZZLE12}},
{"PUZZLE_ITEM13", {ID_PUZZLE_ITEM13, INV_OBJECT_PUZZLE13}},
{"PUZZLE_ITEM14", {ID_PUZZLE_ITEM14, INV_OBJECT_PUZZLE14}},
{"PUZZLE_ITEM15", {ID_PUZZLE_ITEM15, INV_OBJECT_PUZZLE15}},
{"PUZZLE_ITEM16", {ID_PUZZLE_ITEM16, INV_OBJECT_PUZZLE16}},
{"PUZZLE_ITEM1_COMBO1", {ID_PUZZLE_ITEM1_COMBO1, INV_OBJECT_PUZZLE1_COMBO1}},
{"PUZZLE_ITEM1_COMBO2", {ID_PUZZLE_ITEM1_COMBO2, INV_OBJECT_PUZZLE1_COMBO2}},
{"PUZZLE_ITEM2_COMBO1", {ID_PUZZLE_ITEM2_COMBO1, INV_OBJECT_PUZZLE2_COMBO1}},
{"PUZZLE_ITEM2_COMBO2", {ID_PUZZLE_ITEM2_COMBO2, INV_OBJECT_PUZZLE2_COMBO2}},
{"PUZZLE_ITEM3_COMBO1", {ID_PUZZLE_ITEM3_COMBO1, INV_OBJECT_PUZZLE3_COMBO1}},
{"PUZZLE_ITEM3_COMBO2", {ID_PUZZLE_ITEM3_COMBO2, INV_OBJECT_PUZZLE3_COMBO2}},
{"PUZZLE_ITEM4_COMBO1", {ID_PUZZLE_ITEM4_COMBO1, INV_OBJECT_PUZZLE4_COMBO1}},
{"PUZZLE_ITEM4_COMBO2", {ID_PUZZLE_ITEM4_COMBO2, INV_OBJECT_PUZZLE4_COMBO2}},
{"PUZZLE_ITEM5_COMBO1", {ID_PUZZLE_ITEM5_COMBO1, INV_OBJECT_PUZZLE5_COMBO1}},
{"PUZZLE_ITEM5_COMBO2", {ID_PUZZLE_ITEM5_COMBO2, INV_OBJECT_PUZZLE5_COMBO2}},
{"PUZZLE_ITEM6_COMBO1", {ID_PUZZLE_ITEM6_COMBO1, INV_OBJECT_PUZZLE6_COMBO1}},
{"PUZZLE_ITEM6_COMBO2", {ID_PUZZLE_ITEM6_COMBO2, INV_OBJECT_PUZZLE6_COMBO2}},
{"PUZZLE_ITEM7_COMBO1", {ID_PUZZLE_ITEM7_COMBO1, INV_OBJECT_PUZZLE7_COMBO1}},
{"PUZZLE_ITEM7_COMBO2", {ID_PUZZLE_ITEM7_COMBO2, INV_OBJECT_PUZZLE7_COMBO2}},
{"PUZZLE_ITEM8_COMBO1", {ID_PUZZLE_ITEM8_COMBO1, INV_OBJECT_PUZZLE8_COMBO1}},
{"PUZZLE_ITEM8_COMBO2", {ID_PUZZLE_ITEM8_COMBO2, INV_OBJECT_PUZZLE8_COMBO2}},
{"PUZZLE_ITEM9_COMBO1", {ID_PUZZLE_ITEM9_COMBO1, INV_OBJECT_PUZZLE9_COMBO1}},
{"PUZZLE_ITEM9_COMBO2", {ID_PUZZLE_ITEM9_COMBO2, INV_OBJECT_PUZZLE9_COMBO2}},
{"PUZZLE_ITEM10_COMBO1", {ID_PUZZLE_ITEM10_COMBO1, INV_OBJECT_PUZZLE10_COMBO1}},
{"PUZZLE_ITEM10_COMBO2", {ID_PUZZLE_ITEM10_COMBO2, INV_OBJECT_PUZZLE10_COMBO2}},
{"PUZZLE_ITEM11_COMBO1", {ID_PUZZLE_ITEM11_COMBO1, INV_OBJECT_PUZZLE11_COMBO1}},
{"PUZZLE_ITEM11_COMBO2", {ID_PUZZLE_ITEM11_COMBO2, INV_OBJECT_PUZZLE11_COMBO2}},
{"PUZZLE_ITEM12_COMBO1", {ID_PUZZLE_ITEM12_COMBO1, INV_OBJECT_PUZZLE12_COMBO1}},
{"PUZZLE_ITEM12_COMBO2", {ID_PUZZLE_ITEM12_COMBO2, INV_OBJECT_PUZZLE12_COMBO2}},
{"PUZZLE_ITEM13_COMBO1", {ID_PUZZLE_ITEM13_COMBO1, INV_OBJECT_PUZZLE13_COMBO1}},
{"PUZZLE_ITEM13_COMBO2", {ID_PUZZLE_ITEM13_COMBO2, INV_OBJECT_PUZZLE13_COMBO2}},
{"PUZZLE_ITEM14_COMBO1", {ID_PUZZLE_ITEM14_COMBO1, INV_OBJECT_PUZZLE14_COMBO1}},
{"PUZZLE_ITEM14_COMBO2", {ID_PUZZLE_ITEM14_COMBO2, INV_OBJECT_PUZZLE14_COMBO2}},
{"PUZZLE_ITEM15_COMBO1", {ID_PUZZLE_ITEM15_COMBO1, INV_OBJECT_PUZZLE15_COMBO1}},
{"PUZZLE_ITEM15_COMBO2", {ID_PUZZLE_ITEM15_COMBO2, INV_OBJECT_PUZZLE15_COMBO2}},
{"PUZZLE_ITEM16_COMBO1", {ID_PUZZLE_ITEM16_COMBO1, INV_OBJECT_PUZZLE16_COMBO1}},
{"PUZZLE_ITEM16_COMBO2", {ID_PUZZLE_ITEM16_COMBO2, INV_OBJECT_PUZZLE16_COMBO2}},
{"KEY_ITEM1", {ID_KEY_ITEM1, INV_OBJECT_KEY1}},
{"KEY_ITEM2", {ID_KEY_ITEM2, INV_OBJECT_KEY2}},
{"KEY_ITEM3", {ID_KEY_ITEM3, INV_OBJECT_KEY3}},
{"KEY_ITEM4", {ID_KEY_ITEM4, INV_OBJECT_KEY4}},
{"KEY_ITEM5", {ID_KEY_ITEM5, INV_OBJECT_KEY5}},
{"KEY_ITEM6", {ID_KEY_ITEM6, INV_OBJECT_KEY6}},
{"KEY_ITEM7", {ID_KEY_ITEM7, INV_OBJECT_KEY7}},
{"KEY_ITEM8", {ID_KEY_ITEM8, INV_OBJECT_KEY8}},
{"KEY_ITEM9", {ID_KEY_ITEM9, INV_OBJECT_KEY9}},
{"KEY_ITEM10", {ID_KEY_ITEM10, INV_OBJECT_KEY10}},
{"KEY_ITEM11", {ID_KEY_ITEM11, INV_OBJECT_KEY11}},
{"KEY_ITEM12", {ID_KEY_ITEM12, INV_OBJECT_KEY12}},
{"KEY_ITEM13", {ID_KEY_ITEM13, INV_OBJECT_KEY13}},
{"KEY_ITEM14", {ID_KEY_ITEM14, INV_OBJECT_KEY14}},
{"KEY_ITEM15", {ID_KEY_ITEM15, INV_OBJECT_KEY15}},
{"KEY_ITEM16", {ID_KEY_ITEM16, INV_OBJECT_KEY16}},
{"KEY_ITEM1_COMBO1", {ID_KEY_ITEM1_COMBO1, INV_OBJECT_KEY1_COMBO1}},
{"KEY_ITEM1_COMBO2", {ID_KEY_ITEM1_COMBO2, INV_OBJECT_KEY1_COMBO2}},
{"KEY_ITEM2_COMBO1", {ID_KEY_ITEM2_COMBO1, INV_OBJECT_KEY2_COMBO1}},
{"KEY_ITEM2_COMBO2", {ID_KEY_ITEM2_COMBO2, INV_OBJECT_KEY2_COMBO2}},
{"KEY_ITEM3_COMBO1", {ID_KEY_ITEM3_COMBO1, INV_OBJECT_KEY3_COMBO1}},
{"KEY_ITEM3_COMBO2", {ID_KEY_ITEM3_COMBO2, INV_OBJECT_KEY3_COMBO2}},
{"KEY_ITEM4_COMBO1", {ID_KEY_ITEM4_COMBO1, INV_OBJECT_KEY4_COMBO1}},
{"KEY_ITEM4_COMBO2", {ID_KEY_ITEM4_COMBO2, INV_OBJECT_KEY4_COMBO2}},
{"KEY_ITEM5_COMBO1", {ID_KEY_ITEM5_COMBO1, INV_OBJECT_KEY5_COMBO1}},
{"KEY_ITEM5_COMBO2", {ID_KEY_ITEM5_COMBO2, INV_OBJECT_KEY5_COMBO2}},
{"KEY_ITEM6_COMBO1", {ID_KEY_ITEM6_COMBO1, INV_OBJECT_KEY6_COMBO1}},
{"KEY_ITEM6_COMBO2", {ID_KEY_ITEM6_COMBO2, INV_OBJECT_KEY6_COMBO2}},
{"KEY_ITEM7_COMBO1", {ID_KEY_ITEM7_COMBO1, INV_OBJECT_KEY7_COMBO1}},
{"KEY_ITEM7_COMBO2", {ID_KEY_ITEM7_COMBO2, INV_OBJECT_KEY7_COMBO2}},
{"KEY_ITEM8_COMBO1", {ID_KEY_ITEM8_COMBO1, INV_OBJECT_KEY8_COMBO1}},
{"KEY_ITEM8_COMBO2", {ID_KEY_ITEM8_COMBO2, INV_OBJECT_KEY8_COMBO2}},
{"KEY_ITEM9_COMBO1", {ID_KEY_ITEM9_COMBO1, INV_OBJECT_KEY9_COMBO1}},
{"KEY_ITEM9_COMBO2", {ID_KEY_ITEM9_COMBO2, INV_OBJECT_KEY9_COMBO2}},
{"KEY_ITEM10_COMBO1", {ID_KEY_ITEM10_COMBO1, INV_OBJECT_KEY10_COMBO1}},
{"KEY_ITEM10_COMBO2", {ID_KEY_ITEM10_COMBO2, INV_OBJECT_KEY10_COMBO2}},
{"KEY_ITEM11_COMBO1", {ID_KEY_ITEM11_COMBO1, INV_OBJECT_KEY11_COMBO1}},
{"KEY_ITEM11_COMBO2", {ID_KEY_ITEM11_COMBO2, INV_OBJECT_KEY11_COMBO2}},
{"KEY_ITEM12_COMBO1", {ID_KEY_ITEM12_COMBO1, INV_OBJECT_KEY12_COMBO1}},
{"KEY_ITEM12_COMBO2", {ID_KEY_ITEM12_COMBO2, INV_OBJECT_KEY12_COMBO2}},
{"KEY_ITEM13_COMBO1", {ID_KEY_ITEM13_COMBO1, INV_OBJECT_KEY13_COMBO1}},
{"KEY_ITEM13_COMBO2", {ID_KEY_ITEM13_COMBO2, INV_OBJECT_KEY13_COMBO2}},
{"KEY_ITEM14_COMBO1", {ID_KEY_ITEM14_COMBO1, INV_OBJECT_KEY14_COMBO1}},
{"KEY_ITEM14_COMBO2", {ID_KEY_ITEM14_COMBO2, INV_OBJECT_KEY14_COMBO2}},
{"KEY_ITEM15_COMBO1", {ID_KEY_ITEM15_COMBO1, INV_OBJECT_KEY15_COMBO1}},
{"KEY_ITEM15_COMBO2", {ID_KEY_ITEM15_COMBO2, INV_OBJECT_KEY15_COMBO2}},
{"KEY_ITEM16_COMBO1", {ID_KEY_ITEM16_COMBO1, INV_OBJECT_KEY16_COMBO1}},
{"KEY_ITEM16_COMBO2", {ID_KEY_ITEM16_COMBO2, INV_OBJECT_KEY16_COMBO2}},
{"PICKUP_ITEM1", {ID_PICKUP_ITEM1, INV_OBJECT_PICKUP1}},
{"PICKUP_ITEM2", {ID_PICKUP_ITEM2, INV_OBJECT_PICKUP2}},
{"PICKUP_ITEM3", {ID_PICKUP_ITEM3, INV_OBJECT_PICKUP3}},
{"PICKUP_ITEM4", {ID_PICKUP_ITEM4, INV_OBJECT_PICKUP4}},
{"PICKUP_ITEM5", {ID_PICKUP_ITEM5, INV_OBJECT_PICKUP5}},
{"PICKUP_ITEM6", {ID_PICKUP_ITEM6, INV_OBJECT_PICKUP6}},
{"PICKUP_ITEM7", {ID_PICKUP_ITEM7, INV_OBJECT_PICKUP7}},
{"PICKUP_ITEM8", {ID_PICKUP_ITEM8, INV_OBJECT_PICKUP8}},
{"PICKUP_ITEM9", {ID_PICKUP_ITEM9, INV_OBJECT_PICKUP9}},
{"PICKUP_ITEM10", {ID_PICKUP_ITEM10, INV_OBJECT_PICKUP10}},
{"PICKUP_ITEM11", {ID_PICKUP_ITEM11, INV_OBJECT_PICKUP11}},
{"PICKUP_ITEM12", {ID_PICKUP_ITEM12, INV_OBJECT_PICKUP12}},
{"PICKUP_ITEM13", {ID_PICKUP_ITEM13, INV_OBJECT_PICKUP13}},
{"PICKUP_ITEM14", {ID_PICKUP_ITEM14, INV_OBJECT_PICKUP14}},
{"PICKUP_ITEM15", {ID_PICKUP_ITEM15, INV_OBJECT_PICKUP15}},
{"PICKUP_ITEM16", {ID_PICKUP_ITEM16, INV_OBJECT_PICKUP16}},
{"PICKUP_ITEM1_COMBO1", {ID_PICKUP_ITEM1_COMBO1, INV_OBJECT_PICKUP1_COMBO1}},
{"PICKUP_ITEM1_COMBO2", {ID_PICKUP_ITEM1_COMBO2, INV_OBJECT_PICKUP1_COMBO2}},
{"PICKUP_ITEM2_COMBO1", {ID_PICKUP_ITEM2_COMBO1, INV_OBJECT_PICKUP2_COMBO1}},
{"PICKUP_ITEM2_COMBO2", {ID_PICKUP_ITEM2_COMBO2, INV_OBJECT_PICKUP2_COMBO2}},
{"PICKUP_ITEM3_COMBO1", {ID_PICKUP_ITEM3_COMBO1, INV_OBJECT_PICKUP3_COMBO1}},
{"PICKUP_ITEM3_COMBO2", {ID_PICKUP_ITEM3_COMBO2, INV_OBJECT_PICKUP3_COMBO2}},
{"PICKUP_ITEM4_COMBO1", {ID_PICKUP_ITEM4_COMBO1, INV_OBJECT_PICKUP4_COMBO1}},
{"PICKUP_ITEM4_COMBO2", {ID_PICKUP_ITEM4_COMBO2, INV_OBJECT_PICKUP4_COMBO2}},
{"PICKUP_ITEM5_COMBO1", {ID_PICKUP_ITEM5_COMBO1, INV_OBJECT_PICKUP5_COMBO1}},
{"PICKUP_ITEM5_COMBO2", {ID_PICKUP_ITEM5_COMBO2, INV_OBJECT_PICKUP5_COMBO2}},
{"PICKUP_ITEM6_COMBO1", {ID_PICKUP_ITEM6_COMBO1, INV_OBJECT_PICKUP6_COMBO1}},
{"PICKUP_ITEM6_COMBO2", {ID_PICKUP_ITEM6_COMBO2, INV_OBJECT_PICKUP6_COMBO2}},
{"PICKUP_ITEM7_COMBO1", {ID_PICKUP_ITEM7_COMBO1, INV_OBJECT_PICKUP7_COMBO1}},
{"PICKUP_ITEM7_COMBO2", {ID_PICKUP_ITEM7_COMBO2, INV_OBJECT_PICKUP7_COMBO2}},
{"PICKUP_ITEM8_COMBO1", {ID_PICKUP_ITEM8_COMBO1, INV_OBJECT_PICKUP8_COMBO1}},
{"PICKUP_ITEM8_COMBO2", {ID_PICKUP_ITEM8_COMBO2, INV_OBJECT_PICKUP8_COMBO2}},
{"PICKUP_ITEM9_COMBO1", {ID_PICKUP_ITEM9_COMBO1, INV_OBJECT_PICKUP9_COMBO1}},
{"PICKUP_ITEM9_COMBO2", {ID_PICKUP_ITEM9_COMBO2, INV_OBJECT_PICKUP9_COMBO2}},
{"PICKUP_ITEM10_COMBO1", {ID_PICKUP_ITEM10_COMBO1, INV_OBJECT_PICKUP10_COMBO1}},
{"PICKUP_ITEM10_COMBO2", {ID_PICKUP_ITEM10_COMBO2, INV_OBJECT_PICKUP10_COMBO2}},
{"PICKUP_ITEM11_COMBO1", {ID_PICKUP_ITEM11_COMBO1, INV_OBJECT_PICKUP11_COMBO1}},
{"PICKUP_ITEM11_COMBO2", {ID_PICKUP_ITEM11_COMBO2, INV_OBJECT_PICKUP11_COMBO2}},
{"PICKUP_ITEM12_COMBO1", {ID_PICKUP_ITEM12_COMBO1, INV_OBJECT_PICKUP12_COMBO1}},
{"PICKUP_ITEM12_COMBO2", {ID_PICKUP_ITEM12_COMBO2, INV_OBJECT_PICKUP12_COMBO2}},
{"PICKUP_ITEM13_COMBO1", {ID_PICKUP_ITEM13_COMBO1, INV_OBJECT_PICKUP13_COMBO1}},
{"PICKUP_ITEM13_COMBO2", {ID_PICKUP_ITEM13_COMBO2, INV_OBJECT_PICKUP13_COMBO2}},
{"PICKUP_ITEM14_COMBO1", {ID_PICKUP_ITEM14_COMBO1, INV_OBJECT_PICKUP14_COMBO1}},
{"PICKUP_ITEM14_COMBO2", {ID_PICKUP_ITEM14_COMBO2, INV_OBJECT_PICKUP14_COMBO2}},
{"PICKUP_ITEM15_COMBO1", {ID_PICKUP_ITEM15_COMBO1, INV_OBJECT_PICKUP15_COMBO1}},
{"PICKUP_ITEM15_COMBO2", {ID_PICKUP_ITEM15_COMBO2, INV_OBJECT_PICKUP15_COMBO2}},
{"PICKUP_ITEM16_COMBO1", {ID_PICKUP_ITEM16_COMBO1, INV_OBJECT_PICKUP16_COMBO1}},
{"PICKUP_ITEM16_COMBO2", {ID_PICKUP_ITEM16_COMBO2, INV_OBJECT_PICKUP16_COMBO2}},
{"EXAMINE_ITEM1", {ID_EXAMINE1, INV_OBJECT_EXAMINE1}},
{"EXAMINE_ITEM2", {ID_EXAMINE2, INV_OBJECT_EXAMINE2}},
{"EXAMINE_ITEM3", {ID_EXAMINE3, INV_OBJECT_EXAMINE3}},
{"EXAMINE_ITEM4", {ID_EXAMINE4, INV_OBJECT_EXAMINE4}},
{"EXAMINE_ITEM5", {ID_EXAMINE5, INV_OBJECT_EXAMINE5}},
{"EXAMINE_ITEM6", {ID_EXAMINE6, INV_OBJECT_EXAMINE6}},
{"EXAMINE_ITEM7", {ID_EXAMINE7, INV_OBJECT_EXAMINE7}},
{"EXAMINE_ITEM8", {ID_EXAMINE8, INV_OBJECT_EXAMINE8}},
{"EXAMINE_ITEM1_COMBO1", {ID_EXAMINE1_COMBO1, INV_OBJECT_EXAMINE1_COMBO1}},
{"EXAMINE_ITEM1_COMBO2", {ID_EXAMINE1_COMBO2, INV_OBJECT_EXAMINE1_COMBO2}},
{"EXAMINE_ITEM2_COMBO1", {ID_EXAMINE2_COMBO1, INV_OBJECT_EXAMINE2_COMBO1}},
{"EXAMINE_ITEM2_COMBO2", {ID_EXAMINE2_COMBO2, INV_OBJECT_EXAMINE2_COMBO2}},
{"EXAMINE_ITEM3_COMBO1", {ID_EXAMINE3_COMBO1, INV_OBJECT_EXAMINE3_COMBO1}},
{"EXAMINE_ITEM3_COMBO2", {ID_EXAMINE3_COMBO2, INV_OBJECT_EXAMINE3_COMBO2}},
{"EXAMINE_ITEM4_COMBO1", {ID_EXAMINE4_COMBO1, INV_OBJECT_EXAMINE4_COMBO1}},
{"EXAMINE_ITEM4_COMBO2", {ID_EXAMINE4_COMBO2, INV_OBJECT_EXAMINE4_COMBO2}},
{"EXAMINE_ITEM5_COMBO1", {ID_EXAMINE5_COMBO1, INV_OBJECT_EXAMINE5_COMBO1}},
{"EXAMINE_ITEM5_COMBO2", {ID_EXAMINE5_COMBO2, INV_OBJECT_EXAMINE5_COMBO2}},
{"EXAMINE_ITEM6_COMBO1", {ID_EXAMINE6_COMBO1, INV_OBJECT_EXAMINE6_COMBO1}},
{"EXAMINE_ITEM6_COMBO2", {ID_EXAMINE6_COMBO2, INV_OBJECT_EXAMINE6_COMBO2}},
{"EXAMINE_ITEM7_COMBO1", {ID_EXAMINE7_COMBO1, INV_OBJECT_EXAMINE7_COMBO1}},
{"EXAMINE_ITEM7_COMBO2", {ID_EXAMINE7_COMBO2, INV_OBJECT_EXAMINE7_COMBO2}},
{"EXAMINE_ITEM8_COMBO1", {ID_EXAMINE8_COMBO1, INV_OBJECT_EXAMINE8_COMBO1}},
{"EXAMINE_ITEM8_COMBO2", {ID_EXAMINE8_COMBO2, INV_OBJECT_EXAMINE8_COMBO2}}
};

View file

@ -1,10 +0,0 @@
#pragma once
#include "Game/gui.h"
#include "Objects/objectslist.h"
#include <utility>
struct ItemEnumPair
{
std::pair<GAME_OBJECT_ID, InventoryObjectTypes> m_pair;
ItemEnumPair(GAME_OBJECT_ID id, InventoryObjectTypes id2) : m_pair { id, id2 } {}
};

View file

@ -114,7 +114,6 @@ static constexpr char ScriptReserved_SetLanguageNames[] = "SetLanguageNames";
// Flow Tables // Flow Tables
static constexpr char ScriptReserved_WeatherType[] = "WeatherType"; static constexpr char ScriptReserved_WeatherType[] = "WeatherType";
static constexpr char ScriptReserved_LaraType[] = "LaraType"; static constexpr char ScriptReserved_LaraType[] = "LaraType";
static constexpr char ScriptReserved_InvItem[] = "InvID";
static constexpr char ScriptReserved_RotationAxis[] = "RotationAxis"; static constexpr char ScriptReserved_RotationAxis[] = "RotationAxis";
static constexpr char ScriptReserved_ItemAction[] = "ItemAction"; static constexpr char ScriptReserved_ItemAction[] = "ItemAction";
static constexpr char ScriptReserved_ErrorMode[] = "ErrorMode"; static constexpr char ScriptReserved_ErrorMode[] = "ErrorMode";

View file

@ -6,7 +6,6 @@
#include "Sound/sound.h" #include "Sound/sound.h"
#include "Game/savegame.h" #include "Game/savegame.h"
#include "Flow/InventoryItem/InventoryItem.h" #include "Flow/InventoryItem/InventoryItem.h"
#include "InventorySlots.h"
#include "Game/gui.h" #include "Game/gui.h"
#include "Logic/LevelFunc.h" #include "Logic/LevelFunc.h"
#include "Vec3/Vec3.h" #include "Vec3/Vec3.h"
@ -161,7 +160,6 @@ Specify which translations in the strings table correspond to which languages.
m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_WeatherType, kWeatherTypes); m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_WeatherType, kWeatherTypes);
m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_LaraType, kLaraTypes); m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_LaraType, kLaraTypes);
m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_InvItem, kInventorySlots);
m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_RotationAxis, kRotAxes); m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_RotationAxis, kRotAxes);
m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_ItemAction, kItemActions); m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_ItemAction, kItemActions);
m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_ErrorMode, kErrorModes); m_handler.MakeReadOnlyTable(table_flow, ScriptReserved_ErrorMode, kErrorModes);

View file

@ -75,7 +75,3 @@ void InventoryItem::SetAction(ItemOptions a_action)
} }
} }
void InventoryItem::SetSlot(ItemEnumPair a_slot)
{
slot = a_slot.m_pair.second;
}

View file

@ -1,9 +1,10 @@
#pragma once #pragma once
#include <string> #include <string>
#include "ItemEnumPair.h"
#include "Rotation/Rotation.h" #include "Rotation/Rotation.h"
#include "Game/gui.h" #include "Game/gui.h"
enum GAME_OBJECT_ID : short;
static const std::unordered_map<std::string, RotationFlags> kRotAxes{ static const std::unordered_map<std::string, RotationFlags> kRotAxes{
{"X", RotationFlags::INV_ROT_X}, {"X", RotationFlags::INV_ROT_X},
{"Y", RotationFlags::INV_ROT_Y}, {"Y", RotationFlags::INV_ROT_Y},
@ -36,5 +37,4 @@ struct InventoryItem
ItemOptions action{ ItemOptions::OPT_USE }; ItemOptions action{ ItemOptions::OPT_USE };
void SetAction(ItemOptions a_action); void SetAction(ItemOptions a_action);
void SetSlot(ItemEnumPair a_slot);
}; };

View file

@ -3,7 +3,6 @@
#include "InventoryHandler.h" #include "InventoryHandler.h"
#include "ReservedScriptNames.h" #include "ReservedScriptNames.h"
#include "pickup.h" #include "pickup.h"
#include "ItemEnumPair.h"
/*** /***
Inventory manipulation Inventory manipulation
@ -20,7 +19,7 @@ namespace InventoryHandler
//10 instead. //10 instead.
//Has no effect if the player has an infinite number of that item. //Has no effect if the player has an infinite number of that item.
//@function GiveItem //@function GiveItem
//@tparam InvID item the item to be added //@tparam ObjID item the item to be added
//@int[opt] count the number of items to add (default: the amount you would get from a pickup) //@int[opt] count the number of items to add (default: the amount you would get from a pickup)
static void InventoryAdd(GAME_OBJECT_ID slot, sol::optional<int> count) static void InventoryAdd(GAME_OBJECT_ID slot, sol::optional<int> count)
{ {
@ -39,34 +38,34 @@ namespace InventoryHandler
//As in @{GiveItem}, omitting the count will remove the "default" amount of that item. //As in @{GiveItem}, omitting the count will remove the "default" amount of that item.
//Has no effect if the player has an infinite number of the item. //Has no effect if the player has an infinite number of the item.
//@function TakeItem //@function TakeItem
//@tparam InvID item the item to be removed //@tparam ObjID item the item to be removed
//@int[opt] count the number of items to remove (default: the amount you would get from a pickup) //@int[opt] count the number of items to remove (default: the amount you would get from a pickup)
static void InventoryRemove(ItemEnumPair slot, sol::optional<int> count) static void InventoryRemove(GAME_OBJECT_ID slot, sol::optional<int> count)
{ {
//can't use value_or(std::nullopt) here because nullopt isn't an int //can't use value_or(std::nullopt) here because nullopt isn't an int
if (count.has_value()) if (count.has_value())
RemoveObjectFromInventory(slot.m_pair.first, count.value()); RemoveObjectFromInventory(slot, count.value());
else else
RemoveObjectFromInventory(slot.m_pair.first, std::nullopt); RemoveObjectFromInventory(slot, std::nullopt);
} }
///Set the amount of a certain item the player has in the inventory. ///Set the amount of a certain item the player has in the inventory.
//Similar to @{GiveItem} but replaces with the new amount instead of adding it. //Similar to @{GiveItem} but replaces with the new amount instead of adding it.
//@function SetItemCount //@function SetItemCount
//@tparam InvID item the ID of the item to be set. //@tparam ObjID item the ID of the item to be set.
//@tparam int count the number of items the player will have. A value of -1 will give an infinite amount of that item. //@tparam int count the number of items the player will have. A value of -1 will give an infinite amount of that item.
static int InventoryGetCount(ItemEnumPair slot) static int InventoryGetCount(GAME_OBJECT_ID slot)
{ {
return GetInventoryCount(slot.m_pair.first); return GetInventoryCount(slot);
} }
///Get the amount the player holds of an item. ///Get the amount the player holds of an item.
//@function GetItemCount //@function GetItemCount
//@tparam InvID item the ID item to check //@tparam ObjID item the ID item to check
//@treturn int the amount of the item the player has in the inventory. -1 indicates an infinite amount of that item. //@treturn int the amount of the item the player has in the inventory. -1 indicates an infinite amount of that item.
static void InventorySetCount(ItemEnumPair slot, int count) static void InventorySetCount(GAME_OBJECT_ID slot, int count)
{ {
SetInventoryCount(slot.m_pair.first, count); SetInventoryCount(slot, count);
} }
static void InventoryCombine(int slot1, int slot2) static void InventoryCombine(int slot1, int slot2)

View file

@ -1,6 +1,6 @@
#pragma once #pragma once
// Last generated on 12/9/2022 // Last generated on 13/9/2022
#include "game_object_ids.h" #include "game_object_ids.h"
#include <unordered_map> #include <unordered_map>

View file

@ -282,8 +282,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
try try
{ {
g_GameFlow = ScriptInterfaceState::CreateFlow(); g_GameFlow = ScriptInterfaceState::CreateFlow();
g_GameFlow->LoadFlowScript();
g_GameScriptEntities = ScriptInterfaceState::CreateObjectsHandler(); g_GameScriptEntities = ScriptInterfaceState::CreateObjectsHandler();
g_GameFlow->LoadFlowScript();
g_GameStringsHandler = ScriptInterfaceState::CreateStringsHandler(); g_GameStringsHandler = ScriptInterfaceState::CreateStringsHandler();
// This must be loaded last as it adds metafunctions to the global // This must be loaded last as it adds metafunctions to the global