Decompile aiDoPresetAnimation and fix mismatching setup files

This commit is contained in:
Ryan Dwyer 2020-02-09 00:24:18 +10:00
parent 8999da484e
commit 046877a518
79 changed files with 220 additions and 337 deletions

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -76,7 +76,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x00b0)
spawn(0x00b1)
spawn(0x00b2)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -57,7 +57,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x00cd)
spawn(0x00ce)
spawn(0x00cf)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -54,7 +54,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x009d)
spawn(0x009e)
spawn(0x009f)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -35,7 +35,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
intro_weapon(WEAPON_UNARMED, -1)
outfit(OUTFIT_DEFAULT)
endintro

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
intro_weapon(WEAPON_UNARMED, -1)
outfit(OUTFIT_DEFAULT)
endintro

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -60,7 +60,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x001c)
spawn(0x001d)
spawn(0x001e)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
intro_weapon(WEAPON_UNARMED, -1)
outfit(OUTFIT_DEFAULT)
endintro

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -87,7 +87,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x001c)
spawn(0x001d)
spawn(0x001e)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -63,7 +63,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x008c)
spawn(0x008d)
spawn(0x008e)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -81,7 +81,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x001c)
spawn(0x001d)
spawn(0x001e)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -127,7 +127,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x018f)
spawn(0x0190)
spawn(0x0191)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -54,7 +54,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
spawn(0x001c)
spawn(0x001d)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -89,7 +89,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x00a2)
spawn(0x00a3)
spawn(0x00a4)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -82,7 +82,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
spawn(0x001c)
spawn(0x001d)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -58,7 +58,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x015b)
spawn(0x015c)
spawn(0x015d)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -66,7 +66,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
spawn(0x001c)
spawn(0x001d)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -66,7 +66,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x0040)
spawn(0x0041)
spawn(0x0042)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -69,7 +69,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x00a5)
spawn(0x00a6)
spawn(0x00a7)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
intro_weapon(WEAPON_UNARMED, -1)
outfit(OUTFIT_DEFAULT)
endintro

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -47,7 +47,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
intro_weapon(WEAPON_PP9I, -1)
ammo(AMMOTYPE_PISTOL, 100)
outfit(OUTFIT_DEFAULT)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -59,7 +59,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
spawn(0x001c)
spawn(0x001d)
spawn(0x001e)

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
intro_weapon(WEAPON_UNARMED, -1)
outfit(OUTFIT_DEFAULT)
endintro

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -4,7 +4,7 @@
#include "stagesetup.h"
u8 intro[];
s32 intro[];
u8 props[];
struct path paths[];
struct ailist ailists[];
@ -24,7 +24,7 @@ u8 props[] = {
endprops
};
u8 intro[] = {
s32 intro[] = {
endintro
};

View File

@ -1907,7 +1907,7 @@ u8 func0414_programmer[] = {
label(LABEL_PC_BROKEN)
set_self_flag_bankx(CHRFLAG0_CANT_ALERT_GROUP, BANK_0)
speak(CHR_TARGET, 0x0262, 0x1289, CHANNEL_3, COLOR_03_RED) // "You vandal, you've broken it!"
do_special_animation(-1)
do_preset_animation(-1)
beginloop(0xc6)
if_sound_finished(CHANNEL_3, /*goto*/ 0x06)

View File

@ -1223,7 +1223,7 @@ u8 func0404_elvis[] = {
// Close to player
label(0x13)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x0a1f, 0x12e2, CHANNEL_6, COLOR_04_ORANGE) // "Take this; you should find it useful!"
give_object_to_chr(OBJ_PROXYMINE, CHR_TARGET)

View File

@ -2749,7 +2749,7 @@ u8 func0414_officeworker[] = {
endloop(0x78)
label(0x02)
do_special_animation(7)
do_preset_animation(7)
speak(CHR_TARGET, 0x0e36, 0x1b38, CHANNEL_4, COLOR_08_RED) // "Stop them - they're breaking into the safe..."
beginloop(0x05)

View File

@ -1960,7 +1960,7 @@ u8 func0401_pilot[] = {
label(0x07)
speak(CHR_TARGET, 0x162e, 0x1280, CHANNEL_6, COLOR_04_ORANGE) // "Please don't hurt me."
label(0x08)
do_special_animation(-1)
do_preset_animation(-1)
beginloop(0x0f)
if_sound_finished(CHANNEL_6, /*goto*/ 0x08)
@ -2463,7 +2463,7 @@ u8 func0415_elvis_at_start[] = {
endloop(0x0b)
label(0x07)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1620, 0x14dc, CHANNEL_6, COLOR_06_WHITE) // "You go on ahead, Jo. I'll secure the perimeter. We..."
beginloop(0x0c)
@ -2691,7 +2691,7 @@ u8 func0418_elvis_at_moonpool[] = {
if_chr_dying(CHR_SELF, /*goto*/ 0x07)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x07)
if_chr_unloaded(CHR_SELF, /*goto*/ 0x07)
do_special_animation(-1)
do_preset_animation(-1)
set_stage_flag(STAGEFLAG_MET_ELVIS)
speak(CHR_P1P2, 0x1622, 0x81a4, CHANNEL_6, COLOR_06_WHITE) // "Joanna... What took you so long? Follow me - let's..."

View File

@ -600,7 +600,7 @@ u8 func041e_colleague[] = {
label(0x06)
if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7f)
do_special_animation(3)
do_preset_animation(3)
goto_next(0x2f)
label(0x7f)
@ -635,7 +635,7 @@ u8 func041e_colleague[] = {
goto_first(0x59)
label(0x06)
do_special_animation(-1)
do_preset_animation(-1)
label(0x06)
play_cistaff_quip(BANK_1, CHANNEL_6)
restart_timer
@ -674,7 +674,7 @@ u8 func041e_colleague[] = {
label(0x30)
if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7f)
do_special_animation(-1)
do_preset_animation(-1)
goto_next(0x06)
label(0x7f)
@ -2474,7 +2474,7 @@ u8 func0429_grimshaw_disguise[] = {
label(0x06)
dprint 'I','n','i','t','i','a','l','i','s','e','c',0,
do_special_animation(3)
do_preset_animation(3)
play_cistaff_quip(BANK_0, CHANNEL_6)
restart_timer
@ -2510,7 +2510,7 @@ u8 func0429_grimshaw_disguise[] = {
label(0x06)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c2c, 0x1518, CHANNEL_6, COLOR_05_GREEN) // "Go away, Joanna. You're not fooling anybody!"
beginloop(0x5c)
@ -2523,7 +2523,7 @@ u8 func0429_grimshaw_disguise[] = {
goto_next(0x0d)
label(0x2f)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c2d, 0x1519, CHANNEL_6, COLOR_05_GREEN) // "Here you go. Don't drop it now."
beginloop(0x5d)
@ -2674,7 +2674,7 @@ u8 func042a_carrington_cloak[] = {
endloop(0x57)
label(0x06)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_BOND, 0x1c31, 0x151b, CHANNEL_6, COLOR_06_WHITE) // "Joanna, where did you spring from?"
beginloop(0x59)
@ -2689,7 +2689,7 @@ u8 func042a_carrington_cloak[] = {
endloop(0x5b)
label(0x06)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c35, 0x151c, CHANNEL_6, COLOR_06_WHITE) // "I think we can safely say your training is now complete!"
beginloop(0x5c)
@ -2949,7 +2949,7 @@ u8 func042c_carrington_tour[] = {
label(0x06)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
set_savefile_flag(SAVEFILEFLAG_CI_TOUR_STARTED)
do_special_animation(-1)
do_preset_animation(-1)
remove_displayed_text
speak(CHR_TARGET, 0x1c42, 0x8029, CHANNEL_6, COLOR_06_WHITE) // "Joanna, it's good to see you."
restart_timer
@ -2959,7 +2959,7 @@ u8 func042c_carrington_tour[] = {
endloop(0x57)
label(0x06)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c43, 0x151d, CHANNEL_6, COLOR_06_WHITE) // "Come with me. I'll walk you round the training rooms."
restart_timer
@ -2990,7 +2990,7 @@ u8 func042c_carrington_tour[] = {
goto_first(0x5c)
label(0x2f)
do_special_animation(-1)
do_preset_animation(-1)
remove_displayed_text
speak(CHR_TARGET, 0x1c44, 0x1520, CHANNEL_6, COLOR_06_WHITE) // "The information center is through this door."
restart_timer
@ -3019,7 +3019,7 @@ u8 func042c_carrington_tour[] = {
label(0x2f)
set_ailist(0x01, GAILIST_IDLE)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c45, 0x151f, CHANNEL_6, COLOR_06_WHITE) // "In here we have the device lab."
restart_timer
@ -3036,7 +3036,7 @@ u8 func042c_carrington_tour[] = {
endloop(0x65)
label(0x06)
do_special_animation(-1)
do_preset_animation(-1)
play_sound(0x8028, CHANNEL_6)
set_ailist(0x01, AILIST_DEVICEGIRL_REPLY_TO_CARRINGTON)
restart_timer
@ -3075,7 +3075,7 @@ u8 func042c_carrington_tour[] = {
goto_first(0x6a)
label(0x2f)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c46, 0x1521, CHANNEL_6, COLOR_06_WHITE) // "This leads to the simulant training room."
restart_timer
@ -3111,7 +3111,7 @@ u8 func042c_carrington_tour[] = {
goto_first(0x6e)
label(0x2f)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c47, 0x151e, CHANNEL_6, COLOR_06_WHITE) // "This is the firing range, Jo."
restart_timer
@ -3163,7 +3163,7 @@ u8 func042c_carrington_tour[] = {
goto_first(0x74)
label(0x2f)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c48, 0x1522, CHANNEL_6, COLOR_06_WHITE) // "This corridor leads down to the hangar."
restart_timer
@ -3181,7 +3181,7 @@ u8 func042c_carrington_tour[] = {
endloop(0x79)
label(0x2f)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x1c7c, 0x17dc, CHANNEL_6, COLOR_06_WHITE) // "Okay, Jo, I'll leave you to prepare for the mission."
beginloop(0x7a)

View File

@ -913,7 +913,7 @@ u8 func0409_elvis_follow[] = {
endloop(0x10)
label(0x06)
do_special_animation(-1)
do_preset_animation(-1)
message(CHR_BOND, 0x260d) // "Navigational information has been retrieved."
speak(CHR_PRESET, 0x261f, 0x12e4, CHANNEL_6, COLOR_04_ORANGE) // "Time to head upwards..."
restart_timer

View File

@ -2651,7 +2651,7 @@ u8 func041f_labtech_lights[] = {
label(0x2d)
speak(CHR_TARGET, 0x2a53, 0x127f, CHANNEL_4, COLOR_08_RED) // "Should you be in here?"
restart_timer
do_special_animation(-1)
do_preset_animation(-1)
beginloop(0x64)
if_sound_finished(CHANNEL_4, /*goto*/ 0x06)
@ -2667,7 +2667,7 @@ u8 func041f_labtech_lights[] = {
label(0x06)
speak(CHR_TARGET, 0x2a52, 0x1286, CHANNEL_4, COLOR_08_RED) // "Leave this area now."
restart_timer
do_special_animation(-1)
do_preset_animation(-1)
beginloop(0x66)
if_sound_finished(CHANNEL_4, /*goto*/ 0x53)
@ -2874,7 +2874,7 @@ u8 func0420_labtech_doors[] = {
goto_next(0x06)
label(0x2d)
do_special_animation(3)
do_preset_animation(3)
say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00)
set_self_flag_bankx(CHRFLAG0_08000000, BANK_0)

View File

@ -1384,7 +1384,7 @@ u8 func0403_elvis_give_farsight[] = {
label(0x06)
stop_chr
label(0x09)
do_special_animation(5)
do_preset_animation(5)
speak(CHR_TARGET, 0x3012, 0x12ea, CHANNEL_6, COLOR_04_ORANGE) // "Here, take this gun and keep those Skedar off my b..."
give_object_to_chr(0x73, CHR_TARGET)
yield

View File

@ -1214,7 +1214,7 @@ u8 func0405_president_in_room[] = {
endloop(0x09)
label(0x06)
do_special_animation(0)
do_preset_animation(0)
speak(CHR_TARGET, 0x3623, 0x12c5, CHANNEL_6, COLOR_08_RED) // "Who are you, young lady?"
restart_timer
@ -1257,7 +1257,7 @@ u8 func0405_president_in_room[] = {
endloop(0x78)
label(0x06)
do_special_animation(1)
do_preset_animation(1)
speak(CHR_TARGET, 0x3628, 0x12c6, CHANNEL_6, COLOR_08_RED) // "You can't make accusations like that without evide..."
restart_timer
@ -1348,7 +1348,7 @@ u8 func0405_president_in_room[] = {
goto_first(0x0b)
label(0x06)
do_special_animation(2)
do_preset_animation(2)
speak(CHR_TARGET, 0x362a, 0x12c7, CHANNEL_6, COLOR_08_RED) // "Seems overwhelming... I'm in your hands. What do w..."
restart_timer
@ -1391,7 +1391,7 @@ u8 func0405_president_in_room[] = {
endloop(0x7b)
label(0x06)
do_special_animation(-1)
do_preset_animation(-1)
speak(CHR_TARGET, 0x3626, 0x816e, CHANNEL_6, COLOR_08_RED) // "What the hell was that!"
restart_timer
@ -3240,7 +3240,7 @@ u8 func0407_steward[] = {
label(0x06)
increase_squadron_alertness(100)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
do_special_animation(-1)
do_preset_animation(-1)
restart_timer
speak(CHR_P1P2, 0x362b, 0x1abb, CHANNEL_4, COLOR_04_ORANGE) // "Hey, that's not..."

View File

@ -828,7 +828,7 @@ u8 func0402_jonathan_waiting_for_meetup[] = {
speak(CHR_P1P2, 0x4819, 0x12b3, CHANNEL_4, COLOR_03_RED) // "Joanna - over here."
label(0x08)
restart_timer
do_special_animation(3)
do_preset_animation(3)
beginloop(0x09)
if_player_looking_at_something_maybe(0x0a, 0x01, 0x00, /*goto*/ 0x06)
@ -852,7 +852,7 @@ u8 func0402_jonathan_waiting_for_meetup[] = {
label(0x06)
speak(CHR_P1P2, 0x481a, 0x12b4, CHANNEL_4, COLOR_03_RED) // "We need to get back to our friend."
set_stage_flag(STAGEFLAG_MET_JON)
do_special_animation(-1)
do_preset_animation(-1)
restart_timer
beginloop(0x0c)

View File

@ -1424,7 +1424,7 @@ u8 func0413_cass_running[] = {
// Consider saying something
label(0x2c)
do_special_animation(-1)
do_preset_animation(-1)
restart_timer
if_stage_flag_eq(STAGEFLAG_CASS_SAID_YWSM, FALSE, /*goto*/ 0x06)
say_quip(CHR_TARGET, 0x2b, 0xff, 0x00, 0xff, BANK_1, 0x0a, 0x04)

View File

@ -12657,150 +12657,32 @@ bool aiSayCiStaffQuip(void)
/**
* @cmd 01a3
*/
GLOBAL_ASM(
glabel ai01a3
/* f05dcc4: 27bdff98 */ addiu $sp,$sp,-104
/* f05dcc8: 3c188007 */ lui $t8,%hi(special_animations)
/* f05dccc: afbf002c */ sw $ra,0x2c($sp)
/* f05dcd0: afb00028 */ sw $s0,0x28($sp)
/* f05dcd4: 27189840 */ addiu $t8,$t8,%lo(special_animations)
/* f05dcd8: 8f010000 */ lw $at,0x0($t8)
/* f05dcdc: 27a90044 */ addiu $t1,$sp,0x44
/* f05dce0: 3c10800a */ lui $s0,%hi(g_Vars)
/* f05dce4: ad210000 */ sw $at,0x0($t1)
/* f05dce8: 8f0b0004 */ lw $t3,0x4($t8)
/* f05dcec: 26109fc0 */ addiu $s0,$s0,%lo(g_Vars)
/* f05dcf0: 8e0e0434 */ lw $t6,0x434($s0)
/* f05dcf4: ad2b0004 */ sw $t3,0x4($t1)
/* f05dcf8: 8f010008 */ lw $at,0x8($t8)
/* f05dcfc: 8e0f0438 */ lw $t7,0x438($s0)
/* f05dd00: ad210008 */ sw $at,0x8($t1)
/* f05dd04: 8f0b000c */ lw $t3,0xc($t8)
/* f05dd08: 01cf1021 */ addu $v0,$t6,$t7
/* f05dd0c: ad2b000c */ sw $t3,0xc($t1)
/* f05dd10: 8f010010 */ lw $at,0x10($t8)
/* f05dd14: ad210010 */ sw $at,0x10($t1)
/* f05dd18: 8f0b0014 */ lw $t3,0x14($t8)
/* f05dd1c: ad2b0014 */ sw $t3,0x14($t1)
/* f05dd20: 8f010018 */ lw $at,0x18($t8)
/* f05dd24: ad210018 */ sw $at,0x18($t1)
/* f05dd28: 9701001c */ lhu $at,0x1c($t8)
/* f05dd2c: a521001c */ sh $at,0x1c($t1)
/* f05dd30: 90480002 */ lbu $t0,0x2($v0)
/* f05dd34: 240100ff */ addiu $at,$zero,0xff
/* f05dd38: 15010014 */ bne $t0,$at,.L0f05dd8c
/* f05dd3c: 01001825 */ or $v1,$t0,$zero
/* f05dd40: 0c004b70 */ jal random
/* f05dd44: 00000000 */ sll $zero,$zero,0x0
/* f05dd48: 304c0007 */ andi $t4,$v0,0x7
/* f05dd4c: 000c6840 */ sll $t5,$t4,0x1
/* f05dd50: 27a90044 */ addiu $t1,$sp,0x44
/* f05dd54: 012d7021 */ addu $t6,$t1,$t5
/* f05dd58: 3c013f00 */ lui $at,0x3f00
/* f05dd5c: 44812000 */ mtc1 $at,$f4
/* f05dd60: 95c5000e */ lhu $a1,0xe($t6)
/* f05dd64: 240f000f */ addiu $t7,$zero,0xf
/* f05dd68: afaf0014 */ sw $t7,0x14($sp)
/* f05dd6c: afa00010 */ sw $zero,0x10($sp)
/* f05dd70: 8e040424 */ lw $a0,0x424($s0)
/* f05dd74: 24060000 */ addiu $a2,$zero,0x0
/* f05dd78: 3c07bf80 */ lui $a3,0xbf80
/* f05dd7c: 0fc0ebd1 */ jal func0f03af44
/* f05dd80: e7a40018 */ swc1 $f4,0x18($sp)
/* f05dd84: 1000004f */ beqz $zero,.L0f05dec4
/* f05dd88: 8e190438 */ lw $t9,0x438($s0)
.L0f05dd8c:
/* f05dd8c: 240100fe */ addiu $at,$zero,0xfe
/* f05dd90: 14610029 */ bne $v1,$at,.L0f05de38
/* f05dd94: 24050001 */ addiu $a1,$zero,0x1
/* f05dd98: 0fc0a209 */ jal chrGetEquippedWeaponProp
/* f05dd9c: 8e040424 */ lw $a0,0x424($s0)
/* f05dda0: afa20040 */ sw $v0,0x40($sp)
/* f05dda4: 8e040424 */ lw $a0,0x424($s0)
/* f05dda8: 0fc0a209 */ jal chrGetEquippedWeaponProp
/* f05ddac: 00002825 */ or $a1,$zero,$zero
/* f05ddb0: afa2003c */ sw $v0,0x3c($sp)
/* f05ddb4: 0fc0b849 */ jal func0f02e124
/* f05ddb8: 8fa40040 */ lw $a0,0x40($sp)
/* f05ddbc: 54400006 */ bnezl $v0,.L0f05ddd8
/* f05ddc0: 3c013f00 */ lui $at,0x3f00
/* f05ddc4: 0fc0b849 */ jal func0f02e124
/* f05ddc8: 8fa4003c */ lw $a0,0x3c($sp)
/* f05ddcc: 1040000e */ beqz $v0,.L0f05de08
/* f05ddd0: 2405029a */ addiu $a1,$zero,0x29a
/* f05ddd4: 3c013f00 */ lui $at,0x3f00
.L0f05ddd8:
/* f05ddd8: 44813000 */ mtc1 $at,$f6
/* f05dddc: 240a0005 */ addiu $t2,$zero,0x5
/* f05dde0: afaa0014 */ sw $t2,0x14($sp)
/* f05dde4: 8e040424 */ lw $a0,0x424($s0)
/* f05dde8: 24050299 */ addiu $a1,$zero,0x299
/* f05ddec: 24060000 */ addiu $a2,$zero,0x0
/* f05ddf0: 3c07bf80 */ lui $a3,0xbf80
/* f05ddf4: afa00010 */ sw $zero,0x10($sp)
/* f05ddf8: 0fc0ebd1 */ jal func0f03af44
/* f05ddfc: e7a60018 */ swc1 $f6,0x18($sp)
/* f05de00: 10000030 */ beqz $zero,.L0f05dec4
/* f05de04: 8e190438 */ lw $t9,0x438($s0)
.L0f05de08:
/* f05de08: 3c013f00 */ lui $at,0x3f00
/* f05de0c: 44814000 */ mtc1 $at,$f8
/* f05de10: 24190005 */ addiu $t9,$zero,0x5
/* f05de14: afb90014 */ sw $t9,0x14($sp)
/* f05de18: 8e040424 */ lw $a0,0x424($s0)
/* f05de1c: 24060000 */ addiu $a2,$zero,0x0
/* f05de20: 3c07bf80 */ lui $a3,0xbf80
/* f05de24: afa00010 */ sw $zero,0x10($sp)
/* f05de28: 0fc0ebd1 */ jal func0f03af44
/* f05de2c: e7a80018 */ swc1 $f8,0x18($sp)
/* f05de30: 10000024 */ beqz $zero,.L0f05dec4
/* f05de34: 8e190438 */ lw $t9,0x438($s0)
.L0f05de38:
/* f05de38: 24010003 */ addiu $at,$zero,0x3
/* f05de3c: 14610014 */ bne $v1,$at,.L0f05de90
/* f05de40: 00087040 */ sll $t6,$t0,0x1
/* f05de44: 0c004b70 */ jal random
/* f05de48: 00000000 */ sll $zero,$zero,0x0
/* f05de4c: 30580001 */ andi $t8,$v0,0x1
/* f05de50: 00185840 */ sll $t3,$t8,0x1
/* f05de54: 27a90044 */ addiu $t1,$sp,0x44
/* f05de58: 012b6021 */ addu $t4,$t1,$t3
/* f05de5c: 3c013f00 */ lui $at,0x3f00
/* f05de60: 44815000 */ mtc1 $at,$f10
/* f05de64: 95850006 */ lhu $a1,0x6($t4)
/* f05de68: 240d000f */ addiu $t5,$zero,0xf
/* f05de6c: afad0014 */ sw $t5,0x14($sp)
/* f05de70: afa00010 */ sw $zero,0x10($sp)
/* f05de74: 8e040424 */ lw $a0,0x424($s0)
/* f05de78: 24060000 */ addiu $a2,$zero,0x0
/* f05de7c: 3c07bf80 */ lui $a3,0xbf80
/* f05de80: 0fc0ebd1 */ jal func0f03af44
/* f05de84: e7aa0018 */ swc1 $f10,0x18($sp)
/* f05de88: 1000000e */ beqz $zero,.L0f05dec4
/* f05de8c: 8e190438 */ lw $t9,0x438($s0)
.L0f05de90:
/* f05de90: 012e7821 */ addu $t7,$t1,$t6
/* f05de94: 3c013f00 */ lui $at,0x3f00
/* f05de98: 44818000 */ mtc1 $at,$f16
/* f05de9c: 95e50000 */ lhu $a1,0x0($t7)
/* f05dea0: 240a000f */ addiu $t2,$zero,0xf
/* f05dea4: afaa0014 */ sw $t2,0x14($sp)
/* f05dea8: afa00010 */ sw $zero,0x10($sp)
/* f05deac: 8e040424 */ lw $a0,0x424($s0)
/* f05deb0: 24060000 */ addiu $a2,$zero,0x0
/* f05deb4: 3c07bf80 */ lui $a3,0xbf80
/* f05deb8: 0fc0ebd1 */ jal func0f03af44
/* f05debc: e7b00018 */ swc1 $f16,0x18($sp)
/* f05dec0: 8e190438 */ lw $t9,0x438($s0)
.L0f05dec4:
/* f05dec4: 8fbf002c */ lw $ra,0x2c($sp)
/* f05dec8: 00001025 */ or $v0,$zero,$zero
/* f05decc: 27380003 */ addiu $t8,$t9,0x3
/* f05ded0: ae180438 */ sw $t8,0x438($s0)
/* f05ded4: 8fb00028 */ lw $s0,0x28($sp)
/* f05ded8: 03e00008 */ jr $ra
/* f05dedc: 27bd0068 */ addiu $sp,$sp,0x68
);
bool aiDoPresetAnimation(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
u16 anims[15] = g_PresetAnimations;
if (cmd[2] == 255) {
func0f03af44(g_Vars.chrdata, anims[7 + (random() & 7)], 0, -1, 0, 15, 0.5);
} else if (cmd[2] == 254) {
struct prop *prop0 = chrGetEquippedWeaponProp(g_Vars.chrdata, 1);
struct prop *prop1 = chrGetEquippedWeaponProp(g_Vars.chrdata, 0);
if (func0f02e124(prop0) || func0f02e124(prop1)) {
func0f03af44(g_Vars.chrdata, ANIM_FIX_GUN_JAM_EASY, 0, -1, 0, 5, 0.5);
} else {
func0f03af44(g_Vars.chrdata, ANIM_FIX_GUN_JAM_HARD, 0, -1, 0, 5, 0.5);
}
} else if (cmd[2] == 3) {
func0f03af44(g_Vars.chrdata, anims[3 + (random() & 1)], 0, -1, 0, 15, 0.5);
} else {
func0f03af44(g_Vars.chrdata, anims[cmd[2]], 0, -1, 0, 15, 0.5);
}
g_Vars.aioffset += 3;
return false;
}
/**
* @cmd 01a5

View File

@ -1673,7 +1673,7 @@ u8 func0007_alerted[] = {
label(0x57)
say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00)
do_special_animation(-2)
do_preset_animation(-2)
goto_next(0xe8)
label(0x5e)
@ -2023,7 +2023,7 @@ u8 func0007_alerted[] = {
label(0x57)
say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00)
do_special_animation(-2)
do_preset_animation(-2)
goto_next(0xe9)
label(0x29)
@ -2369,7 +2369,7 @@ u8 func0007_alerted[] = {
label(0x57)
say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00)
do_special_animation(-2)
do_preset_animation(-2)
goto_next(0xea)
label(0x2a)
if_self_flag_bankx_eq(CHRFLAG0_01000000, FALSE, BANK_0, /*goto*/ 0x13)
@ -4002,7 +4002,7 @@ u8 func0010_civilian_say_comment[] = {
label(0x07)
restart_timer
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_01000000, /*goto*/ 0x13)
do_special_animation(-1)
do_preset_animation(-1)
say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "How's things?","Hey there","Hi, how are you?"
yield
@ -4021,7 +4021,7 @@ u8 func0010_civilian_say_comment[] = {
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0x06)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_01000000)
say_quip(CHR_BOND, 0x1e, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "Where did you get that?","Should you have that?","What are you doing with that weapon?"
do_special_animation(6)
do_preset_animation(6)
restart_timer
beginloop(0x08)
@ -4042,7 +4042,7 @@ u8 func0010_civilian_say_comment[] = {
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
dprint 'D','O','N','T',' ','P','O','I','N','T','\n',0,
say_quip(CHR_BOND, 0x1f, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Don't point that at me","Watch where you're pointing that"
do_special_animation(-1)
do_preset_animation(-1)
restart_timer
// Wait 3 seconds, or for see/hear gunfire
@ -4072,7 +4072,7 @@ u8 func0010_civilian_say_comment[] = {
label(0x16)
say_quip(CHR_BOND, 0x17, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00)
label(0x13)
do_special_animation(3)
do_preset_animation(3)
return
// Not Chicago
@ -4083,7 +4083,7 @@ u8 func0010_civilian_say_comment[] = {
label(0x16)
say_quip(CHR_BOND, 0x23, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00)
label(0x13)
do_special_animation(3)
do_preset_animation(3)
return
label(0x83)
@ -4188,7 +4188,7 @@ u8 func001b_observe_camspy[] = {
// Timer expired
label(0x04)
do_special_animation(-1)
do_preset_animation(-1)
say_quip(CHR_BOND, 0x1c, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // "What the hell?","Hello there","What's this?"
// Wait another 5 seconds with same logic as previous timer

View File

@ -6638,7 +6638,7 @@ bool (*g_CommandPointers[])(void) = {
/*0x01a0*/ aiSetChrSpecialDeathAnimation,
/*0x01a1*/ aiSetRoomToSearch,
/*0x01a2*/ aiSayCiStaffQuip,
/*0x01a3*/ ai01a3,
/*0x01a3*/ aiDoPresetAnimation,
/*0x01a4*/ aiShowText,
/*0x01a5*/ ai01a5,
/*0x01a6*/ aiIfTargetYDifferenceLessThan,
@ -7180,25 +7180,24 @@ s16 ciquiptable_bank3[] = {
0x1b1d, 0x1b1d,
};
// table for cmd 01a3 (do_special_animation)
// f860
u16 special_animations[] = {
0x0296,
0x0297,
0x0298, // when value is 3 (1/2 chance)
0x028a, // when value is 3 (1/2 chance)
0x028c,
0x0290,
0x0291, // when value is -1 (1/8 chance)
0x00a3, // when value is -1 (1/8 chance) - talking anim
0x028e, // when value is -1 (1/8 chance)
0x028f, // when value is -1 (1/8 chance)
0x0231, // when value is -1 (1/8 chance) - talking anim
0x0232, // when value is -1 (1/8 chance) - talking anim
0x0233, // when value is -1 (1/8 chance) - talking anim
0x0234, // when value is -1 (1/8 chance) - talking anim
0x028d,
0x0000,
// Table for cmd 01a3 (do_preset_animation)
// These all appear to be talking animations
u16 g_PresetAnimations[15] = {
/* 0*/ 0x0296,
/* 1*/ 0x0297,
/* 2*/ 0x0298,
/* 3*/ 0x028a, // when value is 3 (1/2 chance)
/* 4*/ 0x028c, // when value is 3 (1/2 chance)
/* 5*/ 0x0290,
/* 6*/ 0x0291,
/* 7*/ 0x00a3, // when value is 255 (1/8 chance)
/* 8*/ 0x028e, // when value is 255 (1/8 chance)
/* 9*/ 0x028f, // when value is 255 (1/8 chance)
/*10*/ 0x0231, // when value is 255 (1/8 chance)
/*11*/ 0x0232, // when value is 255 (1/8 chance)
/*12*/ 0x0233, // when value is 255 (1/8 chance)
/*13*/ 0x0234, // when value is 255 (1/8 chance)
/*14*/ 0x028d, // when value is 255 (1/8 chance)
};
u8 var80069860[8] = {0};

View File

@ -3286,12 +3286,12 @@
channel,
/**
* If value is -2, either do 0x299 or 0x29a based on something.
* If value is -1, choose a random anim out of 8 from bank at 8006984c.
* If value is 3, choose a random anim out of 2 from bank at 80069844.
* Any other value is an index into bank at 80069840.
* If value is 0-2 or 4-14, do talking animation from g_PresetAnimations array.
* If value is 3, choose a random talking anim out of 2.
* If value is 254, do a gun jam animation.
* If value is 255, choose a random talking anim out of 8.
*/
#define do_special_animation(value) \
#define do_preset_animation(value) \
mkshort(0x01a3), \
value,

View File

@ -131,6 +131,8 @@
#define ANIM_SNIPING_026B 0x026b
#define ANIM_DRAW_PISTOL_0288 0x0288
#define ANIM_DRAW_PISTOL_0289 0x0289
#define ANIM_FIX_GUN_JAM_EASY 0x0299
#define ANIM_FIX_GUN_JAM_HARD 0x029a
#define ANIM_SKEDAR_COLLAPSE 0x0352
#define BANK_0 0

View File

@ -125,7 +125,7 @@ struct prop *func0f02dbac(struct pad *pad, s16 room);
u32 func0f02ddbc(void);
u32 func0f02dff0(void);
u32 func0f02e064(struct chrdata *chr);
u32 func0f02e124(void);
bool func0f02e124(struct prop *prop);
u32 func0f02e15c(void);
u32 func0f02e1cc(void);
u32 func0f02e260(void);

View File

@ -386,7 +386,7 @@
/*0x01a0*/ bool aiSetChrSpecialDeathAnimation(void);
/*0x01a1*/ bool aiSetRoomToSearch(void);
/*0x01a2*/ bool aiSayCiStaffQuip(void);
/*0x01a3*/ bool ai01a3(void);
/*0x01a3*/ bool aiDoPresetAnimation(void);
/*0x01a4*/ bool aiShowText(void);
/*0x01a5*/ bool ai01a5(void);
/*0x01a6*/ bool aiIfTargetYDifferenceLessThan(void);

View File

@ -229,7 +229,7 @@ extern s16 ciquiptable_bank3[];
extern u16 g_InvestigationPadMap[40];
extern u32 var80069780;
extern u32 var8006978c;
extern u16 special_animations[];
extern u16 g_PresetAnimations[15];
extern u8 var80069860[8];
extern struct coord var80069868;
extern struct coord var80069874;