Add support for open fortress (#2057)

* Run timers every tick instead of arbitrarily on 100ms thinks, adding a significantly higher amount of precision

* undo force push

* add open fortress support

* undo leftover timersys changes

* Add fireoutput sig and remove engine gamedata

* Update master.games.txt

* Update master.games.txt
This commit is contained in:
sappho 2023-10-15 20:29:44 -04:00 committed by GitHub
parent cb1dae5aab
commit b090aa36bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 388 additions and 0 deletions

View File

@ -192,6 +192,7 @@
"game" "bms"
"game" "iosoccer"
"game" "vietnam"
"game" "open_fortress"
}
"Keys"
@ -244,6 +245,7 @@
"game" "iosoccer"
"game" "vietnam"
"game" "reactivedrop"
"game" "open_fortress"
}
"Keys"
@ -305,6 +307,7 @@
"game" "reactivedrop"
"game" "FortressForever"
"game" "vietnam"
"game" "open_fortress"
}
"Keys"

View File

@ -0,0 +1,209 @@
"Games"
{
"#default"
{
"Offsets"
{
/* CBaseMultiplayerPlayer::CanBeAutobalanced()*/
"CanBeAutobalanced"
{
"linux" "487"
"mac" "487"
"windows" "486"
}
/* CBaseEntity::EndTouch(CBaseEntity*) */
"EndTouch"
{
"linux" "103"
"mac" "103"
"windows" "102"
}
/* CBaseEntity::FireBullets(FireBulletsInfo_t const&) */
"FireBullets"
{
"linux" "115"
"mac" "115"
"windows" "114"
}
/* CBaseEntity::GetMaxHealth() const */
"GetMaxHealth"
{
"linux" "120"
"mac" "120"
"windows" "119"
}
// NOTE: https://asherkin.github.io/vtable/ provides the correct windows offset, GDC does not appear to.
/* CBaseEntity::NetworkStateChanged_m_hGroundEntity(void*) */
"GroundEntChanged"
{
"linux" "181"
"mac" "181"
"windows" "179"
}
/* CBaseEntity::OnTakeDamage(CTakeDamageInfo const&) */
"OnTakeDamage"
{
"linux" "64"
"mac" "64"
"windows" "63"
}
/* CBasePlayer::OnTakeDamage_Alive(CTakeDamageInfo const&) */
"OnTakeDamage_Alive"
{
"linux" "290"
"mac" "290"
"windows" "289"
}
/* CBasePlayer::PreThink() */
"PreThink"
{
"linux" "362"
"mac" "362"
"windows" "361"
}
/* CBasePlayer::PostThink() */
"PostThink"
{
"linux" "363"
"mac" "363"
"windows" "362"
}
/* CBaseCombatWeapon::Reload() */
"Reload"
{
"linux" "275"
"mac" "274"
"windows" "274"
}
/* CBaseEntity::SetTransmit(CCheckTransmitInfo*, bool) */
"SetTransmit"
{
"linux" "22"
"mac" "21"
"windows" "21"
}
/* CBaseEntity::ShouldCollide(int, int) const */
"ShouldCollide"
{
"linux" "18"
"mac" "16"
"windows" "16"
}
/* CBaseEntity::Spawn() */
"Spawn"
{
"linux" "24"
"mac" "23"
"windows" "23"
}
/* CBaseEntity::StartTouch(CBaseEntity*) */
"StartTouch"
{
"linux" "101"
"mac" "100"
"windows" "100"
}
/* CBaseEntity::Think() */
"Think"
{
"linux" "49"
"mac" "48"
"windows" "48"
}
/* CBaseEntity::Touch(CBaseEntity*) */
"Touch"
{
"linux" "102"
"mac" "101"
"windows" "101"
}
/* CBaseEntity::TraceAttack(CTakeDamageInfo const&, Vector const&, CGameTrace*, CDmgAccumulator*) */
"TraceAttack"
{
"linux" "62"
"mac" "61"
"windows" "61"
}
/* CBaseEntity::Use(CBaseEntity*, CBaseEntity*, USE_TYPE, float) */
"Use"
{
"linux" "100"
"mac" "99"
"windows" "99"
}
/* CBaseEntity::VPhysicsUpdate(IPhysicsObject*) */
"VPhysicsUpdate"
{
"linux" "160"
"mac" "159"
"windows" "159"
}
/* CBaseEntity::Blocked(CBaseEntity*) */
"Blocked"
{
"linux" "105"
"mac" "104"
"windows" "104"
}
/* CBaseCombatCharacter::Weapon_CanSwitchTo(CBaseCombatWeapon*) */
"Weapon_CanSwitchTo"
{
"linux" "284"
"mac" "283"
"windows" "283"
}
/* CBaseCombatCharacter::Weapon_CanUse(CBaseCombatWeapon*) */
"Weapon_CanUse"
{
"linux" "278"
"mac" "277"
"windows" "277"
}
/* CBaseCombatCharacter::Weapon_Drop(CBaseCombatWeapon*, Vector const*, Vector const*) */
"Weapon_Drop"
{
"linux" "281"
"mac" "280"
"windows" "280"
}
/* CBaseCombatCharacter::Weapon_Equip(CBaseCombatWeapon*) */
"Weapon_Equip"
{
"linux" "279"
"mac" "278"
"windows" "278"
}
/* CBaseCombatCharacter::Weapon_Switch(CBaseCombatWeapon*, int) */
"Weapon_Switch"
{
"linux" "282"
"mac" "281"
"windows" "281"
}
}
}
}

