Add new asset type definitions: - GfxWorld and related structures (cells, lights, probes) - Menu system (menudef, itemdef, windowdef, listboxdef) - Sound system (soundalias, soundfile, speakermap, sndcurve) - D3D resources (vertex/index buffers) - Font glyphs and expression entries Update existing definitions with improved field annotations and UI display properties. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
122 lines
6.5 KiB
Plaintext
122 lines
6.5 KiB
Plaintext
type weapon [display="Weapon"]
|
|
{
|
|
// WeaponDef is extremely large in CoD4 (1000+ bytes)
|
|
// This is a simplified version focusing on the key fields
|
|
|
|
i32 name_ptr [ui, readonly, display="Name Ptr"];
|
|
i32 display_name_ptr [ui, readonly, display="Display Name Ptr"];
|
|
i32 ai_overlay_description_ptr [ui, readonly, display="AI Overlay Desc Ptr"];
|
|
|
|
// Gun model pointers
|
|
i32 gun_model_ptr [ui, readonly, display="Gun Model Ptr"];
|
|
i32 hand_model_ptr [ui, readonly, display="Hand Model Ptr"];
|
|
|
|
// Mode name (for alternate fire modes)
|
|
i32 mode_name_ptr [ui, readonly, display="Mode Name Ptr"];
|
|
|
|
// Player anim type
|
|
i32 player_anim_type [ui, readonly, display="Player Anim Type"];
|
|
|
|
// Weapon type and class
|
|
i32 weapon_type [ui, readonly, display="Weapon Type"];
|
|
i32 weapon_class [ui, readonly, display="Weapon Class"];
|
|
i32 penetrate_type [ui, readonly, display="Penetrate Type"];
|
|
i32 impact_type [ui, readonly, display="Impact Type"];
|
|
i32 inventory_type [ui, readonly, display="Inventory Type"];
|
|
i32 fire_type [ui, readonly, display="Fire Type"];
|
|
|
|
// Offhand class
|
|
i32 offhand_class [ui, readonly, display="Offhand Class"];
|
|
|
|
// Stance
|
|
i32 stance [ui, readonly, display="Stance"];
|
|
|
|
// View model pointers
|
|
i32 view_flash_effect_ptr [ui, readonly, display="View Flash Effect Ptr"];
|
|
i32 world_flash_effect_ptr [ui, readonly, display="World Flash Effect Ptr"];
|
|
|
|
// Sounds
|
|
i32 pickup_sound_ptr [ui, readonly, display="Pickup Sound Ptr"];
|
|
i32 pickup_sound_player_ptr [ui, readonly, display="Pickup Sound Player Ptr"];
|
|
i32 ammo_pickup_sound_ptr [ui, readonly, display="Ammo Pickup Sound Ptr"];
|
|
i32 ammo_pickup_sound_player_ptr [ui, readonly, display="Ammo Pickup Sound Player Ptr"];
|
|
i32 projectile_sound_ptr [ui, readonly, display="Projectile Sound Ptr"];
|
|
i32 pullback_sound_ptr [ui, readonly, display="Pullback Sound Ptr"];
|
|
i32 pullback_sound_player_ptr [ui, readonly, display="Pullback Sound Player Ptr"];
|
|
i32 fire_sound_ptr [ui, readonly, display="Fire Sound Ptr"];
|
|
i32 fire_sound_player_ptr [ui, readonly, display="Fire Sound Player Ptr"];
|
|
i32 fire_loop_sound_ptr [ui, readonly, display="Fire Loop Sound Ptr"];
|
|
i32 fire_loop_sound_player_ptr [ui, readonly, display="Fire Loop Sound Player Ptr"];
|
|
i32 fire_stop_sound_ptr [ui, readonly, display="Fire Stop Sound Ptr"];
|
|
i32 fire_stop_sound_player_ptr [ui, readonly, display="Fire Stop Sound Player Ptr"];
|
|
i32 fire_last_sound_ptr [ui, readonly, display="Fire Last Sound Ptr"];
|
|
i32 fire_last_sound_player_ptr [ui, readonly, display="Fire Last Sound Player Ptr"];
|
|
i32 empty_fire_sound_ptr [ui, readonly, display="Empty Fire Sound Ptr"];
|
|
i32 empty_fire_sound_player_ptr [ui, readonly, display="Empty Fire Sound Player Ptr"];
|
|
i32 melee_swipe_sound_ptr [ui, readonly, display="Melee Swipe Sound Ptr"];
|
|
i32 melee_swipe_sound_player_ptr [ui, readonly, display="Melee Swipe Sound Player Ptr"];
|
|
i32 melee_hit_sound_ptr [ui, readonly, display="Melee Hit Sound Ptr"];
|
|
i32 melee_miss_sound_ptr [ui, readonly, display="Melee Miss Sound Ptr"];
|
|
i32 rechamber_sound_ptr [ui, readonly, display="Rechamber Sound Ptr"];
|
|
i32 rechamber_sound_player_ptr [ui, readonly, display="Rechamber Sound Player Ptr"];
|
|
i32 reload_sound_ptr [ui, readonly, display="Reload Sound Ptr"];
|
|
i32 reload_sound_player_ptr [ui, readonly, display="Reload Sound Player Ptr"];
|
|
i32 reload_empty_sound_ptr [ui, readonly, display="Reload Empty Sound Ptr"];
|
|
i32 reload_empty_sound_player_ptr [ui, readonly, display="Reload Empty Sound Player Ptr"];
|
|
i32 reload_start_sound_ptr [ui, readonly, display="Reload Start Sound Ptr"];
|
|
i32 reload_start_sound_player_ptr [ui, readonly, display="Reload Start Sound Player Ptr"];
|
|
i32 reload_end_sound_ptr [ui, readonly, display="Reload End Sound Ptr"];
|
|
i32 reload_end_sound_player_ptr [ui, readonly, display="Reload End Sound Player Ptr"];
|
|
i32 deploy_sound_ptr [ui, readonly, display="Deploy Sound Ptr"];
|
|
i32 deploy_sound_player_ptr [ui, readonly, display="Deploy Sound Player Ptr"];
|
|
i32 finish_deploy_sound_ptr [ui, readonly, display="Finish Deploy Sound Ptr"];
|
|
i32 finish_deploy_sound_player_ptr [ui, readonly, display="Finish Deploy Sound Player Ptr"];
|
|
i32 breakdown_sound_ptr [ui, readonly, display="Breakdown Sound Ptr"];
|
|
i32 breakdown_sound_player_ptr [ui, readonly, display="Breakdown Sound Player Ptr"];
|
|
i32 finish_breakdown_sound_ptr [ui, readonly, display="Finish Breakdown Sound Ptr"];
|
|
i32 finish_breakdown_sound_player_ptr [ui, readonly, display="Finish Breakdown Sound Player Ptr"];
|
|
i32 detonate_sound_ptr [ui, readonly, display="Detonate Sound Ptr"];
|
|
i32 detonate_sound_player_ptr [ui, readonly, display="Detonate Sound Player Ptr"];
|
|
i32 night_vision_wear_sound_ptr [ui, readonly, display="Night Vision Wear Sound Ptr"];
|
|
i32 night_vision_wear_sound_player_ptr [ui, readonly, display="Night Vision Wear Sound Player Ptr"];
|
|
i32 night_vision_remove_sound_ptr [ui, readonly, display="Night Vision Remove Sound Ptr"];
|
|
i32 night_vision_remove_sound_player_ptr [ui, readonly, display="Night Vision Remove Sound Player Ptr"];
|
|
i32 alt_switch_sound_ptr [ui, readonly, display="Alt Switch Sound Ptr"];
|
|
i32 alt_switch_sound_player_ptr [ui, readonly, display="Alt Switch Sound Player Ptr"];
|
|
i32 raise_sound_ptr [ui, readonly, display="Raise Sound Ptr"];
|
|
i32 raise_sound_player_ptr [ui, readonly, display="Raise Sound Player Ptr"];
|
|
i32 first_raise_sound_ptr [ui, readonly, display="First Raise Sound Ptr"];
|
|
i32 first_raise_sound_player_ptr [ui, readonly, display="First Raise Sound Player Ptr"];
|
|
i32 put_away_sound_ptr [ui, readonly, display="Put Away Sound Ptr"];
|
|
i32 put_away_sound_player_ptr [ui, readonly, display="Put Away Sound Player Ptr"];
|
|
|
|
// Read remaining weapon data as raw bytes
|
|
// The full structure has many more fields (damage, range, spread, etc.)
|
|
// This reads enough to cover the core structure (around 800+ more bytes)
|
|
weapon_data = read(800) [ui, readonly, display="Weapon Data"];
|
|
|
|
// Parse inline name
|
|
if (name_ptr == -1) {
|
|
name = cstring() [ui, readonly, display="Name"];
|
|
_name = name;
|
|
}
|
|
|
|
// Parse inline display name
|
|
if (display_name_ptr == -1) {
|
|
display_name = cstring() [ui, readonly, display="Display Name"];
|
|
}
|
|
|
|
// Parse inline AI overlay description
|
|
if (ai_overlay_description_ptr == -1) {
|
|
ai_overlay_description = cstring() [ui, readonly, display="AI Overlay Description"];
|
|
}
|
|
|
|
// Parse inline mode name
|
|
if (mode_name_ptr == -1) {
|
|
mode_name = cstring() [ui, readonly, display="Mode Name"];
|
|
}
|
|
|
|
// Note: Many more inline assets would follow (models, effects, sounds, etc.)
|
|
// This is a simplified version
|
|
}
|