From 2c69ae91518e0dd5dc80b4b61c2147229d413961 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 13 Aug 2020 19:27:37 +1000 Subject: [PATCH] Rename a heap of firing range symbols and document FR commands --- src/firingrange/firingrange.c | 1880 +++++++++++++------------- src/game/chr/chraicommands.c | 2 +- src/game/game_01bea0.c | 2 +- src/game/game_0601b0.c | 2 +- src/game/game_095320.c | 2 +- src/game/game_096360.c | 2 +- src/game/game_097ba0.c | 2 +- src/game/game_0b63b0.c | 2 +- src/game/game_102240.c | 2 +- src/game/game_167ae0.c | 6 +- src/game/game_1a3340.c | 42 +- src/game/propobj.c | 6 +- src/game/training.c | 1146 ++++++++-------- src/gvars/gvars.c | 4 +- src/include/constants.h | 11 +- src/include/firingrange/frcommands.h | 175 ++- src/include/game/training.h | 20 +- src/include/gvars/gvars.h | 4 +- src/include/types.h | 14 +- 19 files changed, 1741 insertions(+), 1583 deletions(-) diff --git a/src/firingrange/firingrange.c b/src/firingrange/firingrange.c index 46e27c055..d93578ca4 100644 --- a/src/firingrange/firingrange.c +++ b/src/firingrange/firingrange.c @@ -41,22 +41,22 @@ u8 weapon_falcon2[] = { set_ammo_limit(255, 255, 24), set_extra_speed(0, 0.2, 0.4), set_help_script(0), - cmd_0a(0x00), - add_target(0x00, 0x12, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x13, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x02, 0x14, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0f, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x10, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x02, 0x11, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0c, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3b, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3c, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3d, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x23, 0x08, FRTARGETFLAG_GOLD), - add_target(0x00, 0x24, 0x08, FRTARGETFLAG_GOLD), - add_target(0x00, 0x25, 0x08, FRTARGETFLAG_GOLD), + set_pad_index_offset(0), + add_target(0, 0x12, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x13, 8, FRTARGETFLAG_BRONZE), + add_target(2, 0x14, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x0f, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x10, 8, FRTARGETFLAG_BRONZE), + add_target(2, 0x11, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0c, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0d, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0e, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x3b, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x3c, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x3d, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x23, 8, FRTARGETFLAG_GOLD), + add_target(0, 0x24, 8, FRTARGETFLAG_GOLD), + add_target(0, 0x25, 8, FRTARGETFLAG_GOLD), end(), }; @@ -68,21 +68,21 @@ u8 weapon_falcon2_scope[] = { set_ammo_limit(255, 255, 8), set_extra_speed(0, 2, 0.4), set_help_script(2), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_accuracy(0, 80, 0), - add_target(0x01, 0x0c, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0c, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0c, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x26, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x27, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x28, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1d, 0x08, FRTARGETFLAG_GOLD), + add_target(1, 0x0c, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0d, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0e, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0c, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0d, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0e, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0c, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0d, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0e, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x26, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x27, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x28, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x1d, 8, FRTARGETFLAG_GOLD), end(), }; @@ -94,29 +94,29 @@ u8 weapon_falcon2_silencer[] = { set_ammo_limit(255, 255, 255), set_extra_speed(0, 0.8, 0.4), set_help_script(1), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(255, 9, 3), - add_target(0x01, 0x2f, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x30, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x31, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2c, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2b, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2a, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x29, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x32, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x33, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x34, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x35, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x36, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x37, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x38, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x39, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3a, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3b, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3c, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3d, 0x0c, FRTARGETFLAG_GOLD), + add_target(1, 0x2f, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x30, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x31, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2e, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2d, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2c, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2b, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2a, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x29, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x32, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x33, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x34, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x35, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x36, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x37, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x38, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x39, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x3a, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x3b, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x3c, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x3d, 12, FRTARGETFLAG_GOLD), end(), }; @@ -127,22 +127,22 @@ u8 weapon_magsec4[] = { set_time_limit(255, 255, 12), set_ammo_limit(255, 18, 255), set_extra_speed(0, 1, 3), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(255, 255, 4), - add_target(0x01, 0x2b, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2a, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x29, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x42, 0xff, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x32, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x33, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x34, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x35, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x36, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x37, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3e, 0x03, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x41, 0x03, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x40, 0x03, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x3f, 0x03, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(1, 0x2b, 9, FRTARGETFLAG_BRONZE), + add_target(1, 0x2a, 9, FRTARGETFLAG_BRONZE), + add_target(1, 0x29, 9, FRTARGETFLAG_BRONZE), + add_target(0, 0x42, 255, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x32, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x33, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x34, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x35, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x36, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x37, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x3e, 3, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x41, 3, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x40, 3, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x3f, 3, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), end(), }; @@ -153,31 +153,31 @@ u8 weapon_mauler[] = { set_time_limit(255, 255, 15), set_ammo_limit(255, 50, 35), set_extra_speed(0, 1, 3), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(255, 8, 6), - add_target(0x01, 0x45, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x46, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x47, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x46, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x45, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x47, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x47, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x45, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x46, 0x14, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x15, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x16, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x17, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x18, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x19, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1a, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1b, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1c, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x35, 0x05, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x36, 0x05, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x37, 0x05, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x38, 0x05, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x39, 0x05, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x3a, 0x05, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(1, 0x45, 20, FRTARGETFLAG_BRONZE), + add_target(1, 0x46, 20, FRTARGETFLAG_BRONZE), + add_target(1, 0x47, 20, FRTARGETFLAG_BRONZE), + add_target(1, 0x46, 20, FRTARGETFLAG_BRONZE), + add_target(1, 0x45, 20, FRTARGETFLAG_BRONZE), + add_target(1, 0x47, 20, FRTARGETFLAG_BRONZE), + add_target(1, 0x47, 20, FRTARGETFLAG_BRONZE), + add_target(1, 0x45, 20, FRTARGETFLAG_BRONZE), + add_target(1, 0x46, 20, FRTARGETFLAG_BRONZE), + add_target(0, 0x15, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x16, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x17, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x18, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x19, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x1a, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x1b, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x1c, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x35, 5, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x36, 5, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x37, 5, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x38, 5, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x39, 5, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x3a, 5, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), end(), }; @@ -188,31 +188,31 @@ u8 weapon_phoenix[] = { set_time_limit(255, 255, 20), set_ammo_limit(255, 18, 3), set_extra_speed(2, 0.5, 2.5), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 8, 6), - add_target(0x00, 0x3e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x40, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x41, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3f, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x40, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x41, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3f, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3b, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x3c, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x3d, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x3b, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x3c, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x3d, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x3b, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x3c, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x3d, 0x0c, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), - add_target(0x00, 0x22, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x21, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x20, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1f, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1d, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1e, 0x01, FRTARGETFLAG_GOLD), + add_target(0, 0x3e, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x40, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x41, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x3f, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x3e, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x40, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x41, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x3f, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x3b, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x3c, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x3d, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x3b, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x3c, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x3d, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x3b, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x3c, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x3d, 12, FRTARGETFLAG_SILVER | FRTARGETFLAG_TMPINVINCIBLE), + add_target(0, 0x22, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x21, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x20, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1f, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1d, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1e, 1, FRTARGETFLAG_GOLD), end(), }; @@ -223,34 +223,34 @@ u8 weapon_dy357magnum[] = { set_time_limit(255, 255, 12), set_ammo_limit(255, 3, 5), set_extra_speed(0, 1, 3), - cmd_0a(0x00), - add_target(0x00, 0x38, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x39, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3a, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x39, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x38, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3a, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3a, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x39, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x38, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0c, 0x01, FRTARGETFLAG_SILVER), - add_target(0x01, 0x0d, 0x01, FRTARGETFLAG_SILVER), - add_target(0x02, 0x0e, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x01, FRTARGETFLAG_SILVER), - add_target(0x01, 0x10, 0x01, FRTARGETFLAG_SILVER), - add_target(0x02, 0x11, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x12, 0x01, FRTARGETFLAG_SILVER), - add_target(0x01, 0x13, 0x01, FRTARGETFLAG_SILVER), - add_target(0x02, 0x14, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x32, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x2a, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x2b, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x2c, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x36, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x2e, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x38, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x30, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x3a, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + set_pad_index_offset(0), + add_target(0, 0x38, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x39, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x3a, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x39, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x38, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x3a, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x3a, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x39, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x38, 6, FRTARGETFLAG_BRONZE), + add_target(1, 0x0c, 1, FRTARGETFLAG_SILVER), + add_target(1, 0x0d, 1, FRTARGETFLAG_SILVER), + add_target(2, 0x0e, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 1, FRTARGETFLAG_SILVER), + add_target(1, 0x10, 1, FRTARGETFLAG_SILVER), + add_target(2, 0x11, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x12, 1, FRTARGETFLAG_SILVER), + add_target(1, 0x13, 1, FRTARGETFLAG_SILVER), + add_target(2, 0x14, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x32, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x2a, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x2b, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x2c, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x36, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x2e, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x38, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x30, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x3a, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), end(), }; @@ -261,23 +261,23 @@ u8 weapon_dy357lx[] = { set_time_limit(255, 30, 50), set_ammo_limit(255, 255, 12), set_extra_speed(0, 1, 0.5), - cmd_0a(0x00), - add_target(0x00, 0x15, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x16, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x17, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x18, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x19, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1a, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1b, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1c, 0x06, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x22, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x21, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x20, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1f, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1d, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1e, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x22, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3b, 0x0c, FRTARGETFLAG_GOLD), + set_pad_index_offset(0), + add_target(0, 0x15, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x16, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x17, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x18, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x19, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x1a, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x1b, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x1c, 6, FRTARGETFLAG_BRONZE), + add_target(0, 0x22, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x21, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x20, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x1f, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x1d, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x1e, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x22, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x3b, 12, FRTARGETFLAG_GOLD), end(), }; @@ -289,27 +289,27 @@ u8 weapon_cmp150[] = { set_time_limit(255, 255, 20), set_ammo_limit(255, 80, 255), set_extra_speed(0, 12, 3), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 4, 6), - add_target(0x00, 0x3a, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x39, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x38, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x37, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x36, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x35, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x34, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x33, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x32, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3e, 0x0c, FRTARGETFLAG_SILVER), - add_target(0x00, 0x40, 0x0c, FRTARGETFLAG_SILVER), - add_target(0x00, 0x41, 0x0c, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3f, 0x0c, FRTARGETFLAG_SILVER), - add_target(0x00, 0x26, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x27, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x28, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x26, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x27, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x28, 0x0c, FRTARGETFLAG_GOLD), + add_target(0, 0x3a, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x39, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x38, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x37, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x36, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x35, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x34, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x33, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x32, 32, FRTARGETFLAG_BRONZE), + add_target(0, 0x3e, 12, FRTARGETFLAG_SILVER), + add_target(0, 0x40, 12, FRTARGETFLAG_SILVER), + add_target(0, 0x41, 12, FRTARGETFLAG_SILVER), + add_target(0, 0x3f, 12, FRTARGETFLAG_SILVER), + add_target(0, 0x26, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x27, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x28, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x26, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x27, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x28, 12, FRTARGETFLAG_GOLD), end(), }; @@ -321,22 +321,22 @@ u8 weapon_cyclone[] = { set_time_limit(255, 20, 18), set_ammo_limit(255, 255, 255), set_extra_speed(0, 1, 1), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 5, 1), - add_target(0x01, 0x12, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x13, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x14, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x11, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x10, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0f, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x45, 0x19, FRTARGETFLAG_SILVER), - add_target(0x01, 0x46, 0x19, FRTARGETFLAG_SILVER), - add_target(0x01, 0x47, 0x19, FRTARGETFLAG_SILVER), - add_target(0x01, 0x45, 0x19, FRTARGETFLAG_SILVER), - add_target(0x01, 0x46, 0x19, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0xfa, FRTARGETFLAG_GOLD), - add_target(0x00, 0x42, 0x19, FRTARGETFLAG_GOLD), - add_target(0x00, 0x43, 0x19, FRTARGETFLAG_GOLD), + add_target(1, 0x12, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x13, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x14, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x11, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x10, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x0f, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x45, 25, FRTARGETFLAG_SILVER), + add_target(1, 0x46, 25, FRTARGETFLAG_SILVER), + add_target(1, 0x47, 25, FRTARGETFLAG_SILVER), + add_target(1, 0x45, 25, FRTARGETFLAG_SILVER), + add_target(1, 0x46, 25, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 250, FRTARGETFLAG_GOLD), + add_target(0, 0x42, 25, FRTARGETFLAG_GOLD), + add_target(0, 0x43, 25, FRTARGETFLAG_GOLD), end(), }; @@ -348,27 +348,27 @@ u8 weapon_callistontg[] = { set_time_limit(255, 30, 20), set_ammo_limit(255, 255, 255), set_extra_speed(0, 1, 3), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 1, 2), - add_target(0x01, 0x0f, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x10, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x11, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x12, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x13, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x14, 0x20, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x4c, 0xff, FRTARGETFLAG_SILVER), - add_target(0x01, 0x4d, 0xff, FRTARGETFLAG_SILVER), - add_target(0x01, 0x4e, 0xff, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1f, 0x28, FRTARGETFLAG_SILVER), - add_target(0x00, 0x32, 0x14, FRTARGETFLAG_GOLD), - add_target(0x00, 0x2a, 0x14, FRTARGETFLAG_GOLD), - add_target(0x00, 0x2b, 0x14, FRTARGETFLAG_GOLD), - add_target(0x00, 0x2c, 0x14, FRTARGETFLAG_GOLD), - add_target(0x00, 0x36, 0x14, FRTARGETFLAG_GOLD), - add_target(0x00, 0x2e, 0x14, FRTARGETFLAG_GOLD), - add_target(0x00, 0x38, 0x14, FRTARGETFLAG_GOLD), - add_target(0x00, 0x30, 0x14, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3a, 0x14, FRTARGETFLAG_GOLD), + add_target(1, 0x0f, 32, FRTARGETFLAG_BRONZE), + add_target(1, 0x10, 32, FRTARGETFLAG_BRONZE), + add_target(1, 0x11, 32, FRTARGETFLAG_BRONZE), + add_target(1, 0x12, 32, FRTARGETFLAG_BRONZE), + add_target(1, 0x13, 32, FRTARGETFLAG_BRONZE), + add_target(1, 0x14, 32, FRTARGETFLAG_BRONZE), + add_target(1, 0x4c, 255, FRTARGETFLAG_SILVER), + add_target(1, 0x4d, 255, FRTARGETFLAG_SILVER), + add_target(1, 0x4e, 255, FRTARGETFLAG_SILVER), + add_target(0, 0x1f, 40, FRTARGETFLAG_SILVER), + add_target(0, 0x32, 20, FRTARGETFLAG_GOLD), + add_target(0, 0x2a, 20, FRTARGETFLAG_GOLD), + add_target(0, 0x2b, 20, FRTARGETFLAG_GOLD), + add_target(0, 0x2c, 20, FRTARGETFLAG_GOLD), + add_target(0, 0x36, 20, FRTARGETFLAG_GOLD), + add_target(0, 0x2e, 20, FRTARGETFLAG_GOLD), + add_target(0, 0x38, 20, FRTARGETFLAG_GOLD), + add_target(0, 0x30, 20, FRTARGETFLAG_GOLD), + add_target(0, 0x3a, 20, FRTARGETFLAG_GOLD), end(), }; @@ -385,21 +385,21 @@ u8 weapon_rcp120[] = { // It's likely a copy/paste error from the Falcon 2. set_help_script(0), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 255, 9), - add_target(0x01, 0x07, 0xff, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x14, 0x14, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), - add_target(0x00, 0x13, 0x14, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), - add_target(0x00, 0x12, 0x14, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), - add_target(0x00, 0x14, 0x04, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), - add_target(0x00, 0x13, 0x04, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), - add_target(0x00, 0x12, 0x04, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), - add_target(0x00, 0x11, 0x0a, FRTARGETFLAG_GOLD), - add_target(0x00, 0x10, 0x0a, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0f, 0x0a, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0e, 0x0a, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0d, 0x0a, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0c, 0x0a, FRTARGETFLAG_GOLD), + add_target(1, 0x07, 255, FRTARGETFLAG_BRONZE), + add_target(0, 0x14, 20, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), + add_target(0, 0x13, 20, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), + add_target(0, 0x12, 20, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), + add_target(0, 0x14, 4, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), + add_target(0, 0x13, 4, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), + add_target(0, 0x12, 4, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY | FRTARGETFLAG_ROTATEONCLOAK), + add_target(0, 0x11, 10, FRTARGETFLAG_GOLD), + add_target(0, 0x10, 10, FRTARGETFLAG_GOLD), + add_target(0, 0x0f, 10, FRTARGETFLAG_GOLD), + add_target(0, 0x0e, 10, FRTARGETFLAG_GOLD), + add_target(0, 0x0d, 10, FRTARGETFLAG_GOLD), + add_target(0, 0x0c, 10, FRTARGETFLAG_GOLD), end(), }; @@ -411,20 +411,20 @@ u8 weapon_laptopgun[] = { set_time_limit(30, 20, 15), set_ammo_limit(255, 255, 250), set_extra_speed(0, 1, 5), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 3, 2), - add_target(0x01, 0x0f, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x10, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x02, 0x11, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x12, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x13, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x02, 0x14, 0x32, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x12, 0x1e, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x13, 0x1e, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x14, 0x1e, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x49, 0x32, FRTARGETFLAG_GOLD), - add_target(0x00, 0x4a, 0x32, FRTARGETFLAG_GOLD), - add_target(0x00, 0x4b, 0x32, FRTARGETFLAG_GOLD), + add_target(1, 0x0f, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x10, 50, FRTARGETFLAG_BRONZE), + add_target(2, 0x11, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x12, 50, FRTARGETFLAG_BRONZE), + add_target(1, 0x13, 50, FRTARGETFLAG_BRONZE), + add_target(2, 0x14, 50, FRTARGETFLAG_BRONZE), + add_target(0, 0x12, 30, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x13, 30, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x14, 30, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x49, 50, FRTARGETFLAG_GOLD), + add_target(0, 0x4a, 50, FRTARGETFLAG_GOLD), + add_target(0, 0x4b, 50, FRTARGETFLAG_GOLD), end(), }; @@ -436,24 +436,24 @@ u8 weapon_dragon[] = { set_time_limit(255, 10, 15), set_ammo_limit(255, 1, 255), set_extra_speed(0, 1, 0.6), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 1, 255), set_goal_accuracy(0, 0, 90), - add_target(0x00, 0x31, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x30, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x2f, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x2e, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x2d, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x2c, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x2b, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x2a, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x29, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x45, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x42, 0xff, FRTARGETFLAG_GOLD), - add_target(0x00, 0x43, 0xff, FRTARGETFLAG_GOLD), - add_target(0x00, 0x2c, 0x1e, FRTARGETFLAG_GOLD), - add_target(0x00, 0x36, 0x1e, FRTARGETFLAG_GOLD), - add_target(0x00, 0x2e, 0x1e, FRTARGETFLAG_GOLD), + add_target(0, 0x31, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x30, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x2f, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x2e, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x2d, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x2c, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x2b, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x2a, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x29, 30, FRTARGETFLAG_BRONZE), + add_target(1, 0x45, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x42, 255, FRTARGETFLAG_GOLD), + add_target(0, 0x43, 255, FRTARGETFLAG_GOLD), + add_target(0, 0x2c, 30, FRTARGETFLAG_GOLD), + add_target(0, 0x36, 30, FRTARGETFLAG_GOLD), + add_target(0, 0x2e, 30, FRTARGETFLAG_GOLD), end(), }; @@ -465,23 +465,23 @@ u8 weapon_k7avenger[] = { set_time_limit(255, 255, 15), set_ammo_limit(255, 4, 30), set_extra_speed(0, 1, 3), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 4, 3), - add_target(0x01, 0x0c, 0x19, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0d, 0x19, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0e, 0x19, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0c, 0xff, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0d, 0xff, FRTARGETFLAG_SILVER | FRTARGETFLAG_ONEHITEXPLODE), - add_target(0x00, 0x0e, 0xff, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0xff, FRTARGETFLAG_SILVER | FRTARGETFLAG_ONEHITEXPLODE), - add_target(0x00, 0x10, 0xff, FRTARGETFLAG_SILVER), - add_target(0x00, 0x11, 0xff, FRTARGETFLAG_SILVER | FRTARGETFLAG_ONEHITEXPLODE), - add_target(0x00, 0x12, 0xff, FRTARGETFLAG_SILVER), - add_target(0x00, 0x13, 0xff, FRTARGETFLAG_SILVER | FRTARGETFLAG_ONEHITEXPLODE), - add_target(0x00, 0x14, 0xff, FRTARGETFLAG_SILVER), - add_target(0x00, 0x2b, 0x0a, FRTARGETFLAG_GOLD), - add_target(0x00, 0x33, 0x0a, FRTARGETFLAG_GOLD), - add_target(0x00, 0x29, 0x0a, FRTARGETFLAG_GOLD), + add_target(1, 0x0c, 25, FRTARGETFLAG_BRONZE), + add_target(1, 0x0d, 25, FRTARGETFLAG_BRONZE), + add_target(1, 0x0e, 25, FRTARGETFLAG_BRONZE), + add_target(0, 0x0c, 255, FRTARGETFLAG_SILVER), + add_target(0, 0x0d, 255, FRTARGETFLAG_SILVER | FRTARGETFLAG_ONEHITEXPLODE), + add_target(0, 0x0e, 255, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 255, FRTARGETFLAG_SILVER | FRTARGETFLAG_ONEHITEXPLODE), + add_target(0, 0x10, 255, FRTARGETFLAG_SILVER), + add_target(0, 0x11, 255, FRTARGETFLAG_SILVER | FRTARGETFLAG_ONEHITEXPLODE), + add_target(0, 0x12, 255, FRTARGETFLAG_SILVER), + add_target(0, 0x13, 255, FRTARGETFLAG_SILVER | FRTARGETFLAG_ONEHITEXPLODE), + add_target(0, 0x14, 255, FRTARGETFLAG_SILVER), + add_target(0, 0x2b, 10, FRTARGETFLAG_GOLD), + add_target(0, 0x33, 10, FRTARGETFLAG_GOLD), + add_target(0, 0x29, 10, FRTARGETFLAG_GOLD), end(), }; @@ -493,22 +493,22 @@ u8 weapon_ar34[] = { set_time_limit(255, 255, 20), set_ammo_limit(255, 120, 255), set_extra_speed(0, 1, 0.5), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 9, 255), set_goal_accuracy(0, 0, 100), - add_target(0x01, 0x45, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x46, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x47, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x26, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x27, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x28, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x26, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x27, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x28, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x26, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x27, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x28, 0x0a, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1d, 0xff, FRTARGETFLAG_GOLD), + add_target(1, 0x45, 30, FRTARGETFLAG_BRONZE), + add_target(1, 0x46, 30, FRTARGETFLAG_BRONZE), + add_target(1, 0x47, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x26, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x27, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x28, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x26, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x27, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x28, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x26, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x27, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x28, 10, FRTARGETFLAG_SILVER), + add_target(0, 0x1d, 255, FRTARGETFLAG_GOLD), end(), }; @@ -521,29 +521,29 @@ u8 weapon_superdragon[] = { set_ammo_limit(255, 9, 60), set_grenade_limit(255, 9, 4), set_extra_speed(0, 1, 3), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(255, 9, 5), - add_target(0x00, 0x22, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x21, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x20, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1f, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1d, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1e, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x22, 0x1e, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x29, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x2a, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x2b, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x2c, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x2d, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x2e, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x2f, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x30, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x31, 0x14, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3e, 0x1e, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3f, 0x1e, FRTARGETFLAG_GOLD), - add_target(0x00, 0x41, 0x1e, FRTARGETFLAG_GOLD), - add_target(0x00, 0x40, 0x1e, FRTARGETFLAG_GOLD), - add_target(0x00, 0x10, 0x0a, FRTARGETFLAG_GOLD), + add_target(0, 0x22, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x21, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x20, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x1f, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x1d, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x1e, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x22, 30, FRTARGETFLAG_BRONZE), + add_target(0, 0x29, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x2a, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x2b, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x2c, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x2d, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x2e, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x2f, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x30, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x31, 20, FRTARGETFLAG_SILVER), + add_target(0, 0x3e, 30, FRTARGETFLAG_GOLD), + add_target(0, 0x3f, 30, FRTARGETFLAG_GOLD), + add_target(0, 0x41, 30, FRTARGETFLAG_GOLD), + add_target(0, 0x40, 30, FRTARGETFLAG_GOLD), + add_target(0, 0x10, 10, FRTARGETFLAG_GOLD), end(), }; @@ -554,25 +554,25 @@ u8 weapon_shotgun[] = { set_time_limit(255, 30, 20), set_ammo_limit(255, 255, 30), set_extra_speed(0, 0.5, 0.8), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(255, 9, 255), set_score_multiplier(0, 0, 5), - add_target(0x00, 0x14, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x12, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x11, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0f, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x13, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x10, 0x09, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3b, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3c, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3d, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3b, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3c, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3d, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3b, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3c, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3d, 0x04, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3b, 0xfa, FRTARGETFLAG_GOLD), + add_target(0, 0x14, 9, FRTARGETFLAG_BRONZE), + add_target(0, 0x12, 9, FRTARGETFLAG_BRONZE), + add_target(0, 0x11, 9, FRTARGETFLAG_BRONZE), + add_target(0, 0x0f, 9, FRTARGETFLAG_BRONZE), + add_target(0, 0x13, 9, FRTARGETFLAG_BRONZE), + add_target(0, 0x10, 9, FRTARGETFLAG_BRONZE), + add_target(0, 0x3b, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3c, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3d, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3b, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3c, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3d, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3b, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3c, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3d, 4, FRTARGETFLAG_SILVER), + add_target(0, 0x3b, 250, FRTARGETFLAG_GOLD), end(), }; @@ -583,23 +583,23 @@ u8 weapon_sniperrifle[] = { set_time_limit(255, 255, 12), set_ammo_limit(255, 255, 15), set_extra_speed(0, 1, 6), - cmd_0a(0x12), + set_pad_index_offset(18), set_goal_accuracy(0, 90, 0), - add_target(0x01, 0x0c, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x29, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x2a, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x2b, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x2c, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x2f, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x2e, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x2d, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x30, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x31, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x45, 0x05, FRTARGETFLAG_GOLD), - add_target(0x01, 0x46, 0x05, FRTARGETFLAG_GOLD), - add_target(0x01, 0x47, 0x05, FRTARGETFLAG_GOLD), + add_target(1, 0x0c, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0d, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x0e, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x29, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x2a, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x2b, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x2c, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x2f, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x2e, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x2d, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x30, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x31, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x45, 5, FRTARGETFLAG_GOLD), + add_target(1, 0x46, 5, FRTARGETFLAG_GOLD), + add_target(1, 0x47, 5, FRTARGETFLAG_GOLD), end(), }; @@ -610,26 +610,26 @@ u8 weapon_farsightxr20[] = { set_time_limit(255, 15, 20), set_ammo_limit(255, 255, 3), set_extra_speed(0, 1, 3), - cmd_0a(0x12), + set_pad_index_offset(18), set_goal_targets(3, 6, 6), - add_target(0x01, 0x0c, 0x03, FRTARGETFLAG_BRONZE | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x10, 0x03, FRTARGETFLAG_BRONZE | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x14, 0x03, FRTARGETFLAG_BRONZE | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x29, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x2a, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x2b, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x2c, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x2d, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x2e, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x12, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x01, 0x13, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x01, 0x14, 0x01, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x01, 0x0c, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x12, 0x01, FRTARGETFLAG_GOLD), - add_target(0x01, 0x0e, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), - add_target(0x01, 0x14, 0x01, FRTARGETFLAG_GOLD), - add_target(0x01, 0x10, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1f, 0x01, FRTARGETFLAG_GOLD | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x0c, 3, FRTARGETFLAG_BRONZE | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x10, 3, FRTARGETFLAG_BRONZE | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x14, 3, FRTARGETFLAG_BRONZE | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x29, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x2a, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x2b, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x2c, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x2d, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x2e, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x12, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(1, 0x13, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(1, 0x14, 1, FRTARGETFLAG_SILVER | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(1, 0x0c, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x12, 1, FRTARGETFLAG_GOLD), + add_target(1, 0x0e, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), + add_target(1, 0x14, 1, FRTARGETFLAG_GOLD), + add_target(1, 0x10, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1f, 1, FRTARGETFLAG_GOLD | FRTARGETFLAG_FARSIGHTAUTOTARGETABLE), end(), }; @@ -647,14 +647,14 @@ u8 weapon_crossbow[] = { set_time_limit(255, 255, 30), set_ammo_limit(255, 20, 255), set_extra_speed(0, 1, 3), - cmd_0a(0x00), - add_target(0x01, 0x12, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x13, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x14, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0c, 0xfa, FRTARGETFLAG_SILVER), - add_target(0x01, 0x0d, 0xfa, FRTARGETFLAG_SILVER), - add_target(0x01, 0x0e, 0xfa, FRTARGETFLAG_SILVER), - add_target(0x00, 0x48, 0xff, FRTARGETFLAG_GOLD), + set_pad_index_offset(0), + add_target(1, 0x12, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x13, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x14, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x0c, 250, FRTARGETFLAG_SILVER), + add_target(1, 0x0d, 250, FRTARGETFLAG_SILVER), + add_target(1, 0x0e, 250, FRTARGETFLAG_SILVER), + add_target(0, 0x48, 255, FRTARGETFLAG_GOLD), end(), }; @@ -665,43 +665,43 @@ u8 weapon_tranquilizer[] = { set_time_limit(255, 20, 15), set_ammo_limit(255, 255, 18), set_extra_speed(0, 1, 3), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(255, 255, 18), - add_target(0x00, 0x15, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x16, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x17, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x18, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x19, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1a, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1b, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x1c, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x38, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3a, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x39, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x35, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x36, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x37, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x38, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x39, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3a, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x13, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x11, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0d, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0e, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x10, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0c, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0f, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x12, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x12, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x10, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0f, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0d, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0c, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x0e, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x11, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x13, 0x01, FRTARGETFLAG_GOLD), + add_target(0, 0x15, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x16, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x17, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x18, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x19, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x1a, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x1b, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x1c, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x38, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x3a, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x39, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x35, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x36, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x37, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x38, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x39, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x3a, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x13, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x11, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x0d, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x0e, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x10, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x0c, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x0f, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x14, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x12, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x14, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x12, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x10, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x0f, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x0d, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x0c, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x0e, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x11, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x13, 1, FRTARGETFLAG_GOLD), end(), }; @@ -713,32 +713,32 @@ u8 weapon_reaper[] = { set_time_limit(255, 30, 30), set_ammo_limit(255, 255, 255), set_extra_speed(0, 1, 3), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(255, 18, 1), - add_target(0x01, 0x2f, 0x64, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x30, 0x64, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x31, 0x64, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x13, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x11, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0d, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0e, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0c, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x12, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x12, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0d, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0c, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0e, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x11, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x13, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x49, 0x64, FRTARGETFLAG_GOLD), - add_target(0x00, 0x4a, 0x64, FRTARGETFLAG_GOLD), - add_target(0x00, 0x4b, 0x64, FRTARGETFLAG_GOLD), + add_target(1, 0x2f, 100, FRTARGETFLAG_BRONZE), + add_target(1, 0x30, 100, FRTARGETFLAG_BRONZE), + add_target(1, 0x31, 100, FRTARGETFLAG_BRONZE), + add_target(0, 0x13, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x11, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0d, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0e, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0c, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x12, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x12, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0d, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0c, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0e, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x11, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x13, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x49, 100, FRTARGETFLAG_GOLD), + add_target(0, 0x4a, 100, FRTARGETFLAG_GOLD), + add_target(0, 0x4b, 100, FRTARGETFLAG_GOLD), end(), }; @@ -749,26 +749,26 @@ u8 weapon_devastator[] = { set_time_limit(255, 50, 30), set_ammo_limit(255, 10, 6), set_extra_speed(0, 10, 3), - cmd_0a(0x12), + set_pad_index_offset(18), set_goal_targets(6, 6, 6), - add_target(0x00, 0x12, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x10, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x13, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x11, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x14, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0f, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0c, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0d, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0e, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x45, 0x05, FRTARGETFLAG_SILVER), - add_target(0x01, 0x46, 0x05, FRTARGETFLAG_SILVER), - add_target(0x01, 0x47, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x2c, 0x08, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x2f, 0x08, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x2d, 0x08, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x31, 0x08, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x2e, 0x08, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), - add_target(0x00, 0x30, 0x08, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x12, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x10, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x13, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x11, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x14, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x0f, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x0c, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0d, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0e, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x45, 5, FRTARGETFLAG_SILVER), + add_target(1, 0x46, 5, FRTARGETFLAG_SILVER), + add_target(1, 0x47, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x2c, 8, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x2f, 8, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x2d, 8, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x31, 8, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x2e, 8, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), + add_target(0, 0x30, 8, FRTARGETFLAG_GOLD | FRTARGETFLAG_SPAWNFACINGAWAY), end(), }; @@ -779,29 +779,29 @@ u8 weapon_rocketlauncher[] = { set_time_limit(255, 255, 30), set_ammo_limit(255, 18, 4), set_extra_speed(0, 4, 9), - cmd_0a(0x12), + set_pad_index_offset(18), set_goal_targets(9, 8, 4), - add_target(0x00, 0x0c, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0e, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0f, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x10, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x11, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x12, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x13, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x14, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x15, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x16, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x17, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x18, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x19, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1a, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1b, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1c, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3e, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3f, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x41, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x40, 0x03, FRTARGETFLAG_GOLD), + add_target(0, 0x0c, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x0d, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x0e, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x0f, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x10, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x11, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x12, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x13, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x14, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x15, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x16, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x17, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x18, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x19, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x1a, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x1b, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x1c, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x3e, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x3f, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x41, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x40, 3, FRTARGETFLAG_GOLD), end(), }; @@ -812,24 +812,24 @@ u8 weapon_slayer[] = { set_time_limit(255, 255, 40), set_ammo_limit(255, 6, 8), set_extra_speed(0, 5, 3), - cmd_0a(0x12), + set_pad_index_offset(18), set_goal_targets(6, 4, 6), - add_target(0x01, 0x31, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x29, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2b, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2d, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x2f, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x15, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x17, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1a, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x1c, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3b, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3c, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3d, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3b, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3c, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3d, 0x0c, FRTARGETFLAG_GOLD), + add_target(1, 0x31, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2d, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x29, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2b, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2d, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x2f, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x15, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x17, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x1a, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x1c, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x3b, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x3c, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x3d, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x3b, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x3c, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x3d, 12, FRTARGETFLAG_GOLD), end(), }; @@ -840,22 +840,22 @@ u8 weapon_combatknife[] = { set_time_limit(255, 255, 30), set_ammo_limit(255, 18, 255), set_extra_speed(0, 1, 3), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(255, 255, 8), - add_target(0x01, 0x12, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x13, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x14, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x38, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3a, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x39, 0x06, FRTARGETFLAG_SILVER), - add_target(0x00, 0x15, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x16, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x17, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x18, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x19, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1a, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1b, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1c, 0x01, FRTARGETFLAG_GOLD), + add_target(1, 0x12, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x13, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x14, 250, FRTARGETFLAG_BRONZE), + add_target(0, 0x38, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x3a, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x39, 6, FRTARGETFLAG_SILVER), + add_target(0, 0x15, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x16, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x17, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x18, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x19, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1a, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1b, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1c, 1, FRTARGETFLAG_GOLD), end(), }; @@ -866,16 +866,16 @@ u8 weapon_laser[] = { set_time_limit(255, 20, 20), set_ammo_limit(255, 255, 255), set_extra_speed(0, 0.1, 0.7), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(255, 255, 255), set_goal_accuracy(0, 80, 100), - add_target(0x01, 0x12, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x10, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0e, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3b, 0xff, FRTARGETFLAG_SILVER), - add_target(0x01, 0x45, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x01, 0x46, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x01, 0x47, 0x0c, FRTARGETFLAG_GOLD), + add_target(1, 0x12, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x10, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x0e, 250, FRTARGETFLAG_BRONZE), + add_target(0, 0x3b, 255, FRTARGETFLAG_SILVER), + add_target(1, 0x45, 12, FRTARGETFLAG_GOLD), + add_target(1, 0x46, 12, FRTARGETFLAG_GOLD), + add_target(1, 0x47, 12, FRTARGETFLAG_GOLD), end(), }; @@ -886,33 +886,33 @@ u8 weapon_grenade[] = { set_time_limit(255, 30, 30), set_ammo_limit(255, 255, 6), set_extra_speed(0, 1, 3), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(3, 18, 4), - add_target(0x01, 0x12, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x10, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x14, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x13, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x11, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x12, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x12, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x11, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x13, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3e, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3f, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x41, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x40, 0x03, FRTARGETFLAG_GOLD), + add_target(1, 0x12, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x10, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x14, 250, FRTARGETFLAG_BRONZE), + add_target(0, 0x13, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x11, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x12, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x12, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x11, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x13, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x3e, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x3f, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x41, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x40, 3, FRTARGETFLAG_GOLD), end(), }; @@ -923,32 +923,32 @@ u8 weapon_1e[] = { set_time_limit(255, 255, 12), set_ammo_limit(255, 18, 255), set_extra_speed(0, 1, 3), - cmd_0a(0x09), - add_target(0x01, 0x12, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x10, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x0e, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x13, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x11, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0d, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0e, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0c, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x12, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x14, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x12, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x10, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0d, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0c, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0e, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x11, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x13, 0x01, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3e, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3f, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x41, 0x03, FRTARGETFLAG_GOLD), - add_target(0x00, 0x40, 0x03, FRTARGETFLAG_GOLD), + set_pad_index_offset(9), + add_target(1, 0x12, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x10, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x0e, 250, FRTARGETFLAG_BRONZE), + add_target(0, 0x13, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x11, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0d, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0e, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0c, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x12, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x14, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x12, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x10, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0d, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0c, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x0e, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x11, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x13, 1, FRTARGETFLAG_SILVER), + add_target(0, 0x3e, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x3f, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x41, 3, FRTARGETFLAG_GOLD), + add_target(0, 0x40, 3, FRTARGETFLAG_GOLD), end(), }; @@ -959,23 +959,23 @@ u8 weapon_timedmine[] = { set_time_limit(255, 255, 12), set_ammo_limit(255, 6, 1), set_extra_speed(0, 10, 3), - cmd_0a(0x09), + set_pad_index_offset(9), set_goal_targets(3, 6, 6), - add_target(0x01, 0x2f, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x30, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x31, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x0c, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0d, 0x08, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0e, 0x08, FRTARGETFLAG_SILVER), - add_target(0x01, 0x45, 0x05, FRTARGETFLAG_SILVER), - add_target(0x01, 0x46, 0x05, FRTARGETFLAG_SILVER), - add_target(0x01, 0x47, 0x05, FRTARGETFLAG_SILVER), - add_target(0x00, 0x0f, 0x08, FRTARGETFLAG_GOLD), - add_target(0x00, 0x10, 0x08, FRTARGETFLAG_GOLD), - add_target(0x00, 0x11, 0x08, FRTARGETFLAG_GOLD), - add_target(0x01, 0x45, 0x05, FRTARGETFLAG_GOLD), - add_target(0x01, 0x46, 0x05, FRTARGETFLAG_GOLD), - add_target(0x01, 0x47, 0x05, FRTARGETFLAG_GOLD), + add_target(1, 0x2f, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x30, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x31, 8, FRTARGETFLAG_BRONZE), + add_target(0, 0x0c, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0d, 8, FRTARGETFLAG_SILVER), + add_target(0, 0x0e, 8, FRTARGETFLAG_SILVER), + add_target(1, 0x45, 5, FRTARGETFLAG_SILVER), + add_target(1, 0x46, 5, FRTARGETFLAG_SILVER), + add_target(1, 0x47, 5, FRTARGETFLAG_SILVER), + add_target(0, 0x0f, 8, FRTARGETFLAG_GOLD), + add_target(0, 0x10, 8, FRTARGETFLAG_GOLD), + add_target(0, 0x11, 8, FRTARGETFLAG_GOLD), + add_target(1, 0x45, 5, FRTARGETFLAG_GOLD), + add_target(1, 0x46, 5, FRTARGETFLAG_GOLD), + add_target(1, 0x47, 5, FRTARGETFLAG_GOLD), end(), }; @@ -987,18 +987,18 @@ u8 weapon_proximitymine[] = { set_ammo_limit(255, 6, 4), set_extra_speed(0, 1, 3), set_goal_targets(3, 3, 5), - cmd_0a(0x09), - add_target(0x01, 0x12, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x13, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x14, 0x08, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x45, 0x05, FRTARGETFLAG_SILVER), - add_target(0x01, 0x46, 0x05, FRTARGETFLAG_SILVER), - add_target(0x01, 0x47, 0x05, FRTARGETFLAG_SILVER), - add_target(0x01, 0x45, 0x05, FRTARGETFLAG_GOLD), - add_target(0x01, 0x46, 0x05, FRTARGETFLAG_GOLD), - add_target(0x01, 0x47, 0x05, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3b, 0x0c, FRTARGETFLAG_GOLD), - add_target(0x00, 0x3c, 0x0c, FRTARGETFLAG_GOLD), + set_pad_index_offset(9), + add_target(1, 0x12, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x13, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x14, 8, FRTARGETFLAG_BRONZE), + add_target(1, 0x45, 5, FRTARGETFLAG_SILVER), + add_target(1, 0x46, 5, FRTARGETFLAG_SILVER), + add_target(1, 0x47, 5, FRTARGETFLAG_SILVER), + add_target(1, 0x45, 5, FRTARGETFLAG_GOLD), + add_target(1, 0x46, 5, FRTARGETFLAG_GOLD), + add_target(1, 0x47, 5, FRTARGETFLAG_GOLD), + add_target(0, 0x3b, 12, FRTARGETFLAG_GOLD), + add_target(0, 0x3c, 12, FRTARGETFLAG_GOLD), end(), }; @@ -1009,818 +1009,818 @@ u8 weapon_remotemine[] = { set_time_limit(255, 255, 12), set_ammo_limit(255, 4, 2), set_extra_speed(0, 5, 3), - cmd_0a(0x00), + set_pad_index_offset(0), set_goal_targets(3, 4, 7), - add_target(0x01, 0x14, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x13, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x01, 0x12, 0xfa, FRTARGETFLAG_BRONZE), - add_target(0x00, 0x3e, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x3f, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x41, 0x03, FRTARGETFLAG_SILVER), - add_target(0x00, 0x40, 0x03, FRTARGETFLAG_SILVER), - add_target(0x01, 0x10, 0xfa, FRTARGETFLAG_GOLD), - add_target(0x00, 0x22, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x21, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x20, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1f, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1d, 0x01, FRTARGETFLAG_GOLD), - add_target(0x00, 0x1e, 0x01, FRTARGETFLAG_GOLD), + add_target(1, 0x14, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x13, 250, FRTARGETFLAG_BRONZE), + add_target(1, 0x12, 250, FRTARGETFLAG_BRONZE), + add_target(0, 0x3e, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x3f, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x41, 3, FRTARGETFLAG_SILVER), + add_target(0, 0x40, 3, FRTARGETFLAG_SILVER), + add_target(1, 0x10, 250, FRTARGETFLAG_GOLD), + add_target(0, 0x22, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x21, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x20, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1f, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1d, 1, FRTARGETFLAG_GOLD), + add_target(0, 0x1e, 1, FRTARGETFLAG_GOLD), end(), }; u8 target00[] = { start(), - go_to_pad(0x04, 0xff, 255), + go_to_pad(4, 255, 255), end(), }; u8 target01[] = { start(), - go_to_pad(0x05, 0xff, 255), + go_to_pad(5, 255, 255), end(), }; u8 target02[] = { start(), - go_to_pad(0x06, 0xff, 255), + go_to_pad(6, 255, 255), end(), }; u8 target03[] = { start(), - go_to_pad(0x07, 0xff, 255), + go_to_pad(7, 255, 255), end(), }; u8 target04[] = { start(), - go_to_pad(0x08, 0xff, 255), + go_to_pad(8, 255, 255), end(), }; u8 target05[] = { start(), - go_to_pad(0x09, 0xff, 255), + go_to_pad(9, 255, 255), end(), }; u8 target06[] = { start(), - go_to_pad(0x0a, 0xff, 255), + go_to_pad(10, 255, 255), end(), }; u8 target07[] = { start(), - go_to_pad(0x0b, 0xff, 255), + go_to_pad(11, 255, 255), end(), }; u8 target08[] = { start(), - go_to_pad(0x0c, 0xff, 255), + go_to_pad(12, 255, 255), end(), }; u8 target09[] = { start(), - go_to_pad(0x0b, 0xff, 0), - cmd_0e(2), - rotate(2, 4), - cmd_0e(2), - rotate(0, 4), - cmd_0e(2), - rotate(1, 8), - cmd_0e(2), - rotate(3, 8), - cmd_0e(255), + go_to_pad(11, 255, 0), + wait_seconds(2), + rotate(FRROTATE_90L, 4), + wait_seconds(2), + rotate(FRROTATE_90R, 4), + wait_seconds(2), + rotate(FRROTATE_180R, 8), + wait_seconds(2), + rotate(FRROTATE_180L, 8), + wait_seconds(255), end(), }; u8 target0a[] = { start(), - go_to_pad(0x02, 0x1e, 255), - go_to_pad(0x00, 0x1e, 255), + go_to_pad(2, 30, 255), + go_to_pad(0, 30, 255), restart(), end(), }; u8 target0b[] = { start(), - go_to_pad(0x01, 0x1e, 255), - go_to_pad(0x03, 0x1e, 255), + go_to_pad(1, 30, 255), + go_to_pad(3, 30, 255), restart(), end(), }; u8 target0c[] = { start(), - go_to_pad(0x04, 0xff, 255), + go_to_pad(4, 255, 255), restart(), end(), }; u8 target0d[] = { start(), - go_to_pad(0x05, 0xff, 255), + go_to_pad(5, 255, 255), restart(), end(), }; u8 target0e[] = { start(), - go_to_pad(0x06, 0xff, 255), + go_to_pad(6, 255, 255), restart(), end(), }; u8 target0f[] = { start(), - go_to_pad(0x07, 0xff, 255), + go_to_pad(7, 255, 255), restart(), end(), }; u8 target10[] = { start(), - go_to_pad(0x08, 0xff, 255), + go_to_pad(8, 255, 255), restart(), end(), }; u8 target11[] = { start(), - go_to_pad(0x09, 0xff, 255), + go_to_pad(9, 255, 255), restart(), end(), }; u8 target12[] = { start(), - go_to_pad(0x0a, 0xff, 255), + go_to_pad(10, 255, 255), restart(), end(), }; u8 target13[] = { start(), - go_to_pad(0x0b, 0xff, 255), + go_to_pad(11, 255, 255), restart(), end(), }; u8 target14[] = { start(), - go_to_pad(0x0c, 0xff, 255), + go_to_pad(12, 255, 255), restart(), end(), }; u8 target15[] = { start(), - go_to_pad(0x04, 0xff, 0), - go_to_pad(0x07, 0xc8, 0), - go_to_pad(0x0a, 0xc8, 2), - go_to_pad(0x0b, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 2), - go_to_pad(0x09, 0xc8, 0), - go_to_pad(0x06, 0xc8, 2), - go_to_pad(0x05, 0xc8, 0), - go_to_pad(0x04, 0xc8, 2), + go_to_pad(4, 255, 0), + go_to_pad(7, 200, 0), + go_to_pad(10, 200, 2), + go_to_pad(11, 200, 0), + go_to_pad(12, 200, 2), + go_to_pad(9, 200, 0), + go_to_pad(6, 200, 2), + go_to_pad(5, 200, 0), + go_to_pad(4, 200, 2), restart(), end(), }; u8 target16[] = { start(), - go_to_pad(0x05, 0xff, 0), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x07, 0xc8, 2), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x0b, 0xc8, 2), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x09, 0xc8, 2), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x05, 0xc8, 2), + go_to_pad(5, 255, 0), + go_to_pad(4, 200, 0), + go_to_pad(7, 200, 2), + go_to_pad(10, 200, 0), + go_to_pad(11, 200, 2), + go_to_pad(12, 200, 0), + go_to_pad(9, 200, 2), + go_to_pad(6, 200, 0), + go_to_pad(5, 200, 2), restart(), end(), }; u8 target17[] = { start(), - go_to_pad(0x06, 0xff, 0), - go_to_pad(0x05, 0xc8, 0), - go_to_pad(0x04, 0xc8, 2), - go_to_pad(0x07, 0xc8, 0), - go_to_pad(0x0a, 0xc8, 2), - go_to_pad(0x0b, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 2), - go_to_pad(0x09, 0xc8, 0), - go_to_pad(0x06, 0xc8, 2), + go_to_pad(6, 255, 0), + go_to_pad(5, 200, 0), + go_to_pad(4, 200, 2), + go_to_pad(7, 200, 0), + go_to_pad(10, 200, 2), + go_to_pad(11, 200, 0), + go_to_pad(12, 200, 2), + go_to_pad(9, 200, 0), + go_to_pad(6, 200, 2), restart(), end(), }; u8 target18[] = { start(), - go_to_pad(0x07, 0xff, 0), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x0b, 0xc8, 2), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x09, 0xc8, 2), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x05, 0xc8, 2), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x07, 0xc8, 2), + go_to_pad(7, 255, 0), + go_to_pad(10, 200, 0), + go_to_pad(11, 200, 2), + go_to_pad(12, 200, 0), + go_to_pad(9, 200, 2), + go_to_pad(6, 200, 0), + go_to_pad(5, 200, 2), + go_to_pad(4, 200, 0), + go_to_pad(7, 200, 2), restart(), end(), }; u8 target19[] = { start(), - go_to_pad(0x09, 0xff, 0), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x05, 0xc8, 2), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x07, 0xc8, 2), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x0b, 0xc8, 2), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x09, 0xc8, 2), + go_to_pad(9, 255, 0), + go_to_pad(6, 200, 0), + go_to_pad(5, 200, 2), + go_to_pad(4, 200, 0), + go_to_pad(7, 200, 2), + go_to_pad(10, 200, 0), + go_to_pad(11, 200, 2), + go_to_pad(12, 200, 0), + go_to_pad(9, 200, 2), restart(), end(), }; u8 target1a[] = { start(), - go_to_pad(0x0a, 0xff, 0), - go_to_pad(0x0b, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 2), - go_to_pad(0x09, 0xc8, 0), - go_to_pad(0x06, 0xc8, 2), - go_to_pad(0x05, 0xc8, 0), - go_to_pad(0x04, 0xc8, 2), - go_to_pad(0x07, 0xc8, 0), - go_to_pad(0x0a, 0xc8, 2), + go_to_pad(10, 255, 0), + go_to_pad(11, 200, 0), + go_to_pad(12, 200, 2), + go_to_pad(9, 200, 0), + go_to_pad(6, 200, 2), + go_to_pad(5, 200, 0), + go_to_pad(4, 200, 2), + go_to_pad(7, 200, 0), + go_to_pad(10, 200, 2), restart(), end(), }; u8 target1b[] = { start(), - go_to_pad(0x0b, 0xff, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x09, 0xc8, 2), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x05, 0xc8, 2), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x07, 0xc8, 2), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x0b, 0xc8, 2), + go_to_pad(11, 255, 0), + go_to_pad(12, 200, 0), + go_to_pad(9, 200, 2), + go_to_pad(6, 200, 0), + go_to_pad(5, 200, 2), + go_to_pad(4, 200, 0), + go_to_pad(7, 200, 2), + go_to_pad(10, 200, 0), + go_to_pad(11, 200, 2), restart(), end(), }; u8 target1c[] = { start(), - go_to_pad(0x0c, 0xff, 0), - go_to_pad(0x09, 0xc8, 0), - go_to_pad(0x06, 0xc8, 2), - go_to_pad(0x05, 0xc8, 0), - go_to_pad(0x04, 0xc8, 2), - go_to_pad(0x07, 0xc8, 0), - go_to_pad(0x0a, 0xc8, 2), - go_to_pad(0x0b, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 2), + go_to_pad(12, 255, 0), + go_to_pad(9, 200, 0), + go_to_pad(6, 200, 2), + go_to_pad(5, 200, 0), + go_to_pad(4, 200, 2), + go_to_pad(7, 200, 0), + go_to_pad(10, 200, 2), + go_to_pad(11, 200, 0), + go_to_pad(12, 200, 2), restart(), end(), }; u8 target1d[] = { start(), - go_to_pad(0x04, 0xff, 0), - go_to_pad(0x06, 0xc8, 2), - go_to_pad(0x04, 0xc8, 2), + go_to_pad(4, 255, 0), + go_to_pad(6, 200, 2), + go_to_pad(4, 200, 2), restart(), end(), }; u8 target1e[] = { start(), - go_to_pad(0x06, 0xff, 0), - go_to_pad(0x04, 0xc8, 2), - go_to_pad(0x06, 0xc8, 2), + go_to_pad(6, 255, 0), + go_to_pad(4, 200, 2), + go_to_pad(6, 200, 2), restart(), end(), }; u8 target1f[] = { start(), - go_to_pad(0x07, 0xff, 0), - go_to_pad(0x09, 0xc8, 2), - go_to_pad(0x07, 0xc8, 2), + go_to_pad(7, 255, 0), + go_to_pad(9, 200, 2), + go_to_pad(7, 200, 2), restart(), end(), }; u8 target20[] = { start(), - go_to_pad(0x09, 0xff, 0), - go_to_pad(0x07, 0xc8, 2), - go_to_pad(0x09, 0xc8, 2), + go_to_pad(9, 255, 0), + go_to_pad(7, 200, 2), + go_to_pad(9, 200, 2), restart(), end(), }; u8 target21[] = { start(), - go_to_pad(0x0a, 0xff, 0), - go_to_pad(0x0c, 0xc8, 2), - go_to_pad(0x0a, 0xc8, 2), + go_to_pad(10, 255, 0), + go_to_pad(12, 200, 2), + go_to_pad(10, 200, 2), restart(), end(), }; u8 target22[] = { start(), - go_to_pad(0x0c, 0xff, 0), - go_to_pad(0x0a, 0xc8, 2), - go_to_pad(0x0c, 0xc8, 2), + go_to_pad(12, 255, 0), + go_to_pad(10, 200, 2), + go_to_pad(12, 200, 2), restart(), end(), }; u8 target23[] = { start(), - go_to_pad(0x06, 0xff, 0), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x07, 0xc8, 0), - go_to_pad(0x08, 0xc8, 0), - go_to_pad(0x0b, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x06, 0xc8, 0), + go_to_pad(6, 255, 0), + go_to_pad(4, 200, 0), + go_to_pad(7, 200, 0), + go_to_pad(8, 200, 0), + go_to_pad(11, 200, 0), + go_to_pad(12, 200, 0), + go_to_pad(6, 200, 0), restart(), end(), }; u8 target24[] = { start(), - go_to_pad(0x07, 0xff, 0), - go_to_pad(0x08, 0xc8, 0), - go_to_pad(0x0b, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x07, 0xc8, 0), + go_to_pad(7, 255, 0), + go_to_pad(8, 200, 0), + go_to_pad(11, 200, 0), + go_to_pad(12, 200, 0), + go_to_pad(6, 200, 0), + go_to_pad(4, 200, 0), + go_to_pad(7, 200, 0), restart(), end(), }; u8 target25[] = { start(), - go_to_pad(0x0c, 0xff, 0), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x07, 0xc8, 0), - go_to_pad(0x08, 0xc8, 0), - go_to_pad(0x0b, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), + go_to_pad(12, 255, 0), + go_to_pad(6, 200, 0), + go_to_pad(4, 200, 0), + go_to_pad(7, 200, 0), + go_to_pad(8, 200, 0), + go_to_pad(11, 200, 0), + go_to_pad(12, 200, 0), restart(), end(), }; u8 target26[] = { start(), - go_to_pad(0x04, 0xff, 0), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x04, 0x1e, 0), + go_to_pad(4, 255, 0), + go_to_pad(10, 200, 0), + go_to_pad(12, 200, 0), + go_to_pad(6, 200, 0), + go_to_pad(4, 30, 0), restart(), end(), }; u8 target27[] = { start(), - go_to_pad(0x0a, 0xff, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x04, 0x1e, 0), - go_to_pad(0x0a, 0xc8, 0), + go_to_pad(10, 255, 0), + go_to_pad(12, 200, 0), + go_to_pad(6, 200, 0), + go_to_pad(4, 30, 0), + go_to_pad(10, 200, 0), restart(), end(), }; u8 target28[] = { start(), - go_to_pad(0x0c, 0xff, 0), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x04, 0x1e, 0), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), + go_to_pad(12, 255, 0), + go_to_pad(6, 200, 0), + go_to_pad(4, 30, 0), + go_to_pad(10, 200, 0), + go_to_pad(12, 200, 0), restart(), end(), }; u8 target29[] = { start(), - go_to_pad(0x04, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(4, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target2a[] = { start(), - go_to_pad(0x05, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(5, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target2b[] = { start(), - go_to_pad(0x06, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(6, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target2c[] = { start(), - go_to_pad(0x07, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(7, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target2d[] = { start(), - go_to_pad(0x08, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(8, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target2e[] = { start(), - go_to_pad(0x09, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(9, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target2f[] = { start(), - go_to_pad(0x0a, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(10, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target30[] = { start(), - go_to_pad(0x0b, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(11, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target31[] = { start(), - go_to_pad(0x0c, 0xff, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(12, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target32[] = { start(), - go_to_pad(0x04, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(4, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target33[] = { start(), - go_to_pad(0x05, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(5, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target34[] = { start(), - go_to_pad(0x06, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(6, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target35[] = { start(), - go_to_pad(0x07, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(7, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target36[] = { start(), - go_to_pad(0x08, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(8, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target37[] = { start(), - go_to_pad(0x09, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(9, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target38[] = { start(), - go_to_pad(0x0a, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(10, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target39[] = { start(), - go_to_pad(0x0b, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(11, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target3a[] = { start(), - go_to_pad(0x0c, 0xff, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(12, 255, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target3b[] = { start(), - go_to_pad(0x0c, 0xff, 0), - go_to_pad(0x0a, 0xc8, 0), - rotate(1, 1), - cmd_0e(2), - rotate(1, 1), - go_to_pad(0x0c, 0xc8, 0), - rotate(1, 1), - cmd_0e(2), - rotate(1, 1), + go_to_pad(12, 255, 0), + go_to_pad(10, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), + rotate(FRROTATE_180R, 1), + go_to_pad(12, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), + rotate(FRROTATE_180R, 1), restart(), end(), }; u8 target3c[] = { start(), - go_to_pad(0x09, 0xff, 0), - go_to_pad(0x07, 0xc8, 0), - rotate(1, 1), - cmd_0e(2), - rotate(1, 1), - go_to_pad(0x09, 0xc8, 0), - rotate(1, 1), - cmd_0e(2), - rotate(1, 1), + go_to_pad(9, 255, 0), + go_to_pad(7, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), + rotate(FRROTATE_180R, 1), + go_to_pad(9, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), + rotate(FRROTATE_180R, 1), restart(), end(), }; u8 target3d[] = { start(), - go_to_pad(0x06, 0xff, 0), - go_to_pad(0x04, 0xc8, 0), - rotate(1, 1), - cmd_0e(2), - rotate(1, 1), - go_to_pad(0x06, 0xc8, 0), - rotate(1, 1), - cmd_0e(2), - rotate(1, 1), + go_to_pad(6, 255, 0), + go_to_pad(4, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), + rotate(FRROTATE_180R, 1), + go_to_pad(6, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), + rotate(FRROTATE_180R, 1), restart(), end(), }; u8 target3e[] = { start(), - go_to_pad(0x04, 0xff, 0), - rotate(1, 1), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x04, 0xc8, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(4, 255, 0), + rotate(FRROTATE_180R, 1), + go_to_pad(6, 200, 0), + go_to_pad(12, 200, 0), + go_to_pad(10, 200, 0), + go_to_pad(4, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target3f[] = { start(), - go_to_pad(0x06, 0xff, 0), - rotate(1, 1), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x06, 0xc8, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(6, 255, 0), + rotate(FRROTATE_180R, 1), + go_to_pad(12, 200, 0), + go_to_pad(10, 200, 0), + go_to_pad(4, 200, 0), + go_to_pad(6, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target40[] = { start(), - go_to_pad(0x0c, 0xff, 0), - rotate(1, 1), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(12, 255, 0), + rotate(FRROTATE_180R, 1), + go_to_pad(10, 200, 0), + go_to_pad(4, 200, 0), + go_to_pad(6, 200, 0), + go_to_pad(12, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target41[] = { start(), - go_to_pad(0x0a, 0xff, 0), - rotate(1, 1), - go_to_pad(0x04, 0xc8, 0), - go_to_pad(0x06, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x0a, 0xc8, 0), - rotate(1, 1), - cmd_0e(1), + go_to_pad(10, 255, 0), + rotate(FRROTATE_180R, 1), + go_to_pad(4, 200, 0), + go_to_pad(6, 200, 0), + go_to_pad(12, 200, 0), + go_to_pad(10, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(1), restart(), end(), }; u8 target42[] = { start(), - go_to_pad(0x0a, 0xff, 0), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x0a, 0xc8, 0), + go_to_pad(10, 255, 0), + go_to_pad(10, 200, 0), + go_to_pad(12, 200, 0), + go_to_pad(12, 200, 0), + go_to_pad(10, 200, 0), restart(), end(), }; u8 target43[] = { start(), - go_to_pad(0x0c, 0xff, 0), - go_to_pad(0x0c, 0x64, 0), - go_to_pad(0x0a, 0x64, 0), - go_to_pad(0x0a, 0x64, 0), - go_to_pad(0x0c, 0x64, 0), + go_to_pad(12, 255, 0), + go_to_pad(12, 100, 0), + go_to_pad(10, 100, 0), + go_to_pad(10, 100, 0), + go_to_pad(12, 100, 0), restart(), end(), }; u8 target44[] = { start(), - go_to_pad(0x04, 0xff, 0), - rotate(1, 0), - go_to_pad(0x04, 0x64, 0), - go_to_pad(0x06, 0x64, 0), - go_to_pad(0x06, 0x64, 0), - go_to_pad(0x04, 0x64, 0), - rotate(1, 0), + go_to_pad(4, 255, 0), + rotate(FRROTATE_180R, 0), + go_to_pad(4, 100, 0), + go_to_pad(6, 100, 0), + go_to_pad(6, 100, 0), + go_to_pad(4, 100, 0), + rotate(FRROTATE_180R, 0), restart(), end(), }; u8 target45[] = { start(), - go_to_pad(0x04, 0xff, 0), - go_to_pad(0x0a, 0xc8, 0), - go_to_pad(0x04, 0xc8, 0), + go_to_pad(4, 255, 0), + go_to_pad(10, 200, 0), + go_to_pad(4, 200, 0), restart(), end(), }; u8 target46[] = { start(), - go_to_pad(0x0b, 0xff, 0), - go_to_pad(0x05, 0xc8, 0), - go_to_pad(0x0b, 0xc8, 0), + go_to_pad(11, 255, 0), + go_to_pad(5, 200, 0), + go_to_pad(11, 200, 0), restart(), end(), }; u8 target47[] = { start(), - go_to_pad(0x06, 0xff, 0), - go_to_pad(0x0c, 0xc8, 0), - go_to_pad(0x06, 0xc8, 0), + go_to_pad(6, 255, 0), + go_to_pad(12, 200, 0), + go_to_pad(6, 200, 0), restart(), end(), }; u8 target48[] = { start(), - go_to_pad(0x0c, 0xff, 0), - rotate(1, 1), - go_to_pad(0x0a, 0xc8, 0), - rotate(1, 1), - cmd_0e(2), - rotate(1, 1), - go_to_pad(0x0c, 0xc8, 0), - rotate(1, 1), - cmd_0e(2), + go_to_pad(12, 255, 0), + rotate(FRROTATE_180R, 1), + go_to_pad(10, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), + rotate(FRROTATE_180R, 1), + go_to_pad(12, 200, 0), + rotate(FRROTATE_180R, 1), + wait_seconds(2), restart(), end(), }; u8 target49[] = { start(), - go_to_pad(0x04, 0xff, 0), - go_to_pad(0x0a, 0x64, 0), - go_to_pad(0x0c, 0x1e, 0), - go_to_pad(0x06, 0x64, 0), - go_to_pad(0x04, 0x64, 0), + go_to_pad(4, 255, 0), + go_to_pad(10, 100, 0), + go_to_pad(12, 30, 0), + go_to_pad(6, 100, 0), + go_to_pad(4, 100, 0), restart(), end(), }; u8 target4a[] = { start(), - go_to_pad(0x0a, 0xff, 0), - go_to_pad(0x0c, 0x1e, 0), - go_to_pad(0x06, 0x64, 0), - go_to_pad(0x04, 0x64, 0), - go_to_pad(0x0a, 0x64, 0), + go_to_pad(10, 255, 0), + go_to_pad(12, 30, 0), + go_to_pad(6, 100, 0), + go_to_pad(4, 100, 0), + go_to_pad(10, 100, 0), restart(), end(), }; u8 target4b[] = { start(), - go_to_pad(0x0c, 0xff, 0), - go_to_pad(0x06, 0x64, 0), - go_to_pad(0x04, 0x64, 0), - go_to_pad(0x0a, 0x64, 0), - go_to_pad(0x0c, 0x1e, 0), + go_to_pad(12, 255, 0), + go_to_pad(6, 100, 0), + go_to_pad(4, 100, 0), + go_to_pad(10, 100, 0), + go_to_pad(12, 30, 0), restart(), end(), }; u8 target4c[] = { start(), - go_to_pad(0x0a, 0xff, 0), - rotate(1, 0), - cmd_0e(255), - rotate(1, 0), + go_to_pad(10, 255, 0), + rotate(FRROTATE_180R, 0), + wait_seconds(255), + rotate(FRROTATE_180R, 0), restart(), end(), }; u8 target4d[] = { start(), - go_to_pad(0x0b, 0xff, 0), - rotate(1, 0), - cmd_0e(255), - rotate(1, 0), + go_to_pad(11, 255, 0), + rotate(FRROTATE_180R, 0), + wait_seconds(255), + rotate(FRROTATE_180R, 0), restart(), end(), }; u8 target4e[] = { start(), - go_to_pad(0x0c, 0xff, 0), - rotate(1, 0), - cmd_0e(255), - rotate(1, 0), + go_to_pad(12, 255, 0), + rotate(FRROTATE_180R, 0), + wait_seconds(255), + rotate(FRROTATE_180R, 0), restart(), end(), }; diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 59d175ffc..ed3e26f61 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -10759,7 +10759,7 @@ glabel ai01bc bool aiIfTrainingPcHolographed(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; - struct trainingdata *data = getDeviceTrainingData(); + struct trainingdata *data = dtGetData(); if (data->holographedpc) { g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]); diff --git a/src/game/game_01bea0.c b/src/game/game_01bea0.c index e5fb4c577..6bf6fc0c5 100644 --- a/src/game/game_01bea0.c +++ b/src/game/game_01bea0.c @@ -1289,7 +1289,7 @@ glabel var7f1a863c /* f01cf90: 1461001e */ bne $v1,$at,.L0f01d00c /* f01cf94: 00000000 */ nop .L0f01cf98: -/* f01cf98: 0fc68606 */ jal getDeviceTrainingData +/* f01cf98: 0fc68606 */ jal dtGetData /* f01cf9c: 00000000 */ nop /* f01cfa0: 8e6304b4 */ lw $v1,0x4b4($s3) /* f01cfa4: 24010026 */ addiu $at,$zero,0x26 diff --git a/src/game/game_0601b0.c b/src/game/game_0601b0.c index ae8c6f212..5eb3dfc89 100644 --- a/src/game/game_0601b0.c +++ b/src/game/game_0601b0.c @@ -2835,7 +2835,7 @@ glabel var7f1a9ef4 /* f06289c: 318dffef */ andi $t5,$t4,0xffef /* f0628a0: 0fc2c6bc */ jal func0f0b1af0 /* f0628a4: a06d0d0f */ sb $t5,0xd0f($v1) -/* f0628a8: 0fc683f2 */ jal func0f1a0fc8 +/* f0628a8: 0fc683f2 */ jal frIncrementNumShots /* f0628ac: 00000000 */ nop /* f0628b0: 8fae0040 */ lw $t6,0x40($sp) /* f0628b4: 25cfffff */ addiu $t7,$t6,-1 diff --git a/src/game/game_095320.c b/src/game/game_095320.c index 4c38f0924..f57493458 100644 --- a/src/game/game_095320.c +++ b/src/game/game_095320.c @@ -1119,7 +1119,7 @@ glabel objectiveCheckHolograph /* f0962fc: 8e4a04b4 */ lw $t2,0x4b4($s2) /* f096300: 566a0007 */ bnel $s3,$t2,.L0f096320 /* f096304: 8e31000c */ lw $s1,0xc($s1) -/* f096308: 0fc68606 */ jal getDeviceTrainingData +/* f096308: 0fc68606 */ jal dtGetData /* f09630c: 00000000 */ nop /* f096310: 904c0000 */ lbu $t4,0x0($v0) /* f096314: 358d0008 */ ori $t5,$t4,0x8 diff --git a/src/game/game_096360.c b/src/game/game_096360.c index e70a55cd8..2209b7a2f 100644 --- a/src/game/game_096360.c +++ b/src/game/game_096360.c @@ -69,7 +69,7 @@ const u32 var7f1ab82c[] = {0x3e8e38e4}; // criteria->status = OBJECTIVE_COMPLETE; // // if (g_Vars.stagenum == STAGE_CITRAINING) { -// struct trainingdata *data = getDeviceTrainingData(); +// struct trainingdata *data = dtGetData(); // data->holographedpc = true; // } // } diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index edfd4cc14..4de052404 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -9842,7 +9842,7 @@ glabel var7f1ac72c /* f09f74c: 24010026 */ addiu $at,$zero,0x26 /* f09f750: 5561000a */ bnel $t3,$at,.L0f09f77c /* f09f754: 8c8d0040 */ lw $t5,0x40($a0) -/* f09f758: 0fc68606 */ jal getDeviceTrainingData +/* f09f758: 0fc68606 */ jal dtGetData /* f09f75c: afa4018c */ sw $a0,0x18c($sp) /* f09f760: 8c4c0000 */ lw $t4,0x0($v0) /* f09f764: 8fa4018c */ lw $a0,0x18c($sp) diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 5ec7a615f..8052f3b66 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -5209,7 +5209,7 @@ glabel var7f1ad630 .L0f0bae04: /* f0bae04: 5080003e */ beqzl $a0,.L0f0baf00 /* f0bae08: 8fbf0014 */ lw $ra,0x14($sp) -/* f0bae0c: 0fc68606 */ jal getDeviceTrainingData +/* f0bae0c: 0fc68606 */ jal dtGetData /* f0bae10: 00000000 */ nop /* f0bae14: 24040001 */ addiu $a0,$zero,0x1 /* f0bae18: 0fc5b350 */ jal soloSetPaused diff --git a/src/game/game_102240.c b/src/game/game_102240.c index dcc068fb9..741b4c387 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -4572,7 +4572,7 @@ bool soloChoosePauseDialog(void) bool handled = false; if (ciIsTourDone()) { - struct trainingdata *dtdata = getDeviceTrainingData(); + struct trainingdata *dtdata = dtGetData(); s32 room = g_Vars.currentplayer->prop->rooms[0]; if (room >= CIROOM_HOLOSTART && room <= CIROOM_HOLOEND) { diff --git a/src/game/game_167ae0.c b/src/game/game_167ae0.c index 949b8a228..3f2d46953 100644 --- a/src/game/game_167ae0.c +++ b/src/game/game_167ae0.c @@ -381,7 +381,7 @@ void func0f167e7c(s32 stagenum) func0f0147f8(); func0f013540(); func0f0139f0(); - func0f19d4ec(); + frUnloadData(); if (g_Vars.stagenum == STAGE_TITLE) { // empty @@ -5291,7 +5291,7 @@ glabel func0f16b96c /* f16ca60: 24010026 */ addiu $at,$zero,0x26 /* f16ca64: 5441001f */ bnel $v0,$at,.L0f16cae4 /* f16ca68: 8fbf0044 */ lw $ra,0x44($sp) -/* f16ca6c: 0fc68606 */ jal getDeviceTrainingData +/* f16ca6c: 0fc68606 */ jal dtGetData /* f16ca70: 00000000 */ nop /* f16ca74: 8e990284 */ lw $t9,0x284($s4) /* f16ca78: 8f2d00bc */ lw $t5,0xbc($t9) @@ -5682,7 +5682,7 @@ glabel func0f16b96c // func0f063dcc(); // // if (getCurrentStageId() == STAGE_CITRAINING) { -// struct trainingdata *trainingdata = getDeviceTrainingData(); +// struct trainingdata *trainingdata = dtGetData(); // s16 room = g_Vars.currentplayer->prop->rooms[0]; // // if ((room < 0x16 || room > 0x19) diff --git a/src/game/game_1a3340.c b/src/game/game_1a3340.c index 0260e2265..2a6889c92 100644 --- a/src/game/game_1a3340.c +++ b/src/game/game_1a3340.c @@ -47,7 +47,7 @@ s32 frDetailsOkMenuHandler(u32 operation, struct menuitem *item, s32 *value) if (frIsInTraining() == false) { s32 weapon = frGetWeaponBySlot(frGetSlot()); - if (g_FrWeaponNum != 1) { + if (g_FrWeaponNum != WEAPON_UNARMED) { currentPlayerRemoveWeapon(g_FrWeaponNum); } @@ -169,7 +169,7 @@ glabel var7f1b9940 /* f1a3510: 00402025 */ or $a0,$v0,$zero /* f1a3514: 0fc6726c */ jal ciGetFiringRangeScore /* f1a3518: 00402025 */ or $a0,$v0,$zero -/* f1a351c: 0fc679ea */ jal func0f19e7a8 +/* f1a351c: 0fc679ea */ jal frLoadData /* f1a3520: afa200a0 */ sw $v0,0xa0($sp) /* f1a3524: 8fa600b0 */ lw $a2,0xb0($sp) /* f1a3528: 0fc67497 */ jal frSetSlot @@ -766,7 +766,7 @@ glabel menuhandlerFrDifficulty char *frMenuTextFailReason(struct menuitem *item) { u16 reasons[5] = g_FiringRangeFailReasons; - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); return langGet(reasons[frdata->failreason]); } @@ -775,14 +775,14 @@ char *frMenuTextDifficultyName(struct menuitem *item) { u16 names[3] = g_FiringRangeDifficultyNames; - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); return langGet(names[frdata->difficulty]); } char *frMenuTextTimeTakenValue(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); f32 secs = frdata->timetaken / 60.0f; if (secs > frdata->timelimit) { @@ -808,7 +808,7 @@ char *frMenuTextTimeTakenValue(struct menuitem *item) char *frMenuTextScoreValue(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); sprintf(g_StringPointer, "%d\n", frdata->score); return g_StringPointer; @@ -816,7 +816,7 @@ char *frMenuTextScoreValue(struct menuitem *item) char *frMenuTextGoalScoreValueUnconditional(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); sprintf(g_StringPointer, "%d\n", frdata->goalscore); return g_StringPointer; } @@ -828,7 +828,7 @@ char *frMenuTextWeaponName(struct menuitem *item) char *frMenuTextTargetsDestroyedValue(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); sprintf(g_StringPointer, "%d\n", frdata->targetsdestroyed); return g_StringPointer; @@ -836,7 +836,7 @@ char *frMenuTextTargetsDestroyedValue(struct menuitem *item) char *frMenuTextAccuracyValue(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); f32 totalhits = (frdata->numhitsring3 + frdata->numhitsbullseye + frdata->numhitsring1 + frdata->numhitsring2) * 100.0f; f32 accuracy = 0; @@ -854,7 +854,7 @@ char *frMenuTextAccuracyValue(struct menuitem *item) char *frMenuTextGoalScoreLabel(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); if (frdata->goalscore > 0) { sprintf(g_StringPointer, "%s", langGet(L_MPMENU(475))); // "Goal Score:" @@ -866,7 +866,7 @@ char *frMenuTextGoalScoreLabel(struct menuitem *item) char *frMenuTextGoalScoreValue(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); if (frdata->goalscore > 0) { sprintf(g_StringPointer2, "%d\n", frdata->goalscore); @@ -878,7 +878,7 @@ char *frMenuTextGoalScoreValue(struct menuitem *item) char *frMenuTextMinAccuracyOrTargetsLabel(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); if (frdata->goalaccuracy > 0) { sprintf(g_StringPointer, "%s", langGet(L_MPMENU(473))); // "Min Accuracy:" @@ -893,7 +893,7 @@ char *frMenuTextMinAccuracyOrTargetsLabel(struct menuitem *item) char *frMenuTextMinAccuracyOrTargetsValue(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); if (frdata->goalaccuracy > 0) { sprintf(g_StringPointer2, "%d%%\n", frdata->goalaccuracy); @@ -908,7 +908,7 @@ char *frMenuTextMinAccuracyOrTargetsValue(struct menuitem *item) char *frMenuTextTimeLimitLabel(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); if (frdata->timelimit != 255) { sprintf(g_StringPointer, "%s", langGet(L_MPMENU(472))); // "Time Limit:" @@ -921,7 +921,7 @@ char *frMenuTextTimeLimitLabel(struct menuitem *item) char *frMenuTextTimeLimitValue(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); if (frdata->timelimit != 255) { s32 secs = frdata->timelimit; @@ -946,7 +946,7 @@ char *frMenuTextTimeLimitValue(struct menuitem *item) char *frMenuTextAmmoLimitLabel(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); if (frdata->ammolimit != 255) { sprintf(g_StringPointer, "%s", langGet(L_MPMENU(471))); // "Ammo Limit:" @@ -959,7 +959,7 @@ char *frMenuTextAmmoLimitLabel(struct menuitem *item) char *frMenuTextAmmoLimitValue(struct menuitem *item) { - struct frdata *frdata = getFiringRangeData(); + struct frdata *frdata = frGetData(); char suffix[16]; s32 weaponnum; @@ -994,7 +994,7 @@ glabel menuhandler001a44c0 /* f1a44e4: afae015c */ sw $t6,0x15c($sp) /* f1a44e8: 8cd00008 */ lw $s0,0x8($a2) /* f1a44ec: 25f80258 */ addiu $t8,$t7,0x258 -/* f1a44f0: 0fc675f3 */ jal getFiringRangeData +/* f1a44f0: 0fc675f3 */ jal frGetData /* f1a44f4: afb80144 */ sw $t8,0x144($sp) /* f1a44f8: afa20140 */ sw $v0,0x140($sp) /* f1a44fc: 90430465 */ lbu $v1,0x465($v0) @@ -3312,7 +3312,7 @@ glabel var7f1b9998 char *dtMenuTextOkOrResume(struct menuitem *item) { - struct trainingdata *data = getDeviceTrainingData(); + struct trainingdata *data = dtGetData(); if (data->intraining) { return langGet(L_MPMENU(428)); // "Resume" @@ -3323,7 +3323,7 @@ char *dtMenuTextOkOrResume(struct menuitem *item) char *dtMenuTextCancelOrAbort(struct menuitem *item) { - struct trainingdata *data = getDeviceTrainingData(); + struct trainingdata *data = dtGetData(); if (data->intraining) { return langGet(L_MPMENU(430)); // "Abort" @@ -3336,7 +3336,7 @@ const char var7f1b98ac[] = "%s\n"; char *dtMenuTextTimeTakenValue(struct menuitem *item) { - struct trainingdata *data = getDeviceTrainingData(); + struct trainingdata *data = dtGetData(); f32 secs = data->timetaken / 60.0f; if (secs >= 60.0f) { diff --git a/src/game/propobj.c b/src/game/propobj.c index 27d0be882..0895ebbc4 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -22425,7 +22425,7 @@ glabel var7f1aa580 /* f07968c: afa30044 */ sw $v1,0x44($sp) /* f079690: afa800ac */ sw $t0,0xac($sp) /* f079694: e7a00048 */ swc1 $f0,0x48($sp) -/* f079698: 0fc67cbb */ jal func0f19f2ec +/* f079698: 0fc67cbb */ jal frIsTargetFacingPos /* f07969c: e7b200a4 */ swc1 $f18,0xa4($sp) /* f0796a0: 8fa30044 */ lw $v1,0x44($sp) /* f0796a4: 8fa800ac */ lw $t0,0xac($sp) @@ -37015,7 +37015,7 @@ bool propobjInteract(struct prop *prop) if (ciIsTourDone()) { if (tag_id == 0x10) { - struct trainingdata *data = getDeviceTrainingData(); + struct trainingdata *data = dtGetData(); handled = true; if (data->intraining) { @@ -46654,7 +46654,7 @@ bool func0f09018c(struct prop *doorprop) u8 intraining = false; if (g_Vars.stagenum == STAGE_CITRAINING) { - struct trainingdata *devdata = getDeviceTrainingData(); + struct trainingdata *devdata = dtGetData(); struct trainingdata *holodata = getHoloTrainingData(); intraining = (devdata && devdata->intraining) diff --git a/src/game/training.c b/src/game/training.c index 7eb964094..9e939f82b 100644 --- a/src/game/training.c +++ b/src/game/training.c @@ -55,7 +55,7 @@ extern u8 *_firingrangeSegmentRomEnd; u16 *g_FrScriptOffsets = NULL; u8 g_FrIsValidWeapon = false; -u8 var80088808 = 0; +u8 g_FrDataLoaded = false; u8 g_FrNumSounds = 0; u8 *g_FrRomData = NULL; @@ -168,7 +168,7 @@ void frSetWeaponFound(s32 weaponnum) } } -s32 stageIsComplete(s32 stageindex) +s32 ciIsStageComplete(s32 stageindex) { return g_SoloSaveFile.besttimes[stageindex][0] || g_SoloSaveFile.besttimes[stageindex][1] @@ -181,18 +181,18 @@ bool func0f19cbcc(s32 weapon) return false; } - if (weapon == WEAPON_XRAYSCANNER && stageIsComplete(SOLOSTAGEINDEX_INFILTRATION)) { + if (weapon == WEAPON_XRAYSCANNER && ciIsStageComplete(SOLOSTAGEINDEX_INFILTRATION)) { return true; } - if (weapon == WEAPON_CLOAKINGDEVICE && stageIsComplete(SOLOSTAGEINDEX_CHICAGO)) { + if (weapon == WEAPON_CLOAKINGDEVICE && ciIsStageComplete(SOLOSTAGEINDEX_CHICAGO)) { return true; } return frIsWeaponFound(weapon); } -bool frWeaponIsAvailable(s32 weapon) +bool frIsWeaponAvailable(s32 weapon) { if (weapon < WEAPON_FALCON2 || weapon > WEAPON_REMOTEMINE || weapon == WEAPON_PSYCHOSISGUN @@ -337,12 +337,12 @@ s32 frIsClassicWeaponUnlocked(u32 weapon) s32 frGetSlot(void) { - return g_FiringRangeData.slot; + return g_FrData.slot; } void frSetSlot(s32 slot) { - g_FiringRangeData.slot = slot; + g_FrData.slot = slot; } u32 frGetWeaponBySlot(s32 slot) @@ -351,7 +351,7 @@ u32 frGetWeaponBySlot(s32 slot) s32 weapon; for (weapon = WEAPON_NONE; weapon <= WEAPON_HORIZONSCANNER; weapon++) { - if (frWeaponIsAvailable(weapon)) { + if (frIsWeaponAvailable(weapon)) { index++; } @@ -369,7 +369,7 @@ s32 frGetNumWeaponsAvailable(void) s32 i; for (i = WEAPON_UNARMED; i <= WEAPON_HORIZONSCANNER; i++) { - if (frWeaponIsAvailable(i)) { + if (frIsWeaponAvailable(i)) { count++; } } @@ -379,7 +379,7 @@ s32 frGetNumWeaponsAvailable(void) void frInitLighting(void) { - if (g_FiringRangeData.donelighting == false) { + if (g_FrData.donelighting == false) { s32 roomnum; for (roomnum = 7; roomnum < 10; roomnum++) { @@ -388,7 +388,7 @@ void frInitLighting(void) roomSetLighting(CIROOM_FIRINGRANGE, LIGHTOP_3, 25, 100, 32); - g_FiringRangeData.donelighting = true; + g_FrData.donelighting = true; audioStart(var80095200, 0x5d5, NULL, -1, -1, -1, -1, -1); } @@ -398,7 +398,7 @@ void frInitLighting(void) void frRestoreLighting(void) { - if (g_FiringRangeData.donelighting == true) { + if (g_FrData.donelighting == true) { s32 roomnum; for (roomnum = 7; roomnum < 10; roomnum++) { @@ -407,31 +407,31 @@ void frRestoreLighting(void) roomSetLighting(CIROOM_FIRINGRANGE, LIGHTOP_3, 100, 25, 8); - g_FiringRangeData.donelighting = false; + g_FrData.donelighting = false; audioStart(var80095200, 0x5d6, NULL, -1, -1, -1, -1, -1); } } -void func0f19d4ec(void) +void frUnloadData(void) { s32 i; g_FrScriptOffsets = NULL; - var80088808 = 0; + g_FrDataLoaded = false; g_FrIsValidWeapon = false; g_FrRomData = NULL; - g_FiringRangeData.helpscriptindex = 0; - g_FiringRangeData.helpscriptoffset = 0; - g_FiringRangeData.helpscriptenabled = false; - g_FiringRangeData.helpscriptsleep = 0; - g_FiringRangeData.menucountdown = 0; - g_FiringRangeData.maxactivetargets = 0; + g_FrData.helpscriptindex = 0; + g_FrData.helpscriptoffset = 0; + g_FrData.helpscriptenabled = false; + g_FrData.helpscriptsleep = 0; + g_FrData.menucountdown = 0; + g_FrData.maxactivetargets = 0; - for (i = 0; i < 18; i++) { - g_FiringRangeData.targets[i].prop = NULL; - g_FiringRangeData.targets[i].unk00_01 = false; + for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { + g_FrData.targets[i].prop = NULL; + g_FrData.targets[i].inuse = false; } g_FrNumSounds = 0; @@ -458,12 +458,12 @@ void frSetDifficulty(s32 difficulty) difficulty = FRDIFFICULTY_GOLD; } - g_FiringRangeData.difficulty = difficulty; + g_FrData.difficulty = difficulty; } u32 frGetDifficulty(void) { - return g_FiringRangeData.difficulty; + return g_FrData.difficulty; } void frInitDefaults(void) @@ -475,72 +475,72 @@ void frInitDefaults(void) padUnpack(g_FrPads[0], PADFIELD_POS, &pad); - g_FiringRangeData.maxactivetargets = 0; - g_FiringRangeData.goalscore = 0; - g_FiringRangeData.timelimit = 200; - g_FiringRangeData.ammolimit = 255; - g_FiringRangeData.sdgrenadelimit = 255; - g_FiringRangeData.goalaccuracy = 0; - g_FiringRangeData.goaltargets = 255; - g_FiringRangeData.speed = 1; + g_FrData.maxactivetargets = 0; + g_FrData.goalscore = 0; + g_FrData.timelimit = 200; + g_FrData.ammolimit = 255; + g_FrData.sdgrenadelimit = 255; + g_FrData.goalaccuracy = 0; + g_FrData.goaltargets = 255; + g_FrData.speed = 1; - for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { - g_FiringRangeData.targets[i].dstpos.x = pad.pos.x; - g_FiringRangeData.targets[i].dstpos.y = pad.pos.y; - g_FiringRangeData.targets[i].dstpos.z = pad.pos.z; - g_FiringRangeData.targets[i].dstpos.z += 6.0f * i; + for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { + g_FrData.targets[i].dstpos.x = pad.pos.x; + g_FrData.targets[i].dstpos.y = pad.pos.y; + g_FrData.targets[i].dstpos.z = pad.pos.z; + g_FrData.targets[i].dstpos.z += 6.0f * i; - g_FiringRangeData.targets[i].unk00_01 = false; - g_FiringRangeData.targets[i].rotateoncloak = false; - g_FiringRangeData.targets[i].destroyed = false; - g_FiringRangeData.targets[i].damage = 0; - g_FiringRangeData.targets[i].scriptoffset = 0; + g_FrData.targets[i].inuse = false; + g_FrData.targets[i].rotateoncloak = false; + g_FrData.targets[i].destroyed = false; + g_FrData.targets[i].damage = 0; + g_FrData.targets[i].scriptoffset = 0; - g_FiringRangeData.targets[i].travelspeed = 0; - g_FiringRangeData.targets[i].scriptsleep = SECSTOFRAMES60(255); - g_FiringRangeData.targets[i].timeuntilrotate = 0; + g_FrData.targets[i].travelspeed = 0; + g_FrData.targets[i].scriptsleep = SECSTOFRAMES60(255); + g_FrData.targets[i].timeuntilrotate = 0; - g_FiringRangeData.targets[i].rotating = false; - g_FiringRangeData.targets[i].rotatespeed = 0; - g_FiringRangeData.targets[i].angle = 0; - g_FiringRangeData.targets[i].rotatetoangle = 0; - g_FiringRangeData.targets[i].unk31 = 0; - g_FiringRangeData.targets[i].unk32 = 0; - g_FiringRangeData.targets[i].travelling = false; - g_FiringRangeData.targets[i].invincibletimer = 0; - g_FiringRangeData.targets[i].frpadnum = -1; + g_FrData.targets[i].rotating = false; + g_FrData.targets[i].rotatespeed = 0; + g_FrData.targets[i].angle = 0; + g_FrData.targets[i].rotatetoangle = 0; + g_FrData.targets[i].silent = 0; + g_FrData.targets[i].donestopsound = false; + g_FrData.targets[i].travelling = false; + g_FrData.targets[i].invincibletimer = 0; + g_FrData.targets[i].frpadnum = -1; - func0f13e40c(g_FiringRangeData.targets[i].prop, false); - func0f13e40c(g_FiringRangeData.targets[i].prop, true); + func0f13e40c(g_FrData.targets[i].prop, false); + func0f13e40c(g_FrData.targets[i].prop, true); } - g_FiringRangeData.timetaken = -240; - g_FiringRangeData.score = 0; - g_FiringRangeData.numtargets = 0; - g_FiringRangeData.targetsdestroyed = 0; - g_FiringRangeData.menucountdown = 0; - g_FiringRangeData.unk470 = 0; - g_FiringRangeData.feedbackzone = 0; - g_FiringRangeData.feedbackttl = 0; - g_FiringRangeData.failreason = 0; - g_FiringRangeData.numshots = 0; - g_FiringRangeData.numhitsring3 = 0; - g_FiringRangeData.numhitsring2 = 0; - g_FiringRangeData.numhitsring1 = 0; - g_FiringRangeData.numhitsbullseye = 0; - g_FiringRangeData.helpscriptindex = 0; - g_FiringRangeData.helpscriptoffset = 0; - g_FiringRangeData.helpscriptenabled = false; - g_FiringRangeData.helpscriptsleep = 0; - g_FiringRangeData.proxyendtimer = 0; - g_FiringRangeData.donealarm = false; - g_FiringRangeData.ammohasgrace = true; - g_FiringRangeData.ammoextra = -1; + g_FrData.timetaken = -240; + g_FrData.score = 0; + g_FrData.numtargets = 0; + g_FrData.targetsdestroyed = 0; + g_FrData.menucountdown = 0; + g_FrData.padindexoffset = 0; + g_FrData.feedbackzone = 0; + g_FrData.feedbackttl = 0; + g_FrData.failreason = 0; + g_FrData.numshots = 0; + g_FrData.numhitsring3 = 0; + g_FrData.numhitsring2 = 0; + g_FrData.numhitsring1 = 0; + g_FrData.numhitsbullseye = 0; + g_FrData.helpscriptindex = 0; + g_FrData.helpscriptoffset = 0; + g_FrData.helpscriptenabled = false; + g_FrData.helpscriptsleep = 0; + g_FrData.proxyendtimer = 0; + g_FrData.donealarm = false; + g_FrData.ammohasgrace = true; + g_FrData.ammoextra = -1; } -struct frdata *getFiringRangeData(void) +struct frdata *frGetData(void) { - return &g_FiringRangeData; + return &g_FrData; } u32 frResolveFrPad(u32 arg0) @@ -552,20 +552,20 @@ u32 frResolveFrPad(u32 arg0) case 34: return random() % 27 + 4; // 4 - 30 } - return g_FiringRangeData.unk470 + arg0; + return g_FrData.padindexoffset + arg0; } bool frIsDifficulty(u32 flags) { - if (g_FiringRangeData.difficulty == FRDIFFICULTY_BRONZE) { + if (g_FrData.difficulty == FRDIFFICULTY_BRONZE) { if ((flags & FRTARGETFLAG_BRONZE) == 0) { return false; } - } else if (g_FiringRangeData.difficulty == FRDIFFICULTY_SILVER) { + } else if (g_FrData.difficulty == FRDIFFICULTY_SILVER) { if ((flags & FRTARGETFLAG_SILVER) == 0) { return false; } - } else if (g_FiringRangeData.difficulty == FRDIFFICULTY_GOLD) { + } else if (g_FrData.difficulty == FRDIFFICULTY_GOLD) { if ((flags & FRTARGETFLAG_GOLD) == 0) { return false; } @@ -634,8 +634,8 @@ glabel var7f1b93ec /* f19d978: 241e0001 */ addiu $s8,$zero,0x1 /* f19d97c: 1121011d */ beq $t1,$at,.L0f19ddf4 /* f19d980: 312200ff */ andi $v0,$t1,0xff -/* f19d984: 3c10800b */ lui $s0,%hi(g_FiringRangeData) -/* f19d988: 2610cd20 */ addiu $s0,$s0,%lo(g_FiringRangeData) +/* f19d984: 3c10800b */ lui $s0,%hi(g_FrData) +/* f19d988: 2610cd20 */ addiu $s0,$s0,%lo(g_FrData) /* f19d98c: 241700ff */ addiu $s7,$zero,0xff /* f19d990: 2415003c */ addiu $s5,$zero,0x3c /* f19d994: 8fb30044 */ lw $s3,0x44($sp) @@ -801,9 +801,9 @@ glabel var7f1b93ec /* f19dbf8: 0043082a */ slt $at,$v0,$v1 /* f19dbfc: 10200004 */ beqz $at,.L0f19dc10 /* f19dc00: 0062c023 */ subu $t8,$v1,$v0 -/* f19dc04: 3c01800b */ lui $at,%hi(g_FiringRangeData+0x476) +/* f19dc04: 3c01800b */ lui $at,%hi(g_FrData+0x476) /* f19dc08: 10000002 */ b .L0f19dc14 -/* f19dc0c: a438d196 */ sh $t8,%lo(g_FiringRangeData+0x476)($at) +/* f19dc0c: a438d196 */ sh $t8,%lo(g_FrData+0x476)($at) .L0f19dc10: /* f19dc10: a6000476 */ sh $zero,0x476($s0) .L0f19dc14: @@ -823,9 +823,9 @@ glabel var7f1b93ec /* f19dc48: 0043082a */ slt $at,$v0,$v1 /* f19dc4c: 10200004 */ beqz $at,.L0f19dc60 /* f19dc50: 00625023 */ subu $t2,$v1,$v0 -/* f19dc54: 3c01800b */ lui $at,%hi(g_FiringRangeData+0x478) +/* f19dc54: 3c01800b */ lui $at,%hi(g_FrData+0x478) /* f19dc58: 10000002 */ b .L0f19dc64 -/* f19dc5c: a42ad198 */ sh $t2,%lo(g_FiringRangeData+0x478)($at) +/* f19dc5c: a42ad198 */ sh $t2,%lo(g_FrData+0x478)($at) .L0f19dc60: /* f19dc60: a6000478 */ sh $zero,0x478($s0) .L0f19dc64: @@ -969,8 +969,8 @@ glabel var7f1b93ec // // while (script[offset] != FRCMD_END) { // switch (script[offset]) { -// case FRCMD_0A: // f19d9b8 -// g_FiringRangeData.unk470 = script[offset + 1]; +// case FRCMD_SETPADINDEXOFFSET: // f19d9b8 +// g_FrData.padindexoffset = script[offset + 1]; // offset += 2; // break; // case FRCMD_ADDTARGET: // f19d9d0 @@ -978,57 +978,57 @@ glabel var7f1b93ec // offset += 5; // break; // } -// if (g_FiringRangeData.numtargets < ARRAYCOUNT(g_FiringRangeData.targets)) { -// g_FiringRangeData.targets[g_FiringRangeData.numtargets].frpadindex = frResolveFrPad(script[offset + 1]); -// g_FiringRangeData.targets[g_FiringRangeData.numtargets].scriptindex = script[offset + 2]; -// g_FiringRangeData.targets[g_FiringRangeData.numtargets].maxdamage = script[offset + 3]; -// g_FiringRangeData.targets[g_FiringRangeData.numtargets].unk00_01 = true; -// g_FiringRangeData.targets[g_FiringRangeData.numtargets].flags = script[offset + 4]; +// if (g_FrData.numtargets < ARRAYCOUNT(g_FrData.targets)) { +// g_FrData.targets[g_FrData.numtargets].frpadindex = frResolveFrPad(script[offset + 1]); +// g_FrData.targets[g_FrData.numtargets].scriptindex = script[offset + 2]; +// g_FrData.targets[g_FrData.numtargets].maxdamage = script[offset + 3]; +// g_FrData.targets[g_FrData.numtargets].inuse = true; +// g_FrData.targets[g_FrData.numtargets].flags = script[offset + 4]; // -// if (g_FiringRangeData.targets[g_FiringRangeData.numtargets].flags & FRTARGETFLAG_ROTATEONCLOAK) { -// g_FiringRangeData.targets[g_FiringRangeData.numtargets].rotateoncloak = true; +// if (g_FrData.targets[g_FrData.numtargets].flags & FRTARGETFLAG_ROTATEONCLOAK) { +// g_FrData.targets[g_FrData.numtargets].rotateoncloak = true; // } // -// if (g_FiringRangeData.targets[g_FiringRangeData.numtargets].flags & FRTARGETFLAG_ONEHITEXPLODE) { -// g_FiringRangeData.targets[g_FiringRangeData.numtargets].maxdamage = 1; +// if (g_FrData.targets[g_FrData.numtargets].flags & FRTARGETFLAG_ONEHITEXPLODE) { +// g_FrData.targets[g_FrData.numtargets].maxdamage = 1; // } // -// g_FiringRangeData.numtargets++; +// g_FrData.numtargets++; // } // offset += 5; // break; // case FRCMD_SETMAXACTIVETARGETS: // f19db00 -// g_FiringRangeData.maxactivetargets = script[offset + 1 + g_FiringRangeData.difficulty]; +// g_FrData.maxactivetargets = script[offset + 1 + g_FrData.difficulty]; // offset += 4; // break; // case FRCMD_SETSCOREMULTIPLIER: // f19db24 -// if (script[offset + 1 + g_FiringRangeData.difficulty] > 0) { -// mult = script[offset + 1 + g_FiringRangeData.difficulty]; +// if (script[offset + 1 + g_FrData.difficulty] > 0) { +// mult = script[offset + 1 + g_FrData.difficulty]; // } else { // mult = 1; // } // offset += 4; // break; // case FRCMD_SETGOALSCORE: // f19db58 -// g_FiringRangeData.goalscore = script[offset + 1 + g_FiringRangeData.difficulty] * mult; +// g_FrData.goalscore = script[offset + 1 + g_FrData.difficulty] * mult; // offset += 4; // break; // case FRCMD_SETTIMELIMIT: // f19db84 -// g_FiringRangeData.timelimit = script[offset + 1 + g_FiringRangeData.difficulty]; -// if (g_FiringRangeData.timelimit == 255) { -// g_FiringRangeData.timelimit = 120; +// g_FrData.timelimit = script[offset + 1 + g_FrData.difficulty]; +// if (g_FrData.timelimit == 255) { +// g_FrData.timelimit = 120; // } // offset += 4; // break; // case FRCMD_SETAMMOLIMIT: // f19dbb8 -// capacity = ammotypeGetMaxCapacity(weaponGetAmmoType(frGetWeaponBySlot(g_FiringRangeData.slot), 0)); -// g_FiringRangeData.ammolimit = script[offset + 1 + g_FiringRangeData.difficulty]; +// capacity = ammotypeGetMaxCapacity(weaponGetAmmoType(frGetWeaponBySlot(g_FrData.slot), 0)); +// g_FrData.ammolimit = script[offset + 1 + g_FrData.difficulty]; // -// if (g_FiringRangeData.ammolimit != 255) { -// if (g_FiringRangeData.ammolimit > capacity) { -// g_FiringRangeData.ammoextra = g_FiringRangeData.ammolimit - capacity; +// if (g_FrData.ammolimit != 255) { +// if (g_FrData.ammolimit > capacity) { +// g_FrData.ammoextra = g_FrData.ammolimit - capacity; // } else { -// g_FiringRangeData.ammoextra = 0; +// g_FrData.ammoextra = 0; // } // } // @@ -1036,57 +1036,57 @@ glabel var7f1b93ec // break; // case FRCMD_SETGRENADELIMIT: // f19dc1c // capacity = ammotypeGetMaxCapacity(AMMOTYPE_DEVASTATOR); -// g_FiringRangeData.sdgrenadelimit = script[offset + 1 + g_FiringRangeData.difficulty]; +// g_FrData.sdgrenadelimit = script[offset + 1 + g_FrData.difficulty]; // -// if (g_FiringRangeData.sdgrenadelimit != 255) { -// if (g_FiringRangeData.sdgrenadelimit > capacity) { -// g_FiringRangeData.sdgrenadeextra = g_FiringRangeData.sdgrenadelimit - capacity; +// if (g_FrData.sdgrenadelimit != 255) { +// if (g_FrData.sdgrenadelimit > capacity) { +// g_FrData.sdgrenadeextra = g_FrData.sdgrenadelimit - capacity; // } else { -// g_FiringRangeData.sdgrenadeextra = 0; +// g_FrData.sdgrenadeextra = 0; // } // } // // offset += 4; // break; // case FRCMD_SETEXTRASPEED: // f19dc6c -// g_FiringRangeData.speed = script[offset + 1 + g_FiringRangeData.difficulty] * 0.1f + 1.0f; +// g_FrData.speed = script[offset + 1 + g_FrData.difficulty] * 0.1f + 1.0f; // offset += 4; // break; // case FRCMD_SETGOALACCURACY: // f19dcc4 -// g_FiringRangeData.goalaccuracy = script[offset + 1 + g_FiringRangeData.difficulty]; +// g_FrData.goalaccuracy = script[offset + 1 + g_FrData.difficulty]; // offset += 4; // break; // case FRCMD_SETGOALTARGETS: // f19dce8 -// g_FiringRangeData.goaltargets = script[offset + 1 + g_FiringRangeData.difficulty]; +// g_FrData.goaltargets = script[offset + 1 + g_FrData.difficulty]; // offset += 4; // break; // case FRCMD_SETHELPSCRIPT: // f19dd0c -// g_FiringRangeData.helpscriptindex = script[offset + 1]; -// g_FiringRangeData.helpscriptenabled = true; -// index = FRSCRIPTINDEX_HELP + g_FiringRangeData.helpscriptindex; +// g_FrData.helpscriptindex = script[offset + 1]; +// g_FrData.helpscriptenabled = true; +// index = FRSCRIPTINDEX_HELP + g_FrData.helpscriptindex; // subscript = &g_FrRomData[g_FrScriptOffsets[index]]; // offset += 2; // // // d48 -// if (g_FiringRangeData.difficulty == FRDIFFICULTY_BRONZE) { +// if (g_FrData.difficulty == FRDIFFICULTY_BRONZE) { // start = FRCMD_IFBRONZE; -// } else /*d58*/ if (g_FiringRangeData.difficulty == FRDIFFICULTY_SILVER) { +// } else /*d58*/ if (g_FrData.difficulty == FRDIFFICULTY_SILVER) { // start = FRCMD_IFSILVER; -// } else /*d6c*/ if (g_FiringRangeData.difficulty == FRDIFFICULTY_GOLD) { +// } else /*d6c*/ if (g_FrData.difficulty == FRDIFFICULTY_GOLD) { // start = FRCMD_IFGOLD; // } // // // d7c -// g_FiringRangeData.helpscriptoffset = 0; +// g_FrData.helpscriptoffset = 0; // -// while (subscript[g_FiringRangeData.helpscriptoffset++] != start); +// while (subscript[g_FrData.helpscriptoffset++] != start); // -// if (subscript[g_FiringRangeData.helpscriptoffset] >= FRCMD_IFBRONZE) { -// g_FiringRangeData.helpscriptoffset++; +// if (subscript[g_FrData.helpscriptoffset] >= FRCMD_IFBRONZE) { +// g_FrData.helpscriptoffset++; // } // -// if (subscript[g_FiringRangeData.helpscriptoffset] >= FRCMD_IFBRONZE) { -// g_FiringRangeData.helpscriptoffset++; +// if (subscript[g_FrData.helpscriptoffset] >= FRCMD_IFBRONZE) { +// g_FrData.helpscriptoffset++; // } // // break; @@ -1095,7 +1095,7 @@ glabel var7f1b93ec // } //} -void func0f19de24(void) +void frSetTargetProps(void) { s32 i; u32 targets[] = { @@ -1107,7 +1107,7 @@ void func0f19de24(void) struct defaultobj *obj = objFindByTagId(targets[i]); if (obj) { - g_FiringRangeData.targets[i].prop = obj->prop; + g_FrData.targets[i].prop = obj->prop; obj->flags2 |= OBJFLAG2_INVISIBLE; } } @@ -1117,7 +1117,7 @@ s32 g_FrWeaponNum = WEAPON_UNARMED; bool frTargetIsAtScriptStart(s32 targetnum) { - return g_FiringRangeData.targets[targetnum].scriptoffset == 0; + return g_FrData.targets[targetnum].scriptoffset == 0; } /** @@ -1140,41 +1140,41 @@ char *frGetInstructionalText(u32 index) void frExecuteHelpScript(void) { - if (!g_FiringRangeData.helpscriptenabled || g_Vars.lvupdate240 == 0) { + if (!g_FrData.helpscriptenabled || g_Vars.lvupdate240 == 0) { return; } - if (g_FiringRangeData.helpscriptsleep == 0) { - s32 index = FRSCRIPTINDEX_HELP + g_FiringRangeData.helpscriptindex; + if (g_FrData.helpscriptsleep == 0) { + s32 index = FRSCRIPTINDEX_HELP + g_FrData.helpscriptindex; u8 *script = &g_FrRomData[g_FrScriptOffsets[index]]; - u32 offset = g_FiringRangeData.helpscriptoffset; + u32 offset = g_FrData.helpscriptoffset; switch (script[offset]) { case FRCMD_END: case FRCMD_IFBRONZE: case FRCMD_IFSILVER: case FRCMD_IFGOLD: - g_FiringRangeData.helpscriptenabled = false; + g_FrData.helpscriptenabled = false; break; case FRCMD_HUDMSG: hudmsgCreateViaPreset(frGetInstructionalText(script[offset + 1]), HUDMSGTYPE_TRAINING); - g_FiringRangeData.helpscriptoffset += 2; + g_FrData.helpscriptoffset += 2; break; - case FRCMD_WAITSECONDS: - g_FiringRangeData.helpscriptsleep = SECSTOFRAMES60(script[offset + 1]); - g_FiringRangeData.helpscriptoffset += 2; + case FRCMD_HELPWAITSECONDS: + g_FrData.helpscriptsleep = SECSTOFRAMES60(script[offset + 1]); + g_FrData.helpscriptoffset += 2; break; case FRCMD_WAITUNTILSHOOT: - if (g_FiringRangeData.numshots) { - g_FiringRangeData.helpscriptoffset++; + if (g_FrData.numshots) { + g_FrData.helpscriptoffset++; } break; } } else { - g_FiringRangeData.helpscriptsleep -= g_Vars.lvupdate240_60; + g_FrData.helpscriptsleep -= g_Vars.lvupdate240_60; - if (g_FiringRangeData.helpscriptsleep <= 0) { - g_FiringRangeData.helpscriptsleep = 0; + if (g_FrData.helpscriptsleep <= 0) { + g_FrData.helpscriptsleep = 0; } } } @@ -1209,8 +1209,8 @@ glabel var7f1b941c .text /* f19e090: 2409003c */ addiu $t1,$zero,0x3c /* f19e094: 00890019 */ multu $a0,$t1 -/* f19e098: 3c18800b */ lui $t8,%hi(g_FiringRangeData) -/* f19e09c: 2718cd20 */ addiu $t8,$t8,%lo(g_FiringRangeData) +/* f19e098: 3c18800b */ lui $t8,%hi(g_FrData) +/* f19e09c: 2718cd20 */ addiu $t8,$t8,%lo(g_FrData) /* f19e0a0: 27bdff30 */ addiu $sp,$sp,-208 /* f19e0a4: afbf0044 */ sw $ra,0x44($sp) /* f19e0a8: afa400d0 */ sw $a0,0xd0($sp) @@ -1433,76 +1433,76 @@ glabel var7f1b941c // Regalloc when calculating script and offset //bool frExecuteTargetScript(s32 targetnum) //{ -// if (g_FiringRangeData.targets[targetnum].unk00_01) { -// s32 index = FRSCRIPTINDEX_TARGETS + g_FiringRangeData.targets[targetnum].scriptindex; +// if (g_FrData.targets[targetnum].inuse) { +// s32 index = FRSCRIPTINDEX_TARGETS + g_FrData.targets[targetnum].scriptindex; // u8 *script = &g_FrRomData[g_FrScriptOffsets[index]]; -// u32 offset = g_FiringRangeData.targets[targetnum].scriptoffset; +// u32 offset = g_FrData.targets[targetnum].scriptoffset; // struct pad pad; // s32 frpadnum; // // switch (script[offset]) { // case FRCMD_END: -// g_FiringRangeData.targets[targetnum].scriptenabled = true; -// g_FiringRangeData.targets[targetnum].scriptsleep = SECSTOFRAMES60(255); +// g_FrData.targets[targetnum].scriptenabled = true; +// g_FrData.targets[targetnum].scriptsleep = SECSTOFRAMES60(255); // return true; // case FRCMD_GOTOPAD: // frpadnum = frResolveFrPad(script[offset + 1]); // -// if (frpadnum == g_FiringRangeData.targets[targetnum].frpadnum) { -// g_FiringRangeData.targets[targetnum].scriptoffset += 4; +// if (frpadnum == g_FrData.targets[targetnum].frpadnum) { +// g_FrData.targets[targetnum].scriptoffset += 4; // return false; // } // -// g_FiringRangeData.targets[targetnum].frpadnum = frpadnum; +// g_FrData.targets[targetnum].frpadnum = frpadnum; // // padUnpack(g_FrPads[frpadnum], PADFIELD_POS, &pad); // -// g_FiringRangeData.targets[targetnum].dstpos.x = pad.pos.x; -// g_FiringRangeData.targets[targetnum].dstpos.y = pad.pos.y; -// g_FiringRangeData.targets[targetnum].dstpos.z = pad.pos.z; -// g_FiringRangeData.targets[targetnum].dstpos.z += 6.0f * targetnum; +// g_FrData.targets[targetnum].dstpos.x = pad.pos.x; +// g_FrData.targets[targetnum].dstpos.y = pad.pos.y; +// g_FrData.targets[targetnum].dstpos.z = pad.pos.z; +// g_FrData.targets[targetnum].dstpos.z += 6.0f * targetnum; // // if (script[offset + 2] == 0xff) { -// g_FiringRangeData.targets[targetnum].travelspeed = -1; -// g_FiringRangeData.targets[targetnum].travelling = true; +// g_FrData.targets[targetnum].travelspeed = -1; +// g_FrData.targets[targetnum].travelling = true; // } else { // if (g_FrNumSounds < 3) { // g_FrNumSounds++; -// func0f0939f8(NULL, g_FiringRangeData.targets[targetnum].prop, 0x5d9, -1, +// func0f0939f8(NULL, g_FrData.targets[targetnum].prop, 0x5d9, -1, // -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); // } // -// g_FiringRangeData.targets[targetnum].travelspeed = (script[offset + 2] / 60.0f) * g_FiringRangeData.speed; -// g_FiringRangeData.targets[targetnum].travelling = true; +// g_FrData.targets[targetnum].travelspeed = (script[offset + 2] / 60.0f) * g_FrData.speed; +// g_FrData.targets[targetnum].travelling = true; // } // -// g_FiringRangeData.targets[targetnum].scriptsleep = SECSTOFRAMES60(script[offset + 3]); -// g_FiringRangeData.targets[targetnum].unk32 = 0; -// g_FiringRangeData.targets[targetnum].scriptoffset += 4; +// g_FrData.targets[targetnum].scriptsleep = SECSTOFRAMES60(script[offset + 3]); +// g_FrData.targets[targetnum].donestopsound = false; +// g_FrData.targets[targetnum].scriptoffset += 4; // return true; // case FRCMD_RESTART: -// g_FiringRangeData.targets[targetnum].scriptoffset = 0; +// g_FrData.targets[targetnum].scriptoffset = 0; // return true; -// case FRCMD_0E: -// g_FiringRangeData.targets[targetnum].scriptenabled = true; -// g_FiringRangeData.targets[targetnum].scriptsleep = SECSTOFRAMES60(script[offset + 1]); -// g_FiringRangeData.targets[targetnum].scriptoffset += 2; +// case FRCMD_WAITSECONDS: +// g_FrData.targets[targetnum].scriptenabled = true; +// g_FrData.targets[targetnum].scriptsleep = SECSTOFRAMES60(script[offset + 1]); +// g_FrData.targets[targetnum].scriptoffset += 2; // return true; // case FRCMD_ROTATE: -// if (g_FiringRangeData.targets[targetnum].rotateoncloak == false) { +// if (g_FrData.targets[targetnum].rotateoncloak == false) { // f32 angles[4]; // angles[0] = DEG2RAD(-90); // angles[1] = DEG2RAD(-180); // angles[2] = DEG2RAD(90); // angles[3] = DEG2RAD(180); // -// g_FiringRangeData.targets[targetnum].rotatetoangle = g_FiringRangeData.targets[targetnum].angle + angles[script[offset + 1]]; -// g_FiringRangeData.targets[targetnum].rotatespeed = angles[script[offset + 1]] / (script[offset + 2] * 15); -// g_FiringRangeData.targets[targetnum].rotating = true; -// g_FiringRangeData.targets[targetnum].scriptenabled = false; +// g_FrData.targets[targetnum].rotatetoangle = g_FrData.targets[targetnum].angle + angles[script[offset + 1]]; +// g_FrData.targets[targetnum].rotatespeed = angles[script[offset + 1]] / (script[offset + 2] * 15); +// g_FrData.targets[targetnum].rotating = true; +// g_FrData.targets[targetnum].scriptenabled = false; // } // -// g_FiringRangeData.targets[targetnum].scriptoffset += 3; +// g_FrData.targets[targetnum].scriptoffset += 3; // return true; // } // } @@ -1514,8 +1514,8 @@ void frHideAllTargets(void) { s32 i; - for (i = 0; i < 18; i++) { - struct prop *prop = g_FiringRangeData.targets[i].prop; + for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { + struct prop *prop = g_FrData.targets[i].prop; struct defaultobj *target = prop->obj; target->flags2 |= OBJFLAG2_INVISIBLE; @@ -1551,8 +1551,8 @@ void frInitTargets(void) f32 sp144[16]; f32 sp108[9]; - for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { - prop = g_FiringRangeData.targets[i].prop; + for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { + prop = g_FrData.targets[i].prop; if (prop) { obj = prop->obj; @@ -1562,19 +1562,19 @@ void frInitTargets(void) obj->damage = 0; prop->timetoregen = 0; - if (g_FiringRangeData.targets[i].unk00_01) { - g_FiringRangeData.targets[i].scriptenabled = false; - g_FiringRangeData.targets[i].destroyed = false; + if (g_FrData.targets[i].inuse) { + g_FrData.targets[i].scriptenabled = false; + g_FrData.targets[i].destroyed = false; - if (count < g_FiringRangeData.maxactivetargets) { + if (count < g_FrData.maxactivetargets) { obj->flags2 &= ~OBJFLAG2_INVISIBLE; - g_FiringRangeData.targets[i].active = true; + g_FrData.targets[i].active = true; } else { obj->flags2 |= OBJFLAG2_INVISIBLE; - g_FiringRangeData.targets[i].active = false; + g_FrData.targets[i].active = false; } - padUnpack(g_FrPads[g_FiringRangeData.targets[i].frpadindex], PADFIELD_POS, &pospad.pad); + padUnpack(g_FrPads[g_FrData.targets[i].frpadindex], PADFIELD_POS, &pospad.pad); pospad.pos.x = pospad.pad.pos.x; pospad.pos.y = pospad.pad.pos.y; @@ -1583,10 +1583,10 @@ void frInitTargets(void) frExecuteTargetScript(i); - if (g_FiringRangeData.targets[i].travelspeed == -1) { - pospad.pos.x = g_FiringRangeData.targets[i].dstpos.x; - pospad.pos.y = g_FiringRangeData.targets[i].dstpos.y; - pospad.pos.z = g_FiringRangeData.targets[i].dstpos.z; + if (g_FrData.targets[i].travelspeed == -1) { + pospad.pos.x = g_FrData.targets[i].dstpos.x; + pospad.pos.y = g_FrData.targets[i].dstpos.y; + pospad.pos.z = g_FrData.targets[i].dstpos.z; } count++; @@ -1600,9 +1600,9 @@ void frInitTargets(void) pospad.pos.z = 6.0f * i; } - if (g_FiringRangeData.targets[i].flags & FRTARGETFLAG_SPAWNFACINGAWAY) { + if (g_FrData.targets[i].flags & FRTARGETFLAG_SPAWNFACINGAWAY) { func00016374(0.0f, sp144); - g_FiringRangeData.targets[i].angle = M_PI; + g_FrData.targets[i].angle = M_PI; } else { func00016374(M_PI, sp144); } @@ -1642,9 +1642,9 @@ void frUnlockDoor(void) } GLOBAL_ASM( -glabel func0f19e7a8 -/* f19e7a8: 3c028009 */ lui $v0,%hi(var80088808) -/* f19e7ac: 24428808 */ addiu $v0,$v0,%lo(var80088808) +glabel frLoadData +/* f19e7a8: 3c028009 */ lui $v0,%hi(g_FrDataLoaded) +/* f19e7ac: 24428808 */ addiu $v0,$v0,%lo(g_FrDataLoaded) /* f19e7b0: 904e0000 */ lbu $t6,0x0($v0) /* f19e7b4: 27bdffd0 */ addiu $sp,$sp,-48 /* f19e7b8: afbf0014 */ sw $ra,0x14($sp) @@ -1722,10 +1722,10 @@ glabel func0f19e7a8 /* f19e8c4: 5469fff4 */ bnel $v1,$t1,.L0f19e898 /* f19e8c8: 8c580000 */ lw $t8,0x0($v0) .L0f19e8cc: -/* f19e8cc: 0fc67789 */ jal func0f19de24 +/* f19e8cc: 0fc67789 */ jal frSetTargetProps /* f19e8d0: 00000000 */ nop -/* f19e8d4: 3c02800b */ lui $v0,%hi(g_FiringRangeData) -/* f19e8d8: 2442cd20 */ addiu $v0,$v0,%lo(g_FiringRangeData) +/* f19e8d4: 3c02800b */ lui $v0,%hi(g_FrData) +/* f19e8d8: 2442cd20 */ addiu $v0,$v0,%lo(g_FrData) /* f19e8dc: 904f0465 */ lbu $t7,0x465($v0) /* f19e8e0: a4400456 */ sh $zero,0x456($v0) /* f19e8e4: a0400448 */ sb $zero,0x448($v0) @@ -1738,10 +1738,10 @@ glabel func0f19e7a8 /* f19e8fc: 00000000 */ nop ); -//void func0f19e7a8(void) +//void frLoadData(void) //{ // // 7bc -// if (var80088808 == false) { +// if (g_FrDataLoaded == false) { // u32 len = (u32)&_firingrangeSegmentRomEnd - (u32)&_firingrangeSegmentRomStart; // u32 index = 0; // s32 i; @@ -1749,7 +1749,7 @@ glabel func0f19e7a8 // s32 j; // u32 len2 = (u32)&_firingrangeSegmentRomEnd - (u32)&_firingrangeSegmentRomStart; // -// var80088808 = true; +// g_FrDataLoaded = true; // // // 7ec // frLoadRomData(len2); @@ -1777,11 +1777,11 @@ glabel func0f19e7a8 // } // // // 8cc -// func0f19de24(); +// frSetTargetProps(); // -// g_FiringRangeData.slot = 0; -// g_FiringRangeData.difficulty = FRDIFFICULTY_BRONZE; -// g_FiringRangeData.donelighting = false; +// g_FrData.slot = 0; +// g_FrData.difficulty = FRDIFFICULTY_BRONZE; +// g_FrData.donelighting = false; // } //} @@ -1795,17 +1795,17 @@ u32 frInitAmmo(s32 weaponnum) scriptindex = frGetWeaponScriptIndex(weaponnum); frExecuteWeaponScript(scriptindex); - if (g_FiringRangeData.ammolimit == 255) { + if (g_FrData.ammolimit == 255) { currentPlayerSetAmmoQuantity(ammotype, capacity); } else { - currentPlayerSetAmmoQuantity(ammotype, g_FiringRangeData.ammolimit); + currentPlayerSetAmmoQuantity(ammotype, g_FrData.ammolimit); } if (weaponnum == WEAPON_SUPERDRAGON) { - if (g_FiringRangeData.sdgrenadelimit == 255) { + if (g_FrData.sdgrenadelimit == 255) { currentPlayerSetAmmoQuantity(AMMOTYPE_DEVASTATOR, capacity); } else { - currentPlayerSetAmmoQuantity(AMMOTYPE_DEVASTATOR, g_FiringRangeData.sdgrenadelimit); + currentPlayerSetAmmoQuantity(AMMOTYPE_DEVASTATOR, g_FrData.sdgrenadelimit); } } @@ -1837,7 +1837,7 @@ void frBeginSession(s32 weapon) char *frGetWeaponDescription(void) { - u32 weapon = frGetWeaponBySlot(g_FiringRangeData.slot); + u32 weapon = frGetWeaponBySlot(g_FrData.slot); switch (weapon) { case WEAPON_FALCON2: return langGet(L_MISC(377)); @@ -1889,7 +1889,7 @@ void frEndSession(bool hidetargets) s16 rooms2[10]; u32 stack2; - if (var80088808) { + if (g_FrDataLoaded) { struct defaultobj *terminal = objFindByTagId(0x7f); if (terminal) { @@ -1990,15 +1990,15 @@ void frEndSession(bool hidetargets) bool frWasTooInaccurate(void) { - f32 sum = (g_FiringRangeData.numhitsring3 + - + g_FiringRangeData.numhitsbullseye - + g_FiringRangeData.numhitsring1 - + g_FiringRangeData.numhitsring2) * 100.0f; + f32 sum = (g_FrData.numhitsring3 + + + g_FrData.numhitsbullseye + + g_FrData.numhitsring1 + + g_FrData.numhitsring2) * 100.0f; - if (g_FiringRangeData.numshots) { - f32 accuracy = sum / g_FiringRangeData.numshots; + if (g_FrData.numshots) { + f32 accuracy = sum / g_FrData.numshots; - if (accuracy < g_FiringRangeData.goalaccuracy) { + if (accuracy < g_FrData.goalaccuracy) { return true; } } @@ -2010,9 +2010,9 @@ void frSetFailReason(s32 failreason) { frEndSession(false); - g_FiringRangeData.failreason = frWasTooInaccurate() ? FRFAILREASON_INACCURATE : failreason; - g_FiringRangeData.menutype = FRMENUTYPE_FAILED; - g_FiringRangeData.menucountdown = 60; + g_FrData.failreason = frWasTooInaccurate() ? FRFAILREASON_INACCURATE : failreason; + g_FrData.menutype = FRMENUTYPE_FAILED; + g_FrData.menucountdown = 60; } void frSetCompleted(void) @@ -2020,27 +2020,27 @@ void frSetCompleted(void) frEndSession(false); if (frWasTooInaccurate()) { - g_FiringRangeData.failreason = FRFAILREASON_INACCURATE; - g_FiringRangeData.menutype = FRMENUTYPE_FAILED; + g_FrData.failreason = FRFAILREASON_INACCURATE; + g_FrData.menutype = FRMENUTYPE_FAILED; } else { - u32 frweaponindex = frGetWeaponIndexByWeapon(frGetWeaponBySlot(g_FiringRangeData.slot)); - frSaveScoreIfBest(frweaponindex, g_FiringRangeData.difficulty + 1); - g_FiringRangeData.menutype = FRMENUTYPE_COMPLETED; + u32 frweaponindex = frGetWeaponIndexByWeapon(frGetWeaponBySlot(g_FrData.slot)); + frSaveScoreIfBest(frweaponindex, g_FrData.difficulty + 1); + g_FrData.menutype = FRMENUTYPE_COMPLETED; } - g_FiringRangeData.menucountdown = 60; + g_FrData.menucountdown = 60; } bool frIsTargetOneHitExplodable(struct prop *prop) { s32 i; - for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { - if (g_FiringRangeData.targets[i].unk00_01 - && g_FiringRangeData.targets[i].destroyed == false - && g_FiringRangeData.targets[i].active - && prop == g_FiringRangeData.targets[i].prop) { - if (g_FiringRangeData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE) { + for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { + if (g_FrData.targets[i].inuse + && g_FrData.targets[i].destroyed == false + && g_FrData.targets[i].active + && prop == g_FrData.targets[i].prop) { + if (g_FrData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE) { return true; } @@ -2051,33 +2051,33 @@ bool frIsTargetOneHitExplodable(struct prop *prop) return false; } -f32 func0f19f294(struct coord *a, f32 argangle, struct coord *b) +f32 frGetTargetAngleToPos(struct coord *targetpos, f32 targetangle, struct coord *pos) { - f32 xdiff = a->x - b->x; - f32 zdiff = a->z - b->z; - f32 calcedangle = func0f096750(xdiff, zdiff); - f32 diffangle = calcedangle - argangle; + f32 xdiff = targetpos->x - pos->x; + f32 zdiff = targetpos->z - pos->z; + f32 directangle = func0f096750(xdiff, zdiff); + f32 relativeangle = directangle - targetangle; - if (calcedangle < argangle) { - diffangle += M_BADTAU; + if (directangle < targetangle) { + relativeangle += M_BADTAU; } - return diffangle; + return relativeangle; } -bool func0f19f2ec(struct prop *prop, struct coord *pos) +bool frIsTargetFacingPos(struct prop *prop, struct coord *pos) { s32 i; - for (i = 0; i < 18; i++) { - if (prop == g_FiringRangeData.targets[i].prop) { + for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { + if (prop == g_FrData.targets[i].prop) { f32 angle; - if (g_FiringRangeData.targets[i].destroyed) { + if (g_FrData.targets[i].destroyed) { return false; } - angle = func0f19f294(&prop->pos, g_FiringRangeData.targets[i].angle, pos); + angle = frGetTargetAngleToPos(&prop->pos, g_FrData.targets[i].angle, pos); //if (angle > DEG2RAD(90) && angle < DEG2RAD(270)) { if (angle > 1.5707963705063f && angle < 4.7116389274597f) { @@ -2114,12 +2114,12 @@ glabel var7f1b94bc /* f19f3cc: afb0002c */ sw $s0,0x2c($sp) /* f19f3d0: f7b40010 */ sdc1 $f20,0x10($sp) /* f19f3d4: 3c017f1c */ lui $at,%hi(var7f1b94bc) -/* f19f3d8: 3c11800b */ lui $s1,%hi(g_FiringRangeData) +/* f19f3d8: 3c11800b */ lui $s1,%hi(g_FrData) /* f19f3dc: 00809825 */ or $s3,$a0,$zero /* f19f3e0: afbf0044 */ sw $ra,0x44($sp) /* f19f3e4: 00009025 */ or $s2,$zero,$zero /* f19f3e8: 0000a825 */ or $s5,$zero,$zero -/* f19f3ec: 2631cd20 */ addiu $s1,$s1,%lo(g_FiringRangeData) +/* f19f3ec: 2631cd20 */ addiu $s1,$s1,%lo(g_FrData) /* f19f3f0: c43494bc */ lwc1 $f20,%lo(var7f1b94bc)($at) /* f19f3f4: 00008025 */ or $s0,$zero,$zero /* f19f3f8: 27b40084 */ addiu $s4,$sp,0x84 @@ -2134,7 +2134,7 @@ glabel var7f1b94bc /* f19f418: 02603025 */ or $a2,$s3,$zero /* f19f41c: 8e240014 */ lw $a0,0x14($s1) /* f19f420: 8e250038 */ lw $a1,0x38($s1) -/* f19f424: 0fc67ca5 */ jal func0f19f294 +/* f19f424: 0fc67ca5 */ jal frGetTargetAngleToPos /* f19f428: 24840008 */ addiu $a0,$a0,0x8 /* f19f42c: 4600a03c */ c.lt.s $f20,$f0 /* f19f430: 00124880 */ sll $t1,$s2,0x2 @@ -2156,8 +2156,8 @@ glabel var7f1b94bc /* f19f464: 2631003c */ addiu $s1,$s1,0x3c /* f19f468: 1a400021 */ blez $s2,.L0f19f4f0 /* f19f46c: 00008025 */ or $s0,$zero,$zero -/* f19f470: 3c04800b */ lui $a0,%hi(g_FiringRangeData) -/* f19f474: 2484cd20 */ addiu $a0,$a0,%lo(g_FiringRangeData) +/* f19f470: 3c04800b */ lui $a0,%hi(g_FrData) +/* f19f474: 2484cd20 */ addiu $a0,$a0,%lo(g_FrData) /* f19f478: 27a30084 */ addiu $v1,$sp,0x84 /* f19f47c: c6700000 */ lwc1 $f16,0x0($s3) /* f19f480: c6720004 */ lwc1 $f18,0x4($s3) @@ -2211,17 +2211,17 @@ glabel var7f1b94bc //struct prop *frChooseAutogunTarget(struct coord *autogunpos) //{ // f32 closestdist = 0x20000000; -// s32 facingtargets[ARRAYCOUNT(g_FiringRangeData.targets)]; +// s32 facingtargets[ARRAYCOUNT(g_FrData.targets)]; // s32 len = 0; // struct prop *closesttarget = NULL; // s32 i; // // // Make list of targets which are facing the laptop gun -// for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { -// if (g_FiringRangeData.targets[i].unk00_01 -// && g_FiringRangeData.targets[i].destroyed == false -// && g_FiringRangeData.targets[i].active) { -// f32 angle = func0f19f294(&g_FiringRangeData.targets[i].prop->pos, g_FiringRangeData.targets[i].angle, autogunpos); +// for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { +// if (g_FrData.targets[i].inuse +// && g_FrData.targets[i].destroyed == false +// && g_FrData.targets[i].active) { +// f32 angle = frGetTargetAngleToPos(&g_FrData.targets[i].prop->pos, g_FrData.targets[i].angle, autogunpos); // // //if (!(angle > BADDEG2RAD(90) && angle < BADDEG2RAD(270))) { // if (!(angle > 1.5707963705063f && angle < 4.7116389274597f)) { @@ -2232,7 +2232,7 @@ glabel var7f1b94bc // // // Determine which of the facing targets is closest // for (i = 0; i < len; i++) { -// struct prop *prop = g_FiringRangeData.targets[facingtargets[i]].prop; +// struct prop *prop = g_FrData.targets[facingtargets[i]].prop; // f32 xdiff = prop->pos.x - autogunpos->x; // f32 ydiff = prop->pos.y - autogunpos->y; // f32 zdiff = prop->pos.z - autogunpos->z; @@ -2249,7 +2249,7 @@ glabel var7f1b94bc bool frIsAmmoWasted(void) { - s32 weaponnum = frGetWeaponBySlot(g_FiringRangeData.slot); + s32 weaponnum = frGetWeaponBySlot(g_FrData.slot); s32 i; s32 priammotype = weaponGetAmmoType(weaponnum, 0); s32 secammotype = weaponGetAmmoType(weaponnum, 1); @@ -2282,8 +2282,8 @@ bool frIsAmmoWasted(void) // Don't do any further checks if this is the first frame where we've // gotten this far. I'm guessing this fixes a frame perfect bug, however // testing with this check removed doesn't cause any unusual behaviour. - if (g_FiringRangeData.ammohasgrace) { - g_FiringRangeData.ammohasgrace = false; + if (g_FrData.ammohasgrace) { + g_FrData.ammohasgrace = false; return false; } @@ -2344,25 +2344,25 @@ bool frIsAmmoWasted(void) || prop->weapon->weaponnum == WEAPON_REMOTEMINE) { return false; } else if (prop->weapon->weaponnum == WEAPON_PROXIMITYMINE) { - if (g_FiringRangeData.proxyendtimer == -255) { + if (g_FrData.proxyendtimer == -255) { return false; } - if (g_FiringRangeData.proxyendtimer == 0) { + if (g_FrData.proxyendtimer == 0) { // Initial state - set the timer to 5 seconds if player is now out of mines ammotype = weaponGetAmmoType(weaponnum, 0); hand = &g_Vars.currentplayer->hands[0]; if (ammoGetQuantity(ammotype) + hand->loadedammo[0] == 0) { - g_FiringRangeData.proxyendtimer = 300; + g_FrData.proxyendtimer = 300; } return false; } - g_FiringRangeData.proxyendtimer -= g_Vars.lvupdate240_60; + g_FrData.proxyendtimer -= g_Vars.lvupdate240_60; - if (g_FiringRangeData.proxyendtimer <= 0) { + if (g_FrData.proxyendtimer <= 0) { // Timer has just hit zero - deactivate (or explode?) all mines for (i = 0; i < ARRAYCOUNT(g_ProxyMines); i++) { if (g_ProxyMines[i]) { @@ -2370,7 +2370,7 @@ bool frIsAmmoWasted(void) } } - g_FiringRangeData.proxyendtimer = -255; + g_FrData.proxyendtimer = -255; return true; } @@ -2430,8 +2430,8 @@ glabel var7f1b94e4 /* f19f9d0: 3c16800a */ lui $s6,%hi(g_Vars) /* f19f9d4: 26d69fc0 */ addiu $s6,$s6,%lo(g_Vars) /* f19f9d8: 8ecf0284 */ lw $t7,0x284($s6) -/* f19f9dc: 3c15800b */ lui $s5,%hi(g_FiringRangeData) -/* f19f9e0: 26b5cd20 */ addiu $s5,$s5,%lo(g_FiringRangeData) +/* f19f9dc: 3c15800b */ lui $s5,%hi(g_FrData) +/* f19f9e0: 26b5cd20 */ addiu $s5,$s5,%lo(g_FrData) /* f19f9e4: 8df81580 */ lw $t8,0x1580($t7) /* f19f9e8: 00184f00 */ sll $t1,$t8,0x1c /* f19f9ec: 0520000b */ bltz $t1,.L0f19fa1c @@ -2447,21 +2447,21 @@ glabel var7f1b94e4 /* f19fa14: 0fc2865b */ jal currentPlayerEquipWeapon /* f19fa18: 00402025 */ or $a0,$v0,$zero .L0f19fa1c: -/* f19fa1c: 3c15800b */ lui $s5,%hi(g_FiringRangeData) -/* f19fa20: 26b5cd20 */ addiu $s5,$s5,%lo(g_FiringRangeData) +/* f19fa1c: 3c15800b */ lui $s5,%hi(g_FrData) +/* f19fa20: 26b5cd20 */ addiu $s5,$s5,%lo(g_FrData) /* f19fa24: 82a30464 */ lb $v1,0x464($s5) /* f19fa28: 3c16800a */ lui $s6,%hi(g_Vars) /* f19fa2c: 26d69fc0 */ addiu $s6,$s6,%lo(g_Vars) /* f19fa30: 5060006e */ beqzl $v1,.L0f19fbec /* f19fa34: 8ec20284 */ lw $v0,0x284($s6) /* f19fa38: 8eca0038 */ lw $t2,0x38($s6) -/* f19fa3c: 3c10800b */ lui $s0,%hi(g_FiringRangeData) -/* f19fa40: 3c11800b */ lui $s1,%hi(g_FiringRangeData+0x438) +/* f19fa3c: 3c10800b */ lui $s0,%hi(g_FrData) +/* f19fa40: 3c11800b */ lui $s1,%hi(g_FrData+0x438) /* f19fa44: 006a5823 */ subu $t3,$v1,$t2 /* f19fa48: a2ab0464 */ sb $t3,0x464($s5) /* f19fa4c: 82a30464 */ lb $v1,0x464($s5) -/* f19fa50: 2631d158 */ addiu $s1,$s1,%lo(g_FiringRangeData+0x438) -/* f19fa54: 2610cd20 */ addiu $s0,$s0,%lo(g_FiringRangeData) +/* f19fa50: 2631d158 */ addiu $s1,$s1,%lo(g_FrData+0x438) +/* f19fa54: 2610cd20 */ addiu $s0,$s0,%lo(g_FrData) /* f19fa58: 1c60000f */ bgtz $v1,.L0f19fa98 /* f19fa5c: 00000000 */ nop /* f19fa60: 92a20465 */ lbu $v0,0x465($s5) @@ -2494,8 +2494,8 @@ glabel var7f1b94e4 .L0f19fac0: /* f19fac0: 5611fff9 */ bnel $s0,$s1,.L0f19faa8 /* f19fac4: 8e040014 */ lw $a0,0x14($s0) -/* f19fac8: 3c02800b */ lui $v0,%hi(g_FiringRangeData+0x465) -/* f19facc: 9042d185 */ lbu $v0,%lo(g_FiringRangeData+0x465)($v0) +/* f19fac8: 3c02800b */ lui $v0,%hi(g_FrData+0x465) +/* f19facc: 9042d185 */ lbu $v0,%lo(g_FrData+0x465)($v0) /* f19fad0: 00027942 */ srl $t7,$v0,0x5 /* f19fad4: 11e0000b */ beqz $t7,.L0f19fb04 /* f19fad8: 00000000 */ nop @@ -2580,10 +2580,10 @@ glabel var7f1b94e4 /* f19fc00: 11c10024 */ beq $t6,$at,.L0f19fc94 /* f19fc04: 00000000 */ nop /* f19fc08: 10600339 */ beqz $v1,.L0f1a08f0 -/* f19fc0c: 3c10800b */ lui $s0,%hi(g_FiringRangeData) -/* f19fc10: 3c11800b */ lui $s1,%hi(g_FiringRangeData+0x438) -/* f19fc14: 2631d158 */ addiu $s1,$s1,%lo(g_FiringRangeData+0x438) -/* f19fc18: 2610cd20 */ addiu $s0,$s0,%lo(g_FiringRangeData) +/* f19fc0c: 3c10800b */ lui $s0,%hi(g_FrData) +/* f19fc10: 3c11800b */ lui $s1,%hi(g_FrData+0x438) +/* f19fc14: 2631d158 */ addiu $s1,$s1,%lo(g_FrData+0x438) +/* f19fc18: 2610cd20 */ addiu $s0,$s0,%lo(g_FrData) /* f19fc1c: 8e020010 */ lw $v0,0x10($s0) .L0f19fc20: /* f19fc20: 00027fc2 */ srl $t7,$v0,0x1f @@ -2627,11 +2627,11 @@ glabel var7f1b94e4 /* f19fcac: 00002025 */ or $a0,$zero,$zero /* f19fcb0: 8ecd0034 */ lw $t5,0x34($s6) .L0f19fcb4: -/* f19fcb4: 3c10800b */ lui $s0,%hi(g_FiringRangeData) -/* f19fcb8: 2610cd20 */ addiu $s0,$s0,%lo(g_FiringRangeData) +/* f19fcb4: 3c10800b */ lui $s0,%hi(g_FrData) +/* f19fcb8: 2610cd20 */ addiu $s0,$s0,%lo(g_FrData) /* f19fcbc: 15a00018 */ bnez $t5,.L0f19fd20 -/* f19fcc0: 3c11800b */ lui $s1,%hi(g_FiringRangeData+0x438) -/* f19fcc4: 2631d158 */ addiu $s1,$s1,%lo(g_FiringRangeData+0x438) +/* f19fcc0: 3c11800b */ lui $s1,%hi(g_FrData+0x438) +/* f19fcc4: 2631d158 */ addiu $s1,$s1,%lo(g_FrData+0x438) /* f19fcc8: 8e020010 */ lw $v0,0x10($s0) .L0f19fccc: /* f19fccc: 000277c2 */ srl $t6,$v0,0x1f @@ -2810,11 +2810,11 @@ glabel var7f1b94e4 /* f19ff38: 3c01bf80 */ lui $at,0xbf80 /* f19ff3c: 4481c000 */ mtc1 $at,$f24 /* f19ff40: 3c017f1c */ lui $at,%hi(var7f1b94c0) -/* f19ff44: 3c10800b */ lui $s0,%hi(g_FiringRangeData) -/* f19ff48: 3c14800b */ lui $s4,%hi(g_FiringRangeData+0x438) +/* f19ff44: 3c10800b */ lui $s0,%hi(g_FrData) +/* f19ff48: 3c14800b */ lui $s4,%hi(g_FrData+0x438) /* f19ff4c: 4480b000 */ mtc1 $zero,$f22 -/* f19ff50: 2694d158 */ addiu $s4,$s4,%lo(g_FiringRangeData+0x438) -/* f19ff54: 2610cd20 */ addiu $s0,$s0,%lo(g_FiringRangeData) +/* f19ff50: 2694d158 */ addiu $s4,$s4,%lo(g_FrData+0x438) +/* f19ff54: 2610cd20 */ addiu $s0,$s0,%lo(g_FrData) /* f19ff58: c43494c0 */ lwc1 $f20,%lo(var7f1b94c0)($at) /* f19ff5c: 8e020010 */ lw $v0,0x10($s0) .L0f19ff60: @@ -3023,8 +3023,8 @@ glabel var7f1b94e4 /* f1a0250: 00003025 */ or $a2,$zero,$zero /* f1a0254: 0fc1a71c */ jal func0f069c70 /* f1a0258: e628000c */ swc1 $f8,0xc($s1) -/* f1a025c: 3c03800b */ lui $v1,%hi(g_FiringRangeData) -/* f1a0260: 2463cd20 */ addiu $v1,$v1,%lo(g_FiringRangeData) +/* f1a025c: 3c03800b */ lui $v1,%hi(g_FrData) +/* f1a0260: 2463cd20 */ addiu $v1,$v1,%lo(g_FrData) /* f1a0264: 8c620010 */ lw $v0,0x10($v1) .L0f1a0268: /* f1a0268: 00025080 */ sll $t2,$v0,0x2 @@ -3051,8 +3051,8 @@ glabel var7f1b94e4 /* f1a02b4: 5474ffec */ bnel $v1,$s4,.L0f1a0268 /* f1a02b8: 8c620010 */ lw $v0,0x10($v1) .L0f1a02bc: -/* f1a02bc: 3c0b800b */ lui $t3,%hi(g_FiringRangeData+0x438) -/* f1a02c0: 256bd158 */ addiu $t3,$t3,%lo(g_FiringRangeData+0x438) +/* f1a02bc: 3c0b800b */ lui $t3,%hi(g_FrData+0x438) +/* f1a02c0: 256bd158 */ addiu $t3,$t3,%lo(g_FrData+0x438) /* f1a02c4: 2610003c */ addiu $s0,$s0,0x3c /* f1a02c8: 020b082b */ sltu $at,$s0,$t3 /* f1a02cc: 5420ff24 */ bnezl $at,.L0f19ff60 @@ -3128,10 +3128,10 @@ glabel var7f1b94e4 /* f1a03c8: 1000014a */ b .L0f1a08f4 /* f1a03cc: 8fbf007c */ lw $ra,0x7c($sp) .L0f1a03d0: -/* f1a03d0: 3c10800b */ lui $s0,%hi(g_FiringRangeData) +/* f1a03d0: 3c10800b */ lui $s0,%hi(g_FrData) /* f1a03d4: 3c017f1c */ lui $at,%hi(var7f1b94d0) /* f1a03d8: c43494d0 */ lwc1 $f20,%lo(var7f1b94d0)($at) -/* f1a03dc: 2610cd20 */ addiu $s0,$s0,%lo(g_FiringRangeData) +/* f1a03dc: 2610cd20 */ addiu $s0,$s0,%lo(g_FrData) /* f1a03e0: 27b50098 */ addiu $s5,$sp,0x98 /* f1a03e4: 27b400bc */ addiu $s4,$sp,0xbc .L0f1a03e8: @@ -3531,34 +3531,34 @@ glabel var7f1b94e4 // // 9c8 // if (g_FrIsValidWeapon // && g_Vars.currentplayer->unk1583_04 == 0 -// && currentPlayerCanHaveWeapon(frGetWeaponBySlot(g_FiringRangeData.slot))) { +// && currentPlayerCanHaveWeapon(frGetWeaponBySlot(g_FrData.slot))) { // // a0c -// currentPlayerEquipWeapon(frGetWeaponBySlot(g_FiringRangeData.slot)); +// currentPlayerEquipWeapon(frGetWeaponBySlot(g_FrData.slot)); // } // // // a1c // // Handle the menu countdown -// if (g_FiringRangeData.menucountdown != 0) { -// g_FiringRangeData.menucountdown -= g_Vars.lvupdate240_60; +// if (g_FrData.menucountdown != 0) { +// g_FrData.menucountdown -= g_Vars.lvupdate240_60; // // // Prevent showing the menu until gun is put away -// if (g_FiringRangeData.menucountdown <= 0) { -// if ((g_FiringRangeData.menutype == FRMENUTYPE_FAILED || g_FiringRangeData.menutype == FRMENUTYPE_COMPLETED) +// if (g_FrData.menucountdown <= 0) { +// if ((g_FrData.menutype == FRMENUTYPE_FAILED || g_FrData.menutype == FRMENUTYPE_COMPLETED) // && g_Vars.currentplayer->hands[0].weaponnum != WEAPON_UNARMED) { -// g_FiringRangeData.menucountdown = 1; +// g_FrData.menucountdown = 1; // } // } // -// if (g_FiringRangeData.menucountdown <= 0) { -// g_FiringRangeData.menucountdown = 0; +// if (g_FrData.menucountdown <= 0) { +// g_FrData.menucountdown = 0; // -// for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { -// if (g_FiringRangeData.targets[i].prop) { -// func0f0926bc(g_FiringRangeData.targets[i].prop, 1, 0xffff); +// for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { +// if (g_FrData.targets[i].prop) { +// func0f0926bc(g_FrData.targets[i].prop, 1, 0xffff); // } // } // -// switch (g_FiringRangeData.menutype) { +// switch (g_FrData.menutype) { // case FRMENUTYPE_WEAPONLIST: // func0f0f85e0(ciGetFrWeaponListMenuDialog(), MENUROOT_TRAINING); // break; @@ -3583,13 +3583,13 @@ glabel var7f1b94e4 // // End the session if the player slipped through the door before it closed // if (g_Vars.currentplayer->prop->rooms[0] != CIROOM_FIRINGRANGE) { // if (g_FrIsValidWeapon) { -// for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { -// if (g_FiringRangeData.targets[i].unk00_01 -// && g_FiringRangeData.targets[i].destroyed == false -// && g_FiringRangeData.targets[i].unk31 == 0 -// && g_FiringRangeData.targets[i].travelling) { -// g_FiringRangeData.targets[i].unk31 = 1; -// func0f0926bc(g_FiringRangeData.targets[i].prop, 1, 0xffff); +// for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { +// if (g_FrData.targets[i].inuse +// && g_FrData.targets[i].destroyed == false +// && g_FrData.targets[i].silent == false +// && g_FrData.targets[i].travelling) { +// g_FrData.targets[i].silent = true; +// func0f0926bc(g_FrData.targets[i].prop, 1, 0xffff); // } // } // @@ -3611,13 +3611,13 @@ glabel var7f1b94e4 // // // If paused, stop any target sounds // if (g_Vars.lvupdate240 == 0) { -// for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { -// if (g_FiringRangeData.targets[i].unk00_01 -// && g_FiringRangeData.targets[i].destroyed == false -// && g_FiringRangeData.targets[i].unk31 == 0 -// && g_FiringRangeData.targets[i].travelling) { -// g_FiringRangeData.targets[i].unk31 = 1; -// func0f0926bc(g_FiringRangeData.targets[i].prop, 1, 0xffff); +// for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { +// if (g_FrData.targets[i].inuse +// && g_FrData.targets[i].destroyed == false +// && g_FrData.targets[i].silent == false +// && g_FrData.targets[i].travelling) { +// g_FrData.targets[i].silent = true; +// func0f0926bc(g_FrData.targets[i].prop, 1, 0xffff); // } // } // return; @@ -3629,26 +3629,26 @@ glabel var7f1b94e4 // // d34 // // Top up the player's ammo if the config defined more ammo than the // // weapon allows, or if it defined unlimited ammo -// if (g_FiringRangeData.numshotssincetopup != 0) { +// if (g_FrData.numshotssincetopup != 0) { // u32 tmp; -// weaponnum = frGetWeaponBySlot(g_FiringRangeData.slot); +// weaponnum = frGetWeaponBySlot(g_FrData.slot); // ammotype = weaponGetAmmoType(weaponnum, 0); // capacity = ammotypeGetMaxCapacity(ammotype); // ammo = weaponGetAmmoByFunction(weaponnum, 0); // capacity -= (ammo ? ammo->clipsize : 0); // // // d8c -// if (g_FiringRangeData.ammoextra > 0) { +// if (g_FrData.ammoextra > 0) { // tmp = ammoGetQuantity(ammotype); -// g_FiringRangeData.ammoextra -= g_FiringRangeData.numshotssincetopup; +// g_FrData.ammoextra -= g_FrData.numshotssincetopup; // -// if (g_FiringRangeData.ammoextra < 0) { -// g_FiringRangeData.ammoextra = 0; +// if (g_FrData.ammoextra < 0) { +// g_FrData.ammoextra = 0; // } // -// capacity = tmp + g_FiringRangeData.numshotssincetopup; +// capacity = tmp + g_FrData.numshotssincetopup; // currentPlayerSetAmmoQuantity(ammotype, capacity); -// } else /*dd4*/ if (g_FiringRangeData.ammoextra == -1) { +// } else /*dd4*/ if (g_FrData.ammoextra == -1) { // currentPlayerSetAmmoQuantity(ammotype, capacity); // } // @@ -3657,37 +3657,37 @@ glabel var7f1b94e4 // capacity = ammotypeGetMaxCapacity(AMMOTYPE_DEVASTATOR); // // // e04 -// if (g_FiringRangeData.sdgrenadeextra > 0) { +// if (g_FrData.sdgrenadeextra > 0) { // tmp = ammoGetQuantity(AMMOTYPE_DEVASTATOR); -// g_FiringRangeData.sdgrenadeextra -= g_FiringRangeData.numshotssincetopup; +// g_FrData.sdgrenadeextra -= g_FrData.numshotssincetopup; // -// if (g_FiringRangeData.sdgrenadeextra < 0) { -// g_FiringRangeData.sdgrenadeextra = 0; +// if (g_FrData.sdgrenadeextra < 0) { +// g_FrData.sdgrenadeextra = 0; // } // -// capacity = tmp + g_FiringRangeData.numshotssincetopup; +// capacity = tmp + g_FrData.numshotssincetopup; // currentPlayerSetAmmoQuantity(AMMOTYPE_DEVASTATOR, capacity); -// } else /*e4c*/ if (g_FiringRangeData.sdgrenadeextra == -1) { +// } else /*e4c*/ if (g_FrData.sdgrenadeextra == -1) { // currentPlayerSetAmmoQuantity(AMMOTYPE_DEVASTATOR, capacity); // } // } // // // e60 -// g_FiringRangeData.numshotssincetopup = 0; +// g_FrData.numshotssincetopup = 0; // } // -// g_FiringRangeData.timetaken += g_Vars.lvupdate240_60; +// g_FrData.timetaken += g_Vars.lvupdate240_60; // // // e6c // // Handle prestart -// if (g_FiringRangeData.timetaken < 0) { -// if (g_FiringRangeData.numshots == 0) { -// if (g_FiringRangeData.donealarm == false && g_FiringRangeData.timetaken > -180) { -// g_FiringRangeData.donealarm = true; +// if (g_FrData.timetaken < 0) { +// if (g_FrData.numshots == 0) { +// if (g_FrData.donealarm == false && g_FrData.timetaken > -180) { +// g_FrData.donealarm = true; // audioStart(var80095200, 0x5d4, NULL, -1, -1, -1, -1, -1); // } // -// if (!g_FiringRangeData.donelighting && g_FiringRangeData.timetaken > -225) { +// if (!g_FrData.donelighting && g_FrData.timetaken > -225) { // frInitLighting(); // } // @@ -3695,24 +3695,24 @@ glabel var7f1b94e4 // } // // // Fired a shot during prestart -// if (!g_FiringRangeData.donelighting) { +// if (!g_FrData.donelighting) { // frInitLighting(); // } // -// g_FiringRangeData.timetaken = 0; -// g_FiringRangeData.donealarm = true; +// g_FrData.timetaken = 0; +// g_FrData.donealarm = true; // } // // // f38 -// for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { -// if (g_FiringRangeData.targets[i].unk00_01 -// && g_FiringRangeData.targets[i].destroyed == false -// && g_FiringRangeData.targets[i].active) { +// for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { +// if (g_FrData.targets[i].inuse +// && g_FrData.targets[i].destroyed == false +// && g_FrData.targets[i].active) { // // f7c // invincible = false; // exploding = false; -// weaponnum2 = frGetWeaponBySlot(g_FiringRangeData.slot); -// prop = g_FiringRangeData.targets[i].prop; +// weaponnum2 = frGetWeaponBySlot(g_FrData.slot); +// prop = g_FrData.targets[i].prop; // obj = prop->obj; // // // f94 @@ -3724,50 +3724,50 @@ glabel var7f1b94e4 // } // // // fb0 -// if (g_FiringRangeData.targets[i].travelling -// && g_FiringRangeData.targets[i].unk31 -// && g_FiringRangeData.targets[i].travelspeed != -1) { -// g_FiringRangeData.targets[i].unk31 = 0; -// func0f0939f8(NULL, g_FiringRangeData.targets[i].prop, 0x5d9, -1, +// if (g_FrData.targets[i].travelling +// && g_FrData.targets[i].silent +// && g_FrData.targets[i].travelspeed != -1) { +// g_FrData.targets[i].silent = false; +// func0f0939f8(NULL, g_FrData.targets[i].prop, 0x5d9, -1, // -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); // } // // // 028 -// if (g_FiringRangeData.targets[i].angle > 2.2915925979614f -// && g_FiringRangeData.targets[i].angle < 3.9915928840637f) { +// if (g_FrData.targets[i].angle > 2.2915925979614f +// && g_FrData.targets[i].angle < 3.9915928840637f) { // obj->damage = 0; // } // // // 058 -// if (g_FiringRangeData.targets[i].flags & FRTARGETFLAG_TMPINVINCIBLE -// && g_FiringRangeData.targets[i].invincibletimer < 300) { +// if (g_FrData.targets[i].flags & FRTARGETFLAG_TMPINVINCIBLE +// && g_FrData.targets[i].invincibletimer < 300) { // invincible = true; -// g_FiringRangeData.targets[i].invincibletimer += g_Vars.lvupdate240_60; +// g_FrData.targets[i].invincibletimer += g_Vars.lvupdate240_60; // } // // // 088 // if (obj->damage > 0) { // // 090 -// if (invincible || g_FiringRangeData.targets[i].angle == M_PI) { +// if (invincible || g_FrData.targets[i].angle == M_PI) { // obj->damage = 0; -// } else /*0bc*/ if (g_FiringRangeData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE +// } else /*0bc*/ if (g_FrData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE // || obj->damage >= obj->maxdamage -// || frGetWeaponBySlot(g_FiringRangeData.slot) == WEAPON_PHOENIX) { -// g_FiringRangeData.numhitsbullseye++; -// g_FiringRangeData.score += 10; +// || frGetWeaponBySlot(g_FrData.slot) == WEAPON_PHOENIX) { +// g_FrData.numhitsbullseye++; +// g_FrData.score += 10; // exploding = true; -// g_FiringRangeData.feedbackttl = 60; -// g_FiringRangeData.feedbackzone = FRZONE_EXPLODE; +// g_FrData.feedbackttl = 60; +// g_FrData.feedbackzone = FRZONE_EXPLODE; // } // } // // // 11c // // Handle target being destroyed -// if (exploding || (g_FiringRangeData.targets[i].maxdamage != 255 && g_FiringRangeData.targets[i].damage >= g_FiringRangeData.targets[i].maxdamage)) { +// if (exploding || (g_FrData.targets[i].maxdamage != 255 && g_FrData.targets[i].damage >= g_FrData.targets[i].maxdamage)) { // // 150 // model08thing = func0f068af4(obj); // -// if (g_FrNumSounds && g_FiringRangeData.targets[i].travelling) { +// if (g_FrNumSounds && g_FrData.targets[i].travelling) { // g_FrNumSounds--; // func0f0926bc(prop, 1, 0xffff); // } @@ -3777,16 +3777,16 @@ glabel var7f1b94e4 // model08thing->unk04[0], model08thing->unk04[1], model08thing->unk04[2], // model08thing->unk04[3], 2, prop); // -// g_FiringRangeData.targetsdestroyed++; +// g_FrData.targetsdestroyed++; // -// if (g_FiringRangeData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE) { -// explosionCreateSimple(g_FiringRangeData.targets[i].prop, &g_FiringRangeData.targets[i].prop->pos, g_FiringRangeData.targets[i].prop->rooms, EXPLOSIONTYPE_5, 1); +// if (g_FrData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE) { +// explosionCreateSimple(g_FrData.targets[i].prop, &g_FrData.targets[i].prop->pos, g_FrData.targets[i].prop->rooms, EXPLOSIONTYPE_5, 1); // } // // // 210 -// g_FiringRangeData.targets[i].travelling = false; -// g_FiringRangeData.targets[i].active = false; -// g_FiringRangeData.targets[i].destroyed = true; +// g_FrData.targets[i].travelling = false; +// g_FrData.targets[i].active = false; +// g_FrData.targets[i].destroyed = true; // // obj->flags2 |= OBJFLAG2_INVISIBLE; // @@ -3798,12 +3798,12 @@ glabel var7f1b94e4 // // // 25c // // Activate another target -// for (j = 0; j < ARRAYCOUNT(g_FiringRangeData.targets); j++) { -// if (g_FiringRangeData.targets[j].destroyed == false -// && g_FiringRangeData.targets[j].unk00_01 -// && g_FiringRangeData.targets[j].active == false) { -// obj2 = g_FiringRangeData.targets[j].prop->obj; -// g_FiringRangeData.targets[j].active = true; +// for (j = 0; j < ARRAYCOUNT(g_FrData.targets); j++) { +// if (g_FrData.targets[j].destroyed == false +// && g_FrData.targets[j].inuse +// && g_FrData.targets[j].active == false) { +// obj2 = g_FrData.targets[j].prop->obj; +// g_FrData.targets[j].active = true; // obj2->flags2 &= ~OBJFLAG2_INVISIBLE; // break; // } @@ -3815,19 +3815,19 @@ glabel var7f1b94e4 // } // // // 2dc -// if (g_FiringRangeData.goaltargets == 255) { -// if (g_FiringRangeData.goalscore && g_FiringRangeData.score >= g_FiringRangeData.goalscore) { +// if (g_FrData.goaltargets == 255) { +// if (g_FrData.goalscore && g_FrData.score >= g_FrData.goalscore) { // frSetCompleted(); // return; // } -// } else if (g_FiringRangeData.targetsdestroyed >= g_FiringRangeData.goaltargets -// && (g_FiringRangeData.goalscore == 0 || g_FiringRangeData.score >= g_FiringRangeData.goalscore)) { +// } else if (g_FrData.targetsdestroyed >= g_FrData.goaltargets +// && (g_FrData.goalscore == 0 || g_FrData.score >= g_FrData.goalscore)) { // frSetCompleted(); // return; // } // // // 354 -// if (g_FiringRangeData.targetsdestroyed >= g_FiringRangeData.numtargets) { +// if (g_FrData.targetsdestroyed >= g_FrData.numtargets) { // frSetFailReason(FRFAILREASON_SCOREUNATTAINABLE); // return; // } @@ -3839,35 +3839,35 @@ glabel var7f1b94e4 // } // // // 398 -// if (g_FiringRangeData.timelimit != 255 -// && g_FiringRangeData.timetaken >= SECSTOFRAMES60(g_FiringRangeData.timelimit)) { +// if (g_FrData.timelimit != 255 +// && g_FrData.timetaken >= SECSTOFRAMES60(g_FrData.timelimit)) { // frSetFailReason(FRFAILREASON_TIMEOVER); // return; // } // // // 3d0 // // Iterate targets and handle travelling, rotation and script execution -// for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { -// if (g_FiringRangeData.targets[i].unk00_01 -// && g_FiringRangeData.targets[i].destroyed == false -// && g_FiringRangeData.targets[i].active) { -// prop = g_FiringRangeData.targets[i].prop; +// for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { +// if (g_FrData.targets[i].inuse +// && g_FrData.targets[i].destroyed == false +// && g_FrData.targets[i].active) { +// prop = g_FrData.targets[i].prop; // obj = prop->obj; // // // 410 -// if (g_FiringRangeData.targets[i].travelling) { +// if (g_FrData.targets[i].travelling) { // // 430 -// if (g_FiringRangeData.targets[i].travelspeed == -1) { -// g_FiringRangeData.targets[i].unk32 = 1; -// g_FiringRangeData.targets[i].travelling = false; +// if (g_FrData.targets[i].travelspeed == -1) { +// g_FrData.targets[i].donestopsound = true; +// g_FrData.targets[i].travelling = false; // mult = 1; // dist = -2; // } else { // // 448 // f32 sum = 0; -// diff.x = g_FiringRangeData.targets[i].dstpos.x - prop->pos.x; -// diff.y = g_FiringRangeData.targets[i].dstpos.y - prop->pos.y; -// diff.z = g_FiringRangeData.targets[i].dstpos.z - prop->pos.z; +// diff.x = g_FrData.targets[i].dstpos.x - prop->pos.x; +// diff.y = g_FrData.targets[i].dstpos.y - prop->pos.y; +// diff.z = g_FrData.targets[i].dstpos.z - prop->pos.z; // sum = sum + diff.x * diff.x; // sum = sum + diff.y * diff.y; // sum = sum + diff.z * diff.z; @@ -3877,7 +3877,7 @@ glabel var7f1b94e4 // // // 4b0 // if (dist != 0) { -// mult = (g_FiringRangeData.targets[i].travelspeed * g_Vars.lvupdate240) * 0.25f; +// mult = (g_FrData.targets[i].travelspeed * g_Vars.lvupdate240) * 0.25f; // diff.x *= 1.0f / dist; // diff.y *= 1.0f / dist; // diff.z *= 1.0f / dist; @@ -3892,16 +3892,16 @@ glabel var7f1b94e4 // // 550 // if (mult >= dist) { // // Stopping -// newpos.x = g_FiringRangeData.targets[i].dstpos.x; -// newpos.y = g_FiringRangeData.targets[i].dstpos.y; -// newpos.z = g_FiringRangeData.targets[i].dstpos.z; +// newpos.x = g_FrData.targets[i].dstpos.x; +// newpos.y = g_FrData.targets[i].dstpos.y; +// newpos.z = g_FrData.targets[i].dstpos.z; // -// g_FiringRangeData.targets[i].scriptenabled = true; -// g_FiringRangeData.targets[i].travelling = false; +// g_FrData.targets[i].scriptenabled = true; +// g_FrData.targets[i].travelling = false; // -// if (g_FiringRangeData.targets[i].unk32 == false) { +// if (g_FrData.targets[i].donestopsound == false) { // // 590 -// g_FiringRangeData.targets[i].unk32 = true; +// g_FrData.targets[i].donestopsound = true; // // if (g_FrNumSounds) { // g_FrNumSounds--; @@ -3922,96 +3922,96 @@ glabel var7f1b94e4 // } // // // 63c -// if (g_FiringRangeData.targets[i].rotateoncloak -// && g_FiringRangeData.targets[i].rotating == false) { +// if (g_FrData.targets[i].rotateoncloak +// && g_FrData.targets[i].rotating == false) { // // 650 -// if (g_FiringRangeData.targets[i].timeuntilrotate == 0) { +// if (g_FrData.targets[i].timeuntilrotate == 0) { // struct chrdata *chr = g_Vars.currentplayer->prop->chr; // bool cloaked = chr->hidden & CHRHFLAG_CLOAKED; // // // 670 // if (cloaked) { // // 690 -// if (g_FiringRangeData.targets[i].angle == M_PI) { -// g_FiringRangeData.targets[i].timeuntilrotate = 60; -// g_FiringRangeData.targets[i].rotatetoangle = 0; -// g_FiringRangeData.targets[i].rotatespeed = -M_PI / 90; +// if (g_FrData.targets[i].angle == M_PI) { +// g_FrData.targets[i].timeuntilrotate = 60; +// g_FrData.targets[i].rotatetoangle = 0; +// g_FrData.targets[i].rotatespeed = -M_PI / 90; // } // } else { // // 6ac -// if (g_FiringRangeData.targets[i].angle == 0) { -// g_FiringRangeData.targets[i].timeuntilrotate = 60; -// g_FiringRangeData.targets[i].rotatetoangle = M_PI; -// g_FiringRangeData.targets[i].rotatespeed = M_PI / 90; +// if (g_FrData.targets[i].angle == 0) { +// g_FrData.targets[i].timeuntilrotate = 60; +// g_FrData.targets[i].rotatetoangle = M_PI; +// g_FrData.targets[i].rotatespeed = M_PI / 90; // } // } // } else { // // 6e4 -// g_FiringRangeData.targets[i].timeuntilrotate -= g_Vars.lvupdate240_60; +// g_FrData.targets[i].timeuntilrotate -= g_Vars.lvupdate240_60; // -// if (g_FiringRangeData.targets[i].timeuntilrotate <= 0) { -// g_FiringRangeData.targets[i].timeuntilrotate = 0; -// g_FiringRangeData.targets[i].rotating = true; +// if (g_FrData.targets[i].timeuntilrotate <= 0) { +// g_FrData.targets[i].timeuntilrotate = 0; +// g_FrData.targets[i].rotating = true; // } // } -// } else /*70c*/ if (g_FiringRangeData.targets[i].rotating) { -// f32 speed = g_FiringRangeData.targets[i].rotatespeed; -// f32 toangle = g_FiringRangeData.targets[i].rotatetoangle; +// } else /*70c*/ if (g_FrData.targets[i].rotating) { +// f32 speed = g_FrData.targets[i].rotatespeed; +// f32 toangle = g_FrData.targets[i].rotatetoangle; // oldside = 0; // // // 730 -// if (g_FiringRangeData.targets[i].angle < toangle) { +// if (g_FrData.targets[i].angle < toangle) { // oldside = 1; // } // // oldside = (u8)oldside; // // // 73c -// g_FiringRangeData.targets[i].angle += (speed * g_Vars.lvupdate240) * 0.25f; +// g_FrData.targets[i].angle += (speed * g_Vars.lvupdate240) * 0.25f; // // newside = 0; // // // 778 -// if (g_FiringRangeData.targets[i].angle < toangle) { +// if (g_FrData.targets[i].angle < toangle) { // newside = 1; // } // // newside = (u8)newside; // // // 78c -// if (newside != oldside || g_FiringRangeData.targets[i].angle == toangle) { +// if (newside != oldside || g_FrData.targets[i].angle == toangle) { // // 7b0 // // Reached desired angle -// g_FiringRangeData.targets[i].angle = toangle; -// g_FiringRangeData.targets[i].rotating = false; -// g_FiringRangeData.targets[i].scriptenabled = true; -// g_FiringRangeData.targets[i].scriptsleep = 0; +// g_FrData.targets[i].angle = toangle; +// g_FrData.targets[i].rotating = false; +// g_FrData.targets[i].scriptenabled = true; +// g_FrData.targets[i].scriptsleep = 0; // -// while (g_FiringRangeData.targets[i].angle > M_TAU) { -// g_FiringRangeData.targets[i].angle -= M_TAU; +// while (g_FrData.targets[i].angle > M_TAU) { +// g_FrData.targets[i].angle -= M_TAU; // } // -// while (g_FiringRangeData.targets[i].angle < 0) { -// g_FiringRangeData.targets[i].angle += M_TAU; +// while (g_FrData.targets[i].angle < 0) { +// g_FrData.targets[i].angle += M_TAU; // } // } // // // 81c -// func00016374(g_FiringRangeData.targets[i].angle + M_PI, s4); +// func00016374(g_FrData.targets[i].angle + M_PI, s4); // func00015f04(obj->model->unk14, s4); // func00015da0(s4, s5); // func00015cd8(s5, obj->realrot); // } // // // 854 -// if (g_FiringRangeData.targets[i].scriptenabled -// && g_FiringRangeData.targets[i].scriptsleep != SECSTOFRAMES60(255)) { +// if (g_FrData.targets[i].scriptenabled +// && g_FrData.targets[i].scriptsleep != SECSTOFRAMES60(255)) { // // 874 -// g_FiringRangeData.targets[i].scriptsleep -= g_Vars.lvupdate240_60; +// g_FrData.targets[i].scriptsleep -= g_Vars.lvupdate240_60; // // // 87c -// if (g_FiringRangeData.targets[i].scriptsleep <= 0) { -// g_FiringRangeData.targets[i].scriptenabled = false; +// if (g_FrData.targets[i].scriptsleep <= 0) { +// g_FrData.targets[i].scriptenabled = false; // // while (!frExecuteTargetScript(i)); // @@ -4087,13 +4087,13 @@ glabel frChooseFarsightTarget /* f1a0ac4: 00002025 */ or $a0,$zero,$zero /* f1a0ac8: 24010016 */ addiu $at,$zero,0x16 /* f1a0acc: 14410042 */ bne $v0,$at,.L0f1a0bd8 -/* f1a0ad0: 3c11800b */ lui $s1,%hi(g_FiringRangeData) -/* f1a0ad4: 3c13800b */ lui $s3,%hi(g_FiringRangeData+0x438) +/* f1a0ad0: 3c11800b */ lui $s1,%hi(g_FrData) +/* f1a0ad4: 3c13800b */ lui $s3,%hi(g_FrData+0x438) /* f1a0ad8: 3c12800a */ lui $s2,%hi(g_Vars) /* f1a0adc: 4480d000 */ mtc1 $zero,$f26 /* f1a0ae0: 26529fc0 */ addiu $s2,$s2,%lo(g_Vars) -/* f1a0ae4: 2673d158 */ addiu $s3,$s3,%lo(g_FiringRangeData+0x438) -/* f1a0ae8: 2631cd20 */ addiu $s1,$s1,%lo(g_FiringRangeData) +/* f1a0ae4: 2673d158 */ addiu $s3,$s3,%lo(g_FrData+0x438) +/* f1a0ae8: 2631cd20 */ addiu $s1,$s1,%lo(g_FrData) /* f1a0aec: 8e220010 */ lw $v0,0x10($s1) .L0f1a0af0: /* f1a0af0: 000277c2 */ srl $t6,$v0,0x1f @@ -4193,12 +4193,12 @@ glabel frChooseFarsightTarget // s32 i; // // if (getCurrentPlayerWeaponId(0) == WEAPON_FARSIGHTXR20) { -// for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { -// if (g_FiringRangeData.targets[i].unk00_01 -// && g_FiringRangeData.targets[i].destroyed == false -// && g_FiringRangeData.targets[i].active -// && g_FiringRangeData.targets[i].flags & FRTARGETFLAG_FARSIGHTAUTOTARGETABLE) { -// struct prop *prop = g_FiringRangeData.targets[i].prop; +// for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { +// if (g_FrData.targets[i].inuse +// && g_FrData.targets[i].destroyed == false +// && g_FrData.targets[i].active +// && g_FrData.targets[i].flags & FRTARGETFLAG_FARSIGHTAUTOTARGETABLE) { +// struct prop *prop = g_FrData.targets[i].prop; // f32 xdiff = g_Vars.currentplayer->bond2.unk10.x - prop->pos.x; // f32 ydiff = g_Vars.currentplayer->bond2.unk10.y - prop->pos.y; // f32 zdiff = g_Vars.currentplayer->bond2.unk10.z - prop->pos.z; @@ -4229,8 +4229,8 @@ glabel frChooseFarsightTarget s32 frIsInTraining(void) { - if (g_FiringRangeData.menucountdown > 0 && - (g_FiringRangeData.menutype == FRMENUTYPE_FAILED || g_FiringRangeData.menutype == FRMENUTYPE_COMPLETED)) { + if (g_FrData.menucountdown > 0 && + (g_FrData.menutype == FRMENUTYPE_FAILED || g_FrData.menutype == FRMENUTYPE_COMPLETED)) { return true; } @@ -4247,8 +4247,8 @@ void frCalculateHit(struct defaultobj *obj, struct coord *hitpos, f32 maulerchar return; } - for (i = 0; i < ARRAYCOUNT(g_FiringRangeData.targets); i++) { - struct prop *prop = g_FiringRangeData.targets[i].prop; + for (i = 0; i < ARRAYCOUNT(g_FrData.targets); i++) { + struct prop *prop = g_FrData.targets[i].prop; if (obj == prop->obj) { f32 xdiff = hitpos->x - prop->pos.x; @@ -4257,39 +4257,39 @@ void frCalculateHit(struct defaultobj *obj, struct coord *hitpos, f32 maulerchar f32 dist = sqrtf(xdiff * xdiff + ydiff * ydiff + zdiff * zdiff); - if (g_FiringRangeData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE) { - g_FiringRangeData.targets[i].damage = g_FiringRangeData.targets[i].maxdamage; - } else if (frGetWeaponBySlot(g_FiringRangeData.slot) == WEAPON_MAULER) { - g_FiringRangeData.targets[i].damage += (f32)((s32)(maulercharge * 0.1f) + 1); - } else if ((g_FiringRangeData.targets[i].flags & FRTARGETFLAG_TMPINVINCIBLE) == 0 - || g_FiringRangeData.targets[i].invincibletimer >= 300) { - g_FiringRangeData.targets[i].damage++; + if (g_FrData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE) { + g_FrData.targets[i].damage = g_FrData.targets[i].maxdamage; + } else if (frGetWeaponBySlot(g_FrData.slot) == WEAPON_MAULER) { + g_FrData.targets[i].damage += (f32)((s32)(maulercharge * 0.1f) + 1); + } else if ((g_FrData.targets[i].flags & FRTARGETFLAG_TMPINVINCIBLE) == 0 + || g_FrData.targets[i].invincibletimer >= 300) { + g_FrData.targets[i].damage++; } if (dist < 18) { - g_FiringRangeData.feedbackzone = FRZONE_BULLSEYE; - g_FiringRangeData.numhitsbullseye++; + g_FrData.feedbackzone = FRZONE_BULLSEYE; + g_FrData.numhitsbullseye++; } else if (dist < 37) { - g_FiringRangeData.feedbackzone = FRZONE_RING1; - g_FiringRangeData.numhitsring1++; + g_FrData.feedbackzone = FRZONE_RING1; + g_FrData.numhitsring1++; } else if (dist < 56) { - g_FiringRangeData.feedbackzone = FRZONE_RING2; - g_FiringRangeData.numhitsring2++; + g_FrData.feedbackzone = FRZONE_RING2; + g_FrData.numhitsring2++; } else { - g_FiringRangeData.feedbackzone = FRZONE_RING3; - g_FiringRangeData.numhitsring3++; + g_FrData.feedbackzone = FRZONE_RING3; + g_FrData.numhitsring3++; } - g_FiringRangeData.feedbackttl = 60; - g_FiringRangeData.score += g_FiringRangeData.feedbackzone; + g_FrData.feedbackttl = 60; + g_FrData.score += g_FrData.feedbackzone; } } } -void func0f1a0fc8(void) +void frIncrementNumShots(void) { - g_FiringRangeData.numshots++; - g_FiringRangeData.numshotssincetopup++; + g_FrData.numshots++; + g_FrData.numshotssincetopup++; } bool ciIsChrBioUnlocked(u32 bodynum) @@ -4299,19 +4299,19 @@ bool ciIsChrBioUnlocked(u32 bodynum) case BODY_CARRINGTON: return true; case BODY_CASSANDRA: - return stageIsComplete(SOLOSTAGEINDEX_DEFECTION); + return ciIsStageComplete(SOLOSTAGEINDEX_DEFECTION); case BODY_DRCAROLL: - return stageIsComplete(SOLOSTAGEINDEX_INVESTIGATION); + return ciIsStageComplete(SOLOSTAGEINDEX_INVESTIGATION); case BODY_MRBLONDE: - return stageIsComplete(SOLOSTAGEINDEX_EXTRACTION); + return ciIsStageComplete(SOLOSTAGEINDEX_EXTRACTION); case BODY_TRENT: - return stageIsComplete(SOLOSTAGEINDEX_G5BUILDING); + return ciIsStageComplete(SOLOSTAGEINDEX_G5BUILDING); case BODY_JONATHAN: - return stageIsComplete(SOLOSTAGEINDEX_INFILTRATION); + return ciIsStageComplete(SOLOSTAGEINDEX_INFILTRATION); case BODY_THEKING: - return stageIsComplete(SOLOSTAGEINDEX_RESCUE); + return ciIsStageComplete(SOLOSTAGEINDEX_RESCUE); case BODY_PRESIDENT: - return stageIsComplete(SOLOSTAGEINDEX_AIRFORCEONE); + return ciIsStageComplete(SOLOSTAGEINDEX_AIRFORCEONE); } return false; @@ -4351,7 +4351,7 @@ struct chrbio *ciGetChrBioByBodynum(u32 bodynum) case BODY_THEKING: return &bios[6]; case BODY_MRBLONDE: - if (stageIsComplete(SOLOSTAGEINDEX_CRASHSITE)) { + if (ciIsStageComplete(SOLOSTAGEINDEX_CRASHSITE)) { return &bios[8]; } return &bios[7]; @@ -4424,12 +4424,12 @@ bool ciIsMiscBioUnlocked(s32 index) { switch (index) { case MISCBIO_MAIANS: - return stageIsComplete(SOLOSTAGEINDEX_RESCUE); + return ciIsStageComplete(SOLOSTAGEINDEX_RESCUE); case MISCBIO_SKEDAR: - return stageIsComplete(SOLOSTAGEINDEX_ATTACKSHIP); + return ciIsStageComplete(SOLOSTAGEINDEX_ATTACKSHIP); case MISCBIO_BACKGROUND: case MISCBIO_STORY: - return stageIsComplete(SOLOSTAGEINDEX_MBR); + return ciIsStageComplete(SOLOSTAGEINDEX_MBR); } return false; @@ -4604,7 +4604,7 @@ bool ciIsHangarBioUnlocked(u32 bioindex) return false; } - return stageIsComplete(stage); + return ciIsStageComplete(stage); } s32 ciGetNumUnlockedLocationBios(void) @@ -4663,20 +4663,20 @@ char *ciGetHangarBioDescription(void) return langGet(bio->description); } -struct trainingdata *getDeviceTrainingData(void) +struct trainingdata *dtGetData(void) { - return &g_DeviceTrainingData; + return &g_DtData; } void dtRestorePlayer(void) { playersSetPassiveMode(true); - if (g_DeviceTrainingData.obj) { - setupParseObjectWithArg2False(g_DeviceTrainingData.obj, true); + if (g_DtData.obj) { + setupParseObjectWithArg2False(g_DtData.obj, true); } - g_DeviceTrainingData.obj = NULL; + g_DtData.obj = NULL; if (dtGetWeaponByDeviceIndex(func0f1a1d68(var80088ad8)) == WEAPON_ECMMINE) { currentPlayerSetAmmoQuantity(AMMOTYPE_ECM_MINE, 0); @@ -4698,24 +4698,24 @@ void dtRestorePlayer(void) void dtPushEndscreen(void) { - if (g_DeviceTrainingData.completed) { + if (g_DtData.completed) { func0f0f85e0(&g_DeviceTrainingStatsCompletedMenuDialog, MENUROOT_TRAINING); - } else if (g_DeviceTrainingData.failed) { + } else if (g_DtData.failed) { func0f0f85e0(&g_DeviceTrainingStatsFailedMenuDialog, MENUROOT_TRAINING); } - g_DeviceTrainingData.timeleft = 0; - g_DeviceTrainingData.completed = false; - g_DeviceTrainingData.failed = false; - g_DeviceTrainingData.finished = false; - g_DeviceTrainingData.holographedpc = false; + g_DtData.timeleft = 0; + g_DtData.completed = false; + g_DtData.failed = false; + g_DtData.finished = false; + g_DtData.holographedpc = false; } void dtTick(void) { if (var80088adc) { - if (g_DeviceTrainingData.intraining) { - g_DeviceTrainingData.timetaken += g_Vars.lvupdate240_60; + if (g_DtData.intraining) { + g_DtData.timetaken += g_Vars.lvupdate240_60; if (g_Vars.currentplayer->isdead) { dtEnd(); @@ -4723,20 +4723,20 @@ void dtTick(void) if (chrHasStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE)) { dtEnd(); - g_DeviceTrainingData.failed = true; - g_DeviceTrainingData.timeleft = 1; - g_DeviceTrainingData.finished = true; + g_DtData.failed = true; + g_DtData.timeleft = 1; + g_DtData.finished = true; } else if (chrHasStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_SUCCESS)) { dtEnd(); - g_DeviceTrainingData.completed = true; - g_DeviceTrainingData.timeleft = 1; - g_DeviceTrainingData.finished = true; + g_DtData.completed = true; + g_DtData.timeleft = 1; + g_DtData.finished = true; } - } else if (g_DeviceTrainingData.finished) { - if (g_DeviceTrainingData.timeleft <= 0) { + } else if (g_DtData.finished) { + if (g_DtData.timeleft <= 0) { dtPushEndscreen(); } else { - g_DeviceTrainingData.timeleft -= g_Vars.lvupdate240_60; + g_DtData.timeleft -= g_Vars.lvupdate240_60; } } } @@ -4746,14 +4746,14 @@ void func0f1a1ac0(void) { if (var80088adc == false) { var80088adc = true; - g_DeviceTrainingData.intraining = false; - g_DeviceTrainingData.failed = false; - g_DeviceTrainingData.completed = false; - g_DeviceTrainingData.finished = false; - g_DeviceTrainingData.timeleft = 0; - g_DeviceTrainingData.holographedpc = false; - g_DeviceTrainingData.timetaken = 0; - g_DeviceTrainingData.obj = NULL; + g_DtData.intraining = false; + g_DtData.failed = false; + g_DtData.completed = false; + g_DtData.finished = false; + g_DtData.timeleft = 0; + g_DtData.holographedpc = false; + g_DtData.timetaken = 0; + g_DtData.obj = NULL; chrUnsetStageFlag(NULL, STAGEFLAG_CI_DEVICE_ABORTING); chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_SUCCESS); chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE); @@ -4762,8 +4762,8 @@ void func0f1a1ac0(void) void dtBegin(void) { - g_DeviceTrainingData.intraining = true; - g_DeviceTrainingData.timetaken = 0; + g_DtData.intraining = true; + g_DtData.timetaken = 0; chrUnsetStageFlag(NULL, STAGEFLAG_CI_DEVICE_ABORTING); chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_SUCCESS); chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE); @@ -4775,7 +4775,7 @@ void dtBegin(void) void dtEnd(void) { - g_DeviceTrainingData.intraining = false; + g_DtData.intraining = false; dtRestorePlayer(); currentPlayerSetAmmoQuantity(AMMOTYPE_CLOAK, 0); chrSetStageFlag(NULL, STAGEFLAG_CI_DEVICE_ABORTING); @@ -5187,24 +5187,24 @@ char *htGetTip2(void) void frGetGoalTargetsText(char *buffer) { // "GOAL TARGETS:" - sprintf(buffer, "%s %d\n", langGet(L_MISC(417)), g_FiringRangeData.goaltargets); + sprintf(buffer, "%s %d\n", langGet(L_MISC(417)), g_FrData.goaltargets); } void frGetTargetsDestroyedValue(char *buffer) { - sprintf(buffer, "%02d\n", g_FiringRangeData.targetsdestroyed); + sprintf(buffer, "%02d\n", g_FrData.targetsdestroyed); } void frGetScoreValue(char *buffer) { - sprintf(buffer, "%03d\n", g_FiringRangeData.score); + sprintf(buffer, "%03d\n", g_FrData.score); } void frGetGoalScoreText(char *buffer) { - if (g_FiringRangeData.goalscore) { + if (g_FrData.goalscore) { // "GOAL SCORE:" - sprintf(buffer, "%s %d\n", langGet(L_MISC(418)), g_FiringRangeData.goalscore); + sprintf(buffer, "%s %d\n", langGet(L_MISC(418)), g_FrData.goalscore); } else { sprintf(buffer, ""); } @@ -5212,14 +5212,14 @@ void frGetGoalScoreText(char *buffer) f32 frGetAccuracy(char *buffer) { - f32 sum = (g_FiringRangeData.numhitsring3 - + g_FiringRangeData.numhitsbullseye - + g_FiringRangeData.numhitsring1 - + g_FiringRangeData.numhitsring2) * 100.0f; + f32 sum = (g_FrData.numhitsring3 + + g_FrData.numhitsbullseye + + g_FrData.numhitsring1 + + g_FrData.numhitsring2) * 100.0f; f32 accuracy = 100.0f; - if (g_FiringRangeData.numshots) { - accuracy = sum / (f32)g_FiringRangeData.numshots; + if (g_FrData.numshots) { + accuracy = sum / (f32)g_FrData.numshots; } if (accuracy > 100.0f) { @@ -5234,9 +5234,9 @@ f32 frGetAccuracy(char *buffer) bool frGetMinAccuracy(char *buffer, f32 accuracy) { // "MIN ACCURACY:" - sprintf(buffer, "%s %d%%\n", langGet(L_MISC(419)), g_FiringRangeData.goalaccuracy); + sprintf(buffer, "%s %d%%\n", langGet(L_MISC(419)), g_FrData.goalaccuracy); - return accuracy < g_FiringRangeData.goalaccuracy; + return accuracy < g_FrData.goalaccuracy; } /** @@ -5253,13 +5253,13 @@ bool frFormatTime(char *buffer) { s32 mins = 0; s32 mult = 1; - f32 secs = g_FiringRangeData.timetaken / 60.0f; + f32 secs = g_FrData.timetaken / 60.0f; u8 failed = false; - if (g_FiringRangeData.timelimit != 255 && secs >= g_FiringRangeData.timelimit) { + if (g_FrData.timelimit != 255 && secs >= g_FrData.timelimit) { failed = true; - secs = g_FiringRangeData.timelimit; - } else if (g_FiringRangeData.timetaken < 0) { + secs = g_FrData.timelimit; + } else if (g_FrData.timetaken < 0) { failed = true; } @@ -5285,21 +5285,21 @@ bool frGetHudMiddleSubtext(char *buffer) s32 secs; s32 mins; - if (g_FiringRangeData.timetaken < -180) { + if (g_FrData.timetaken < -180) { sprintf(buffer, "%s", langGet(L_MISC(420))); // "FIRE TO START" return false; } - if (g_FiringRangeData.timetaken < 0) { + if (g_FrData.timetaken < 0) { sprintf(buffer, "%s", langGet(L_MISC(421))); // "GET READY!" return true; } - if (g_FiringRangeData.timelimit == 255) { + if (g_FrData.timelimit == 255) { return false; } - secs = g_FiringRangeData.timelimit; + secs = g_FrData.timelimit; mins = 0; if (secs >= 60) { @@ -5323,22 +5323,22 @@ bool frGetFeedback(char *scorebuffer, char *zonebuffer) L_MISC(427), // "EXPLODED" }; - if (g_FiringRangeData.feedbackzone) { - g_FiringRangeData.feedbackttl -= g_Vars.lvupdate240_60; + if (g_FrData.feedbackzone) { + g_FrData.feedbackttl -= g_Vars.lvupdate240_60; - if (g_FiringRangeData.feedbackttl <= 0) { - g_FiringRangeData.feedbackzone = 0; - g_FiringRangeData.feedbackttl = 0; + if (g_FrData.feedbackttl <= 0) { + g_FrData.feedbackzone = 0; + g_FrData.feedbackttl = 0; return false; } - if (g_FiringRangeData.feedbackzone == FRZONE_EXPLODE) { + if (g_FrData.feedbackzone == FRZONE_EXPLODE) { sprintf(scorebuffer, "010\n"); } else { - sprintf(scorebuffer, "%03d\n", g_FiringRangeData.feedbackzone); + sprintf(scorebuffer, "%03d\n", g_FrData.feedbackzone); } - switch (g_FiringRangeData.feedbackzone) { + switch (g_FrData.feedbackzone) { case FRZONE_RING3: sprintf(zonebuffer, "%s", langGet(texts[0])); return true; @@ -5411,12 +5411,12 @@ Gfx *frRenderHud(Gfx *gdl) mult = 1; } - if (!g_FrIsValidWeapon && g_FiringRangeData.menucountdown <= 0) { + if (!g_FrIsValidWeapon && g_FrData.menucountdown <= 0) { return gdl; } - if (g_FiringRangeData.menucountdown != 0) { - alpha = (f32)(g_FiringRangeData.menucountdown * 160) / 60.0f; + if (g_FrData.menucountdown != 0) { + alpha = (f32)(g_FrData.menucountdown * 160) / 60.0f; } gdl = func0f153628(gdl); @@ -5442,14 +5442,14 @@ Gfx *frRenderHud(Gfx *gdl) string1, string2, 0x00ff00a0, alpha); } - if (g_FiringRangeData.goalaccuracy > 0) { + if (g_FrData.goalaccuracy > 0) { red = frGetMinAccuracy(string2, frGetAccuracy(string1)); gdl = frRenderHudElement(gdl, viGetViewLeft() + viGetViewX() - 70.0f * mult, viGetViewTop() + 12, string1, string2, red ? 0xff000000 | 0xa0 : 0x00ff0000 | 0xa0, alpha); - } else if (g_FiringRangeData.goaltargets != 255) { + } else if (g_FrData.goaltargets != 255) { frGetTargetsDestroyedValue(string1); frGetGoalTargetsText(string2); diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index b329f82f6..b142027cc 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -20670,8 +20670,8 @@ u32 var800acc7c = 0; struct chrdata *g_MpSimulantChrs[MAX_SIMULANTS] = {NULL}; u8 var800acca0[40] = {0}; u8 g_MpChallengesCompleted[88] = {0}; // This is one *byte* per challenge, and length is at least 64 -struct frdata g_FiringRangeData = {0}; -struct trainingdata g_DeviceTrainingData = {0}; +struct frdata g_FrData = {0}; +struct trainingdata g_DtData = {0}; struct trainingdata g_HoloTrainingData = {0}; u32 var800ad1c0 = 0; diff --git a/src/include/constants.h b/src/include/constants.h index 91e11cb09..72a7b1c2a 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -593,15 +593,15 @@ #define FRCMD_SETGOALTARGETS 0x07 #define FRCMD_SETHELPSCRIPT 0x08 #define FRCMD_SETGRENADELIMIT 0x09 -#define FRCMD_0A 0x0a +#define FRCMD_SETPADINDEXOFFSET 0x0a #define FRCMD_SETSCOREMULTIPLIER 0x0b #define FRCMD_GOTOPAD 0x0c #define FRCMD_RESTART 0x0d -#define FRCMD_0E 0x0e +#define FRCMD_WAITSECONDS 0x0e #define FRCMD_ROTATE 0x0f #define FRCMD_HUDMSG 0x10 #define FRCMD_WAITUNTILSHOOT 0x11 -#define FRCMD_WAITSECONDS 0x12 +#define FRCMD_HELPWAITSECONDS 0x12 #define FRCMD_END 0x13 #define FRCMD_IFBRONZE 0xfb #define FRCMD_IFSILVER 0xfc @@ -622,6 +622,11 @@ #define FRMENUTYPE_FAILED 2 #define FRMENUTYPE_COMPLETED 3 +#define FRROTATE_90R 0 +#define FRROTATE_180R 1 +#define FRROTATE_90L 2 +#define FRROTATE_180L 3 + #define FRTARGETFLAG_BRONZE 0x01 #define FRTARGETFLAG_SILVER 0x02 #define FRTARGETFLAG_GOLD 0x04 diff --git a/src/include/firingrange/frcommands.h b/src/include/firingrange/frcommands.h index 355058855..46c9ca9c8 100644 --- a/src/include/firingrange/frcommands.h +++ b/src/include/firingrange/frcommands.h @@ -1,72 +1,227 @@ -#define add_target(frpadnum, script, target01, flags) \ - 0x00, frpadnum, script, target01, flags +/** + * Weapon scripts only: Adds a target to the current session. + * + * frpadnum - is the location where the target will appear. + * script - is the target script index that the target will use. + * For example, 0x0c means it will use the script at "u8 target0c". + * maxdamage - is how much health the target has. + * flags - is a bitwise field. See below + * + * Flags: + * FRTARGETFLAG_BRONZE - Target will appear on bronze difficulty + * FRTARGETFLAG_SILVER - Target will appear on silver difficulty + * FRTARGETFLAG_GOLD - Target will appear on gold difficulty + * FRTARGETFLAG_ROTATEONCLOAK - Rotate when the player uses cloak (RC-P120) + * FRTARGETFLAG_SPAWNFACINGAWAY - Spawn with its back to the player + * FRTARGETFLAG_ONEHITEXPLODE - For K7 Avenger's threat detector + * FRTARGETFLAG_FARSIGHTAUTOTARGETABLE - Must be set for Farsight's second function to find it + * FRTARGETFLAG_TMPINVINCIBLE - Grant 5 seconds invincibility when the target spawns, for spawning into explosions + */ +#define add_target(frpadnum, script, maxdamage, flags) \ + 0x00, frpadnum, script, maxdamage, flags +/** + * Weapon scripts only: Sets the maximum number of targets that can be + * active/visible at the same time. As each target is destroyed a new one will + * become active until there are no more targets. + */ #define set_max_active_targets(bronze, silver, gold) \ 0x01, bronze, silver, gold +/** + * Weapon scripts only: Sets the goal score. + * + * Expects values in the range 0 to 250. + * + * Scores over 250 can be set by making use of the set_score_multiplier command. + */ #define set_goal_score(bronze, silver, gold) \ 0x02, bronze, silver, gold +/** + * Weapon scripts only: Sets the time limit in seconds, or 255 for no limit. + */ #define set_time_limit(bronze, silver, gold) \ 0x03, bronze, silver, gold +/** + * Weapon scripts only: Sets the ammo limit, or 255 for no limit. + */ #define set_ammo_limit(bronze, silver, gold) \ 0x04, bronze, silver, gold +/** + * Weapon scripts only: Increases the speed at which targets can travel. + * + * The "normal" speed is 1, so setting the extra speed to 1 makes it run twice + * as fast. This value accepts single digit decimals such as 0.1. Acceptable + * values are in the range 0.0 to 25.0. + */ #define set_extra_speed(bronze, silver, gold) \ 0x05, bronze * 10, silver * 10, gold * 10 +/** + * Weapon scripts only: Sets the goal accuracy. + * + * Acceptable values are 0 to 100, where 0 disables the accuracy requirement. + */ #define set_goal_accuracy(bronze, silver, gold) \ 0x06, bronze, silver, gold +/** + * Weapon scripts only: Sets the goal number of targets to be destroyed. + * + * Acceptable values are 0 to 250, or 255 to disable the goal targets + * requirement. + */ #define set_goal_targets(bronze, silver, gold) \ 0x07, bronze, silver, gold +/** + * Weapon scripts only: Sets the help script which will be used. + * + * Help scripts are used to display instructional help messages to the player. + * + * Acceptable values are 0 to 2, but this could be increased if more help + * scripts are added. + */ #define set_help_script(script) \ 0x08, script +/** + * Weapon scripts only: Sets the SuperDragon grenade limit, or 255 for no limit. + */ #define set_grenade_limit(bronze, silver, gold) \ 0x09, bronze, silver, gold -#define cmd_0a(value) \ - 0x0a, value +/** + * Weapon scripts only: Set an offset which will be used when looking up + * frpadnums for all targets in this session. This allows the same target script + * to be shared across different sessions while having them visit different pads + * based on the session. + * + * Care should be taken when using this, as an array overflow may occur if the + * offset is too high. + */ +#define set_pad_index_offset(offset) \ + 0x0a, offset +/** + * Weapon scripts only: Sets a multiplier which is used to calculate the goal + * score. + * + * Because the script data is made up of single bytes, it would normally be + * impossible to set goal scores above 255. This command is a workaround to + * allow higher goal scores. + */ #define set_score_multiplier(bronze, silver, gold) \ 0x0b, bronze, silver, gold -#define go_to_pad(frpadnum, unk2, seconds) \ - 0x0c, frpadnum, unk2, seconds +/** + * Target scripts only: Makes the target go to the specified pad. + * + * frpadnum: + * If 0-30, is used as an index into the g_FrPads array, after applying an + * offset if was specified using set_pad_index_offset. + * If 31, returns a random pad in frpadnum range 4-12 + * If 32, returns a random pad in frpadnum range 13-21 + * If 33, returns a random pad in frpadnum range 22-30 + * If 34, returns a random pad in frpadnum range 4-30 + * + * In practice the random values are not used, nor anything above 12. + * + * speed: + * If set to 255, the target is immediately placed at the destination pad. + * + * seconds: + * Disables script execution for the given amount of seconds. If the target + * stops before this time then it'll effectively wait before continuing the + * script. + */ +#define go_to_pad(frpadnum, speed, seconds) \ + 0x0c, frpadnum, speed, seconds +/** + * Target scripts only: Loops back to the start of the script and continues + * execution. + */ #define restart() \ 0x0d -#define cmd_0e(seconds) \ +/** + * Target scripts only: Waits for the specified amount of seconds before + * continuing the script. + */ +#define wait_seconds(seconds) \ 0x0e, seconds -#define rotate(angle, speed) \ - 0x0f, angle, speed +/** + * Target scripts only: Rotates the target in the given direction, relative to + * its current direction. + * + * Expected values for direction are one of: + * FRROTATE_90R + * FRROTATE_180R + * FRROTATE_90L + * FRROTATE_180L + * + * The duration value is unitless. The higher it is the slower the rotation. + */ +#define rotate(direction, duration) \ + 0x0f, direction, duration +/** + * Help scripts only: Displays a HUD message to the player. + * + * The frtextindex is an index into the texts array at the top of the firing + * range script file. + */ #define hudmsg(frtextindex) \ 0x10, frtextindex +/** + * Help scripts only: Waits until the player fires their gun before continuing + * script execution. + */ #define wait_until_shoot() \ 0x11 -#define wait_seconds(seconds) \ +/** + * Help scripts only: Waits the specified number of seconds before continuing + * script execution. + * + * This command is unused. + */ +#define help_wait_seconds(seconds) \ 0x12, seconds +/** + * All scripts: Marks the end of the script. + */ #define end() \ 0x13 +/** + * Help scripts only: Applies the subsequent commands if the difficulty is bronze. + */ #define if_bronze() \ 0xfb +/** + * Help scripts only: Applies the subsequent commands if the difficulty is silver. + */ #define if_silver() \ 0xfc +/** + * Help scripts only: Applies the subsequent commands if the difficulty is gold. + */ #define if_gold() \ 0xfd +/** + * All scripts: Marks the start of the script. + */ #define start() \ 0xfe diff --git a/src/include/game/training.h b/src/include/game/training.h index 54509cfb9..63c572d5e 100644 --- a/src/include/game/training.h +++ b/src/include/game/training.h @@ -12,9 +12,9 @@ u8 ciGetFiringRangeScore(s32 weaponindex); void frSaveScoreIfBest(s32 weaponindex, s32 difficulty); u8 frIsWeaponFound(s32 weapon); void frSetWeaponFound(s32 weaponnum); -s32 stageIsComplete(s32 stageindex); +s32 ciIsStageComplete(s32 stageindex); bool func0f19cbcc(s32 weapon); -bool frWeaponIsAvailable(s32 weapon); +bool frIsWeaponAvailable(s32 weapon); u32 frGetWeaponIndexByWeapon(u32 weaponnum); u32 frGetWeaponScriptIndex(u32 weaponnum); s32 frIsClassicWeaponUnlocked(u32 weapon); @@ -24,16 +24,16 @@ u32 frGetWeaponBySlot(s32 slot); s32 frGetNumWeaponsAvailable(void); void frInitLighting(void); void frRestoreLighting(void); -void func0f19d4ec(void); +void frUnloadData(void); void *frLoadRomData(u32 len); void frSetDifficulty(s32 difficulty); u32 frGetDifficulty(void); void frInitDefaults(void); -struct frdata *getFiringRangeData(void); +struct frdata *frGetData(void); u32 frResolveFrPad(u32 arg0); bool frIsDifficulty(u32 difficulties); void frExecuteWeaponScript(s32 scriptindex); -void func0f19de24(void); +void frSetTargetProps(void); bool frTargetIsAtScriptStart(s32 targetnum); char *frGetInstructionalText(u32 index); void frExecuteHelpScript(void); @@ -42,7 +42,7 @@ void frHideAllTargets(void); void frInitTargets(void); void frCloseAndLockDoor(void); void frUnlockDoor(void); -void func0f19e7a8(void); +void frLoadData(void); u32 frInitAmmo(s32 weapon); void frBeginSession(s32 weapon); char *frGetWeaponDescription(void); @@ -51,8 +51,8 @@ bool frWasTooInaccurate(void); void frSetFailReason(s32 failreason); void frSetCompleted(void); bool frIsTargetOneHitExplodable(struct prop *prop); -f32 func0f19f294(struct coord *a, f32 angle, struct coord *b); -bool func0f19f2ec(struct prop *prop, struct coord *pos); +f32 frGetTargetAngleToPos(struct coord *a, f32 angle, struct coord *b); +bool frIsTargetFacingPos(struct prop *prop, struct coord *pos); struct prop *frChooseAutogunTarget(struct coord *arg0); bool frIsAmmoWasted(void); void frTick(void); @@ -60,7 +60,7 @@ void func0f1a0924(struct prop *prop); bool frChooseFarsightTarget(void); s32 frIsInTraining(void); void frCalculateHit(struct defaultobj *obj, struct coord *hitpos, f32 maulercharge); -void func0f1a0fc8(void); +void frIncrementNumShots(void); bool ciIsChrBioUnlocked(u32 bodynum); struct chrbio *ciGetChrBioByBodynum(u32 bodynum); char *ciGetChrBioDescription(void); @@ -78,7 +78,7 @@ s32 ciGetNumUnlockedLocationBios(void); s32 ciGetNumUnlockedHangarBios(void); s32 ciGetHangarBioIndexBySlot(s32 slot); char *ciGetHangarBioDescription(void); -struct trainingdata *getDeviceTrainingData(void); +struct trainingdata *dtGetData(void); void dtRestorePlayer(void); void dtPushEndscreen(void); void dtTick(void); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 4cdf8ec8c..8e50aff35 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -827,8 +827,8 @@ extern u32 var800acc74; extern struct chrdata *g_MpSimulantChrs[MAX_SIMULANTS]; extern u8 var800acca0[40]; extern u8 g_MpChallengesCompleted[]; -extern struct frdata g_FiringRangeData; -extern struct trainingdata g_DeviceTrainingData; +extern struct frdata g_FrData; +extern struct trainingdata g_DtData; extern struct trainingdata g_HoloTrainingData; extern u32 var800ad1c0; diff --git a/src/include/types.h b/src/include/types.h index d4e839d59..246b24baf 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -5291,8 +5291,8 @@ struct hudmessage { }; struct frtarget { - /*0x00*/ u8 unk00_01 : 1; - /*0x00*/ u8 active : 1; + /*0x00*/ u8 inuse : 1; // 1 if being used at all in this session + /*0x00*/ u8 active : 1; // 1 if target has appeared /*0x00*/ u8 destroyed : 1; /*0x00*/ u8 scriptenabled : 1; /*0x00*/ u8 rotating : 1; @@ -5307,12 +5307,12 @@ struct frtarget { /*0x1c*/ f32 travelspeed; /*0x20*/ u8 damage; /*0x21*/ u8 scriptoffset; - /*0x24*/ f32 rotatespeed; // negative for reverse direction + /*0x24*/ f32 rotatespeed; // Negative for reverse direction /*0x28*/ f32 angle; /*0x2c*/ f32 rotatetoangle; /*0x30*/ u8 flags; - /*0x31*/ u8 unk31; - /*0x32*/ u8 unk32; + /*0x31*/ u8 silent; // 0 if playing the hum sound while travelling + /*0x32*/ u8 donestopsound; // 1 if the clank sound has played when stopping travelling /*0x33*/ u8 travelling; /*0x34*/ s8 frpadnum; /*0x38*/ s32 invincibletimer; @@ -5320,7 +5320,6 @@ struct frtarget { struct frdata { /*0x000*/ u8 maxactivetargets; - /*0x001*/ u8 unk001; /*0x002*/ u16 goalscore; /*0x004*/ u8 goaltargets; /*0x005*/ u8 timelimit; @@ -5347,12 +5346,11 @@ struct frdata { /*0x465*/ u8 donelighting : 1; /*0x465*/ u8 donealarm : 1; /*0x465*/ u8 ammohasgrace : 1; - /*0x465*/ u8 unk465_06 : 2; /*0x466*/ u8 helpscriptindex; /*0x467*/ u8 helpscriptoffset; /*0x468*/ u8 helpscriptenabled; /*0x46c*/ s32 helpscriptsleep; - /*0x470*/ u8 unk470; + /*0x470*/ u8 padindexoffset; /*0x471*/ u8 feedbackzone; /*0x472*/ s8 feedbackttl; /*0x474*/ s16 proxyendtimer;