From 9d86b1556dde5f0d73a8825cf649b591226edceb Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 25 May 2021 12:05:54 +1000 Subject: [PATCH] Set names for act_anim struct and CHRANIMFLAG constants --- src/files/setup/setupame.c | 60 ++++++++++----------- src/files/setup/setupark.c | 68 +++++++++++------------ src/files/setup/setupate.c | 6 +-- src/files/setup/setupazt.c | 30 +++++------ src/files/setup/setupcave.c | 92 ++++++++++++++++---------------- src/files/setup/setupdam.c | 54 +++++++++---------- src/files/setup/setupdepo.c | 20 +++---- src/files/setup/setupdish.c | 12 ++--- src/files/setup/setupear.c | 54 +++++++++---------- src/files/setup/setupeld.c | 74 ++++++++++++------------- src/files/setup/setupimp.c | 54 +++++++++---------- src/files/setup/setuplee.c | 24 ++++----- src/files/setup/setuplip.c | 88 +++++++++++++++--------------- src/files/setup/setuplue.c | 30 +++++------ src/files/setup/setuppam.c | 34 ++++++------ src/files/setup/setuppete.c | 52 +++++++++--------- src/files/setup/setuprit.c | 56 +++++++++---------- src/files/setup/setupsev.c | 8 +-- src/files/setup/setupsho.c | 58 ++++++++++---------- src/files/setup/setupstat.c | 18 +++---- src/files/setup/setuptra.c | 48 ++++++++--------- src/files/setup/setupwax.c | 12 ++--- src/game/chr/chraction.c | 60 +++++++++++---------- src/game/data/ailists.c | 86 ++++++++++++++--------------- src/game/prop.c | 2 +- src/include/commands.h | 8 +-- src/include/constants.h | 12 ++--- src/include/game/chr/chraction.h | 8 +-- src/include/lib/model.h | 8 +-- src/include/types.h | 22 ++++---- src/lib/model.c | 26 ++++----- 31 files changed, 594 insertions(+), 590 deletions(-) diff --git a/src/files/setup/setupame.c b/src/files/setup/setupame.c index b2596022f..b2df5541f 100644 --- a/src/files/setup/setupame.c +++ b/src/files/setup/setupame.c @@ -1039,14 +1039,14 @@ s32 path29[] = { u8 func0401_do_some_animation[] = { // Do some animation restart_timer - chr_do_animation(0x0066, 0, 1, 0x04, 0x10, CHR_SELF, 2) + chr_do_animation(0x0066, 0, 1, CHRANIMFLAG_PAUSEATEND, 16, CHR_SELF, 2) beginloop(0x08) if_timer_gt(0, /*goto*/ 0x2c) endloop(0x08) label(0x2c) - chr_do_animation(0x0066, 1, -1, 0x04, 0x10, CHR_SELF, 2) + chr_do_animation(0x0066, 1, -1, CHRANIMFLAG_PAUSEATEND, 16, CHR_SELF, 2) beginloop(0x85) endloop(0x85) @@ -1233,7 +1233,7 @@ u8 func040f_cass[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x2c) - chr_do_animation(ANIM_TALKING_00A0, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) // Wait for player to enter room beginloop(0x59) @@ -1268,7 +1268,7 @@ u8 func040f_cass[] = { label(0x5c) speak(CHR_TARGET, L_AME_021, MP3_02F4, CHANNEL_6, COLOR_04_ORANGE) // "Who are you and what are you doing here?" restart_timer - chr_do_animation(ANIM_TALKING_0098, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0098, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x5d) if_sound_finished(CHANNEL_6, /*goto*/ 0x5e) @@ -1277,7 +1277,7 @@ u8 func040f_cass[] = { // Walk backwards for 4 seconds label(0x5e) stop_chr - chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) restart_timer beginloop(0x5f) @@ -1313,7 +1313,7 @@ u8 func040f_cass[] = { label(0x2c) speak(CHR_TARGET, L_AME_023, MP3_02F5, CHANNEL_6, COLOR_04_ORANGE) // "You won't shoot me, foolish child!" - chr_do_animation(ANIM_TALKING_00A0, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x66) if_sound_finished(CHANNEL_6, /*goto*/ 0x67) @@ -1333,7 +1333,7 @@ u8 func040f_cass[] = { goto_next(0x68) label(0x2c) - chr_do_animation(ANIM_TALKING_00A3, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A3, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) speak(CHR_TARGET, L_AME_024, MP3_02F6, CHANNEL_6, COLOR_04_ORANGE) // "Don't you know who I am?" beginloop(0x68) @@ -1385,7 +1385,7 @@ u8 func040f_cass[] = { label(0x2c) speak(CHR_TARGET, L_AME_025, MP3_02F7, CHANNEL_6, COLOR_04_ORANGE) // "Let's see how you deal with security." label(0x06) - chr_do_animation(ANIM_PUSH_BUTTON, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_PUSH_BUTTON, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x6a) if_chr_stopped(/*goto*/ 0x06) @@ -1414,7 +1414,7 @@ u8 func040f_cass[] = { label(0x6d) restart_timer say_quip(CHR_TARGET, 0x00, 0xff, 0x00, 0xff, BANK_1, 0x01, 0x04) // "How dare you disturb me","You will regret this intrusion girl","If I were you I'd leave, now" - chr_do_animation(ANIM_TALKING_00A3, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A3, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x6e) if_timer_gt(100, /*goto*/ 0x6f) @@ -1457,7 +1457,7 @@ u8 func0411_secretary[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x2c) - chr_do_animation(0x00a1, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(0x00a1, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x72) set_target_chr(CHR_BOND) @@ -1493,7 +1493,7 @@ u8 func0411_secretary[] = { if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2c) speak(CHR_TARGET, L_AME_022, MP3_02ED, CHANNEL_5, COLOR_07_RED) // "Look out! She's got a gun." label(0x2c) - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x75) if_timer_gt(60, /*goto*/ 0x76) @@ -1508,7 +1508,7 @@ u8 func0411_secretary[] = { endloop(0x77) label(0x78) - chr_do_animation(ANIM_COWER_01F5, -1, -1, 0x50, 0x14, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_01F5, -1, -1, CHRANIMFLAG_SLOWUPDATE | CHRANIMFLAG_LOCKPOS, 20, CHR_SELF, 2) beginloop(0x79) if_distance_to_target_gt(500, /*goto*/ 0x06) @@ -1518,7 +1518,7 @@ u8 func0411_secretary[] = { label(0x7e) restart_timer - chr_do_animation(ANIM_COWER_01F5, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_01F5, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) yield goto_next(0x81) @@ -1533,14 +1533,14 @@ u8 func0411_secretary[] = { label(0x81) restart_timer say_quip(CHR_TARGET, 0x01, 0xff, 0x00, 0xff, BANK_1, 0x02, 0x07) // "Please don't kill me","Don't shoot!" - chr_do_animation(ANIM_SURRENDER_002E, 0, -1, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, -1, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x82) if_timer_gt(180, /*goto*/ 0x83) endloop(0x82) label(0x83) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x14, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) beginloop(0x84) call_rng @@ -1657,7 +1657,7 @@ u8 func0414_programmer[] = { restart_timer speak(CHR_TARGET, L_AME_068, VERSION >= VERSION_NTSC_1_0 ? 0x8104 : 0x8103, CHANNEL_3, COLOR_03_RED) // "Yes, yes, I agree. Personality is expendable in th..." restart_timer - chr_do_animation(ANIM_TALKING_00A0, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x08) pause_timer @@ -1742,7 +1742,7 @@ u8 func0414_programmer[] = { label(0x06) if_stage_flag_eq(STAGEFLAG_TALKED_TO_PROGRAMMER, TRUE, /*goto*/ 0x06) speak(CHR_TARGET, L_AME_036, MP3_0300, CHANNEL_3, COLOR_03_RED) // "HELP - Intruder!" - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0xa3) if_sound_finished(CHANNEL_3, /*goto*/ 0x06) @@ -1789,7 +1789,7 @@ u8 func0414_programmer[] = { set_stage_flag(STAGEFLAG_PROGRAMMER_INJURED) restart_timer unlock_door(OBJ_LAPTOPGUNDOOR, 0x02) - chr_do_animation(ANIM_COWER_01F5, 0, -1, 0x50, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_01F5, 0, -1, CHRANIMFLAG_SLOWUPDATE | CHRANIMFLAG_LOCKPOS, 16, CHR_SELF, 2) beginloop(0x0d) if_timer_gt(300, /*goto*/ 0xb5) @@ -1840,7 +1840,7 @@ u8 func0414_programmer[] = { endloop(0x9b) label(0x06) - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x10) if_sound_finished(CHANNEL_3, /*goto*/ 0x06) @@ -1854,7 +1854,7 @@ u8 func0414_programmer[] = { label(0x2c) speak(CHR_TARGET, L_AME_073, MP3_02FE, CHANNEL_5, COLOR_03_RED) // "Don't shoot, don't shoot!" label(0x06) - chr_do_animation(ANIM_DONT_SHOOT, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_DONT_SHOOT, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x9f) if_sound_finished(CHANNEL_5, /*goto*/ 0x9d) @@ -1898,7 +1898,7 @@ u8 func0414_programmer[] = { label(0x2c) speak(CHR_TARGET, L_AME_109, MP3_0304, CHANNEL_3, COLOR_03_RED) // "I...I'm logging on now." label(0x06) - chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) speak(CHR_TARGET, -1, VERSION >= VERSION_NTSC_1_0 ? 0x8116 : 0x8115, -1, COLOR_00_GREEN) beginloop(0xae) @@ -1908,7 +1908,7 @@ u8 func0414_programmer[] = { label(0x06) if_stage_flag_eq(STAGEFLAG_PC_DESTROYED, TRUE, /*goto*/ LABEL_PC_BROKEN) - chr_do_animation(ANIM_PUSH_BUTTON, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_PUSH_BUTTON, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) set_stage_flag(STAGEFLAG_PROGRAMMER_LOGGED_IN) if_detected_chr(CHR_TARGET, /*goto*/ 0x2c) speak(CHR_TARGET, L_AME_041, MP3_0302, CHANNEL_3, COLOR_03_RED) // "Okay, I'm in..." @@ -1928,7 +1928,7 @@ u8 func0414_programmer[] = { if_stage_flag_eq(STAGEFLAG_PC_DESTROYED, TRUE, /*goto*/ LABEL_PC_BROKEN) set_stage_flag(STAGEFLAG_PERSONALITY_DELETED) set_chr_maxdamage(CHR_SELF, 1) - chr_do_animation(ANIM_TALKING_003D, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_003D, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) speak(CHR_TARGET, L_AME_042, MP3_0303, CHANNEL_3, COLOR_03_RED) // "Goodbye, Dr. Caroll." if_stage_flag_eq(STAGEFLAG_DOWNLOAD_COMPLETE, TRUE, /*goto*/ 0x2c) set_stage_flag(STAGEFLAG_DELETED_WITHOUT_DOWNLOAD) @@ -2909,7 +2909,7 @@ u8 func0422_intro_0424[] = { unset_chr_chrflag(CHR_SECRETARY, CHRCFLAG_HIDDEN) #endif set_chr_hiddenflag(CHR_SECRETARY, CHRHFLAG_00020000) - chr_do_animation(0x00fe, -1, -1, 0x06, 0x00, CHR_SECRETARY, 4) + chr_do_animation(0x00fe, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SECRETARY, 4) wait_for_camera_finished @@ -3091,7 +3091,7 @@ u8 func0422_intro_042a[] = { 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) + chr_do_animation(0x0109, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_hudpiece_visible(CHR_BOND, TRUE) show_object(OBJ_ROPE) set_object_flag3(OBJ_ROPE, OBJFLAG3_00000010) @@ -3119,7 +3119,7 @@ u8 func0422_intro_042b[] = { 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) + chr_do_animation(0x010d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_hudpiece_visible(CHR_BOND, TRUE) show_object(OBJ_ROPE) set_object_flag3(OBJ_ROPE, OBJFLAG3_00000010) @@ -3158,7 +3158,7 @@ u8 func0422_intro_042d[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0156, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0156, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_hudpiece_visible(CHR_BOND, FALSE) wait_for_camera_finished @@ -3177,7 +3177,7 @@ u8 func0422_intro_042d[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0156, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x0156, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) set_chr_hudpiece_visible(CHR_BOND, FALSE) mute_channel(CHANNEL_7) mute_channel(CHANNEL_6) @@ -3215,7 +3215,7 @@ u8 func0416_outro[] = { unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) #endif set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x00f3, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x00f3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) restart_timer unset_stage_flag(STAGEFLAG_LAB_ELEVATOR_CLOSED) set_door_open(OBJ_LABLIFTDOOR1) @@ -3829,7 +3829,7 @@ u8 func042f_surrendering_guard[] = { // Be surprised label(0x2c) say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0, 16, CHR_SELF, 2) // Wait 1 second beginloop(0x08) diff --git a/src/files/setup/setupark.c b/src/files/setup/setupark.c index fd08e7157..f830d3490 100644 --- a/src/files/setup/setupark.c +++ b/src/files/setup/setupark.c @@ -859,7 +859,7 @@ u8 func0411_top_guard_blinded[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x00) - chr_do_animation(ANIM_BLINDED, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_BLINDED, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) say_quip(CHR_BOND, 0x11, 0x64, 0x02, 0xff, BANK_1, 0x00, 0x00) beginloop(0x1f) @@ -1654,7 +1654,7 @@ u8 func0409_tech_conversation[] = { unset_chr_chrflag(CHR_RLSHOCK, CHRCFLAG_INVINCIBLE) set_ailist(CHR_RLSHOCK, GAILIST_UNALERTED) restart_timer - chr_do_animation(0x0204, -1, -1, 0x02, 0x14, 0x10, 2) + chr_do_animation(0x0204, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 20, 0x10, 2) beginloop(0x28) if_saw_injury(0x00, /*goto*/ 0x33) @@ -1664,7 +1664,7 @@ u8 func0409_tech_conversation[] = { label(0x20) dprint 'T','E','C','H',' ','2',' ','L','O','O','P','\n',0, - chr_do_animation(ANIM_TALKING_00A0, 0, -1, 0x10, 0x14, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, 0, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) speak(CHR_PRESET, L_ARK_037, SFX_811D, CHANNEL_7, COLOR_06_WHITE) // "That's not how it goes." restart_timer @@ -1685,8 +1685,8 @@ u8 func0409_tech_conversation[] = { goto_first(0x21) label(0x20) - chr_do_animation(ANIM_TWO_GUN_HOLD, 0, -1, 0x10, 0x14, CHR_SELF, 2) - chr_do_animation(ANIM_TALKING_00A0, -1, -1, 0x02, 0x14, 0x10, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, 0, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 20, 0x10, 2) speak(CHR_PRESET, L_ARK_038, SFX_8120, CHANNEL_7, COLOR_08_RED) // "Yes, it is." beginloop(0x22) @@ -1706,8 +1706,8 @@ u8 func0409_tech_conversation[] = { endloop(0x22) label(0x20) - chr_do_animation(ANIM_TALKING_00A0, 0, -1, 0x10, 0x14, CHR_SELF, 2) - chr_do_animation(0x0205, -1, -1, 0x02, 0x14, 0x10, 2) + chr_do_animation(ANIM_TALKING_00A0, 0, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) + chr_do_animation(0x0205, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 20, 0x10, 2) speak(CHR_PRESET, L_ARK_039, SFX_811E, CHANNEL_7, COLOR_06_WHITE) // "Give it to me - you're doing it wrong." beginloop(0x23) @@ -1727,8 +1727,8 @@ u8 func0409_tech_conversation[] = { endloop(0x23) label(0x20) - chr_do_animation(ANIM_TWO_GUN_HOLD, 0, -1, 0x10, 0x14, CHR_SELF, 2) - chr_do_animation(ANIM_TALKING_00A0, -1, -1, 0x02, 0x14, 0x10, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, 0, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 20, 0x10, 2) speak(CHR_PRESET, L_ARK_040, SFX_8121, CHANNEL_7, COLOR_08_RED) // "Stop annoying me." beginloop(0x24) @@ -1748,9 +1748,9 @@ u8 func0409_tech_conversation[] = { endloop(0x24) label(0x20) - chr_do_animation(ANIM_TWO_GUN_HOLD, 0, -1, 0x10, 0x14, CHR_SELF, 2) - chr_do_animation(ANIM_TALKING_00A0, -1, -1, 0x02, 0x14, CHR_RLSHOCK, 2) - chr_do_animation(0x0206, -1, -1, 0x02, 0x14, 0x10, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, 0, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 20, CHR_RLSHOCK, 2) + chr_do_animation(0x0206, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 20, 0x10, 2) speak(CHR_PRESET, L_ARK_041, SFX_8123, CHANNEL_7, COLOR_09_BLUE) // "Will you just hurry up!" beginloop(0x25) @@ -1792,7 +1792,7 @@ u8 func0409_tech_conversation[] = { open_door(0x04) restart_timer speak(CHR_TARGET, L_ARK_042, SFX_811F, CHANNEL_7, COLOR_06_WHITE) // "Oh, no...too late." - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x34) if_timer_gt(60, /*goto*/ 0x35) @@ -1811,7 +1811,7 @@ u8 func0409_tech_conversation[] = { set_ailist(CHR_SELF, GAILIST_IDLE) // Unreachable - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x38) if_chr_idle(/*goto*/ 0x5e) @@ -1873,7 +1873,7 @@ u8 func040a_tech2[] = { open_door(0x04) yield restart_timer - chr_do_animation(0x0205, 0, -1, 0x18, 0x0a, CHR_SELF, 2) + chr_do_animation(0x0205, 0, -1, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) // @bug: Duplicate label. I suspect the goto first 0x21 below is // supposed to go here. The only possible side effect is the tech may @@ -1884,7 +1884,7 @@ u8 func040a_tech2[] = { endloop(0x21) label(0x20) - chr_do_animation(ANIM_SURRENDER_002E, 0, -1, 0x18, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, -1, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) speak(CHR_TARGET, L_ARK_043, SFX_8122, CHANNEL_7, COLOR_08_RED) // "She's here..." beginloop(0x22) @@ -1904,7 +1904,7 @@ u8 func040a_tech2[] = { set_ailist(CHR_SELF, GAILIST_IDLE) // Unreachable - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x38) if_chr_idle(/*goto*/ 0x5e) @@ -1986,7 +1986,7 @@ u8 func040d_cass[] = { label(0x00) restart_timer speak(CHR_TARGET, L_ARK_032, SFX_80FF, CHANNEL_6, COLOR_04_ORANGE) // "We meet again, girl!" - chr_do_animation(ANIM_TALKING_00A0, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x27) if_stage_flag_eq(STAGEFLAG_CASS_SHIELD_DAMAGED, TRUE, /*goto*/ 0x5b) @@ -1996,7 +1996,7 @@ u8 func040d_cass[] = { label(0x00) restart_timer speak(CHR_TARGET, L_ARK_020, SFX_80FE, CHANNEL_6, COLOR_04_ORANGE) // "You've become quite an annoyance..." - chr_do_animation(ANIM_TALKING_00A3, 0, 193, 0x10, 0x14, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A3, 0, 193, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) beginloop(0x28) if_stage_flag_eq(STAGEFLAG_CASS_SHIELD_DAMAGED, TRUE, /*goto*/ 0x5b) @@ -2012,13 +2012,13 @@ u8 func040d_cass[] = { label(0x20) speak(CHR_TARGET, L_ARK_044, SFX_8101, CHANNEL_6, COLOR_04_ORANGE) // "Get her!" - chr_do_animation(ANIM_TALKING_00A3, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A3, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x20) label(0x00) restart_timer speak(CHR_TARGET, L_ARK_021, SFX_8100, CHANNEL_6, COLOR_04_ORANGE) // "Good night, Ms. Dark." - chr_do_animation(ANIM_TALKING_00A0, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A0, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x2a) if_timer_gt(150, /*goto*/ 0x20) @@ -2304,13 +2304,13 @@ u8 func100d_intro[] = { set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0139, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0139, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(0x00, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(0x00, CHRHFLAG_00020000) - chr_do_animation(0x013d, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4) + chr_do_animation(0x013d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 4) set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000) - chr_do_animation(0x013a, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4) + chr_do_animation(0x013a, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 4) unset_stage_flag(STAGEFLAG_00800000) restart_timer fade_to_color(0x000000ff, 0) @@ -2382,23 +2382,23 @@ u8 func100d_intro[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0139, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x0139, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000) - chr_do_animation(0x013d, -2, -1, 0x06, 0x00, CHR_DRCAROLL, 2) + chr_do_animation(0x013d, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2) unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE) set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_INVINCIBLE) set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000) set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_00010000) - chr_do_animation(0x013a, -2, -1, 0x06, 0x00, CHR_INTRO_GUARD, 2) + chr_do_animation(0x013a, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 2) stop_cutscene_track stop_ambient_track enter_firstperson yield - chr_do_animation(0x020c, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 2) + chr_do_animation(0x020c, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 2) set_ailist(CHR_DRCAROLL, 0x0402) yield kill(CHR_INTRO_GUARD) @@ -2428,31 +2428,31 @@ u8 func0412_outro[] = { set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000) - chr_do_animation(0x015d, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4) + chr_do_animation(0x015d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 4) set_ailist(CHR_CASS, AILIST_CASS_OUTRO) set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000) - chr_do_animation(0x0159, -1, -1, 0x06, 0x00, CHR_CASS, 4) + chr_do_animation(0x0159, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CASS, 4) set_ailist(CHR_MRBLONDE, GAILIST_IDLE) set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_00020000) - chr_do_animation(0x015a, -1, -1, 0x06, 0x00, CHR_MRBLONDE, 4) + chr_do_animation(0x015a, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MRBLONDE, 4) set_ailist(CHR_OUTRO_GUARD1, GAILIST_IDLE) set_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_OUTRO_GUARD1, CHRHFLAG_00020000) - chr_do_animation(0x015b, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD1, 4) + chr_do_animation(0x015b, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_GUARD1, 4) set_ailist(CHR_OUTRO_GUARD2, GAILIST_IDLE) set_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_OUTRO_GUARD2, CHRHFLAG_00020000) - chr_do_animation(0x015c, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD2, 4) + chr_do_animation(0x015c, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_GUARD2, 4) show_object(OBJ_JUMPSHIP) set_object_flag3(OBJ_JUMPSHIP, OBJFLAG3_00000010) @@ -2462,7 +2462,7 @@ u8 func0412_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x0158, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x0158, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) show_nonessential_chrs(FALSE) restart_timer set_cutscene_weapon(CHR_P1P2, -1, -1) diff --git a/src/files/setup/setupate.c b/src/files/setup/setupate.c index 147c98274..9981e1f82 100644 --- a/src/files/setup/setupate.c +++ b/src/files/setup/setupate.c @@ -103,7 +103,7 @@ u8 func1002_first_walk[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) show_hudmsg_middle(0x00, COLOR_02_WHITE, L_ATE_007) // "THE DUEL" - chr_do_animation(ANIM_RELOAD, -1, -1, 0x06, 0x00, CHR_GUARD, 2) + chr_do_animation(ANIM_RELOAD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_GUARD, 2) label(0x2d) show_hudmsg(CHR_BOND, L_ATE_012) // "Opponent skill level: AGENT" @@ -166,7 +166,7 @@ u8 func1007_second_walk[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(ANIM_GRAB_CROTCH, -1, -1, 0x06, 0x00, CHR_JONATHAN, 2) + chr_do_animation(ANIM_GRAB_CROTCH, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 2) label(0x2d) show_hudmsg(CHR_BOND, L_ATE_013) // "Opponent skill level: SPECIAL AGENT" @@ -247,7 +247,7 @@ u8 func1008_third_walk[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(ANIM_HEAD_ROLL, -1, -1, 0x06, 0x00, CHR_TRENT, 2) + chr_do_animation(ANIM_HEAD_ROLL, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT, 2) label(0x2d) show_hudmsg(CHR_BOND, L_ATE_014) // "Opponent skill level: PERFECT AGENT" diff --git a/src/files/setup/setupazt.c b/src/files/setup/setupazt.c index e586f942f..8ec03d4da 100644 --- a/src/files/setup/setupazt.c +++ b/src/files/setup/setupazt.c @@ -409,7 +409,7 @@ u8 func1002_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01b6, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01b6, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_hudpiece_visible(CHR_BOND, TRUE) restart_timer @@ -514,7 +514,7 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01b6, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01b6, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) stop_cutscene_track stop_ambient_track set_chr_hudpiece_visible(CHR_BOND, FALSE) @@ -567,36 +567,36 @@ u8 func0402_outro[] = { set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000) - chr_do_animation(0x01df, -1, -1, 0x06, 0x00, CHR_TARGET, 4) + chr_do_animation(0x01df, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4) set_chr_chrflag(CHR_SKEDAR, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_SKEDAR, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_00020000) - chr_do_animation(0x01da, -1, -1, 0x06, 0x00, CHR_SKEDAR, 4) + chr_do_animation(0x01da, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR, 4) set_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_INVINCIBLE) set_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS_OUTRO, CHRHFLAG_00020000) - chr_do_animation(0x01db, -1, -1, 0x06, 0x00, CHR_ELVIS_OUTRO, 4) + chr_do_animation(0x01db, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS_OUTRO, 4) set_chr_chrflag(CHR_TRENT, CHRCFLAG_INVINCIBLE) set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000) - chr_do_animation(0x01dc, -1, -1, 0x06, 0x00, CHR_TRENT, 4) + chr_do_animation(0x01dc, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT, 4) set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_INVINCIBLE) set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_00020000) - chr_do_animation(0x01dd, -1, -1, 0x06, 0x00, CHR_MRBLONDE, 4) + chr_do_animation(0x01dd, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MRBLONDE, 4) set_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_INVINCIBLE) set_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_PRESIDENT_OUTRO, CHRHFLAG_00020000) - chr_do_animation(0x01de, -1, -1, 0x06, 0x00, CHR_PRESIDENT_OUTRO, 4) + chr_do_animation(0x01de, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_PRESIDENT_OUTRO, 4) show_object(0x00) set_object_flag2(OBJ_CRATE, OBJFLAG2_04000000) @@ -1180,19 +1180,19 @@ u8 func0404_elvis[] = { if_rand_lt(196, /*goto*/ 0x9b) set_self_flag_bankx(CHRFLAG1_DONE_SEARCH_ANIM, BANK_1) - chr_do_animation(ANIM_LOOK_AROUND_025B, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025B, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x31) label(0x99) - chr_do_animation(ANIM_LOOK_AROUND_025C, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025C, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x31) label(0x9a) - chr_do_animation(ANIM_LOOK_AROUND_025D, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025D, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x31) label(0x9b) - chr_do_animation(ANIM_LOOK_AROUND_025E, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025E, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) label(0x31) goto_first(0x04) @@ -1438,7 +1438,7 @@ u8 func041a_pres_clone[] = { stop_chr label(0xa5) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x10) if_chr_stopped(/*goto*/ 0x31) @@ -1721,7 +1721,7 @@ u8 func041e_trent_waiting[] = { label(0x08) restart_timer speak(CHR_P1P2, L_AZT_024, MP3_02CA, CHANNEL_6, COLOR_05_GREEN) // "You'll never save him now!" - chr_do_animation(ANIM_TALKING_0231, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0a) if_timer_gt(120, /*goto*/ 0x08) @@ -1772,7 +1772,7 @@ u8 func041f_trent_shooting[] = { label(0x0b) restart_timer - chr_do_animation(ANIM_TALKING_0231, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0c) if_timer_gt(120, /*goto*/ 0x08) diff --git a/src/files/setup/setupcave.c b/src/files/setup/setupcave.c index 7b2a13383..68b0f811f 100644 --- a/src/files/setup/setupcave.c +++ b/src/files/setup/setupcave.c @@ -786,24 +786,24 @@ u8 func0401_unused_cutscene[] = { cmd0175(60) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0170, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0170, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_hudpiece_visible(CHR_BOND, TRUE) set_chr_chrflag(0x00, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x00, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x00, CHRHFLAG_00020000) - chr_do_animation(0x016c, -1, -1, 0x06, 0x00, 0x00, 4) + chr_do_animation(0x016c, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x00, 4) set_chr_chrflag(0x01, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x01, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x01, CHRHFLAG_00020000) - chr_do_animation(0x016d, -1, -1, 0x06, 0x00, 0x01, 4) + chr_do_animation(0x016d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x01, 4) set_chr_chrflag(0x02, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x02, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x02, CHRHFLAG_00020000) - chr_do_animation(0x016e, -1, -1, 0x06, 0x00, 0x02, 4) + chr_do_animation(0x016e, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x02, 4) set_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_STEWARDESS, CHRHFLAG_00020000) - chr_do_animation(0x016f, -1, -1, 0x06, 0x00, CHR_STEWARDESS, 4) + chr_do_animation(0x016f, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_STEWARDESS, 4) fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) @@ -846,7 +846,7 @@ u8 func0425_outro[] = { set_chr_chrflag(CHR_OUTRO_NSA, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_OUTRO_NSA, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_OUTRO_NSA, CHRHFLAG_00020000) - chr_do_animation(0x031b, -1, -1, 0x06, 0x00, CHR_OUTRO_NSA, 4) + chr_do_animation(0x031b, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_NSA, 4) show_object(OBJ_PLANE) set_object_flag2(OBJ_PLANE, OBJFLAG2_04000000) @@ -1239,7 +1239,7 @@ u8 func0407_stewardess[] = { label(0x02) speak(CHR_TARGET, L_CAVE_025, MP3_02DC, CHANNEL_4, COLOR_07_RED) // "Look out - it's an intruder..." increase_squadron_alertness(100) - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x06) if_chr_stopped(/*goto*/ 0x02) @@ -1255,7 +1255,7 @@ u8 func0407_stewardess[] = { label(0x0b) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x31) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) - chr_do_animation(ANIM_SNEEZE, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SNEEZE, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x69) if_chr_stopped(/*goto*/ 0x02) @@ -1269,7 +1269,7 @@ u8 func0407_stewardess[] = { label(0x62) set_stage_flag(STAGEFLAG_DISGUISE_UNCOVERED) - chr_do_animation(ANIM_COWER_0229, -1, 190, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, 190, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x63) if_chr_stopped(/*goto*/ 0x31) @@ -1548,7 +1548,7 @@ u8 func0408_secretary[] = { label(0x67) increase_squadron_alertness(100) restart_timer - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x06) if_chr_stopped(/*goto*/ 0x4f) @@ -1556,7 +1556,7 @@ u8 func0408_secretary[] = { label(0x4f) set_stage_flag(STAGEFLAG_DISGUISE_UNCOVERED) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x0f) if_chr_stopped(/*goto*/ 0x31) @@ -1582,7 +1582,7 @@ u8 func0408_secretary[] = { // label(0x32) speak(CHR_TARGET, L_CAVE_029, SFX_8161, CHANNEL_4, COLOR_06_WHITE) // "Good afternoon." - chr_do_animation(ANIM_TALKING_0231, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) restart_timer set_morale(2) @@ -1613,7 +1613,7 @@ u8 func0408_secretary[] = { label(0x32) speak(CHR_TARGET, L_CAVE_031, MP3_0273, CHANNEL_4, COLOR_06_WHITE) // "You'll have to check that weapon in here." restart_timer - chr_do_animation(ANIM_TALKING_0232, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0232, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) set_morale(3) beginloop(0x09) @@ -1638,7 +1638,7 @@ u8 func0408_secretary[] = { label(0x32) speak(CHR_TARGET, L_CAVE_033, MP3_0274, CHANNEL_4, COLOR_06_WHITE) // "Weapons are not allowed in the base." restart_timer - chr_do_animation(ANIM_TALKING_0233, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0233, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) set_morale(4) beginloop(0x0a) @@ -1671,7 +1671,7 @@ u8 func0408_secretary[] = { set_stage_flag(STAGEFLAG_RECEPTIONIST_CALLED_SECURITY) activate_alarm restart_timer - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0b) if_timer_gt(180, /*goto*/ 0x02) @@ -1688,7 +1688,7 @@ u8 func0408_secretary[] = { // label(0x31) speak(CHR_TARGET, L_CAVE_030, MP3_0272, CHANNEL_4, COLOR_06_WHITE) // "OK, you know the way from here." - chr_do_animation(0x0232, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(0x0232, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) unlock_door(0x18, 0x02) beginloop(0x0e) @@ -2062,7 +2062,7 @@ u8 func0409_office1[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x42) - chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, 0x14, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x00) chr_toggle_p1p2(CHR_SELF) @@ -2092,7 +2092,7 @@ u8 func0409_office1[] = { // Disguised and unarmed-ish label(0x31) - chr_do_animation(ANIM_SITTING_0265, 0, -1, 0x14, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_0265, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) speak(CHR_TARGET, L_CAVE_041, MP3_02E6, CHANNEL_4, COLOR_08_RED) // "Are you new around here?" beginloop(0x09) @@ -2112,7 +2112,7 @@ u8 func0409_office1[] = { reloop(0x09) label(0x7b) - chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) endloop(0x09) // Picked up briefcase @@ -2157,7 +2157,7 @@ u8 func0409_office1[] = { speak(CHR_TARGET, L_CAVE_040, MP3_02E5, CHANNEL_4, COLOR_08_RED) // "Hey, you - this is a restricted area." increase_squadron_alertness(100) restart_timer - chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x06) if_timer_gt(180, /*goto*/ LABEL_RUN_TO_FOYER) @@ -2199,7 +2199,7 @@ u8 func040a_office2[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x42) - chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, 0x14, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x00) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x02) @@ -2514,7 +2514,7 @@ u8 func040f_nsa[] = { endloop(0x09) label(0x02) - chr_do_animation(ANIM_TALKING_0098, 0, 90, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0098, 0, 90, 0, 16, CHR_SELF, 2) say_quip(CHR_BOND, 0x1c, 0xff, 0x02, 0xff, 0x81, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) @@ -2576,7 +2576,7 @@ u8 func040f_nsa[] = { set_ailist(CHR_SELF, GAILIST_HAND_COMBAT) label(0x07) - chr_do_animation(ANIM_TALKING_0098, 0, 90, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0098, 0, 90, 0, 16, CHR_SELF, 2) say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, 0x81, 0x00, 0x00) label(0x08) yield @@ -2685,7 +2685,7 @@ u8 func0414_officeworker[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x44) - chr_do_animation(ANIM_SITTING_DORMANT, -1, 60, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, -1, 60, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) beginloop(0x00) chr_toggle_p1p2(CHR_SELF) @@ -2700,7 +2700,7 @@ u8 func0414_officeworker[] = { endloop(0x00) label(0x02) - chr_do_animation(ANIM_SITTING_0265, 0, 120, 0x14, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_0265, 0, 120, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) say_quip(CHR_BOND, 0x20, 0xff, 0x0a, 0xff, BANK_1, 0x00, 0x00) restart_timer @@ -2726,10 +2726,10 @@ u8 func0414_officeworker[] = { chr_move_to_pad(0x3a, 0x00d7, 0x00, /*goto*/ 0x31) label(0x31) - chr_do_animation(ANIM_SITTING_DORMANT, -1, 60, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, -1, 60, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) label(0x77) - chr_do_animation(ANIM_COWER_0229, -1, 60, 0x14, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, 60, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x04) chr_toggle_p1p2(CHR_SELF) @@ -2759,7 +2759,7 @@ u8 func0414_officeworker[] = { endloop(0x05) label(0x79) - chr_do_animation(0x0229, -1, 60, 0x14, 0x0a, CHR_SELF, 2) + chr_do_animation(0x0229, -1, 60, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x06) if_chr_idle(/*goto*/ 0x02) @@ -3329,23 +3329,23 @@ u8 func0419_ba8c[] = { if_rand_lt(128, /*goto*/ 0x6f) if_rand_lt(196, /*goto*/ 0x70) set_self_flag_bankx(CHRFLAG1_DONE_SEARCH_ANIM, BANK_1) - chr_do_animation(ANIM_SMOKE_CIGARETTE, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_SMOKE_CIGARETTE, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x72) label(0x6e) - chr_do_animation(ANIM_SCRATCH_HEAD, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_SCRATCH_HEAD, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x72) label(0x6f) - chr_do_animation(ANIM_YAWN, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x72) label(0x70) - chr_do_animation(ANIM_GRAB_CROTCH, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_GRAB_CROTCH, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x72) label(0x71) - chr_do_animation(ANIM_TWO_GUN_HOLD, 0, 100, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, 0, 100, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x72) label(0x31) @@ -3423,7 +3423,7 @@ u8 func0419_ba8c[] = { label(0x4f) restart_timer - chr_do_animation(0x025f, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x025f, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) label(0x0f) yield if_timer_gt(90, /*goto*/ 0x0b) @@ -3431,7 +3431,7 @@ u8 func0419_ba8c[] = { label(0x02) say_quip(CHR_BOND, 0x24, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) - chr_do_animation(0x002e, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x002e, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) label(0x09) yield if_timer_gt(120, /*goto*/ 0x0b) @@ -3454,7 +3454,7 @@ u8 func0419_ba8c[] = { increase_squadron_alertness(100) say_quip(CHR_BOND, 0x25, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) label(0x0e) - chr_do_animation(0x0229, -1, -1, 0x10, 0x14, CHR_SELF, 2) + chr_do_animation(0x0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) label(0x0a) yield if_chr_stopped(/*goto*/ 0x31) @@ -3596,32 +3596,32 @@ u8 func1003_intro[] = { cmd0175(60) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01e6, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01e6, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_hudpiece_visible(CHR_BOND, TRUE) set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000) - chr_do_animation(0x01e7, -1, -1, 0x06, 0x00, CHR_TRENT, 4) + chr_do_animation(0x01e7, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT, 4) set_chr_chrflag(0x48, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x48, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x48, CHRHFLAG_00020000) - chr_do_animation(0x01e8, -1, -1, 0x06, 0x00, 0x48, 4) + chr_do_animation(0x01e8, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x48, 4) set_chr_chrflag(0x49, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x49, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x49, CHRHFLAG_00020000) - chr_do_animation(0x01e9, -1, -1, 0x06, 0x00, 0x49, 4) + chr_do_animation(0x01e9, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x49, 4) set_chr_chrflag(0x4a, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x4a, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x4a, CHRHFLAG_00020000) - chr_do_animation(0x01ea, -1, -1, 0x06, 0x00, 0x4a, 4) + chr_do_animation(0x01ea, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x4a, 4) set_chr_chrflag(0x4b, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x4b, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x4b, CHRHFLAG_00020000) - chr_do_animation(0x01eb, -1, -1, 0x06, 0x00, 0x4b, 4) + chr_do_animation(0x01eb, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x4b, 4) set_chr_chrflag(0x4c, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x4c, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x4c, CHRHFLAG_00020000) - chr_do_animation(0x01ec, -1, -1, 0x06, 0x00, 0x4c, 4) + chr_do_animation(0x01ec, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x4c, 4) show_object(0x22) set_object_flag2(0x22, OBJFLAG2_04000000) set_object_flag3(0x22, OBJFLAG3_00000010) @@ -3839,10 +3839,10 @@ u8 func1003_intro[] = { set_chr_chrflag(0x49, CHRCFLAG_INVINCIBLE) set_chr_chrflag(0x49, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x49, CHRHFLAG_00020000) - chr_do_animation(0x01e9, -2, -1, 0x06, 0x00, 0x49, 2) + chr_do_animation(0x01e9, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x49, 2) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01e6, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01e6, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) set_chr_hudpiece_visible(CHR_BOND, FALSE) unset_object_flag2(0x22, OBJFLAG2_04000000) set_object_flag3(0x22, OBJFLAG3_00000010) @@ -4075,7 +4075,7 @@ u8 func0418_remove_or_cower[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x02) label(0x62) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x14, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x63) if_chr_stopped(/*goto*/ 0x31) diff --git a/src/files/setup/setupdam.c b/src/files/setup/setupdam.c index e782f4610..bb3b18fb2 100644 --- a/src/files/setup/setupdam.c +++ b/src/files/setup/setupdam.c @@ -689,15 +689,15 @@ u8 func1002_intro[] = { cmd0175(60) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x02cf, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x02cf, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x02d0, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x02d0, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000) - chr_do_animation(0x02d1, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4) + chr_do_animation(0x02d1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 4) restart_timer set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield @@ -811,10 +811,10 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x02cf, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x02cf, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x02d0, -2, -1, 0x06, 0x00, CHR_ELVIS, 2) + chr_do_animation(0x02d0, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2) unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE) hide_chr(CHR_INTRO_GUARD) enter_firstperson @@ -842,13 +842,13 @@ u8 func0c01_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x02e3, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x02e3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) set_ailist(CHR_ELVIS, GAILIST_IDLE) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x02e4, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x02e4, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) show_object(OBJ_OUTRO_SUBMARINE) set_object_flag2(OBJ_OUTRO_SUBMARINE, OBJFLAG2_04000000) @@ -1000,10 +1000,10 @@ u8 func0c01_outro[] = { label(0x39) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x02cf, -2, -1, 0x06, 0x00, CHR_P1P2, 2) + chr_do_animation(0x02cf, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x02d0, -2, -1, 0x06, 0x00, CHR_ELVIS, 2) + chr_do_animation(0x02d0, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2) end_level set_ailist(CHR_SELF, GAILIST_IDLE) endlist @@ -1378,15 +1378,15 @@ u8 func040b_labtech1[] = { if_rand_lt(86, /*goto*/ 0x3b) if_rand_lt(172, /*goto*/ 0x3c) - chr_do_animation(ANIM_OPERATE_0206, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0206, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x3b) - chr_do_animation(ANIM_OPERATE_0204, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x3c) - chr_do_animation(ANIM_OPERATE_0205, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0205, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x27) @@ -1453,15 +1453,15 @@ u8 func040c_labtech2[] = { if_rand_lt(86, /*goto*/ 0x3b) if_rand_lt(172, /*goto*/ 0x3c) - chr_do_animation(ANIM_OPERATE_0206, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0206, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x3b) - chr_do_animation(ANIM_OPERATE_0204, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x3c) - chr_do_animation(ANIM_OPERATE_0205, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0205, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x27) @@ -1532,15 +1532,15 @@ u8 func040d_labtech3[] = { if_rand_lt(86, /*goto*/ 0x3b) if_rand_lt(172, /*goto*/ 0x3c) - chr_do_animation(ANIM_OPERATE_0206, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0206, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x3b) - chr_do_animation(ANIM_OPERATE_0204, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x3c) - chr_do_animation(ANIM_OPERATE_0205, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0205, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x07) label(0x27) @@ -1588,7 +1588,7 @@ u8 func0411_labtech_alerted[] = { set_alertness(100) dprint 'T','A','L','K',' ','1','\n',0, say_quip(CHR_BOND, 0x2a, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) - chr_do_animation(ANIM_SURRENDER_002E, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x3e) if_timer_gt(90, /*goto*/ 0x04) @@ -1629,7 +1629,7 @@ u8 func0411_labtech_alerted[] = { if_distance_to_target_lt(300, /*goto*/ 0x04) label(0x00) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x11) chr_toggle_p1p2(CHR_SELF) @@ -1990,7 +1990,7 @@ u8 func0401_pilot[] = { // Push button label(0x07) - chr_do_animation(ANIM_PUSH_BUTTON, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_PUSH_BUTTON, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) restart_timer beginloop(0x0e) @@ -2149,7 +2149,7 @@ u8 func0404_angry_pilot[] = { label(0x04) set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) speak(CHR_TARGET, L_DAM_047, MP3_04DD, CHANNEL_7, COLOR_04_ORANGE) // "Die, you traitors." - chr_do_animation(ANIM_DRAW_PISTOL_0245, -1, 120, 0x06, 0x00, CHR_SELF, 3) + chr_do_animation(ANIM_DRAW_PISTOL_0245, -1, 120, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SELF, 3) try_equip_weapon(MODEL_CHRDY357, WEAPON_DY357MAGNUM, 0x00000000, /*goto*/ 0x6c) beginloop(0x6c) @@ -2500,23 +2500,23 @@ u8 func0415_elvis_at_start[] = { if_rand_lt(196, /*goto*/ 0x46) set_self_flag_bankx(CHRFLAG1_DONE_SEARCH_ANIM, BANK_1) - chr_do_animation(ANIM_SMOKE_CIGARETTE, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_SMOKE_CIGARETTE, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x4c) label(0x44) - chr_do_animation(ANIM_SCRATCH_HEAD, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_SCRATCH_HEAD, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x4c) label(0x45) - chr_do_animation(ANIM_YAWN, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x4c) label(0x46) - chr_do_animation(ANIM_GRAB_CROTCH, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_GRAB_CROTCH, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x4c) label(0x47) - chr_do_animation(ANIM_TWO_GUN_HOLD, 0, 100, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, 0, 100, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x4c) // 50% chance diff --git a/src/files/setup/setupdepo.c b/src/files/setup/setupdepo.c index b77af9256..a5cd90287 100644 --- a/src/files/setup/setupdepo.c +++ b/src/files/setup/setupdepo.c @@ -1577,12 +1577,12 @@ u8 func040d_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0166, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0166, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_00020000) - chr_do_animation(0x0167, -1, -1, 0x06, 0x00, CHR_INTRO_VICTIM, 4) + chr_do_animation(0x0167, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_VICTIM, 4) restart_timer set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SILENCER, WEAPON_NONE) @@ -1787,18 +1787,18 @@ u8 func040d_intro[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0166, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x0166, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_00020000) set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_INVINCIBLE) set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_00010000) - chr_do_animation(0x0167, -2, -1, 0x06, 0x00, CHR_INTRO_VICTIM, 2) + chr_do_animation(0x0167, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_VICTIM, 2) stop_cutscene_track stop_ambient_track enter_firstperson - chr_do_animation(0x022a, -1, -1, 0x06, 0x00, CHR_INTRO_VICTIM, 2) + chr_do_animation(0x022a, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_VICTIM, 2) chr_drop_weapon(CHR_INTRO_VICTIM) yield set_ailist(CHR_CLOAK_1A, AILIST_INIT_CLOAK1_GUARD) @@ -1835,22 +1835,22 @@ u8 func040e_meeting_cutscene[] = { set_chr_chrflag(CHR_BLONDE, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_BLONDE, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_00020000) - chr_do_animation(0x0192, -1, -1, 0x06, 0x00, CHR_BLONDE, 4) + chr_do_animation(0x0192, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BLONDE, 4) set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000) - chr_do_animation(0x0193, -1, -1, 0x06, 0x00, CHR_CASS, 4) + chr_do_animation(0x0193, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CASS, 4) set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000) - chr_do_animation(0x0194, -1, -1, 0x06, 0x00, CHR_TRENT, 4) + chr_do_animation(0x0194, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TRENT, 4) set_chr_chrflag(CHR_STRIPES, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_STRIPES, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_STRIPES, CHRHFLAG_00020000) - chr_do_animation(0x0195, -1, -1, 0x06, 0x00, CHR_STRIPES, 4) + chr_do_animation(0x0195, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_STRIPES, 4) restart_timer beginloop(0x55) @@ -2098,7 +2098,7 @@ u8 func040f_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x0197, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x0197, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) set_chr_hudpiece_visible(CHR_P1P2, TRUE) restart_timer deactivate_alarm diff --git a/src/files/setup/setupdish.c b/src/files/setup/setupdish.c index ec7aaab7a..ec5a34562 100644 --- a/src/files/setup/setupdish.c +++ b/src/files/setup/setupdish.c @@ -575,7 +575,7 @@ u8 func041e_colleague[] = { if_target_in_sight(/*goto*/ 0x2f) if_chr_idle(/*goto*/ 0x06) if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x7f) - chr_do_animation(0x0227, 0, -1, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(0x0227, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) reloop(0x04) // Player not in sight - 2 in 255 chance of doing a bored animation @@ -604,7 +604,7 @@ u8 func041e_colleague[] = { goto_next(0x2f) label(0x7f) - chr_do_animation(ANIM_SITTING_0265, 0, -1, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_0265, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) label(0x2f) play_cistaff_quip(CIQUIP_GREETING, CHANNEL_6) restart_timer @@ -678,7 +678,7 @@ u8 func041e_colleague[] = { goto_next(0x06) label(0x7f) - chr_do_animation(ANIM_SITTING_0265, 0, -1, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_0265, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) label(0x06) play_cistaff_quip(CIQUIP_ANNOYED, CHANNEL_6) restart_timer @@ -2666,7 +2666,7 @@ u8 func042a_carrington_cloak[] = { label(0x06) dprint 'I','n','i','t','i','a','l','i','s','e','c',0, restart_timer - chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) restart_timer beginloop(0x57) @@ -5826,7 +5826,7 @@ u8 func1000_jo_typing[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0485, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0485, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) @@ -5859,7 +5859,7 @@ u8 func1000_jo_typing[] = { label(0x7b) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0485, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x0485, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) enter_firstperson diff --git a/src/files/setup/setupear.c b/src/files/setup/setupear.c index a8aae2081..7c506bc63 100644 --- a/src/files/setup/setupear.c +++ b/src/files/setup/setupear.c @@ -978,7 +978,7 @@ u8 func0404_scientist[] = { goto_next(0x06) label(0x6a) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x6b) if_chr_dead(0x2b, /*goto*/ 0x2f) @@ -998,7 +998,7 @@ u8 func0404_scientist[] = { goto_first(0x6a) label(0x6d) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x6e) if_chr_dead(0x2d, /*goto*/ 0x2f) @@ -1056,7 +1056,7 @@ u8 func0404_scientist[] = { label(0x0a) say_quip(CHR_TARGET, 0x0c, 0xff, 0x00, 0xff, 0x81, 0x05, 0x08) restart_timer - chr_do_animation(ANIM_SURRENDER_002E, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0b) if_target_in_fov_left(10, /*goto*/ 0x06) @@ -1139,7 +1139,7 @@ u8 func0404_scientist[] = { label(0x0f) show_hudmsg(CHR_TARGET, L_EAR_028) // "Powering down active systems." speak(CHR_TARGET, 0xffff, SFX_TYPING_8118, CHANNEL_9, COLOR_00_GREEN) // unknown text - chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0d) if_chr_stopped(/*goto*/ 0x06) @@ -1287,7 +1287,7 @@ u8 func0406_nasty_scientist[] = { label(0x0f) speak(CHR_TARGET, 0xffff, SFX_TYPING_8118, CHANNEL_9, COLOR_00_GREEN) // unknown text say_quip(CHR_TARGET, 0x0e, 0xff, 0x00, 0xff, 0x81, 0x07, 0x08) - chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0d) if_chr_stopped(/*goto*/ 0x30) @@ -2234,13 +2234,13 @@ u8 func0416_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_chrflag(CHR_BOND, CHRCFLAG_00010000) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x00f6, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x00f6, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE) set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_00010000) unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000) - chr_do_animation(0x00f7, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4) + chr_do_animation(0x00f7, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 4) restart_timer fade_to_color(0x000000ff, 0) @@ -2330,12 +2330,12 @@ u8 func0416_intro[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_BOND, CHRCFLAG_00010000) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x00f6, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x00f6, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE) set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_INVINCIBLE) set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000) - chr_do_animation(0x00f7, -2, -1, 0x06, 0x00, CHR_INTRO_GUARD, 2) + chr_do_animation(0x00f7, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 2) unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) @@ -2343,7 +2343,7 @@ u8 func0416_intro[] = { stop_ambient_track enter_firstperson yield - chr_do_animation(0x020b, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 2) + chr_do_animation(0x020b, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_GUARD, 2) yield kill(CHR_INTRO_GUARD) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2365,7 +2365,7 @@ u8 func0417_outro[] = { restart_timer dprint 's','h','o','t',' ','1',0, camera_movement(0x00f9) - chr_do_animation(0x00fa, -1, -1, 0x06, 0x00, CHR_P1P2, 2) + chr_do_animation(0x00fa, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) set_cutscene_weapon(CHR_P1P2, -1, -1) yield set_cutscene_weapon(CHR_P1P2, -1, WEAPON_FALCON2) @@ -2387,21 +2387,21 @@ u8 func0417_outro[] = { dprint 's','h','o','t',' ','2',0, if_controller_button_pressed(/*goto*/ 0x06) camera_movement(0x0140) - chr_do_animation(0x0141, -1, -1, 0x06, 0x00, CHR_P1P2, 2) + chr_do_animation(0x0141, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) wait_for_camera(0x09) dprint 's','h','o','t',' ','3',0, if_controller_button_pressed(/*goto*/ 0x06) camera_movement(0x0143) - chr_do_animation(0x0144, -1, -1, 0x06, 0x00, CHR_P1P2, 2) + chr_do_animation(0x0144, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) wait_for_camera(0x0a) dprint 's','h','o','t',' ','4',0, if_controller_button_pressed(/*goto*/ 0x06) camera_movement(0x0146) - chr_do_animation(0x0147, -1, -1, 0x06, 0x00, CHR_P1P2, 2) + chr_do_animation(0x0147, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) restart_timer beginloop(0x0b) @@ -2430,31 +2430,31 @@ u8 func0417_outro[] = { set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000) camera_movement(0x0149) - chr_do_animation(0x014a, -1, -1, 0x06, 0x00, CHR_P1P2, 2) - chr_do_animation(0x014b, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 2) + chr_do_animation(0x014a, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) + chr_do_animation(0x014b, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2) wait_for_camera(0x0c) dprint 's','h','o','t',' ','6',0, if_controller_button_pressed(/*goto*/ 0x06) camera_movement(0x014c) - chr_do_animation(0x014d, -1, -1, 0x06, 0x00, CHR_P1P2, 2) - chr_do_animation(0x014e, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 2) + chr_do_animation(0x014d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) + chr_do_animation(0x014e, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2) wait_for_camera(0x0d) dprint 's','h','o','t',' ','7',0, if_controller_button_pressed(/*goto*/ 0x06) camera_movement(0x014f) - chr_do_animation(0x0150, -1, -1, 0x06, 0x00, CHR_P1P2, 2) - chr_do_animation(0x0151, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 2) + chr_do_animation(0x0150, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) + chr_do_animation(0x0151, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2) wait_for_camera(0x0e) dprint 's','h','o','t',' ','8',0, camera_movement(0x0152) - chr_do_animation(0x0153, -1, -1, 0x06, 0x00, CHR_P1P2, 2) - chr_do_animation(0x0154, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 2) + chr_do_animation(0x0153, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) + chr_do_animation(0x0154, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2) wait_for_camera(0x0f) @@ -2969,16 +2969,16 @@ u8 func0403_k7_scientist[] = { if_rand_lt(64, /*goto*/ 0x09) if_rand_lt(128, /*goto*/ 0x0a) if_rand_lt(196, /*goto*/ 0x0b) - chr_do_animation(ANIM_GRAB_CROTCH, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_GRAB_CROTCH, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x0f) label(0x09) - chr_do_animation(ANIM_YAWN, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x0f) label(0x0a) - chr_do_animation(ANIM_ROLL_HEAD, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_ROLL_HEAD, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x0f) label(0x0b) - chr_do_animation(ANIM_GRAB_BUTT, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_GRAB_BUTT, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x0f) beginloop(0x0f) @@ -3006,7 +3006,7 @@ u8 func0403_k7_scientist[] = { endloop(0x0d) label(0x10) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x0e) if_chr_stopped(/*goto*/ 0x2f) diff --git a/src/files/setup/setupeld.c b/src/files/setup/setupeld.c index fa2a349c6..6f441de6c 100644 --- a/src/files/setup/setupeld.c +++ b/src/files/setup/setupeld.c @@ -781,22 +781,22 @@ u8 func1002_intro[] = { if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e) if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d) label(0x2e) - chr_do_animation(0x0172, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0172, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) remove_chr(CHR_NEGOTIATOR) play_cutscene_track(MUSIC_VILLA_INTRO3) goto_next(0x06) label(0x2d) play_cutscene_track(MUSIC_VILLA_INTRO2) - chr_do_animation(0x0172, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4) + chr_do_animation(0x0172, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_NEGOTIATOR, 4) label(0x06) set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000) - chr_do_animation(0x0173, -1, -1, 0x06, 0x00, CHR_TAKER1, 4) + chr_do_animation(0x0173, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 4) set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000) - chr_do_animation(0x0174, -1, -1, 0x06, 0x00, CHR_TAKER2, 4) + chr_do_animation(0x0174, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 4) show_object(OBJ_DROPSHIP) set_object_flag2(OBJ_DROPSHIP, OBJFLAG2_04000000) set_object_flag3(OBJ_DROPSHIP, OBJFLAG3_00000010) @@ -942,21 +942,21 @@ u8 func1002_intro[] = { if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e) if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d) label(0x2e) - chr_do_animation(0x01b8, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01b8, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) goto_next(0x06) label(0x2d) - chr_do_animation(0x01b8, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4) + chr_do_animation(0x01b8, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_NEGOTIATOR, 4) label(0x06) set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000) - chr_do_animation(0x01b9, -1, -1, 0x06, 0x00, CHR_TAKER1, 4) + chr_do_animation(0x01b9, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 4) set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000) - chr_do_animation(0x01ba, -1, -1, 0x06, 0x00, CHR_TAKER2, 4) + chr_do_animation(0x01ba, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 4) restart_timer @@ -1033,20 +1033,20 @@ u8 func1002_intro[] = { set_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_00020000) - chr_do_animation(0x0001, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4) + chr_do_animation(0x0001, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_NEGOTIATOR, 4) set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000) - chr_do_animation(0x0001, -1, -1, 0x06, 0x00, CHR_TAKER1, 4) + chr_do_animation(0x0001, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 4) set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN) - chr_do_animation(0x0001, -1, -1, 0x06, 0x00, CHR_TAKER2, 4) + chr_do_animation(0x0001, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 4) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01bc, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01bc, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) show_object(OBJ_DROPSHIP) set_object_flag2(OBJ_DROPSHIP, OBJFLAG2_04000000) @@ -1101,19 +1101,19 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01bc, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01bc, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_00020000) - chr_do_animation(0x01b8, -2, -1, 0x06, 0x00, CHR_NEGOTIATOR, 2) + chr_do_animation(0x01b8, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_NEGOTIATOR, 2) unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000) - chr_do_animation(0x01b9, -2, -1, 0x06, 0x00, CHR_TAKER1, 2) + chr_do_animation(0x01b9, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 2) unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000) - chr_do_animation(0x01ba, -2, -1, 0x06, 0x00, CHR_TAKER2, 2) + chr_do_animation(0x01ba, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 2) hide_object(OBJ_DROPSHIP) stop_cutscene_track @@ -1122,9 +1122,9 @@ u8 func1002_intro[] = { unset_stage_flag(STAGEFLAG_PLAYING_INTRO_FROM_MENU) enter_firstperson yield - chr_do_animation(0x0001, -1, -1, 0x02, 0x00, CHR_NEGOTIATOR, 2) - chr_do_animation(0x0001, -1, -1, 0x02, 0x00, CHR_TAKER1, 2) - chr_do_animation(0x0001, -1, -1, 0x02, 0x00, CHR_TAKER2, 2) + chr_do_animation(0x0001, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_NEGOTIATOR, 2) + chr_do_animation(0x0001, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_TAKER1, 2) + chr_do_animation(0x0001, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_TAKER2, 2) set_ailist(CHR_TAKER1, AILIST_INIT_TAKER) set_ailist(CHR_TAKER2, AILIST_INIT_TAKER) set_ailist(CHR_NEGOTIATOR, AILIST_NEGOTIATOR) @@ -1138,15 +1138,15 @@ u8 func1002_intro[] = { if_controller_button_pressed(/*goto*/ 0x56) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01bf, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01bf, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000) - chr_do_animation(0x01c0, -1, -1, 0x06, 0x00, CHR_TAKER1, 4) + chr_do_animation(0x01c0, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 4) set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000) - chr_do_animation(0x01c1, -1, -1, 0x06, 0x00, CHR_TAKER2, 4) + chr_do_animation(0x01c1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 4) restart_timer label(0xa6) yield @@ -1202,15 +1202,15 @@ u8 func1002_intro[] = { mute_channel(CHANNEL_7) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01bf, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01bf, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000) set_chr_chrflag(CHR_TAKER1, CHRCFLAG_00000001) - chr_do_animation(0x01c0, -2, -1, 0x06, 0x00, CHR_TAKER1, 2) + chr_do_animation(0x01c0, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER1, 2) unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000) set_chr_chrflag(CHR_TAKER2, CHRCFLAG_00000001) - chr_do_animation(0x01c1, -2, -1, 0x06, 0x00, CHR_TAKER2, 2) + chr_do_animation(0x01c1, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TAKER2, 2) hide_object(OBJ_DROPSHIP) stop_cutscene_track stop_ambient_track @@ -1243,12 +1243,12 @@ u8 func0408_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x017c, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x017c, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000) - chr_do_animation(0x017b, -1, -1, 0x06, 0x00, CHR_CARRINGTON, 4) + chr_do_animation(0x017b, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CARRINGTON, 4) show_nonessential_chrs(FALSE) restart_timer @@ -1533,7 +1533,7 @@ u8 func0402_taker[] = { set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer - chr_do_animation(0x0202, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(0x0202, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x5f) if_timer_gt(180, /*goto*/ 0x5e) @@ -1612,10 +1612,10 @@ u8 func0402_taker[] = { label(0x2d) if_self_flag_bankx_eq(CHRFLAG0_NOHEAR, TRUE, BANK_0, /*goto*/ 0x06) - chr_do_animation(0x01fd, 0, -1, 0x00, 0x0a, CHR_SELF, 2) + chr_do_animation(0x01fd, 0, -1, 0, 10, CHR_SELF, 2) goto_next(0x0e) label(0x06) - chr_do_animation(0x0232, 0, -1, 0x00, 0x0a, CHR_SELF, 2) + chr_do_animation(0x0232, 0, -1, 0, 10, CHR_SELF, 2) beginloop(0x0e) if_saw_injury(0x00, /*goto*/ 0x2e) @@ -1849,16 +1849,16 @@ u8 func0404_sniper[] = { if_rand_lt(64, /*goto*/ 0x59) if_rand_lt(128, /*goto*/ 0x5a) if_rand_lt(196, /*goto*/ 0x5b) - chr_do_animation(ANIM_LOOK_AROUND_025B, 0, -1, 0x50, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025B, 0, -1, CHRANIMFLAG_SLOWUPDATE | CHRANIMFLAG_LOCKPOS, 10, CHR_SELF, 2) goto_next(0x0b) label(0x59) - chr_do_animation(ANIM_LOOK_AROUND_025C, 0, -1, 0x50, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025C, 0, -1, CHRANIMFLAG_SLOWUPDATE | CHRANIMFLAG_LOCKPOS, 10, CHR_SELF, 2) goto_next(0x0b) label(0x5a) - chr_do_animation(ANIM_LOOK_AROUND_025D, 0, -1, 0x50, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025D, 0, -1, CHRANIMFLAG_SLOWUPDATE | CHRANIMFLAG_LOCKPOS, 10, CHR_SELF, 2) goto_next(0x0b) label(0x5b) - chr_do_animation(ANIM_LOOK_AROUND_025E, 0, -1, 0x50, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025E, 0, -1, CHRANIMFLAG_SLOWUPDATE | CHRANIMFLAG_LOCKPOS, 10, CHR_SELF, 2) label(0x0b) yield @@ -2212,7 +2212,7 @@ u8 func0406_init_hacker[] = { }; u8 func0405_hacker[] = { - chr_do_animation(ANIM_SITTING_TYPING, 0, -1, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_TYPING, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) beginloop(0x04) chr_toggle_p1p2(CHR_SELF) @@ -2957,7 +2957,7 @@ u8 func0410_carrington[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_chr_maxdamage(CHR_SELF, 1) - chr_do_animation(0x017b, 1, 1, 0x06, 0x00, CHR_CARRINGTON, 2) + chr_do_animation(0x017b, 1, 1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CARRINGTON, 2) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; @@ -3169,7 +3169,7 @@ u8 func0411_cisoldier[] = { chr_drop_weapon(CHR_SELF) label(0x08) yield - chr_do_animation(0x0487, -1, -1, 0x06, 0x00, CHR_CISOLDIER, 2) + chr_do_animation(0x0487, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CISOLDIER, 2) yield yield yield diff --git a/src/files/setup/setupimp.c b/src/files/setup/setupimp.c index 8439e891e..b1b447e9b 100644 --- a/src/files/setup/setupimp.c +++ b/src/files/setup/setupimp.c @@ -874,7 +874,7 @@ u8 func0c01_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x01a3, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x01a3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) #define show_object_with_animation(object, animation) \ show_object(object) \ @@ -950,12 +950,12 @@ u8 func0c01_outro[] = { set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_00020000) - chr_do_animation(0x01ad, -1, -1, 0x06, 0x00, CHR_SKEDAR1, 4) + chr_do_animation(0x01ad, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR1, 4) set_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_SKEDAR2, CHRHFLAG_00020000) - chr_do_animation(0x01ae, -1, -1, 0x06, 0x00, CHR_SKEDAR2, 4) + chr_do_animation(0x01ae, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR2, 4) wait_until(16, 0x78) play_sound(SFX_SKEDAR_ROAR_0530, CHANNEL_10) @@ -978,7 +978,7 @@ u8 func0c01_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x0306, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x0306, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) show_object_with_animation(0x0e, 0x0307) show_object_with_animation(0x0f, 0x0308) @@ -1091,12 +1091,12 @@ u8 func0c01_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x0311, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x0311, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_00020000) - chr_do_animation(0x0312, -1, -1, 0x06, 0x00, CHR_SKEDAR1, 4) + chr_do_animation(0x0312, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR1, 4) show_object_with_animation(0x0e, 0x0313) show_object_with_animation(0x0f, 0x0314) @@ -1166,19 +1166,19 @@ u8 func1002_intro[] = { set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x02bd, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x02bd, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000) - chr_do_animation(0x02be, -1, -1, 0x06, 0x00, CHR_CARRINGTON, 4) + chr_do_animation(0x02be, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CARRINGTON, 4) set_chr_chrflag(0x19, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x19, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x19, CHRHFLAG_00020000) - chr_do_animation(0x02bf, -1, -1, 0x06, 0x00, 0x19, 4) + chr_do_animation(0x02bf, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x19, 4) set_chr_chrflag(0x1a, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x1a, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x1a, CHRHFLAG_00020000) - chr_do_animation(0x02c0, -1, -1, 0x06, 0x00, 0x1a, 4) + chr_do_animation(0x02c0, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x1a, 4) show_object(0x0d) set_object_flag2(0x0d, OBJFLAG2_04000000) set_object_flag3(0x0d, OBJFLAG3_00000010) @@ -1410,10 +1410,10 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_00020000) - chr_do_animation(0x02c3, -1, -1, 0x06, 0x00, CHR_SKEDAR4, 4) + chr_do_animation(0x02c3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR4, 4) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x02c4, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x02c4, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) show_object(0x52) set_object_flag2(0x52, OBJFLAG2_04000000) set_object_flag3(0x52, OBJFLAG3_00000010) @@ -1495,20 +1495,20 @@ u8 func1002_intro[] = { set_cutscene_weapon(CHR_BOND, WEAPON_AR34, WEAPON_NONE) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x02c4, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x02c4, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000) - chr_do_animation(0x02be, -2, -1, 0x06, 0x00, CHR_CARRINGTON, 2) + chr_do_animation(0x02be, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CARRINGTON, 2) unset_chr_chrflag(0x19, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(0x19, CHRHFLAG_00020000) - chr_do_animation(0x02bf, -2, -1, 0x06, 0x00, 0x19, 2) + chr_do_animation(0x02bf, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x19, 2) unset_chr_chrflag(0x1a, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(0x1a, CHRHFLAG_00020000) - chr_do_animation(0x02c0, -2, -1, 0x06, 0x00, 0x1a, 2) + chr_do_animation(0x02c0, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x1a, 2) unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_00020000) - chr_do_animation(0x02c3, -2, -1, 0x06, 0x00, CHR_SKEDAR4, 2) + chr_do_animation(0x02c3, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SKEDAR4, 2) unset_object_flag2(0x0d, OBJFLAG2_04000000) set_object_flag(0x0d, OBJFLAG_DEACTIVATED) set_object_flag3(0x0d, OBJFLAG3_00000010) @@ -1799,7 +1799,7 @@ u8 func041a_hostage_holo[] = { label(0x08) label(0x12) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x10) if_stage_flag_eq(STAGEFLAG_HOLO_TAKERS_DEAD, TRUE, /*goto*/ 0x08) @@ -1868,7 +1868,7 @@ u8 func041f_holoclone[] = { label(0x08) label(0x12) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x10) if_chr_stopped(/*goto*/ 0x2e) @@ -1882,7 +1882,7 @@ u8 func041f_holoclone[] = { #define holo_taker_logic(holoclone) \ restart_timer \ - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) \ + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0, 16, CHR_SELF, 2) \ \ beginloop(0xba) \ set_target_chr(CHR_BOND) \ @@ -2000,7 +2000,7 @@ u8 func0425_hostage_thank_and_run[] = { label(0x08) play_cistaff_quip(CIQUIP_THANKS, CHANNEL_6) - chr_do_animation(ANIM_TALKING_0231, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) label(0x2f) restart_timer @@ -2090,7 +2090,7 @@ u8 func0427_drop_devastator[] = { yield drop_concealed_items(CHR_SELF) play_cistaff_quip(CIQUIP_THANKS, CHANNEL_6) - chr_do_animation(ANIM_TALKING_0231, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) restart_timer beginloop(0x71) @@ -2216,7 +2216,7 @@ u8 func042b_deviceroom_hostage[] = { goto_next(0x10) label(0x2e) - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x10) if_stage_flag_eq(STAGEFLAG_DEVICE_TAKERS_DEAD, TRUE, /*goto*/ 0x08) @@ -2269,7 +2269,7 @@ u8 func042e_taker_device_m[] = { assign_sound(SFX_M0_WHAT_THE, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) restart_timer - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0, 16, CHR_SELF, 2) beginloop(0xba) if_timer_gt(60, /*goto*/ 0xbb) @@ -2316,7 +2316,7 @@ u8 func0430_taker_device_f[] = { increase_squadron_alertness(100) set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) restart_timer - chr_do_animation(ANIM_RELOAD_0209, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0xbc) if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x08) @@ -2430,7 +2430,7 @@ u8 func0433_inforoom_hostage[] = { endloop(0x0a) label(0x12) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x10) if_stage_flag_eq(STAGEFLAG_INFO_TAKERS_DEAD, TRUE, /*goto*/ 0x0d) @@ -3947,7 +3947,7 @@ u8 unregistered_function2[] = { endloop(0x0a) label(0x2e) - chr_do_animation(0x02c3, -1, -1, 0x06, 0x00, 0x34, 4) + chr_do_animation(0x02c3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x34, 4) endloop(0x03) endlist diff --git a/src/files/setup/setuplee.c b/src/files/setup/setuplee.c index 4ee714c8d..db3b2b43a 100644 --- a/src/files/setup/setuplee.c +++ b/src/files/setup/setuplee.c @@ -757,7 +757,7 @@ u8 func040e_elvis_give_ar34[] = { rebuild_squadrons set_stage_flag(STAGEFLAG_MET_ELVIS) speak(CHR_P1P2, L_LEE_019, MP3_02E1, CHANNEL_6, COLOR_04_ORANGE) // "Good to see you, Joanna." - chr_do_animation(ANIM_TALKING_0231, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0c) if_timer_gt(180, /*goto*/ 0x06) @@ -915,7 +915,7 @@ u8 func0409_elvis_follow[] = { label(0x2c) restart_timer - chr_do_animation(ANIM_OPERATE_0221, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, 0, -1, 0, 16, CHR_SELF, 2) beginloop(0x10) if_timer_gt(180, /*goto*/ 0x06) @@ -1023,7 +1023,7 @@ u8 func040a_elvis_go_to_hangar_lift[] = { // At player label(0x06) speak(CHR_BOND, L_LEE_022, MP3_02E4, CHANNEL_6, COLOR_04_ORANGE) // "Time to head upwards. I'll take this lift; you tak..." - chr_do_animation(ANIM_TALKING_0231, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) set_morale(50) beginloop(0x0c) @@ -1803,7 +1803,7 @@ u8 func0419_hangar_maian[] = { label(0x2c) restart_timer - chr_do_animation(ANIM_SNEEZE, 0, 193, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SNEEZE, 0, 193, 0, 16, CHR_SELF, 2) beginloop(0x10) if_timer_gt(180, /*goto*/ 0x06) @@ -2538,17 +2538,17 @@ u8 func1003_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01c3, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01c3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000) - chr_do_animation(0x01c4, -1, -1, 0x06, 0x00, CHR_CASS, 4) + chr_do_animation(0x01c4, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CASS, 4) set_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_00020000) - chr_do_animation(0x01c5, -1, -1, 0x06, 0x00, CHR_INTRO_SKEDAR, 4) + chr_do_animation(0x01c5, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_SKEDAR, 4) restart_timer set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) @@ -2763,17 +2763,17 @@ u8 func1003_intro[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01c3, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01c3, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000) set_chr_chrflag(CHR_CASS, CHRCFLAG_00000001) - chr_do_animation(0x01c4, -2, -1, 0x06, 0x00, CHR_CASS, 2) + chr_do_animation(0x01c4, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_CASS, 2) unset_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_00020000) set_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_00000001) - chr_do_animation(0x01c5, -2, -1, 0x06, 0x00, CHR_INTRO_SKEDAR, 2) + chr_do_animation(0x01c5, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_SKEDAR, 2) remove_chr(CHR_INTRO_SKEDAR) set_ailist(CHR_SHY_SKEDAR, AILIST_SHY_SKEDAR_WAIT) @@ -2806,14 +2806,14 @@ u8 func0c01_outro[] = { set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000) - chr_do_animation(0x01e2, -1, -1, 0x06, 0x00, CHR_TARGET, 4) + chr_do_animation(0x01e2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE) set_ailist(CHR_ELVIS, GAILIST_IDLE) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x01e3, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x01e3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) show_object(OBJ_OUTRO_SHUTTLE) set_object_flag2(OBJ_OUTRO_SHUTTLE, OBJFLAG2_04000000) diff --git a/src/files/setup/setuplip.c b/src/files/setup/setuplip.c index d16094354..fb5c7a00f 100644 --- a/src/files/setup/setuplip.c +++ b/src/files/setup/setuplip.c @@ -1474,7 +1474,7 @@ u8 func0410_labtech_showers_sa_pa[] = { // Tech saw weapon label(0x53) - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) dprint 'T','A','L','K',' ','1','\n',0, speak(CHR_TARGET, L_LIP_041, SFX_8156, CHANNEL_4, COLOR_08_RED) // "Oh, my God - a gun!" restart_timer @@ -1969,7 +1969,7 @@ u8 func041a_labtech_harrysmate[] = { speak(CHR_TARGET, L_LIP_058, MP3_02BB, CHANNEL_4, COLOR_08_RED) // "Hey, that's not Harry. It's an intruder." increase_squadron_alertness(120) restart_timer - chr_do_animation(0x002e, 0, -1, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(0x002e, 0, -1, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0a) if_timer_gt(120, /*goto*/ 0x06) @@ -1983,7 +1983,7 @@ u8 func041a_labtech_harrysmate[] = { endloop(0x0b) label(0x5a) - chr_do_animation(ANIM_DRAW_PISTOL_0288, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_DRAW_PISTOL_0288, 0, -1, 0, 16, CHR_SELF, 2) beginloop(0x0c) if_chr_stopped(/*goto*/ 0x06) @@ -2061,7 +2061,7 @@ u8 func041b_labtech_keycardguy[] = { label(0x2d) restart_timer - chr_do_animation(ANIM_SURRENDER_002E, 0, 190, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 190, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x09) if_timer_gt(60, /*goto*/ 0x06) @@ -2073,7 +2073,7 @@ u8 func041b_labtech_keycardguy[] = { endloop(0x09) label(0x5a) - chr_do_animation(ANIM_DRAW_PISTOL_0288, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_DRAW_PISTOL_0288, 0, -1, 0, 16, CHR_SELF, 2) beginloop(0x0a) if_chr_stopped(/*goto*/ 0x06) @@ -2339,7 +2339,7 @@ u8 func0413_mechanic[] = { dprint 'T','A','L','K',' ','1','\n',0, speak(CHR_BOND, L_LIP_065, SFX_M0_GET_THE_HELL_OUT_OF_HERE, CHANNEL_4, COLOR_08_RED) // "Get the hell out of here!" restart_timer - chr_do_animation(ANIM_SURRENDER_002E, 0, -1, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, -1, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x64) if_timer_gt(120, /*goto*/ 0x2d) @@ -2355,7 +2355,7 @@ u8 func0413_mechanic[] = { label(0x06) label(0x0f) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x8a) if_chr_stopped(/*goto*/ 0x2d) @@ -2603,15 +2603,15 @@ u8 func041f_labtech_lights[] = { call_rng if_rand_lt(86, /*goto*/ 0x69) if_rand_lt(172, /*goto*/ 0x6a) - chr_do_animation(ANIM_SITTING_DORMANT, -1, -1, 0x14, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, -1, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x69) - chr_do_animation(ANIM_SITTING_DORMANT, -1, -1, 0x14, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, -1, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x6a) - chr_do_animation(ANIM_SITTING_DORMANT, -1, -1, 0x14, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, -1, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) beginloop(0x04) @@ -2738,15 +2738,15 @@ u8 func041f_labtech_lights[] = { call_rng if_rand_lt(86, /*goto*/ 0x64) if_rand_lt(172, /*goto*/ 0x66) - chr_do_animation(ANIM_OPERATE_0221, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x0e) label(0x64) - chr_do_animation(ANIM_OPERATE_0221, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x0e) label(0x66) - chr_do_animation(ANIM_OPERATE_0223, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0223, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x0e) chr_toggle_p1p2(CHR_SELF) @@ -2768,7 +2768,7 @@ u8 func041f_labtech_lights[] = { label(0x0f) speak(CHR_TARGET, L_LIP_084, SFX_M1_HOLY, CHANNEL_4, COLOR_08_RED) // "Holy..." set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) - chr_do_animation(ANIM_SURPRISED_0202, -1, -1, 0x14, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, -1, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) restart_timer beginloop(0x10) @@ -2820,15 +2820,15 @@ u8 func0420_labtech_doors[] = { endloop(0x55) label(0x5e) - chr_do_animation(ANIM_OPERATE_0221, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x6f) label(0x64) - chr_do_animation(ANIM_OPERATE_0221, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x6f) label(0x66) - chr_do_animation(ANIM_OPERATE_0223, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0223, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) label(0x6f) beginloop(0x04) @@ -2934,7 +2934,7 @@ u8 func0420_labtech_doors[] = { endloop(0x70) label(0x2d) - chr_do_animation(ANIM_OPERATE_0221, -1, 120, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, 120, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) restart_timer beginloop(0x71) @@ -2965,7 +2965,7 @@ u8 func0420_labtech_doors[] = { label(0x06) dprint 'F','L','A','G',' ','S','E','T','\n',0, label(0x10) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x77) if_chr_stopped(/*goto*/ 0x2d) @@ -3045,28 +3045,28 @@ u8 func0422_labtech_records[] = { if_rand_lt(160, /*goto*/ 0x6a) if_rand_lt(192, /*goto*/ 0x6b) if_rand_lt(224, /*goto*/ 0x6c) - chr_do_animation(0x0221, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(0x0221, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x64) - chr_do_animation(0x0221, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(0x0221, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x66) - chr_do_animation(0x0223, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(0x0223, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x68) - chr_do_animation(0x0221, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(0x0221, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x69) - chr_do_animation(0x0221, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(0x0221, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x6a) - chr_do_animation(0x0223, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(0x0223, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x6b) - chr_do_animation(0x023a, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(0x023a, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x04) label(0x6c) - chr_do_animation(0x023b, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(0x023b, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) label(0x04) yield if_chr_idle(/*goto*/ 0x2d) @@ -3106,7 +3106,7 @@ u8 func0422_labtech_records[] = { if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x2d) increase_squadron_alertness(100) speak(CHR_TARGET, L_LIP_087, MP3_M0_IMPOSTER, CHANNEL_4, COLOR_08_RED) // "Imposter!" - chr_do_animation(0x0202, -1, -1, 0x14, 0x0a, CHR_SELF, 2) + chr_do_animation(0x0202, -1, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) restart_timer label(0x79) yield @@ -3127,7 +3127,7 @@ u8 func0422_labtech_records[] = { label(0x06) dprint 'F','L','A','G',' ','S','E','T','\n',0, label(0x10) - chr_do_animation(0x0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(0x0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) label(0x0e) yield if_chr_stopped(/*goto*/ 0x2d) @@ -3657,17 +3657,17 @@ u8 func0c01_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x0199, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x0199, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) set_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_BIOTECH1, CHRHFLAG_00020000) - chr_do_animation(0x019a, -1, -1, 0x06, 0x00, CHR_BIOTECH1, 4) + chr_do_animation(0x019a, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BIOTECH1, 4) set_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_BIOTECH2, CHRHFLAG_00020000) - chr_do_animation(0x019b, -1, -1, 0x06, 0x00, CHR_BIOTECH2, 4) + chr_do_animation(0x019b, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BIOTECH2, 4) set_object_flag2(0x2f, OBJFLAG2_04000000) set_object_flag3(0x2f, OBJFLAG3_00000010) @@ -3759,17 +3759,17 @@ u8 func1002_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01c8, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01c8, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000) - chr_do_animation(0x01c7, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4) + chr_do_animation(0x01c7, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 4) set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_00020000) - chr_do_animation(0x01c9, -1, -1, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 4) + chr_do_animation(0x01c9, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_DEAD_GUARD, 4) set_object_flag2(OBJ_CRATE, OBJFLAG2_04000000) set_object_flag3(OBJ_CRATE, OBJFLAG3_00000010) @@ -3912,7 +3912,7 @@ u8 func1002_intro[] = { control_sound_from_object(CHANNEL_1, OBJ_CRATE, TRUE) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01c8, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01c8, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE) @@ -3920,7 +3920,7 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_UNPLAYABLE) set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_INVINCIBLE) set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_00020000) - chr_do_animation(0x01c9, -2, -1, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 2) + chr_do_animation(0x01c9, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_DEAD_GUARD, 2) mute_channel(CHANNEL_10) unset_object_flag2(OBJ_CRATE, OBJFLAG2_04000000) set_object_flag3(OBJ_CRATE, OBJFLAG3_00000010) @@ -3932,7 +3932,7 @@ u8 func1002_intro[] = { enter_firstperson yield set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_00010000) - chr_do_animation(0x01c9, 2, 3, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 2) + chr_do_animation(0x01c9, 2, 3, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_INTRO_DEAD_GUARD, 2) set_ailist(CHR_INTRO_DEAD_GUARD, GAILIST_IDLE) yield kill(CHR_INTRO_DEAD_GUARD) @@ -4656,15 +4656,15 @@ u8 func0430_biotech2[] = { if_rand_gt(85, /*goto*/ 0x62) if_rand_gt(170, /*goto*/ 0x63) - chr_do_animation(ANIM_OPERATE_0221, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x04) label(0x62) - chr_do_animation(ANIM_OPERATE_0222, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0222, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x04) label(0x63) - chr_do_animation(ANIM_OPERATE_0223, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0223, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x04) beginloop(0x04) @@ -4683,15 +4683,15 @@ u8 func0431_biotech1[] = { if_rand_gt(85, /*goto*/ 0x62) if_rand_gt(170, /*goto*/ 0x63) - chr_do_animation(ANIM_OPERATE_0204, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x04) label(0x62) - chr_do_animation(ANIM_OPERATE_0205, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0205, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x04) label(0x63) - chr_do_animation(ANIM_OPERATE_0206, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0206, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x04) beginloop(0x04) diff --git a/src/files/setup/setuplue.c b/src/files/setup/setuplue.c index 6fb8813e3..ecbded61d 100644 --- a/src/files/setup/setuplue.c +++ b/src/files/setup/setuplue.c @@ -1616,7 +1616,7 @@ u8 func0416_mechanic[] = { // Not alert - at interceptor label(0x04) call_rng - chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x09) chr_toggle_p1p2(CHR_SELF) @@ -1639,7 +1639,7 @@ u8 func0416_mechanic[] = { // In bunker label(0x0e) - chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0d) chr_toggle_p1p2(CHR_SELF) @@ -1784,18 +1784,18 @@ u8 func040e_outro[] = { unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x017f, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x017f, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) set_chr_hudpiece_visible(CHR_P1P2, TRUE) set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000) - chr_do_animation(0x017e, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4) + chr_do_animation(0x017e, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 4) set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_00020000) - chr_do_animation(0x0180, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD, 4) + chr_do_animation(0x0180, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_GUARD, 4) restart_timer show_nonessential_chrs(FALSE) @@ -1925,7 +1925,7 @@ u8 func0410_intro[] = { set_chr_chrflag(0x32, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x32, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x32, CHRHFLAG_00020000) - chr_do_animation(0x0182, -1, -1, 0x06, 0x00, 0x32, 4) + chr_do_animation(0x0182, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x32, 4) set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN) restart_timer fade_to_color(0x000000ff, 0) @@ -1969,17 +1969,17 @@ u8 func0410_intro[] = { set_chr_chrflag(0x29, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x29, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x29, CHRHFLAG_00020000) - chr_do_animation(0x0184, -1, -1, 0x06, 0x00, 0x29, 4) + chr_do_animation(0x0184, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x29, 4) set_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x2a, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x2a, CHRHFLAG_00020000) - chr_do_animation(0x0185, -1, -1, 0x06, 0x00, 0x2a, 4) + chr_do_animation(0x0185, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2a, 4) set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x2b, CHRHFLAG_00020000) - chr_do_animation(0x0186, -1, -1, 0x06, 0x00, 0x2b, 4) + chr_do_animation(0x0186, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2b, 4) set_object_flag2(0x2f, OBJFLAG2_04000000) set_object_flag3(0x2f, OBJFLAG3_00000010) @@ -2015,12 +2015,12 @@ u8 func0410_intro[] = { set_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x2a, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x2a, CHRHFLAG_00020000) - chr_do_animation(0x0189, -1, -1, 0x06, 0x00, 0x2a, 4) + chr_do_animation(0x0189, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2a, 4) set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x2b, CHRHFLAG_00020000) - chr_do_animation(0x018a, -1, -1, 0x06, 0x00, 0x2b, 4) + chr_do_animation(0x018a, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2b, 4) set_object_flag2(0x2f, OBJFLAG2_04000000) set_object_flag3(0x2f, OBJFLAG3_00000010) @@ -2053,7 +2053,7 @@ u8 func0410_intro[] = { if_controller_button_pressed(/*goto*/ 0x54) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x00f1, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x00f1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(0x03, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(0x03, CHRHFLAG_00020000) unset_chr_chrflag(0x03, CHRCFLAG_HIDDEN) @@ -2121,7 +2121,7 @@ u8 func0410_intro[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x00f1, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x00f1, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(0x03, CHRCFLAG_UNPLAYABLE) set_ailist(0x02, 0x0426) set_ailist(0x03, 0x0426) @@ -2930,7 +2930,7 @@ u8 func0421_activate_autogun[] = { endloop(0x09) label(0x2e) - chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 120, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 120, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0a) if_chr_stopped(/*goto*/ 0x2e) @@ -2948,7 +2948,7 @@ u8 func0421_activate_autogun[] = { label(0x0e) say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0, 16, CHR_SELF, 2) beginloop(0x7c) if_timer_gt(60, /*goto*/ 0x7d) diff --git a/src/files/setup/setuppam.c b/src/files/setup/setuppam.c index 7ad428603..15ed62687 100644 --- a/src/files/setup/setuppam.c +++ b/src/files/setup/setuppam.c @@ -889,7 +889,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { label(0x6f) label(0x2e) unset_self_chrflag(CHRCFLAG_PUSHABLE) - chr_do_animation(ANIM_OPERATE_0204, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) beginloop(0x10) if_chr_stopped(/*goto*/ 0x06) @@ -1052,7 +1052,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { label(0x2e) unset_self_chrflag(CHRCFLAG_PUSHABLE) restart_timer - chr_do_animation(ANIM_OPERATE_0205, -1, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0205, -1, -1, 0, 16, CHR_SELF, 2) beginloop(0x10) if_chr_stopped(/*goto*/ 0x06) @@ -1227,15 +1227,15 @@ u8 func0406_elvis_follow_and_do_sa_megaweapon[] = { if_rand_lt(86, /*goto*/ 0x63) if_rand_lt(172, /*goto*/ 0x64) - chr_do_animation(ANIM_OPERATE_0204, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x11) label(0x63) - chr_do_animation(ANIM_OPERATE_0205, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0205, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x11) label(0x64) - chr_do_animation(ANIM_OPERATE_0206, -1, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0206, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) goto_next(0x11) beginloop(0x11) @@ -1496,15 +1496,15 @@ u8 func0c01_midcutscene[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x01d5, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x01d5, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x01d6, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x01d6, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000) - chr_do_animation(0x01d7, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4) + chr_do_animation(0x01d7, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 4) show_object(0xbb) set_object_flag2(0xbb, OBJFLAG2_04000000) set_object_flag3(0xbb, OBJFLAG3_00000010) @@ -1824,13 +1824,13 @@ u8 func0c01_midcutscene[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x01d5, -2, -1, 0x06, 0x00, CHR_P1P2, 2) + chr_do_animation(0x01d5, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x01d6, -2, -1, 0x06, 0x00, CHR_ELVIS, 2) + chr_do_animation(0x01d6, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2) unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000) - chr_do_animation(0x01d7, -2, -1, 0x06, 0x00, CHR_DRCAROLL, 2) + chr_do_animation(0x01d7, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2) set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE) yield set_cutscene_weapon(CHR_ELVIS, WEAPON_PHOENIX, WEAPON_NONE) @@ -2033,11 +2033,11 @@ u8 func1002_intro[] = { cmd0175(60) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01f0, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01f0, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x01f1, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x01f1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) set_object_flag(0x07, OBJFLAG_DEACTIVATED) set_object_flag2(0x07, OBJFLAG2_04000000) set_object_flag3(0x07, OBJFLAG3_00000010) @@ -2045,7 +2045,7 @@ u8 func1002_intro[] = { set_chr_chrflag(0x40, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x40, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x40, CHRHFLAG_00020000) - chr_do_animation(0x0471, -1, -1, 0x06, 0x00, 0x40, 4) + chr_do_animation(0x0471, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x40, 4) restart_timer set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield @@ -2191,10 +2191,10 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01f0, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01f0, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x01f1, -2, -1, 0x06, 0x00, CHR_ELVIS, 2) + chr_do_animation(0x01f1, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2) if_coop_mode(/*goto*/ 0x45) unset_object_flag(0x07, OBJFLAG_DEACTIVATED) unset_object_flag2(0x07, OBJFLAG2_04000000) @@ -4537,7 +4537,7 @@ u8 func0432_dead_skedar[] = { label(0x08) yield - chr_do_animation(ANIM_SKEDAR_COLLAPSE, -1, -1, 0x06, 0x00, 0x21, 2) + chr_do_animation(ANIM_SKEDAR_COLLAPSE, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x21, 2) label(0x2e) set_ailist(CHR_SELF, GAILIST_IDLE) endlist diff --git a/src/files/setup/setuppete.c b/src/files/setup/setuppete.c index 03587c46b..052b33fce 100644 --- a/src/files/setup/setuppete.c +++ b/src/files/setup/setuppete.c @@ -587,7 +587,7 @@ u8 func0404_3ce0[] = { camera_movement(0x00e0) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x00e1, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x00e1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN) chicago_wait_for_camera @@ -605,7 +605,7 @@ u8 func0405_3d50[] = { if_controller_button_pressed(/*goto*/ 0x00) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x00df, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x00df, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN) restart_timer @@ -636,7 +636,7 @@ u8 func0405_3d50[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x00df, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x00df, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) stop_cutscene_track stop_ambient_track @@ -1352,23 +1352,23 @@ u8 func0412_cia[] = { if_rand_lt(128, /*goto*/ 0x51) if_rand_lt(196, /*goto*/ 0x52) set_self_flag_bankx(CHRFLAG1_DONE_SEARCH_ANIM, BANK_1) - chr_do_animation(ANIM_SMOKE_CIGARETTE, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_SMOKE_CIGARETTE, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x36) label(0x50) - chr_do_animation(ANIM_SCRATCH_HEAD, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_SCRATCH_HEAD, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x36) label(0x51) - chr_do_animation(ANIM_YAWN, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x36) label(0x52) - chr_do_animation(ANIM_GRAB_CROTCH, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_GRAB_CROTCH, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x36) label(0x53) - chr_do_animation(ANIM_TWO_GUN_HOLD, 0, 100, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, 0, 100, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x36) label(0x03) @@ -1447,7 +1447,7 @@ u8 func0412_cia[] = { // Saw a death label(0x1d) restart_timer - chr_do_animation(ANIM_LOOK_AROUND_FRANTIC, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_FRANTIC, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) // Shot near chr, or follow through from above beginloop(0x1e) @@ -1479,7 +1479,7 @@ u8 func0412_cia[] = { rebuild_squadrons set_action(MA_TALKING, FALSE) say_quip(CHR_BOND, 0x18, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) - chr_do_animation(ANIM_SURRENDER_002E, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURRENDER_002E, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x0a) if_timer_gt(120, /*goto*/ 0x0c) @@ -1543,7 +1543,7 @@ u8 func0412_cia[] = { label(0x04) label(0x0e) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x0f) if_chr_stopped(/*goto*/ 0x03) @@ -1602,7 +1602,7 @@ u8 func0413_bugspotter[] = { label(0x03) say_quip(CHR_BOND, 0x17, 0xff, 0x0a, 0xff, 0x81, 0x00, 0x00) label(0x04) - chr_do_animation(ANIM_TALKING_00A3, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A3, 0, -1, 0, 16, CHR_SELF, 2) // Looks like he spots if the tracer bug if he sees Jo within 8.3 seconds of // the bug landing on the limo. @@ -1633,7 +1633,7 @@ u8 func0413_bugspotter[] = { // Bug was thrown recently label(0x04) - chr_do_animation(ANIM_TALKING_00A3, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_00A3, 0, -1, 0, 16, CHR_SELF, 2) assign_sound(SFX_044A, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) set_stage_flag(STAGEFLAG_TRACERBUG_SPOTTED) @@ -1877,7 +1877,7 @@ u8 func041d_fbi[] = { label(0x04) say_quip(CHR_BOND, 0x1b, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) - chr_do_animation(0x0266, 0, 193, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(0x0266, 0, 193, 0, 16, CHR_SELF, 2) beginloop(0x0e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x03) @@ -2071,7 +2071,7 @@ u8 func041a_robot[] = { unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_INFINITESHIELD) set_ailist(CHR_ROBOT, GAILIST_IDLE) set_shield(0) - chr_do_animation(0x016a, 0, -1, 0x06, 0x00, CHR_SELF, 4) + chr_do_animation(0x016a, 0, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SELF, 4) beginloop(0x2d) dprint 'P','A','R','T',' ','4','\n',0, @@ -2141,7 +2141,7 @@ u8 func041e_sealer1[] = { label(0x04) assign_sound(SFX_814B, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) - chr_do_animation(ANIM_TALKING_0098, -1, -1, 0x02, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0098, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SELF, 2) restart_timer beginloop(0x07) @@ -2152,8 +2152,8 @@ u8 func041e_sealer1[] = { label(0x03) assign_sound(SFX_044F, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) - chr_do_animation(ANIM_TALKING_0231, -1, -1, 0x02, 0x00, CHR_SEALER1, 2) - chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, 0x02, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SEALER1, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SELF, 2) beginloop(0x08) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x04) @@ -2163,8 +2163,8 @@ u8 func041e_sealer1[] = { label(0x03) assign_sound(SFX_0450, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) - chr_do_animation(ANIM_TALKING_0233, -1, -1, 0x02, 0x00, CHR_SEALER3, 2) - chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, 0x02, 0x00, CHR_SEALER1, 2) + chr_do_animation(ANIM_TALKING_0233, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SEALER3, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SEALER1, 2) restart_timer beginloop(0x09) @@ -2175,8 +2175,8 @@ u8 func041e_sealer1[] = { label(0x03) assign_sound(SFX_0451, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) - chr_do_animation(ANIM_TALKING_0232, -1, -1, 0x02, 0x00, CHR_SEALER1, 2) - chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, 0x02, 0x00, CHR_SEALER3, 2) + chr_do_animation(ANIM_TALKING_0232, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SEALER1, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SEALER3, 2) restart_timer beginloop(0x0a) @@ -2187,8 +2187,8 @@ u8 func041e_sealer1[] = { label(0x03) assign_sound(SFX_0452, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) - chr_do_animation(ANIM_TALKING_0234, -1, -1, 0x02, 0x00, CHR_SEALER3, 2) - chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, 0x02, 0x00, CHR_SEALER1, 2) + chr_do_animation(ANIM_TALKING_0234, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SEALER3, 2) + chr_do_animation(ANIM_TWO_GUN_HOLD, -1, -1, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_SEALER1, 2) beginloop(0x0b) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x04) @@ -2210,7 +2210,7 @@ u8 func041e_sealer1[] = { assign_sound(SFX_0469, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) show_hudmsg(CHR_BOND, L_PETE_033) // "Elevator access sealed." - chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x06) if_chr_stopped(/*goto*/ 0x04) @@ -2690,7 +2690,7 @@ u8 func040b_outro[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x0179, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x0179, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) restart_timer set_cutscene_weapon(CHR_P1P2, -1, -1) diff --git a/src/files/setup/setuprit.c b/src/files/setup/setuprit.c index a9f884ff4..0e09cd55f 100644 --- a/src/files/setup/setuprit.c +++ b/src/files/setup/setuprit.c @@ -1295,7 +1295,7 @@ u8 func0405_president_in_room[] = { set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISE_UNCOVERED) speak(CHR_TARGET, L_RIT_036, MP3_02C4, CHANNEL_6, COLOR_08_RED) // "Security, SECURITY!!" restart_timer - chr_do_animation(0x0231, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(0x0231, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x77) if_timer_gt(120, /*goto*/ 0x06) @@ -1610,7 +1610,7 @@ u8 func0404_president_running[] = { // Unreachable under real conditions label(0x0b) - chr_do_animation(ANIM_COWER_0229, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x83) if_stage_flag_eq(STAGEFLAG_BOTH_BLONDES_DEAD, TRUE, /*goto*/ 0x06) @@ -1951,7 +1951,7 @@ u8 func100c_cockpit[] = { u8 func0411_typing_guy[] = { set_shotlist(AILIST_TYPING_GUY) label(0x04) - chr_do_animation(ANIM_SITTING_TYPING, 0, -1, 0x04, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_TYPING, 0, -1, CHRANIMFLAG_PAUSEATEND, 16, CHR_SELF, 2) beginloop(0x03) if_chr_idle(/*goto*/ 0x06) @@ -1969,7 +1969,7 @@ u8 func0411_typing_guy[] = { u8 func0412_sitting_guy[] = { set_shotlist(AILIST_SITTING_GUY) label(0x04) - chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, 0x04, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, CHRANIMFLAG_PAUSEATEND, 16, CHR_SELF, 2) beginloop(0x03) if_chr_idle(/*goto*/ 0x06) @@ -2024,15 +2024,15 @@ u8 func1002_intro[] = { set_chr_chrflag(0x30, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x30, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x30, CHRHFLAG_00020000) - chr_do_animation(0x018f, -1, -1, 0x06, 0x00, 0x30, 4) + chr_do_animation(0x018f, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x30, 4) set_chr_chrflag(0x31, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x31, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x31, CHRHFLAG_00020000) - chr_do_animation(0x018d, -1, -1, 0x06, 0x00, 0x31, 4) + chr_do_animation(0x018d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x31, 4) set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_PRESIDENT, CHRHFLAG_00020000) - chr_do_animation(0x018e, -1, -1, 0x06, 0x00, CHR_PRESIDENT, 4) + chr_do_animation(0x018e, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_PRESIDENT, 4) set_chr_chrflag(0x13, CHRCFLAG_HIDDEN) set_chr_chrflag(0x14, CHRCFLAG_HIDDEN) restart_timer @@ -2136,7 +2136,7 @@ u8 func1002_intro[] = { if_controller_button_pressed(/*goto*/ 0x5f) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01d1, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01d1, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) beginloop(0x09) if_camera_animating(/*goto*/ 0x2d) @@ -2160,7 +2160,7 @@ u8 func1002_intro[] = { if_controller_button_pressed(/*goto*/ 0x5f) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x01d3, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x01d3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) beginloop(0x0a) if_camera_animating(/*goto*/ 0x2d) @@ -2178,10 +2178,10 @@ u8 func1002_intro[] = { set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) if_savefile_flag_is_set(SAVEFILEFLAG_AF1_ENTRY, /*goto*/ 0x06) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP) - chr_do_animation(0x01d3, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01d3, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) goto_next(0x2d) label(0x06) - chr_do_animation(0x01d1, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x01d1, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) label(0x2d) stop_cutscene_track stop_ambient_track @@ -2791,7 +2791,7 @@ u8 func041e_blonde[] = { label(0x6e) restart_timer - chr_do_animation(ANIM_RELOAD_0209, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x66) if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x06) @@ -2881,7 +2881,7 @@ u8 func0421_trent_waiting[] = { label(0x06) restart_timer speak(CHR_TARGET, L_RIT_045, SFX_816F, CHANNEL_6, COLOR_05_GREEN) // "How the hell did you get on board?" - chr_do_animation(ANIM_TALKING_0231, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x08) if_timer_gt(120, /*goto*/ 0x06) @@ -2936,7 +2936,7 @@ u8 func0420_trent_attacking[] = { label(0x09) restart_timer - chr_do_animation(ANIM_TALKING_0231, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_TALKING_0231, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) speak(CHR_P1P2, L_RIT_071, MP3_02CA, CHANNEL_6, COLOR_05_GREEN) // "You'll never save him now." beginloop(0x0a) @@ -3150,35 +3150,35 @@ u8 func0407_steward[] = { if_rand_lt(192, /*goto*/ 0x8f) if_rand_lt(224, /*goto*/ 0x90) - chr_do_animation(ANIM_OPERATE_0221, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x2d) label(0x8a) - chr_do_animation(ANIM_OPERATE_0221, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x2d) label(0x8b) - chr_do_animation(ANIM_OPERATE_0223, -1, -1, 0x10, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0223, -1, -1, CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x2d) label(0x8c) - chr_do_animation(ANIM_OPERATE_0221, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x2d) label(0x8d) - chr_do_animation(ANIM_OPERATE_0221, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x2d) label(0x8e) - chr_do_animation(ANIM_OPERATE_0223, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0223, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x2d) label(0x8f) - chr_do_animation(0x023a, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(0x023a, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x2d) label(0x90) - chr_do_animation(0x023b, -1, -1, 0x11, 0x01, CHR_SELF, 2) + chr_do_animation(0x023b, -1, -1, CHRANIMFLAG_FLIP | CHRANIMFLAG_SLOWUPDATE, 1, CHR_SELF, 2) goto_next(0x2d) label(0x0f) @@ -3228,7 +3228,7 @@ u8 func0407_steward[] = { label(0x06) reloop(0x03) - chr_do_animation(ANIM_OPERATE_0204, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) label(0x2d) if_target_in_sight(/*goto*/ 0x89) if_saw_injury(0x00, /*goto*/ 0x89) @@ -3283,7 +3283,7 @@ u8 func0407_stewardess[] = { // Wait until alerted beginloop(0x03) if_chr_idle(/*goto*/ 0x2d) - chr_do_animation(ANIM_OPERATE_0204, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) label(0x2d) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x2d) if_saw_injury(0x00, /*goto*/ 0x2d) @@ -3303,7 +3303,7 @@ u8 func0407_stewardess[] = { label(0x06) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED) - chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) restart_timer beginloop(0x08) @@ -3328,7 +3328,7 @@ u8 func0407_stewardess[] = { label(0x0a) set_self_chrflag(CHRCFLAG_PUSHABLE) - chr_do_animation(ANIM_COWER_0229, -1, 190, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_COWER_0229, -1, 190, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) beginloop(0x83) if_chr_stopped(/*goto*/ 0x2d) @@ -3448,12 +3448,12 @@ u8 func0423_outro[] = { set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000) - chr_do_animation(0x02da, -1, -1, 0x06, 0x00, CHR_TARGET, 4) + chr_do_animation(0x02da, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4) set_chr_hudpiece_visible(CHR_TARGET, TRUE) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x02d9, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x02d9, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) show_object(0x19) set_object_flag2(0x19, OBJFLAG2_04000000) set_object_flag3(0x19, OBJFLAG3_00000010) diff --git a/src/files/setup/setupsev.c b/src/files/setup/setupsev.c index f1290f7e8..36c307942 100644 --- a/src/files/setup/setupsev.c +++ b/src/files/setup/setupsev.c @@ -1524,7 +1524,7 @@ u8 func1002_intro[] = { cmd0175(60) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0477, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0477, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_object_flag2(OBJ_TROLLEY, OBJFLAG2_04000000) set_object_flag3(OBJ_TROLLEY, OBJFLAG3_00000010) object_do_animation(0x0478, OBJ_TROLLEY, 0x04, 0xffff) @@ -1568,7 +1568,7 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0477, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x0477, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_object_flag2(OBJ_TROLLEY, OBJFLAG2_04000000) set_object_flag3(OBJ_TROLLEY, OBJFLAG3_00000010) object_do_animation(0x0478, OBJ_TROLLEY, 0x04, 0xfffe) @@ -1588,12 +1588,12 @@ u8 func041b_outro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x047a, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x047a, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) unset_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_00020000) - chr_do_animation(0x047b, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD, 4) + chr_do_animation(0x047b, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_OUTRO_GUARD, 4) show_nonessential_chrs(FALSE) restart_timer diff --git a/src/files/setup/setupsho.c b/src/files/setup/setupsho.c index d2c79c93d..92dda9a6a 100644 --- a/src/files/setup/setupsho.c +++ b/src/files/setup/setupsho.c @@ -948,7 +948,7 @@ u8 unregistered_function3[] = { camera_movement(0x00c3) yield set_chr_hiddenflag(0x00, CHRHFLAG_00020000) - chr_do_animation(0x00c4, -1, -1, 0x06, 0x00, 0x00, 4) + chr_do_animation(0x00c4, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x00, 4) beginloop(0x08) if_camera_animating(/*goto*/ 0x2d) @@ -2069,7 +2069,7 @@ u8 func040d_king_combat[] = { say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer - chr_do_animation(0x0350, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x0350, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x66) if_chr_death_animation_finished(CHR_P1P2, /*goto*/ LABEL_PLAYER_DEAD) @@ -2088,7 +2088,7 @@ u8 func040d_king_combat[] = { say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer - chr_do_animation(0x0350, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x0350, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x67) if_chr_death_animation_finished(CHR_P1P2, /*goto*/ LABEL_PLAYER_DEAD) @@ -2107,7 +2107,7 @@ u8 func040d_king_combat[] = { say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer - chr_do_animation(0x0350, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x0350, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) set_chr_cloaked(CHR_SELF, TRUE, TRUE) beginloop(0x68) @@ -2213,7 +2213,7 @@ u8 func040d_king_combat[] = { say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer - chr_do_animation(0x0350, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x0350, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x69) if_chr_shield_lt(CHR_SELF, 20, /*goto*/ LABEL_LOW_SHIELD) @@ -2235,7 +2235,7 @@ u8 func040d_king_combat[] = { label(0x06) restart_timer set_stage_flag(STAGEFLAG_SPIKES_VULNERABLE) - chr_do_animation(0x0351, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x0351, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x7e) if_stage_flag_eq(STAGEFLAG_SPIKE_DESTROYED, TRUE, /*goto*/ 0x06) @@ -2564,12 +2564,12 @@ u8 func0c00_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x02eb, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x02eb, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x02ec, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x02ec, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield @@ -2593,17 +2593,17 @@ u8 func0c00_intro[] = { set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x37, CHRHFLAG_00020000) - chr_do_animation(0x02ee, -1, -1, 0x06, 0x00, 0x37, 4) + chr_do_animation(0x02ee, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x37, 4) set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x38, CHRHFLAG_00020000) - chr_do_animation(0x02ef, -1, -1, 0x06, 0x00, 0x38, 4) + chr_do_animation(0x02ef, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x38, 4) set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x39, CHRHFLAG_00020000) - chr_do_animation(0x02f0, -1, -1, 0x06, 0x00, 0x39, 4) + chr_do_animation(0x02f0, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x39, 4) beginloop(0x0b) if_camera_animating(/*goto*/ 0x2d) @@ -2623,12 +2623,12 @@ u8 func0c00_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x02f2, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x02f2, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x02f3, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x02f3, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield @@ -2652,22 +2652,22 @@ u8 func0c00_intro[] = { set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x37, CHRHFLAG_00020000) - chr_do_animation(0x02f5, -1, -1, 0x06, 0x00, 0x37, 4) + chr_do_animation(0x02f5, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x37, 4) set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x38, CHRHFLAG_00020000) - chr_do_animation(0x02f6, -1, -1, 0x06, 0x00, 0x38, 4) + chr_do_animation(0x02f6, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x38, 4) set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x39, CHRHFLAG_00020000) - chr_do_animation(0x02f7, -1, -1, 0x06, 0x00, 0x39, 4) + chr_do_animation(0x02f7, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x39, 4) set_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x3a, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x3a, CHRHFLAG_00020000) - chr_do_animation(0x02f8, -1, -1, 0x06, 0x00, 0x3a, 4) + chr_do_animation(0x02f8, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x3a, 4) beginloop(0x0d) if_camera_animating(/*goto*/ 0x2d) @@ -2709,28 +2709,28 @@ u8 func0c00_intro[] = { set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x37, CHRHFLAG_00020000) - chr_do_animation(0x02fc, -1, -1, 0x06, 0x00, 0x37, 4) + chr_do_animation(0x02fc, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x37, 4) set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x38, CHRHFLAG_00020000) - chr_do_animation(0x02fd, -1, -1, 0x06, 0x00, 0x38, 4) + chr_do_animation(0x02fd, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x38, 4) set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x39, CHRHFLAG_00020000) - chr_do_animation(0x02fe, -1, -1, 0x06, 0x00, 0x39, 4) + chr_do_animation(0x02fe, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x39, 4) set_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x3a, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x3a, CHRHFLAG_00020000) - chr_do_animation(0x02ff, -1, -1, 0x06, 0x00, 0x3a, 4) + chr_do_animation(0x02ff, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x3a, 4) unset_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_KING2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_KING2, CHRHFLAG_00020000) - chr_do_animation(0x0300, -1, -1, 0x06, 0x00, CHR_KING2, 4) + chr_do_animation(0x0300, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_KING2, 4) set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield @@ -2763,7 +2763,7 @@ u8 func0c00_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0303, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0303, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) beginloop(0x10) if_camera_animating(/*goto*/ 0x2d) @@ -2781,7 +2781,7 @@ u8 func0c00_intro[] = { label(0x06) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0303, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x0303, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) hide_object(0x36) remove_chr(0x37) remove_chr(0x38) @@ -2864,7 +2864,7 @@ u8 func0414_outro[] = { set_chr_chrflag(CHR_KING1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000) - chr_do_animation(0x044d, -1, -1, 0x06, 0x00, CHR_KING1, 4) + chr_do_animation(0x044d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_KING1, 4) object_do_animation(0x044e, OBJ_SPIKE_T, 0x04, 0xffff) set_stage_flag(STAGEFLAG_IN_OUTRO) @@ -2885,12 +2885,12 @@ u8 func0414_outro[] = { set_chr_chrflag(CHR_KING1, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000) - chr_do_animation(0x0450, -1, -1, 0x06, 0x00, CHR_KING1, 4) + chr_do_animation(0x0450, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_KING1, 4) set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000) - chr_do_animation(0x0451, -1, -1, 0x06, 0x00, CHR_TARGET, 4) + chr_do_animation(0x0451, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4) object_do_animation(0x0452, OBJ_SPIKE_T, 0x04, 0xffff) @@ -2940,12 +2940,12 @@ u8 func0414_outro[] = { set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000) - chr_do_animation(0x02c8, -1, -1, 0x06, 0x00, CHR_TARGET, 4) + chr_do_animation(0x02c8, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x02c9, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x02c9, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) show_object(0x23) set_object_flag2(0x23, OBJFLAG2_04000000) diff --git a/src/files/setup/setupstat.c b/src/files/setup/setupstat.c index 953863da4..965618770 100644 --- a/src/files/setup/setupstat.c +++ b/src/files/setup/setupstat.c @@ -1075,17 +1075,17 @@ u8 func1002_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x047d, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x047d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) unset_chr_chrflag(CHR_MAIAN1, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_MAIAN1, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_MAIAN1, CHRHFLAG_00020000) - chr_do_animation(0x047e, -1, -1, 0x06, 0x00, CHR_MAIAN1, 4) + chr_do_animation(0x047e, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN1, 4) unset_chr_chrflag(CHR_MAIAN2, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_MAIAN2, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_MAIAN2, CHRHFLAG_00020000) - chr_do_animation(0x047f, -1, -1, 0x06, 0x00, CHR_MAIAN2, 4) + chr_do_animation(0x047f, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN2, 4) restart_timer fade_to_color(0x000000ff, 0) @@ -1122,15 +1122,15 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x047d, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x047d, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(CHR_MAIAN3, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_00020000) - chr_do_animation(0x047e, -2, -1, 0x06, 0x00, CHR_MAIAN3, 2) + chr_do_animation(0x047e, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN3, 2) unset_chr_chrflag(CHR_MAIAN4, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_00020000) - chr_do_animation(0x047f, -2, -1, 0x06, 0x00, CHR_MAIAN4, 2) + chr_do_animation(0x047f, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN4, 2) set_ailist(CHR_MAIAN1, AILIST_INIT_MAIAN) set_ailist(CHR_MAIAN2, AILIST_INIT_MAIAN) @@ -1156,17 +1156,17 @@ u8 func040b_outro[] = { unset_chr_chrflag(CHR_MAIAN3, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_MAIAN3, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_00020000) - chr_do_animation(0x0481, -1, -1, 0x06, 0x00, CHR_MAIAN3, 4) + chr_do_animation(0x0481, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN3, 4) unset_chr_chrflag(CHR_MAIAN4, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_MAIAN4, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_00020000) - chr_do_animation(0x0482, -1, -1, 0x06, 0x00, CHR_MAIAN4, 4) + chr_do_animation(0x0482, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN4, 4) unset_chr_chrflag(CHR_MAIAN5, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_MAIAN5, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_MAIAN5, CHRHFLAG_00020000) - chr_do_animation(0x0483, -1, -1, 0x06, 0x00, CHR_MAIAN5, 4) + chr_do_animation(0x0483, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_MAIAN5, 4) show_nonessential_chrs(FALSE) diff --git a/src/files/setup/setuptra.c b/src/files/setup/setuptra.c index bcc61e5e6..b20194a40 100644 --- a/src/files/setup/setuptra.c +++ b/src/files/setup/setuptra.c @@ -995,15 +995,15 @@ u8 func0404_jonathan_following_and_mine[] = { call_rng if_rand_lt(86, /*goto*/ 0x6a) if_rand_lt(172, /*goto*/ 0x6b) - chr_do_animation(ANIM_OPERATE_0204, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x0e) label(0x6a) - chr_do_animation(ANIM_OPERATE_0205, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0205, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x0e) label(0x6b) - chr_do_animation(ANIM_OPERATE_0206, -1, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0206, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) label(0x0e) set_shotlist(AILIST_JONATHAN_SHOT_WHILE_PLANTING) @@ -1119,7 +1119,7 @@ u8 func0413_jonathan_hangar[] = { if_chr_dead(CHR_ELVIS, /*goto*/ 0xc3) if_chr_knockedout(CHR_ELVIS, /*goto*/ 0xc3) restart_timer - chr_do_animation(0x0232, -1, 200, 0x02, 0x00, CHR_ELVIS, 2) + chr_do_animation(0x0232, -1, 200, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_ELVIS, 2) speak(CHR_P1P2, L_TRA_059, MP3_029A, CHANNEL_5, COLOR_06_WHITE) // "Oh, no! We have a problem. It's a single seater!" beginloop(0x7d) @@ -1135,7 +1135,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) restart_timer - chr_do_animation(0x0233, -1, 200, 0x02, 0x00, CHR_ELVIS, 2) + chr_do_animation(0x0233, -1, 200, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_ELVIS, 2) speak(CHR_P1P2, L_TRA_060, MP3_029B, CHANNEL_5, COLOR_06_WHITE) // "Two can get in but no more." beginloop(0x7e) @@ -1166,7 +1166,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) restart_timer - chr_do_animation(0x0232, -1, 200, 0x02, 0x00, CHR_ELVIS, 2) + chr_do_animation(0x0232, -1, 200, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_ELVIS, 2) speak(CHR_P1P2, L_TRA_061, MP3_029C, CHANNEL_5, COLOR_06_WHITE) // "Plus, it's got no style, you know what I'm saying?" beginloop(0x7f) @@ -1197,7 +1197,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) restart_timer - chr_do_animation(0x0231, -1, 200, 0x02, 0x00, CHR_JONATHAN, 2) + chr_do_animation(0x0231, -1, 200, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_JONATHAN, 2) speak(CHR_P1P2, L_TRA_045, MP3_02B9, CHANNEL_5, COLOR_03_RED) // "One of us will have to stay behind and open the ha..." beginloop(0x1a) @@ -1243,7 +1243,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) restart_timer - chr_do_animation(0x0232, -1, 200, 0x02, 0x00, CHR_JONATHAN, 2) + chr_do_animation(0x0232, -1, 200, CHRANIMFLAG_MOVEWHENINVIS, 0, CHR_JONATHAN, 2) speak(CHR_P1P2, L_TRA_046, MP3_02BA, CHANNEL_5, COLOR_03_RED) // "I'll get out on that hoverbike. Cover me while I o..." beginloop(0x1b) @@ -1287,7 +1287,7 @@ u8 func0413_jonathan_hangar[] = { // At first terminal label(0x06) - chr_do_animation(ANIM_OPERATE_0204, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x1d) if_chr_stopped(/*goto*/ 0x06) @@ -1313,7 +1313,7 @@ u8 func0413_jonathan_hangar[] = { // At second terminal label(0x06) - chr_do_animation(ANIM_OPERATE_0204, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x1f) if_chr_stopped(/*goto*/ 0x06) @@ -2474,19 +2474,19 @@ u8 func1002_intro[] = { set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x019d, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x019d, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) set_chr_chrflag(0x23, CHRCFLAG_INVINCIBLE) set_chr_chrflag(0x23, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x23, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x23, CHRHFLAG_00020000) - chr_do_animation(0x019e, -1, -1, 0x06, 0x00, 0x23, 4) + chr_do_animation(0x019e, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x23, 4) set_chr_chrflag(0x24, CHRCFLAG_INVINCIBLE) set_chr_chrflag(0x24, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x24, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x24, CHRHFLAG_00020000) - chr_do_animation(0x019f, -1, -1, 0x06, 0x00, 0x24, 4) + chr_do_animation(0x019f, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x24, 4) set_object_flag2(0x00, OBJFLAG2_04000000) set_object_flag3(0x00, OBJFLAG3_00000010) @@ -2767,15 +2767,15 @@ u8 func1002_intro[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x019d, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x019d, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) unset_chr_chrflag(0x23, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(0x23, CHRHFLAG_00020000) - chr_do_animation(0x019e, -2, -1, 0x06, 0x00, 0x23, 2) + chr_do_animation(0x019e, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x23, 2) unset_chr_chrflag(0x24, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(0x24, CHRHFLAG_00020000) - chr_do_animation(0x019f, -2, -1, 0x06, 0x00, 0x24, 2) + chr_do_animation(0x019f, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x24, 2) unset_object_flag2(OBJ_HOVERBED, OBJFLAG2_04000000) set_object_flag3(OBJ_HOVERBED, OBJFLAG3_00000010) @@ -2825,17 +2825,17 @@ u8 func0c01_midcutscene[] = { set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000) - chr_do_animation(0x01ce, -1, -1, 0x06, 0x00, CHR_TARGET, 4) + chr_do_animation(0x01ce, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 4) set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x01cc, -1, -1, 0x06, 0x00, CHR_ELVIS, 4) + chr_do_animation(0x01cc, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 4) set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000) - chr_do_animation(0x01cd, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4) + chr_do_animation(0x01cd, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 4) set_object_flag2(0x11, OBJFLAG2_04000000) set_object_flag3(0x11, OBJFLAG3_00000010) @@ -2967,15 +2967,15 @@ u8 func0c01_midcutscene[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000) - chr_do_animation(0x01ce, -2, -1, 0x06, 0x00, CHR_TARGET, 2) + chr_do_animation(0x01ce, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_TARGET, 2) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000) - chr_do_animation(0x01cc, -2, -1, 0x06, 0x00, CHR_ELVIS, 2) + chr_do_animation(0x01cc, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_ELVIS, 2) unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000) - chr_do_animation(0x01cd, -2, -1, 0x06, 0x00, CHR_JONATHAN, 2) + chr_do_animation(0x01cd, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_JONATHAN, 2) unset_object_flag2(0x11, OBJFLAG2_04000000) set_object_flag3(0x11, OBJFLAG3_00000010) @@ -3054,7 +3054,7 @@ u8 func0c02_outro[] = { set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN) set_chr_hiddenflag(0x2b, CHRHFLAG_00020000) - chr_do_animation(0x0304, -1, -1, 0x06, 0x00, 0x2b, 4) + chr_do_animation(0x0304, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, 0x2b, 4) open_door(0x2c) open_door(0x2e) @@ -3175,7 +3175,7 @@ u8 func1021_jo_escaping[] = { set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE) unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN) set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000) - chr_do_animation(0x0304, -1, -1, 0x06, 0x00, CHR_P1P2, 4) + chr_do_animation(0x0304, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 4) beginloop(0x09) if_camera_animating(/*goto*/ 0x32) diff --git a/src/files/setup/setupwax.c b/src/files/setup/setupwax.c index 1cda961be..127f5f984 100644 --- a/src/files/setup/setupwax.c +++ b/src/files/setup/setupwax.c @@ -1281,7 +1281,7 @@ u8 func0411_cass_in_office[] = { set_shotlist(AILIST_CASS_RUNNING) restart_timer speak(CHR_TARGET, L_WAX_008, MP3_0523, CHANNEL_6, COLOR_06_WHITE) // "Go to the helipad if you want to live." - chr_do_animation(0x0226, -1, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x0226, -1, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) yield // Wait 3 seconds @@ -1304,7 +1304,7 @@ u8 func0411_cass_in_office[] = { label(0x06) set_ailist(CHR_SELF, GAILIST_IDLE) label(0x2c) - chr_do_animation(0x00a0, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(0x00a0, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x54) chr_toggle_p1p2(CHR_SELF) @@ -1326,7 +1326,7 @@ u8 func0411_cass_in_office[] = { // Draw weapon label(0x57) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) - chr_do_animation(0x0245, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(0x0245, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) try_equip_weapon(MODEL_CHRFALCON2, WEAPON_FALCON2, 0x00000000, /*goto*/ 0x2c) label(0x2c) speak(CHR_TARGET, L_WAX_007, SFX_81A3, CHANNEL_6, COLOR_04_ORANGE) // "Get the hell out of my office..." @@ -1942,7 +1942,7 @@ u8 func0416_intro[] = { cmd0175(60) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0473, -1, -1, 0x06, 0x00, CHR_BOND, 4) + chr_do_animation(0x0473, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 4) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) @@ -2003,7 +2003,7 @@ u8 func0416_intro[] = { unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) - chr_do_animation(0x0473, -2, -1, 0x06, 0x00, CHR_BOND, 2) + chr_do_animation(0x0473, -2, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_BOND, 2) stop_cutscene_track stop_ambient_track enter_firstperson @@ -2066,7 +2066,7 @@ u8 func100e_cass_speech[] = { label(0x2c) restart_timer speak(CHR_CASS, L_WAX_013, MP3_02F5 | 0x4000 | 0x2000, CHANNEL_6, COLOR_04_ORANGE) // "You won't shoot me!" - chr_do_animation(0x00a0, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(0x00a0, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x09) if_timer_gt(80, /*goto*/ 0x06) diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index e1e4453aa..4db3aafd5 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -2719,12 +2719,12 @@ void chrAttackRoll(struct chrdata *chr, bool toleft) } } -void chrStartAnim(struct chrdata *chr, s32 animnum, f32 startframe, f32 endframe, u8 flags, s32 arg5, f32 speed) +void chrStartAnim(struct chrdata *chr, s32 animnum, f32 startframe, f32 endframe, u8 chranimflags, s32 merge, f32 speed) { u32 stack; if (chr && chr->model) { - if (flags & CHRANIMFLAG_80) { + if (chranimflags & CHRANIMFLAG_REVERSE) { speed = -speed; } @@ -2734,25 +2734,25 @@ void chrStartAnim(struct chrdata *chr, s32 animnum, f32 startframe, f32 endframe chr->actiontype = ACT_ANIM; - chr->act_anim.unk02c = (flags & CHRANIMFLAG_02) != 0; - chr->act_anim.holdlastframe = (flags & CHRANIMFLAG_HOLDLASTFRAME) != 0; - chr->act_anim.unk034 = (flags & CHRANIMFLAG_08) != 0; - chr->act_anim.unk038 = (flags & CHRANIMFLAG_10) != 0; - chr->act_anim.unk03c = (flags & CHRANIMFLAG_40) != 0; - chr->act_anim.unk040 = 0; + chr->act_anim.movewheninvis = (chranimflags & CHRANIMFLAG_MOVEWHENINVIS) != 0; + chr->act_anim.pauseatend = (chranimflags & CHRANIMFLAG_PAUSEATEND) != 0; + chr->act_anim.completed = (chranimflags & CHRANIMFLAG_COMPLETED) != 0; + chr->act_anim.slowupdate = (chranimflags & CHRANIMFLAG_SLOWUPDATE) != 0; + chr->act_anim.lockpos = (chranimflags & CHRANIMFLAG_LOCKPOS) != 0; + chr->act_anim.ishitanim = false; chr->act_anim.animnum = animnum; - chr->act_anim.flip = (flags & CHRANIMFLAG_FLIP) != 0; + chr->act_anim.flip = (chranimflags & CHRANIMFLAG_FLIP) != 0; chr->act_anim.startframe = startframe; chr->act_anim.endframe = endframe; chr->act_anim.speed = speed; - chr->act_anim.unk058 = arg5; + chr->act_anim.blend = merge; - chr->sleep = chr->act_anim.unk038 ? arg5 : 0; + chr->sleep = chr->act_anim.slowupdate ? merge : 0; - if (arg5 > 0 && modelIsAnimMerging(chr->model)) { + if (merge > 0 && modelIsAnimMerging(chr->model)) { chr->hidden |= CHRHFLAG_NEEDANIM; } else { - modelSetAnimation(chr->model, animnum, (flags & CHRANIMFLAG_FLIP) != 0, startframe, speed, arg5); + modelSetAnimation(chr->model, animnum, (chranimflags & CHRANIMFLAG_FLIP) != 0, startframe, speed, merge); if (endframe >= 0) { modelSetAnimEndFrame(chr->model, endframe); @@ -7772,7 +7772,7 @@ bool chrIsStopped(struct chrdata *chr) } if (chr->actiontype == ACT_ANIM) { - if (chr->act_anim.unk034 + if (chr->act_anim.completed || (modelGetAnimSpeed(chr->model) >= 0 && modelGetCurAnimFrame(chr->model) >= modelGetAnimEndFrame(chr->model)) || (modelGetAnimSpeed(chr->model) < 0 && modelGetCurAnimFrame(chr->model) <= 0)) { return true; @@ -8485,10 +8485,10 @@ bool chrTryKneel(struct chrdata *chr) return false; } -bool chrTryStartAnim(struct chrdata *chr, s32 animfnum, f32 startframe, f32 endframe, u8 flags, s32 arg5, f32 speed) +bool chrTryStartAnim(struct chrdata *chr, s32 animfnum, f32 startframe, f32 endframe, u8 chranimflags, s32 merge, f32 speed) { if (chrIsReadyForOrders(chr)) { - chrStartAnim(chr, animfnum, startframe, endframe, flags, arg5, speed); + chrStartAnim(chr, animfnum, startframe, endframe, chranimflags, merge, speed); return true; } @@ -9014,7 +9014,7 @@ bool chrDropItem(struct chrdata *chr, u32 modelnum, u32 weaponnum) return false; } -void chrPunchInflictDamage(struct chrdata *chr, s32 damage, s32 range, u8 arg3) +void chrPunchInflictDamage(struct chrdata *chr, s32 damage, s32 range, u8 reverse) { struct prop *targetprop = chrGetTargetProp(chr); struct shorthand hand = {WEAPON_UNARMED, 0, 0, FUNC_PRIMARY}; @@ -9025,7 +9025,7 @@ void chrPunchInflictDamage(struct chrdata *chr, s32 damage, s32 range, u8 arg3) hand.weaponfunc = chr->aibot->gunfunc; } - if (chrIsTargetInFov(chr, 20, arg3) + if (chrIsTargetInFov(chr, 20, reverse) && chrGetDistanceToTarget(chr) < range && func0002dc18(&chr->prop->pos, chr->prop->rooms, &targetprop->pos, 0x33)) { vector.x = targetprop->pos.x - chr->prop->pos.x; @@ -9434,6 +9434,10 @@ glabel var7f1a8ed8 /* f03c030: 27bd0058 */ addiu $sp,$sp,0x58 /* f03c034: 03e00008 */ jr $ra /* f03c038: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func0f03c03c /* f03c03c: 03e00008 */ jr $ra /* f03c040: 00000000 */ nop ); @@ -10020,7 +10024,7 @@ void chrTickKneel(struct chrdata *chr) { chr->sleep = 0; - if ((chr->hidden & CHRHFLAG_NEEDANIM) && modelIsAnimMerging(chr->model) == 0) { + if ((chr->hidden & CHRHFLAG_NEEDANIM) && !modelIsAnimMerging(chr->model)) { chrKneelChooseAnimation(chr); chr->hidden &= ~CHRHFLAG_NEEDANIM; } @@ -10034,7 +10038,7 @@ void chrTickAnim(struct chrdata *chr) } modelSetAnimation(chr->model, chr->act_anim.animnum, chr->act_anim.flip, - chr->act_anim.startframe, chr->act_anim.speed, chr->act_anim.unk058); + chr->act_anim.startframe, chr->act_anim.speed, chr->act_anim.blend); if (chr->act_anim.endframe >= 0) { modelSetAnimEndFrame(chr->model, chr->act_anim.endframe); @@ -10043,32 +10047,32 @@ void chrTickAnim(struct chrdata *chr) chr->hidden &= ~CHRHFLAG_NEEDANIM; } - if (!chr->act_anim.holdlastframe && modelGetCurAnimFrame(chr->model) >= modelGetAnimEndFrame(chr->model)) { + if (!chr->act_anim.pauseatend && modelGetCurAnimFrame(chr->model) >= modelGetAnimEndFrame(chr->model)) { chrStand(chr); } - if (chr->act_anim.unk040 != 0 && modelGetCurAnimFrame(chr->model) >= (s32)chr->act_anim.unk042) { - chr->act_anim.unk040 = 0; - chrPunchInflictDamage(chr, chr->act_anim.unk044, chr->act_anim.unk046, chr->act_anim.unk041); + if (chr->act_anim.ishitanim && modelGetCurAnimFrame(chr->model) >= (s32)chr->act_anim.hitframe) { + chr->act_anim.ishitanim = false; + chrPunchInflictDamage(chr, chr->act_anim.hitdamage, chr->act_anim.hitradius, chr->act_anim.reverse); } // Play sneezing sound if (CHRRACE(chr) == RACE_HUMAN && modelGetAnimNum(chr->model) == ANIM_SNEEZE && modelGetCurAnimFrame(chr->model) >= 42 - && (g_Vars.lvframenum & 1) == 0 + && (g_Vars.lvframenum % 2) == 0 && chrGetDistanceToCurrentPlayer(chr) < 800) { func0f0939f8(NULL, chr->prop, SFX_0037, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); } - if (chr->sleep <= 0 && chr->act_anim.unk038 != 0) { + if (chr->sleep <= 0 && chr->act_anim.slowupdate) { chr->sleep = 14 + (random() % 5); } if (modelGetAnimNum(chr->model) == ANIM_RELOAD_0209) { - chrSetFiring(chr, 0, false); - chrSetFiring(chr, 1, false); + chrSetFiring(chr, HAND_RIGHT, false); + chrSetFiring(chr, HAND_LEFT, false); } } diff --git a/src/game/data/ailists.c b/src/game/data/ailists.c index ba660182c..e71927b2f 100644 --- a/src/game/data/ailists.c +++ b/src/game/data/ailists.c @@ -96,7 +96,7 @@ u8 func0006_unalerted[] = { 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, 0x02, 0xffff) - chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) unset_self_flag_bankx(CHRFLAG1_DOINGIDLEANIMATION, BANK_1) set_chr_special_death_animation(CHR_SELF, SPECIALDIE_NONE) dprint 'B','4',' ','W','A','T','\n',0, @@ -403,7 +403,7 @@ u8 func0006_unalerted[] = { goto_next(0x73) label(0x16) - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0, 16, CHR_SELF, 2) beginloop(0x73) dprint 'S','4',0, @@ -428,7 +428,7 @@ u8 func0006_unalerted[] = { if_self_flag_bankx_eq(CHRFLAG0_CAN_HEARSPAWN, TRUE, BANK_0, /*goto*/ LABEL_HEARSPAWN) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x80) - chr_do_animation(ANIM_YAWN, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x80) dprint 'S','8',0, @@ -524,7 +524,7 @@ u8 func0006_unalerted[] = { say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x76) - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0, 16, CHR_SELF, 2) beginloop(0x76) dprint 'S','6',0, @@ -637,7 +637,7 @@ u8 func0006_unalerted[] = { if_self_flag_bankx_eq(CHRFLAG0_CAN_HEARSPAWN, TRUE, BANK_0, /*goto*/ LABEL_HEARSPAWN) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x82) - chr_do_animation(ANIM_YAWN, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x82) dprint 'T','2',0, @@ -714,7 +714,7 @@ u8 func0006_unalerted[] = { if_chr_is_skedar(CHR_SELF, /*goto*/ 0x7b) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7a) - chr_do_animation(ANIM_YAWN, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x7a) dprint 'T','3',0, @@ -744,7 +744,7 @@ u8 func0006_unalerted[] = { say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x75) - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0, 16, CHR_SELF, 2) beginloop(0x75) dprint 'S','6',0, @@ -820,7 +820,7 @@ u8 func0008_wakeup[] = { // Stand up label(0x15) set_chr_maxdamage(CHR_SELF, 40) - chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) object_do_animation(0x025a, 0xff, 0x02, 0xffff) goto_next(0x0c) @@ -985,7 +985,7 @@ u8 func0007_alerted[] = { label(0x16) dprint 'A','T',' ','G','U','N','\n',0, restart_timer - chr_do_animation(ANIM_PICK_UP_GUN, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_PICK_UP_GUN, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0xae) if_timer_gt(60, /*goto*/ 0x16) @@ -1031,15 +1031,15 @@ u8 func0007_alerted[] = { call_rng if_rand_lt(82, /*goto*/ 0x13) if_rand_lt(164, /*goto*/ 0x15) - chr_do_animation(ANIM_DRAW_PISTOL_0288, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_DRAW_PISTOL_0288, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) - chr_do_animation(ANIM_DRAW_PISTOL_0289, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_DRAW_PISTOL_0289, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x15) - chr_do_animation(ANIM_DRAW_PISTOL_0245, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_DRAW_PISTOL_0245, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) label(0x16) if_stage_is_not(STAGE_AIRFORCEONE, /*goto*/ 0x13) @@ -1683,7 +1683,7 @@ u8 func0007_alerted[] = { label(0x16) set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) restart_timer - chr_do_animation(ANIM_RELOAD_0209, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0xe8) if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x16) @@ -2046,7 +2046,7 @@ u8 func0007_alerted[] = { label(0x16) set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) restart_timer - chr_do_animation(ANIM_RELOAD_0209, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) label(0xe9) yield if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x16) @@ -2391,7 +2391,7 @@ u8 func0007_alerted[] = { label(0x16) set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) restart_timer - chr_do_animation(ANIM_RELOAD_0209, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) label(0xea) yield if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x16) @@ -2571,7 +2571,7 @@ u8 func0007_alerted[] = { endloop(0x9d) label(0x16) - chr_do_animation(ANIM_PUSH_BUTTON, 0, 193, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_PUSH_BUTTON, 0, 193, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) restart_timer beginloop(0xed) @@ -2649,19 +2649,19 @@ u8 func000a_do_idle_animation[] = { label(0x03) dprint 'S','T','A','N','D','I','N','G','\n',0, - chr_do_animation(ANIM_OPERATE_0204, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0204, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x0c) label(0x04) dprint 'S','I','T','T','I','N','G',' ','T','Y','P','I','N','G','\n',0, set_chr_special_death_animation(CHR_SELF, SPECIALDIE_ONCHAIR) - chr_do_animation(ANIM_SITTING_TYPING, 0, -1, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_TYPING, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x0c) label(0x05) dprint 'S','I','T','T','I','N','G','\n',0, set_chr_special_death_animation(CHR_SELF, SPECIALDIE_ONCHAIR) - chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, 0x14, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x0c) label(0x07) @@ -2678,15 +2678,15 @@ u8 func000a_do_idle_animation[] = { call_rng if_rand_gt(85, /*goto*/ 0x28) if_rand_gt(170, /*goto*/ 0x29) - chr_do_animation(ANIM_OPERATE_0221, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0221, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x0c) label(0x28) - chr_do_animation(ANIM_OPERATE_0222, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0222, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x0c) label(0x29) - chr_do_animation(ANIM_OPERATE_0223, 0, -1, 0x10, 0x00, CHR_SELF, 2) + chr_do_animation(ANIM_OPERATE_0223, 0, -1, CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x0c) label(0x0c) @@ -2709,7 +2709,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) + chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) object_do_animation(0x025a, 0xff, 0x02, 0xffff) beginloop(0x06) @@ -2821,7 +2821,7 @@ u8 func000d_init_combat[] = { // Stand up label(0x05) set_chr_maxdamage(CHR_SELF, 40) - chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, 0x02, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_STAND_UP_FROM_SITTING, 0, -1, CHRANIMFLAG_MOVEWHENINVIS, 16, CHR_SELF, 2) object_do_animation(0x025a, 0xff, 0x02, 0xffff) beginloop(0x0c) @@ -3460,7 +3460,7 @@ u8 func000c_combat_with_target_chr[] = { try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x16) label(0x16) if_chr_is_skedar(CHR_SELF, /*goto*/ 0xd9) - chr_do_animation(ANIM_YAWN, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0xd8) if_chr_stopped(/*goto*/ 0xd9) @@ -3625,27 +3625,27 @@ u8 func0017_rebuild_groups[] = { u8 func0018_do_bored_animation[] = { call_rng if_rand_gt(50, /*goto*/ 0x13) - chr_do_animation(ANIM_YAWN, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_YAWN, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) if_rand_gt(100, /*goto*/ 0x13) - chr_do_animation(ANIM_SCRATCH_HEAD, 0, 294, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SCRATCH_HEAD, 0, 294, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) if_rand_gt(150, /*goto*/ 0x13) - chr_do_animation(ANIM_ROLL_HEAD, 0, 183, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_ROLL_HEAD, 0, 183, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) if_rand_gt(200, /*goto*/ 0x13) - chr_do_animation(ANIM_GRAB_CROTCH, 0, 123, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_GRAB_CROTCH, 0, 123, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) if_rand_gt(250, /*goto*/ 0x13) - chr_do_animation(ANIM_GRAB_BUTT, 0, 56, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_GRAB_BUTT, 0, 56, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) @@ -3657,29 +3657,29 @@ u8 func0018_do_bored_animation[] = { u8 func001e_look_around[] = { call_rng if_rand_gt(50, /*goto*/ 0x13) - chr_do_animation(ANIM_LOOK_AROUND_025B, 0, 193, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025B, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) if_rand_gt(100, /*goto*/ 0x13) - chr_do_animation(ANIM_LOOK_AROUND_025C, 0, 294, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025C, 0, 294, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) if_rand_gt(150, /*goto*/ 0x13) - chr_do_animation(ANIM_LOOK_AROUND_025D, 0, 183, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025D, 0, 183, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) // @bug: Shows grab crotch animation when wanting to look around instead. // Probably a copy/paste error from previous function. label(0x13) if_rand_gt(200, /*goto*/ 0x13) - chr_do_animation(ANIM_GRAB_CROTCH, 0, 123, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_GRAB_CROTCH, 0, 123, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) if_rand_gt(250, /*goto*/ 0x13) - chr_do_animation(ANIM_LOOK_AROUND_025E, 0, 56, 0x18, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025E, 0, 56, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) @@ -3691,11 +3691,11 @@ u8 func001e_look_around[] = { u8 func0019_do_sitting_animation[] = { call_rng if_rand_gt(128, /*goto*/ 0x13) - chr_do_animation(ANIM_SITTING_TYPING, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_TYPING, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) - chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, 0x10, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x16) label(0x13) @@ -4100,7 +4100,7 @@ u8 func001c_surprised[] = { increase_squadron_alertness(100) say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) restart_timer - chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) + chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0, 16, CHR_SELF, 2) // Wait 1 second beginloop(0x03) @@ -4344,19 +4344,19 @@ u8 func001d_search_for_player[] = { if_rand_lt(128, /*goto*/ 0x29) if_rand_lt(196, /*goto*/ 0x2a) set_self_flag_bankx(CHRFLAG1_DONE_SEARCH_ANIM, BANK_1) - chr_do_animation(ANIM_LOOK_AROUND_025B, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025B, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x04) label(0x28) - chr_do_animation(ANIM_LOOK_AROUND_025C, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025C, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x04) label(0x29) - chr_do_animation(ANIM_LOOK_AROUND_025D, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025D, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x04) label(0x2a) - chr_do_animation(ANIM_LOOK_AROUND_025E, 0, -1, 0x10, 0x0a, CHR_SELF, 2) + chr_do_animation(ANIM_LOOK_AROUND_025E, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) goto_next(0x04) label(0x13) @@ -5149,7 +5149,7 @@ u8 func0026_init_psychosis[] = { yield yield yield - chr_do_animation(ANIM_BIG_SNEEZE, -1, -1, 0x10, 0x14, CHR_SELF, 2) + chr_do_animation(ANIM_BIG_SNEEZE, -1, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2) // Wait for animation to finish beginloop(0x03) diff --git a/src/game/prop.c b/src/game/prop.c index 141140532..481c789a6 100644 --- a/src/game/prop.c +++ b/src/game/prop.c @@ -433,7 +433,7 @@ void weaponPlayWhooshSound(s32 weaponnum, struct prop *prop) if (weaponnum == WEAPON_TRANQUILIZER) { soundnum = SFX_04FB; - speed = 2.8f; + speed = 2.78f; } else if (weaponnum == WEAPON_REAPER) { // empty } else if (weaponnum == WEAPON_COMBATKNIFE) { diff --git a/src/include/commands.h b/src/include/commands.h index 50df8a91f..72e843ab6 100644 --- a/src/include/commands.h +++ b/src/include/commands.h @@ -122,15 +122,15 @@ * * endframe may be 0 or higher for that frame number, or -1 for the last frame. * - * flags is expected to be a CHRANIMFLAG constant. + * chranimflags is expected to be a CHRANIMFLAG constant. */ -#define chr_do_animation(animation, startframe, endframe, flags, transition, chr, animspeed) \ +#define chr_do_animation(animation, startframe, endframe, chranimflags, timemerge, chr, animspeed) \ mkshort(0x000b), \ mkshort(animation), \ mkshort(startframe), \ mkshort(endframe), \ - flags, \ - transition, \ + chranimflags, \ + timemerge, \ chr, \ animspeed, diff --git a/src/include/constants.h b/src/include/constants.h index f4d536b68..03e66188c 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -432,12 +432,12 @@ #define CHR_SELF 0xfd #define CHRANIMFLAG_FLIP 0x01 -#define CHRANIMFLAG_02 0x02 -#define CHRANIMFLAG_HOLDLASTFRAME 0x04 -#define CHRANIMFLAG_08 0x08 -#define CHRANIMFLAG_10 0x10 -#define CHRANIMFLAG_40 0x40 -#define CHRANIMFLAG_80 0x80 +#define CHRANIMFLAG_MOVEWHENINVIS 0x02 +#define CHRANIMFLAG_PAUSEATEND 0x04 +#define CHRANIMFLAG_COMPLETED 0x08 +#define CHRANIMFLAG_SLOWUPDATE 0x10 +#define CHRANIMFLAG_LOCKPOS 0x40 +#define CHRANIMFLAG_REVERSE 0x80 // chr->flags #define CHRFLAG0_CANT_ALERT_GROUP 0x00000001 // Don't set group alertness when becoming aware diff --git a/src/include/game/chr/chraction.h b/src/include/game/chr/chraction.h index 07ae150b1..4611d955c 100644 --- a/src/include/game/chr/chraction.h +++ b/src/include/game/chr/chraction.h @@ -45,7 +45,7 @@ void chrAttackWalkChooseAnimation(struct chrdata *chr); void chrAttackWalk(struct chrdata *chr, bool run); void chrAttackRollChooseAnimation(struct chrdata *chr); void chrAttackRoll(struct chrdata *chr, bool toleft); -void chrStartAnim(struct chrdata *chr, s32 animnum, f32 startframe, f32 endframe, u8 flags, s32 arg5, f32 speed); +void chrStartAnim(struct chrdata *chr, s32 animnum, f32 startframe, f32 endframe, u8 chranimflags, s32 merge, f32 speed); void func0f031254(struct chrdata *chr); void chrAttack(struct chrdata *chr, struct attackanimgroup **animgroups, bool flip, bool *firing, u32 attackflags, s32 entityid, bool standing); void chrAttackAmount(struct chrdata *chr, u32 attackflags, u32 entityid, u32 maxshots); @@ -116,8 +116,8 @@ s32 func0f03aca0(struct chrdata *chr, f32 arg1, u8 arg2); bool chrTryRunFromTarget(struct chrdata *chr); u32 func0f03b1e0(struct chrdata *chr); bool chrDropItem(struct chrdata *chr, u32 modelnum, u32 weaponnum); -void chrPunchInflictDamage(struct chrdata *chr, s32 arg1, s32 arg2, u8 arg3); -bool chrTryPunchOrKick(struct chrdata *chr, u32 arg1); +void chrPunchInflictDamage(struct chrdata *chr, s32 damage, s32 range, u8 reverse); +bool chrTryPunchOrKick(struct chrdata *chr, bool reverse); struct eyespy *chrToEyespy(struct chrdata *chr); void chrTickStand(struct chrdata *chr); void chrTickAnim(struct chrdata *chr); @@ -264,7 +264,7 @@ bool chrTrySurprisedOneHand(struct chrdata *chr); bool chrTrySurprisedSurrender(struct chrdata *chr); bool chrTrySurprisedLookAround(struct chrdata *chr); bool chrTryKneel(struct chrdata *chr); -bool chrTryStartAnim(struct chrdata *chr, s32 animfnum, f32 startframe, f32 endframe, u8 flags, s32 arg5, f32 speed); +bool chrTryStartAnim(struct chrdata *chr, s32 animfnum, f32 startframe, f32 endframe, u8 chranimflags, s32 merge, f32 speed); bool chrTryStartAlarm(struct chrdata *chr, s32 pad_id); s32 chrConsiderGrenadeThrow(struct chrdata *chr, u32 attackflags, u32 entityid); void chrTickKneel(struct chrdata *chr); diff --git a/src/include/lib/model.h b/src/include/lib/model.h index 18c728c3d..4f376b593 100644 --- a/src/include/lib/model.h +++ b/src/include/lib/model.h @@ -58,11 +58,11 @@ s32 modelGetNumAnimFrames(struct model *model); f32 modelGetAnimSpeed(struct model *model); f32 modelGetAbsAnimSpeed(struct model *model); s32 modelConstrainOrWrapAnimFrame(s32 frame, s16 animnum, f32 endframe); -void modelCopyAnimForMerge(struct model *model, f32 arg1); -void func0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f32 speed, f32 arg5); +void modelCopyAnimForMerge(struct model *model, f32 merge); +void func0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f32 speed, f32 merge); bool modelIsAnimMerging(struct model *model); -void modelSetAnimationWithMerge(struct model *model, s16 animnum, u32 flip, f32 startframe, f32 speed, f32 arg5, bool merge); -void modelSetAnimation(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f32 speed, f32 arg5); +void modelSetAnimationWithMerge(struct model *model, s16 animnum, u32 flip, f32 startframe, f32 speed, f32 timemerge, bool domerge); +void modelSetAnimation(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f32 speed, f32 merge); void modelCopyAnimData(struct model *src, struct model *dst); void modelSetAnimLooping(struct model *model, f32 loopframe, f32 loopmerge); void modelSetAnimEndFrame(struct model *model, f32 endframe); diff --git a/src/include/types.h b/src/include/types.h index 9f4325eab..8b1de94e2 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -1016,22 +1016,22 @@ struct act_stand { }; struct act_anim { - /*0x2c*/ u32 unk02c; - /*0x30*/ bool holdlastframe; - /*0x34*/ u32 unk034; - /*0x38*/ u32 unk038; - /*0x3c*/ u32 unk03c; - /*0x40*/ u8 unk040; - /*0x41*/ u8 unk041; - /*0x42*/ u16 unk042; - /*0x44*/ u16 unk044; - /*0x46*/ u16 unk046; + /*0x2c*/ bool movewheninvis; + /*0x30*/ bool pauseatend; + /*0x34*/ bool completed; + /*0x38*/ bool slowupdate; + /*0x3c*/ bool lockpos; + /*0x40*/ u8 ishitanim; + /*0x41*/ u8 reverse; + /*0x42*/ u16 hitframe; + /*0x44*/ u16 hitdamage; + /*0x46*/ u16 hitradius; /*0x48*/ s16 animnum; /*0x4a*/ u8 flip; /*0x4c*/ f32 startframe; /*0x50*/ f32 endframe; /*0x54*/ f32 speed; - /*0x58*/ f32 unk058; + /*0x58*/ f32 blend; }; struct act_die { diff --git a/src/lib/model.c b/src/lib/model.c index 1e9df9551..a978e219d 100644 --- a/src/lib/model.c +++ b/src/lib/model.c @@ -2704,14 +2704,14 @@ s32 modelConstrainOrWrapAnimFrame(s32 frame, s16 animnum, f32 endframe) return frame; } -void modelCopyAnimForMerge(struct model *model, f32 arg1) +void modelCopyAnimForMerge(struct model *model, f32 merge) { struct anim *anim = model->anim; struct modelnode *node; u32 nodetype; if (anim) { - if (arg1 > 0 && anim->animnum) { + if (merge > 0 && anim->animnum) { if (anim->animnum2 && anim->fracmerge == 1) { return; } @@ -2748,7 +2748,7 @@ void modelCopyAnimForMerge(struct model *model, f32 arg1) } } -void func0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f32 speed, f32 arg5) +void func0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f32 speed, f32 merge) { struct anim *anim = model->anim; @@ -2757,7 +2757,7 @@ void func0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe, f s32 type; if (anim->animnum2) { - anim->timemerge = arg5; + anim->timemerge = merge; anim->elapsemerge = 0; anim->fracmerge = 1; } else { @@ -2921,34 +2921,34 @@ bool modelIsAnimMerging(struct model *model) return false; } -void modelSetAnimationWithMerge(struct model *model, s16 animnum, u32 flip, f32 startframe, f32 speed, f32 arg5, bool newmerge) +void modelSetAnimationWithMerge(struct model *model, s16 animnum, u32 flip, f32 startframe, f32 speed, f32 timemerge, bool domerge) { if (model) { if (model->anim && model->anim->animnum && (g_Anims[model->anim->animnum].flags & ANIMFLAG_02) && (g_Anims[animnum].flags & ANIMFLAG_02) == 0) { - arg5 = 0; + timemerge = 0; } - if (newmerge) { - modelCopyAnimForMerge(model, arg5); + if (domerge) { + modelCopyAnimForMerge(model, timemerge); } - func0001d62c(model, animnum, flip, startframe, speed, arg5); + func0001d62c(model, animnum, flip, startframe, speed, timemerge); } } -void modelSetAnimation(struct model *model, s16 animnum, s32 flip, f32 startframe, f32 speed, f32 arg5) +void modelSetAnimation(struct model *model, s16 animnum, s32 flip, f32 startframe, f32 speed, f32 merge) { if (model) { if (model->anim && model->anim->animnum && (g_Anims[model->anim->animnum].flags & ANIMFLAG_02) && (g_Anims[animnum].flags & ANIMFLAG_02) == 0) { - arg5 = 0; + merge = 0; } - modelCopyAnimForMerge(model, arg5); - func0001d62c(model, animnum, flip, startframe, speed, arg5); + modelCopyAnimForMerge(model, merge); + func0001d62c(model, animnum, flip, startframe, speed, merge); } }