mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-08 03:28:03 +03:00
Merge branch 'errors'
# Conflicts: # TR5Main/Game/effects/flmtorch.cpp # TR5Main/Game/objects.cpp # TR5Main/Objects/Effects/enemy_missile.cpp # TR5Main/Objects/TR4/Entity/tr4_demigod.cpp # TR5Main/Objects/TR4/Entity/tr4_wraith.cpp
This commit is contained in:
commit
e4329c4974
68 changed files with 509 additions and 564 deletions
|
@ -421,7 +421,8 @@ void LaraControl(short itemNumber)
|
||||||
|
|
||||||
Lara.isDucked = false;
|
Lara.isDucked = false;
|
||||||
|
|
||||||
bool isWater = g_Level.Rooms[item->roomNumber].flags & (ENV_FLAG_WATER | ENV_FLAG_SWAMP);
|
bool isWater = g_Level.Rooms[item->roomNumber].flags & ENV_FLAG_WATER;
|
||||||
|
bool isSwamp = g_Level.Rooms[item->roomNumber].flags & ENV_FLAG_SWAMP;
|
||||||
|
|
||||||
int wd = GetWaterDepth(item->pos.xPos, item->pos.yPos, item->pos.zPos, item->roomNumber);
|
int wd = GetWaterDepth(item->pos.xPos, item->pos.yPos, item->pos.zPos, item->roomNumber);
|
||||||
int wh = GetWaterHeight(item->pos.xPos, item->pos.yPos, item->pos.zPos, item->roomNumber);
|
int wh = GetWaterHeight(item->pos.xPos, item->pos.yPos, item->pos.zPos, item->roomNumber);
|
||||||
|
@ -452,7 +453,7 @@ void LaraControl(short itemNumber)
|
||||||
{
|
{
|
||||||
item->goalAnimState = LS_STOP;
|
item->goalAnimState = LS_STOP;
|
||||||
}
|
}
|
||||||
else if (isWater & ENV_FLAG_SWAMP)
|
else if (isSwamp)
|
||||||
{
|
{
|
||||||
if (item->currentAnimState == LS_SWANDIVE_START
|
if (item->currentAnimState == LS_SWANDIVE_START
|
||||||
|| item->currentAnimState == LS_SWANDIVE_END) // Is Lara swan-diving?
|
|| item->currentAnimState == LS_SWANDIVE_END) // Is Lara swan-diving?
|
||||||
|
@ -464,7 +465,7 @@ void LaraControl(short itemNumber)
|
||||||
item->frameNumber = GF(LA_WADE, 0);
|
item->frameNumber = GF(LA_WADE, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!(isWater & ENV_FLAG_SWAMP))
|
else if (!isSwamp)
|
||||||
{
|
{
|
||||||
Lara.air = 1800;
|
Lara.air = 1800;
|
||||||
Lara.waterStatus = LW_UNDERWATER;
|
Lara.waterStatus = LW_UNDERWATER;
|
||||||
|
@ -682,7 +683,7 @@ void LaraControl(short itemNumber)
|
||||||
Camera.targetElevation = -ANGLE(22);
|
Camera.targetElevation = -ANGLE(22);
|
||||||
if (hfw >= WADE_DEPTH)
|
if (hfw >= WADE_DEPTH)
|
||||||
{
|
{
|
||||||
if (hfw > SWIM_DEPTH && !(isWater & ENV_FLAG_SWAMP))
|
if (hfw > SWIM_DEPTH && !isSwamp)
|
||||||
{
|
{
|
||||||
Lara.waterStatus = LW_SURFACE;
|
Lara.waterStatus = LW_SURFACE;
|
||||||
item->pos.yPos += 1 - hfw;
|
item->pos.yPos += 1 - hfw;
|
||||||
|
|
|
@ -454,10 +454,10 @@ void LaraGun()
|
||||||
case WEAPON_PISTOLS:
|
case WEAPON_PISTOLS:
|
||||||
case WEAPON_REVOLVER:
|
case WEAPON_REVOLVER:
|
||||||
case WEAPON_UZI:
|
case WEAPON_UZI:
|
||||||
if (Camera.type != CINEMATIC_CAMERA
|
if (Camera.type != CAMERA_TYPE::CINEMATIC_CAMERA
|
||||||
&& Camera.type != LOOK_CAMERA
|
&& Camera.type != CAMERA_TYPE::LOOK_CAMERA
|
||||||
&& Camera.type != HEAVY_CAMERA)
|
&& Camera.type != CAMERA_TYPE::HEAVY_CAMERA)
|
||||||
Camera.type = COMBAT_CAMERA;
|
Camera.type = CAMERA_TYPE::COMBAT_CAMERA;
|
||||||
draw_pistols(Lara.gunType);
|
draw_pistols(Lara.gunType);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -467,10 +467,10 @@ void LaraGun()
|
||||||
case WEAPON_GRENADE_LAUNCHER:
|
case WEAPON_GRENADE_LAUNCHER:
|
||||||
case WEAPON_ROCKET_LAUNCHER:
|
case WEAPON_ROCKET_LAUNCHER:
|
||||||
case WEAPON_HARPOON_GUN:
|
case WEAPON_HARPOON_GUN:
|
||||||
if (Camera.type != CINEMATIC_CAMERA
|
if (Camera.type != CAMERA_TYPE::CINEMATIC_CAMERA
|
||||||
&& Camera.type != LOOK_CAMERA
|
&& Camera.type != CAMERA_TYPE::LOOK_CAMERA
|
||||||
&& Camera.type != HEAVY_CAMERA)
|
&& Camera.type != CAMERA_TYPE::HEAVY_CAMERA)
|
||||||
Camera.type = COMBAT_CAMERA;
|
Camera.type = CAMERA_TYPE::COMBAT_CAMERA;
|
||||||
draw_shotgun(Lara.gunType);
|
draw_shotgun(Lara.gunType);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -523,10 +523,10 @@ void LaraGun()
|
||||||
else
|
else
|
||||||
Lara.meshPtrs[LM_HEAD] = Objects[ID_LARA_SCREAM].meshIndex + LM_HEAD;
|
Lara.meshPtrs[LM_HEAD] = Objects[ID_LARA_SCREAM].meshIndex + LM_HEAD;
|
||||||
|
|
||||||
if (Camera.type != CINEMATIC_CAMERA
|
if (Camera.type != CAMERA_TYPE::CINEMATIC_CAMERA
|
||||||
&& Camera.type != LOOK_CAMERA
|
&& Camera.type != CAMERA_TYPE::LOOK_CAMERA
|
||||||
&& Camera.type != HEAVY_CAMERA)
|
&& Camera.type != CAMERA_TYPE::HEAVY_CAMERA)
|
||||||
Camera.type = COMBAT_CAMERA;
|
Camera.type = CAMERA_TYPE::COMBAT_CAMERA;
|
||||||
|
|
||||||
if (TrInput & IN_ACTION)
|
if (TrInput & IN_ACTION)
|
||||||
{
|
{
|
||||||
|
|
|
@ -456,7 +456,7 @@ short TestMonkeyRight(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (abs(coll->Middle.Ceiling - coll->Front.Ceiling) > 50)
|
if (abs(coll->Middle.Ceiling - coll->Front.Ceiling) > 50)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!coll->CollisionType)
|
if (coll->CollisionType == CT_NONE)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
oct = GetDirOctant(item->pos.yRot);
|
oct = GetDirOctant(item->pos.yRot);
|
||||||
|
@ -494,7 +494,7 @@ short TestMonkeyLeft(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
if (abs(coll->Middle.Ceiling - coll->Front.Ceiling) > 50)
|
if (abs(coll->Middle.Ceiling - coll->Front.Ceiling) > 50)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!coll->CollisionType)
|
if (coll->CollisionType == CT_NONE)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
oct = GetDirOctant(item->pos.yRot);
|
oct = GetDirOctant(item->pos.yRot);
|
||||||
|
|
|
@ -1126,7 +1126,7 @@ void AnimateShotgun(int weaponType)
|
||||||
if (weaponType == WEAPON_HARPOON_GUN)
|
if (weaponType == WEAPON_HARPOON_GUN)
|
||||||
{
|
{
|
||||||
FireHarpoon();
|
FireHarpoon();
|
||||||
if (!(Lara.Weapons[WEAPON_HARPOON_GUN].Ammo[0] & 3))
|
if (!(Lara.Weapons[WEAPON_HARPOON_GUN].Ammo->getCount() & 3))
|
||||||
harpoonFired = true;
|
harpoonFired = true;
|
||||||
}
|
}
|
||||||
else if (weaponType == WEAPON_ROCKET_LAUNCHER)
|
else if (weaponType == WEAPON_ROCKET_LAUNCHER)
|
||||||
|
@ -1211,7 +1211,7 @@ void AnimateShotgun(int weaponType)
|
||||||
if (weaponType == WEAPON_HARPOON_GUN)
|
if (weaponType == WEAPON_HARPOON_GUN)
|
||||||
{
|
{
|
||||||
FireHarpoon();
|
FireHarpoon();
|
||||||
if (!(Lara.Weapons[WEAPON_HARPOON_GUN].Ammo[0] & 3))
|
if (!(Lara.Weapons[WEAPON_HARPOON_GUN].Ammo->getCount() & 3))
|
||||||
harpoonFired = true;
|
harpoonFired = true;
|
||||||
}
|
}
|
||||||
else if (weaponType == WEAPON_HK)// && (/*!(Lara.HKtypeCarried & 0x18) || */!HKTimer))
|
else if (weaponType == WEAPON_HK)// && (/*!(Lara.HKtypeCarried & 0x18) || */!HKTimer))
|
||||||
|
@ -1514,7 +1514,7 @@ void RifleHandler(int weaponType)
|
||||||
{
|
{
|
||||||
Lara.torsoXrot = Lara.leftArm.xRot;
|
Lara.torsoXrot = Lara.leftArm.xRot;
|
||||||
Lara.torsoYrot = Lara.leftArm.yRot;
|
Lara.torsoYrot = Lara.leftArm.yRot;
|
||||||
if (Camera.oldType != LOOK_CAMERA && !BinocularRange)
|
if (Camera.oldType != CAMERA_TYPE::LOOK_CAMERA && !BinocularRange)
|
||||||
{
|
{
|
||||||
Lara.headYrot = 0;
|
Lara.headYrot = 0;
|
||||||
Lara.headXrot = 0;
|
Lara.headXrot = 0;
|
||||||
|
@ -1786,7 +1786,7 @@ void SomeSparkEffect(int x, int y, int z, int count)
|
||||||
spark->dG = spark->sG >> 1;
|
spark->dG = spark->sG >> 1;
|
||||||
spark->dB = spark->sB >> 1;
|
spark->dB = spark->sB >> 1;
|
||||||
spark->sLife = 24;
|
spark->sLife = 24;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->friction = 5;
|
spark->friction = 5;
|
||||||
int random = GetRandomControl() & 0xFFF;
|
int random = GetRandomControl() & 0xFFF;
|
||||||
spark->xVel = -128 * phd_sin(random << 4);
|
spark->xVel = -128 * phd_sin(random << 4);
|
||||||
|
|
|
@ -370,7 +370,7 @@ int LaraTestWaterClimbOut(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
|
|
||||||
int LaraTestWaterStepOut(ITEM_INFO* item, COLL_INFO* coll)
|
int LaraTestWaterStepOut(ITEM_INFO* item, COLL_INFO* coll)
|
||||||
{
|
{
|
||||||
if (coll->CollisionType == CT_FRONT
|
if (coll->CollisionType == CT_FRONT
|
||||||
|| coll->Middle.Slope
|
|| coll->Middle.Slope
|
||||||
|| coll->Middle.Floor >= 0)
|
|| coll->Middle.Floor >= 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -120,7 +120,7 @@ void AnimatePistols(LARA_WEAPON_TYPE weaponType)
|
||||||
angleRight[0] = Lara.rightArm.yRot + LaraItem->pos.yRot;
|
angleRight[0] = Lara.rightArm.yRot + LaraItem->pos.yRot;
|
||||||
angleRight[1] = Lara.rightArm.xRot;
|
angleRight[1] = Lara.rightArm.xRot;
|
||||||
|
|
||||||
if (FireWeapon(weaponType, Lara.target, LaraItem, angleRight))
|
if (FireWeapon(weaponType, Lara.target, LaraItem, angleRight) != FireWeaponType::FW_NOAMMO)
|
||||||
{
|
{
|
||||||
SmokeCountR = 28;
|
SmokeCountR = 28;
|
||||||
SmokeWeapon = weaponType;
|
SmokeWeapon = weaponType;
|
||||||
|
@ -208,7 +208,7 @@ void AnimatePistols(LARA_WEAPON_TYPE weaponType)
|
||||||
angleLeft[0] = Lara.leftArm.yRot + LaraItem->pos.yRot;
|
angleLeft[0] = Lara.leftArm.yRot + LaraItem->pos.yRot;
|
||||||
angleLeft[1] = Lara.leftArm.xRot;
|
angleLeft[1] = Lara.leftArm.xRot;
|
||||||
|
|
||||||
if (FireWeapon(weaponType, Lara.target, LaraItem, angleLeft))
|
if (FireWeapon(weaponType, Lara.target, LaraItem, angleLeft) != FireWeaponType::FW_NOAMMO)
|
||||||
{
|
{
|
||||||
if (static_cast<LARA_WEAPON_TYPE>(weaponType) == LARA_WEAPON_TYPE::WEAPON_REVOLVER)
|
if (static_cast<LARA_WEAPON_TYPE>(weaponType) == LARA_WEAPON_TYPE::WEAPON_REVOLVER)
|
||||||
{
|
{
|
||||||
|
@ -298,7 +298,7 @@ void PistolHandler(LARA_WEAPON_TYPE weaponType)
|
||||||
Lara.torsoYrot = Lara.leftArm.yRot / 2;
|
Lara.torsoYrot = Lara.leftArm.yRot / 2;
|
||||||
Lara.torsoXrot = Lara.leftArm.xRot / 2;
|
Lara.torsoXrot = Lara.leftArm.xRot / 2;
|
||||||
|
|
||||||
if (Camera.oldType != LOOK_CAMERA)
|
if (Camera.oldType != CAMERA_TYPE::LOOK_CAMERA)
|
||||||
{
|
{
|
||||||
Lara.headYrot = Lara.torsoYrot;
|
Lara.headYrot = Lara.torsoYrot;
|
||||||
Lara.headXrot = Lara.torsoXrot;
|
Lara.headXrot = Lara.torsoXrot;
|
||||||
|
@ -309,7 +309,7 @@ void PistolHandler(LARA_WEAPON_TYPE weaponType)
|
||||||
Lara.torsoYrot = Lara.rightArm.yRot / 2;
|
Lara.torsoYrot = Lara.rightArm.yRot / 2;
|
||||||
Lara.torsoXrot = Lara.rightArm.xRot / 2;
|
Lara.torsoXrot = Lara.rightArm.xRot / 2;
|
||||||
|
|
||||||
if (Camera.oldType != LOOK_CAMERA)
|
if (Camera.oldType != CAMERA_TYPE::LOOK_CAMERA)
|
||||||
{
|
{
|
||||||
Lara.headYrot = Lara.torsoYrot;
|
Lara.headYrot = Lara.torsoYrot;
|
||||||
Lara.headXrot = Lara.torsoXrot;
|
Lara.headXrot = Lara.torsoXrot;
|
||||||
|
@ -320,7 +320,7 @@ void PistolHandler(LARA_WEAPON_TYPE weaponType)
|
||||||
Lara.torsoYrot = (Lara.leftArm.yRot + Lara.rightArm.yRot) / 4;
|
Lara.torsoYrot = (Lara.leftArm.yRot + Lara.rightArm.yRot) / 4;
|
||||||
Lara.torsoXrot = (Lara.leftArm.xRot + Lara.rightArm.xRot) / 4;
|
Lara.torsoXrot = (Lara.leftArm.xRot + Lara.rightArm.xRot) / 4;
|
||||||
|
|
||||||
if (Camera.oldType != LOOK_CAMERA)
|
if (Camera.oldType != CAMERA_TYPE::LOOK_CAMERA)
|
||||||
{
|
{
|
||||||
Lara.headYrot = Lara.torsoYrot;
|
Lara.headYrot = Lara.torsoYrot;
|
||||||
Lara.headXrot = Lara.torsoXrot;
|
Lara.headXrot = Lara.torsoXrot;
|
||||||
|
|
|
@ -180,7 +180,7 @@ void InitialiseCamera()
|
||||||
Camera.targetDistance = 1536;
|
Camera.targetDistance = 1536;
|
||||||
Camera.item = NULL;
|
Camera.item = NULL;
|
||||||
Camera.numberFrames = 1;
|
Camera.numberFrames = 1;
|
||||||
Camera.type = CHASE_CAMERA;
|
Camera.type = CAMERA_TYPE::CHASE_CAMERA;
|
||||||
Camera.speed = 1;
|
Camera.speed = 1;
|
||||||
Camera.flags = CF_FOLLOW_CENTER;
|
Camera.flags = CF_FOLLOW_CENTER;
|
||||||
Camera.bounce = 0;
|
Camera.bounce = 0;
|
||||||
|
@ -672,7 +672,7 @@ void CombatCamera(ITEM_INFO* item)
|
||||||
|
|
||||||
CameraCollisionBounds(&ideal, 384, 1);
|
CameraCollisionBounds(&ideal, 384, 1);
|
||||||
|
|
||||||
if (Camera.oldType == FIXED_CAMERA)
|
if (Camera.oldType == CAMERA_TYPE::FIXED_CAMERA)
|
||||||
{
|
{
|
||||||
Camera.speed = 1;
|
Camera.speed = 1;
|
||||||
}
|
}
|
||||||
|
@ -1004,7 +1004,7 @@ void LookCamera(ITEM_INFO* item)
|
||||||
OldCam.pos.zPos == LaraItem->pos.zPos &&
|
OldCam.pos.zPos == LaraItem->pos.zPos &&
|
||||||
OldCam.currentAnimState == LaraItem->currentAnimState &&
|
OldCam.currentAnimState == LaraItem->currentAnimState &&
|
||||||
OldCam.goalAnimState == LaraItem->goalAnimState &&
|
OldCam.goalAnimState == LaraItem->goalAnimState &&
|
||||||
Camera.oldType == LOOK_CAMERA)
|
Camera.oldType == CAMERA_TYPE::LOOK_CAMERA)
|
||||||
{
|
{
|
||||||
ideal.x = LookCamPosition.x;
|
ideal.x = LookCamPosition.x;
|
||||||
ideal.y = LookCamPosition.y;
|
ideal.y = LookCamPosition.y;
|
||||||
|
@ -1034,7 +1034,7 @@ void LookCamera(ITEM_INFO* item)
|
||||||
|
|
||||||
CameraCollisionBounds(&ideal, 224, 1);
|
CameraCollisionBounds(&ideal, 224, 1);
|
||||||
|
|
||||||
if (Camera.oldType == FIXED_CAMERA)
|
if (Camera.oldType == CAMERA_TYPE::FIXED_CAMERA)
|
||||||
{
|
{
|
||||||
Camera.pos.x = ideal.x;
|
Camera.pos.x = ideal.x;
|
||||||
Camera.pos.y = ideal.y;
|
Camera.pos.y = ideal.y;
|
||||||
|
@ -1230,7 +1230,7 @@ void BinocularCamera(ITEM_INFO* item)
|
||||||
int ty = y - 20736 * phd_sin(headXrot);
|
int ty = y - 20736 * phd_sin(headXrot);
|
||||||
int tz = z + l * phd_cos(LaraItem->pos.yRot + headYrot);
|
int tz = z + l * phd_cos(LaraItem->pos.yRot + headYrot);
|
||||||
|
|
||||||
if (Camera.oldType == FIXED_CAMERA)
|
if (Camera.oldType == CAMERA_TYPE::FIXED_CAMERA)
|
||||||
{
|
{
|
||||||
Camera.target.x = tx;
|
Camera.target.x = tx;
|
||||||
Camera.target.y = ty;
|
Camera.target.y = ty;
|
||||||
|
@ -1554,8 +1554,8 @@ void CalculateCamera()
|
||||||
|
|
||||||
if (UseForcedFixedCamera != 0)
|
if (UseForcedFixedCamera != 0)
|
||||||
{
|
{
|
||||||
Camera.type = FIXED_CAMERA;
|
Camera.type = CAMERA_TYPE::FIXED_CAMERA;
|
||||||
if (Camera.oldType != FIXED_CAMERA)
|
if (Camera.oldType != CAMERA_TYPE::FIXED_CAMERA)
|
||||||
{
|
{
|
||||||
Camera.speed = 1;
|
Camera.speed = 1;
|
||||||
}
|
}
|
||||||
|
@ -1583,7 +1583,7 @@ void CalculateCamera()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Camera.type == CINEMATIC_CAMERA)
|
if (Camera.type == CAMERA_TYPE::CINEMATIC_CAMERA)
|
||||||
{
|
{
|
||||||
//Legacy_do_new_cutscene_camera();
|
//Legacy_do_new_cutscene_camera();
|
||||||
return;
|
return;
|
||||||
|
@ -1591,7 +1591,7 @@ void CalculateCamera()
|
||||||
|
|
||||||
ITEM_INFO* item;
|
ITEM_INFO* item;
|
||||||
int fixedCamera = 0;
|
int fixedCamera = 0;
|
||||||
if (Camera.item != NULL && (Camera.type == FIXED_CAMERA || Camera.type == HEAVY_CAMERA))
|
if (Camera.item != NULL && (Camera.type == CAMERA_TYPE::FIXED_CAMERA || Camera.type == CAMERA_TYPE::HEAVY_CAMERA))
|
||||||
{
|
{
|
||||||
item = Camera.item;
|
item = Camera.item;
|
||||||
fixedCamera = 1;
|
fixedCamera = 1;
|
||||||
|
@ -1641,15 +1641,15 @@ void CalculateCamera()
|
||||||
Lara.headXrot += change;
|
Lara.headXrot += change;
|
||||||
Lara.torsoXrot = Lara.headXrot;
|
Lara.torsoXrot = Lara.headXrot;
|
||||||
|
|
||||||
Camera.type = LOOK_CAMERA;
|
Camera.type = CAMERA_TYPE::LOOK_CAMERA;
|
||||||
Camera.item->lookedAt = 1;
|
Camera.item->lookedAt = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Camera.type == LOOK_CAMERA || Camera.type == COMBAT_CAMERA)
|
if (Camera.type == CAMERA_TYPE::LOOK_CAMERA || Camera.type == CAMERA_TYPE::COMBAT_CAMERA)
|
||||||
{
|
{
|
||||||
if (Camera.type == COMBAT_CAMERA)
|
if (Camera.type == CAMERA_TYPE::COMBAT_CAMERA)
|
||||||
{
|
{
|
||||||
LastTarget.x = Camera.target.x;
|
LastTarget.x = Camera.target.x;
|
||||||
LastTarget.y = Camera.target.y;
|
LastTarget.y = Camera.target.y;
|
||||||
|
@ -1667,11 +1667,11 @@ void CalculateCamera()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Camera.target.y += (y - Camera.target.y) >> 2;
|
Camera.target.y += (y - Camera.target.y) >> 2;
|
||||||
Camera.speed = Camera.type != LOOK_CAMERA ? 8 : 4;
|
Camera.speed = Camera.type != CAMERA_TYPE::LOOK_CAMERA ? 8 : 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
Camera.fixedCamera = 0;
|
Camera.fixedCamera = 0;
|
||||||
if (Camera.type == LOOK_CAMERA)
|
if (Camera.type == CAMERA_TYPE::LOOK_CAMERA)
|
||||||
LookCamera(item);
|
LookCamera(item);
|
||||||
else
|
else
|
||||||
CombatCamera(item);
|
CombatCamera(item);
|
||||||
|
@ -1686,7 +1686,7 @@ void CalculateCamera()
|
||||||
Camera.target.roomNumber = item->roomNumber;
|
Camera.target.roomNumber = item->roomNumber;
|
||||||
Camera.target.y = y;
|
Camera.target.y = y;
|
||||||
|
|
||||||
if (Camera.type
|
if (Camera.type != CAMERA_TYPE::CHASE_CAMERA
|
||||||
&& Camera.flags != CF_CHASE_OBJECT
|
&& Camera.flags != CF_CHASE_OBJECT
|
||||||
&& (Camera.number != -1 &&(SniperCamActive = g_Level.Cameras[Camera.number].flags & 3, g_Level.Cameras[Camera.number].flags & 2)))
|
&& (Camera.number != -1 &&(SniperCamActive = g_Level.Cameras[Camera.number].flags & 3, g_Level.Cameras[Camera.number].flags & 2)))
|
||||||
{
|
{
|
||||||
|
@ -1725,7 +1725,7 @@ void CalculateCamera()
|
||||||
if (fixedCamera == Camera.fixedCamera)
|
if (fixedCamera == Camera.fixedCamera)
|
||||||
{
|
{
|
||||||
Camera.fixedCamera = 0;
|
Camera.fixedCamera = 0;
|
||||||
if (Camera.speed != 1 && Camera.oldType != LOOK_CAMERA && BinocularOn >= 0)
|
if (Camera.speed != 1 && Camera.oldType != CAMERA_TYPE::LOOK_CAMERA && BinocularOn >= 0)
|
||||||
{
|
{
|
||||||
if (TargetSnaps <= 8)
|
if (TargetSnaps <= 8)
|
||||||
{
|
{
|
||||||
|
@ -1760,7 +1760,7 @@ void CalculateCamera()
|
||||||
Camera.target.z = LastTarget.z;
|
Camera.target.z = LastTarget.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Camera.type && Camera.flags != CF_CHASE_OBJECT)
|
if (Camera.type != CAMERA_TYPE::CHASE_CAMERA && Camera.flags != CF_CHASE_OBJECT)
|
||||||
FixedCamera(item);
|
FixedCamera(item);
|
||||||
else
|
else
|
||||||
ChaseCamera(item);
|
ChaseCamera(item);
|
||||||
|
@ -1769,9 +1769,9 @@ void CalculateCamera()
|
||||||
Camera.fixedCamera = fixedCamera;
|
Camera.fixedCamera = fixedCamera;
|
||||||
Camera.last = Camera.number;
|
Camera.last = Camera.number;
|
||||||
|
|
||||||
if (Camera.type != HEAVY_CAMERA || Camera.timer == -1)
|
if (Camera.type != CAMERA_TYPE::HEAVY_CAMERA || Camera.timer == -1)
|
||||||
{
|
{
|
||||||
Camera.type = CHASE_CAMERA;
|
Camera.type = CAMERA_TYPE::CHASE_CAMERA;
|
||||||
Camera.speed = 10;
|
Camera.speed = 10;
|
||||||
Camera.number = -1;
|
Camera.number = -1;
|
||||||
Camera.lastItem = Camera.item;
|
Camera.lastItem = Camera.item;
|
||||||
|
@ -1786,7 +1786,7 @@ void CalculateCamera()
|
||||||
|
|
||||||
void LookLeftRight()
|
void LookLeftRight()
|
||||||
{
|
{
|
||||||
Camera.type = LOOK_CAMERA;
|
Camera.type = CAMERA_TYPE::LOOK_CAMERA;
|
||||||
if (TrInput & IN_LEFT)
|
if (TrInput & IN_LEFT)
|
||||||
{
|
{
|
||||||
TrInput &= ~IN_LEFT;
|
TrInput &= ~IN_LEFT;
|
||||||
|
@ -1818,7 +1818,7 @@ void LookLeftRight()
|
||||||
|
|
||||||
void LookUpDown()
|
void LookUpDown()
|
||||||
{
|
{
|
||||||
Camera.type = LOOK_CAMERA;
|
Camera.type = CAMERA_TYPE::LOOK_CAMERA;
|
||||||
if (TrInput & IN_FORWARD)
|
if (TrInput & IN_FORWARD)
|
||||||
{
|
{
|
||||||
TrInput &= ~IN_FORWARD;
|
TrInput &= ~IN_FORWARD;
|
||||||
|
@ -1850,7 +1850,7 @@ void LookUpDown()
|
||||||
|
|
||||||
void ResetLook()
|
void ResetLook()
|
||||||
{
|
{
|
||||||
if (Camera.type != LOOK_CAMERA)
|
if (Camera.type != CAMERA_TYPE::LOOK_CAMERA)
|
||||||
{
|
{
|
||||||
if (Lara.headXrot <= -ANGLE(2.0f) || Lara.headXrot >= ANGLE(2.0f))
|
if (Lara.headXrot <= -ANGLE(2.0f) || Lara.headXrot >= ANGLE(2.0f))
|
||||||
Lara.headXrot = Lara.headXrot / -8 + Lara.headXrot;
|
Lara.headXrot = Lara.headXrot / -8 + Lara.headXrot;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#include "Specific/phd_global.h"
|
#include "Specific/phd_global.h"
|
||||||
#include "items.h"
|
#include "items.h"
|
||||||
|
|
||||||
enum CAMERA_TYPE
|
enum class CAMERA_TYPE
|
||||||
{
|
{
|
||||||
CHASE_CAMERA,
|
CHASE_CAMERA,
|
||||||
FIXED_CAMERA,
|
FIXED_CAMERA,
|
||||||
|
|
|
@ -256,7 +256,7 @@ void CreatureKill(ITEM_INFO* item, int killAnim, int killState, short laraKillSt
|
||||||
Lara.air = -1;
|
Lara.air = -1;
|
||||||
|
|
||||||
Camera.pos.roomNumber = LaraItem->roomNumber;
|
Camera.pos.roomNumber = LaraItem->roomNumber;
|
||||||
Camera.type = CHASE_CAMERA;
|
Camera.type = CAMERA_TYPE::CHASE_CAMERA;
|
||||||
Camera.flags = CF_FOLLOW_CENTER;
|
Camera.flags = CF_FOLLOW_CENTER;
|
||||||
Camera.targetAngle = ANGLE(170.0f);
|
Camera.targetAngle = ANGLE(170.0f);
|
||||||
Camera.targetElevation = -ANGLE(25.0f);
|
Camera.targetElevation = -ANGLE(25.0f);
|
||||||
|
|
|
@ -125,7 +125,7 @@ GAME_STATUS ControlPhase(int numFrames, int demoMode)
|
||||||
if (CurrentLevel != 0)
|
if (CurrentLevel != 0)
|
||||||
{
|
{
|
||||||
if (S_UpdateInput() == -1)
|
if (S_UpdateInput() == -1)
|
||||||
return GAME_STATUS_NONE;
|
return GAME_STATUS::GAME_STATUS_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Has Lara control been disabled?
|
// Has Lara control been disabled?
|
||||||
|
@ -148,7 +148,7 @@ GAME_STATUS ControlPhase(int numFrames, int demoMode)
|
||||||
g_Inventory.Set_invMode(IM_SAVE);
|
g_Inventory.Set_invMode(IM_SAVE);
|
||||||
|
|
||||||
if (g_Inventory.S_CallInventory2(0))
|
if (g_Inventory.S_CallInventory2(0))
|
||||||
return GAME_STATUS_LOAD_GAME;
|
return GAME_STATUS::GAME_STATUS_LOAD_GAME;
|
||||||
}
|
}
|
||||||
else if (TrInput & IN_LOAD && g_Inventory.Get_invMode() != IM_LOAD)
|
else if (TrInput & IN_LOAD && g_Inventory.Get_invMode() != IM_LOAD)
|
||||||
{
|
{
|
||||||
|
@ -157,7 +157,7 @@ GAME_STATUS ControlPhase(int numFrames, int demoMode)
|
||||||
g_Inventory.Set_invMode(IM_LOAD);
|
g_Inventory.Set_invMode(IM_LOAD);
|
||||||
|
|
||||||
if (g_Inventory.S_CallInventory2(0))
|
if (g_Inventory.S_CallInventory2(0))
|
||||||
return GAME_STATUS_LOAD_GAME;
|
return GAME_STATUS::GAME_STATUS_LOAD_GAME;
|
||||||
}
|
}
|
||||||
else if (TrInput & IN_PAUSE && g_Inventory.Get_invMode() != IM_PAUSE && LaraItem->hitPoints > 0)
|
else if (TrInput & IN_PAUSE && g_Inventory.Get_invMode() != IM_PAUSE && LaraItem->hitPoints > 0)
|
||||||
{
|
{
|
||||||
|
@ -173,7 +173,7 @@ GAME_STATUS ControlPhase(int numFrames, int demoMode)
|
||||||
Sound_Stop();
|
Sound_Stop();
|
||||||
|
|
||||||
if (g_Inventory.S_CallInventory2(1))
|
if (g_Inventory.S_CallInventory2(1))
|
||||||
return GAME_STATUS_LOAD_GAME;
|
return GAME_STATUS::GAME_STATUS_LOAD_GAME;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,19 +185,19 @@ GAME_STATUS ControlPhase(int numFrames, int demoMode)
|
||||||
int z = g_Inventory.DoPauseMenu();
|
int z = g_Inventory.DoPauseMenu();
|
||||||
|
|
||||||
if (z == INV_RESULT_EXIT_TO_TILE)
|
if (z == INV_RESULT_EXIT_TO_TILE)
|
||||||
return GAME_STATUS_EXIT_TO_TITLE;
|
return GAME_STATUS::GAME_STATUS_EXIT_TO_TITLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Has level been completed?
|
// Has level been completed?
|
||||||
if (CurrentLevel != 0 && LevelComplete)
|
if (CurrentLevel != 0 && LevelComplete)
|
||||||
return GAME_STATUS_LEVEL_COMPLETED;
|
return GAME_STATUS::GAME_STATUS_LEVEL_COMPLETED;
|
||||||
|
|
||||||
int oldInput = TrInput;
|
int oldInput = TrInput;
|
||||||
|
|
||||||
// Is Lara dead?
|
// Is Lara dead?
|
||||||
if (CurrentLevel != 0 && (Lara.deathCount > 300 || Lara.deathCount > 60 && TrInput))
|
if (CurrentLevel != 0 && (Lara.deathCount > 300 || Lara.deathCount > 60 && TrInput))
|
||||||
{
|
{
|
||||||
return GAME_STATUS_EXIT_TO_TITLE;//maybe do game over menu like some PSX versions have??
|
return GAME_STATUS::GAME_STATUS_EXIT_TO_TITLE; // Maybe do game over menu like some PSX versions have??
|
||||||
}
|
}
|
||||||
|
|
||||||
if (demoMode && TrInput == -1)
|
if (demoMode && TrInput == -1)
|
||||||
|
@ -416,7 +416,7 @@ GAME_STATUS ControlPhase(int numFrames, int demoMode)
|
||||||
GameTimer++;
|
GameTimer++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return GAME_STATUS_NONE;
|
return GAME_STATUS::GAME_STATUS_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned CALLBACK GameMain(void *)
|
unsigned CALLBACK GameMain(void *)
|
||||||
|
@ -549,14 +549,14 @@ GAME_STATUS DoTitle(int index)
|
||||||
switch (inventoryResult)
|
switch (inventoryResult)
|
||||||
{
|
{
|
||||||
case INV_RESULT_NEW_GAME:
|
case INV_RESULT_NEW_GAME:
|
||||||
return GAME_STATUS_NEW_GAME;
|
return GAME_STATUS::GAME_STATUS_NEW_GAME;
|
||||||
case INV_RESULT_LOAD_GAME:
|
case INV_RESULT_LOAD_GAME:
|
||||||
return GAME_STATUS_LOAD_GAME;
|
return GAME_STATUS::GAME_STATUS_LOAD_GAME;
|
||||||
case INV_RESULT_EXIT_GAME:
|
case INV_RESULT_EXIT_GAME:
|
||||||
return GAME_STATUS_EXIT_GAME;
|
return GAME_STATUS::GAME_STATUS_EXIT_GAME;
|
||||||
}
|
}
|
||||||
|
|
||||||
return GAME_STATUS_NEW_GAME;
|
return GAME_STATUS::GAME_STATUS_NEW_GAME;
|
||||||
}
|
}
|
||||||
|
|
||||||
GAME_STATUS DoLevel(int index, std::string ambient, bool loadFromSavegame)
|
GAME_STATUS DoLevel(int index, std::string ambient, bool loadFromSavegame)
|
||||||
|
@ -666,9 +666,9 @@ GAME_STATUS DoLevel(int index, std::string ambient, bool loadFromSavegame)
|
||||||
nframes = DrawPhase();
|
nframes = DrawPhase();
|
||||||
Sound_UpdateScene();
|
Sound_UpdateScene();
|
||||||
|
|
||||||
if (result == GAME_STATUS_EXIT_TO_TITLE ||
|
if (result == GAME_STATUS::GAME_STATUS_EXIT_TO_TITLE ||
|
||||||
result == GAME_STATUS_LOAD_GAME ||
|
result == GAME_STATUS::GAME_STATUS_LOAD_GAME ||
|
||||||
result == GAME_STATUS_LEVEL_COMPLETED)
|
result == GAME_STATUS::GAME_STATUS_LEVEL_COMPLETED)
|
||||||
{
|
{
|
||||||
g_GameScript->OnEnd();
|
g_GameScript->OnEnd();
|
||||||
g_GameScript->FreeLevelScripts();
|
g_GameScript->FreeLevelScripts();
|
||||||
|
|
|
@ -14,7 +14,7 @@ struct ANIM_STRUCT;
|
||||||
struct MESH_INFO;
|
struct MESH_INFO;
|
||||||
struct ROOM_INFO;
|
struct ROOM_INFO;
|
||||||
|
|
||||||
enum GAME_STATUS
|
enum class GAME_STATUS
|
||||||
{
|
{
|
||||||
GAME_STATUS_NONE,
|
GAME_STATUS_NONE,
|
||||||
GAME_STATUS_NEW_GAME,
|
GAME_STATUS_NEW_GAME,
|
||||||
|
|
|
@ -369,9 +369,9 @@ int ObjectOnLOS2(GAME_VECTOR* start, GAME_VECTOR* end, PHD_VECTOR* vec, MESH_INF
|
||||||
int DoRayBox(GAME_VECTOR* start, GAME_VECTOR* end, BOUNDING_BOX* box, PHD_3DPOS* itemOrStaticPos, PHD_VECTOR* hitPos, short closesItemNumber)
|
int DoRayBox(GAME_VECTOR* start, GAME_VECTOR* end, BOUNDING_BOX* box, PHD_3DPOS* itemOrStaticPos, PHD_VECTOR* hitPos, short closesItemNumber)
|
||||||
{
|
{
|
||||||
// Ray
|
// Ray
|
||||||
FXMVECTOR rayStart = { start->x, start->y, start->z };
|
FXMVECTOR rayStart = { (float)start->x, (float)start->y, (float)start->z };
|
||||||
FXMVECTOR rayEnd = { end->x, end->y, end->z };
|
FXMVECTOR rayEnd = { (float)end->x, (float)end->y, (float)end->z };
|
||||||
FXMVECTOR rayDir = { end->x - start->x, end->y - start->y, end->z - start->z };
|
FXMVECTOR rayDir = { (float)(end->x - start->x), (float)(end->y - start->y), (float)(end->z - start->z) };
|
||||||
XMVECTOR rayDirNormalized = XMVector3Normalize(rayDir);
|
XMVECTOR rayDirNormalized = XMVector3Normalize(rayDir);
|
||||||
|
|
||||||
// Create the bounding box for raw collision detection
|
// Create the bounding box for raw collision detection
|
||||||
|
|
|
@ -209,13 +209,13 @@ void RefreshCamera(short type, short* data)
|
||||||
{
|
{
|
||||||
Camera.number = value;
|
Camera.number = value;
|
||||||
|
|
||||||
if ((Camera.timer < 0) || (Camera.type == LOOK_CAMERA) || (Camera.type == COMBAT_CAMERA))
|
if ((Camera.timer < 0) || (Camera.type == CAMERA_TYPE::LOOK_CAMERA) || (Camera.type == CAMERA_TYPE::COMBAT_CAMERA))
|
||||||
{
|
{
|
||||||
Camera.timer = -1;
|
Camera.timer = -1;
|
||||||
targetOk = 0;
|
targetOk = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Camera.type = FIXED_CAMERA;
|
Camera.type = CAMERA_TYPE::FIXED_CAMERA;
|
||||||
targetOk = 1;
|
targetOk = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -223,7 +223,7 @@ void RefreshCamera(short type, short* data)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TO_TARGET:
|
case TO_TARGET:
|
||||||
if (Camera.type == LOOK_CAMERA || Camera.type == COMBAT_CAMERA)
|
if (Camera.type == CAMERA_TYPE::LOOK_CAMERA || Camera.type == CAMERA_TYPE::COMBAT_CAMERA)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
Camera.item = &g_Level.Items[value];
|
Camera.item = &g_Level.Items[value];
|
||||||
|
@ -278,7 +278,7 @@ void TestTriggers(FLOOR_INFO* floor, int x, int y, int z, bool heavy, int heavyF
|
||||||
short flags = *(data++);
|
short flags = *(data++);
|
||||||
short timer = flags & 0xFF;
|
short timer = flags & 0xFF;
|
||||||
|
|
||||||
if (Camera.type != HEAVY_CAMERA)
|
if (Camera.type != CAMERA_TYPE::HEAVY_CAMERA)
|
||||||
RefreshCamera(triggerType, data);
|
RefreshCamera(triggerType, data);
|
||||||
|
|
||||||
short value = 0;
|
short value = 0;
|
||||||
|
@ -528,7 +528,7 @@ void TestTriggers(FLOOR_INFO* floor, int x, int y, int z, bool heavy, int heavyF
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->status == ITEM_INVISIBLE;
|
item->status = ITEM_INVISIBLE;
|
||||||
AddActiveItem(value);
|
AddActiveItem(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -562,7 +562,7 @@ void TestTriggers(FLOOR_INFO* floor, int x, int y, int z, bool heavy, int heavyF
|
||||||
|
|
||||||
Camera.number = value;
|
Camera.number = value;
|
||||||
|
|
||||||
if (Camera.type == LOOK_CAMERA || Camera.type == COMBAT_CAMERA && !(g_Level.Cameras[value].flags & 3))
|
if (Camera.type == CAMERA_TYPE::LOOK_CAMERA || Camera.type == CAMERA_TYPE::COMBAT_CAMERA && !(g_Level.Cameras[value].flags & 3))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (triggerType == TRIGGER_TYPES::COMBAT)
|
if (triggerType == TRIGGER_TYPES::COMBAT)
|
||||||
|
@ -574,7 +574,7 @@ void TestTriggers(FLOOR_INFO* floor, int x, int y, int z, bool heavy, int heavyF
|
||||||
if (Camera.number != Camera.last || triggerType == TRIGGER_TYPES::SWITCH)
|
if (Camera.number != Camera.last || triggerType == TRIGGER_TYPES::SWITCH)
|
||||||
{
|
{
|
||||||
Camera.timer = (trigger & 0xFF) * 30;
|
Camera.timer = (trigger & 0xFF) * 30;
|
||||||
Camera.type = heavy ? HEAVY_CAMERA : FIXED_CAMERA;
|
Camera.type = heavy ? CAMERA_TYPE::HEAVY_CAMERA : CAMERA_TYPE::FIXED_CAMERA;
|
||||||
if (trigger & ONESHOT)
|
if (trigger & ONESHOT)
|
||||||
g_Level.Cameras[Camera.number].flags |= ONESHOT;
|
g_Level.Cameras[Camera.number].flags |= ONESHOT;
|
||||||
}
|
}
|
||||||
|
@ -683,7 +683,7 @@ void TestTriggers(FLOOR_INFO* floor, int x, int y, int z, bool heavy, int heavyF
|
||||||
|
|
||||||
} while (!(trigger & END_BIT));
|
} while (!(trigger & END_BIT));
|
||||||
|
|
||||||
if (cameraItem && (Camera.type == FIXED_CAMERA || Camera.type == HEAVY_CAMERA))
|
if (cameraItem && (Camera.type == CAMERA_TYPE::FIXED_CAMERA || Camera.type == CAMERA_TYPE::HEAVY_CAMERA))
|
||||||
Camera.item = cameraItem;
|
Camera.item = cameraItem;
|
||||||
|
|
||||||
if (flip != -1)
|
if (flip != -1)
|
||||||
|
|
|
@ -118,7 +118,7 @@ void TriggerChaffSparkles (PHD_VECTOR* pos, PHD_VECTOR* vel, CVECTOR* color,int
|
||||||
sparkle->colFadeSpeed = 3;
|
sparkle->colFadeSpeed = 3;
|
||||||
sparkle->fadeToBlack = 5;
|
sparkle->fadeToBlack = 5;
|
||||||
sparkle->sLife = sparkle->life = 10;
|
sparkle->sLife = sparkle->life = 10;
|
||||||
sparkle->transType = COLADD;
|
sparkle->transType = TransTypeEnum::COLADD;
|
||||||
sparkle->dynamic = true;
|
sparkle->dynamic = true;
|
||||||
|
|
||||||
sparkle->x = pos->x + (GetRandomDraw() & 7) - 3;
|
sparkle->x = pos->x + (GetRandomDraw() & 7) - 3;
|
||||||
|
@ -173,7 +173,7 @@ void TriggerChaffSmoke(PHD_VECTOR* pos, PHD_VECTOR* vel, int speed, bool moving,
|
||||||
smoke->sLife = rnd;
|
smoke->sLife = rnd;
|
||||||
}
|
}
|
||||||
|
|
||||||
smoke->transType = COLADD;
|
smoke->transType = TransTypeEnum::COLADD;
|
||||||
|
|
||||||
smoke->x = pos->x + (GetRandomControl() & 7) - 3;
|
smoke->x = pos->x + (GetRandomControl() & 7) - 3;
|
||||||
smoke->y = pos->y + (GetRandomControl() & 7) - 3;
|
smoke->y = pos->y + (GetRandomControl() & 7) - 3;
|
||||||
|
|
|
@ -416,7 +416,7 @@ void TriggerCyborgSpark(int x, int y, int z, short xv, short yv, short zv)
|
||||||
spark->dB = -64 - ((random & 0x7F) + 64);
|
spark->dB = -64 - ((random & 0x7F) + 64);
|
||||||
spark->life = 10;
|
spark->life = 10;
|
||||||
spark->sLife = 10;
|
spark->sLife = 10;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->friction = 34;
|
spark->friction = 34;
|
||||||
spark->scalar = 1;
|
spark->scalar = 1;
|
||||||
spark->x = (random & 7) + x - 3;
|
spark->x = (random & 7) + x - 3;
|
||||||
|
@ -458,7 +458,7 @@ void TriggerExplosionBubbles(int x, int y, int z, short roomNumber)
|
||||||
spark->sB = 0;
|
spark->sB = 0;
|
||||||
spark->colFadeSpeed = 8;
|
spark->colFadeSpeed = 8;
|
||||||
spark->fadeToBlack = 12;
|
spark->fadeToBlack = 12;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->x = x;
|
spark->x = x;
|
||||||
spark->y = y;
|
spark->y = y;
|
||||||
spark->z = z;
|
spark->z = z;
|
||||||
|
@ -513,9 +513,9 @@ void TriggerExplosionSmokeEnd(int x, int y, int z, int uw)
|
||||||
spark->fadeToBlack = 64;
|
spark->fadeToBlack = 64;
|
||||||
spark->life = spark->sLife= (GetRandomControl() & 0x1F) + 96;
|
spark->life = spark->sLife= (GetRandomControl() & 0x1F) + 96;
|
||||||
if (uw)
|
if (uw)
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
else
|
else
|
||||||
spark->transType = COLSUB;
|
spark->transType = TransTypeEnum::COLSUB;
|
||||||
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
||||||
spark->y = (GetRandomControl() & 0x1F) + y - 16;
|
spark->y = (GetRandomControl() & 0x1F) + y - 16;
|
||||||
spark->z = (GetRandomControl() & 0x1F) + z - 16;
|
spark->z = (GetRandomControl() & 0x1F) + z - 16;
|
||||||
|
@ -571,7 +571,7 @@ void TriggerExplosionSmoke(int x, int y, int z, int uw)
|
||||||
spark->dB = 64;
|
spark->dB = 64;
|
||||||
spark->colFadeSpeed = 2;
|
spark->colFadeSpeed = 2;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->transType = COLSUB;
|
spark->transType = TransTypeEnum::COLSUB;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 10;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 10;
|
||||||
spark->x = (GetRandomControl() & 0x1FF) + x - 256;
|
spark->x = (GetRandomControl() & 0x1FF) + x - 256;
|
||||||
spark->y = (GetRandomControl() & 0x1FF) + y - 256;
|
spark->y = (GetRandomControl() & 0x1FF) + y - 256;
|
||||||
|
@ -680,7 +680,7 @@ void TriggerExplosionSmoke(int x, int y, int z, int uw)
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
||||||
spark->sLife = spark->life = (GetRandomControl() & 3) + 28;
|
spark->sLife = spark->life = (GetRandomControl() & 3) + 28;
|
||||||
}
|
}
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
if (fxObj == -1)
|
if (fxObj == -1)
|
||||||
{
|
{
|
||||||
if (type && type != 1)
|
if (type && type != 1)
|
||||||
|
@ -808,7 +808,7 @@ void TriggerSuperJetFlame(ITEM_INFO* item, int yvel, int deadly)
|
||||||
sptr->dB = 32;
|
sptr->dB = 32;
|
||||||
sptr->colFadeSpeed = 8;
|
sptr->colFadeSpeed = 8;
|
||||||
sptr->fadeToBlack = 8;
|
sptr->fadeToBlack = 8;
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->life = sptr->sLife = (size >> 9) + (GetRandomControl() & 7) + 16;
|
sptr->life = sptr->sLife = (size >> 9) + (GetRandomControl() & 7) + 16;
|
||||||
sptr->x = (GetRandomControl() & 0x1F) + item->pos.xPos - 16;
|
sptr->x = (GetRandomControl() & 0x1F) + item->pos.xPos - 16;
|
||||||
sptr->y = (GetRandomControl() & 0x1F) + item->pos.yPos - 16;
|
sptr->y = (GetRandomControl() & 0x1F) + item->pos.yPos - 16;
|
||||||
|
@ -1146,7 +1146,7 @@ void TriggerWaterfallMist(int x, int y, int z, int angle)
|
||||||
spark->dG = 64;
|
spark->dG = 64;
|
||||||
spark->dB = 64;
|
spark->dB = 64;
|
||||||
spark->colFadeSpeed = 1;
|
spark->colFadeSpeed = 1;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
||||||
spark->fadeToBlack = spark->life - 4;
|
spark->fadeToBlack = spark->life - 4;
|
||||||
dl = ((dh + (GlobalCounter << 6)) % 1536) + (GetRandomControl() & 0x3F) - 32;
|
dl = ((dh + (GlobalCounter << 6)) % 1536) + (GetRandomControl() & 0x3F) - 32;
|
||||||
|
@ -1180,7 +1180,7 @@ void TriggerWaterfallMist(int x, int y, int z, int angle)
|
||||||
spark->dG = 96;
|
spark->dG = 96;
|
||||||
spark->dB = 96;
|
spark->dB = 96;
|
||||||
spark->colFadeSpeed = 1;
|
spark->colFadeSpeed = 1;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
||||||
spark->fadeToBlack = spark->life - 1;
|
spark->fadeToBlack = spark->life - 1;
|
||||||
dl = GetRandomControl() % 1408 + 64;
|
dl = GetRandomControl() % 1408 + 64;
|
||||||
|
@ -1296,7 +1296,7 @@ void TriggerRocketFlame(int x, int y, int z, int xv, int yv, int zv, int itemNum
|
||||||
sptr->colFadeSpeed = 12 + (GetRandomControl() & 3);
|
sptr->colFadeSpeed = 12 + (GetRandomControl() & 3);
|
||||||
sptr->fadeToBlack = 12;
|
sptr->fadeToBlack = 12;
|
||||||
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 28;
|
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 28;
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->extras = 0;
|
sptr->extras = 0;
|
||||||
sptr->dynamic = -1;
|
sptr->dynamic = -1;
|
||||||
|
|
||||||
|
@ -1351,7 +1351,7 @@ void TriggerRocketFire(int x, int y, int z)
|
||||||
sptr->colFadeSpeed = 4 + (GetRandomControl() & 3);
|
sptr->colFadeSpeed = 4 + (GetRandomControl() & 3);
|
||||||
sptr->fadeToBlack = 12;
|
sptr->fadeToBlack = 12;
|
||||||
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 20;
|
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 20;
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->extras = 0;
|
sptr->extras = 0;
|
||||||
sptr->dynamic = -1;
|
sptr->dynamic = -1;
|
||||||
|
|
||||||
|
@ -1403,7 +1403,7 @@ void TriggerRocketSmoke(int x, int y, int z, int bodyPart)
|
||||||
sptr->colFadeSpeed = 4 + (GetRandomControl() & 3);
|
sptr->colFadeSpeed = 4 + (GetRandomControl() & 3);
|
||||||
sptr->fadeToBlack = 12;
|
sptr->fadeToBlack = 12;
|
||||||
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 20;
|
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 20;
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->extras = 0;
|
sptr->extras = 0;
|
||||||
sptr->dynamic = -1;
|
sptr->dynamic = -1;
|
||||||
|
|
||||||
|
@ -1457,7 +1457,7 @@ void TriggerFlashSmoke(int x, int y, int z, short roomNumber)
|
||||||
spark->dShade = -128;
|
spark->dShade = -128;
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->fadeToBlack = 16;
|
spark->fadeToBlack = 16;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 0xF) + 64;
|
spark->life = spark->sLife = (GetRandomControl() & 0xF) + 64;
|
||||||
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
||||||
spark->y = (GetRandomControl() & 0x1F) + y - 16;
|
spark->y = (GetRandomControl() & 0x1F) + y - 16;
|
||||||
|
@ -1563,7 +1563,7 @@ void TriggerFireFlame(int x, int y, int z, int fxObj, int type)
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 18;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
|
|
||||||
if (fxObj != -1)
|
if (fxObj != -1)
|
||||||
{
|
{
|
||||||
|
@ -1735,7 +1735,7 @@ void TriggerMetalSparks(int x, int y, int z, int xv, int yv, int zv, int additio
|
||||||
spark->colFadeSpeed = 3;
|
spark->colFadeSpeed = 3;
|
||||||
spark->fadeToBlack = 5;
|
spark->fadeToBlack = 5;
|
||||||
spark->y = ((r >> 3) & 7) + y - 3;
|
spark->y = ((r >> 3) & 7) + y - 3;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->friction = 34;
|
spark->friction = 34;
|
||||||
spark->scalar = 1;
|
spark->scalar = 1;
|
||||||
spark->z = ((r >> 6) & 7) + z - 3;
|
spark->z = ((r >> 6) & 7) + z - 3;
|
||||||
|
@ -1757,7 +1757,7 @@ void TriggerMetalSparks(int x, int y, int z, int xv, int yv, int zv, int additio
|
||||||
spark->sR = spark->dR >> 1;
|
spark->sR = spark->dR >> 1;
|
||||||
spark->sG = spark->dG >> 1;
|
spark->sG = spark->dG >> 1;
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->colFadeSpeed = (r & 3) + 8;
|
spark->colFadeSpeed = (r & 3) + 8;
|
||||||
spark->sB = spark->dB >> 1;
|
spark->sB = spark->dB >> 1;
|
||||||
spark->dR = 32;
|
spark->dR = 32;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "Specific\phd_global.h"
|
#include "Specific\phd_global.h"
|
||||||
|
|
||||||
struct ITEM_INFO;
|
struct ITEM_INFO;
|
||||||
struct COLL_INFO;
|
struct COLL_INFO;
|
||||||
|
|
||||||
|
@ -32,7 +33,7 @@ enum SpriteEnumFlag
|
||||||
SP_PLASMAEXP = 0x2000
|
SP_PLASMAEXP = 0x2000
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TransTypeEnum
|
enum class TransTypeEnum
|
||||||
{
|
{
|
||||||
NOTRANS,
|
NOTRANS,
|
||||||
SEMITRANS,
|
SEMITRANS,
|
||||||
|
|
|
@ -391,7 +391,7 @@ namespace TEN::Effects::Lightning
|
||||||
spark->dR = r;
|
spark->dR = r;
|
||||||
spark->sR = r;
|
spark->sR = r;
|
||||||
spark->colFadeSpeed = 2;
|
spark->colFadeSpeed = 2;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->on = 1;
|
spark->on = 1;
|
||||||
spark->dB = b;
|
spark->dB = b;
|
||||||
spark->sB = b;
|
spark->sB = b;
|
||||||
|
|
|
@ -23,19 +23,6 @@ using std::vector;
|
||||||
using TEN::Renderer::g_Renderer;
|
using TEN::Renderer::g_Renderer;
|
||||||
using namespace TEN::Effects::Environment;
|
using namespace TEN::Effects::Environment;
|
||||||
|
|
||||||
char FlareTable[121] =
|
|
||||||
{
|
|
||||||
0x60, 0x50, 0x00, 0x06, 0x00, 0x1F, 0x30, 0x20, 0x20, 0x0A, 0xFA, 0x1F, 0x20, 0x18,
|
|
||||||
0x18, 0x12, 0xFF, 0x1F, 0x50, 0x68, 0x40, 0x05, 0xFD, 0x1E, 0x40, 0x40, 0x40, 0x14,
|
|
||||||
0x00, 0x20, 0x60, 0x38, 0x38, 0x0E, 0x00, 0x0B, 0x50, 0x28, 0x20, 0x09, 0x00, 0x1D,
|
|
||||||
0x10, 0x18, 0x28, 0x02, 0x05, 0x1F, 0x08, 0x08, 0x18, 0x07, 0x08, 0x1F, 0x08, 0x10,
|
|
||||||
0x20, 0x04, 0x0A, 0x1F, 0x30, 0x18, 0x00, 0x02, 0x0D, 0x1F, 0x28, 0x60, 0x48, 0x01,
|
|
||||||
0x10, 0x0B, 0x28, 0x60, 0x48, 0x03, 0x14, 0x0B, 0x20, 0x10, 0x00, 0x06, 0x16, 0x1F,
|
|
||||||
0x20, 0x10, 0x00, 0x09, 0x17, 0x1E, 0x20, 0x10, 0x00, 0x03, 0x18, 0x1F, 0x20, 0x30,
|
|
||||||
0x18, 0x04, 0x1A, 0x1F, 0x08, 0x28, 0x70, 0x03, 0x1B, 0x0B, 0x08, 0x10, 0x00, 0x0A,
|
|
||||||
0x1D, 0x1E, 0x10, 0x10, 0x18, 0x11, 0x1F, 0x1D, 0xFF
|
|
||||||
};
|
|
||||||
|
|
||||||
char LaserSightActive = 0;
|
char LaserSightActive = 0;
|
||||||
char LaserSightCol = 0;
|
char LaserSightCol = 0;
|
||||||
int NextGunshell = 0;
|
int NextGunshell = 0;
|
||||||
|
@ -514,7 +501,7 @@ void TriggerGunSmoke(int x, int y, int z, short xv, short yv, short zv, byte ini
|
||||||
spark->dShade = 64;
|
spark->dShade = 64;
|
||||||
}
|
}
|
||||||
|
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->x = x + (GetRandomControl() & 31) - 16;
|
spark->x = x + (GetRandomControl() & 31) - 16;
|
||||||
spark->y = y + (GetRandomControl() & 31) - 16;
|
spark->y = y + (GetRandomControl() & 31) - 16;
|
||||||
spark->z = z + (GetRandomControl() & 31) - 16;
|
spark->z = z + (GetRandomControl() & 31) - 16;
|
||||||
|
@ -597,7 +584,7 @@ void TriggerShatterSmoke(int x, int y, int z)
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->dShade = (GetRandomControl() & 0x1F) + 64;
|
spark->dShade = (GetRandomControl() & 0x1F) + 64;
|
||||||
spark->fadeToBlack = 24 - (GetRandomControl() & 7);
|
spark->fadeToBlack = 24 - (GetRandomControl() & 7);
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 7) + 48;
|
spark->life = spark->sLife = (GetRandomControl() & 7) + 48;
|
||||||
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
||||||
spark->y = (GetRandomControl() & 0x1F) + y - 16;
|
spark->y = (GetRandomControl() & 0x1F) + y - 16;
|
||||||
|
@ -1028,7 +1015,7 @@ void AddWaterSparks(int x, int y, int z, int num)
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->life = 24;
|
spark->life = 24;
|
||||||
spark->sLife = 24;
|
spark->sLife = 24;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
int random = GetRandomControl() & 0xFFF;
|
int random = GetRandomControl() & 0xFFF;
|
||||||
spark->xVel = -phd_sin(random << 4) * 128;
|
spark->xVel = -phd_sin(random << 4) * 128;
|
||||||
spark->yVel = -640 - GetRandomControl();
|
spark->yVel = -640 - GetRandomControl();
|
||||||
|
@ -1372,7 +1359,7 @@ void TriggerShockwaveHitEffect(int x, int y, int z, byte r, byte g, byte b, shor
|
||||||
spark->dR = r;
|
spark->dR = r;
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 16;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 16;
|
||||||
|
|
||||||
int speed = (GetRandomControl() & 0xF) + vel;
|
int speed = (GetRandomControl() & 0xF) + vel;
|
||||||
|
@ -1480,7 +1467,7 @@ void TriggerExplosionBubble(int x, int y, int z, short roomNum)
|
||||||
spark->sB = 0;
|
spark->sB = 0;
|
||||||
spark->colFadeSpeed = 8;
|
spark->colFadeSpeed = 8;
|
||||||
spark->fadeToBlack = 12;
|
spark->fadeToBlack = 12;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->x = x;
|
spark->x = x;
|
||||||
spark->y = y;
|
spark->y = y;
|
||||||
spark->z = z;
|
spark->z = z;
|
||||||
|
@ -1537,7 +1524,7 @@ void TriggerExplosionBubble(int x, int y, int z, short roomNum)
|
||||||
spark->fadeToBlack = 64;
|
spark->fadeToBlack = 64;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 0x1F) + 96;
|
spark->life = spark->sLife = (GetRandomControl() & 0x1F) + 96;
|
||||||
if (unk)
|
if (unk)
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
else
|
else
|
||||||
spark->transType = 3;
|
spark->transType = 3;
|
||||||
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
||||||
|
@ -1607,7 +1594,7 @@ void TriggerFenceSparks(int x, int y, int z, int kill, int crane)
|
||||||
|
|
||||||
spark->life = (GetRandomControl() & 7) + 24;
|
spark->life = (GetRandomControl() & 7) + 24;
|
||||||
spark->sLife = (GetRandomControl() & 7) + 24;
|
spark->sLife = (GetRandomControl() & 7) + 24;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->dynamic = -1;
|
spark->dynamic = -1;
|
||||||
|
|
||||||
spark->x = x;
|
spark->x = x;
|
||||||
|
@ -1657,7 +1644,7 @@ void TriggerSmallSplash(int x, int y, int z, int num)
|
||||||
sptr->life = 24;
|
sptr->life = 24;
|
||||||
sptr->sLife = 24;
|
sptr->sLife = 24;
|
||||||
|
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
|
|
||||||
angle = GetRandomControl() << 3;
|
angle = GetRandomControl() << 3;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "Specific\phd_global.h"
|
#include "Specific/phd_global.h"
|
||||||
|
#include "effects/effects.h"
|
||||||
#include "lara_struct.h"
|
#include "lara_struct.h"
|
||||||
|
|
||||||
struct ITEM_INFO;
|
struct ITEM_INFO;
|
||||||
|
|
||||||
struct SMOKE_SPARKS
|
struct SMOKE_SPARKS
|
||||||
|
@ -30,7 +32,7 @@ struct SMOKE_SPARKS
|
||||||
byte fadeToBlack;
|
byte fadeToBlack;
|
||||||
signed char sLife;
|
signed char sLife;
|
||||||
signed char life;
|
signed char life;
|
||||||
byte transType;
|
TransTypeEnum transType;
|
||||||
byte fxObj;
|
byte fxObj;
|
||||||
byte nodeNumber;
|
byte nodeNumber;
|
||||||
byte mirror;
|
byte mirror;
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
|
|
||||||
enum GAME_OBJECT_ID : short;
|
enum GAME_OBJECT_ID : short;
|
||||||
|
|
||||||
|
constexpr unsigned int NO_MESH_BITS = UINT_MAX;
|
||||||
|
|
||||||
enum AIObjectType
|
enum AIObjectType
|
||||||
{
|
{
|
||||||
NO_AI = 0x0000,
|
NO_AI = 0x0000,
|
||||||
|
|
|
@ -142,255 +142,256 @@ COMBINELIST combine_table[max_combines] =
|
||||||
|
|
||||||
INVOBJ inventry_objects_list[INVENTORY_TABLE_SIZE] =
|
INVOBJ inventry_objects_list[INVENTORY_TABLE_SIZE] =
|
||||||
{
|
{
|
||||||
//weps
|
// Weapons
|
||||||
{ID_PISTOLS_ITEM, 6, 0.5f, ANGLE(90), ANGLE(243.69873046875f), ANGLE(276.1328125), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_PISTOLS, STRING_PISTOLS, -1, INV_ROT_Y},
|
|
||||||
{ID_PISTOLS_AMMO_ITEM, 4, 0.5f, 0, ANGLE(90), 0, OPT_USE, STRING_PISTOLS_AMMO, -1, INV_ROT_Y},
|
|
||||||
{ID_UZI_ITEM, -4, 0.5f, ANGLE(-90) , ANGLE(135), ANGLE(90), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_UZI, STRING_UZI , -1, INV_ROT_Y},
|
|
||||||
{ID_UZI_AMMO_ITEM, 5, 0.5f, 0, 5384, 0, OPT_USE, STRING_UZI_AMMO, -1, INV_ROT_Y},
|
|
||||||
{ID_SHOTGUN_ITEM, -6, 0.8f, ANGLE(-20), ANGLE(270), ANGLE(45), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_SHOTGUN, STRING_SHOTGUN, 1, INV_ROT_Y},
|
|
||||||
{ID_SHOTGUN_AMMO1_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_SHOTGUN_AMMO1, -1, INV_ROT_Y},
|
|
||||||
{ID_SHOTGUN_AMMO2_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_SHOTGUN_AMMO2, -1, INV_ROT_Y},
|
|
||||||
{ID_REVOLVER_ITEM, 0, 0.5f, ANGLE(-90), ANGLE(60), ANGLE(85), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_REVOLVER, STRING_REVOLVER , 1, INV_ROT_Y},
|
|
||||||
{ID_REVOLVER_AMMO_ITEM, 0, 0.5f, ANGLE(90), ANGLE(-16), 0, OPT_USE, STRING_REVOLVER_AMMO, -1, INV_ROT_Y},
|
|
||||||
{ID_REVOLVER_ITEM, 0, 0.5f, ANGLE(90), ANGLE(60), ANGLE(85), OPT_EQUIP | OPT_SEPERATABLE | OPT_CHOOSEAMMO_REVOLVER, STRING_REVOLVER_LASER, 3, INV_ROT_Y},
|
|
||||||
{ID_CROSSBOW_ITEM, 0, 0.5f, ANGLE(-90), ANGLE(33), 0, OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_CROSSBOW, STRING_CROSSBOW, 1, INV_ROT_Y},
|
|
||||||
{ID_CROSSBOW_ITEM, 0, 0.5f, ANGLE(-90), ANGLE(33), 0, OPT_EQUIP | OPT_SEPERATABLE | OPT_CHOOSEAMMO_CROSSBOW, STRING_CROSSBOW_LASER, 3, INV_ROT_Y},
|
|
||||||
{ID_CROSSBOW_AMMO1_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_CROSSBOW_AMMO1, -1, INV_ROT_Y},
|
|
||||||
{ID_CROSSBOW_AMMO2_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_CROSSBOW_AMMO1, -1, INV_ROT_Y},
|
|
||||||
{ID_CROSSBOW_AMMO3_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_CROSSBOW_AMMO1, -1, INV_ROT_Y},
|
|
||||||
{ID_HK_ITEM, 0, 0.5f, ANGLE(0), ANGLE(280), 0, OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_HK, STRING_HK, 1, INV_ROT_Y},
|
|
||||||
{ID_HK_ITEM, 0, 0.5f, ANGLE(-45), ANGLE(280), 0, OPT_EQUIP | OPT_SEPERATABLE | OPT_CHOOSEAMMO_HK, STRING_HK_SILENCED, -1, INV_ROT_Y},
|
|
||||||
{ID_HK_AMMO_ITEM, 3, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_HK_AMMO, 2},
|
|
||||||
{ID_GRENADE_GUN_ITEM, 0, 0.5f, ANGLE(90), 0, ANGLE(65), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_GRENADEGUN, STRING_GRENADE_LAUNCHER, -1, INV_ROT_Y},
|
|
||||||
{ID_GRENADE_AMMO1_ITEM, 3, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_GRENADE_AMMO1, -1, INV_ROT_Y},
|
|
||||||
{ID_GRENADE_AMMO2_ITEM, 3, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_GRENADE_AMMO2, -1, INV_ROT_Y},
|
|
||||||
{ID_GRENADE_AMMO3_ITEM, 3, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_GRENADE_AMMO3, -1, INV_ROT_Y},
|
|
||||||
{ID_HARPOON_ITEM, 0, 0.5f, 0, ANGLE(-65), ANGLE(-20), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_HARPOON, STRING_HARPOON_GUN, -1, INV_ROT_Y},
|
|
||||||
{ID_HARPOON_AMMO_ITEM, 3, 0.5f, 0, ANGLE(15), 0, OPT_USE, STRING_HARPOON_AMMO, -1, INV_ROT_Y},
|
|
||||||
{ID_ROCKET_LAUNCHER_ITEM, 0, 0.5f, ANGLE(180), ANGLE(80), 0, OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_ROCKET, STRING_ROCKET_LAUNCHER, -1, INV_ROT_Y},
|
|
||||||
{ID_ROCKET_LAUNCHER_AMMO_ITEM, 3, 0.5f, ANGLE(90), 0, ANGLE(15), OPT_USE, STRING_ROCKET_AMMO, -1, INV_ROT_Y},
|
|
||||||
|
|
||||||
//misc
|
{ID_PISTOLS_ITEM, 6, 0.5f, ANGLE(90), ANGLE(243.69873046875f), ANGLE(276.1328125), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_PISTOLS, STRING_PISTOLS, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PISTOLS_AMMO_ITEM, 4, 0.5f, 0, ANGLE(90), 0, OPT_USE, STRING_PISTOLS_AMMO, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_UZI_ITEM, -4, 0.5f, ANGLE(-90) , ANGLE(135), ANGLE(90), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_UZI, STRING_UZI , NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_UZI_AMMO_ITEM, 5, 0.5f, 0, 5384, 0, OPT_USE, STRING_UZI_AMMO, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_SHOTGUN_ITEM, -6, 0.8f, ANGLE(-20), ANGLE(270), ANGLE(45), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_SHOTGUN, STRING_SHOTGUN, 1, INV_ROT_Y},
|
||||||
|
{ID_SHOTGUN_AMMO1_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_SHOTGUN_AMMO1, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_SHOTGUN_AMMO2_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_SHOTGUN_AMMO2, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_REVOLVER_ITEM, 0, 0.5f, ANGLE(-90), ANGLE(60), ANGLE(85), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_REVOLVER, STRING_REVOLVER , 1, INV_ROT_Y},
|
||||||
|
{ID_REVOLVER_AMMO_ITEM, 0, 0.5f, ANGLE(90), ANGLE(-16), 0, OPT_USE, STRING_REVOLVER_AMMO, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_REVOLVER_ITEM, 0, 0.5f, ANGLE(90), ANGLE(60), ANGLE(85), OPT_EQUIP | OPT_SEPERATABLE | OPT_CHOOSEAMMO_REVOLVER, STRING_REVOLVER_LASER, 3, INV_ROT_Y},
|
||||||
|
{ID_CROSSBOW_ITEM, 0, 0.5f, ANGLE(-90), ANGLE(33), 0, OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_CROSSBOW, STRING_CROSSBOW, 1, INV_ROT_Y},
|
||||||
|
{ID_CROSSBOW_ITEM, 0, 0.5f, ANGLE(-90), ANGLE(33), 0, OPT_EQUIP | OPT_SEPERATABLE | OPT_CHOOSEAMMO_CROSSBOW, STRING_CROSSBOW_LASER, 3, INV_ROT_Y},
|
||||||
|
{ID_CROSSBOW_AMMO1_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_CROSSBOW_AMMO1, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_CROSSBOW_AMMO2_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_CROSSBOW_AMMO1, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_CROSSBOW_AMMO3_ITEM, 0, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_CROSSBOW_AMMO1, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_HK_ITEM, 0, 0.5f, ANGLE(0), ANGLE(280), 0, OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_HK, STRING_HK, 1, INV_ROT_Y},
|
||||||
|
{ID_HK_ITEM, 0, 0.5f, ANGLE(-45), ANGLE(280), 0, OPT_EQUIP | OPT_SEPERATABLE | OPT_CHOOSEAMMO_HK, STRING_HK_SILENCED, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_HK_AMMO_ITEM, 3, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_HK_AMMO, 2},
|
||||||
|
{ID_GRENADE_GUN_ITEM, 0, 0.5f, ANGLE(90), 0, ANGLE(65), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_GRENADEGUN, STRING_GRENADE_LAUNCHER, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_GRENADE_AMMO1_ITEM, 3, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_GRENADE_AMMO1, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_GRENADE_AMMO2_ITEM, 3, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_GRENADE_AMMO2, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_GRENADE_AMMO3_ITEM, 3, 0.5f, ANGLE(90), 0, 0, OPT_USE, STRING_GRENADE_AMMO3, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_HARPOON_ITEM, 0, 0.5f, 0, ANGLE(-65), ANGLE(-20), OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_HARPOON, STRING_HARPOON_GUN, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_HARPOON_AMMO_ITEM, 3, 0.5f, 0, ANGLE(15), 0, OPT_USE, STRING_HARPOON_AMMO, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_ROCKET_LAUNCHER_ITEM, 0, 0.5f, ANGLE(180), ANGLE(80), 0, OPT_EQUIP | OPT_COMBINABLE | OPT_CHOOSEAMMO_ROCKET, STRING_ROCKET_LAUNCHER, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_ROCKET_LAUNCHER_AMMO_ITEM, 3, 0.5f, ANGLE(90), 0, ANGLE(15), OPT_USE, STRING_ROCKET_AMMO, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
|
||||||
{ID_LASERSIGHT_ITEM, 2, 0.5f, ANGLE(90), ANGLE(10), 0, OPT_USE | OPT_COMBINABLE, STRING_LASERSIGHT, -1, INV_ROT_Y},
|
// Misc
|
||||||
{ID_SILENCER_ITEM, 1, 0.5f, 0, ANGLE(10), 0, OPT_USE | OPT_COMBINABLE, STRING_SILENCER, -1, INV_ROT_Y},
|
|
||||||
{ID_BIGMEDI_ITEM, 2, 0.7f, ANGLE(180), 0, 0, OPT_USE, STRING_LARGE_MEDIPACK, -1, INV_ROT_Y},
|
|
||||||
{ID_SMALLMEDI_ITEM, 0, 0.7f, ANGLE(180), ANGLE(112), 0, OPT_USE, STRING_SMALL_MEDIPACK, -1, INV_ROT_Y},
|
|
||||||
{ID_BINOCULARS_ITEM, -1, 0.5f, ANGLE(180), ANGLE(10), 0, OPT_USE, STRING_BINOCULARS, -1, INV_ROT_Y},
|
|
||||||
{ID_FLARE_INV_ITEM, 52, 0.8f, ANGLE(0), 0, 0, OPT_USE, STRING_FLARES, -1, INV_ROT_Y},
|
|
||||||
{ID_TIMEX_ITEM, 2, 0.4f, 0, 0, 0, OPT_STATS, STRING_TIMEX, -1, INV_ROT_Y},
|
|
||||||
{ID_PC_LOAD_INV_ITEM, 52, 0.3f, ANGLE(180), 0, 0, OPT_LOAD, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PC_LOAD_SAVE_ITEM, 52, 0.3f, ANGLE(180), 0, 0, OPT_SAVE, STRING_SAVE_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_BURNING_TORCH_ITEM, 14, 0.5f, 0, ANGLE(90), 0, OPT_USE, STRING_TORCH, -1, INV_ROT_Y},
|
|
||||||
{ID_CROWBAR_ITEM, 4, 0.5f, 0, ANGLE(90), 0, OPT_USE, STRING_CROWBAR, -1, INV_ROT_Y},
|
|
||||||
{ID_DIARY_ITEM, 0, 0.3f, ANGLE(180), 0, 0, OPT_DIARY, STRING_DIARY, -1, INV_ROT_Y},
|
|
||||||
{ID_COMPASS_ITEM, 0x0FFF2, 0.5f, 0, 0, 0, 0, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_CLOCKWORK_BEETLE, 14, 0.5f, 0, 0, 0, OPT_USE, STRING_CLOCKWORK_BEETLE, -1, INV_ROT_Y},
|
|
||||||
{ID_CLOCKWORK_BEETLE_COMBO1, 18, 0.5f, 0, 0, 0, OPT_COMBINABLE, STRING_CLOCKWORK_BEETLE_COMBO1, -1, INV_ROT_Y},
|
|
||||||
{ID_CLOCKWORK_BEETLE_COMBO2, 14, 0.5f, 0, 0, 0, OPT_COMBINABLE, STRING_CLOCKWORK_BEETLE_COMBO2, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN1_EMPTY, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_SMALL_EMPTY, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN1_1, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_SMALL_1, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN1_2, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_SMALL_2, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN1_3, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_SMALL_3, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN2_EMPTY, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_EMPTY, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN2_1, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_1, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN2_2, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_2, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN2_3, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_3, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN2_4, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_4, -1, INV_ROT_Y},
|
|
||||||
{ID_WATERSKIN2_5, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_5, -1, INV_ROT_Y},
|
|
||||||
{ID_OPEN_DIARY_ITEM, 0, 0.9f, ANGLE(90), 0, 0, 0, 0, 0, 0},
|
|
||||||
|
|
||||||
//puzzles
|
{ID_LASERSIGHT_ITEM, 2, 0.5f, ANGLE(90), ANGLE(10), 0, OPT_USE | OPT_COMBINABLE, STRING_LASERSIGHT, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_SILENCER_ITEM, 1, 0.5f, 0, ANGLE(10), 0, OPT_USE | OPT_COMBINABLE, STRING_SILENCER, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_BIGMEDI_ITEM, 2, 0.7f, ANGLE(180), 0, 0, OPT_USE, STRING_LARGE_MEDIPACK, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_SMALLMEDI_ITEM, 0, 0.7f, ANGLE(180), ANGLE(112), 0, OPT_USE, STRING_SMALL_MEDIPACK, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_BINOCULARS_ITEM, -1, 0.5f, ANGLE(180), ANGLE(10), 0, OPT_USE, STRING_BINOCULARS, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_FLARE_INV_ITEM, 52, 0.8f, ANGLE(0), 0, 0, OPT_USE, STRING_FLARES, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_TIMEX_ITEM, 2, 0.4f, 0, 0, 0, OPT_STATS, STRING_TIMEX, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PC_LOAD_INV_ITEM, 52, 0.3f, ANGLE(180), 0, 0, OPT_LOAD, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PC_LOAD_SAVE_ITEM, 52, 0.3f, ANGLE(180), 0, 0, OPT_SAVE, STRING_SAVE_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_BURNING_TORCH_ITEM, 14, 0.5f, 0, ANGLE(90), 0, OPT_USE, STRING_TORCH, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_CROWBAR_ITEM, 4, 0.5f, 0, ANGLE(90), 0, OPT_USE, STRING_CROWBAR, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_DIARY_ITEM, 0, 0.3f, ANGLE(180), 0, 0, OPT_DIARY, STRING_DIARY, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_COMPASS_ITEM, -14, 0.5f, 0, 0, 0, 0, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_CLOCKWORK_BEETLE, 14, 0.5f, 0, 0, 0, OPT_USE, STRING_CLOCKWORK_BEETLE, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_CLOCKWORK_BEETLE_COMBO1, 18, 0.5f, 0, 0, 0, OPT_COMBINABLE, STRING_CLOCKWORK_BEETLE_COMBO1, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_CLOCKWORK_BEETLE_COMBO2, 14, 0.5f, 0, 0, 0, OPT_COMBINABLE, STRING_CLOCKWORK_BEETLE_COMBO2, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN1_EMPTY, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_SMALL_EMPTY, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN1_1, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_SMALL_1, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN1_2, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_SMALL_2, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN1_3, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_SMALL_3, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN2_EMPTY, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_EMPTY, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN2_1, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_1, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN2_2, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_2, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN2_3, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_3, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN2_4, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_4, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_WATERSKIN2_5, 2, 0.5f, 0, ANGLE(285), 0, OPT_USE | OPT_COMBINABLE, STRING_WATERSKIN_LARGE_5, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_OPEN_DIARY_ITEM, 0, 0.9f, ANGLE(90), 0, 0, 0, 0, 0, 0},
|
||||||
|
|
||||||
{ID_PUZZLE_ITEM1, 14, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
// Puzzles
|
||||||
{ID_PUZZLE_ITEM2, 14, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM3, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM4, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM5, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM6, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM7, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM8, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM9, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM10, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM11, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM12, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM13, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM14, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM15, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM16, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
|
|
||||||
// puzzle combos
|
{ID_PUZZLE_ITEM1, 14, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM2, 14, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM3, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM4, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM5, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM6, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM7, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM8, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM9, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM10, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM11, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM12, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM13, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM14, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM15, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM16, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
|
||||||
{ID_PUZZLE_ITEM1_COMBO1, 18, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
// Puzzle combos
|
||||||
{ID_PUZZLE_ITEM1_COMBO2, 18, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM2_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM2_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM3_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM3_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM4_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM4_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM5_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM5_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM6_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM6_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM7_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM7_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM8_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM8_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM9_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM9_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM10_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM10_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM11_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM11_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM12_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM12_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM13_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM13_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM14_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM14_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM15_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM15_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM16_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_PUZZLE_ITEM16_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
|
|
||||||
//keys
|
{ID_PUZZLE_ITEM1_COMBO1, 18, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM1_COMBO2, 18, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM2_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM2_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM3_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM3_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM4_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM4_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM5_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM5_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM6_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM6_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM7_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM7_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM8_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM8_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM9_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM9_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM10_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM10_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM11_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM11_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM12_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM12_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM13_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM13_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM14_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM14_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM15_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM15_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM16_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_PUZZLE_ITEM16_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
|
||||||
{ID_KEY_ITEM1, 14, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
// Keys
|
||||||
{ID_KEY_ITEM2, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM3, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM4, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM5, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM6, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM7, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM8, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM9, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM10, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM11, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM12, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM13, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM14, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM15, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM16, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
|
|
||||||
//key combos
|
{ID_KEY_ITEM1, 14, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM2, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM3, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM4, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM5, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM6, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM7, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM8, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM9, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM10, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM11, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM12, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM13, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM14, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM15, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM16, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
|
||||||
{ID_KEY_ITEM1_COMBO1, 18, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
// Key combos
|
||||||
{ID_KEY_ITEM1_COMBO2, 18, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
|
||||||
{ID_KEY_ITEM2_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM1_COMBO1, 18, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM2_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM1_COMBO2, 18, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM3_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM2_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM3_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM2_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM4_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM3_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM4_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM3_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM5_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM4_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM5_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM4_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM6_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM5_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM6_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM5_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM7_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM6_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM7_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM6_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM8_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM7_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM8_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM7_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM9_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM8_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM9_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM8_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM10_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM9_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM10_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM9_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM11_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM10_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM11_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM10_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM12_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM11_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM12_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM11_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM13_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM12_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM13_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM12_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM14_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM13_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM14_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM13_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM15_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM14_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM15_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM14_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM16_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM15_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_KEY_ITEM16_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_KEY_ITEM15_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM16_COMBO1, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
{ID_KEY_ITEM16_COMBO2, 8, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
|
||||||
//pickups
|
// Pickups
|
||||||
|
|
||||||
{ID_PICKUP_ITEM1, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM1, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM2, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM2, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM3, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM3, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM4, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM4, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM5, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM5, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM6, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM6, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM7, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM7, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM8, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM8, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM9, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM9, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM10, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM10, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM11, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM11, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM12, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM12, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM13, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM13, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM14, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM14, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM15, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM15, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM16, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM16, 8, 0.5f, 0, 0, 0, OPT_USE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
|
||||||
//pickup combos
|
// Pickup combos
|
||||||
|
|
||||||
{ID_PICKUP_ITEM1_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM1_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM1_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM1_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM2_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM2_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM2_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM2_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM3_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM3_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM3_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM3_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM4_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM4_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM4_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM4_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM5_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM5_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM5_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM5_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM6_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM6_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM6_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM6_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM7_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM7_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM7_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM7_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM8_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM8_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM8_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM8_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM9_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM9_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM9_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM9_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM10_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM10_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM10_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM10_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM11_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM11_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM11_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM11_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM12_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM12_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM12_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM12_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM13_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM13_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM13_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM13_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM14_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM14_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM14_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM14_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM15_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM15_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM15_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM15_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM16_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM16_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_PICKUP_ITEM16_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_PICKUP_ITEM16_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
|
||||||
//examines
|
// Examines
|
||||||
|
|
||||||
{ID_EXAMINE1, 4, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE1, 4, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE2, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE2, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE3, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE3, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE4, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE4, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE5, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE5, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE6, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE6, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE7, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE7, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE8, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE8, 14, 0.5f, 0, 0, 0, OPT_EXAMINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
|
|
||||||
//examines combos
|
// Examines combos
|
||||||
|
|
||||||
{ID_EXAMINE1_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE1_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE1_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE1_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE2_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE2_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE2_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE2_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE3_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE3_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE3_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE3_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE4_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE4_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE4_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE4_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE5_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE5_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE5_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE5_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE6_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE6_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE6_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE6_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE7_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE7_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE7_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE7_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE8_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE8_COMBO1, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
{ID_EXAMINE8_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, -1, INV_ROT_Y},
|
{ID_EXAMINE8_COMBO2, 14, 0.5f, 0, 0, 0, OPT_USE | OPT_COMBINABLE, STRING_LOAD_GAME, NO_MESH_BITS, INV_ROT_Y},
|
||||||
};
|
};
|
||||||
|
|
||||||
titleSettings InventoryClass::Get_CurrentSettings()
|
titleSettings InventoryClass::Get_CurrentSettings()
|
||||||
|
@ -3626,7 +3627,7 @@ void InventoryClass::do_examine_mode()
|
||||||
void InventoryClass::draw_compass()
|
void InventoryClass::draw_compass()
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
g_Renderer.drawObjectOn2DPosition(130, 480, ID_COMPASS_ITEM, ANGLE(90), 0, ANGLE(180), inventry_objects_list[ID_COMPASS_ITEM].scale1);
|
g_Renderer.drawObjectOn2DPosition(130, 480, ID_COMPASS_ITEM, ANGLE(90), 0, ANGLE(180), inventry_objects_list[INV_OBJECT_COMPASS].scale1);
|
||||||
short compass_speed = phd_sin(compassNeedleAngle - LaraItem->pos.yRot);
|
short compass_speed = phd_sin(compassNeedleAngle - LaraItem->pos.yRot);
|
||||||
short compass_angle = (LaraItem->pos.yRot + compass_speed) - ANGLE(180);
|
short compass_angle = (LaraItem->pos.yRot + compass_speed) - ANGLE(180);
|
||||||
Matrix::CreateRotationY(compass_angle);
|
Matrix::CreateRotationY(compass_angle);
|
||||||
|
|
|
@ -15,17 +15,13 @@
|
||||||
OBJECT_TEXTURE* WaterfallTextures[6];
|
OBJECT_TEXTURE* WaterfallTextures[6];
|
||||||
float WaterfallY[6];
|
float WaterfallY[6];
|
||||||
int lastWaterfallY = 0;
|
int lastWaterfallY = 0;
|
||||||
OBJECT_COLLISION_BOUNDS TightRopeBounds =
|
|
||||||
{
|
|
||||||
0xFF00, 0x0100, 0x0000, 0x0000, 0xFF00, 0x0100, 0xF8E4, 0x071C, 0xEAAC, 0x1554,
|
|
||||||
0xF8E4, 0x071C
|
|
||||||
};
|
|
||||||
PHD_VECTOR TightRopePos = { 0, 0, 0 };
|
PHD_VECTOR TightRopePos = { 0, 0, 0 };
|
||||||
|
OBJECT_COLLISION_BOUNDS TightRopeBounds =
|
||||||
|
{ -256, 256, 0, 0, -256, 256, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), ANGLE(-10), ANGLE(10) };
|
||||||
|
|
||||||
OBJECT_COLLISION_BOUNDS ParallelBarsBounds =
|
OBJECT_COLLISION_BOUNDS ParallelBarsBounds =
|
||||||
{
|
{ -640, 640, 704, 832, -96, 96, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), ANGLE(-10), ANGLE(10) };
|
||||||
0xFD80, 0x0280, 0x02C0, 0x0340, 0xFFA0, 0x0060, 0xF8E4, 0x071C, 0xEAAC, 0x1554, 0xF8E4, 0x071C
|
|
||||||
};
|
|
||||||
|
|
||||||
void ControlAnimatingSlots(short itemNumber)
|
void ControlAnimatingSlots(short itemNumber)
|
||||||
{
|
{
|
||||||
|
@ -379,7 +375,7 @@ void HighObject2Control(short itemNumber)
|
||||||
spark->dG = (GetRandomControl() & 0x3F) + -128;
|
spark->dG = (GetRandomControl() & 0x3F) + -128;
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 4;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 4;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 24;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 24;
|
||||||
spark->x = item->itemFlags[1] + (GetRandomControl() & 0x3F) + item->pos.xPos - 544;
|
spark->x = item->itemFlags[1] + (GetRandomControl() & 0x3F) + item->pos.xPos - 544;
|
||||||
spark->y = item->pos.yPos;
|
spark->y = item->pos.yPos;
|
||||||
|
|
|
@ -28,65 +28,40 @@
|
||||||
|
|
||||||
using namespace TEN::Entities::Generic;
|
using namespace TEN::Entities::Generic;
|
||||||
|
|
||||||
OBJECT_COLLISION_BOUNDS PickUpBounds = // offset 0xA1338
|
static PHD_VECTOR PickUpPosition(0, 0, -100);
|
||||||
{
|
OBJECT_COLLISION_BOUNDS PickUpBounds =
|
||||||
0xFF00, 0x0100, 0xFF38, 0x00C8, 0xFF00, 0x0100, 0xF8E4, 0x071C, 0x0000, 0x0000,
|
{ -256, 256, -200, 200, -256, 256, ANGLE(-10), ANGLE(10), 0, 0, 0, 0 };
|
||||||
0x0000, 0x0000
|
|
||||||
};
|
static PHD_VECTOR HiddenPickUpPosition(0, 0, -690);
|
||||||
static PHD_VECTOR PickUpPosition(0, 0, -100); // offset 0xA1350
|
OBJECT_COLLISION_BOUNDS HiddenPickUpBounds =
|
||||||
OBJECT_COLLISION_BOUNDS HiddenPickUpBounds = // offset 0xA135C
|
{ -256, 256, -100, 100, -800, -256, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), 0, 0 };
|
||||||
{
|
|
||||||
0xFF00, 0x0100, 0xFF9C, 0x0064, 0xFCE0, 0xFF00, 0xF8E4, 0x071C, 0xEAAC, 0x1554,
|
static PHD_VECTOR CrowbarPickUpPosition(0, 0, 215);
|
||||||
0x0000, 0x0000
|
OBJECT_COLLISION_BOUNDS CrowbarPickUpBounds =
|
||||||
};
|
{ -256, 256, -100, 100, 200, 512, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), 0, 0 };
|
||||||
static PHD_VECTOR HiddenPickUpPosition(0, 0, -690); // offset 0xA1374
|
|
||||||
OBJECT_COLLISION_BOUNDS CrowbarPickUpBounds = // offset 0xA1380
|
static PHD_VECTOR JobyCrowPickUpPosition(-224, 0, 240);
|
||||||
{
|
OBJECT_COLLISION_BOUNDS JobyCrowPickUpBounds =
|
||||||
0xFF00, 0x0100, 0xFF9C, 0x0064, 0x00C8, 0x0200, 0xF8E4, 0x071C, 0xEAAC, 0x1554,
|
{ -512, 0, -100, 100, 0, 512, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), 0, 0 };
|
||||||
0x0000, 0x0000
|
|
||||||
};
|
static PHD_VECTOR PlinthPickUpPosition(0, 0, -460);
|
||||||
static PHD_VECTOR CrowbarPickUpPosition(0, 0, 215); // offset 0xA1398
|
OBJECT_COLLISION_BOUNDS PlinthPickUpBounds =
|
||||||
OBJECT_COLLISION_BOUNDS JobyCrowPickUpBounds = // offset 0xA13A4
|
{ -256, 256, -640, 640, -511, 0, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), 0, 0 };
|
||||||
{
|
|
||||||
0xFE00, 0x0000, 0xFF9C, 0x0064, 0x0000, 0x0200, 0xF8E4, 0x071C, 0xEAAC, 0x1554,
|
static PHD_VECTOR PickUpPositionUW(0, -200, -350);
|
||||||
0x0000, 0x0000
|
OBJECT_COLLISION_BOUNDS PickUpBoundsUW =
|
||||||
};
|
{ -512, 512, -512, 512, -512, 512, ANGLE(-45), ANGLE(45), ANGLE(-45), ANGLE(45), ANGLE(-45), ANGLE(45) };
|
||||||
static PHD_VECTOR JobyCrowPickUpPosition(-224, 0, 240); // offset 0xA13BC
|
|
||||||
OBJECT_COLLISION_BOUNDS PlinthPickUpBounds = // offset 0xA13C8
|
static PHD_VECTOR SOPos(0, 0, 0);
|
||||||
{
|
OBJECT_COLLISION_BOUNDS SOBounds =
|
||||||
0xFF00, 0x0100, 0xFD80, 0x0280, 0xFE01, 0x0000, 0xF8E4, 0x071C, 0xEAAC, 0x1554,
|
{ 0, 0, 0, 0, 0, 0, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), ANGLE(-10), ANGLE(10) };
|
||||||
0x0000, 0x0000
|
|
||||||
};
|
short SearchCollectFrames[4] = { 180, 100, 153, 83 };
|
||||||
static PHD_VECTOR PlinthPickUpPosition(0, 0, -460); // offset 0xA13E0
|
short SearchAnims[4] = { LA_LOOT_CABINET, LA_LOOT_DRAWER, LA_LOOT_SHELF, LA_LOOT_CHEST };
|
||||||
OBJECT_COLLISION_BOUNDS PickUpBoundsUW = // offset 0xA13EC
|
short SearchOffsets[4] = { 160, 96, 160, 112 };
|
||||||
{
|
|
||||||
0xFE00, 0x0200, 0xFE00, 0x0200, 0xFE00, 0x0200, 0xE002, 0x1FFE, 0xE002, 0x1FFE,
|
OBJECT_COLLISION_BOUNDS MSBounds =
|
||||||
0xE002, 0x1FFE
|
{ 0, 0, 0, 0, 0, 0, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), ANGLE(-10), ANGLE(10) };
|
||||||
};
|
|
||||||
static PHD_VECTOR PickUpPositionUW(0, -200, -350); // offset 0xA1404
|
|
||||||
OBJECT_COLLISION_BOUNDS SOBounds = // offset 0xA144C
|
|
||||||
{
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF8E4, 0x071C, 0xEAAC, 0x1554,
|
|
||||||
0xF8E4, 0x071C
|
|
||||||
};
|
|
||||||
static PHD_VECTOR SOPos(0, 0, 0); // offset 0xA1464
|
|
||||||
short SearchCollectFrames[4] =
|
|
||||||
{
|
|
||||||
0x00B4, 0x0064, 0x0099, 0x0053
|
|
||||||
};
|
|
||||||
short SearchAnims[4] =
|
|
||||||
{
|
|
||||||
0x01D0, 0x01D1, 0x01D2, 0x01D8
|
|
||||||
};
|
|
||||||
short SearchOffsets[4] =
|
|
||||||
{
|
|
||||||
0x00A0, 0x0060, 0x00A0, 0x0070
|
|
||||||
};
|
|
||||||
OBJECT_COLLISION_BOUNDS MSBounds = // offset 0xA1488
|
|
||||||
{
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF8E4, 0x071C, 0xEAAC, 0x1554,
|
|
||||||
0xF8E4, 0x071C
|
|
||||||
};
|
|
||||||
|
|
||||||
int NumRPickups;
|
int NumRPickups;
|
||||||
short RPickups[16];
|
short RPickups[16];
|
||||||
|
|
|
@ -26,20 +26,11 @@ enum PuzzleType {
|
||||||
short puzzleItem;
|
short puzzleItem;
|
||||||
/*bounds*/
|
/*bounds*/
|
||||||
OBJECT_COLLISION_BOUNDS PuzzleBounds =
|
OBJECT_COLLISION_BOUNDS PuzzleBounds =
|
||||||
{
|
{ 0, 0, -256, 256, 0, 0, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), ANGLE(-10), ANGLE(10) };
|
||||||
0, 0,
|
|
||||||
-256, 256,
|
|
||||||
0, 0,
|
|
||||||
-ANGLE(10), ANGLE(10),
|
|
||||||
-ANGLE(30), ANGLE(30),
|
|
||||||
-ANGLE(10), ANGLE(10)
|
|
||||||
};
|
|
||||||
OBJECT_COLLISION_BOUNDS KeyHoleBounds =
|
|
||||||
{
|
|
||||||
0xFF00, 0x0100, 0x0000, 0x0000, 0x0000, 0x019C, 0xF8E4, 0x071C, 0xEAAC, 0x1554,
|
|
||||||
0xF8E4, 0x071C
|
|
||||||
};
|
|
||||||
static PHD_VECTOR KeyHolePosition(0, 0, 312);
|
static PHD_VECTOR KeyHolePosition(0, 0, 312);
|
||||||
|
OBJECT_COLLISION_BOUNDS KeyHoleBounds =
|
||||||
|
{ -256, 256, 0, 0, 0, 412, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), ANGLE(-10), ANGLE(10) };
|
||||||
|
|
||||||
/*puzzles*/
|
/*puzzles*/
|
||||||
void PuzzleHoleCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll)
|
void PuzzleHoleCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll)
|
||||||
|
|
|
@ -560,7 +560,7 @@ void CalculateSpotCameras()
|
||||||
if (CheckTrigger)
|
if (CheckTrigger)
|
||||||
{
|
{
|
||||||
CAMERA_TYPE oldType = Camera.type;
|
CAMERA_TYPE oldType = Camera.type;
|
||||||
Camera.type = HEAVY_CAMERA;
|
Camera.type = CAMERA_TYPE::HEAVY_CAMERA;
|
||||||
if (CurrentLevel != 0)
|
if (CurrentLevel != 0)
|
||||||
{
|
{
|
||||||
TestTriggers(Camera.pos.x, Camera.pos.y, Camera.pos.z, Camera.pos.roomNumber, true);
|
TestTriggers(Camera.pos.x, Camera.pos.y, Camera.pos.z, Camera.pos.roomNumber, true);
|
||||||
|
@ -756,7 +756,7 @@ void CalculateSpotCameras()
|
||||||
if (CheckTrigger)
|
if (CheckTrigger)
|
||||||
{
|
{
|
||||||
CAMERA_TYPE oldType = Camera.type;
|
CAMERA_TYPE oldType = Camera.type;
|
||||||
Camera.type = HEAVY_CAMERA;
|
Camera.type = CAMERA_TYPE::HEAVY_CAMERA;
|
||||||
if (CurrentLevel)
|
if (CurrentLevel)
|
||||||
{
|
{
|
||||||
TestTriggers(Camera.pos.x, Camera.pos.y, Camera.pos.z, Camera.pos.roomNumber, true);
|
TestTriggers(Camera.pos.x, Camera.pos.y, Camera.pos.z, Camera.pos.roomNumber, true);
|
||||||
|
@ -778,8 +778,8 @@ void CalculateSpotCameras()
|
||||||
UseSpotCam = 0;
|
UseSpotCam = 0;
|
||||||
Lara.uncontrollable = false;
|
Lara.uncontrollable = false;
|
||||||
CheckTrigger = 0;
|
CheckTrigger = 0;
|
||||||
Camera.oldType = FIXED_CAMERA;
|
Camera.oldType = CAMERA_TYPE::FIXED_CAMERA;
|
||||||
Camera.type = CHASE_CAMERA;
|
Camera.type = CAMERA_TYPE::CHASE_CAMERA;
|
||||||
Camera.speed = 1;
|
Camera.speed = 1;
|
||||||
|
|
||||||
if (s->flags & SCF_PAN_TO_LARA_CAM)
|
if (s->flags & SCF_PAN_TO_LARA_CAM)
|
||||||
|
@ -820,8 +820,8 @@ void CalculateSpotCameras()
|
||||||
CameraSpeed[2] = SpotCam[CurrentSplineCamera - 1].speed;
|
CameraSpeed[2] = SpotCam[CurrentSplineCamera - 1].speed;
|
||||||
|
|
||||||
memcpy((char*)& Backup, (char*)& Camera, sizeof(CAMERA_INFO));
|
memcpy((char*)& Backup, (char*)& Camera, sizeof(CAMERA_INFO));
|
||||||
Camera.oldType = FIXED_CAMERA;
|
Camera.oldType = CAMERA_TYPE::FIXED_CAMERA;
|
||||||
Camera.type = CHASE_CAMERA;
|
Camera.type = CAMERA_TYPE::CHASE_CAMERA;
|
||||||
Camera.speed = 1;
|
Camera.speed = 1;
|
||||||
|
|
||||||
int elevation = Camera.targetElevation;
|
int elevation = Camera.targetElevation;
|
||||||
|
@ -881,7 +881,7 @@ void CalculateSpotCameras()
|
||||||
{
|
{
|
||||||
if (!SpotCamFirstLook)
|
if (!SpotCamFirstLook)
|
||||||
{
|
{
|
||||||
Camera.oldType = FIXED_CAMERA;
|
Camera.oldType = CAMERA_TYPE::FIXED_CAMERA;
|
||||||
SpotCamFirstLook = true;
|
SpotCamFirstLook = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ namespace TEN::Entities::Effects
|
||||||
spark->dG = spark->dR = (GetRandomControl() & 0x7F) + 32;
|
spark->dG = spark->dR = (GetRandomControl() & 0x7F) + 32;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 4;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 4;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 16;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 16;
|
||||||
spark->y = 0;
|
spark->y = 0;
|
||||||
spark->x = (GetRandomControl() & 0xF) - 8;
|
spark->x = (GetRandomControl() & 0xF) - 8;
|
||||||
|
|
|
@ -40,7 +40,7 @@ void TriggerElectricityWiresSparks(int x, int z, byte objNum, byte node, int fla
|
||||||
}
|
}
|
||||||
|
|
||||||
spark->fxObj = objNum;
|
spark->fxObj = objNum;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->flags = SP_ITEM | SP_NODEATTACH | SP_SCALE | SP_DEF;
|
spark->flags = SP_ITEM | SP_NODEATTACH | SP_SCALE | SP_DEF;
|
||||||
spark->nodeNumber = node;
|
spark->nodeNumber = node;
|
||||||
spark->x = x;
|
spark->x = x;
|
||||||
|
@ -98,7 +98,7 @@ void TriggerLaraElectricitySparks(int flame)
|
||||||
spark->sG = color;
|
spark->sG = color;
|
||||||
spark->dB = color;
|
spark->dB = color;
|
||||||
spark->dG = color / 2;
|
spark->dG = color / 2;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
spark->life = 12;
|
spark->life = 12;
|
||||||
spark->sLife = 12;
|
spark->sLife = 12;
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace TEN::Entities::Generic
|
||||||
|
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 12;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 12;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 7) + 24;
|
spark->life = spark->sLife = (GetRandomControl() & 7) + 24;
|
||||||
|
|
||||||
spark->x = (GetRandomControl() & 0xF) - 8;
|
spark->x = (GetRandomControl() & 0xF) - 8;
|
||||||
|
|
|
@ -168,7 +168,7 @@ namespace TEN::Entities::Traps
|
||||||
spark->colFadeSpeed = 8;
|
spark->colFadeSpeed = 8;
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
|
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
|
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 32;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 32;
|
||||||
|
|
||||||
|
|
|
@ -258,7 +258,7 @@ void BigRatControl(short itemNumber)
|
||||||
CreatureJoint(item, 0, head);
|
CreatureJoint(item, 0, head);
|
||||||
CreatureAnimation(itemNumber, angle, 0);
|
CreatureAnimation(itemNumber, angle, 0);
|
||||||
|
|
||||||
if (RatIsInWater)
|
if (RatIsInWater(item, big_rat))
|
||||||
{
|
{
|
||||||
CreatureUnderwater(item, CLICK(0));
|
CreatureUnderwater(item, CLICK(0));
|
||||||
item->pos.yPos = WaterHeight;
|
item->pos.yPos = WaterHeight;
|
||||||
|
|
|
@ -211,7 +211,7 @@ void DragonCollision(short itemNum, ITEM_INFO* laraitem, COLL_INFO* coll)
|
||||||
|
|
||||||
Lara.meshPtrs[LM_RHAND] = Objects[ID_LARA_EXTRA_ANIMS].meshIndex + LM_RHAND;
|
Lara.meshPtrs[LM_RHAND] = Objects[ID_LARA_EXTRA_ANIMS].meshIndex + LM_RHAND;
|
||||||
|
|
||||||
Camera.type = CINEMATIC_CAMERA;
|
Camera.type = CAMERA_TYPE::CINEMATIC_CAMERA;
|
||||||
|
|
||||||
((CREATURE_INFO*)g_Level.Items[(short)item->data].data)->flags = -1;
|
((CREATURE_INFO*)g_Level.Items[(short)item->data].data)->flags = -1;
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,7 @@ void DoBoatWakeEffect(ITEM_INFO* boat)
|
||||||
spark->dG = 64;
|
spark->dG = 64;
|
||||||
spark->dB = 64;
|
spark->dB = 64;
|
||||||
spark->colFadeSpeed = 1;
|
spark->colFadeSpeed = 1;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
||||||
spark->fadeToBlack = spark->life - 4;
|
spark->fadeToBlack = spark->life - 4;
|
||||||
spark->x = (BOAT_SIDE * phd_sin(boat->pos.yRot) >> W2V_SHIFT) + (GetRandomControl() & 128) + x - 8;
|
spark->x = (BOAT_SIDE * phd_sin(boat->pos.yRot) >> W2V_SHIFT) + (GetRandomControl() & 128) + x - 8;
|
||||||
|
@ -124,7 +124,7 @@ void DoBoatWakeEffect(ITEM_INFO* boat)
|
||||||
spark->dG = 64;
|
spark->dG = 64;
|
||||||
spark->dB = 64;
|
spark->dB = 64;
|
||||||
spark->colFadeSpeed = 1;
|
spark->colFadeSpeed = 1;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
||||||
spark->fadeToBlack = spark->life - 4;
|
spark->fadeToBlack = spark->life - 4;
|
||||||
spark->x = (BOAT_SIDE * phd_sin(boat->pos.yRot) >> W2V_SHIFT) + (GetRandomControl() & 128) + x - 8;
|
spark->x = (BOAT_SIDE * phd_sin(boat->pos.yRot) >> W2V_SHIFT) + (GetRandomControl() & 128) + x - 8;
|
||||||
|
|
|
@ -321,7 +321,7 @@ void DoSnowEffect(ITEM_INFO* skidoo)
|
||||||
spark->dG = 64;
|
spark->dG = 64;
|
||||||
spark->dB = 64;
|
spark->dB = 64;
|
||||||
spark->colFadeSpeed = 1;
|
spark->colFadeSpeed = 1;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 6;
|
||||||
spark->fadeToBlack = spark->life - 4;
|
spark->fadeToBlack = spark->life - 4;
|
||||||
spark->x = (GetRandomControl() & 255) + skidoo->pos.xPos - 8;
|
spark->x = (GetRandomControl() & 255) + skidoo->pos.xPos - 8;
|
||||||
|
|
|
@ -36,7 +36,7 @@ static void TriggerPilotFlame(int itemnum)
|
||||||
spark->colFadeSpeed = 12 + (GetRandomControl() & 3);
|
spark->colFadeSpeed = 12 + (GetRandomControl() & 3);
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
spark->sLife = spark->life = (GetRandomControl() & 3) + 20;
|
spark->sLife = spark->life = (GetRandomControl() & 3) + 20;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->extras = 0;
|
spark->extras = 0;
|
||||||
spark->dynamic = -1;
|
spark->dynamic = -1;
|
||||||
spark->x = (GetRandomControl() & 31) - 16;
|
spark->x = (GetRandomControl() & 31) - 16;
|
||||||
|
@ -86,7 +86,7 @@ static void TriggerFlamethrowerFlame(int x, int y, int z, int xv, int yv, int zv
|
||||||
spark->sLife = spark->life = (GetRandomControl() & 3) + 20;
|
spark->sLife = spark->life = (GetRandomControl() & 3) + 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
|
|
||||||
spark->extras = 0;
|
spark->extras = 0;
|
||||||
spark->dynamic = -1;
|
spark->dynamic = -1;
|
||||||
|
|
|
@ -52,9 +52,9 @@ static void TriggerShivaSmoke(long x, long y, long z, long uw)
|
||||||
sptr->sLife = sptr->life = (GetRandomControl() & 31) + 96;
|
sptr->sLife = sptr->life = (GetRandomControl() & 31) + 96;
|
||||||
|
|
||||||
if (uw)
|
if (uw)
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
else
|
else
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
|
|
||||||
sptr->extras = 0;
|
sptr->extras = 0;
|
||||||
sptr->dynamic = -1;
|
sptr->dynamic = -1;
|
||||||
|
|
|
@ -109,7 +109,7 @@ static void TriggerTonyFlame(short itemNum, int hand)
|
||||||
sptr->colFadeSpeed = 12 + (GetRandomControl() & 3);
|
sptr->colFadeSpeed = 12 + (GetRandomControl() & 3);
|
||||||
sptr->fadeToBlack = 8;
|
sptr->fadeToBlack = 8;
|
||||||
sptr->sLife = sptr->life = (GetRandomControl() & 7) + 24;
|
sptr->sLife = sptr->life = (GetRandomControl() & 7) + 24;
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->extras = NULL;
|
sptr->extras = NULL;
|
||||||
sptr->dynamic = -1;
|
sptr->dynamic = -1;
|
||||||
sptr->x = ((GetRandomControl() & 15) - 8);
|
sptr->x = ((GetRandomControl() & 15) - 8);
|
||||||
|
@ -167,7 +167,7 @@ static void TriggerFireBallFlame(short fxNumber, long type, long xv, long yv, lo
|
||||||
sptr->colFadeSpeed = 12 + (GetRandomControl() & 3);
|
sptr->colFadeSpeed = 12 + (GetRandomControl() & 3);
|
||||||
sptr->fadeToBlack = 8;
|
sptr->fadeToBlack = 8;
|
||||||
sptr->sLife = sptr->life = (GetRandomControl() & 7) + 24;
|
sptr->sLife = sptr->life = (GetRandomControl() & 7) + 24;
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->extras = 0;
|
sptr->extras = 0;
|
||||||
sptr->dynamic = -1;
|
sptr->dynamic = -1;
|
||||||
sptr->x = ((GetRandomControl() & 15) - 8);
|
sptr->x = ((GetRandomControl() & 15) - 8);
|
||||||
|
|
|
@ -482,7 +482,7 @@ static int DoRubberBoatDynamics(int height, int fallspeed, int *y)
|
||||||
{
|
{
|
||||||
fallspeed += ((height - *y - fallspeed) / 8);
|
fallspeed += ((height - *y - fallspeed) / 8);
|
||||||
if (fallspeed < -20)
|
if (fallspeed < -20)
|
||||||
fallspeed - 20;
|
fallspeed = -20;
|
||||||
|
|
||||||
if (*y > height)
|
if (*y > height)
|
||||||
*y = height;
|
*y = height;
|
||||||
|
@ -787,7 +787,7 @@ static void TriggerRubberBoatMist(long x, long y, long z, long speed, short angl
|
||||||
sptr->colFadeSpeed = 4 + (GetRandomControl() & 3);
|
sptr->colFadeSpeed = 4 + (GetRandomControl() & 3);
|
||||||
sptr->fadeToBlack = 12 - (snow * 8);
|
sptr->fadeToBlack = 12 - (snow * 8);
|
||||||
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 20;
|
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 20;
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->extras = 0;
|
sptr->extras = 0;
|
||||||
sptr->dynamic = -1;
|
sptr->dynamic = -1;
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ static void TriggerSubMist(long x, long y, long z, long speed, short angle)
|
||||||
sptr->colFadeSpeed = 4 + (GetRandomControl() & 3);
|
sptr->colFadeSpeed = 4 + (GetRandomControl() & 3);
|
||||||
sptr->fadeToBlack = 12;
|
sptr->fadeToBlack = 12;
|
||||||
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 20;
|
sptr->sLife = sptr->life = (GetRandomControl() & 3) + 20;
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->extras = 0;
|
sptr->extras = 0;
|
||||||
sptr->dynamic = -1;
|
sptr->dynamic = -1;
|
||||||
|
|
||||||
|
|
|
@ -549,7 +549,7 @@ namespace TEN::Entities::TR4
|
||||||
|
|
||||||
// Vehicle handling
|
// Vehicle handling
|
||||||
if (Lara.Vehicle != NO_ITEM && info.bite)
|
if (Lara.Vehicle != NO_ITEM && info.bite)
|
||||||
currentCreature->mood == ESCAPE_MOOD;
|
currentCreature->mood = ESCAPE_MOOD;
|
||||||
|
|
||||||
CreatureMood(item, &info, VIOLENT);
|
CreatureMood(item, &info, VIOLENT);
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ namespace TEN::Entities::TR4
|
||||||
}
|
}
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 4;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 4;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 16;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 16;
|
||||||
spark->y = 0;
|
spark->y = 0;
|
||||||
spark->x = (GetRandomControl() & 0xF) - 8;
|
spark->x = (GetRandomControl() & 0xF) - 8;
|
||||||
|
@ -270,7 +270,7 @@ namespace TEN::Entities::TR4
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->dShade = (GetRandomControl() & 0x1F) + 96;
|
spark->dShade = (GetRandomControl() & 0x1F) + 96;
|
||||||
spark->fadeToBlack = 24 - (GetRandomControl() & 7);
|
spark->fadeToBlack = 24 - (GetRandomControl() & 7);
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 7) + 48;
|
spark->life = spark->sLife = (GetRandomControl() & 7) + 48;
|
||||||
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
spark->x = (GetRandomControl() & 0x1F) + x - 16;
|
||||||
spark->y = (GetRandomControl() & 0x1F) + y - 16;
|
spark->y = (GetRandomControl() & 0x1F) + y - 16;
|
||||||
|
|
|
@ -114,7 +114,7 @@ static void TriggerHarpySparks(int x, int y, int z, int xv, int yv, int zv)
|
||||||
spark->sLife = 16;
|
spark->sLife = 16;
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->y = y;
|
spark->y = y;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
spark->x = x;
|
spark->x = x;
|
||||||
spark->z = z;
|
spark->z = z;
|
||||||
|
|
|
@ -74,8 +74,9 @@ namespace TEN::Entities::TR4
|
||||||
|
|
||||||
BITE_INFO sasGun = { 0, 300, 64, 7 };
|
BITE_INFO sasGun = { 0, 300, 64, 7 };
|
||||||
|
|
||||||
OBJECT_COLLISION_BOUNDS SasDragBlokeBounds = { 0xFF00, 0x100, 0xFF9C, 0x0064, 0xFE00, 0xFE34, 0xF8E4, 0x071C, 0xEAAC, 0x1554, 0x0000, 0x0000 };
|
|
||||||
PHD_VECTOR SasDragBlokePosition = { 0, 0, -460 };
|
PHD_VECTOR SasDragBlokePosition = { 0, 0, -460 };
|
||||||
|
OBJECT_COLLISION_BOUNDS SasDragBlokeBounds =
|
||||||
|
{ -256, 256, -64, 100, -200, -460, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), 0, 0 };
|
||||||
|
|
||||||
void InitialiseSas(short itemNumber)
|
void InitialiseSas(short itemNumber)
|
||||||
{
|
{
|
||||||
|
@ -151,7 +152,7 @@ namespace TEN::Entities::TR4
|
||||||
|
|
||||||
// Vehicle handling
|
// Vehicle handling
|
||||||
if (Lara.Vehicle != NO_ITEM && info.bite)
|
if (Lara.Vehicle != NO_ITEM && info.bite)
|
||||||
creature->mood == ESCAPE_MOOD;
|
creature->mood = ESCAPE_MOOD;
|
||||||
|
|
||||||
CreatureMood(item, &info, creature->enemy != LaraItem);
|
CreatureMood(item, &info, creature->enemy != LaraItem);
|
||||||
angle = CreatureTurn(item, creature->maximumTurn);
|
angle = CreatureTurn(item, creature->maximumTurn);
|
||||||
|
|
|
@ -466,7 +466,7 @@ void TriggerSethaSparks1(int x, int y, int z, short xv, short yv, short zv)
|
||||||
spark->life = 16;
|
spark->life = 16;
|
||||||
spark->sLife = 16;
|
spark->sLife = 16;
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
spark->x = x;
|
spark->x = x;
|
||||||
spark->y = y;
|
spark->y = y;
|
||||||
|
@ -502,7 +502,7 @@ void TriggerSethaSparks2(short itemNumber, char node, int size)
|
||||||
spark->dB = spark->dG + 64;
|
spark->dB = spark->dG + 64;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 4;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 4;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 7) + 20;
|
spark->life = spark->sLife = (GetRandomControl() & 7) + 20;
|
||||||
spark->x = (GetRandomControl() & 0xF) - 8;
|
spark->x = (GetRandomControl() & 0xF) - 8;
|
||||||
spark->y = 0;
|
spark->y = 0;
|
||||||
|
|
|
@ -203,7 +203,7 @@ void TroopsControl(short itemNumber)
|
||||||
|
|
||||||
// Vehicle handling
|
// Vehicle handling
|
||||||
if (Lara.Vehicle != NO_ITEM && info.bite)
|
if (Lara.Vehicle != NO_ITEM && info.bite)
|
||||||
creature->mood == ESCAPE_MOOD;
|
creature->mood = ESCAPE_MOOD;
|
||||||
|
|
||||||
angle = CreatureTurn(item, creature->maximumTurn);
|
angle = CreatureTurn(item, creature->maximumTurn);
|
||||||
|
|
||||||
|
|
|
@ -476,7 +476,7 @@ namespace TEN::Entities::TR4
|
||||||
|
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->fadeToBlack = 7;
|
spark->fadeToBlack = 7;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
life = (GetRandomControl() & 7) + 12;
|
life = (GetRandomControl() & 7) + 12;
|
||||||
spark->life = life;
|
spark->life = life;
|
||||||
spark->sLife = life;
|
spark->sLife = life;
|
||||||
|
@ -541,7 +541,7 @@ namespace TEN::Entities::TR4
|
||||||
spark->dB = dB;
|
spark->dB = dB;
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->fadeToBlack = 7;
|
spark->fadeToBlack = 7;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
short life = (GetRandomControl() & 7) + 32;
|
short life = (GetRandomControl() & 7) + 32;
|
||||||
spark->life = life;
|
spark->life = life;
|
||||||
spark->sLife = life;
|
spark->sLife = life;
|
||||||
|
|
|
@ -8,12 +8,9 @@
|
||||||
#include "setup.h"
|
#include "setup.h"
|
||||||
#include "health.h"
|
#include "health.h"
|
||||||
|
|
||||||
OBJECT_COLLISION_BOUNDS SarcophagusBounds =
|
|
||||||
{
|
|
||||||
0xFE00, 512, 0xFF9C, 100, 0xFE00, 0,
|
|
||||||
0xF8E4, 1820, 0xEAAC, 5460, 0, 0
|
|
||||||
};
|
|
||||||
static PHD_VECTOR SarcophagusPosition(0, 0, -300);
|
static PHD_VECTOR SarcophagusPosition(0, 0, -300);
|
||||||
|
OBJECT_COLLISION_BOUNDS SarcophagusBounds =
|
||||||
|
{ -512, 512, -100, 100, -512, 0, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), 0, 0 };
|
||||||
|
|
||||||
void InitialiseSarcophagus(short itemNum)
|
void InitialiseSarcophagus(short itemNum)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,10 +15,7 @@ using namespace TEN::Entities::Switches;
|
||||||
using namespace TEN::Entities::TR4;
|
using namespace TEN::Entities::TR4;
|
||||||
|
|
||||||
OBJECT_COLLISION_BOUNDS ScalesBounds =
|
OBJECT_COLLISION_BOUNDS ScalesBounds =
|
||||||
{
|
{ -1408, -1408, 0, 0, -512, 512, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), ANGLE(-10), ANGLE(10) };
|
||||||
0xFA80, 0xFA80, 0x0000, 0x0000, 0xFE00, 0x0200,
|
|
||||||
0xF8E4, 0x071C, 0xEAAC, 0x1554, 0xF8E4, 0x071C
|
|
||||||
};
|
|
||||||
|
|
||||||
void ScalesControl(short itemNum)
|
void ScalesControl(short itemNum)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,12 +16,9 @@ char SenetDisplacement, ActiveSenetPieces[6], SenetBoard[17];
|
||||||
int SenetTargetX, SenetTargetZ;
|
int SenetTargetX, SenetTargetZ;
|
||||||
char ActivePiece = -1;
|
char ActivePiece = -1;
|
||||||
|
|
||||||
OBJECT_COLLISION_BOUNDS GameStixBounds =
|
|
||||||
{
|
|
||||||
0xFF00, 0x0100, 0xFF38, 0x00C8, 0xFF00, 0x0100, 0xF8E4, 0x071C, 0xEAAC, 0x1554, 0x0, 0x0
|
|
||||||
};
|
|
||||||
|
|
||||||
static PHD_VECTOR GameStixPosition = { 0, 0, -100 };
|
static PHD_VECTOR GameStixPosition = { 0, 0, -100 };
|
||||||
|
OBJECT_COLLISION_BOUNDS GameStixBounds =
|
||||||
|
{ -256, 256, -200, 200, -256, 256, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), 0, 0 };
|
||||||
|
|
||||||
void InitialiseGameStix(short itemNumber)
|
void InitialiseGameStix(short itemNumber)
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,14 +40,14 @@ namespace TEN::Entities::TR4
|
||||||
|
|
||||||
short rotations[8] =
|
short rotations[8] =
|
||||||
{
|
{
|
||||||
0x8000,
|
ANGLE(180),
|
||||||
0xa000,
|
ANGLE(225),
|
||||||
0xc000,
|
ANGLE(270),
|
||||||
0xe000,
|
ANGLE(315),
|
||||||
0,
|
ANGLE(0),
|
||||||
0x2000,
|
ANGLE(45),
|
||||||
0x4000,
|
ANGLE(90),
|
||||||
0x6000
|
ANGLE(135)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (item->triggerFlags & 8)
|
if (item->triggerFlags & 8)
|
||||||
|
|
|
@ -332,7 +332,7 @@ static void TriggerJeepExhaustSmoke(int x, int y, int z, short angle, short spee
|
||||||
spark->sLife = 9;
|
spark->sLife = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->x = (GetRandomControl() & 0xF) + x - 8;
|
spark->x = (GetRandomControl() & 0xF) + x - 8;
|
||||||
spark->y = (GetRandomControl() & 0xF) + y - 8;
|
spark->y = (GetRandomControl() & 0xF) + y - 8;
|
||||||
spark->z = (GetRandomControl() & 0xF) + z - 8;
|
spark->z = (GetRandomControl() & 0xF) + z - 8;
|
||||||
|
|
|
@ -439,7 +439,7 @@ static void TriggerMotorbikeExhaustSmoke(int x, int y, int z, short angle, short
|
||||||
sptr->sLife = rnd;
|
sptr->sLife = rnd;
|
||||||
}
|
}
|
||||||
|
|
||||||
sptr->transType = COLADD;
|
sptr->transType = TransTypeEnum::COLADD;
|
||||||
sptr->x = x + (GetRandomControl() & 0xF) - 8;
|
sptr->x = x + (GetRandomControl() & 0xF) - 8;
|
||||||
sptr->y = y + (GetRandomControl() & 0xF) - 8;
|
sptr->y = y + (GetRandomControl() & 0xF) - 8;
|
||||||
sptr->z = z + (GetRandomControl() & 0xF) - 8;
|
sptr->z = z + (GetRandomControl() & 0xF) - 8;
|
||||||
|
|
|
@ -161,7 +161,7 @@ void SmokeEmitterControl(short itemNumber)
|
||||||
spark->dR = 48;
|
spark->dR = 48;
|
||||||
spark->dG = 48;
|
spark->dG = 48;
|
||||||
spark->dB = 48;
|
spark->dB = 48;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->x = (GetRandomControl() & 0x3F) + item->pos.xPos - 32;
|
spark->x = (GetRandomControl() & 0x3F) + item->pos.xPos - 32;
|
||||||
spark->y = (GetRandomControl() & 0x3F) + item->pos.yPos - 32;
|
spark->y = (GetRandomControl() & 0x3F) + item->pos.yPos - 32;
|
||||||
spark->z = (GetRandomControl() & 0x3F) + item->pos.zPos - 32;
|
spark->z = (GetRandomControl() & 0x3F) + item->pos.zPos - 32;
|
||||||
|
@ -269,9 +269,9 @@ void SmokeEmitterControl(short itemNumber)
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 7) + 28;
|
spark->life = spark->sLife = (GetRandomControl() & 7) + 28;
|
||||||
if (item->objectNumber == ID_SMOKE_EMITTER_WHITE)
|
if (item->objectNumber == ID_SMOKE_EMITTER_WHITE)
|
||||||
spark->transType = COLSUB;
|
spark->transType = TransTypeEnum::COLSUB;
|
||||||
else
|
else
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->x = (GetRandomControl() & 0x3F) + item->pos.xPos - 32;
|
spark->x = (GetRandomControl() & 0x3F) + item->pos.xPos - 32;
|
||||||
spark->y = (GetRandomControl() & 0x3F) + item->pos.yPos - 32;
|
spark->y = (GetRandomControl() & 0x3F) + item->pos.yPos - 32;
|
||||||
spark->z = (GetRandomControl() & 0x3F) + item->pos.zPos - 32;
|
spark->z = (GetRandomControl() & 0x3F) + item->pos.zPos - 32;
|
||||||
|
|
|
@ -31,7 +31,7 @@ static void TriggerAutoGunSmoke(PHD_VECTOR* pos, char shade)
|
||||||
spark->dShade = shade;
|
spark->dShade = shade;
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->fadeToBlack = 32;
|
spark->fadeToBlack = 32;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 40;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 40;
|
||||||
spark->x = pos->x - 16 + (GetRandomControl() & 0x1F);
|
spark->x = pos->x - 16 + (GetRandomControl() & 0x1F);
|
||||||
spark->y = (GetRandomControl() & 0x1F) + pos->y - 16;
|
spark->y = (GetRandomControl() & 0x1F) + pos->y - 16;
|
||||||
|
|
|
@ -64,7 +64,7 @@ static void TriggerHitmanSparks(int x, int y, int z, short xv, short yv, short z
|
||||||
spark->dB = -64 - spark->dG;
|
spark->dB = -64 - spark->dG;
|
||||||
spark->life = 10;
|
spark->life = 10;
|
||||||
spark->sLife = 10;
|
spark->sLife = 10;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->friction = 34;
|
spark->friction = 34;
|
||||||
spark->scalar = 1;
|
spark->scalar = 1;
|
||||||
spark->flags = SP_SCALE;
|
spark->flags = SP_SCALE;
|
||||||
|
|
|
@ -164,7 +164,7 @@ void ControlGunShip(short itemNumber)
|
||||||
spark->dR = 0;
|
spark->dR = 0;
|
||||||
spark->dG = 0;
|
spark->dG = 0;
|
||||||
spark->colFadeSpeed = 12;
|
spark->colFadeSpeed = 12;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->fadeToBlack = 0;
|
spark->fadeToBlack = 0;
|
||||||
spark->life = 12;
|
spark->life = 12;
|
||||||
spark->sLife = 12;
|
spark->sLife = 12;
|
||||||
|
|
|
@ -76,7 +76,7 @@ void TriggerHydraMissileSparks(PHD_VECTOR* pos, short xv, short yv, short zv)
|
||||||
spark->dG = spark->dR / 2;
|
spark->dG = spark->dR / 2;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->dynamic = -1;
|
spark->dynamic = -1;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 20;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 20;
|
||||||
spark->x = (GetRandomControl() & 0xF) - 8;
|
spark->x = (GetRandomControl() & 0xF) - 8;
|
||||||
|
@ -120,7 +120,7 @@ static void TriggerHydraSparks(short itemNumber, int frame)
|
||||||
spark->dG = spark->dR / 2;
|
spark->dG = spark->dR / 2;
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->dynamic = -1;
|
spark->dynamic = -1;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 32;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 32;
|
||||||
spark->x = (GetRandomControl() & 0xF) - 8;
|
spark->x = (GetRandomControl() & 0xF) - 8;
|
||||||
|
|
|
@ -55,7 +55,7 @@ static void TriggerLaserHeadSparks(PHD_VECTOR* pos, int count, byte r, byte g, b
|
||||||
spark->fadeToBlack = 0;
|
spark->fadeToBlack = 0;
|
||||||
spark->life = 9 << unk;
|
spark->life = 9 << unk;
|
||||||
spark->sLife = 9 << unk;
|
spark->sLife = 9 << unk;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->x = pos->x;
|
spark->x = pos->x;
|
||||||
spark->y = pos->y;
|
spark->y = pos->y;
|
||||||
spark->z = pos->z;
|
spark->z = pos->z;
|
||||||
|
|
|
@ -81,7 +81,7 @@ static void RomanStatueHitEffect(ITEM_INFO* item, PHD_VECTOR* pos, int joint)
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->fadeToBlack = 32;
|
spark->fadeToBlack = 32;
|
||||||
spark->dShade = (GetRandomControl() & 0xF) + 64;
|
spark->dShade = (GetRandomControl() & 0xF) + 64;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 64;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 64;
|
||||||
spark->x = (GetRandomControl() & 0x1F) + pos->x - 16;
|
spark->x = (GetRandomControl() & 0x1F) + pos->x - 16;
|
||||||
spark->y = (GetRandomControl() & 0x1F) + pos->y - 16;
|
spark->y = (GetRandomControl() & 0x1F) + pos->y - 16;
|
||||||
|
@ -110,7 +110,7 @@ static void TriggerRomanStatueShockwaveAttackSparks(int x, int y, int z, byte r,
|
||||||
spark->colFadeSpeed = 2;
|
spark->colFadeSpeed = 2;
|
||||||
spark->dR = r;
|
spark->dR = r;
|
||||||
spark->sR = r;
|
spark->sR = r;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = 16;
|
spark->life = 16;
|
||||||
spark->sLife = 16;
|
spark->sLife = 16;
|
||||||
spark->x = x;
|
spark->x = x;
|
||||||
|
@ -160,7 +160,7 @@ static void TriggerRomanStatueScreamingSparks(int x, int y, int z, short xv, sho
|
||||||
spark->xVel = xv;
|
spark->xVel = xv;
|
||||||
spark->yVel = yv;
|
spark->yVel = yv;
|
||||||
spark->zVel = zv;
|
spark->zVel = zv;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->friction = 34;
|
spark->friction = 34;
|
||||||
spark->maxYvel = 0;
|
spark->maxYvel = 0;
|
||||||
spark->gravity = 0;
|
spark->gravity = 0;
|
||||||
|
@ -185,7 +185,7 @@ static void TriggerRomanStatueAttackEffect1(short itemNum, int factor)
|
||||||
spark->dG = spark->dB / 2;
|
spark->dG = spark->dB / 2;
|
||||||
spark->fadeToBlack = 4;
|
spark->fadeToBlack = 4;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->dynamic = -1;
|
spark->dynamic = -1;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 32;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 32;
|
||||||
spark->y = 0;
|
spark->y = 0;
|
||||||
|
@ -243,7 +243,7 @@ void TriggerRomanStatueMissileSparks(PHD_VECTOR* pos, char fxObj)
|
||||||
spark->dB = spark->dG / 2;
|
spark->dB = spark->dG / 2;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
spark->colFadeSpeed = (GetRandomControl() & 3) + 8;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->dynamic = -1;
|
spark->dynamic = -1;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 20;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 20;
|
||||||
spark->x = (GetRandomControl() & 0xF) - 8;
|
spark->x = (GetRandomControl() & 0xF) - 8;
|
||||||
|
|
|
@ -28,7 +28,7 @@ static void TriggerSubmarineSparks(short itemNumber)
|
||||||
spark->dR = spark->dG / 2;
|
spark->dR = spark->dG / 2;
|
||||||
spark->dB = spark->dG / 2;
|
spark->dB = spark->dG / 2;
|
||||||
spark->sLife = 2;
|
spark->sLife = 2;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->fadeToBlack = 0;
|
spark->fadeToBlack = 0;
|
||||||
spark->flags = 20650;
|
spark->flags = 20650;
|
||||||
spark->fxObj = itemNumber;
|
spark->fxObj = itemNumber;
|
||||||
|
@ -59,7 +59,7 @@ static void TriggerTorpedoBubbles(PHD_VECTOR* pos1, PHD_VECTOR* pos2, char facto
|
||||||
spark->dB = 80;
|
spark->dB = 80;
|
||||||
spark->colFadeSpeed = 2;
|
spark->colFadeSpeed = 2;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 7) + 16;
|
spark->life = spark->sLife = (GetRandomControl() & 7) + 16;
|
||||||
spark->x = pos1->x + (GetRandomControl() & 0x1F);
|
spark->x = pos1->x + (GetRandomControl() & 0x1F);
|
||||||
spark->y = (GetRandomControl() & 0x1F) + pos1->y - 16;
|
spark->y = (GetRandomControl() & 0x1F) + pos1->y - 16;
|
||||||
|
@ -92,7 +92,7 @@ static void TriggerTorpedoSparks2(PHD_VECTOR* pos1, PHD_VECTOR* pos2, char scale
|
||||||
spark->dB = -128;
|
spark->dB = -128;
|
||||||
spark->colFadeSpeed = 2;
|
spark->colFadeSpeed = 2;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 7) + 16;
|
spark->life = spark->sLife = (GetRandomControl() & 7) + 16;
|
||||||
spark->x = pos1->x + (GetRandomControl() & 0x1F);
|
spark->x = pos1->x + (GetRandomControl() & 0x1F);
|
||||||
spark->y = (GetRandomControl() & 0x1F) + pos1->y - 16;
|
spark->y = (GetRandomControl() & 0x1F) + pos1->y - 16;
|
||||||
|
|
|
@ -12,13 +12,10 @@
|
||||||
#include "setup.h"
|
#include "setup.h"
|
||||||
#include "tr5_pushableblock_info.h"
|
#include "tr5_pushableblock_info.h"
|
||||||
|
|
||||||
static OBJECT_COLLISION_BOUNDS PushableBlockBounds = {
|
|
||||||
0x0000, 0x0000, 0xFFC0, 0x0000,
|
|
||||||
0x0000, 0x0000, 0xF8E4, 0x071C,
|
|
||||||
0xEAAC, 0x1554, 0xF8E4, 0x071C
|
|
||||||
};
|
|
||||||
|
|
||||||
PHD_VECTOR PushableBlockPos = { 0, 0, 0 };
|
PHD_VECTOR PushableBlockPos = { 0, 0, 0 };
|
||||||
|
static OBJECT_COLLISION_BOUNDS PushableBlockBounds =
|
||||||
|
{ 0, 0, -64, 0, 0, 0, ANGLE(-10), ANGLE(10), ANGLE(-30), ANGLE(30), ANGLE(-10), ANGLE(10) };
|
||||||
|
|
||||||
int DoPushPull = 0;
|
int DoPushPull = 0;
|
||||||
|
|
||||||
void ClearMovableBlockSplitters(int x, int y, int z, short roomNumber)
|
void ClearMovableBlockSplitters(int x, int y, int z, short roomNumber)
|
||||||
|
|
|
@ -144,7 +144,7 @@ void ControlTeleporter(short itemNumber)
|
||||||
v35->FadeToBlack = 4;
|
v35->FadeToBlack = 4;
|
||||||
v35->Life = 24;
|
v35->Life = 24;
|
||||||
v35->sLife = 24;
|
v35->sLife = 24;
|
||||||
v35->TransType = 2;
|
v35->TransType = TransTypeEnum::COLADD;
|
||||||
v35->x = src.xPos;
|
v35->x = src.xPos;
|
||||||
v35->y = src.yPos;
|
v35->y = src.yPos;
|
||||||
v35->z = src.zPos;
|
v35->z = src.zPos;
|
||||||
|
|
|
@ -58,7 +58,7 @@ static void VentilatorEffect(BOUNDING_BOX* bounds, int intensity, short rot, int
|
||||||
spark->colFadeSpeed = 4;
|
spark->colFadeSpeed = 4;
|
||||||
spark->fadeToBlack = 8;
|
spark->fadeToBlack = 8;
|
||||||
spark->dB = (speed * ((GetRandomControl() & 8) + 48)) / 128;
|
spark->dB = (speed * ((GetRandomControl() & 8) + 48)) / 128;
|
||||||
spark->transType = COLADD;
|
spark->transType = TransTypeEnum::COLADD;
|
||||||
spark->life = spark->sLife = (GetRandomControl() & 3) + 20;
|
spark->life = spark->sLife = (GetRandomControl() & 3) + 20;
|
||||||
|
|
||||||
if (abs(intensity) == 1)
|
if (abs(intensity) == 1)
|
||||||
|
|
|
@ -52,7 +52,7 @@ enum GAME_OBJECT_ID : short
|
||||||
ID_KAYAK_LARA_ANIMS,
|
ID_KAYAK_LARA_ANIMS,
|
||||||
ID_KAYAK,
|
ID_KAYAK,
|
||||||
ID_UPV_LARA_ANIMS,
|
ID_UPV_LARA_ANIMS,
|
||||||
ID_UPV, // TR3 - 90% (Need new render) (lara cant enter)
|
ID_UPV, // TR3 - 90% (Need new render)
|
||||||
ID_MINECART_LARA_ANIMS,
|
ID_MINECART_LARA_ANIMS,
|
||||||
ID_MINECART,
|
ID_MINECART,
|
||||||
ID_JEEP_LARA_ANIMS,
|
ID_JEEP_LARA_ANIMS,
|
||||||
|
@ -98,7 +98,7 @@ enum GAME_OBJECT_ID : short
|
||||||
ID_BABOON_NORMAL,
|
ID_BABOON_NORMAL,
|
||||||
ID_BABOON_INV,
|
ID_BABOON_INV,
|
||||||
ID_BABOON_SILENT,
|
ID_BABOON_SILENT,
|
||||||
ID_LITTLE_BEETLE, // TR4 -
|
ID_LITTLE_BEETLE, // TR4 - OK
|
||||||
ID_LOCUSTS, // TR4 - OK
|
ID_LOCUSTS, // TR4 - OK
|
||||||
ID_SHARK, // DEPRECATED?
|
ID_SHARK, // DEPRECATED?
|
||||||
ID_HUSKIE,
|
ID_HUSKIE,
|
||||||
|
|
|
@ -300,9 +300,9 @@ namespace TEN::Renderer
|
||||||
m_cbMisc.updateData(m_stMisc, m_context.Get());
|
m_cbMisc.updateData(m_stMisc, m_context.Get());
|
||||||
m_context->PSSetConstantBuffers(3, 1, m_cbMisc.get());
|
m_context->PSSetConstantBuffers(3, 1, m_cbMisc.get());
|
||||||
|
|
||||||
RendererObject &laraObj = *m_moveableObjects[ID_LARA];
|
RendererObject& laraObj = *m_moveableObjects[ID_LARA];
|
||||||
RendererObject &laraSkin = *m_moveableObjects[ID_LARA_SKIN];
|
RendererObject& laraSkin = *m_moveableObjects[ID_LARA_SKIN];
|
||||||
RendererRoom &const room = m_rooms[LaraItem->roomNumber];
|
RendererRoom& room = m_rooms[LaraItem->roomNumber];
|
||||||
|
|
||||||
m_stItem.World = m_LaraWorldMatrix;
|
m_stItem.World = m_LaraWorldMatrix;
|
||||||
m_stItem.Position = Vector4(LaraItem->pos.xPos, LaraItem->pos.yPos, LaraItem->pos.zPos, 1.0f);
|
m_stItem.Position = Vector4(LaraItem->pos.xPos, LaraItem->pos.yPos, LaraItem->pos.zPos, 1.0f);
|
||||||
|
@ -434,8 +434,8 @@ namespace TEN::Renderer
|
||||||
|
|
||||||
void Renderer11::drawGunShells(RenderView& view)
|
void Renderer11::drawGunShells(RenderView& view)
|
||||||
{
|
{
|
||||||
RendererRoom &const room = m_rooms[LaraItem->roomNumber];
|
RendererRoom& room = m_rooms[LaraItem->roomNumber];
|
||||||
RendererItem *item = &m_items[Lara.itemNumber];
|
RendererItem* item = &m_items[Lara.itemNumber];
|
||||||
|
|
||||||
m_stItem.AmbientLight = room.AmbientLight;
|
m_stItem.AmbientLight = room.AmbientLight;
|
||||||
memcpy(m_stItem.BonesMatrices, &Matrix::Identity, sizeof(Matrix));
|
memcpy(m_stItem.BonesMatrices, &Matrix::Identity, sizeof(Matrix));
|
||||||
|
@ -2350,9 +2350,9 @@ namespace TEN::Renderer
|
||||||
|
|
||||||
for (int i = 0; i < view.itemsToDraw.size(); i++)
|
for (int i = 0; i < view.itemsToDraw.size(); i++)
|
||||||
{
|
{
|
||||||
RendererItem *item = view.itemsToDraw[i];
|
RendererItem* item = view.itemsToDraw[i];
|
||||||
RendererRoom &const room = m_rooms[item->Item->roomNumber];
|
RendererRoom& room = m_rooms[item->Item->roomNumber];
|
||||||
RendererObject &moveableObj = *m_moveableObjects[item->Item->objectNumber];
|
RendererObject& moveableObj = *m_moveableObjects[item->Item->objectNumber];
|
||||||
|
|
||||||
if (moveableObj.DoNotDraw)
|
if (moveableObj.DoNotDraw)
|
||||||
continue;
|
continue;
|
||||||
|
@ -2393,9 +2393,9 @@ namespace TEN::Renderer
|
||||||
if (m_rooms.size() <= item->Item->roomNumber){
|
if (m_rooms.size() <= item->Item->roomNumber){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RendererRoom &const room = m_rooms[item->Item->roomNumber];
|
RendererRoom& room = m_rooms[item->Item->roomNumber];
|
||||||
RendererObject &moveableObj = *m_moveableObjects[item->Item->objectNumber];
|
RendererObject& moveableObj = *m_moveableObjects[item->Item->objectNumber];
|
||||||
OBJECT_INFO *obj = &Objects[item->Item->objectNumber];
|
OBJECT_INFO* obj = &Objects[item->Item->objectNumber];
|
||||||
|
|
||||||
m_stItem.World = item->World;
|
m_stItem.World = item->World;
|
||||||
m_stItem.Position = Vector4(item->Item->pos.xPos, item->Item->pos.yPos, item->Item->pos.zPos, 1.0f);
|
m_stItem.Position = Vector4(item->Item->pos.xPos, item->Item->pos.yPos, item->Item->pos.zPos, 1.0f);
|
||||||
|
@ -2547,10 +2547,10 @@ namespace TEN::Renderer
|
||||||
if (!(msh->flags & 1))
|
if (!(msh->flags & 1))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
RendererRoom &const room = m_rooms[view.staticsToDraw[i]->RoomIndex];
|
RendererRoom& room = m_rooms[view.staticsToDraw[i]->RoomIndex];
|
||||||
if(!m_staticObjects[msh->staticNumber])
|
if(!m_staticObjects[msh->staticNumber])
|
||||||
continue;
|
continue;
|
||||||
RendererObject &staticObj = *m_staticObjects[msh->staticNumber];
|
RendererObject& staticObj = *m_staticObjects[msh->staticNumber];
|
||||||
|
|
||||||
if (staticObj.ObjectMeshes.size() > 0)
|
if (staticObj.ObjectMeshes.size() > 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,16 +30,16 @@ namespace TEN::Renderer
|
||||||
if (m_rooms.size() < roomNumber) {
|
if (m_rooms.size() < roomNumber) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RendererRoom &const room = m_rooms[roomNumber];
|
RendererRoom& room = m_rooms[roomNumber];
|
||||||
|
|
||||||
ROOM_INFO *r = room.Room;
|
ROOM_INFO* r = room.Room;
|
||||||
|
|
||||||
short itemNum = NO_ITEM;
|
short itemNum = NO_ITEM;
|
||||||
for (itemNum = r->itemNumber; itemNum != NO_ITEM; itemNum = g_Level.Items[itemNum].nextItem)
|
for (itemNum = r->itemNumber; itemNum != NO_ITEM; itemNum = g_Level.Items[itemNum].nextItem)
|
||||||
{
|
{
|
||||||
//printf("ItemNum: %d, NextItem: %d\n", itemNum, g_Level.Items[itemNum].nextItem);
|
//printf("ItemNum: %d, NextItem: %d\n", itemNum, g_Level.Items[itemNum].nextItem);
|
||||||
|
|
||||||
ITEM_INFO *item = &g_Level.Items[itemNum];
|
ITEM_INFO* item = &g_Level.Items[itemNum];
|
||||||
|
|
||||||
if (item->objectNumber == ID_LARA && itemNum == g_Level.Items[itemNum].nextItem)
|
if (item->objectNumber == ID_LARA && itemNum == g_Level.Items[itemNum].nextItem)
|
||||||
break;
|
break;
|
||||||
|
@ -52,7 +52,7 @@ namespace TEN::Renderer
|
||||||
|
|
||||||
if (!m_moveableObjects[item->objectNumber].has_value())
|
if (!m_moveableObjects[item->objectNumber].has_value())
|
||||||
continue;
|
continue;
|
||||||
RendererItem *newItem = &m_items[itemNum];
|
RendererItem* newItem = &m_items[itemNum];
|
||||||
BOUNDING_BOX* bounds = GetBoundsAccurate(item);
|
BOUNDING_BOX* bounds = GetBoundsAccurate(item);
|
||||||
Vector3 min = (Vector3(bounds->X1, bounds->Y1, bounds->Z1)) + Vector3(item->pos.xPos, item->pos.yPos, item->pos.zPos);
|
Vector3 min = (Vector3(bounds->X1, bounds->Y1, bounds->Z1)) + Vector3(item->pos.xPos, item->pos.yPos, item->pos.zPos);
|
||||||
Vector3 max = (Vector3(bounds->X2, bounds->Y2, bounds->Z2)) + Vector3(item->pos.xPos, item->pos.yPos, item->pos.zPos);
|
Vector3 max = (Vector3(bounds->X2, bounds->Y2, bounds->Z2)) + Vector3(item->pos.xPos, item->pos.yPos, item->pos.zPos);
|
||||||
|
@ -77,14 +77,14 @@ namespace TEN::Renderer
|
||||||
if (m_rooms.size() < roomNumber) {
|
if (m_rooms.size() < roomNumber) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RendererRoom &const room = m_rooms[roomNumber];
|
RendererRoom& room = m_rooms[roomNumber];
|
||||||
ROOM_INFO *r = room.Room;
|
ROOM_INFO* r = room.Room;
|
||||||
if (r->mesh.size() <= 0)
|
if (r->mesh.size() <= 0)
|
||||||
return;
|
return;
|
||||||
int numStatics = r->mesh.size();
|
int numStatics = r->mesh.size();
|
||||||
for (int i = 0; i < numStatics; i++)
|
for (int i = 0; i < numStatics; i++)
|
||||||
{
|
{
|
||||||
MESH_INFO *mesh = &r->mesh[i];
|
MESH_INFO* mesh = &r->mesh[i];
|
||||||
if (mesh->flags & StaticMeshFlags::SM_VISIBLE)
|
if (mesh->flags & StaticMeshFlags::SM_VISIBLE)
|
||||||
{
|
{
|
||||||
RendererStatic* newStatic = &room.Statics[i];
|
RendererStatic* newStatic = &room.Statics[i];
|
||||||
|
@ -111,9 +111,9 @@ namespace TEN::Renderer
|
||||||
if (m_rooms.size() < roomNumber) {
|
if (m_rooms.size() < roomNumber) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RendererRoom &const room = m_rooms[roomNumber];
|
RendererRoom& room = m_rooms[roomNumber];
|
||||||
|
|
||||||
ROOM_INFO *r = room.Room;
|
ROOM_INFO* r = room.Room;
|
||||||
|
|
||||||
if (r->lights.size() <= 0)
|
if (r->lights.size() <= 0)
|
||||||
return;
|
return;
|
||||||
|
@ -138,7 +138,7 @@ namespace TEN::Renderer
|
||||||
int numLights = room.Lights.size();
|
int numLights = room.Lights.size();
|
||||||
|
|
||||||
m_shadowLight = NULL;
|
m_shadowLight = NULL;
|
||||||
RendererLight *brightestLight = NULL;
|
RendererLight* brightestLight = NULL;
|
||||||
float brightest = 0.0f;
|
float brightest = 0.0f;
|
||||||
|
|
||||||
for (int j = 0; j < numLights; j++)
|
for (int j = 0; j < numLights; j++)
|
||||||
|
@ -213,9 +213,9 @@ namespace TEN::Renderer
|
||||||
if (m_rooms.size() < roomNumber){
|
if (m_rooms.size() < roomNumber){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RendererRoom &const room = m_rooms[roomNumber];
|
RendererRoom& room = m_rooms[roomNumber];
|
||||||
|
|
||||||
ROOM_INFO *r = room.Room;
|
ROOM_INFO* r = room.Room;
|
||||||
LinearArrayBuffer<RendererLight*, 8> tempLights;
|
LinearArrayBuffer<RendererLight*, 8> tempLights;
|
||||||
|
|
||||||
Vector3 itemPosition = Vector3(item->Item->pos.xPos, item->Item->pos.yPos, item->Item->pos.zPos);
|
Vector3 itemPosition = Vector3(item->Item->pos.xPos, item->Item->pos.yPos, item->Item->pos.zPos);
|
||||||
|
@ -328,8 +328,8 @@ namespace TEN::Renderer
|
||||||
if (m_rooms.size() < roomNumber){
|
if (m_rooms.size() < roomNumber){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RendererRoom &const room = m_rooms[roomNumber];
|
RendererRoom& room = m_rooms[roomNumber];
|
||||||
ROOM_INFO *r = &g_Level.Rooms[roomNumber];
|
ROOM_INFO* r = &g_Level.Rooms[roomNumber];
|
||||||
|
|
||||||
int numLights = room.Lights.size();
|
int numLights = room.Lights.size();
|
||||||
|
|
||||||
|
@ -364,10 +364,10 @@ namespace TEN::Renderer
|
||||||
// m_lightsToDraw.resize(32);
|
// m_lightsToDraw.resize(32);
|
||||||
|
|
||||||
// Now try to search for a shadow caster, using Lara as reference
|
// Now try to search for a shadow caster, using Lara as reference
|
||||||
RendererRoom &const room = m_rooms[LaraItem->roomNumber];
|
RendererRoom& room = m_rooms[LaraItem->roomNumber];
|
||||||
|
|
||||||
// Search for the brightest light. We do a simple version of the classic calculation done in pixel shader.
|
// Search for the brightest light. We do a simple version of the classic calculation done in pixel shader.
|
||||||
RendererLight *brightestLight = NULL;
|
RendererLight* brightestLight = NULL;
|
||||||
float brightest = 0.0f;
|
float brightest = 0.0f;
|
||||||
|
|
||||||
// Try room lights
|
// Try room lights
|
||||||
|
@ -431,9 +431,9 @@ namespace TEN::Renderer
|
||||||
{
|
{
|
||||||
if (m_rooms.size() < roomNumber)
|
if (m_rooms.size() < roomNumber)
|
||||||
return;
|
return;
|
||||||
RendererRoom &const room = m_rooms[roomNumber];
|
RendererRoom& room = m_rooms[roomNumber];
|
||||||
|
|
||||||
ROOM_INFO *r = room.Room;
|
ROOM_INFO* r = room.Room;
|
||||||
|
|
||||||
short fxNum = NO_ITEM;
|
short fxNum = NO_ITEM;
|
||||||
for (fxNum = r->fxNumber; fxNum != NO_ITEM; fxNum = EffectList[fxNum].nextFx)
|
for (fxNum = r->fxNumber; fxNum != NO_ITEM; fxNum = EffectList[fxNum].nextFx)
|
||||||
|
|
|
@ -248,9 +248,9 @@ void TEN::Renderer::Renderer11::drawLara(RenderView& view, bool transparent, boo
|
||||||
m_cbMisc.updateData(m_stMisc, m_context.Get());
|
m_cbMisc.updateData(m_stMisc, m_context.Get());
|
||||||
m_context->PSSetConstantBuffers(3, 1, m_cbMisc.get());
|
m_context->PSSetConstantBuffers(3, 1, m_cbMisc.get());
|
||||||
|
|
||||||
RendererObject &laraObj = *m_moveableObjects[ID_LARA];
|
RendererObject& laraObj = *m_moveableObjects[ID_LARA];
|
||||||
RendererObject &laraSkin = *m_moveableObjects[ID_LARA_SKIN];
|
RendererObject& laraSkin = *m_moveableObjects[ID_LARA_SKIN];
|
||||||
RendererRoom &const room = m_rooms[LaraItem->roomNumber];
|
RendererRoom& room = m_rooms[LaraItem->roomNumber];
|
||||||
|
|
||||||
m_stItem.World = m_LaraWorldMatrix;
|
m_stItem.World = m_LaraWorldMatrix;
|
||||||
m_stItem.Position = Vector4(LaraItem->pos.xPos, LaraItem->pos.yPos, LaraItem->pos.zPos, 1.0f);
|
m_stItem.Position = Vector4(LaraItem->pos.xPos, LaraItem->pos.yPos, LaraItem->pos.zPos, 1.0f);
|
||||||
|
|
|
@ -269,17 +269,17 @@ bool GameFlow::DoGameflow()
|
||||||
|
|
||||||
switch (status)
|
switch (status)
|
||||||
{
|
{
|
||||||
case GAME_STATUS_EXIT_GAME:
|
case GAME_STATUS::GAME_STATUS_EXIT_GAME:
|
||||||
return true;
|
return true;
|
||||||
case GAME_STATUS_EXIT_TO_TITLE:
|
case GAME_STATUS::GAME_STATUS_EXIT_TO_TITLE:
|
||||||
CurrentLevel = 0;
|
CurrentLevel = 0;
|
||||||
break;
|
break;
|
||||||
case GAME_STATUS_NEW_GAME:
|
case GAME_STATUS::GAME_STATUS_NEW_GAME:
|
||||||
CurrentLevel = (SelectedLevelForNewGame != 0 ? SelectedLevelForNewGame : 1);
|
CurrentLevel = (SelectedLevelForNewGame != 0 ? SelectedLevelForNewGame : 1);
|
||||||
SelectedLevelForNewGame = 0;
|
SelectedLevelForNewGame = 0;
|
||||||
InitialiseGame = true;
|
InitialiseGame = true;
|
||||||
break;
|
break;
|
||||||
case GAME_STATUS_LOAD_GAME:
|
case GAME_STATUS::GAME_STATUS_LOAD_GAME:
|
||||||
// Load the header of the savegame for getting the level to load
|
// Load the header of the savegame for getting the level to load
|
||||||
SaveGame::LoadHeader(SelectedSaveGame, &header);
|
SaveGame::LoadHeader(SelectedSaveGame, &header);
|
||||||
|
|
||||||
|
@ -288,7 +288,7 @@ bool GameFlow::DoGameflow()
|
||||||
loadFromSavegame = true;
|
loadFromSavegame = true;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case GAME_STATUS_LEVEL_COMPLETED:
|
case GAME_STATUS::GAME_STATUS_LEVEL_COMPLETED:
|
||||||
if (LevelComplete == Levels.size())
|
if (LevelComplete == Levels.size())
|
||||||
{
|
{
|
||||||
// TODO: final credits
|
// TODO: final credits
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
<WarningLevel>Level1</WarningLevel>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;TR5MAIN_EXPORTS;_WINDOWS;_USRDLL;NOMINMAX;NEW_TIGHTROPE;CREATURE_AI_PRIORITY_OPTIMIZATION;SPDLOG_COMPILED_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;TR5MAIN_EXPORTS;_WINDOWS;_USRDLL;NOMINMAX;NEW_TIGHTROPE;CREATURE_AI_PRIORITY_OPTIMIZATION;SPDLOG_COMPILED_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<ConformanceMode>false</ConformanceMode>
|
<ConformanceMode>false</ConformanceMode>
|
||||||
|
@ -93,7 +93,7 @@ xcopy /Y "$(ProjectDir)Shaders\HUD\*.hlsl" "$(TargetDir)\Shaders\HUD\"</Command>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
<WarningLevel>Level2</WarningLevel>
|
||||||
<SDLCheck>false</SDLCheck>
|
<SDLCheck>false</SDLCheck>
|
||||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;TR5MAIN_EXPORTS;_WINDOWS;_USRDLL;NOMINMAX;NEW_TIGHTROPE;CREATURE_AI_PRIORITY_OPTIMIZATION;SPDLOG_COMPILED_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;TR5MAIN_EXPORTS;_WINDOWS;_USRDLL;NOMINMAX;NEW_TIGHTROPE;CREATURE_AI_PRIORITY_OPTIMIZATION;SPDLOG_COMPILED_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<ConformanceMode>false</ConformanceMode>
|
<ConformanceMode>false</ConformanceMode>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue