hispidence
31605294ea
Make GameScriptItemInfo inherit from GameScriptNamedBase and remove functions which now reside there.
2021-07-21 18:16:35 +01:00
hispidence
24b7d549f6
Add concept of 'temporary' ItemInfo instances. These instances will kill the ITEM_INFO they reference when they are destroyed. This was previously the default behaviour. However, now that we're using things like GetItemByName, it makes more sense for ItemInfos to be non-owning by default.
...
Move LDoc from GameScriptItemInfo.h to GameScriptItemInfo.cpp. This might seem counter-intuitive, but LDoc is concerned with the Lua interfaces rather than the actual C++ functions; since the Lua interfaces are defined in GameScriptItemInfo::Register, it makes more sense for the comments to be nearby.
2021-07-20 17:18:39 +01:00
hispidence
58ba18b5bc
Add m_initialised to GameScriptItemInfo. This is possibly temporary, and controls whether SetRoom calls ItemNewRoom or just sets the room number. This is because ItemNewRoom relies on InitialiseItem having been called, but InitialiseItem requires the roomNumber of the object to be correct.
...
Add and document GetLara.
2021-07-20 00:10:00 +01:00
MontyTRC89
f7fee69634
Added LUA name insertion on items loading; Fixed item rooms change (use ItemNewRoom);
2021-07-19 05:52:21 +02:00
hispidence
513888ed3c
Add SetAnimNumber, GetAnimNumber, SetFrameNumber and GetFrameNumber. Fix SetGoalAnimState call.
2021-07-18 17:37:39 +01:00
hispidence
4ec17f525c
Rename «Current/Goal/Required»Anim to «Current/Goal/Required»AnimState.
2021-07-18 15:29:40 +01:00
hispidence
903f9d19b3
Implementations for GameScriptItemInfo member functions «Get/Set»ObjectID, «Get/Set»Name, and default implementations for the callbacks.
2021-07-17 23:48:35 +01:00
hispidence
988d595955
Add and register "name" getter and setter for the string ID of an item.
2021-07-05 18:19:10 +01:00
hispidence
03c7f833ba
Merge branch 'NewLuaScripting' of https://github.com/MontyTRC89/TombEngine into NewLuaScripting
2021-07-05 18:14:06 +01:00
MontyTRC89
a12d9d8793
Merge branch 'NewLuaScripting' of https://github.com/MontyTRC89/TR5Main into NewLuaScripting
...
# Conflicts:
# TR5Main/Game/control.cpp
# TR5Main/Scripting/GameScriptItemInfo.cpp
2021-07-05 16:38:22 +02:00
MontyTRC89
465e5f2347
Added trigger volumes experimental
2021-07-05 16:33:50 +02:00
hispidence
e6de9dc21f
Add an index metafunction that throws an error. This will prevent the end user from accidentally reading a value which does not exist (as happened to me because of a typo).
2021-07-04 14:37:50 +01:00
hispidence
5b840df07a
Make SetHP only throw an error if the item represents something intelligent - as it stands, with one of the constructors requiring a HP value, it makes the most sense to just allow HP to be set for a non-intelligent item, as it seems said value is ignored by the engine, anyway.
2021-07-04 14:36:01 +01:00
hispidence
d328a7f36c
GetCurrentAnim -> SetCurrentAnim
2021-07-03 23:14:58 +01:00
hispidence
0e599d1f41
Change most Getters and Setters into assignments. Change GameScriptItemInfo to use new PHD_3DPOS -> GameScript[Position/Rotation] constructor. Add value conversions/corrections to Get/SetRot.
2021-07-03 23:14:09 +01:00
hispidence
68f4603c9c
Merge GameScriptInfo into GameScriptItemInfo. Add move constructor. Make functions use item ptr directly.
2021-07-01 19:27:57 +01:00
hispidence
d225041048
Add CreateEmpty, so that new can be called on the Lua side with no args.
...
Change pos and rot from arrays to GameScript[Position/Rotation].
Add getters and setters for the members used so far.
Add Init, which for now is needed to get an item working properly.
2021-06-30 14:08:12 +01:00
hispidence
5a1c6f78ac
Add GameScriptItemInfo class.
...
This is the first pass at wrapping an ITEM_INFO in a struct and handing it over to Lua. Many improvements should follow - this is more of a test implementation.
2021-06-28 18:23:26 +01:00