### object_audit (P1 weapons.obj)
== sections (January-owned)
  ok   .rdata   sym:??_C@_0BA@HKDAKBBH@?$HOsecondary?9blur?$AA@      size    16/16    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BC@IMIGIGHG@secondary?5trigger?$AA@       size    18/18    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BD@CJIOBLLL@magnification?$DO0?40f?$AA@   size    19/19    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BO@MNJMFFGN@?$CBweapon_is_flag?$CIweapon_ size    30/30    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BP@BIBKIDBE@weapon?9?$DOweapon?4primary_t size    31/31    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BP@EKCOHDKN@c?3?2halo?2SOURCE?2items?2wea size    31/31    flags eq align 3/3
  ok   .rdata   sym:??_C@_0DD@MMDDCEO@new_state?$DO?$DN0?5?$CG?$CG?5 size    51/51    flags eq align 3/3
  ok   .rdata   sym:??_C@_0EI@IEKIMHHO@trigger_index?$DO?$DN0?5?$CG? size    72/72    flags eq align 4/4
  ok   .rdata   sym:??_C@_0EL@OJBCMDA@trigger_index?$DO?$DN0?5?$CG?$ size    75/75    flags eq align 4/4
  ok   .rdata   sym:??_C@_0EO@GOIBLAPE@magazine_index?$DO?$DN0?5?$CG size    78/78    flags eq align 4/4
  ok   .rdata   sym:??_C@_0N@PABHPCND@rounds_array?$AA@              size    13/13    flags eq align 3/3
  ok   .rdata   sym:??_C@_0O@MICLHJCM@?$HOprimary?9blur?$AA@         size    14/14    flags eq align 3/3
  ok   .rdata   sym:??_C@_0O@NGIMIMAN@weapon_update?$AA@             size    14/14    flags eq align 3/3
  ok   .rdata   sym:??_C@_0O@NODOJABJ@magnification?$AA@             size    14/14    flags eq align 3/3
  ok   .rdata   sym:__real@3d00adfd                                  size     4/4     flags eq align 3/3
  ok   .rdata   sym:__real@3d2aaaab                                  size     4/4     flags eq align 3/3
  ok   .rdata   sym:__real@40470d23                                  size     4/4     flags eq align 3/3
  ok   .text    sym:_animation_choose_random_permutation             size    32/32    flags eq align 5/5
  ok   .text    sym:_animation_convert_frame_to_pal                  size    16/16    flags eq align 5/5
  ok   .text    sym:_animation_key_frame_index                       size    16/16    flags eq align 5/5
  ok   .text    sym:_animation_update                                size    32/32    flags eq align 5/5
  ok   .data    sym:_data_00307140                                   size  1536/1536  flags eq align 4/4
  ok   .text    sym:_power                                           size    16/16    flags eq align 5/5
  ok   .text    sym:_projectile_distribute                           size   160/160   flags eq align 5/5
  ok   .text    sym:_random                                          size    16/16    flags eq align 5/5
  ok   .text    sym:_trigger_create_projectiles                      size  1824/1824  flags eq align 5/5
  ok   .text    sym:_weapon_aim                                      size   272/272   flags eq align 5/5
  ok   .text    sym:_weapon_build_weapon_interface_state             size   320/320   flags eq align 5/5
  ok   .text    sym:_weapon_busy                                     size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_can_be_fired                             size   144/144   flags eq align 5/5
  ok   .text    sym:_weapon_compute_movement_penalty                 size   112/112   flags eq align 5/5
  ok   .text    sym:_weapon_delete                                   size    96/96    flags eq align 5/5
  ok   .text    sym:_weapon_detonate                                 size    64/64    flags eq align 5/5
  ok   .text    sym:_weapon_effect_looping_new                       size   112/112   flags eq align 5/5
  ok   .text    sym:_weapon_effect_new                               size   240/240   flags eq align 5/5
  ok   .text    sym:_weapon_estimate_time_to_target                  size   128/128   flags eq align 5/5
  ok   .text    sym:_weapon_export_function_values                   size   912/912   flags eq align 5/5
  ok   .text    sym:_weapon_get_effect_object_index                  size    48/48    flags eq align 5/5
  ok   .text    sym:_weapon_get_field_of_view                        size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_get_first_person_animation_time          size   432/432   flags eq align 5/5
  ok   .text    sym:_weapon_get_label                                size    48/48    flags eq align 5/5
  ok   .text    sym:_weapon_get_owner_object_index                   size    64/64    flags eq align 5/5
  ok   .text    sym:_weapon_get_projectile_owner_object_index        size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_get_zoom_magnification                   size   352/352   flags eq align 5/5
  ok   .text    sym:_weapon_handle_potential_inventory_item          size   544/544   flags eq align 5/5
  ok   .text    sym:_weapon_is_flag                                  size    48/48    flags eq align 5/5
  ok   .text    sym:_weapon_magazine_finish_chamber                  size   128/128   flags eq align 5/5
  ok   .text    sym:_weapon_magazine_finish_reload                   size   224/224   flags eq align 5/5
  ok   .text    sym:_weapon_magazine_get                             size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_magazine_idle                            size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_magazine_start_chamber                   size   192/192   flags eq align 5/5
  ok   .text    sym:_weapon_magazine_start_reload                    size   352/352   flags eq align 5/5
  ok   .text    sym:_weapon_magazine_state_change_ok                 size    64/64    flags eq align 5/5
  ok   .text    sym:_weapon_magazine_state_interruptable             size    32/32    flags eq align 5/5
  ok   .text    sym:_weapon_melee_attack                             size    16/16    flags eq align 5/5
  ok   .text    sym:_weapon_must_be_readied                          size    48/48    flags eq align 5/5
  ok   .text    sym:_weapon_new                                      size   400/400   flags eq align 5/5
  ok   .text    sym:_weapon_overcharged                              size    48/48    flags eq align 5/5
  ok   .text    sym:_weapon_owner_update                             size   160/160   flags eq align 5/5
  ok   .text    sym:_weapon_place                                    size   208/208   flags eq align 5/5
  ok   .text    sym:_weapon_preprocess_node_orientations             size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_prevents_grenade_throwing                size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_prevents_melee_attack                    size    96/96    flags eq align 5/5
  ok   .text    sym:_weapon_put_away                                 size   160/160   flags eq align 5/5
  ok   .text    sym:_weapon_ready                                    size   128/128   flags eq align 5/5
  ok   .text    sym:_weapon_reloading                                size   128/128   flags eq align 5/5
  ok   .text    sym:_weapon_reset                                    size   400/400   flags eq align 5/5
  ok   .text    sym:_weapon_rotate_zoom_level                        size   112/112   flags eq align 5/5
  ok   .text    sym:_weapon_set_current_amount                       size   352/352   flags eq align 5/5
  ok   .text    sym:_weapon_set_integrated_light_power               size    32/32    flags eq align 5/5
  ok   .text    sym:_weapon_set_state                                size   432/432   flags eq align 5/5
  ok   .text    sym:_weapon_set_total_rounds                         size   288/288   flags eq align 5/5
  ok   .text    sym:_weapon_state_interruptable                      size    32/32    flags eq align 5/5
  ok   .text    sym:_weapon_state_key_frame                          size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_state_next                               size    48/48    flags eq align 5/5
  ok   .text    sym:_weapon_stop_reload                              size    16/16    flags eq align 5/5
  ok   .text    sym:_weapon_trigger_begin_firing                     size   624/624   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_can_fire_again                   size   240/240   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_change_state                     size   144/144   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_finish_tracking                  size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_trigger_fire                             size  1984/1984  flags eq align 5/5
  ok   .text    sym:_weapon_trigger_fully_charged                    size   192/192   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_get                              size    80/80    flags eq align 5/5
  ok   .text    sym:_weapon_trigger_get_charged_fraction             size   144/144   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_idle                             size   144/144   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_locked                           size    96/96    flags eq align 5/5
  ok   .text    sym:_weapon_trigger_overcharged                      size   128/128   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_overload                         size   208/208   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_recover                          size    96/96    flags eq align 5/5
  ok   .text    sym:_weapon_trigger_release_charge                   size   256/256   flags eq align 5/5
  ok   .text    sym:_weapon_trigger_start_ejection_port              size   128/128   flags eq align 5/5
  ok   .text    sym:_weapon_update                                   size  2800/2800  flags eq align 5/5
  ok   .text    sym:_weapon_useful                                   size    48/48    flags eq align 5/5
  ok   .text    sym:_weapons_dispose                                 size    16/16    flags eq align 5/5
  ok   .text    sym:_weapons_dispose_from_old_map                    size    16/16    flags eq align 5/5
  ok   .text    sym:_weapons_initialize                              size    16/16    flags eq align 5/5
  ok   .text    sym:_weapons_initialize_for_new_map                  size    16/16    flags eq align 5/5
