diff --git a/src/files/setup/setupame.c b/src/files/setup/setupame.c index 550d10793..316550483 100644 --- a/src/files/setup/setupame.c +++ b/src/files/setup/setupame.c @@ -2501,22 +2501,22 @@ u8 func041b_intro_041b[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010) - object_do_animation(0x00ca, OBJ_JUMPSHIP2, 0x04ff, 0xff) + object_do_animation(0x00ca, OBJ_JUMPSHIP2, 0x04, 0xffff) show_object(OBJ_POLICECAR) set_object_flag3(OBJ_POLICECAR, OBJFLAG3_00000010) - object_do_animation(0x0122, OBJ_POLICECAR, 0x04ff, 0xff) + object_do_animation(0x0122, OBJ_POLICECAR, 0x04, 0xffff) show_object(OBJ_HOVERCOP3) set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_00000010) - object_do_animation(0x0123, OBJ_HOVERCOP3, 0x04ff, 0xff) + object_do_animation(0x0123, OBJ_HOVERCOP3, 0x04, 0xffff) show_object(OBJ_HOVERCAR3) set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_00000010) - object_do_animation(0x0124, OBJ_HOVERCAR3, 0x04ff, 0xff) + object_do_animation(0x0124, OBJ_HOVERCAR3, 0x04, 0xffff) show_object(OBJ_HOVERMOTO3) set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_00000010) - object_do_animation(0x0125, OBJ_HOVERMOTO3, 0x04ff, 0xff) + object_do_animation(0x0125, OBJ_HOVERMOTO3, 0x04, 0xffff) show_object(OBJ_HOVERCAB3) set_object_flag3(OBJ_HOVERCAB3, OBJFLAG3_00000010) - object_do_animation(0x0126, OBJ_HOVERCAB3, 0x04ff, 0xff) + object_do_animation(0x0126, OBJ_HOVERCAB3, 0x04, 0xffff) fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) @@ -2548,25 +2548,25 @@ u8 func041a_intro_041a[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010) - object_do_animation(0x00c8, OBJ_JUMPSHIP2, 0x04ff, 0xff) + object_do_animation(0x00c8, OBJ_JUMPSHIP2, 0x04, 0xffff) show_object(OBJ_HOVERTAXI2) set_object_flag3(OBJ_HOVERTAXI2, OBJFLAG3_00000010) - object_do_animation(0x011c, OBJ_HOVERTAXI2, 0x04ff, 0xff) + object_do_animation(0x011c, OBJ_HOVERTAXI2, 0x04, 0xffff) show_object(OBJ_HOVERCOP3) set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_00000010) - object_do_animation(0x011d, OBJ_HOVERCOP3, 0x04ff, 0xff) + object_do_animation(0x011d, OBJ_HOVERCOP3, 0x04, 0xffff) show_object(OBJ_HOVERCAR3) set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_00000010) - object_do_animation(0x011e, OBJ_HOVERCAR3, 0x04ff, 0xff) + object_do_animation(0x011e, OBJ_HOVERCAR3, 0x04, 0xffff) show_object(OBJ_HOVERMOTO3) set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_00000010) - object_do_animation(0x011f, OBJ_HOVERMOTO3, 0x04ff, 0xff) + object_do_animation(0x011f, OBJ_HOVERMOTO3, 0x04, 0xffff) show_object(OBJ_HOVERCAB3) set_object_flag3(OBJ_HOVERCAB3, OBJFLAG3_00000010) - object_do_animation(0x0120, OBJ_HOVERCAB3, 0x04ff, 0xff) + object_do_animation(0x0120, OBJ_HOVERCAB3, 0x04, 0xffff) show_object(OBJ_HOVERTRUCK3) set_object_flag3(OBJ_HOVERTRUCK3, OBJFLAG3_00000010) - object_do_animation(0x0121, OBJ_HOVERTRUCK3, 0x04ff, 0xff) + object_do_animation(0x0121, OBJ_HOVERTRUCK3, 0x04, 0xffff) wait_for_camera_finished @@ -2594,16 +2594,16 @@ u8 func0419_intro_0419[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010) - object_do_animation(0x00c6, OBJ_JUMPSHIP2, 0x04ff, 0xff) + object_do_animation(0x00c6, OBJ_JUMPSHIP2, 0x04, 0xffff) show_object(OBJ_HOVERTAXI1) set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_00000010) - object_do_animation(0x0119, OBJ_HOVERTAXI1, 0x04ff, 0xff) + object_do_animation(0x0119, OBJ_HOVERTAXI1, 0x04, 0xffff) show_object(OBJ_HOVERCOP3) set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_00000010) - object_do_animation(0x011a, OBJ_HOVERCOP3, 0x04ff, 0xff) + object_do_animation(0x011a, OBJ_HOVERCOP3, 0x04, 0xffff) show_object(OBJ_HOVERCAR3) set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_00000010) - object_do_animation(0x011b, OBJ_HOVERCAR3, 0x04ff, 0xff) + object_do_animation(0x011b, OBJ_HOVERCAR3, 0x04, 0xffff) wait_for_camera_finished @@ -2628,25 +2628,25 @@ u8 func041c_intro_041c[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010) - object_do_animation(0x00cc, OBJ_JUMPSHIP2, 0x04ff, 0xff) + object_do_animation(0x00cc, OBJ_JUMPSHIP2, 0x04, 0xffff) show_object(OBJ_HOVERTAXI1) set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_00000010) - object_do_animation(0x0127, OBJ_HOVERTAXI1, 0x04ff, 0xff) + object_do_animation(0x0127, OBJ_HOVERTAXI1, 0x04, 0xffff) // Invalid object show_object(0x1d) set_object_flag3(0x1d, OBJFLAG3_00000010) - object_do_animation(0x0128, 0x1d, 0x04ff, 0xff) + object_do_animation(0x0128, 0x1d, 0x04, 0xffff) show_object(OBJ_HOVERCOP3) set_object_flag3(OBJ_HOVERCOP3, OBJFLAG3_00000010) - object_do_animation(0x0129, OBJ_HOVERCOP3, 0x04ff, 0xff) + object_do_animation(0x0129, OBJ_HOVERCOP3, 0x04, 0xffff) show_object(OBJ_HOVERCAR3) set_object_flag3(OBJ_HOVERCAR3, OBJFLAG3_00000010) - object_do_animation(0x012a, OBJ_HOVERCAR3, 0x04ff, 0xff) + object_do_animation(0x012a, OBJ_HOVERCAR3, 0x04, 0xffff) show_object(OBJ_HOVERMOTO3) set_object_flag3(OBJ_HOVERMOTO3, OBJFLAG3_00000010) - object_do_animation(0x012b, OBJ_HOVERMOTO3, 0x04ff, 0xff) + object_do_animation(0x012b, OBJ_HOVERMOTO3, 0x04, 0xffff) wait_for_camera_finished @@ -2676,13 +2676,13 @@ u8 func041d_intro_041d[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag3(OBJ_JUMPSHIP2, OBJFLAG3_00000010) - object_do_animation(0x00ce, OBJ_JUMPSHIP2, 0x01ff, 0xff) + object_do_animation(0x00ce, OBJ_JUMPSHIP2, 0x01, 0xffff) show_object(OBJ_HOVERTAXI1) set_object_flag3(OBJ_HOVERTAXI1, OBJFLAG3_00000010) - object_do_animation(0x012c, OBJ_HOVERTAXI1, 0x04ff, 0xff) + object_do_animation(0x012c, OBJ_HOVERTAXI1, 0x04, 0xffff) show_object(0x1d) set_object_flag3(0x1d, OBJFLAG3_00000010) - object_do_animation(0x012d, 0x1d, 0x04ff, 0xff) + object_do_animation(0x012d, 0x1d, 0x04, 0xffff) wait_for_camera_finished @@ -2822,7 +2822,7 @@ u8 func0422_intro_0423[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x00ef, OBJ_JUMPSHIP1, 0x04ff, 0xff) + object_do_animation(0x00ef, OBJ_JUMPSHIP1, 0x04, 0xffff) set_tinted_glass_enabled(TRUE) wait_for_camera_finished @@ -2846,7 +2846,7 @@ u8 func0422_intro_0424[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x00fd, OBJ_JUMPSHIP1, 0x04ff, 0xff) + object_do_animation(0x00fd, OBJ_JUMPSHIP1, 0x04, 0xffff) set_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_SECRETARY, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_SECRETARY, CHRCFLAG_HIDDEN) @@ -2875,9 +2875,9 @@ u8 func0422_intro_0425[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x0100, OBJ_JUMPSHIP1, 0x04ff, 0xff) - object_do_animation(0x0102, OBJ_BANNER1, 0x04ff, 0xff) - object_do_animation(0x0117, OBJ_BANNER2, 0x04ff, 0xff) + object_do_animation(0x0100, OBJ_JUMPSHIP1, 0x04, 0xffff) + object_do_animation(0x0102, OBJ_BANNER1, 0x04, 0xffff) + object_do_animation(0x0117, OBJ_BANNER2, 0x04, 0xffff) wait_for_camera_finished @@ -2901,13 +2901,13 @@ u8 func0422_intro_0426[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x012f, OBJ_JUMPSHIP1, 0x04ff, 0xff) + object_do_animation(0x012f, OBJ_JUMPSHIP1, 0x04, 0xffff) show_object(OBJ_BANNER1) set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010) - object_do_animation(0x0131, OBJ_BANNER1, 0x04ff, 0xff) + object_do_animation(0x0131, OBJ_BANNER1, 0x04, 0xffff) show_object(OBJ_BANNER2) set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010) - object_do_animation(0x0132, OBJ_BANNER2, 0x04ff, 0xff) + object_do_animation(0x0132, OBJ_BANNER2, 0x04, 0xffff) wait_for_camera_finished @@ -2931,16 +2931,16 @@ u8 func0422_intro_0427[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x0134, OBJ_JUMPSHIP1, 0x04ff, 0xff) + object_do_animation(0x0134, OBJ_JUMPSHIP1, 0x04, 0xffff) show_object(OBJ_ROPE) set_object_flag3(OBJ_ROPE, OBJFLAG3_00000010) - object_do_animation(0x0135, OBJ_ROPE, 0x04ff, 0xff) + object_do_animation(0x0135, OBJ_ROPE, 0x04, 0xffff) show_object(OBJ_BANNER1) set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010) - object_do_animation(0x0136, OBJ_BANNER1, 0x04ff, 0xff) + object_do_animation(0x0136, OBJ_BANNER1, 0x04, 0xffff) show_object(OBJ_BANNER2) set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010) - object_do_animation(0x0137, OBJ_BANNER2, 0x04ff, 0xff) + object_do_animation(0x0137, OBJ_BANNER2, 0x04, 0xffff) wait_for_camera_finished @@ -2965,7 +2965,7 @@ u8 func0422_intro_0428[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x0104, OBJ_JUMPSHIP1, 0x04ff, 0xff) + object_do_animation(0x0104, OBJ_JUMPSHIP1, 0x04, 0xffff) set_object_flag2(OBJ_HOVERCOP1, OBJFLAG2_INVISIBLE) set_object_flag2(OBJ_HOVERCOP2, OBJFLAG2_INVISIBLE) set_object_flag2(OBJ_HOVERCAR1, OBJFLAG2_INVISIBLE) @@ -3007,7 +3007,7 @@ u8 func0422_intro_0429[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x0106, OBJ_JUMPSHIP1, 0x04ff, 0xff) + object_do_animation(0x0106, OBJ_JUMPSHIP1, 0x04, 0xffff) set_tinted_glass_enabled(TRUE) wait_for_camera_finished @@ -3030,14 +3030,14 @@ u8 func0422_intro_042a[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x0108, OBJ_JUMPSHIP1, 0x04ff, 0xff) + object_do_animation(0x0108, OBJ_JUMPSHIP1, 0x04, 0xffff) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) chr_do_animation(0x0109, -1, -1, 0x06, 0x00, CHR_BOND, 4) set_chr_hudpiece_visible(CHR_BOND, TRUE) show_object(OBJ_ROPE) set_object_flag3(OBJ_ROPE, OBJFLAG3_00000010) - object_do_animation(0x010a, OBJ_ROPE, 0x04ff, 0xff) + object_do_animation(0x010a, OBJ_ROPE, 0x04, 0xffff) wait_for_camera_finished @@ -3058,20 +3058,20 @@ u8 func0422_intro_042b[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag3(OBJ_JUMPSHIP1, OBJFLAG3_00000010) - object_do_animation(0x010c, OBJ_JUMPSHIP1, 0x04ff, 0xff) + object_do_animation(0x010c, OBJ_JUMPSHIP1, 0x04, 0xffff) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) chr_do_animation(0x010d, -1, -1, 0x06, 0x00, CHR_BOND, 4) set_chr_hudpiece_visible(CHR_BOND, TRUE) show_object(OBJ_ROPE) set_object_flag3(OBJ_ROPE, OBJFLAG3_00000010) - object_do_animation(0x010e, OBJ_ROPE, 0x04ff, 0xff) + object_do_animation(0x010e, OBJ_ROPE, 0x04, 0xffff) show_object(OBJ_BANNER1) set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010) - object_do_animation(0x010f, OBJ_BANNER1, 0x04ff, 0xff) + object_do_animation(0x010f, OBJ_BANNER1, 0x04, 0xffff) show_object(OBJ_BANNER2) set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010) - object_do_animation(0x0118, OBJ_BANNER2, 0x04ff, 0xff) + object_do_animation(0x0118, OBJ_BANNER2, 0x04, 0xffff) wait_for_camera_finished @@ -3110,11 +3110,11 @@ u8 func0422_intro_042d[] = { show_object(OBJ_BANNER1) show_object(OBJ_BANNER2) set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010) - object_do_animation(0x0161, OBJ_BANNER1, 0x08ff, 0xff) + object_do_animation(0x0161, OBJ_BANNER1, 0x08, 0xffff) // @bug: Copy/paste error - should be banner 2 set_object_flag3(OBJ_BANNER1, OBJFLAG3_00000010) - object_do_animation(0x0162, OBJ_BANNER2, 0x08ff, 0xff) + object_do_animation(0x0162, OBJ_BANNER2, 0x08, 0xffff) unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) diff --git a/src/files/setup/setupark.c b/src/files/setup/setupark.c index f4129d2fb..6c0c0c1ac 100644 --- a/src/files/setup/setupark.c +++ b/src/files/setup/setupark.c @@ -2457,7 +2457,7 @@ u8 func0412_outro[] = { show_object(OBJ_JUMPSHIP) set_object_flag3(OBJ_JUMPSHIP, OBJFLAG3_00000010) set_object_flag2(OBJ_JUMPSHIP, OBJFLAG2_04000000) - object_do_animation(0x015e, OBJ_JUMPSHIP, 0x04ff, 0xff) + object_do_animation(0x015e, OBJ_JUMPSHIP, 0x04, 0xffff) set_ailist(CHR_P1P2, GAILIST_IDLE) set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) diff --git a/src/files/setup/setupazt.c b/src/files/setup/setupazt.c index 99e3bb108..17ceb1b5b 100644 --- a/src/files/setup/setupazt.c +++ b/src/files/setup/setupazt.c @@ -599,7 +599,7 @@ u8 func0402_outro[] = { show_object(0x00) set_object_flag2(OBJ_CRATE, OBJFLAG2_04000000) set_object_flag3(OBJ_CRATE, OBJFLAG3_00000010) - object_do_animation(0x01e0, OBJ_CRATE, 0x04ff, 0xff) + object_do_animation(0x01e0, OBJ_CRATE, 0x04, 0xffff) restart_timer set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) yield @@ -1935,7 +1935,7 @@ u8 func1014_setup_skedar_shuttle[] = { show_object(OBJ_SKEDAR_SHUTTLE) set_object_flag3(OBJ_SKEDAR_SHUTTLE, OBJFLAG3_00000010) set_object_part_visible(OBJ_SKEDAR_SHUTTLE, FALSE) - object_do_animation(0x0486, OBJ_SKEDAR_SHUTTLE, 0x01ff, 0xff) + object_do_animation(0x0486, OBJ_SKEDAR_SHUTTLE, 0x01, 0xffff) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; diff --git a/src/files/setup/setupcave.c b/src/files/setup/setupcave.c index 493835607..de37b5bca 100644 --- a/src/files/setup/setupcave.c +++ b/src/files/setup/setupcave.c @@ -851,7 +851,7 @@ u8 func0425_outro[] = { show_object(OBJ_PLANE) set_object_flag2(OBJ_PLANE, OBJFLAG2_04000000) set_object_flag3(OBJ_PLANE, OBJFLAG3_00000010) - object_do_animation(0x031c, OBJ_PLANE, 0x04ff, 0xff) + object_do_animation(0x031c, OBJ_PLANE, 0x04, 0xffff) set_cutscene_weapon(CHR_P1P2, WEAPON_NONE, WEAPON_NONE) yield @@ -2141,7 +2141,7 @@ u8 func0409_office1[] = { // Not disguised, or disguised with weapon equipped label(0x07) - object_do_animation(0x025a, 0xff, 0x02ff, 0xff) + object_do_animation(0x025a, 0xff, 0x02, 0xffff) restart_timer try_face_entity(0x0200, 0x0000, /*goto*/ 0x05) @@ -2222,7 +2222,7 @@ u8 func040a_office2[] = { label(0x72) label(0x02) - object_do_animation(0x025a, 0xff, 0x02ff, 0xff) + object_do_animation(0x025a, 0xff, 0x02, 0xffff) restart_timer try_face_entity(0x0200, 0x0000, /*goto*/ 0x05) @@ -3623,11 +3623,11 @@ u8 func1003_intro[] = { show_object(0x22) set_object_flag2(0x22, OBJFLAG2_04000000) set_object_flag3(0x22, OBJFLAG3_00000010) - object_do_animation(0x01ed, 0x22, 0x04ff, 0xff) + object_do_animation(0x01ed, 0x22, 0x04, 0xffff) show_object(0x2f) set_object_flag2(0x2f, OBJFLAG2_04000000) set_object_flag3(0x2f, OBJFLAG3_00000010) - object_do_animation(0x01ee, 0x2f, 0x04ff, 0xff) + object_do_animation(0x01ee, 0x2f, 0x04, 0xffff) restart_timer fade_to_color(0x000000ff, 0x0000) fade_to_color(0x00000000, 0x006e) @@ -3844,7 +3844,7 @@ u8 func1003_intro[] = { set_chr_hudpiece_visible(CHR_BOND, FALSE) unset_object_flag2(0x22, OBJFLAG2_04000000) set_object_flag3(0x22, OBJFLAG3_00000010) - object_do_animation(0x01ed, 0x22, 0x01ff, 0xfe) + object_do_animation(0x01ed, 0x22, 0x01, 0xfffe) set_ailist(0x00, 0x0405) set_ailist(0x01, 0x0405) set_ailist(CHR_STEWARDESS, AILIST_STEWARDESS) diff --git a/src/files/setup/setupdam.c b/src/files/setup/setupdam.c index 06082d5c2..edcbd9658 100644 --- a/src/files/setup/setupdam.c +++ b/src/files/setup/setupdam.c @@ -845,22 +845,22 @@ u8 func0c01_outro[] = { show_object(OBJ_OUTRO_SUBMARINE) set_object_flag2(OBJ_OUTRO_SUBMARINE, OBJFLAG2_04000000) set_object_flag3(OBJ_OUTRO_SUBMARINE, OBJFLAG3_00000010) - object_do_animation(0x02e5, OBJ_OUTRO_SUBMARINE, 0x04ff, 0xff) + object_do_animation(0x02e5, OBJ_OUTRO_SUBMARINE, 0x04, 0xffff) show_object(OBJ_OUTRO_GRATE) set_object_flag2(OBJ_OUTRO_GRATE, OBJFLAG2_04000000) set_object_flag3(OBJ_OUTRO_GRATE, OBJFLAG3_00000010) - object_do_animation(0x02e6, OBJ_OUTRO_GRATE, 0x04ff, 0xff) + object_do_animation(0x02e6, OBJ_OUTRO_GRATE, 0x04, 0xffff) show_object(OBJ_OUTRO_CRATE1) set_object_flag2(OBJ_OUTRO_CRATE1, OBJFLAG2_04000000) set_object_flag3(OBJ_OUTRO_CRATE1, OBJFLAG3_00000010) - object_do_animation(0x02e7, OBJ_OUTRO_CRATE1, 0x04ff, 0xff) + object_do_animation(0x02e7, OBJ_OUTRO_CRATE1, 0x04, 0xffff) show_object(OBJ_OUTRO_CRATE2) set_object_flag2(OBJ_OUTRO_CRATE2, OBJFLAG2_04000000) set_object_flag3(OBJ_OUTRO_CRATE2, OBJFLAG3_00000010) - object_do_animation(0x02e8, OBJ_OUTRO_CRATE2, 0x04ff, 0xff) + object_do_animation(0x02e8, OBJ_OUTRO_CRATE2, 0x04, 0xffff) set_cutscene_weapon(CHR_P1P2, WEAPON_NONE, WEAPON_NONE) yield diff --git a/src/files/setup/setupeld.c b/src/files/setup/setupeld.c index 3e21d67b1..2134154a8 100644 --- a/src/files/setup/setupeld.c +++ b/src/files/setup/setupeld.c @@ -800,7 +800,7 @@ u8 func1002_intro[] = { show_object(OBJ_DROPSHIP) set_object_flag2(OBJ_DROPSHIP, OBJFLAG2_04000000) set_object_flag3(OBJ_DROPSHIP, OBJFLAG3_00000010) - object_do_animation(0x0175, OBJ_DROPSHIP, 0x04ff, 0xff) + object_do_animation(0x0175, OBJ_DROPSHIP, 0x04, 0xffff) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) @@ -1051,7 +1051,7 @@ u8 func1002_intro[] = { show_object(OBJ_DROPSHIP) set_object_flag2(OBJ_DROPSHIP, OBJFLAG2_04000000) set_object_flag3(OBJ_DROPSHIP, OBJFLAG3_00000010) - object_do_animation(0x01bd, OBJ_DROPSHIP, 0x04ff, 0xff) + object_do_animation(0x01bd, OBJ_DROPSHIP, 0x04, 0xffff) restart_timer diff --git a/src/files/setup/setupimp.c b/src/files/setup/setupimp.c index 4bdb5cd49..39eda9259 100644 --- a/src/files/setup/setupimp.c +++ b/src/files/setup/setupimp.c @@ -876,7 +876,7 @@ u8 func0c01_outro[] = { show_object(object) \ set_object_flag2(object, OBJFLAG2_04000000) \ set_object_flag3(object, OBJFLAG3_00000010) \ - object_do_animation(animation, object, 0x04ff, 0xff) + object_do_animation(animation, object, 0x04, 0xffff) @@ -892,7 +892,7 @@ u8 func0c01_outro[] = { unset_object_flag(0x0d, OBJFLAG_DEACTIVATED) set_object_flag2(0x0d, OBJFLAG2_04000000) set_object_flag3(0x0d, OBJFLAG3_00000010) - object_do_animation(0x01b4, 0x0d, 0x01ff, 0xff) + object_do_animation(0x01b4, 0x0d, 0x01, 0xffff) show_nonessential_chrs(FALSE) open_door(0x51) @@ -988,7 +988,7 @@ u8 func0c01_outro[] = { show_object(0x16) set_object_flag2(0x16, OBJFLAG2_04000000) set_object_flag3(0x16, OBJFLAG3_00000010) - object_do_animation(0x01b1, 0x16, 0x02ff, 0xff) + object_do_animation(0x01b1, 0x16, 0x02, 0xffff) wait_until(372, 0x7a) play_sound(0x0506, CHANNEL_10) @@ -1178,7 +1178,7 @@ u8 func1002_intro[] = { show_object(0x0d) set_object_flag2(0x0d, OBJFLAG2_04000000) set_object_flag3(0x0d, OBJFLAG3_00000010) - object_do_animation(0x02c1, 0x0d, 0x04ff, 0xff) + object_do_animation(0x02c1, 0x0d, 0x04, 0xffff) restart_timer set_cutscene_weapon(0x1a, WEAPON_NONE, WEAPON_NONE) yield @@ -1413,11 +1413,11 @@ u8 func1002_intro[] = { show_object(0x52) set_object_flag2(0x52, OBJFLAG2_04000000) set_object_flag3(0x52, OBJFLAG3_00000010) - object_do_animation(0x02c5, 0x52, 0x04ff, 0xff) + object_do_animation(0x02c5, 0x52, 0x04, 0xffff) show_object(0x53) set_object_flag2(0x53, OBJFLAG2_04000000) set_object_flag3(0x53, OBJFLAG3_00000010) - object_do_animation(0x02c6, 0x53, 0x04ff, 0xff) + object_do_animation(0x02c6, 0x53, 0x04, 0xffff) restart_timer #define wait_until2(time, loopid) \ @@ -1508,15 +1508,15 @@ u8 func1002_intro[] = { unset_object_flag2(0x0d, OBJFLAG2_04000000) set_object_flag(0x0d, OBJFLAG_DEACTIVATED) set_object_flag3(0x0d, OBJFLAG3_00000010) - object_do_animation(0x01b4, 0x0d, 0x01ff, 0xff) + object_do_animation(0x01b4, 0x0d, 0x01, 0xffff) show_object(0x52) set_object_flag2(0x52, OBJFLAG2_04000000) set_object_flag3(0x52, OBJFLAG3_00000010) - object_do_animation(0x02c5, 0x52, 0x04ff, 0xfe) + object_do_animation(0x02c5, 0x52, 0x04, 0xfffe) show_object(0x53) set_object_flag2(0x53, OBJFLAG2_04000000) set_object_flag3(0x53, OBJFLAG3_00000010) - object_do_animation(0x02c6, 0x53, 0x04ff, 0xfe) + object_do_animation(0x02c6, 0x53, 0x04, 0xfffe) set_stage_flag(STAGEFLAG_INTRO_FINISHED) restart_default_music reset_ambience @@ -3194,7 +3194,7 @@ u8 func1022_skedar_shuttle[] = { show_object(OBJ_SKEDAR_SHUTTLE) set_object_flag2(OBJ_SKEDAR_SHUTTLE, OBJFLAG2_04000000) set_object_flag3(OBJ_SKEDAR_SHUTTLE, OBJFLAG3_00000010) - object_do_animation(0x045a, OBJ_SKEDAR_SHUTTLE, 0x04ff, 0xff) + object_do_animation(0x045a, OBJ_SKEDAR_SHUTTLE, 0x04, 0xffff) set_object_part_visible(OBJ_SKEDAR_SHUTTLE, FALSE) set_object_flag(OBJ_SKEDAR_SHUTTLE, OBJFLAG_00000100) @@ -3220,7 +3220,7 @@ u8 func1022_skedar_shuttle[] = { beginloop(0x04) if_stage_flag_eq(STAGEFLAG_BOMB_EXPLODING_ON_GROUND, TRUE, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_TRIGGER_SHUTTLE_TAKEOFF, TRUE, /*goto*/ 0x0a) - object_do_animation(0x045a, OBJ_SKEDAR_SHUTTLE, 0x04ff, 0xff) + object_do_animation(0x045a, OBJ_SKEDAR_SHUTTLE, 0x04, 0xffff) endloop(0x04) // Bomb exploding while on ground @@ -3259,7 +3259,7 @@ u8 func1022_skedar_shuttle[] = { label(0x0a) hide_countdown_timer stop_countdown_timer - object_do_animation(0x045b, OBJ_SKEDAR_SHUTTLE, 0x08ff, 0xff) + object_do_animation(0x045b, OBJ_SKEDAR_SHUTTLE, 0x08, 0xffff) assign_sound(0x810a, CHANNEL_3) play_sound_from_object(CHANNEL_3, OBJ_SKEDAR_SHUTTLE, 0x0708, 0x0bb8) restart_timer diff --git a/src/files/setup/setuplee.c b/src/files/setup/setuplee.c index 72d9bb39b..ba12daa17 100644 --- a/src/files/setup/setuplee.c +++ b/src/files/setup/setuplee.c @@ -2809,7 +2809,7 @@ u8 func0c01_outro[] = { show_object(OBJ_OUTRO_SHUTTLE) set_object_flag2(OBJ_OUTRO_SHUTTLE, OBJFLAG2_04000000) set_object_flag3(OBJ_OUTRO_SHUTTLE, OBJFLAG3_00000010) - object_do_animation(0x01e4, OBJ_OUTRO_SHUTTLE, 0x04ff, 0xff) + object_do_animation(0x01e4, OBJ_OUTRO_SHUTTLE, 0x04, 0xffff) set_object_part_visible(OBJ_OUTRO_SHUTTLE, FALSE) show_nonessential_chrs(FALSE) @@ -3374,7 +3374,7 @@ u8 func1002_hangar_shuttle[] = { beginloop(0x08) if_stage_flag_eq(STAGEFLAG_BRIDGE_CAPTURED, TRUE, /*goto*/ 0x06) if_objective_complete(4, /*goto*/ 0x06) - object_do_animation(0x045c, OBJ_HANGAR_SHUTTLE, 0x08ff, 0xff) + object_do_animation(0x045c, OBJ_HANGAR_SHUTTLE, 0x08, 0xffff) endloop(0x08) label(0x2c) diff --git a/src/files/setup/setuplip.c b/src/files/setup/setuplip.c index 723f2a6e3..f5835eec5 100644 --- a/src/files/setup/setuplip.c +++ b/src/files/setup/setuplip.c @@ -2627,7 +2627,7 @@ u8 func041f_labtech_lights[] = { // Jo in sight label(0x03) - object_do_animation(0x025a, 0xff, 0x02ff, 0xff) + object_do_animation(0x025a, 0xff, 0x02, 0xffff) dprint 'T','A','L','K',' ','0','\n',0, if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x53) restart_timer @@ -2644,7 +2644,7 @@ u8 func041f_labtech_lights[] = { if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06) if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d) label(0x06) - object_do_animation(0x025a, 0xff, 0x02ff, 0xff) + object_do_animation(0x025a, 0xff, 0x02, 0xffff) speak(CHR_TARGET, 0x2a25, 0x8103, CHANNEL_4, COLOR_08_RED) // "Who are you?" goto_next(0x06) @@ -3661,7 +3661,7 @@ u8 func0c01_outro[] = { set_object_flag2(0x2f, OBJFLAG2_04000000) set_object_flag3(0x2f, OBJFLAG3_00000010) - object_do_animation(0x01a1, 0x2f, 0x04ff, 0xff) + object_do_animation(0x01a1, 0x2f, 0x04, 0xffff) show_nonessential_chrs(FALSE) restart_timer set_cutscene_weapon(CHR_P1P2, WEAPON_NONE, WEAPON_NONE) @@ -3763,7 +3763,7 @@ u8 func1002_intro[] = { set_object_flag2(OBJ_CRATE, OBJFLAG2_04000000) set_object_flag3(OBJ_CRATE, OBJFLAG3_00000010) - object_do_animation(0x01ca, OBJ_CRATE, 0x04ff, 0xff) + object_do_animation(0x01ca, OBJ_CRATE, 0x04, 0xffff) restart_timer fade_to_color(0x000000ff, 0) @@ -3914,7 +3914,7 @@ u8 func1002_intro[] = { mute_channel(CHANNEL_10) unset_object_flag2(OBJ_CRATE, OBJFLAG2_04000000) set_object_flag3(OBJ_CRATE, OBJFLAG3_00000010) - object_do_animation(0x01ca, OBJ_CRATE, 0x01ff, 0xfe) + object_do_animation(0x01ca, OBJ_CRATE, 0x01, 0xfffe) close_door(0x33) close_door(0x34) restart_default_music diff --git a/src/files/setup/setuplue.c b/src/files/setup/setuplue.c index 99e8f179a..5003ea875 100644 --- a/src/files/setup/setuplue.c +++ b/src/files/setup/setuplue.c @@ -1957,7 +1957,7 @@ u8 func0410_intro[] = { set_object_flag2(0x2f, OBJFLAG2_04000000) set_object_flag3(0x2f, OBJFLAG3_00000010) - object_do_animation(0x0187, 0x2f, 0x04ff, 0xff) + object_do_animation(0x0187, 0x2f, 0x04, 0xffff) restart_timer wait_until(186, 0x65) @@ -1998,7 +1998,7 @@ u8 func0410_intro[] = { set_object_flag2(0x2f, OBJFLAG2_04000000) set_object_flag3(0x2f, OBJFLAG3_00000010) - object_do_animation(0x018b, 0x2f, 0x04ff, 0xff) + object_do_animation(0x018b, 0x2f, 0x04, 0xffff) restart_timer wait_until(416, 0x67) diff --git a/src/files/setup/setupold.c b/src/files/setup/setupold.c index c9f256dd4..f0bc010b7 100644 --- a/src/files/setup/setupold.c +++ b/src/files/setup/setupold.c @@ -66,7 +66,7 @@ u8 func0c00_017c[] = { show_object(0x00) set_object_flag2(0x00, OBJFLAG2_04000000) set_object_flag3(0x00, OBJFLAG3_00000010) - object_do_animation(0x045e, 0x00, 0x04ff, 0xff) + object_do_animation(0x045e, 0x00, 0x04, 0xffff) beginloop(0x08) if_camera_animating(/*goto*/ 0x31) @@ -83,7 +83,7 @@ u8 func0c00_017c[] = { show_object(0x01) set_object_flag2(0x01, OBJFLAG2_04000000) set_object_flag3(0x01, OBJFLAG3_00000010) - object_do_animation(0x0465, 0x01, 0x04ff, 0xff) + object_do_animation(0x0465, 0x01, 0x04, 0xffff) beginloop(0x0b) if_camera_animating(/*goto*/ 0x31) @@ -101,12 +101,12 @@ u8 func0c00_017c[] = { show_object(0x00) set_object_flag2(0x00, OBJFLAG2_04000000) set_object_flag3(0x00, OBJFLAG3_00000010) - object_do_animation(0x0462, 0x00, 0x04ff, 0xff) + object_do_animation(0x0462, 0x00, 0x04, 0xffff) show_object(0x01) set_object_flag2(0x01, OBJFLAG2_04000000) set_object_flag3(0x01, OBJFLAG3_00000010) - object_do_animation(0x0463, 0x01, 0x04ff, 0xff) + object_do_animation(0x0463, 0x01, 0x04, 0xffff) beginloop(0x0a) if_camera_animating(/*goto*/ 0x31) @@ -125,17 +125,17 @@ u8 func0c00_017c[] = { show_object(0x01) unset_object_flag2(0x01, OBJFLAG2_04000000) set_object_flag3(0x01, OBJFLAG3_00000010) - object_do_animation(0x046e, 0x01, 0x04ff, 0xff) + object_do_animation(0x046e, 0x01, 0x04, 0xffff) show_object(0x00) set_object_flag2(0x00, OBJFLAG2_04000000) set_object_flag3(0x00, OBJFLAG3_00000010) - object_do_animation(0x046d, 0x00, 0x04ff, 0xff) + object_do_animation(0x046d, 0x00, 0x04, 0xffff) show_object(0x02) set_object_flag2(0x02, OBJFLAG2_04000000) set_object_flag3(0x02, OBJFLAG3_00000010) - object_do_animation(0x046f, 0x02, 0x04ff, 0xff) + object_do_animation(0x046f, 0x02, 0x04, 0xffff) beginloop(0x0e) if_camera_animating(/*goto*/ 0x31) diff --git a/src/files/setup/setuppam.c b/src/files/setup/setuppam.c index e59860cb1..d6517a620 100644 --- a/src/files/setup/setuppam.c +++ b/src/files/setup/setuppam.c @@ -1502,7 +1502,7 @@ u8 func0c01_midcutscene[] = { show_object(0xbb) set_object_flag2(0xbb, OBJFLAG2_04000000) set_object_flag3(0xbb, OBJFLAG3_00000010) - object_do_animation(0x01d8, 0xbb, 0x04ff, 0xff) + object_do_animation(0x01d8, 0xbb, 0x04, 0xffff) restart_timer set_cutscene_weapon(CHR_P1P2, WEAPON_NONE, WEAPON_NONE) yield @@ -2035,7 +2035,7 @@ u8 func1002_intro[] = { set_object_flag(0x07, OBJFLAG_DEACTIVATED) set_object_flag2(0x07, OBJFLAG2_04000000) set_object_flag3(0x07, OBJFLAG3_00000010) - object_do_animation(0x01f2, 0x07, 0x04ff, 0xff) + object_do_animation(0x01f2, 0x07, 0x04, 0xffff) set_chr_chrflag(0x40, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x40, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x40, CHRHFLAG_00020000) @@ -2193,7 +2193,7 @@ u8 func1002_intro[] = { unset_object_flag(0x07, OBJFLAG_DEACTIVATED) unset_object_flag2(0x07, OBJFLAG2_04000000) set_object_flag3(0x07, OBJFLAG3_00000010) - object_do_animation(0x01f2, 0x07, 0x01ff, 0xfe) + object_do_animation(0x01f2, 0x07, 0x01, 0xfffe) goto_next(0x46) label(0x45) diff --git a/src/files/setup/setuppete.c b/src/files/setup/setuppete.c index 5d9ba85d8..5e9dec071 100644 --- a/src/files/setup/setuppete.c +++ b/src/files/setup/setuppete.c @@ -482,7 +482,7 @@ s32 path13[] = { show_object(object) \ set_object_flag2(object, OBJFLAG2_04000000) \ set_object_flag3(object, OBJFLAG3_00000010) \ - object_do_animation(animation, object, 0x04ff, 0xff) + object_do_animation(animation, object, 0x04, 0xffff) @@ -560,7 +560,7 @@ u8 func0403_3c74[] = { show_object(OBJ_CAR4) set_object_flag2(OBJ_CAR4, OBJFLAG2_04000000) set_object_flag3(OBJ_CAR4, OBJFLAG3_00000010) - object_do_animation(0x00de, OBJ_CAR4, 0x04ff, 0xff) + object_do_animation(0x00de, OBJ_CAR4, 0x04, 0xffff) set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN) set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) @@ -581,7 +581,7 @@ u8 func0404_3ce0[] = { show_object(OBJ_WIREFENCE) set_object_flag2(OBJ_WIREFENCE, OBJFLAG2_04000000) set_object_flag3(OBJ_WIREFENCE, OBJFLAG3_00000010) - object_do_animation(0x0470, OBJ_WIREFENCE, 0x01ff, 0xff) + object_do_animation(0x0470, OBJ_WIREFENCE, 0x01, 0xffff) if_controller_button_pressed(/*goto*/ 0x00) camera_movement(0x00e0) @@ -899,7 +899,7 @@ u8 func040d_limo[] = { label(0x04) set_object_flag2(OBJ_LIMO, OBJFLAG2_04000000) set_object_flag3(OBJ_LIMO, OBJFLAG3_00000010) - object_do_animation(0x02d6, OBJ_LIMO, 0x04ff, 0xff) + object_do_animation(0x02d6, OBJ_LIMO, 0x04, 0xffff) assign_sound(0x01b4, CHANNEL_1) play_sound_from_object(CHANNEL_1, OBJ_LIMO, 0x0960, 0x0c80) @@ -942,7 +942,7 @@ u8 func040c_taxi[] = { label(0x03) assign_sound(0x8000, CHANNEL_0) play_sound_from_object(CHANNEL_0, OBJ_TAXI, 0x0960, 0x0c80) - object_do_animation(0x0168, OBJ_TAXI, 0x04ff, 0xff) + object_do_animation(0x0168, OBJ_TAXI, 0x04, 0xffff) set_object_flag2(OBJ_TAXI, OBJFLAG2_04000000) // Wait for flag @@ -969,7 +969,7 @@ u8 func040c_taxi[] = { set_stage_flag(STAGEFLAG_TRIGGER_CRASH) yield mute_channel(CHANNEL_0) - object_do_animation(0x0169, OBJ_TAXI, 0x04ff, 0xff) + object_do_animation(0x0169, OBJ_TAXI, 0x04, 0xffff) label(0x0a) set_ailist(CHR_SELF, GAILIST_IDLE) endlist diff --git a/src/files/setup/setuprit.c b/src/files/setup/setuprit.c index babe82d2f..98fee5228 100644 --- a/src/files/setup/setuprit.c +++ b/src/files/setup/setuprit.c @@ -3449,19 +3449,19 @@ u8 func0423_outro[] = { show_object(0x19) set_object_flag2(0x19, OBJFLAG2_04000000) set_object_flag3(0x19, OBJFLAG3_00000010) - object_do_animation(0x02db, 0x19, 0x04ff, 0xff) + object_do_animation(0x02db, 0x19, 0x04, 0xffff) show_object(0x1a) set_object_flag2(0x1a, OBJFLAG2_04000000) set_object_flag3(0x1a, OBJFLAG3_00000010) - object_do_animation(0x02dc, 0x1a, 0x04ff, 0xff) + object_do_animation(0x02dc, 0x1a, 0x04, 0xffff) show_object(0x23) set_object_flag2(0x23, OBJFLAG2_04000000) set_object_flag3(0x23, OBJFLAG3_00000010) - object_do_animation(0x02dd, 0x23, 0x04ff, 0xff) + object_do_animation(0x02dd, 0x23, 0x04, 0xffff) show_object(0x37) set_object_flag2(0x37, OBJFLAG2_04000000) set_object_flag3(0x37, OBJFLAG3_00000010) - object_do_animation(0x02de, 0x37, 0x04ff, 0xff) + object_do_animation(0x02de, 0x37, 0x04, 0xffff) restart_timer set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) yield @@ -3571,13 +3571,13 @@ u8 func1019_midcutscene[] = { show_object(0x19) set_object_flag2(0x19, OBJFLAG2_04000000) set_object_flag3(0x19, OBJFLAG3_00000010) - object_do_animation(0x02e0, 0x19, 0x04ff, 0xff) + object_do_animation(0x02e0, 0x19, 0x04, 0xffff) set_object_part_visible(0x19, TRUE) show_object(0x37) set_object_flag2(0x37, OBJFLAG2_04000000) set_object_flag3(0x37, OBJFLAG3_00000010) - object_do_animation(0x02e1, 0x37, 0x04ff, 0xff) + object_do_animation(0x02e1, 0x37, 0x04, 0xffff) restart_timer diff --git a/src/files/setup/setupsev.c b/src/files/setup/setupsev.c index ea7959e7a..527bd519e 100644 --- a/src/files/setup/setupsev.c +++ b/src/files/setup/setupsev.c @@ -1523,7 +1523,7 @@ u8 func1002_intro[] = { chr_do_animation(0x0477, -1, -1, 0x06, 0x00, CHR_BOND, 4) set_object_flag2(OBJ_TROLLEY, OBJFLAG2_04000000) set_object_flag3(OBJ_TROLLEY, OBJFLAG3_00000010) - object_do_animation(0x0478, OBJ_TROLLEY, 0x04ff, 0xff) + object_do_animation(0x0478, OBJ_TROLLEY, 0x04, 0xffff) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) @@ -1567,7 +1567,7 @@ u8 func1002_intro[] = { chr_do_animation(0x0477, -2, -1, 0x06, 0x00, CHR_BOND, 2) unset_object_flag2(OBJ_TROLLEY, OBJFLAG2_04000000) set_object_flag3(OBJ_TROLLEY, OBJFLAG3_00000010) - object_do_animation(0x0478, OBJ_TROLLEY, 0x04ff, 0xfe) + object_do_animation(0x0478, OBJ_TROLLEY, 0x04, 0xfffe) restart_default_music reset_ambience enter_firstperson diff --git a/src/files/setup/setupsho.c b/src/files/setup/setupsho.c index f516b2c0d..fb8fe20d4 100644 --- a/src/files/setup/setupsho.c +++ b/src/files/setup/setupsho.c @@ -2679,7 +2679,7 @@ u8 func0c00_intro[] = { show_object(0x36) set_object_flag2(0x36, OBJFLAG2_04000000) set_object_flag3(0x36, OBJFLAG3_00000010) - object_do_animation(0x02fa, 0x36, 0x01ff, 0xff) + object_do_animation(0x02fa, 0x36, 0x01, 0xffff) set_object_part_visible(0x36, FALSE) beginloop(0x0e) @@ -2748,7 +2748,7 @@ u8 func0c00_intro[] = { show_object(0x36) set_object_flag2(0x36, OBJFLAG2_04000000) set_object_flag3(0x36, OBJFLAG3_00000010) - object_do_animation(0x0302, 0x36, 0x04ff, 0xff) + object_do_animation(0x0302, 0x36, 0x04, 0xffff) set_object_part_visible(0x36, FALSE) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) @@ -2856,7 +2856,7 @@ u8 func0414_outro[] = { set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000) chr_do_animation(0x044d, -1, -1, 0x06, 0x00, CHR_KING1, 4) - object_do_animation(0x044e, OBJ_SPIKE_T, 0x04ff, 0xff) + object_do_animation(0x044e, OBJ_SPIKE_T, 0x04, 0xffff) set_stage_flag(STAGEFLAG_IN_OUTRO) show_nonessential_chrs(FALSE) @@ -2882,37 +2882,37 @@ u8 func0414_outro[] = { set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000) chr_do_animation(0x0451, -1, -1, 0x06, 0x00, CHR_TARGET, 4) - object_do_animation(0x0452, OBJ_SPIKE_T, 0x04ff, 0xff) + object_do_animation(0x0452, OBJ_SPIKE_T, 0x04, 0xffff) show_object(0x37) set_object_flag2(0x37, OBJFLAG2_04000000) set_object_flag3(0x37, OBJFLAG3_00000010) - object_do_animation(0x0453, 0x37, 0x04ff, 0xff) + object_do_animation(0x0453, 0x37, 0x04, 0xffff) show_object(0x38) set_object_flag2(0x38, OBJFLAG2_04000000) set_object_flag3(0x38, OBJFLAG3_00000010) - object_do_animation(0x0454, 0x38, 0x04ff, 0xff) + object_do_animation(0x0454, 0x38, 0x04, 0xffff) show_object(0x39) set_object_flag2(0x39, OBJFLAG2_04000000) set_object_flag3(0x39, OBJFLAG3_00000010) - object_do_animation(0x0455, 0x39, 0x04ff, 0xff) + object_do_animation(0x0455, 0x39, 0x04, 0xffff) show_object(0x3a) set_object_flag2(0x3a, OBJFLAG2_04000000) set_object_flag3(0x3a, OBJFLAG3_00000010) - object_do_animation(0x0456, 0x3a, 0x04ff, 0xff) + object_do_animation(0x0456, 0x3a, 0x04, 0xffff) show_object(0x3b) set_object_flag2(0x3b, OBJFLAG2_04000000) set_object_flag3(0x3b, OBJFLAG3_00000010) - object_do_animation(0x0457, 0x3b, 0x04ff, 0xff) + object_do_animation(0x0457, 0x3b, 0x04, 0xffff) show_object(0x3c) set_object_flag2(0x3c, OBJFLAG2_04000000) set_object_flag3(0x3c, OBJFLAG3_00000010) - object_do_animation(0x0458, 0x3c, 0x04ff, 0xff) + object_do_animation(0x0458, 0x3c, 0x04, 0xffff) beginloop(0x09) if_camera_animating(/*goto*/ 0x2d) @@ -2940,22 +2940,22 @@ u8 func0414_outro[] = { show_object(0x23) set_object_flag2(0x23, OBJFLAG2_04000000) set_object_flag3(0x23, OBJFLAG3_00000010) - object_do_animation(0x02ca, 0x23, 0x04ff, 0xff) + object_do_animation(0x02ca, 0x23, 0x04, 0xffff) show_object(0x24) set_object_flag2(0x24, OBJFLAG2_04000000) set_object_flag3(0x24, OBJFLAG3_00000010) - object_do_animation(0x02cb, 0x24, 0x04ff, 0xff) + object_do_animation(0x02cb, 0x24, 0x04, 0xffff) show_object(0x25) set_object_flag2(0x25, OBJFLAG2_04000000) set_object_flag3(0x25, OBJFLAG3_00000010) - object_do_animation(0x02cc, 0x25, 0x04ff, 0xff) + object_do_animation(0x02cc, 0x25, 0x04, 0xffff) show_object(0x26) set_object_flag2(0x26, OBJFLAG2_04000000) set_object_flag3(0x26, OBJFLAG3_00000010) - object_do_animation(0x02cd, 0x26, 0x04ff, 0xff) + object_do_animation(0x02cd, 0x26, 0x04, 0xffff) beginloop(0x0b) if_camera_animating(/*goto*/ 0x2d) diff --git a/src/files/setup/setuptra.c b/src/files/setup/setuptra.c index 4543caa55..22fc4f4e3 100644 --- a/src/files/setup/setuptra.c +++ b/src/files/setup/setuptra.c @@ -2476,7 +2476,7 @@ u8 func1002_intro[] = { set_object_flag2(0x00, OBJFLAG2_04000000) set_object_flag3(0x00, OBJFLAG3_00000010) - object_do_animation(0x01a0, 0x00, 0x04ff, 0xff) + object_do_animation(0x01a0, 0x00, 0x04, 0xffff) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) @@ -2765,7 +2765,7 @@ u8 func1002_intro[] = { unset_object_flag2(OBJ_HOVERBED, OBJFLAG2_04000000) set_object_flag3(OBJ_HOVERBED, OBJFLAG3_00000010) - object_do_animation(0x01a0, OBJ_HOVERBED, 0x04ff, 0xfe) + object_do_animation(0x01a0, OBJ_HOVERBED, 0x04, 0xfffe) drop_concealed_items(0x23) drop_concealed_items(0x24) @@ -2825,7 +2825,7 @@ u8 func0c01_midcutscene[] = { set_object_flag2(0x11, OBJFLAG2_04000000) set_object_flag3(0x11, OBJFLAG3_00000010) - object_do_animation(0x01cf, 0x11, 0x04ff, 0xff) + object_do_animation(0x01cf, 0x11, 0x04, 0xffff) show_nonessential_chrs(FALSE) if_object_in_room(OBJ_HOVERBIKE, 0x00df, /*goto*/ 0x06) @@ -2965,7 +2965,7 @@ u8 func0c01_midcutscene[] = { unset_object_flag2(0x11, OBJFLAG2_04000000) set_object_flag3(0x11, OBJFLAG3_00000010) - object_do_animation(0x01cf, 0x11, 0x04ff, 0xfe) + object_do_animation(0x01cf, 0x11, 0x04, 0xfffe) unset_object_flag2(0x0a, OBJFLAG2_AICANNOTUSE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE) @@ -3010,7 +3010,7 @@ u8 func0c02_outro[] = { show_object(OBJ_UFO1) set_object_flag2(OBJ_UFO1, OBJFLAG2_04000000) set_object_flag3(OBJ_UFO1, OBJFLAG3_00000010) - object_do_animation(0x02d3, OBJ_UFO1, 0x04ff, 0xff) + object_do_animation(0x02d3, OBJ_UFO1, 0x04, 0xffff) set_stage_flag(STAGEFLAG_STARTED_OUTRO) remove_chr(CHR_ELVIS) @@ -3035,7 +3035,7 @@ u8 func0c02_outro[] = { show_object(OBJ_UFO1) set_object_flag2(OBJ_UFO1, OBJFLAG2_04000000) set_object_flag3(OBJ_UFO1, OBJFLAG3_00000010) - object_do_animation(0x02d5, OBJ_UFO1, 0x04ff, 0xff) + object_do_animation(0x02d5, OBJ_UFO1, 0x04, 0xffff) set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN) @@ -3093,7 +3093,7 @@ u8 func0415_ufo_exit[] = { show_object(OBJ_UFO1) set_object_flag2(OBJ_UFO1, OBJFLAG2_04000000) set_object_flag3(OBJ_UFO1, OBJFLAG3_00000010) - object_do_animation(0x02d3, OBJ_UFO1, 0x04ff, 0xff) + object_do_animation(0x02d3, OBJ_UFO1, 0x04, 0xffff) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE) @@ -3156,7 +3156,7 @@ u8 func1021_jo_escaping[] = { show_object(OBJ_UFO1) set_object_flag2(OBJ_UFO1, OBJFLAG2_04000000) set_object_flag3(OBJ_UFO1, OBJFLAG3_00000010) - object_do_animation(0x02d5, OBJ_UFO1, 0x04ff, 0xff) + object_do_animation(0x02d5, OBJ_UFO1, 0x04, 0xffff) set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) @@ -3513,7 +3513,7 @@ u8 func1026_ufo_spinning[] = { set_object_flag3(OBJ_UFO2, OBJFLAG3_00000010) label(0x03) - object_do_animation(0x0459, OBJ_UFO2, 0x04ff, 0xff) + object_do_animation(0x0459, OBJ_UFO2, 0x04, 0xffff) restart_timer beginloop(0x08) diff --git a/src/files/setup/setupwax.c b/src/files/setup/setupwax.c index 19d8d1fb8..eba143e85 100644 --- a/src/files/setup/setupwax.c +++ b/src/files/setup/setupwax.c @@ -2022,7 +2022,7 @@ u8 func0417_outro[] = { show_object(OBJ_SHUTTLE2) set_object_flag2(OBJ_SHUTTLE2, OBJFLAG2_04000000) set_object_flag3(OBJ_SHUTTLE2, OBJFLAG3_00000010) - object_do_animation(0x0475, OBJ_SHUTTLE2, 0x04ff, 0xff) + object_do_animation(0x0475, OBJ_SHUTTLE2, 0x04, 0xffff) show_nonessential_chrs(FALSE) restart_timer set_object_part_visible(OBJ_SHUTTLE2, FALSE) @@ -2122,7 +2122,7 @@ u8 func1011_shuttle_animation[] = { // Some kind of animation on repeat beginloop(0x08) - object_do_animation(0x0489, OBJ_SHUTTLE1, 0x08ff, -1) + object_do_animation(0x0489, OBJ_SHUTTLE1, 0x08, 0xffff) endloop(0x08) // Unreachable diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 9cf72f912..a75fa8cb8 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -4960,7 +4960,7 @@ glabel func0f0319a8 /* f03239c: 1000000f */ beqz $zero,.L0f0323dc /* f0323a0: 8e180018 */ lw $t8,0x18($s0) .L0f0323a4: -/* f0323a4: 0c008dda */ jal func00023768 +/* f0323a4: 0c008dda */ jal animGetNumFrames /* f0323a8: 84640000 */ lh $a0,0x0($v1) /* f0323ac: 2459ffff */ addiu $t9,$v0,-1 /* f0323b0: 44994000 */ mtc1 $t9,$f8 @@ -5662,7 +5662,7 @@ glabel func0f032ac4 /* f032dc8: 1000000f */ beqz $zero,.L0f032e08 /* f032dcc: 24080001 */ addiu $t0,$zero,0x1 .L0f032dd0: -/* f032dd0: 0c008dda */ jal func00023768 +/* f032dd0: 0c008dda */ jal animGetNumFrames /* f032dd4: 85040000 */ lh $a0,0x0($t0) /* f032dd8: 2449ffff */ addiu $t1,$v0,-1 /* f032ddc: 44893000 */ mtc1 $t1,$f6 @@ -5782,7 +5782,7 @@ glabel func0f032ac4 /* f032f94: 1000000f */ beqz $zero,.L0f032fd4 /* f032f98: 8fbf002c */ lw $ra,0x2c($sp) .L0f032f9c: -/* f032f9c: 0c008dda */ jal func00023768 +/* f032f9c: 0c008dda */ jal animGetNumFrames /* f032fa0: 85040000 */ lh $a0,0x0($t0) /* f032fa4: 244dffff */ addiu $t5,$v0,-1 /* f032fa8: 448d9000 */ mtc1 $t5,$f18 @@ -15956,7 +15956,7 @@ glabel func0f03c138 /* f03c404: e7a80010 */ swc1 $f8,0x10($sp) /* f03c408: 0c007733 */ jal func0001dccc /* f03c40c: e7aa0014 */ swc1 $f10,0x14($sp) -/* f03c410: 0c008dda */ jal func00023768 +/* f03c410: 0c008dda */ jal animGetNumFrames /* f03c414: 2404006b */ addiu $a0,$zero,0x6b /* f03c418: 244dffff */ addiu $t5,$v0,-1 /* f03c41c: 448d8000 */ mtc1 $t5,$f16 @@ -15985,7 +15985,7 @@ glabel func0f03c138 /* f03c470: e7b20010 */ swc1 $f18,0x10($sp) /* f03c474: 0c007733 */ jal func0001dccc /* f03c478: e7a40014 */ swc1 $f4,0x14($sp) -/* f03c47c: 0c008dda */ jal func00023768 +/* f03c47c: 0c008dda */ jal animGetNumFrames /* f03c480: 24040028 */ addiu $a0,$zero,0x28 /* f03c484: 2459ffff */ addiu $t9,$v0,-1 /* f03c488: 44993000 */ mtc1 $t9,$f6 @@ -16013,7 +16013,7 @@ glabel func0f03c138 /* f03c4dc: e7a80010 */ swc1 $f8,0x10($sp) /* f03c4e0: 0c007733 */ jal func0001dccc /* f03c4e4: e7aa0014 */ swc1 $f10,0x14($sp) -/* f03c4e8: 0c008dda */ jal func00023768 +/* f03c4e8: 0c008dda */ jal animGetNumFrames /* f03c4ec: 24040392 */ addiu $a0,$zero,0x392 /* f03c4f0: 244bffff */ addiu $t3,$v0,-1 /* f03c4f4: 448b8000 */ mtc1 $t3,$f16 @@ -17278,7 +17278,7 @@ glabel func0f03d0b0 /* f03d740: 0c007457 */ jal func0001d15c /* f03d744: 8fa400ac */ lw $a0,0xac($sp) /* f03d748: 2c500001 */ sltiu $s0,$v0,0x1 -/* f03d74c: 0c008dda */ jal func00023768 +/* f03d74c: 0c008dda */ jal animGetNumFrames /* f03d750: 2404003c */ addiu $a0,$zero,0x3c /* f03d754: 44828000 */ mtc1 $v0,$f16 /* f03d758: 3c017f1b */ lui $at,%hi(var7f1a8f1c) @@ -17294,7 +17294,7 @@ glabel func0f03d0b0 /* f03d780: e7aa0010 */ swc1 $f10,0x10($sp) /* f03d784: 0c007733 */ jal func0001dccc /* f03d788: e7a80014 */ swc1 $f8,0x14($sp) -/* f03d78c: 0c008dda */ jal func00023768 +/* f03d78c: 0c008dda */ jal animGetNumFrames /* f03d790: 2404003c */ addiu $a0,$zero,0x3c /* f03d794: 44823000 */ mtc1 $v0,$f6 /* f03d798: 3c01424c */ lui $at,0x424c diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 6c3b4112f..297f9f222 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -427,7 +427,7 @@ bool aiChrDoAnimation(void) if (startframe == 0xffff) { fstartframe = 0; } else if (startframe == 0xfffe) { - fstartframe = func00023768(anim_id) - 1; + fstartframe = animGetNumFrames(anim_id) - 1; } else { fstartframe = startframe; } @@ -5450,7 +5450,7 @@ bool aiObjectDoAnimation(void) if (startframe == 0xffff) { fstartframe = 0; } else if (startframe == 0xfffe) { - fstartframe = func00023768(anim_id) - 2; + fstartframe = animGetNumFrames(anim_id) - 2; if (fstartframe < 0) { fstartframe = 0; diff --git a/src/game/data/ailists.c b/src/game/data/ailists.c index 146a7b83a..cb54cbc33 100644 --- a/src/game/data/ailists.c +++ b/src/game/data/ailists.c @@ -95,7 +95,7 @@ u8 func0006_unalerted[] = { dprint 'N','O','G','U','N','2','\n',0, dprint 'A','N','I','M',' ','O','B','J','E','C','T',' ','N','O','W','\n',0, set_chr_maxdamage(CHR_SELF, 40) - object_do_animation(0x025a, 0xff, 0x02ff, 0xff) + object_do_animation(0x025a, 0xff, 0x02, 0xffff) chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, 0x02, 0x10, CHR_SELF, 2) unset_self_flag_bankx(CHRFLAG1_DOINGIDLEANIMATION, BANK_1) set_chr_special_death_animation(CHR_SELF, 0) @@ -821,12 +821,12 @@ u8 func0008_wakeup[] = { label(0x15) set_chr_maxdamage(CHR_SELF, 40) chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, 0x02, 0x10, CHR_SELF, 2) - object_do_animation(0x025a, 0xff, 0x02ff, 0xff) + object_do_animation(0x025a, 0xff, 0x02, 0xffff) goto_next(0x0c) // Unreachable - nothing jumps here label(0x16) - object_do_animation(0x027b, 0xff, 0x02ff, 0xff) + object_do_animation(0x027b, 0xff, 0x02, 0xffff) // Wait for stand up animation to finish label(0x0c) @@ -2710,7 +2710,7 @@ u8 func000a_do_idle_animation[] = { // Stand up label(0x13) chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, 0x02, 0x10, CHR_SELF, 2) - object_do_animation(0x025a, 0xff, 0x02ff, 0xff) + object_do_animation(0x025a, 0xff, 0x02, 0xffff) beginloop(0x06) if_chr_stopped(/*goto*/ 0x13) @@ -2822,7 +2822,7 @@ u8 func000d_init_combat[] = { label(0x05) set_chr_maxdamage(CHR_SELF, 40) chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, 0x02, 0x10, CHR_SELF, 2) - object_do_animation(0x025a, 0xff, 0x02ff, 0xff) + object_do_animation(0x025a, 0xff, 0x02, 0xffff) beginloop(0x0c) if_chr_stopped(/*goto*/ 0x13) diff --git a/src/game/game_000130.c b/src/game/game_000130.c index d69614a8a..cfedea5b8 100644 --- a/src/game/game_000130.c +++ b/src/game/game_000130.c @@ -360,14 +360,14 @@ glabel func0f0005c0 /* f0005c0: 27bdffe0 */ addiu $sp,$sp,-32 /* f0005c4: afbf0014 */ sw $ra,0x14($sp) /* f0005c8: afa40020 */ sw $a0,0x20($sp) -/* f0005cc: 0c008dda */ jal func00023768 +/* f0005cc: 0c008dda */ jal animGetNumFrames /* f0005d0: 87a40022 */ lh $a0,0x22($sp) /* f0005d4: 87a40022 */ lh $a0,0x22($sp) /* f0005d8: 00002825 */ or $a1,$zero,$zero /* f0005dc: 0fc000d6 */ jal func0f000358 /* f0005e0: 2446ffff */ addiu $a2,$v0,-1 /* f0005e4: afa20018 */ sw $v0,0x18($sp) -/* f0005e8: 0c008dda */ jal func00023768 +/* f0005e8: 0c008dda */ jal animGetNumFrames /* f0005ec: 87a40022 */ lh $a0,0x22($sp) /* f0005f0: 8fae0018 */ lw $t6,0x18($sp) /* f0005f4: 44824000 */ mtc1 $v0,$f8 diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 28f4a3a7f..990aa7e0b 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -4160,7 +4160,7 @@ void func0f0ba010(void) var8009de2c = -1; var80070764 = 1; func0f11dcb0(1); - g_Vars.in_cutscene = g_Vars.tickmode == TICKMODE_6 && var8009de10 < func00023768(var8009de18) - 1; + g_Vars.in_cutscene = g_Vars.tickmode == TICKMODE_6 && var8009de10 < animGetNumFrames(var8009de18) - 1; g_Vars.unk0004e2 = 0; } @@ -4227,7 +4227,7 @@ glabel func0f0ba190 /* f0ba198: ac24de2c */ sw $a0,-0x21d4($at) /* f0ba19c: afbf0024 */ sw $ra,0x24($sp) /* f0ba1a0: 3c04800a */ lui $a0,0x800a -/* f0ba1a4: 0c008dda */ jal func00023768 +/* f0ba1a4: 0c008dda */ jal animGetNumFrames /* f0ba1a8: 8484de18 */ lh $a0,-0x21e8($a0) /* f0ba1ac: 244effff */ addiu $t6,$v0,-1 /* f0ba1b0: 3c04800a */ lui $a0,0x800a @@ -4322,7 +4322,7 @@ glabel func0f0ba29c /* f0ba2fc: 2652de18 */ addiu $s2,$s2,%lo(var8009de18) /* f0ba300: 0c008f4e */ jal func00023d38 /* f0ba304: 86440000 */ lh $a0,0x0($s2) -/* f0ba308: 0c008dda */ jal func00023768 +/* f0ba308: 0c008dda */ jal animGetNumFrames /* f0ba30c: 86440000 */ lh $a0,0x0($s2) /* f0ba310: 8e780290 */ lw $t8,0x290($s3) /* f0ba314: 2444ffff */ addiu $a0,$v0,-1 diff --git a/src/game/game_167ae0.c b/src/game/game_167ae0.c index 821a7036f..04d44cf7a 100644 --- a/src/game/game_167ae0.c +++ b/src/game/game_167ae0.c @@ -2929,7 +2929,7 @@ glabel func0f169374 /* f16a378: 00008025 */ or $s0,$zero,$zero /* f16a37c: 44800000 */ mtc1 $zero,$f0 /* f16a380: 8484de18 */ lh $a0,-0x21e8($a0) -/* f16a384: 0c008dda */ jal func00023768 +/* f16a384: 0c008dda */ jal animGetNumFrames /* f16a388: e7a000c4 */ swc1 $f0,0xc4($sp) /* f16a38c: 3c03800a */ lui $v1,0x800a /* f16a390: 8c63de10 */ lw $v1,-0x21f0($v1) diff --git a/src/include/commands.h b/src/include/commands.h index ae23fd821..b6e9a1c7e 100644 --- a/src/include/commands.h +++ b/src/include/commands.h @@ -2342,14 +2342,22 @@ mkshort(animation), /** - * Makes the given object do the given animation. + * Makes the given object do the given animation. See the ANIM constants in + * constants.h for known animation IDs. + * + * object may be the tag ID of an object, or 0xff to use the current chr's + * myspecial object. The myspecial object is assigned during chr setup and is + * commonly the chair that they're sitting in. + * + * startframe may be 0 or higher for that frame number, -1 for the first frame + * (ie. same as 0), or -2 for the last frame. */ -#define object_do_animation(u1, object, u2, u3) \ +#define object_do_animation(animation, object, u2, startframe) \ mkshort(0x0112), \ - mkshort(u1), \ + mkshort(animation), \ object, \ - mkshort(u2), \ - u3, + u2, \ + mkshort(startframe), /** * Checks if a cutscene is still running. diff --git a/src/include/library/library_233c0.h b/src/include/library/library_233c0.h index b2a491a57..3c54c49a4 100644 --- a/src/include/library/library_233c0.h +++ b/src/include/library/library_233c0.h @@ -6,7 +6,7 @@ u32 func000233c0(void); u32 func00023640(void); u32 func0002373c(void); -s32 func00023768(s16 anim_id); +s32 animGetNumFrames(s16 anim_id); u32 func00023794(void); u32 func000237dc(void); u32 func000237e8(void); diff --git a/src/library/library_1a500.c b/src/library/library_1a500.c index 687a5fbc4..df170033b 100644 --- a/src/library/library_1a500.c +++ b/src/library/library_1a500.c @@ -3607,7 +3607,7 @@ glabel func0001d1a0 .L0001d1d8: /* 1d1d8: 10800007 */ beqz $a0,.L0001d1f8 /* 1d1dc: 00000000 */ sll $zero,$zero,0x0 -/* 1d1e0: 0c008dda */ jal func00023768 +/* 1d1e0: 0c008dda */ jal animGetNumFrames /* 1d1e4: 00000000 */ sll $zero,$zero,0x0 /* 1d1e8: 244effff */ addiu $t6,$v0,-1 /* 1d1ec: 448e2000 */ mtc1 $t6,$f4 @@ -3638,7 +3638,7 @@ glabel func0001d218 /* 1d234: 00000000 */ sll $zero,$zero,0x0 /* 1d238: 00022400 */ sll $a0,$v0,0x10 /* 1d23c: 00047c03 */ sra $t7,$a0,0x10 -/* 1d240: 0c008dda */ jal func00023768 +/* 1d240: 0c008dda */ jal animGetNumFrames /* 1d244: 01e02025 */ or $a0,$t7,$zero /* 1d248: 10000002 */ beqz $zero,.L0001d254 /* 1d24c: 8fbf0014 */ lw $ra,0x14($sp) @@ -3740,13 +3740,13 @@ glabel func0001d320 /* 1d37c: 00046403 */ sra $t4,$a0,0x10 /* 1d380: 01802025 */ or $a0,$t4,$zero /* 1d384: a7a50026 */ sh $a1,0x26($sp) -/* 1d388: 0c008dda */ jal func00023768 +/* 1d388: 0c008dda */ jal animGetNumFrames /* 1d38c: afa60020 */ sw $a2,0x20($sp) /* 1d390: 87a50026 */ lh $a1,0x26($sp) /* 1d394: afa2001c */ sw $v0,0x1c($sp) /* 1d398: 00052400 */ sll $a0,$a1,0x10 /* 1d39c: 00046c03 */ sra $t5,$a0,0x10 -/* 1d3a0: 0c008dda */ jal func00023768 +/* 1d3a0: 0c008dda */ jal animGetNumFrames /* 1d3a4: 01a02025 */ or $a0,$t5,$zero /* 1d3a8: 8fa60020 */ lw $a2,0x20($sp) /* 1d3ac: 8fae001c */ lw $t6,0x1c($sp) @@ -3790,7 +3790,7 @@ glabel func0001d320 /* 1d434: 00403025 */ or $a2,$v0,$zero /* 1d438: a7a50026 */ sh $a1,0x26($sp) .L0001d43c: -/* 1d43c: 0c008dda */ jal func00023768 +/* 1d43c: 0c008dda */ jal animGetNumFrames /* 1d440: afa60020 */ sw $a2,0x20($sp) /* 1d444: 8fa60020 */ lw $a2,0x20($sp) /* 1d448: 87a50026 */ lh $a1,0x26($sp) @@ -3813,7 +3813,7 @@ glabel func0001d320 .L0001d48c: /* 1d48c: 0004c403 */ sra $t8,$a0,0x10 /* 1d490: 03002025 */ or $a0,$t8,$zero -/* 1d494: 0c008dda */ jal func00023768 +/* 1d494: 0c008dda */ jal animGetNumFrames /* 1d498: afa60020 */ sw $a2,0x20($sp) /* 1d49c: 8fa60020 */ lw $a2,0x20($sp) /* 1d4a0: 00c2001a */ div $zero,$a2,$v0 @@ -3834,7 +3834,7 @@ glabel func0001d320 .L0001d4d4: /* 1d4d4: 00052400 */ sll $a0,$a1,0x10 /* 1d4d8: 0004cc03 */ sra $t9,$a0,0x10 -/* 1d4dc: 0c008dda */ jal func00023768 +/* 1d4dc: 0c008dda */ jal animGetNumFrames /* 1d4e0: 03202025 */ or $a0,$t9,$zero /* 1d4e4: 2446ffff */ addiu $a2,$v0,-1 .L0001d4e8: @@ -4494,7 +4494,7 @@ glabel func0001de1c /* 1de38: 50800010 */ beqzl $a0,.L0001de7c /* 1de3c: 3c01bf80 */ lui $at,0xbf80 /* 1de40: afa3001c */ sw $v1,0x1c($sp) -/* 1de44: 0c008dda */ jal func00023768 +/* 1de44: 0c008dda */ jal animGetNumFrames /* 1de48: e7ac0024 */ swc1 $f12,0x24($sp) /* 1de4c: 244effff */ addiu $t6,$v0,-1 /* 1de50: 448e2000 */ mtc1 $t6,$f4 @@ -4579,7 +4579,7 @@ glabel func0001df04 /* 1df40: e7ae0028 */ swc1 $f14,0x28($sp) /* 1df44: e7ac0024 */ swc1 $f12,0x24($sp) /* 1df48: afa70020 */ sw $a3,0x20($sp) -/* 1df4c: 0c008dda */ jal func00023768 +/* 1df4c: 0c008dda */ jal animGetNumFrames /* 1df50: afa3001c */ sw $v1,0x1c($sp) /* 1df54: 44822000 */ mtc1 $v0,$f4 /* 1df58: 8fa3001c */ lw $v1,0x1c($sp) @@ -5808,7 +5808,7 @@ glabel func0001ee18 /* 1f0a0: c6140060 */ lwc1 $f20,0x60($s0) /* 1f0a4: 86040000 */ lh $a0,0x0($s0) /* 1f0a8: e7b20088 */ swc1 $f18,0x88($sp) -/* 1f0ac: 0c008dda */ jal func00023768 +/* 1f0ac: 0c008dda */ jal animGetNumFrames /* 1f0b0: e7b0008c */ swc1 $f16,0x8c($sp) /* 1f0b4: 2458ffff */ addiu $t8,$v0,-1 /* 1f0b8: 44985000 */ mtc1 $t8,$f10 @@ -5829,7 +5829,7 @@ glabel func0001ee18 .L0001f0f4: /* 1f0f4: 86040000 */ lh $a0,0x0($s0) /* 1f0f8: e7b20088 */ swc1 $f18,0x88($sp) -/* 1f0fc: 0c008dda */ jal func00023768 +/* 1f0fc: 0c008dda */ jal animGetNumFrames /* 1f100: e7b0008c */ swc1 $f16,0x8c($sp) /* 1f104: 2459ffff */ addiu $t9,$v0,-1 /* 1f108: 44993000 */ mtc1 $t9,$f6 @@ -6148,7 +6148,7 @@ glabel func0001f314 /* 1f56c: c6140060 */ lwc1 $f20,0x60($s0) /* 1f570: 86040000 */ lh $a0,0x0($s0) /* 1f574: e7b20088 */ swc1 $f18,0x88($sp) -/* 1f578: 0c008dda */ jal func00023768 +/* 1f578: 0c008dda */ jal animGetNumFrames /* 1f57c: e7b0008c */ swc1 $f16,0x8c($sp) /* 1f580: 2458ffff */ addiu $t8,$v0,-1 /* 1f584: 44983000 */ mtc1 $t8,$f6 @@ -6169,7 +6169,7 @@ glabel func0001f314 .L0001f5c0: /* 1f5c0: 86040000 */ lh $a0,0x0($s0) /* 1f5c4: e7b20088 */ swc1 $f18,0x88($sp) -/* 1f5c8: 0c008dda */ jal func00023768 +/* 1f5c8: 0c008dda */ jal animGetNumFrames /* 1f5cc: e7b0008c */ swc1 $f16,0x8c($sp) /* 1f5d0: 2459ffff */ addiu $t9,$v0,-1 /* 1f5d4: 44994000 */ mtc1 $t9,$f8 diff --git a/src/library/library_233c0.c b/src/library/library_233c0.c index 29d7846af..99b45cb89 100644 --- a/src/library/library_233c0.c +++ b/src/library/library_233c0.c @@ -284,7 +284,7 @@ glabel func0002373c ); GLOBAL_ASM( -glabel func00023768 +glabel animGetNumFrames /* 23768: 00047400 */ sll $t6,$a0,0x10 /* 2376c: 000e7c03 */ sra $t7,$t6,0x10 /* 23770: 3c188006 */ lui $t8,0x8006