mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 10:08:18 +00:00
Merge pull request #1898 from Ryozuki/pr_fix_telegunsave
Fix the telegun save
This commit is contained in:
commit
fb3fa9d9ab
|
@ -43,9 +43,6 @@ bool CCharacter::Spawn(CPlayer *pPlayer, vec2 Pos)
|
||||||
m_LastPenalty = false;
|
m_LastPenalty = false;
|
||||||
m_LastBonus = false;
|
m_LastBonus = false;
|
||||||
|
|
||||||
m_HasTeleGun = false;
|
|
||||||
m_HasTeleLaser = false;
|
|
||||||
m_HasTeleGrenade = false;
|
|
||||||
m_TeleGunTeleport = false;
|
m_TeleGunTeleport = false;
|
||||||
m_IsBlueTeleGunTeleport = false;
|
m_IsBlueTeleGunTeleport = false;
|
||||||
m_Solo = false;
|
m_Solo = false;
|
||||||
|
@ -1194,11 +1191,11 @@ void CCharacter::Snap(int SnappingClient)
|
||||||
pDDNetCharacter->m_Flags |= CHARACTERFLAG_NO_RIFLE_HIT;
|
pDDNetCharacter->m_Flags |= CHARACTERFLAG_NO_RIFLE_HIT;
|
||||||
if(m_Hit&DISABLE_HIT_SHOTGUN)
|
if(m_Hit&DISABLE_HIT_SHOTGUN)
|
||||||
pDDNetCharacter->m_Flags |= CHARACTERFLAG_NO_SHOTGUN_HIT;
|
pDDNetCharacter->m_Flags |= CHARACTERFLAG_NO_SHOTGUN_HIT;
|
||||||
if(m_HasTeleGun)
|
if(m_Core.m_HasTelegunGun)
|
||||||
pDDNetCharacter->m_Flags |= CHARACTERFLAG_TELEGUN_GUN;
|
pDDNetCharacter->m_Flags |= CHARACTERFLAG_TELEGUN_GUN;
|
||||||
if(m_HasTeleGrenade)
|
if(m_Core.m_HasTelegunGrenade)
|
||||||
pDDNetCharacter->m_Flags |= CHARACTERFLAG_TELEGUN_GRENADE;
|
pDDNetCharacter->m_Flags |= CHARACTERFLAG_TELEGUN_GRENADE;
|
||||||
if(m_HasTeleLaser)
|
if(m_Core.m_HasTelegunLaser)
|
||||||
pDDNetCharacter->m_Flags |= CHARACTERFLAG_TELEGUN_LASER;
|
pDDNetCharacter->m_Flags |= CHARACTERFLAG_TELEGUN_LASER;
|
||||||
if(m_aWeapons[WEAPON_HAMMER].m_Got)
|
if(m_aWeapons[WEAPON_HAMMER].m_Got)
|
||||||
pDDNetCharacter->m_Flags |= CHARACTERFLAG_WEAPON_HAMMER;
|
pDDNetCharacter->m_Flags |= CHARACTERFLAG_WEAPON_HAMMER;
|
||||||
|
@ -1694,41 +1691,35 @@ void CCharacter::HandleTiles(int Index)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Teleport gun
|
// Teleport gun
|
||||||
if (((m_TileIndex == TILE_TELE_GUN_ENABLE) || (m_TileFIndex == TILE_TELE_GUN_ENABLE)) && !m_HasTeleGun)
|
if (((m_TileIndex == TILE_TELE_GUN_ENABLE) || (m_TileFIndex == TILE_TELE_GUN_ENABLE)) && !m_Core.m_HasTelegunGun)
|
||||||
{
|
{
|
||||||
m_HasTeleGun = true;
|
|
||||||
m_Core.m_HasTelegunGun = true;
|
m_Core.m_HasTelegunGun = true;
|
||||||
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport gun enabled");
|
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport gun enabled");
|
||||||
}
|
}
|
||||||
else if (((m_TileIndex == TILE_TELE_GUN_DISABLE) || (m_TileFIndex == TILE_TELE_GUN_DISABLE)) && m_HasTeleGun)
|
else if (((m_TileIndex == TILE_TELE_GUN_DISABLE) || (m_TileFIndex == TILE_TELE_GUN_DISABLE)) && m_Core.m_HasTelegunGun)
|
||||||
{
|
{
|
||||||
m_HasTeleGun = false;
|
|
||||||
m_Core.m_HasTelegunGun = false;
|
m_Core.m_HasTelegunGun = false;
|
||||||
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport gun disabled");
|
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport gun disabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((m_TileIndex == TILE_TELE_GRENADE_ENABLE) || (m_TileFIndex == TILE_TELE_GRENADE_ENABLE)) && !m_HasTeleGrenade)
|
if (((m_TileIndex == TILE_TELE_GRENADE_ENABLE) || (m_TileFIndex == TILE_TELE_GRENADE_ENABLE)) && !m_Core.m_HasTelegunGrenade)
|
||||||
{
|
{
|
||||||
m_HasTeleGrenade = true;
|
|
||||||
m_Core.m_HasTelegunGrenade = true;
|
m_Core.m_HasTelegunGrenade = true;
|
||||||
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport grenade enabled");
|
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport grenade enabled");
|
||||||
}
|
}
|
||||||
else if (((m_TileIndex == TILE_TELE_GRENADE_DISABLE) || (m_TileFIndex == TILE_TELE_GRENADE_DISABLE)) && m_HasTeleGrenade)
|
else if (((m_TileIndex == TILE_TELE_GRENADE_DISABLE) || (m_TileFIndex == TILE_TELE_GRENADE_DISABLE)) && m_Core.m_HasTelegunGrenade)
|
||||||
{
|
{
|
||||||
m_HasTeleGrenade = false;
|
|
||||||
m_Core.m_HasTelegunGrenade = false;
|
m_Core.m_HasTelegunGrenade = false;
|
||||||
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport grenade disabled");
|
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport grenade disabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((m_TileIndex == TILE_TELE_LASER_ENABLE) || (m_TileFIndex == TILE_TELE_LASER_ENABLE)) && !m_HasTeleLaser)
|
if (((m_TileIndex == TILE_TELE_LASER_ENABLE) || (m_TileFIndex == TILE_TELE_LASER_ENABLE)) && !m_Core.m_HasTelegunLaser)
|
||||||
{
|
{
|
||||||
m_HasTeleLaser = true;
|
|
||||||
m_Core.m_HasTelegunLaser = true;
|
m_Core.m_HasTelegunLaser = true;
|
||||||
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport laser enabled");
|
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport laser enabled");
|
||||||
}
|
}
|
||||||
else if (((m_TileIndex == TILE_TELE_LASER_DISABLE) || (m_TileFIndex == TILE_TELE_LASER_DISABLE)) && m_HasTeleLaser)
|
else if (((m_TileIndex == TILE_TELE_LASER_DISABLE) || (m_TileFIndex == TILE_TELE_LASER_DISABLE)) && m_Core.m_HasTelegunLaser)
|
||||||
{
|
{
|
||||||
m_HasTeleLaser = false;
|
|
||||||
m_Core.m_HasTelegunLaser = false;
|
m_Core.m_HasTelegunLaser = false;
|
||||||
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport laser disabled");
|
GameServer()->SendChatTarget(GetPlayer()->GetCID(), "Teleport laser disabled");
|
||||||
}
|
}
|
||||||
|
|
|
@ -252,9 +252,6 @@ public:
|
||||||
bool m_LastRefillJumps;
|
bool m_LastRefillJumps;
|
||||||
bool m_LastPenalty;
|
bool m_LastPenalty;
|
||||||
bool m_LastBonus;
|
bool m_LastBonus;
|
||||||
bool m_HasTeleGun;
|
|
||||||
bool m_HasTeleGrenade;
|
|
||||||
bool m_HasTeleLaser;
|
|
||||||
vec2 m_TeleGunPos;
|
vec2 m_TeleGunPos;
|
||||||
bool m_TeleGunTeleport;
|
bool m_TeleGunTeleport;
|
||||||
bool m_IsBlueTeleGunTeleport;
|
bool m_IsBlueTeleGunTeleport;
|
||||||
|
@ -281,6 +278,10 @@ public:
|
||||||
void SetNinjaActivationDir(vec2 ActivationDir) { m_Ninja.m_ActivationDir = ActivationDir; };
|
void SetNinjaActivationDir(vec2 ActivationDir) { m_Ninja.m_ActivationDir = ActivationDir; };
|
||||||
void SetNinjaActivationTick(int ActivationTick) { m_Ninja.m_ActivationTick = ActivationTick; };
|
void SetNinjaActivationTick(int ActivationTick) { m_Ninja.m_ActivationTick = ActivationTick; };
|
||||||
void SetNinjaCurrentMoveTime(int CurrentMoveTime) { m_Ninja.m_CurrentMoveTime = CurrentMoveTime; };
|
void SetNinjaCurrentMoveTime(int CurrentMoveTime) { m_Ninja.m_CurrentMoveTime = CurrentMoveTime; };
|
||||||
|
|
||||||
|
bool HasTelegunGun() { return m_Core.m_HasTelegunGun; };
|
||||||
|
bool HasTelegunGrenade() { return m_Core.m_HasTelegunGrenade; };
|
||||||
|
bool HasTelegunLaser() { return m_Core.m_HasTelegunLaser; };
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
|
|
@ -169,7 +169,7 @@ void CLaser::DoBounce()
|
||||||
|
|
||||||
CCharacter *pOwnerChar = GameServer()->GetPlayerChar(m_Owner);
|
CCharacter *pOwnerChar = GameServer()->GetPlayerChar(m_Owner);
|
||||||
if (m_Owner >= 0 && m_Energy <= 0 && m_Pos && !m_TeleportCancelled && pOwnerChar &&
|
if (m_Owner >= 0 && m_Energy <= 0 && m_Pos && !m_TeleportCancelled && pOwnerChar &&
|
||||||
pOwnerChar->IsAlive() && pOwnerChar->m_HasTeleLaser && m_Type == WEAPON_RIFLE)
|
pOwnerChar->IsAlive() && pOwnerChar->HasTelegunLaser() && m_Type == WEAPON_RIFLE)
|
||||||
{
|
{
|
||||||
vec2 PossiblePos;
|
vec2 PossiblePos;
|
||||||
bool Found = false;
|
bool Found = false;
|
||||||
|
|
|
@ -176,7 +176,7 @@ void CProjectile::Tick()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pOwnerChar && ColPos && !GameLayerClipped(ColPos) &&
|
if (pOwnerChar && ColPos && !GameLayerClipped(ColPos) &&
|
||||||
((m_Type == WEAPON_GRENADE && pOwnerChar->m_HasTeleGrenade) || (m_Type == WEAPON_GUN && pOwnerChar->m_HasTeleGun)))
|
((m_Type == WEAPON_GRENADE && pOwnerChar->HasTelegunGrenade()) || (m_Type == WEAPON_GUN && pOwnerChar->HasTelegunGun())))
|
||||||
{
|
{
|
||||||
int MapIndex = GameServer()->Collision()->GetPureMapIndex(pTargetChr ? pTargetChr->m_Pos : ColPos);
|
int MapIndex = GameServer()->Collision()->GetPureMapIndex(pTargetChr ? pTargetChr->m_Pos : ColPos);
|
||||||
int TileFIndex = GameServer()->Collision()->GetFTileIndex(MapIndex);
|
int TileFIndex = GameServer()->Collision()->GetFTileIndex(MapIndex);
|
||||||
|
|
|
@ -69,9 +69,9 @@ void CSaveTee::save(CCharacter *pChr)
|
||||||
|
|
||||||
m_NotEligibleForFinish = pChr->m_pPlayer->m_NotEligibleForFinish;
|
m_NotEligibleForFinish = pChr->m_pPlayer->m_NotEligibleForFinish;
|
||||||
|
|
||||||
m_HasTeleGun = pChr->m_HasTeleGun;
|
m_HasTelegunGun = pChr->m_Core.m_HasTelegunGun;
|
||||||
m_HasTeleGrenade = pChr->m_HasTeleGrenade;
|
m_HasTelegunGrenade = pChr->m_Core.m_HasTelegunGrenade;
|
||||||
m_HasTeleLaser = pChr->m_HasTeleLaser;
|
m_HasTelegunLaser = pChr->m_Core.m_HasTelegunLaser;
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
m_CorePos = pChr->m_Core.m_Pos;
|
m_CorePos = pChr->m_Core.m_Pos;
|
||||||
|
@ -147,9 +147,9 @@ void CSaveTee::load(CCharacter *pChr, int Team)
|
||||||
|
|
||||||
pChr->m_pPlayer->m_NotEligibleForFinish = pChr->m_pPlayer->m_NotEligibleForFinish || m_NotEligibleForFinish;
|
pChr->m_pPlayer->m_NotEligibleForFinish = pChr->m_pPlayer->m_NotEligibleForFinish || m_NotEligibleForFinish;
|
||||||
|
|
||||||
pChr->m_HasTeleGun = m_HasTeleGun;
|
pChr->m_Core.m_HasTelegunGun = m_HasTelegunGun;
|
||||||
pChr->m_HasTeleLaser = m_HasTeleLaser;
|
pChr->m_Core.m_HasTelegunLaser = m_HasTelegunLaser;
|
||||||
pChr->m_HasTeleGrenade = m_HasTeleGrenade;
|
pChr->m_Core.m_HasTelegunGrenade = m_HasTelegunGrenade;
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
pChr->m_Core.m_Pos = m_CorePos;
|
pChr->m_Core.m_Pos = m_CorePos;
|
||||||
|
@ -181,23 +181,23 @@ void CSaveTee::load(CCharacter *pChr, int Team)
|
||||||
|
|
||||||
char* CSaveTee::GetString()
|
char* CSaveTee::GetString()
|
||||||
{
|
{
|
||||||
str_format(m_String, sizeof(m_String), "%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%s", m_name, m_Alive, m_Paused, m_NeededFaketuning, m_TeeFinished, m_IsSolo, m_aWeapons[0].m_AmmoRegenStart, m_aWeapons[0].m_Ammo, m_aWeapons[0].m_Ammocost, m_aWeapons[0].m_Got, m_aWeapons[1].m_AmmoRegenStart, m_aWeapons[1].m_Ammo, m_aWeapons[1].m_Ammocost, m_aWeapons[1].m_Got, m_aWeapons[2].m_AmmoRegenStart, m_aWeapons[2].m_Ammo, m_aWeapons[2].m_Ammocost, m_aWeapons[2].m_Got, m_aWeapons[3].m_AmmoRegenStart, m_aWeapons[3].m_Ammo, m_aWeapons[3].m_Ammocost, m_aWeapons[3].m_Got, m_aWeapons[4].m_AmmoRegenStart, m_aWeapons[4].m_Ammo, m_aWeapons[4].m_Ammocost, m_aWeapons[4].m_Got, m_aWeapons[5].m_AmmoRegenStart, m_aWeapons[5].m_Ammo, m_aWeapons[5].m_Ammocost, m_aWeapons[5].m_Got, m_LastWeapon, m_QueuedWeapon, m_SuperJump, m_Jetpack, m_NinjaJetpack, m_FreezeTime, m_FreezeTick, m_DeepFreeze, m_EndlessHook, m_DDRaceState, m_Hit, m_Collision, m_TuneZone, m_TuneZoneOld, m_Hook, m_Time, (int)m_Pos.x, (int)m_Pos.y, (int)m_PrevPos.x, (int)m_PrevPos.y, m_TeleCheckpoint, m_LastPenalty, (int)m_CorePos.x, (int)m_CorePos.y, m_Vel.x, m_Vel.y, m_ActiveWeapon, m_Jumped, m_JumpedTotal, m_Jumps, (int)m_HookPos.x, (int)m_HookPos.y, m_HookDir.x, m_HookDir.y, (int)m_HookTeleBase.x, (int)m_HookTeleBase.y, m_HookTick, m_HookState, m_CpTime, m_CpActive, m_CpLastBroadcast, m_CpCurrent[0], m_CpCurrent[1], m_CpCurrent[2], m_CpCurrent[3], m_CpCurrent[4], m_CpCurrent[5], m_CpCurrent[6], m_CpCurrent[7], m_CpCurrent[8], m_CpCurrent[9], m_CpCurrent[10], m_CpCurrent[11], m_CpCurrent[12], m_CpCurrent[13], m_CpCurrent[14], m_CpCurrent[15], m_CpCurrent[16], m_CpCurrent[17], m_CpCurrent[18], m_CpCurrent[19], m_CpCurrent[20], m_CpCurrent[21], m_CpCurrent[22], m_CpCurrent[23], m_CpCurrent[24], m_NotEligibleForFinish, m_HasTeleGun, m_HasTeleLaser, m_HasTeleGrenade, aGameUuid);
|
str_format(m_String, sizeof(m_String), "%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%s", m_name, m_Alive, m_Paused, m_NeededFaketuning, m_TeeFinished, m_IsSolo, m_aWeapons[0].m_AmmoRegenStart, m_aWeapons[0].m_Ammo, m_aWeapons[0].m_Ammocost, m_aWeapons[0].m_Got, m_aWeapons[1].m_AmmoRegenStart, m_aWeapons[1].m_Ammo, m_aWeapons[1].m_Ammocost, m_aWeapons[1].m_Got, m_aWeapons[2].m_AmmoRegenStart, m_aWeapons[2].m_Ammo, m_aWeapons[2].m_Ammocost, m_aWeapons[2].m_Got, m_aWeapons[3].m_AmmoRegenStart, m_aWeapons[3].m_Ammo, m_aWeapons[3].m_Ammocost, m_aWeapons[3].m_Got, m_aWeapons[4].m_AmmoRegenStart, m_aWeapons[4].m_Ammo, m_aWeapons[4].m_Ammocost, m_aWeapons[4].m_Got, m_aWeapons[5].m_AmmoRegenStart, m_aWeapons[5].m_Ammo, m_aWeapons[5].m_Ammocost, m_aWeapons[5].m_Got, m_LastWeapon, m_QueuedWeapon, m_SuperJump, m_Jetpack, m_NinjaJetpack, m_FreezeTime, m_FreezeTick, m_DeepFreeze, m_EndlessHook, m_DDRaceState, m_Hit, m_Collision, m_TuneZone, m_TuneZoneOld, m_Hook, m_Time, (int)m_Pos.x, (int)m_Pos.y, (int)m_PrevPos.x, (int)m_PrevPos.y, m_TeleCheckpoint, m_LastPenalty, (int)m_CorePos.x, (int)m_CorePos.y, m_Vel.x, m_Vel.y, m_ActiveWeapon, m_Jumped, m_JumpedTotal, m_Jumps, (int)m_HookPos.x, (int)m_HookPos.y, m_HookDir.x, m_HookDir.y, (int)m_HookTeleBase.x, (int)m_HookTeleBase.y, m_HookTick, m_HookState, m_CpTime, m_CpActive, m_CpLastBroadcast, m_CpCurrent[0], m_CpCurrent[1], m_CpCurrent[2], m_CpCurrent[3], m_CpCurrent[4], m_CpCurrent[5], m_CpCurrent[6], m_CpCurrent[7], m_CpCurrent[8], m_CpCurrent[9], m_CpCurrent[10], m_CpCurrent[11], m_CpCurrent[12], m_CpCurrent[13], m_CpCurrent[14], m_CpCurrent[15], m_CpCurrent[16], m_CpCurrent[17], m_CpCurrent[18], m_CpCurrent[19], m_CpCurrent[20], m_CpCurrent[21], m_CpCurrent[22], m_CpCurrent[23], m_CpCurrent[24], m_NotEligibleForFinish, m_HasTelegunGun, m_HasTelegunLaser, m_HasTelegunGrenade, aGameUuid);
|
||||||
return m_String;
|
return m_String;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CSaveTee::LoadString(char* String)
|
int CSaveTee::LoadString(char* String)
|
||||||
{
|
{
|
||||||
int Num;
|
int Num;
|
||||||
Num = sscanf(String, "%[^\t]\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%d\t%d\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%dt%d\t%d\t%d\t%*s", m_name, &m_Alive, &m_Paused, &m_NeededFaketuning, &m_TeeFinished, &m_IsSolo, &m_aWeapons[0].m_AmmoRegenStart, &m_aWeapons[0].m_Ammo, &m_aWeapons[0].m_Ammocost, &m_aWeapons[0].m_Got, &m_aWeapons[1].m_AmmoRegenStart, &m_aWeapons[1].m_Ammo, &m_aWeapons[1].m_Ammocost, &m_aWeapons[1].m_Got, &m_aWeapons[2].m_AmmoRegenStart, &m_aWeapons[2].m_Ammo, &m_aWeapons[2].m_Ammocost, &m_aWeapons[2].m_Got, &m_aWeapons[3].m_AmmoRegenStart, &m_aWeapons[3].m_Ammo, &m_aWeapons[3].m_Ammocost, &m_aWeapons[3].m_Got, &m_aWeapons[4].m_AmmoRegenStart, &m_aWeapons[4].m_Ammo, &m_aWeapons[4].m_Ammocost, &m_aWeapons[4].m_Got, &m_aWeapons[5].m_AmmoRegenStart, &m_aWeapons[5].m_Ammo, &m_aWeapons[5].m_Ammocost, &m_aWeapons[5].m_Got, &m_LastWeapon, &m_QueuedWeapon, &m_SuperJump, &m_Jetpack, &m_NinjaJetpack, &m_FreezeTime, &m_FreezeTick, &m_DeepFreeze, &m_EndlessHook, &m_DDRaceState, &m_Hit, &m_Collision, &m_TuneZone, &m_TuneZoneOld, &m_Hook, &m_Time, &m_Pos.x, &m_Pos.y, &m_PrevPos.x, &m_PrevPos.y, &m_TeleCheckpoint, &m_LastPenalty, &m_CorePos.x, &m_CorePos.y, &m_Vel.x, &m_Vel.y, &m_ActiveWeapon, &m_Jumped, &m_JumpedTotal, &m_Jumps, &m_HookPos.x, &m_HookPos.y, &m_HookDir.x, &m_HookDir.y, &m_HookTeleBase.x, &m_HookTeleBase.y, &m_HookTick, &m_HookState, &m_CpTime, &m_CpActive, &m_CpLastBroadcast, &m_CpCurrent[0], &m_CpCurrent[1], &m_CpCurrent[2], &m_CpCurrent[3], &m_CpCurrent[4], &m_CpCurrent[5], &m_CpCurrent[6], &m_CpCurrent[7], &m_CpCurrent[8], &m_CpCurrent[9], &m_CpCurrent[10], &m_CpCurrent[11], &m_CpCurrent[12], &m_CpCurrent[13], &m_CpCurrent[14], &m_CpCurrent[15], &m_CpCurrent[16], &m_CpCurrent[17], &m_CpCurrent[18], &m_CpCurrent[19], &m_CpCurrent[20], &m_CpCurrent[21], &m_CpCurrent[22], &m_CpCurrent[23], &m_CpCurrent[24], &m_NotEligibleForFinish, &m_HasTeleGun, &m_HasTeleLaser, &m_HasTeleGrenade);
|
Num = sscanf(String, "%[^\t]\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%d\t%d\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%*s", m_name, &m_Alive, &m_Paused, &m_NeededFaketuning, &m_TeeFinished, &m_IsSolo, &m_aWeapons[0].m_AmmoRegenStart, &m_aWeapons[0].m_Ammo, &m_aWeapons[0].m_Ammocost, &m_aWeapons[0].m_Got, &m_aWeapons[1].m_AmmoRegenStart, &m_aWeapons[1].m_Ammo, &m_aWeapons[1].m_Ammocost, &m_aWeapons[1].m_Got, &m_aWeapons[2].m_AmmoRegenStart, &m_aWeapons[2].m_Ammo, &m_aWeapons[2].m_Ammocost, &m_aWeapons[2].m_Got, &m_aWeapons[3].m_AmmoRegenStart, &m_aWeapons[3].m_Ammo, &m_aWeapons[3].m_Ammocost, &m_aWeapons[3].m_Got, &m_aWeapons[4].m_AmmoRegenStart, &m_aWeapons[4].m_Ammo, &m_aWeapons[4].m_Ammocost, &m_aWeapons[4].m_Got, &m_aWeapons[5].m_AmmoRegenStart, &m_aWeapons[5].m_Ammo, &m_aWeapons[5].m_Ammocost, &m_aWeapons[5].m_Got, &m_LastWeapon, &m_QueuedWeapon, &m_SuperJump, &m_Jetpack, &m_NinjaJetpack, &m_FreezeTime, &m_FreezeTick, &m_DeepFreeze, &m_EndlessHook, &m_DDRaceState, &m_Hit, &m_Collision, &m_TuneZone, &m_TuneZoneOld, &m_Hook, &m_Time, &m_Pos.x, &m_Pos.y, &m_PrevPos.x, &m_PrevPos.y, &m_TeleCheckpoint, &m_LastPenalty, &m_CorePos.x, &m_CorePos.y, &m_Vel.x, &m_Vel.y, &m_ActiveWeapon, &m_Jumped, &m_JumpedTotal, &m_Jumps, &m_HookPos.x, &m_HookPos.y, &m_HookDir.x, &m_HookDir.y, &m_HookTeleBase.x, &m_HookTeleBase.y, &m_HookTick, &m_HookState, &m_CpTime, &m_CpActive, &m_CpLastBroadcast, &m_CpCurrent[0], &m_CpCurrent[1], &m_CpCurrent[2], &m_CpCurrent[3], &m_CpCurrent[4], &m_CpCurrent[5], &m_CpCurrent[6], &m_CpCurrent[7], &m_CpCurrent[8], &m_CpCurrent[9], &m_CpCurrent[10], &m_CpCurrent[11], &m_CpCurrent[12], &m_CpCurrent[13], &m_CpCurrent[14], &m_CpCurrent[15], &m_CpCurrent[16], &m_CpCurrent[17], &m_CpCurrent[18], &m_CpCurrent[19], &m_CpCurrent[20], &m_CpCurrent[21], &m_CpCurrent[22], &m_CpCurrent[23], &m_CpCurrent[24], &m_NotEligibleForFinish, &m_HasTelegunGun, &m_HasTelegunLaser, &m_HasTelegunGrenade);
|
||||||
switch(Num) // Don't forget to update this when you save / load more / less.
|
switch(Num) // Don't forget to update this when you save / load more / less.
|
||||||
{
|
{
|
||||||
case 96:
|
case 96:
|
||||||
m_NotEligibleForFinish = false;
|
m_NotEligibleForFinish = false;
|
||||||
// fallthrough
|
// fallthrough
|
||||||
case 97:
|
case 97:
|
||||||
m_HasTeleGrenade = 0;
|
m_HasTelegunGrenade = 0;
|
||||||
m_HasTeleLaser = 0;
|
m_HasTelegunLaser = 0;
|
||||||
m_HasTeleGun = 0;
|
m_HasTelegunGun = 0;
|
||||||
// fallthrough
|
// fallthrough
|
||||||
case 100:
|
case 100:
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -68,9 +68,9 @@ private:
|
||||||
|
|
||||||
int m_NotEligibleForFinish;
|
int m_NotEligibleForFinish;
|
||||||
|
|
||||||
int m_HasTeleGun;
|
int m_HasTelegunGun;
|
||||||
int m_HasTeleGrenade;
|
int m_HasTelegunGrenade;
|
||||||
int m_HasTeleLaser;
|
int m_HasTelegunLaser;
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
vec2 m_CorePos;
|
vec2 m_CorePos;
|
||||||
|
|
Loading…
Reference in a new issue