ata4 / bspsrc

A Source engine map decompiler
Other
657 stars 86 forks source link

Tactical Intervention lump 0 decompiles are cut short by null characters #159

Open Tsuey opened 1 year ago

Tsuey commented 1 year ago

As documented here, when the 24 maps that ship with the TI Steam version are decompiled, a total of 12,159 entities are missing because BSPSource sees null characters in lump 0, then skips everything after it.

Given the XOR encryption, it could be decompile protection for lump 0 which is just plaintext, and I recovered the missing entities through manual BSP extraction. However, it is always limited to the same client-side or TI-specific entities (below), so if porting to other games it'd go unnoticed.

If I had to guess, the developers used a messy in-house tool to add entities without recompiling, since some maps are very large.

Full list of missing classes throughout all 24 maps:

env_sprite_clientside
info_ammo_box_spawn
info_car_spawn
info_heli_CT_spawn
info_heli_TER_spawn
info_heli_supply_drop
info_hostage_spawn_1
info_hostage_spawn_2
info_hostage_spawn_3
info_hostage_waypoint_1
info_hostage_waypoint_2
info_hostage_waypoint_3
info_oozpoint
info_overlay_accessor
info_player_ctstart_1A
info_player_ctstart_1B
info_player_ctstart_1C
info_player_ctstart_2A
info_player_ctstart_2B
info_player_ctstart_2C
info_player_ctstart_3A
info_player_ctstart_3B
info_player_ctstart_3C
info_player_ctstart_A1
info_player_ctstart_A2
info_player_ctstart_B1
info_player_ctstart_C1
info_player_terroriststart_1A
info_player_terroriststart_1B
info_player_terroriststart_1C
info_player_terroriststart_2A
info_player_terroriststart_2B
info_player_terroriststart_2C
info_player_terroriststart_3A
info_player_terroriststart_3B
info_player_terroriststart_3C
info_player_terroriststart_A1
info_player_terroriststart_A2
info_player_terroriststart_B1
info_portable_blockade
info_supply_crate_spawn
info_vehicle_wp
info_vip_wp
prop_hitzone
prop_ragdoll_clientside

Image