Fix KeyID, Move Function, AimWeapon

This commit is contained in:
TokyoSU 2019-11-12 12:28:54 +01:00
parent 07e7edfb90
commit 162a821bb9
20 changed files with 406 additions and 235 deletions

View file

@ -1,6 +1,20 @@
#pragma once
#include "..\Global\global.h"
#define InitialiseDoor ((void (__cdecl*)(__int16)) 0x0043DB60)
#define DrawLiftDoor ((void (__cdecl*)(ITEM_INFO*)) 0x0045AAF0)
#define DoubleDoorControl ((void (__cdecl*)(__int16)) 0x00429840)
#define InitialiseTrapDoor ((void (__cdecl*)(__int16)) 0x0043D2F0)
#define TrapDoorFloorCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x004891F0)
#define TrapDoorCeilingCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00489450)
#define TrapDoorNormalCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x004896D0)
#define TrapDoorControl ((void (__cdecl*)(__int16)) 0x00488FA0)
#define InitialiseCupboard ((void (__cdecl*)(__int16)) 0x0043EDB0)
#define CupboardCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x004699A0)
#define CupboardControl ((void (__cdecl*)(__int16)) 0x00469660)
#define InitialiseSteelDoor ((void (__cdecl*)(__int16)) 0x0043F180)
#define SteelDoorControl ((void (__cdecl*)(__int16)) 0x00486BE0)
#define SteelDoorCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00487AD0)
void __cdecl SequenceDoorControl(__int16 itemNumber);
void __cdecl UnderwaterDoorCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
void __cdecl DoubleDoorCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);

View file

@ -11,7 +11,8 @@
#define GetRoomBounds ((void (__cdecl*)()) 0x0042D4F0)
#define UpdateStorm ((void (__cdecl*)()) 0x0042A310)
#define Sub_0042A050 ((void (__cdecl*)()) 0x0042A050)
#define IsRoomOutside ((__int32 (__cdecl*)(__int32, __int32, __int32)) 0x00418E90)
#define IsRoomOutside ((__int32 (__cdecl*)(__int32, __int32, __int32)) 0x00418E90)
#define DrawBaddieGunFlash ((void (__cdecl*)(ITEM_INFO*)) 0x00466880)
__int32 __cdecl DrawPhaseGame();
__int32 __cdecl GetFrame_D2(ITEM_INFO* item, __int16* framePtr[], __int32* rate);

View file

@ -17,7 +17,10 @@
#define TriggerShockwave ((void (__cdecl*)(PHD_3DPOS*, __int32, __int32, __int32, __int32, __int32)) 0x00484670)
#define TriggerExplosionBubbles ((void (__cdecl*)(__int32, __int32, __int32, __int16)) 0x00431070)
#define AddFire ((void (__cdecl*)(__int32, __int32, __int32, byte, __int16, __int32)) 0x00481B40)
#define InitialiseSmokeEmitter ((void (__cdecl*)(__int16)) 0x0043D9D0)
#define SmokeEmitterControl ((void (__cdecl*)(__int16)) 0x00431560)
#define DrawLensFlare ((void (__cdecl*)(ITEM_INFO*)) 0x00485290)
#define ControlWaterfallMist ((void (__cdecl*)(__int16)) 0x00432CA0)
void __cdecl TriggerDynamics(__int32 x, __int32 y, __int32 z, __int16 falloff, byte r, byte g, byte b);
void __cdecl TriggerGunSmoke(__int32 x, __int32 y, __int32 z, __int32 xv, __int32 yv, __int32 zv, __int32 initial, __int32 weapon, __int32 count);
void __cdecl TriggerRocketFlame(__int32 x, __int32 y, __int32 z, __int32 xv, __int32 yv, __int32 zv, __int32 itemNumber);

View file

@ -0,0 +1 @@
#include "guardian.h"

View file

@ -1 +1,5 @@
#pragma once
#include "..\Global\global.h"
#define InitialiseLaserHead ((void (__cdecl*)(__int16)) 0x00436FE0)
#define ControlLaserHead ((void (__cdecl*)(__int16)) 0x00437680)

View file

