Add comments where sound IDs are used and improve documentation for say_quip AI command

This commit is contained in:
Ryan Dwyer
2020-05-20 22:49:08 +10:00
parent ff0420aa3a
commit f6867e37df
28 changed files with 985 additions and 913 deletions
+13 -13
View File
@@ -2597,11 +2597,11 @@
* lists.
*
* There are several banks (tables) of sound IDs. One for Skedar, one for
* Maians, and two banks (0 and 1) for humans. The human bank 0 is divided into
* four subbanks. Each subbank has similar phrases to the other subbanks but
* each subbank uses a different style of voice. The subbank used is determined
* by the chr's voicebox property. This allows them to have the same sounding
* voice among all their phrases.
* Maians, one for general guard speech and one for special character speech.
* The guard speech bank is divided into four subbanks. Each subbank has similar
* phrases to the other subbanks but each subbank uses a different style of
* voice. The subbank used is determined by the chr's voicebox property. This
* allows them to have the same sounding voice among all their phrases.
*
* Each bank (table) contains rows and columns. The row can be selected via an
* argument to this command, but the column is determined randomly. All tables
@@ -2615,8 +2615,8 @@
* player has died then it'll attempt to use the coop player. If all players
* have died then it's likely their line will not be said.
*
* The row argument determines which row in the bank is used. Counting starts
* from 0.
* The quip argument determines which row in the bank is used. For guard speech
* you should use a QUIP constant, otherwise use the row number.
*
* The probability argument determines the likelihood that the chr will say
* the line. The higher the number (up to 255), the more likely they are to
@@ -2633,8 +2633,8 @@
* 255 = always talk, even if other chrs are nearby and talking
* (this applies after the probability check has passed)
*
* The bank argument determines which bank is used. Expected values are 0 or 1.
* For Skedar and Maians, this argument is ignored and they use their own banks.
* If special is true, the special bank will be used. For Skedar and Maians,
* this argument is ignored and they use their own banks.
*
* The textrow argument determines whether text will be shown on the screen as
* well as which row in the text bank will be used. Set to 0 to have no text.
@@ -2647,17 +2647,17 @@
*
* -----------------------------------------------------------------------------
*
* If called with zero values for all of row, probability and onlyifothers,
* If called with zero values for all of quip, probability and onlyifothers,
* the chr's current speech (if any) will be stopped.
*/
#define say_quip(player, row, probability, soundgap, onlyifothers, bank, textrow, colour) \
#define say_quip(player, quip, probability, soundgap, onlyifothers, special, textrow, colour) \
mkshort(0x0130), \
player, \
row, \
quip, \
probability, \
soundgap, \
onlyifothers, \
bank, \
special, \
textrow, \
colour,
+47 -5
View File
@@ -2181,17 +2181,59 @@
#define PROPTYPE_EXPLOSION 7
#define PROPTYPE_EFFECT 8
#define QUIP_ATTACK1 0
#define QUIP_ATTACK2 1
#define QUIP_GOTOCOVER1 2
#define QUIP_GRENADE1 3
#define QUIP_RETREAT1 4
#define QUIP_GRENADE2 5
#define QUIP_RETREAT2 6
#define QUIP_FLANK 7
#define QUIP_SURRENDER 8
#define QUIP_HEARNOISE 9
#define QUIP_10 10
#define QUIP_SEEPLAYER 11
#define QUIP_SHOTUNALERT 12
#define QUIP_INJURED1 13
#define QUIP_INJURED2 14
#define QUIP_KILLEDPLAYER1 15
#define QUIP_WARNFRIENDS 16
#define QUIP_17 17
#define QUIP_SURPRISED 18
#define QUIP_INSPECTBODY 19
#define QUIP_20 20
#define QUIP_HITPLAYER 21
#define QUIP_MISSEDPLAYER1 22
#define QUIP_MISSEDPLAYER2 23
#define QUIP_GOTOCOVER2 24
#define QUIP_DIE 25
#define QUIP_26 26
#define QUIP_SEARCHSUCCESS 27
#define QUIP_SEEEYESPY 28
#define QUIP_GREETING 29
#define QUIP_ASKWEAPON1 30
#define QUIP_ASKWEAPON2 31
#define QUIP_UNCOVERDISGUISE1 32
#define QUIP_LOSTGUN 33
#define QUIP_GOFORALARM 34
#define QUIP_SEARCHFAIL 35
#define QUIP_ATTACK3 36
#define QUIP_ATTACK4 37
#define QUIP_KILLEDPLAYER2 38
#define QUIP_GUNJAMMED 39
#define QUIP_UNCOVEREDDISGUISE2 40
#define RACE_HUMAN 0
#define RACE_SKEDAR 1
#define RACE_DRCAROLL 2
#define RACE_EYESPY 3
#define RACE_ROBOT 4
#define ROOMFLAG_DISABLED 0x0001
#define ROOMFLAG_VISIBLEBYPLAYER 0x0004
#define ROOMFLAG_VISIBLEBYAIBOT 0x0008
#define ROOMFLAG_4000 0x4000
#define ROOMFLAG_8000 0x8000
#define ROOMFLAG_DISABLED 0x0001
#define ROOMFLAG_VISIBLEBYPLAYER 0x0004
#define ROOMFLAG_VISIBLEBYAIBOT 0x0008
#define ROOMFLAG_4000 0x4000
#define ROOMFLAG_8000 0x8000
#define SAVEFILEFLAG_P1_FORWARDPITCH 0x00
#define SAVEFILEFLAG_P1_AUTOAIM 0x01
+1 -1
View File
@@ -16,7 +16,7 @@ u32 func0f093508(void);
u32 func0f093630(void);
u32 func0f093790(void);
u32 func0f0938ec(void);
u32 func0f0939f8(void *arg0, struct prop *prop, s16 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, f32 arg9, s32 arg10, s32 arg11, f32 arg12, f32 arg13, f32 arg14);
u32 func0f0939f8(void *arg0, struct prop *prop, s16 sound, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, f32 arg9, s32 arg10, s32 arg11, f32 arg12, f32 arg13, f32 arg14);
void audioMuteChannel(s32 channel);
u32 audioIfChannelIdle(s32 channel);
bool audioPlayFromProp2(s8 channel_id, s32 audio_id, s32 volumemaybe, struct prop *prop, u32 arg4, s32 arg5, s32 arg6, s32 arg7);
+1 -1
View File
@@ -236,7 +236,7 @@ void propObjGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
u32 func0f087638(void);
u32 func0f087668(void);
u32 func0f08791c(void);
void func0f087b0c(u32 arg0);
void func0f087b0c(u32 ammotype);
u32 propPlayPickupSound(struct prop *prop, s32 weapon);
void func0f087d10(s32 weaponnum);
u32 func0f087e40(void);