View File

@ -204,4 +204,8 @@
{
"game" "reactivedrop"
}
"game.openfortress.txt"
{
"game" "open_fortress"
}
}

View File

@ -0,0 +1,168 @@
"Games"
{
"#default"
{
"Offsets"
{
/* CBaseTempEntity::GetName() */
"GetTEName"
{
"windows" "4"
"linux" "4"
"mac" "4"
}
/* CBaseTempEntity::GetNext() */
"GetTENext"
{
"windows" "8"
"linux" "8"
"mac" "8"
}
/* CBaseTempEntity::GetServerClass() */
"TE_GetServerClass"
{
"windows" "0"
"linux" "0"
"mac" "0"
}
/* CBasePlayer::GiveNamedItem(char const*, int) */
"GiveNamedItem"
{
"windows" "429"
"linux" "430"
"mac" "429"
}
/* CBaseCombatCharacter::RemovePlayerItem(CBaseCombatWeapon*) */
"RemovePlayerItem"
{
"windows" "287"
"linux" "288"
"mac" "287"
}
/* CBaseCombatCharacter::Weapon_GetSlot(int) const */
"Weapon_GetSlot"
{
"windows" "285"
"linux" "286"
"mac" "285"
}
/* CBaseAnimating::Ignite(float, bool, float, bool) */
"Ignite"
{
"windows" "211"
"linux" "212"
"mac" "212"
}
/* CBaseAnimating::Extinguish() */
"Extinguish"
{
"windows" "215"
"linux" "216"
"mac" "215"
}
/* CBaseEntity::Teleport(Vector const*, QAngle const*, Vector const*) */
"Teleport"
{
"windows" "110"
"linux" "111"
"mac" "110"
}
/* CBasePlayer::CommitSuicide(bool, bool) */
"CommitSuicide"
{
"windows" "469"
"linux" "469"
"mac" "469"
}
/* CBaseEntity::GetVelocity(Vector*, Vector*) */
"GetVelocity"
{
"windows" "142"
"linux" "143"
"mac" "142"
}
/* CBaseEntity::EyeAngles() */
"EyeAngles"
{
"windows" "133"
"linux" "134"
"mac" "133"
}
/* CBaseEntity::SetModel(char const*) */
"SetEntityModel"
{
"windows" "25"
"linux" "26"
"mac" "25"
}
/* CBaseEntity::AcceptInput(char const*, CBaseEntity*, CBaseEntity*, variant_t, int) */
"AcceptInput"
{
"windows" "37"
"linux" "38"
"mac" "37"
}
/* CBaseCombatCharacter::Weapon_Equip(CBaseCombatWeapon*) */
"WeaponEquip"
{
"windows" "278"
"linux" "279"
"mac" "279"
}
/* CBaseEntity::Activate() */
"Activate"
{
"windows" "34"
"linux" "35"
"mac" "34"
}
/* CBasePlayer::PlayerRunCommand(CUserCmd*, IMoveHelper*) */
"PlayerRunCmd"
{
"windows" "448"
"linux" "449"
"mac" "448"
}
/* CBaseCombatCharacter::GiveAmmo(int, int, bool) */
"GiveAmmo"
{
"windows" "269"
"linux" "270"
"mac" "269"
}
}
"Keys"
{
"GameRulesProxy" "CTFGameRulesProxy"
"GameRulesDataTable" "tf_gamerules_data"
}
"Signatures"
{
"FireOutput"
{
"library" "server"
"windows" "@?FireOutput@COutputEvent@@QAEXPAVCBaseEntity@@0M@Z"
"linux" "@_ZN12COutputEvent10FireOutputEP11CBaseEntityS1_f"
}
}
}
}

View File

@ -269,4 +269,8 @@
{
"game" "reactivedrop"
}
"game.openfortress.txt"
{
"game" "open_fortress"
}
}