@ -13,29 +13,185 @@
WEAPON_INFO Weapons[NUM_WEAPONS] =
{
/* No weapons */
{ { ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) }, 0x0000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x0000 },
{
{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },
{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },
{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },
0,
0,
0,
0,
0,
0,
0,
0,
0
},
/* Pistols */
{ { 54616, ANGLE(60), 54616, ANGLE(60) },{ 34596, ANGLE(60), 50976, ANGLE(80) },{ 54616, ANGLE(170), 50976, ANGLE(80) }, 0x071C, 0x05B0, 0x028A, 0x2000, 100, 0x09, 0x03, 0x00, 0x0008 },
{
{ -ANGLE(60), +ANGLE(60), -ANGLE(60), +ANGLE(60) },
{ -ANGLE(170), +ANGLE(60), -ANGLE(80), +ANGLE(80) },
{ -ANGLE(60), +ANGLE(170), -ANGLE(80), +ANGLE(80) },
ANGLE(10),
ANGLE(8),
650,
8 * WALL_SIZE,
1,
9,
3,
0,
8
},
/* Revolver */
{ { 54616, ANGLE(60), 54616, ANGLE(60) },{ 63716, ANGLE(10), 50976, ANGLE(80) },{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) }, 0x071C, 0x02D8, 0x028A, 0x2000, 0x15, 0x10, 0x03, 0x00, 0x0079 },
{
{ -ANGLE(60), ANGLE(60), -ANGLE(60), ANGLE(60) },
{ -ANGLE(10), ANGLE(10), -ANGLE(80), ANGLE(80) },
{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },
ANGLE(10),
ANGLE(4),
650,
8 * WALL_SIZE,
21,
16,
3,
0,
121
},
/* Uzis */
{ { 54616, ANGLE(60), 54616, ANGLE(60) },{ 34596, ANGLE(60), 50976, ANGLE(80) },{ 54616, ANGLE(170), 50976, ANGLE(80) }, 0x071C, 0x05B0, 0x028A, 0x2000, 0x01, 0x03, 0x03, 0x00, 0x002B },
{
{ -ANGLE(60), +ANGLE(60), -ANGLE(60), +ANGLE(60) },
{ -ANGLE(170), +ANGLE(60), -ANGLE(80), +ANGLE(80) },
{ -ANGLE(60), +ANGLE(170), -ANGLE(80), +ANGLE(80) },
ANGLE(10),
ANGLE(8),
650,
8 * WALL_SIZE,
1,
3,
3,
0,
43
},
/* Shotgun */
{ { 54616, ANGLE(60), 55526, ANGLE(55) },{ 50976, ANGLE(80), 53706, ANGLE(65) },{ 50976, ANGLE(80), 53706, ANGLE(65) }, 0x071C, 0x0000, 0x01F4, 0x2000, 0x03, 0x09, 0x03, 0x0A, 0x002D },
{
{ -ANGLE(60), +ANGLE(60), -ANGLE(55), +ANGLE(55) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(65), +ANGLE(65) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(65), +ANGLE(65) },
ANGLE(10),
0,
500,
8 * WALL_SIZE,
3,
9,
3,
10,
45
},
/* HK */
{ { 54616, ANGLE(60), 55526, ANGLE(55) },{ 50976, ANGLE(80), 53706, ANGLE(65) },{ 50976, ANGLE(80), 53706, ANGLE(65) }, 0x071C, 0x02D8, 0x01F4, 0x3000, 0x04, 0x00, 0x03, 0x10, 0x0000 },
{
{ -ANGLE(60), +ANGLE(60), -ANGLE(55), +ANGLE(55) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(65), +ANGLE(65) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(65), +ANGLE(65) },
ANGLE(10),
ANGLE(4),
500,
12 * WALL_SIZE,
4,
0,
3,
10,
0
},
/* Crossbow */
{ { 54616, ANGLE(60), 55526, ANGLE(55) },{ 50976, ANGLE(80), 53706, ANGLE(65) },{ 50976, ANGLE(80), 53706, ANGLE(65) }, 0x071C, 0x05B0, 0x01F4, 0x2000, 0x05, 0x00, 0x02, 0x0A, 0x0000 },
{
{ -ANGLE(60), +ANGLE(60), -ANGLE(55), +ANGLE(55) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(65), +ANGLE(65) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(65), +ANGLE(65) },
ANGLE(10),
ANGLE(8),
500,
8 * WALL_SIZE,
5,
0,
2,
10,
0
},
/* Flare */
{ { ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) }, 0x0000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x0000 },
{
{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },
{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },
{ ANGLE(0), ANGLE(0), ANGLE(0), ANGLE(0) },
0,
0,
0,
0,
0,
0,
0,
0,
0
},
/* Flare 2 */
{ { 60076, ANGLE(30), 55526, ANGLE(55) },{ 60076, ANGLE(30), 55526, ANGLE(55) },{ 60076, ANGLE(30), 55526, ANGLE(55) }, 0x071C, 0x05B0, 0x0190, 0x2000, 0x03, 0x00, 0x02, 0x00, 0x002B },
{
{ -ANGLE(30), +ANGLE(30), -ANGLE(55), ANGLE(55) },
{ -ANGLE(30), +ANGLE(30), -ANGLE(55), ANGLE(55) },
{ -ANGLE(30), +ANGLE(30), -ANGLE(55), ANGLE(55) },
ANGLE(10),
ANGLE(8),
400,
8 * WALL_SIZE,
3,
0,
2,
0,
43
},
/* Grenade launcher */
{ { -ANGLE(60), ANGLE(60), -ANGLE(55), ANGLE(55) },{ -ANGLE(80), ANGLE(80), -ANGLE(65), ANGLE(65) },{ -ANGLE(80), ANGLE(80), -ANGLE(65), ANGLE(65) }, ANGLE(10), ANGLE(8), 500, 8 * WALL_SIZE, 20, 0, 2, 10, 0 },
{
{ -ANGLE(60), +ANGLE(60), -ANGLE(55), +ANGLE(55) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(65), +ANGLE(65) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(65), +ANGLE(65) },
ANGLE(10),
ANGLE(8),
500,
8 * WALL_SIZE,
20,
0,
2,
10,
0
},
/* Harpoon gun */
{ { -ANGLE(60), ANGLE(60), -ANGLE(65), ANGLE(65) },{ -ANGLE(20), ANGLE(20), -ANGLE(75), ANGLE(75) },{ -ANGLE(80), ANGLE(80), -ANGLE(75), ANGLE(75) }, ANGLE(10), ANGLE(8), 500, 8 * WALL_SIZE, 6, 0, 2, 10, 0 },
{
{ -ANGLE(60), +ANGLE(60), -ANGLE(65), +ANGLE(65) },
{ -ANGLE(20), +ANGLE(20), -ANGLE(75), +ANGLE(75) },
{ -ANGLE(80), +ANGLE(80), -ANGLE(75), +ANGLE(75) },
ANGLE(10),
ANGLE(8),
500,
8 * WALL_SIZE,
6,
0,
2,
10,
0
},
/* Rocket launcher */
{ { -ANGLE(60), ANGLE(60), -ANGLE(55), ANGLE(55) },{ -ANGLE(80), ANGLE(80), -ANGLE(65), ANGLE(65) },{ -ANGLE(80), ANGLE(80), -ANGLE(65), ANGLE(65) }, ANGLE(10), ANGLE(8), 500, 8 * WALL_SIZE, 30, 0, 2, 12, 77 }
{
{ -ANGLE(60), ANGLE(60), -ANGLE(55), ANGLE(55) },
{ -ANGLE(80), ANGLE(80), -ANGLE(65), ANGLE(65) },
{ -ANGLE(80), ANGLE(80), -ANGLE(65), ANGLE(65) },
ANGLE(10),
ANGLE(8),
500,
8 * WALL_SIZE,
30,
0,
2,
12,
77
}
};
extern GameFlow* g_GameFlow;
@ -68,6 +224,46 @@ __int32 __cdecl WeaponObject(__int32 weaponType)
}
}
void __cdecl AimWeapon(WEAPON_INFO* winfo, LARA_ARM* arm)
{
__int16 rotY, rotX, speed = 0, x = 0, y = 0;
speed = winfo->aimSpeed;
if (arm->lock)
{
y = Lara.targetAngles[0];
x = Lara.targetAngles[1];
}
else
{
y = 0;
x = 0;
}
/* move y axis */
rotY = arm->yRot;
if ((rotY >= y - speed) && (rotY <= y + speed))
rotY = y;
else if (rotY < speed)
rotY += speed;
else
rotY -= speed;
/* move x axis */
rotX = arm->xRot;
if ((rotX >= x - speed) && (rotX <= x + speed))
rotX = x;
else if (rotX < x)
rotX += speed;
else
rotX -= speed;
arm->xRot = rotX;
arm->yRot = rotY;
arm->zRot = 0;
}
void __cdecl SmashItem(__int16 itemNum)
{
/*ITEM_INFO* item = &Items[itemNum];
@ -428,6 +624,7 @@ __int32 __cdecl WeaponObjectMesh(__int32 weaponType)
void Inject_LaraFire()
{
INJECT(0x00453490, AimWeapon);
INJECT(0x00453AE0, WeaponObject);
INJECT(0x00452430, LaraGun);
INJECT(0x004546C0, GetAmmo);

View file

@ -10,7 +10,8 @@
//#define GetAmmo ((__int32 (__cdecl*)(__int32)) 0x004546C0)
#define LaraGetNewTarget ((void (__cdecl*)(WEAPON_INFO*)) 0x00452ED0)
#define LaraTargetInfo ((void (__cdecl*)(WEAPON_INFO*)) 0x00452CC0)
#define AimWeapon ((void (__cdecl*)(WEAPON_INFO*, LARA_ARM*)) 0x00453490)
void __cdecl AimWeapon(WEAPON_INFO* winfo, LARA_ARM* arm);
#define TorchControl ((void (__cdecl*)(__int16)) 0x00434390)
extern WEAPON_INFO Weapons[NUM_WEAPONS];

View file

@ -0,0 +1 @@
#include "laraflar.h"

View file

@ -1,4 +1,5 @@
#pragma once
#include "..\Global\global.h"
#define UndrawFlaresMeshes ((void (__cdecl*)()) 0x004553E0)
#define CreateFlare ((void (__cdecl*)(__int16, __int32)) 0x00454BC0)
@ -6,4 +7,6 @@
#define UndrawFlare ((void (__cdecl*)()) 0x004550C0)
#define DoFlareInHand ((void (__cdecl*)(__int32)) 0x004549B0)
#define SetFlareArm ((void (__cdecl*)(__int32)) 0x00454EE0)
#define DrawFlaresMeshes ((void (__cdecl*)()) 0x004553B0)
#define DrawFlaresMeshes ((void (__cdecl*)()) 0x004553B0)
#define FlareControl ((void (__cdecl*)(__int16)) 0x00455460)
#define DrawFlareItem ((void (__cdecl*)(ITEM_INFO*)) 0x00454A90)

View file

@ -1,3 +1,4 @@
#pragma once
#define LaraBurn ((void (__cdecl*)()) 0x0048AD60)
#define InitialiseLaraLoad ((void (__cdecl*)(__int16)) 0x004568C0)

View file

@ -4,3 +4,5 @@
void ShootAtLara(FX_INFO *fx);
void ControlMissile(__int16 fxNumber);
#define TorpedoControl ((void (__cdecl*)(__int16)) 0x0045C9F0)
#define ControlEnemyMissile ((void (__cdecl*)(__int16)) 0x00431E70)

View file

@ -1,9 +1,10 @@
#pragma once
#include "..\Global\global.h"
#define InitialiseAnimating ((void (__cdecl*)(__int16)) 0x00440100)
#define AnimatingControl ((void (__cdecl*)(__int16)) 0x00465590)
//#define SmashObject ((__int32(__cdecl*)(__int16)) 0x00465200)
#define InitialiseSmashObject ((void (__cdecl*)(__int16)) 0x0043D7F0)
void __cdecl SmashObject(__int16 itemNumber);
void __cdecl SmashObjectControl(__int16 itemNumber);
void __cdecl BridgeFlatFloor(ITEM_INFO* item, __int32 x, __int32 y, __int32 z, __int32* height);
@ -18,10 +19,17 @@ void __cdecl PoleCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
void __cdecl ControlTriggerTriggerer(__int16 itemNumber);
void __cdecl AnimateWaterfalls();
void __cdecl ControlWaterfall(__int16 itemNumber);
#define InitialiseTightRope ((void (__cdecl*)(__int16)) 0x0043ED30)
void __cdecl TightRopeCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
void __cdecl ParallelBarsCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
#define InitialiseXRayMachine ((void (__cdecl*)(__int16)) 0x0043FA20)
void __cdecl ControlXRayMachine(__int16 itemNumber);
void __cdecl CutsceneRopeControl(__int16 itemNumber);
void __cdecl HybridCollision(__int16 itemNum, ITEM_INFO* laraitem, COLL_INFO* coll);
#define InitialiseRaisingBlock ((void (__cdecl*)(__int16)) 0x0043D730)
#define RaisingBlockControl ((void (__cdecl*)(__int16)) 0x0048C3D0)
#define InitialiseRaisingCog ((void (__cdecl*)(__int16)) 0x00440320)
#define RaisingCogControl ((void (__cdecl*)(__int16)) 0x00406040)
#define HighObject2Control ((void (__cdecl*)(__int16)) 0x004070D0)
void Inject_Objects();

View file

@ -1 +1,6 @@
#pragma once
#include "..\Global\global.h"
#define InitialiseLittleRats ((void (__cdecl*)(__int16)) 0x0046B220)
#define ControlLittleRats ((void (__cdecl*)(__int16)) 0x0046AB30)

View file

@ -2,4 +2,7 @@
#include "..\Global\global.h"
#define InitialiseRope ((void (__cdecl*)(__int16)) 0x0046F060)
#define RopeControl ((void (__cdecl*)(__int16)) 0x0046DD40)
#define RopeCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0046DAE0)
#define CalculateRopePoints ((void (__cdecl*)(ROPE_STRUCT*)) 0x0046EC70)

View file

@ -1,6 +1,12 @@
#pragma once
#include "..\Global\global.h"
#define InitialiseSwitch ((void (__cdecl*)(__int16)) 0x00440070)
#define SequenceControl ((void (__cdecl*)(__int16)) 0x0047F520)
#define SequenceCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0047F610)
#define LeverSwitchCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0047EE00)
#define InitialisePulleySwitch ((void (__cdecl*)(__int16)) 0x0043E1F0)
#define InitialiseCrowDoveSwitch ((void (__cdecl*)(__int16)) 0x0043ECF0)
void __cdecl CrowDoveSwitchCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
void __cdecl CrowDoveSwitchControl(__int16 itemNumber);
void __cdecl CogSwitchCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
@ -14,6 +20,8 @@ void __cdecl TurnSwitchCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll)
void __cdecl TurnSwitchControl(__int16 itemNum);
void __cdecl PulleyCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
void __cdecl UnderwaterSwitchCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
#define KeyHoleCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00468930)
#define PuzzleDoneCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00468C00)
void __cdecl SwitchCollision2(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
void __cdecl SwitchCollision(__int16 itemNum, ITEM_INFO* l, COLL_INFO* coll);
void __cdecl SwitchControl(__int16 itemNumber);

View file

@ -1 +1,58 @@
#pragma once
#include "..\Global\global.h"
#define ElectricityWiresControl ((void (__cdecl*)(__int16)) 0x00442610)
#define InitialiseRomeHammer ((void (__cdecl*)(__int16)) 0x0043ECB0)
#define InitialiseDeathSlide ((void (__cdecl*)(__int16)) 0x0041CC70)
#define DeathSlideCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0041CCE0)
#define DeathSlideControl ((void (__cdecl*)(__int16)) 0x0041CE00)
#define RollingBallCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0048B6D0)
#define RollingBallControl ((void (__cdecl*)(__int16)) 0x0048AE60)
#define InitialiseTwoBlocksPlatform ((void (__cdecl*)(__int16)) 0x0043D5D0)
#define TwoBlocksPlatformControl ((void (__cdecl*)(__int16)) 0x0048BBB0)
#define TwoBlocksPlatformFloor ((void (__cdecl*)(ITEM_INFO*,__int32,__int32,__int32,int*)) 0x0048B9E0)
#define TwoBlocksPlatformCeiling ((void (__cdecl*)(ITEM_INFO*,__int32,__int32,__int32,int*)) 0x0048BA50)
#define KillAllTriggersControl ((void (__cdecl*)(__int16)) 0x00431030)
#define FallingCeilingCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x004127C0)
#define FallingCeilingControl ((void (__cdecl*)(__int16)) 0x004899D0)
#define InitialiseFallingBlock ((void (__cdecl*)(__int16)) 0x0043D330)
#define FallingBlockCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00489750)
#define FallingBlockControl ((void (__cdecl*)(__int16)) 0x00489820)
#define FallingBlockFloor ((void (__cdecl*)(ITEM_INFO*,__int32,__int32,__int32,int*)) 0x00489910)
#define FallingBlockCeiling ((void (__cdecl*)(ITEM_INFO*,__int32,__int32,__int32,int*)) 0x00489980)
#define InitialisePushableBlock ((void (__cdecl*)(__int16)) 0x0045E720)
#define PushableBlockControl ((void (__cdecl*)(__int16)) 0x0045EA30)
#define PushableBlockCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0045F570)
#define DartEmitterControl ((void (__cdecl*)(__int16)) 0x00489B30)
#define DrawDart ((void (__cdecl*)(ITEM_INFO*)) 0x004CBB10)
#define DartControl ((void (__cdecl*)(__int16)) 0x00489D60)
#define InitialiseFlameEmitter ((void (__cdecl*)(__int16)) 0x0043D370)
#define FlameEmitterCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00433B40)
#define FlameEmitterControl ((void (__cdecl*)(__int16)) 0x00489F70)
#define InitialiseFlameEmitter2 ((void (__cdecl*)(__int16)) 0x0043D4E0)
#define FlameEmitter2Control ((void (__cdecl*)(__int16)) 0x0048A3B0)
#define FlameEmitter3Control ((void (__cdecl*)(__int16)) 0x0048A570)
#define FlameControl ((void (__cdecl*)(__int16)) 0x0048AB80)
#define InitialiseRopeTrap ((void (__cdecl*)()) 0x0046EE40)
#define GenSlot1Control ((void (__cdecl*)(__int16)) 0x00406580)
#define InitialiseGenSlot2 ((void (__cdecl*)(__int16)) 0x0043FD70)
#define GenSlot2Control ((void (__cdecl*)(__int16)) 0x00488710)
#define DrawGenSlot2 ((void (__cdecl*)(ITEM_INFO*)) 0x004CFF80)
#define InitialiseGenSlot3 ((void (__cdecl*)(__int16)) 0x004402E0)
#define InitialiseGenSlot4 ((void (__cdecl*)(__int16)) 0x00440440)
#define GenSlot4Control ((void (__cdecl*)(__int16)) 0x00486450)
#define InitialiseHighObject1 ((void (__cdecl*)(__int16)) 0x0043FC30)
#define HighObject1Control ((void (__cdecl*)(__int16)) 0x004067E0)
#define InitialisePortal ((void (__cdecl*)(__int16)) 0x0043FAA0)
#define PortalControl ((void (__cdecl*)(__int16)) 0x00401AEB)
#define DrawPortal ((void (__cdecl*)(ITEM_INFO*)) 0x004CFF80)
#define InitialiseWreckingBall ((void (__cdecl*)(__int16)) 0x0043EF20)
#define WreckingBallCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00441D50)
#define WreckingBallControl ((void (__cdecl*)(__int16)) 0x00441410)
#define DrawWreckingBall ((void (__cdecl*)(ITEM_INFO*)) 0x00441F50)
#define InitialiseVentilator ((void (__cdecl*)(__int16)) 0x0043F3D0)
#define VentilatorControl ((void (__cdecl*)(__int16)) 0x00405610)
#define InitialiseTeethSpike ((void (__cdecl*)(__int16)) 0x0043FBC0)
#define TeethSpikeControl ((void (__cdecl*)(__int16)) 0x0043FBC0)
#define DrawScaledSpike ((void (__cdecl*)(ITEM_INFO*)) 0x0043FBC0)

View file

@ -0,0 +1,46 @@
#pragma once
#include "..\Global\global.h"
#define InitialiseGuard ((void (__cdecl*)(__int16)) 0x0043F420)
#define ControlGuard ((void (__cdecl*)(__int16)) 0x0046F5E0)
#define InitialiseSubmarine ((void (__cdecl*)(__int16)) 0x0045D360)
#define ControlSubmarine ((void (__cdecl*)(__int16)) 0x0045D3F0)
#define InitialiseDoberman ((void (__cdecl*)(__int16)) 0x00428940)
#define ControlDoberman ((void (__cdecl*)(__int16)) 0x00428A10)
#define InitialiseDog ((void (__cdecl*)(__int16)) 0x0043B670)
#define ControlDog ((void (__cdecl*)(__int16)) 0x0043B730)
#define InitialiseReaper ((void (__cdecl*)(__int16)) 0x0045DA70)
#define ControlReaper ((void (__cdecl*)(__int16)) 0x0045DAF0)
#define InitialiseLarson ((void (__cdecl*)(__int16)) 0x00469F70)
#define ControlLarson ((void (__cdecl*)(__int16)) 0x0046A080)
#define InitialiseCyborg ((void (__cdecl*)(__int16)) 0x0043A2C0)
#define ControlCyborg ((void (__cdecl*)(__int16)) 0x0043A340)
#define InitialiseGuardM16 ((void (__cdecl*)(__int16)) 0x00478180)
#define ControlGuardM16 ((void (__cdecl*)(__int16)) 0x00478250)
#define InitialiseChef ((void (__cdecl*)(__int16)) 0x00410990)
#define ControlChef ((void (__cdecl*)(__int16)) 0x00410A60)
#define InitialiseGuardLaser ((void (__cdecl*)(__int16)) 0x0048CD40)
#define ControlGuardLaser ((void (__cdecl*)(__int16)) 0x0048CDD0)
#define InitialiseSmallDragon ((void (__cdecl*)(__int16)) 0x0043BEA0)
#define ControlSmallDragon ((void (__cdecl*)(__int16)) 0x0043BF70)
#define InitialiseImp ((void (__cdecl*)(__int16)) 0x0043CCA0)
#define ControlImp ((void (__cdecl*)(__int16)) 0x0043BEA0)
#define InitialiseLightingGuide ((void (__cdecl*)(__int16)) 0x0048E500)
#define ControlLightingGuide ((void (__cdecl*)(__int16)) 0x0048E580)
#define InitialiseBrownBeast ((void (__cdecl*)(__int16)) 0x0048E8E0)
#define ControlBrowsBeast ((void (__cdecl*)(__int16)) 0x0048E960)
#define InitialiseLagoonWitch ((void (__cdecl*)(__int16)) 0x0047D2D0)
#define ControlLagoonWitch ((void (__cdecl*)(__int16)) 0x0047D360)
#define InitialiseInvisibleGhost ((void (__cdecl*)(__int16)) 0x00477A20)
#define ControlInvisibleGhost ((void (__cdecl*)(__int16)) 0x00477AB0)
#define InitialiseLittleBats ((void (__cdecl*)(__int16)) 0x00407EC0)
#define ControlLittleBats ((void (__cdecl*)(__int16)) 0x00407F50)
#define InitialiseSpiders ((void (__cdecl*)(__int16)) 0x0043F2B0)
#define ControlSpiders ((void (__cdecl*)(__int16)) 0x0047A200)
#define InitialiseGladiator ((void (__cdecl*)(__int16)) 0x00436670)
#define ControlGladiator ((void (__cdecl*)(__int16)) 0x00436700)
#define InitialiseRomanStatue ((void (__cdecl*)(__int16)) 0x0046BB00)
#define ControlRomanStatue ((void (__cdecl*)(__int16)) 0x0046BC10)
#define InitialiseAutoGuns ((void (__cdecl*)(__int16)) 0x0043F8B0)
#define ControlAutoGuns ((void (__cdecl*)(__int16)) 0x004078A0)
#define ControlGunShip ((void (__cdecl*)(__int16)) 0x00487FF0)

View file

@ -3,16 +3,30 @@
#include "setup.h"
#include "..\Game\draw.h"
#include "..\Game\collide.h"
#include "..\Game\effect2.h"
#include "..\Game\effects.h"
#include "..\Game\Box.h"
#include "..\Game\switch.h"
#include "..\Game\missile.h"
#include "..\Game\control.h"
#include "..\Game\pickup.h"
#include "..\Game\lara1gun.h"
#include "..\Game\laraflar.h"
#include "..\Game\larafire.h"
#include "..\Game\laramisc.h"
#include "..\Game\objects.h"
#include "..\Game\door.h"
#include "..\Game\rope.h"
#include "..\Game\traps.h"
#include "..\Objects\oldobjects.h"
#include "..\Objects\newobjects.h"
#include "..\Game\lion.h"
#include "..\Game\mafia.h"
#include "..\Game\rat.h"
#include "..\Game\hydra.h"
#include "..\Game\guardian.h"
#include <stdlib.h>
#include <stdio.h>
@ -1408,7 +1422,7 @@ void __cdecl BaddyObjects()
obj->biteOffset = 7;
obj->initialise = InitialiseArmedBaddy2;
obj->collision = CreatureCollision;
obj->control = ControlArmedBaddy2;
obj->control = ArmedBaddy2Control;
obj->drawRoutineExtra = DrawBaddieGunFlash;
obj->shadowSize = UNIT_SHADOW / 2;
obj->hitPoints = 26;
@ -2374,10 +2388,9 @@ void __cdecl ObjectObjects()
obj = &Objects[ID_FLARE_ITEM];
if (obj->loaded)
{
obj->initialise = NULL;
obj->collision = PickupCollision;
obj->control = FlareControl;
obj->drawRoutine = DrawFlare;
obj->drawRoutine = DrawFlareItem;
obj->pivotLength = 256;
obj->hitPoints = 256;
}
@ -2385,31 +2398,15 @@ void __cdecl ObjectObjects()
obj = &Objects[ID_BURNING_TORCH_ITEM];
if (obj->loaded)
{
obj->initialise = NULL;
obj->control = TorchControl;
}
obj = &Objects[ID_CHAFF];
if (obj->loaded)
{
obj->control = ChaffControl;
}
obj = &Objects[ID_TORPEDO];
if (obj->loaded)
{
obj->control = TorpedoControl;
}
obj = &Objects[ID_CROSSBOW_BOLT];
if (obj->loaded)
{
obj->initialise = NULL;
obj->collision = NULL;
obj->control = ControlCrossbowOrGrapplingBolt;
obj->drawRoutine = DrawCrossbowOrGrapplingBolt;
}
{
obj = &Objects[ID_PUSHABLE_OBJECT1];
if (obj->loaded)
@ -2528,13 +2525,6 @@ void __cdecl ObjectObjects()
obj->control = SteelDoorControl;
}
obj = &Objects[ID_HEADSET_TALKING_POINT];
if (obj->loaded)
{
obj->drawRoutine = NULL;
obj->control = HeadSetTalkingPointControl;
}
/*
v25 = 0;
do
@ -2555,22 +2545,6 @@ void __cdecl ObjectObjects()
obj->drawRoutine = NULL;
}
obj = &Objects[ID_SHOOT_SWITCH1];
if (obj->loaded)
{
obj->initialise = InitialiseGrapplingGunSwitch;
obj->collision = GrapplingGunTargetCollision;
obj->control = AnimatingControl;
}
obj = &Objects[ID_SHOOT_SWITCH2];
if (obj->loaded)
{
obj->initialise = InitialiseGrapplingGunSwitch;
obj->collision = GrapplingGunTargetCollision;
obj->control = AnimatingControl;
}
// by default loaded, explosion time :D
obj = &Objects[ID_BODY_PART];
obj->loaded = true;
@ -2928,14 +2902,14 @@ void __cdecl PickupObjects()
INIT_PICKUP(ID_PUZZLE_ITEM7_COMBO2);
INIT_PICKUP(ID_PUZZLE_ITEM8_COMBO1);
INIT_PICKUP(ID_PUZZLE_ITEM8_COMBO2);
INIT_PICKUP(ID_PUZZLE_ITEM1);
INIT_PICKUP(ID_PUZZLE_ITEM2);
INIT_PICKUP(ID_PUZZLE_ITEM3);
INIT_PICKUP(ID_PUZZLE_ITEM4);
INIT_PICKUP(ID_PUZZLE_ITEM5);
INIT_PICKUP(ID_PUZZLE_ITEM6);
INIT_PICKUP(ID_PUZZLE_ITEM7);
INIT_PICKUP(ID_PUZZLE_ITEM8);
INIT_PICKUP(ID_KEY_ITEM1);
INIT_PICKUP(ID_KEY_ITEM2);
INIT_PICKUP(ID_KEY_ITEM3);
INIT_PICKUP(ID_KEY_ITEM4);
INIT_PICKUP(ID_KEY_ITEM5);
INIT_PICKUP(ID_KEY_ITEM6);
INIT_PICKUP(ID_KEY_ITEM7);
INIT_PICKUP(ID_KEY_ITEM8);
INIT_PICKUP(ID_KEY_ITEM1_COMBO1);
INIT_PICKUP(ID_KEY_ITEM1_COMBO2);
INIT_PICKUP(ID_KEY_ITEM2_COMBO1);

View file

@ -13,172 +13,6 @@ void __cdecl InitialiseObjects();
void Inject_Setup();
/* BaddyObjects() */
#define DrawBaddieGunFlash ((void (__cdecl*)(ITEM_INFO*)) 0x00466880)
#define InitialiseLaraLoad ((void (__cdecl*)(__int16)) 0x004568C0)
#define InitialiseGuard ((void (__cdecl*)(__int16)) 0x0043F420)
#define ControlGuard ((void (__cdecl*)(__int16)) 0x0046F5E0)
#define InitialiseSubmarine ((void (__cdecl*)(__int16)) 0x0045D360)
#define ControlSubmarine ((void (__cdecl*)(__int16)) 0x0045D3F0)
#define InitialiseLion ((void (__cdecl*)(__int16)) 0x0045AC80)
#define LionControl ((void (__cdecl*)(__int16)) 0x0045AD00)
#define InitialiseDoberman ((void (__cdecl*)(__int16)) 0x00428940)
#define ControlDoberman ((void (__cdecl*)(__int16)) 0x00428A10)
#define InitialiseDog ((void (__cdecl*)(__int16)) 0x0043B670)
#define ControlDog ((void (__cdecl*)(__int16)) 0x0043B730)
#define InitialiseReaper ((void (__cdecl*)(__int16)) 0x0045DA70)
#define ControlReaper ((void (__cdecl*)(__int16)) 0x0045DAF0)
#define InitialiseArmedBaddy2 ((void (__cdecl*)(__int16)) 0x0045B7B0)
#define ControlArmedBaddy2 ((void (__cdecl*)(__int16)) 0x0045B840)
#define InitialiseLarson ((void (__cdecl*)(__int16)) 0x00469F70)
#define ControlLarson ((void (__cdecl*)(__int16)) 0x0046A080)
#define InitialiseCyborg ((void (__cdecl*)(__int16)) 0x0043A2C0)
#define ControlCyborg ((void (__cdecl*)(__int16)) 0x0043A340)
#define InitialiseGuardM16 ((void (__cdecl*)(__int16)) 0x00478180)
#define ControlGuardM16 ((void (__cdecl*)(__int16)) 0x00478250)
#define InitialiseChef ((void (__cdecl*)(__int16)) 0x00410990)
#define ControlChef ((void (__cdecl*)(__int16)) 0x00410A60)
#define InitialiseGuardLaser ((void (__cdecl*)(__int16)) 0x0048CD40)
#define ControlGuardLaser ((void (__cdecl*)(__int16)) 0x0048CDD0)
#define InitialiseSmallDragon ((void (__cdecl*)(__int16)) 0x0043BEA0)
#define ControlSmallDragon ((void (__cdecl*)(__int16)) 0x0043BF70)
#define InitialiseImp ((void (__cdecl*)(__int16)) 0x0043CCA0)
#define ControlImp ((void (__cdecl*)(__int16)) 0x0043BEA0)
#define InitialiseLightingGuide ((void (__cdecl*)(__int16)) 0x0048E500)
#define ControlLightingGuide ((void (__cdecl*)(__int16)) 0x0048E580)
#define InitialiseBrownBeast ((void (__cdecl*)(__int16)) 0x0048E8E0)
#define ControlBrowsBeast ((void (__cdecl*)(__int16)) 0x0048E960)
#define InitialiseLagoonWitch ((void (__cdecl*)(__int16)) 0x0047D2D0)
#define ControlLagoonWitch ((void (__cdecl*)(__int16)) 0x0047D360)
#define InitialiseInvisibleGhost ((void (__cdecl*)(__int16)) 0x00477A20)
#define ControlInvisibleGhost ((void (__cdecl*)(__int16)) 0x00477AB0)
#define InitialiseLittleRats ((void (__cdecl*)(__int16)) 0x0046B220)
#define ControlLittleRats ((void (__cdecl*)(__int16)) 0x0046AB30)
#define InitialiseLittleBats ((void (__cdecl*)(__int16)) 0x00407EC0)
#define ControlLittleBats ((void (__cdecl*)(__int16)) 0x00407F50)
#define InitialiseSpiders ((void (__cdecl*)(__int16)) 0x0043F2B0)
#define ControlSpiders ((void (__cdecl*)(__int16)) 0x0047A200)
#define InitialiseGladiator ((void (__cdecl*)(__int16)) 0x00436670)
#define ControlGladiator ((void (__cdecl*)(__int16)) 0x00436700)
#define InitialiseRomanStatue ((void (__cdecl*)(__int16)) 0x0046BB00)
#define ControlRomanStatue ((void (__cdecl*)(__int16)) 0x0046BC10)
#define InitialiseLaserHead ((void (__cdecl*)(__int16)) 0x00436FE0)
#define ControlLaserHead ((void (__cdecl*)(__int16)) 0x00437680)
#define InitialiseAutoGuns ((void (__cdecl*)(__int16)) 0x0043F8B0)
#define ControlAutoGuns ((void (__cdecl*)(__int16)) 0x004078A0)
#define ControlGunShip ((void (__cdecl*)(__int16)) 0x00487FF0)
/* TrapObjects */
#define ElectricityWiresControl ((void (__cdecl*)(__int16)) 0x00442610)
#define InitialiseRomeHammer ((void (__cdecl*)(__int16)) 0x0043ECB0)
#define InitialiseDeathSlide ((void (__cdecl*)(__int16)) 0x0041CC70)
#define DeathSlideCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0041CCE0)
#define DeathSlideControl ((void (__cdecl*)(__int16)) 0x0041CE00)
#define RollingBallCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0048B6D0)
#define RollingBallControl ((void (__cdecl*)(__int16)) 0x0048AE60)
#define InitialiseTwoBlocksPlatform ((void (__cdecl*)(__int16)) 0x0043D5D0)
#define TwoBlocksPlatformControl ((void (__cdecl*)(__int16)) 0x0048BBB0)
#define TwoBlocksPlatformFloor ((void (__cdecl*)(ITEM_INFO*,__int32,__int32,__int32,int*)) 0x0048B9E0)
#define TwoBlocksPlatformCeiling ((void (__cdecl*)(ITEM_INFO*,__int32,__int32,__int32,int*)) 0x0048BA50)
#define KillAllTriggersControl ((void (__cdecl*)(__int16)) 0x00431030)
#define FallingCeilingCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x004127C0)
#define FallingCeilingControl ((void (__cdecl*)(__int16)) 0x004899D0)
#define InitialiseFallingBlock ((void (__cdecl*)(__int16)) 0x0043D330)
#define FallingBlockCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00489750)
#define FallingBlockControl ((void (__cdecl*)(__int16)) 0x00489820)
#define FallingBlockFloor ((void (__cdecl*)(ITEM_INFO*,__int32,__int32,__int32,int*)) 0x00489910)
#define FallingBlockCeiling ((void (__cdecl*)(ITEM_INFO*,__int32,__int32,__int32,int*)) 0x00489980)
#define InitialisePushableBlock ((void (__cdecl*)(__int16)) 0x0045E720)
#define PushableBlockControl ((void (__cdecl*)(__int16)) 0x0045EA30)
#define PushableBlockCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0045F570)
#define DartEmitterControl ((void (__cdecl*)(__int16)) 0x00489B30)
#define DrawDart ((void (__cdecl*)(ITEM_INFO*)) 0x004CBB10)
#define DartControl ((void (__cdecl*)(__int16)) 0x00489D60)
#define InitialiseFlameEmitter ((void (__cdecl*)(__int16)) 0x0043D370)
#define FlameEmitterCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00433B40)
#define FlameEmitterControl ((void (__cdecl*)(__int16)) 0x00489F70)
#define InitialiseFlameEmitter2 ((void (__cdecl*)(__int16)) 0x0043D4E0)
#define FlameEmitter2Control ((void (__cdecl*)(__int16)) 0x0048A3B0)
#define FlameEmitter3Control ((void (__cdecl*)(__int16)) 0x0048A570)
#define FlameControl ((void (__cdecl*)(__int16)) 0x0048AB80)
#define InitialiseRopeTrap ((void (__cdecl*)()) 0x0046EE40)
#define GenSlot1Control ((void (__cdecl*)(__int16)) 0x00406580)
#define InitialiseGenSlot2 ((void (__cdecl*)(__int16)) 0x0043FD70)
#define GenSlot2Control ((void (__cdecl*)(__int16)) 0x00488710)
#define DrawGenSlot2 ((void (__cdecl*)(ITEM_INFO*)) 0x004CFF80)
#define InitialiseGenSlot3 ((void (__cdecl*)(__int16)) 0x004402E0)
#define InitialiseGenSlot4 ((void (__cdecl*)(__int16)) 0x00440440)
#define GenSlot4Control ((void (__cdecl*)(__int16)) 0x00486450)
#define InitialiseHighObject1 ((void (__cdecl*)(__int16)) 0x0043FC30)
#define HighObject1Control ((void (__cdecl*)(__int16)) 0x004067E0)
#define InitialisePortal ((void (__cdecl*)(__int16)) 0x0043FAA0)
#define PortalControl ((void (__cdecl*)(__int16)) 0x00401AEB)
#define DrawPortal ((void (__cdecl*)(ITEM_INFO*)) 0x004CFF80)
#define InitialiseRope ((void (__cdecl*)(__int16)) 0x0046F060)
#define RopeControl ((void (__cdecl*)(__int16)) 0x0046DD40)
#define RopeCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0046DAE0)
#define InitialiseWreckingBall ((void (__cdecl*)(__int16)) 0x0043EF20)
#define WreckingBallCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00441D50)
#define WreckingBallControl ((void (__cdecl*)(__int16)) 0x00441410)
#define DrawWreckingBall ((void (__cdecl*)(ITEM_INFO*)) 0x00441F50)
#define InitialiseVentilator ((void (__cdecl*)(__int16)) 0x0043F3D0)
#define VentilatorControl ((void (__cdecl*)(__int16)) 0x00405610)
#define InitialiseRaisingCog ((void (__cdecl*)(__int16)) 0x00440320)
#define RaisingCogControl ((void (__cdecl*)(__int16)) 0x00406040)
/* ObjectObjects */
#define InitialiseSmashObject ((void (__cdecl*)(__int16)) 0x0043D7F0)
#define InitialiseSwitch ((void (__cdecl*)(__int16)) 0x00440070)
#define SequenceControl ((void (__cdecl*)(__int16)) 0x0047F520)
#define SequenceCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0047F610)
#define LeverSwitchCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x0047EE00)
#define InitialisePulleySwitch ((void (__cdecl*)(__int16)) 0x0043E1F0)
#define InitialiseCrowDoveSwitch ((void (__cdecl*)(__int16)) 0x0043ECF0)
#define InitialiseDoor ((void (__cdecl*)(__int16)) 0x0043DB60)
#define DrawLiftDoor ((void (__cdecl*)(ITEM_INFO*)) 0x0045AAF0)
#define DoubleDoorControl ((void (__cdecl*)(__int16)) 0x00429840)
#define InitialiseTrapDoor ((void (__cdecl*)(__int16)) 0x0043D2F0)
#define TrapDoorFloorCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x004891F0)
#define TrapDoorCeilingCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00489450)
#define TrapDoorNormalCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x004896D0)
#define TrapDoorControl ((void (__cdecl*)(__int16)) 0x00488FA0)
#define InitialiseCupboard ((void (__cdecl*)(__int16)) 0x0043EDB0)
#define CupboardCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x004699A0)
#define CupboardControl ((void (__cdecl*)(__int16)) 0x00469660)
#define FlareControl ((void (__cdecl*)(__int16)) 0x00455460)
#define DrawFlare ((void (__cdecl*)(ITEM_INFO*)) 0x00454A90)
#define TorchControl ((void (__cdecl*)(__int16)) 0x00434390)
#define ChaffControl ((void (__cdecl*)(__int16)) 0x0045CFB0)
#define TorpedoControl ((void (__cdecl*)(__int16)) 0x0045C9F0)
#define ControlCrossbowOrGrapplingBolt ((void (__cdecl*)(__int16)) 0x0044E8B0)
#define DrawCrossbowOrGrapplingBolt ((void (__cdecl*)(ITEM_INFO*)) 0x004852E0)
#define KeyHoleCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00468930)
#define PuzzleDoneCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00468C00)
#define InitialiseAnimating ((void (__cdecl*)(__int16)) 0x00440100)
#define InitialiseTightRope ((void (__cdecl*)(__int16)) 0x0043ED30)
#define InitialiseSteelDoor ((void (__cdecl*)(__int16)) 0x0043F180)
#define SteelDoorControl ((void (__cdecl*)(__int16)) 0x00486BE0)
#define SteelDoorCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00487AD0)
#define HeadSetTalkingPointControl ((void (__cdecl*)(__int16)) 0x0048E3C0)
#define InitialiseXRayMachine ((void (__cdecl*)(__int16)) 0x0043FA20)
#define InitialiseGrapplingGunTarget ((void (__cdecl*)(__int16)) 0x0043F270)
#define InitialiseGrapplingGunSwitch ((void (__cdecl*)(__int16)) 0x0043FBC0)
#define GrapplingGunTargetCollision ((void (__cdecl*)(__int16,ITEM_INFO*,COLL_INFO*)) 0x00412770)
#define InitialiseTeethSpike ((void (__cdecl*)(__int16)) 0x0043FBC0)
#define TeethSpikeControl ((void (__cdecl*)(__int16)) 0x0043FBC0)
#define DrawScaledSpike ((void (__cdecl*)(ITEM_INFO*)) 0x0043FBC0)
#define InitialiseRaisingBlock ((void (__cdecl*)(__int16)) 0x0043D730)
#define RaisingBlockControl ((void (__cdecl*)(__int16)) 0x0048C3D0)
#define InitialiseSmokeEmitter ((void (__cdecl*)(__int16)) 0x0043D9D0)
#define SmokeEmitterControl ((void (__cdecl*)(__int16)) 0x00431560)
#define DrawLensFlare ((void (__cdecl*)(ITEM_INFO*)) 0x00485290)
#define ControlWaterfallMist ((void (__cdecl*)(__int16)) 0x00432CA0)
#define ControlEnemyMissile ((void (__cdecl*)(__int16)) 0x00431E70)
#define HighObject2Control ((void (__cdecl*)(__int16)) 0x004070D0)
#define INIT_PICKUP(obj_id) \
obj = &Objects[obj_id]; \
if (obj->loaded) \

View file

@ -93,7 +93,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;TR5MAIN_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@ -133,13 +133,14 @@ xcopy /Y "$(ProjectDir)Scripting\Scripts\*.lua" "$(TargetDir)\Scripts"</Command>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;TR5MAIN_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@ -149,6 +150,12 @@ xcopy /Y "$(ProjectDir)Scripting\Scripts\*.lua" "$(TargetDir)\Scripts"</Command>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>bass.lib;bassmix.lib;bass_fx.lib;d3d9.lib;dinput8.lib;d3dx9.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>md "$(TargetDir)\Shaders"
xcopy /Y "$(ProjectDir)Shaders\*.fx" "$(TargetDir)\Shaders"
md "$(TargetDir)\Scripts"
xcopy /Y "$(ProjectDir)Scripting\Scripts\*.lua" "$(TargetDir)\Scripts"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
@ -170,6 +177,7 @@ xcopy /Y "$(ProjectDir)Scripting\Scripts\*.lua" "$(TargetDir)\Scripts"</Command>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="Game\lion.h" />
<ClInclude Include="Objects\oldobjects.h" />
<ClInclude Include="Scripting\LanguageScript.h" />
<ClInclude Include="Renderer\Renderer11.h" />
<ClInclude Include="resource.h" />