- Latest bat code from TR4Main.
- Fixed Semi-Always Not Attacking Lara (Collision).
- Fixed Escape Mood (Bat can fly without attacking lara and can be killed easy like this !)
- Moved Some Function to here respective file (new cpp/h).
- Changed effect_routines to function<void(ITEM_INFO*)>.
- Fixed ActivateCamera() not using ITEM_INFO* Argument for effect_routines[].
- Fixed ActivateKey() not using ITEM_INFO* Argument for effect_routines[].
- Fixed ActivateKey() and ActivateCamera() being defined 2 time.
- Commented the new level loader, for later.
- started moving structure out of types.h.
- fixed ExtraAnim using 0 instead of -1.
- changed void(*)(); to function<> for lara routines.
- changed short(*)() effect to function<> for CreatureEffect/CreatureEffect2.
- renamed guardian to laserhead.
- moved some structure to their right place.
- renamed TYPE_ZONE to ZoneTypeEnum.
- fixed zoneType not using ZoneTypeEnum as variable.
- fixed LOT.zone not using ZoneEnumType.
- changed "variable : 1" to bool in some structure.
- implemented @krys new collision structure and improved it a bit (but commented for "later")
- level need #pragma pack(push, 1) #pragma pack(pop) to work (for structure), else it crash at LoadTexturesInfos().
Co-Authored-By: krys <krys@users.noreply.github.com>
- changed mgLOS from TR3 to TR5.
- changed a bit GetTiltType() that normally return short.
- changed a bit CollideStaticObjects() and LaraBaddieCollision() to use "vector<short>" instead of "array".
- fixed GetCollidedObjects() where "collidedItems[numItems] = NULL" is called before last return.
- created GetRoomList() to get the roomList with vector or array return.
- structured some function.
updated:
GetFloor()
CreatureAnimation()
GetAITarget()
FindAITargetObject()
CreatureAIInfo()
GetCreatureMood()
CreatureMood()
CalculateTarget()
- simplified CreatureTurn().
- commented the TR5 decompiled code in CreatureTurn().
- added some check about old entity.
- added waterCreature check in CreatureAnimation, if a entity that are not waterCreature enter the water, he will be killed. (need 2 click in water to be killed)
- added the old way to check AIobject.
- added ENV_FLAG_SWAMP flags.
- fixed XZ_ROOM_SECTOR not using room argument.
- added CHECK_CLICK() macro.
- added ZONE() macro from TR5, TR3 is not correct.
- fixed rcossin_tbl[] size.
- deleted all the __cdecl except for the #define function. because /Gd enable the __cdecl for function by default.
- added the commented code in FireWeapon for TR3 entity (some function is missing)