-
feat: map WeaponEntry and WeaponFireParams fields from live memory
paavohtl +1: Claude Opus 4.6 (1M context) Dumped full WeaponTable (71 entries) via debug CLI and cross-referenced
with CTaskMissile constructor decompilation. Key findings:
- fire_params[0..94] copied verbatim into CTaskMissile.weapon_data
- Fields are polymorphic: different meanings for missile vs hitscan weapons
- Named 28+ fields: gravity_pct, bounce_pct, friction_pct, missile_type,
blast_radius, sprite_id, collision_radius (Fixed), render_size (Fixed)
- Hitscan damage at fp[8] (Shotgun=25, confirmed by gameplay)
- WeaponEntry header: requires_aiming, shot_count, retreat_time, creates_projectile
- MissileType corrected: 1=Homing, 2=Standard, 3=Sheep (was 2/3/4)
Includes tools/analyze_weapon_table.py for offline dump analysis.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>