Improve quip related commands and data
This commit is contained in:
parent
02b7c43738
commit
6e0806bbf7
140
src/globals.c
140
src/globals.c
|
@ -15262,8 +15262,7 @@ u32 var0000f010 = 0x00000000;
|
|||
u32 var0000f014 = 0x00000000;
|
||||
|
||||
// f018
|
||||
u16 quiptable[] = {
|
||||
// Part 1
|
||||
u16 quiptable_human_bank0[] = {
|
||||
0x0000, 0x027b, 0x027b, 0x027c,
|
||||
0x0001, 0x027d, 0x027e, 0x027f,
|
||||
0x0002, 0x028a, 0x028b, 0x028c,
|
||||
|
@ -15305,8 +15304,10 @@ u16 quiptable[] = {
|
|||
0x0026, 0x02a3, 0x02a4, 0x02a5,
|
||||
0x0027, 0x04c6, 0x04c6, 0x04c6,
|
||||
0x0028, 0x1aa6, 0x1aa6, 0x1aa6,
|
||||
};
|
||||
|
||||
// Part 2
|
||||
// f160
|
||||
u16 quiptable_f160[] = {
|
||||
0x0000, 0x0322, 0x0323, 0x0324,
|
||||
0x0001, 0x0325, 0x0326, 0x0327,
|
||||
0x0002, 0x812e, 0x0335, 0x0336,
|
||||
|
@ -15348,8 +15349,10 @@ u16 quiptable[] = {
|
|||
0x0026, 0x0356, 0x0357, 0x035a,
|
||||
0x0027, 0x812b, 0x032f, 0x812c,
|
||||
0x0028, 0x1ad2, 0x1ad2, 0x1ad2,
|
||||
};
|
||||
|
||||
// Part 3
|
||||
// f2a8
|
||||
u16 quiptable_f2a8[] = {
|
||||
0x0000, 0x03e7, 0x03e8, 0x03e9,
|
||||
0x0001, 0x03ea, 0x03eb, 0x03ec,
|
||||
0x0002, 0x03f9, 0x03fa, 0x03fb,
|
||||
|
@ -15391,8 +15394,10 @@ u16 quiptable[] = {
|
|||
0x0026, 0x041b, 0x0417, 0x041d,
|
||||
0x0027, 0x8134, 0x03f4, 0x8134,
|
||||
0x0028, 0x1adb, 0x1adb, 0x1adb,
|
||||
};
|
||||
|
||||
// Part 4
|
||||
// f3f0
|
||||
u16 quiptable_f3f0[] = {
|
||||
0x0000, 0x0396, 0x0396, 0x0396,
|
||||
0x0001, 0x0037, 0x0398, 0x0399,
|
||||
0x0002, 0x03a4, 0x0037, 0x03a6,
|
||||
|
@ -15434,8 +15439,10 @@ u16 quiptable[] = {
|
|||
0x0026, 0x03bc, 0x03be, 0x03c0,
|
||||
0x0027, 0x039f, 0x039f, 0x039f,
|
||||
0x0028, 0x0000, 0x0000, 0x0000,
|
||||
};
|
||||
|
||||
// Part 5
|
||||
// f538
|
||||
u16 quiptable_human_bank1[] = {
|
||||
0x0000, 0x0af2, 0x0af3, 0x0af8,
|
||||
0x0001, 0x1aee, 0x1aef, 0x1aee,
|
||||
0x0002, 0x023d, 0x023e, 0x0247,
|
||||
|
@ -15482,8 +15489,10 @@ u16 quiptable[] = {
|
|||
0x002b, 0x0af2, 0x0af8, 0x0af8,
|
||||
0x002c, 0x0525, 0x0525, 0x0525,
|
||||
0x002d, 0x1aec, 0x1aec, 0x1aec,
|
||||
};
|
||||
|
||||
// Part 6
|
||||
// f6a8
|
||||
u16 quiptable_f6a8[] = {
|
||||
0x0001, 0x0253, 0x0254, 0x0255,
|
||||
0x0002, 0x0256, 0x0257, 0x0256,
|
||||
0x0003, 0x1e40, 0x1e41, 0x1e42,
|
||||
|
@ -15494,19 +15503,25 @@ u16 quiptable[] = {
|
|||
0x0008, 0x1e4f, 0x1e50, 0x1e51,
|
||||
0x0009, 0x1e52, 0x1e53, 0x1e54,
|
||||
0x000a, 0x4a0a, 0x4a0c, 0x4a0c,
|
||||
};
|
||||
|
||||
// Part 7
|
||||
// f6f8
|
||||
u16 quiptable_skedar[] = {
|
||||
0x0001, 0x0529, 0x052a, 0x052b,
|
||||
0x0002, 0x052d, 0x052e, 0x052f,
|
||||
0x0003, 0x0530, 0x0530, 0x0531,
|
||||
};
|
||||
|
||||
// Part 8
|
||||
// f710
|
||||
u16 quiptable_f710[] = {
|
||||
0x0001, 0x0532, 0x0533, 0x0534,
|
||||
0x0002, 0x0536, 0x0537, 0x0538,
|
||||
0x0003, 0x0539, 0x0539, 0x053a,
|
||||
|
||||
// Part 9
|
||||
0x0000, 0x0000, 0x0000, 0x0000,
|
||||
};
|
||||
|
||||
// f730
|
||||
u16 quiptable_maian[] = {
|
||||
0x0001, 0x05e2, 0x05e3, 0x05e4,
|
||||
0x0002, 0x05e5, 0x05e6, 0x05e7,
|
||||
0x0003, 0x05df, 0x05e0, 0x05e1,
|
||||
|
@ -15537,58 +15552,57 @@ u32 var0000f7a0 = 0x00000000;
|
|||
u32 var0000f7a4 = 0x00000000;
|
||||
u32 var0000f7a8 = 0x00000000;
|
||||
u32 var0000f7ac = 0x1a000003;
|
||||
u32 var0000f7b0 = 0x17a117a2;
|
||||
u32 var0000f7b4 = 0x17a317a4;
|
||||
u32 var0000f7b8 = 0x17a517a6;
|
||||
u32 var0000f7bc = 0x17a717a8;
|
||||
u32 var0000f7c0 = 0x17a917aa;
|
||||
u32 var0000f7c4 = 0x17ab17ac;
|
||||
u32 var0000f7c8 = 0x17ad17ae;
|
||||
u32 var0000f7cc = 0x17af179e;
|
||||
u32 var0000f7d0 = 0x179f17a0;
|
||||
u32 var0000f7d4 = 0x80288028;
|
||||
u32 var0000f7d8 = 0x8028802b;
|
||||
u32 var0000f7dc = 0x802b802b;
|
||||
u32 var0000f7e0 = 0x802c802d;
|
||||
u32 var0000f7e4 = 0x802e802f;
|
||||
u32 var0000f7e8 = 0x802f802f;
|
||||
u32 var0000f7ec = 0x80308030;
|
||||
u32 var0000f7f0 = 0x80308031;
|
||||
u32 var0000f7f4 = 0x80318031;
|
||||
u32 var0000f7f8 = 0x80328032;
|
||||
u32 var0000f7fc = 0x80338033;
|
||||
u32 var0000f800 = 0x80348034;
|
||||
u32 var0000f804 = 0x80358035;
|
||||
u32 var0000f808 = 0x80368036;
|
||||
u32 var0000f80c = 0x80378037;
|
||||
u32 var0000f810 = 0x177b177b;
|
||||
u32 var0000f814 = 0x177b177d;
|
||||
u32 var0000f818 = 0x177d177d;
|
||||
u32 var0000f81c = 0x1789178a;
|
||||
u32 var0000f820 = 0x178b178d;
|
||||
u32 var0000f824 = 0x178d178d;
|
||||
u32 var0000f828 = 0x17951795;
|
||||
u32 var0000f82c = 0x17951785;
|
||||
u32 var0000f830 = 0x17851785;
|
||||
u32 var0000f834 = 0x17911791;
|
||||
u32 var0000f838 = 0x17911791;
|
||||
u32 var0000f83c = 0x17911791;
|
||||
u32 var0000f840 = 0x17821782;
|
||||
u32 var0000f844 = 0x17821783;
|
||||
u32 var0000f848 = 0x17831783;
|
||||
u32 var0000f84c = 0x00001b1c;
|
||||
u32 var0000f850 = 0x1b1f1b20;
|
||||
u32 var0000f854 = 0x00001b1e;
|
||||
u32 var0000f858 = 0x1b211b21;
|
||||
u32 var0000f85c = 0x1b1d1b1d;
|
||||
u32 var0000f860 = 0x02960297;
|
||||
u32 var0000f864 = 0x0298028a;
|
||||
u32 var0000f868 = 0x028c0290;
|
||||
u32 var0000f86c = 0x029100a3;
|
||||
u32 var0000f870 = 0x028e028f;
|
||||
u32 var0000f874 = 0x02310232;
|
||||
u32 var0000f878 = 0x02330234;
|
||||
u32 var0000f87c = 0x028d0000;
|
||||
|
||||
// f7b0
|
||||
u16 ciquiptable_bank1[] = {
|
||||
0x17a1, 0x17a2, 0x17a3, 0x17a4, 0x17a5, 0x17a6, 0x17a7, 0x17a8,
|
||||
0x17a9, 0x17aa, 0x17ab, 0x17ac, 0x17ad, 0x17ae, 0x17af, 0x179e,
|
||||
0x179f, 0x17a0,
|
||||
};
|
||||
|
||||
// f7d4
|
||||
u16 ciquiptable_bank0[] = {
|
||||
0x8028, 0x8028, 0x8028, 0x802b, 0x802b, 0x802b, 0x802c, 0x802d,
|
||||
0x802e, 0x802f, 0x802f, 0x802f, 0x8030, 0x8030, 0x8030, 0x8031,
|
||||
0x8031, 0x8031, 0x8032, 0x8032, 0x8033, 0x8033, 0x8034, 0x8034,
|
||||
0x8035, 0x8035, 0x8036, 0x8036, 0x8037, 0x8037,
|
||||
};
|
||||
|
||||
// f810
|
||||
u16 ciquiptable_bank2[] = {
|
||||
0x177b, 0x177b, 0x177b, 0x177d, 0x177d, 0x177d, 0x1789, 0x178a,
|
||||
0x178b, 0x178d, 0x178d, 0x178d, 0x1795, 0x1795, 0x1795, 0x1785,
|
||||
0x1785, 0x1785, 0x1791, 0x1791, 0x1791, 0x1791, 0x1791, 0x1791,
|
||||
0x1782, 0x1782, 0x1782, 0x1783, 0x1783, 0x1783,
|
||||
};
|
||||
|
||||
// f84c
|
||||
u16 ciquiptable_bank3[] = {
|
||||
0x0000, 0x1b1c, 0x1b1f, 0x1b20, 0x0000, 0x1b1e, 0x1b21, 0x1b21,
|
||||
0x1b1d, 0x1b1d,
|
||||
};
|
||||
|
||||
// f860
|
||||
// table for cmd 01a3 (do_special_animation)
|
||||
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,
|
||||
};
|
||||
|
||||
u32 var0000f880 = 0x00000000;
|
||||
u32 var0000f884 = 0x00000000;
|
||||
u32 var0000f888 = 0x00000000;
|
||||
|
|
|
@ -1158,11 +1158,16 @@
|
|||
#define cmd012f \
|
||||
mkshort(0x012f),
|
||||
|
||||
#define say_quip(chr, u1, index, u2, u3, bank, u4, channel) \
|
||||
/**
|
||||
* Make chr say something out of a random set of 3. Sets are defined in globals.
|
||||
* The bank argument applies to humans only. Skedar and maians have their own
|
||||
* hard coded banks.
|
||||
*/
|
||||
#define say_quip(chr, index, u1, u2, u3, bank, u4, channel) \
|
||||
mkshort(0x0130), \
|
||||
chr, \
|
||||
u1, \
|
||||
index, \
|
||||
u1, \
|
||||
u2, \
|
||||
u3, \
|
||||
bank, \
|
||||
|
@ -1574,11 +1579,17 @@
|
|||
#define set_chr_roomtosearch \
|
||||
mkshort(0x01a1),
|
||||
|
||||
#define play_chr_specific_quip(bank, channel) \
|
||||
#define play_cistaff_quip(bank, channel) \
|
||||
mkshort(0x01a2), \
|
||||
bank, \
|
||||
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.
|
||||
*/
|
||||
#define do_special_animation(value) \
|
||||
mkshort(0x01a3), \
|
||||
value,
|
||||
|
|
|
@ -606,7 +606,7 @@ u8 func041e_colleague[] = {
|
|||
label(0x7f)
|
||||
animation(ANIM_SITTING_0265, 0, -1, 0x1400, CHR_SELF, 2)
|
||||
label(0x2f)
|
||||
play_chr_specific_quip(BANK_0, CHANNEL_6)
|
||||
play_cistaff_quip(BANK_0, CHANNEL_6)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x57)
|
||||
|
@ -637,7 +637,7 @@ u8 func041e_colleague[] = {
|
|||
label(0x06)
|
||||
do_special_animation(-1)
|
||||
label(0x06)
|
||||
play_chr_specific_quip(BANK_1, CHANNEL_6)
|
||||
play_cistaff_quip(BANK_1, CHANNEL_6)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x5b)
|
||||
|
@ -680,7 +680,7 @@ u8 func041e_colleague[] = {
|
|||
label(0x7f)
|
||||
animation(ANIM_SITTING_0265, 0, -1, 0x1400, CHR_SELF, 2)
|
||||
label(0x06)
|
||||
play_chr_specific_quip(BANK_2, CHANNEL_6)
|
||||
play_cistaff_quip(BANK_2, CHANNEL_6)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x5c)
|
||||
|
@ -2475,7 +2475,7 @@ u8 func0429_grimshaw_disguise[] = {
|
|||
label(0x06)
|
||||
dprint 'I','n','i','t','i','a','l','i','s','e','c',0,
|
||||
do_special_animation(3)
|
||||
play_chr_specific_quip(BANK_0, CHANNEL_6)
|
||||
play_cistaff_quip(BANK_0, CHANNEL_6)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x57)
|
||||
|
|
|
@ -1995,7 +1995,7 @@ u8 func0425_hostage_thank_and_run[] = {
|
|||
goto_first(0x0b)
|
||||
|
||||
label(0x08)
|
||||
play_chr_specific_quip(BANK_3, CHANNEL_6)
|
||||
play_cistaff_quip(BANK_3, CHANNEL_6)
|
||||
animation(ANIM_TALKING_0231, 0, -1, 0x1010, CHR_SELF, 2)
|
||||
label(0x2f)
|
||||
restart_timer
|
||||
|
@ -2085,7 +2085,7 @@ u8 func0427_drop_devastator[] = {
|
|||
give_object_to_chr(OBJ_DEVASTATOR, CHR_SELF)
|
||||
yield
|
||||
drop_concealed_items(CHR_SELF)
|
||||
play_chr_specific_quip(BANK_3, CHANNEL_6)
|
||||
play_cistaff_quip(BANK_3, CHANNEL_6)
|
||||
animation(ANIM_TALKING_0231, 0, -1, 0x1010, CHR_SELF, 2)
|
||||
restart_timer
|
||||
|
||||
|
|
Loading…
Reference in New Issue