== symbols (January)
  97 January symbols, 0 differ
== candidate-only surplus (no credit; needs provider link)
  +.drectve sec:.drectve#0                                       size 42
  +.rdata   sym:??_C@_00CNPNBAHC@?$AA@                           size 1
  +.rdata   sym:??_C@_0BA@DGFIDHMB@primary?5trigger?$AA@         size 16
  +.rdata   sym:??_C@_0BC@KMKCONEA@result_aim_vector?$AA@        size 18
  +.rdata   sym:??_C@_0CB@CJEIPHLL@?$CFs?3?5assert_valid_real?$C size 33
  +.rdata   sym:??_C@_0CL@GJIEKICC@?$CFs?3?5assert_valid_real_no size 43
  +.rdata   sym:__real@00000000                                  size 4
  +.rdata   sym:__real@38d1b717                                  size 4
  +.rdata   sym:__real@3d088889                                  size 4
  +.rdata   sym:__real@3d4ccccd                                  size 4
  +.rdata   sym:__real@3f000000                                  size 4
  +.rdata   sym:__real@3f1a36e2e0000000                          size 8
  +.rdata   sym:__real@3f50624de0000000                          size 8
  +.rdata   sym:__real@3f800000                                  size 4
  +.rdata   sym:__real@41f00000                                  size 4
  +.text    sym:_cosine                                          size 16
  +.text    sym:_cross_product3d                                 size 64
  +.text    sym:_fast_ftol                                       size 32
  +.text    sym:_magnitude3d                                     size 48
  +.text    sym:_magnitude_squared3d                             size 48
  +.text    sym:_negate_vector3d                                 size 48
  +.text    sym:_normalize3d                                     size 96
  +.text    sym:_point_from_line3d                               size 48
  +.text    sym:_random_range                                    size 32
  +.text    sym:_random_vector_in_cone3d                         size 48
  +.text    sym:_real_random                                     size 16
  +.text    sym:_scale_vector3d                                  size 48
  +.text    sym:_sine                                            size 16
  +.text    sym:_square_root                                     size 16
  +.text    sym:_valid_real                                      size 32
  +.text    sym:_valid_real_normal3d                             size 96
  +.text    sym:_valid_realcmp                                   size 64
OBJECT AUDIT: PASS
rc=0

### object_audit (build/base weapons.obj, before)
  +.text    sym:_real_random                                     size 16
  +.text    sym:_scale_vector3d                                  size 48
  +.text    sym:_sine                                            size 16
  +.text    sym:_square_root                                     size 16
  +.text    sym:_valid_real                                      size 32
  +.text    sym:_valid_real_normal3d                             size 96
  +.text    sym:_valid_realcmp                                   size 64
OBJECT AUDIT: FAIL (1)
rc=0
