File creation.
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1444 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -0,0 +1,74 @@
|
|||||||
|
This file describes how the conversation system works.
|
||||||
|
|
||||||
|
Functions:
|
||||||
|
|
||||||
|
DoResponsePhrase(RESPONSE_REF R, RESPONSE_FUNC response_func,
|
||||||
|
UNICODE *ConstructStr)
|
||||||
|
Adds a line to the list of remarks the player may choose from.
|
||||||
|
R - The index for the line in the .txt dialog file.
|
||||||
|
response_func - the function where to continue the dialog if this
|
||||||
|
remark was chosen.
|
||||||
|
ConstructStr - A user-constructed string to display. If it is 0,
|
||||||
|
the string from R is used; if it is 0, the string identified
|
||||||
|
by R is not displayed, but R is still used to report what choice
|
||||||
|
a player made.
|
||||||
|
In practice ConstructStr is always the result of a call
|
||||||
|
to construct_response() and R is set to the first part of
|
||||||
|
the constructed phrase.
|
||||||
|
Note: ConstructStr must still be valid after the function calling
|
||||||
|
DoResponsePhrase() returns, so it can't be on the stack.
|
||||||
|
Also, if there are multiple constructed responses at one
|
||||||
|
point in the dialog, they will need separate buffers.
|
||||||
|
In practice, a global buffer shared_phrase_buf is used when
|
||||||
|
only one buffer is required.
|
||||||
|
Note: In practice, when R is 0, the call is always made through the
|
||||||
|
macro Response()
|
||||||
|
|
||||||
|
Response(RESPONSE_REF R, RESPONSE_FUNC response_func)
|
||||||
|
Macro that calls DoResponsePhrase() with 0 for ConstructStr.
|
||||||
|
|
||||||
|
construct_response(UNICODE *buf, int R, ...)
|
||||||
|
Concatenates strings from a dialog .txt file with strings from
|
||||||
|
the source. The arguments after *buf are alternatingly an int R,
|
||||||
|
and a UNICODE * str, until either R is -1, or str is NULL.
|
||||||
|
buf - the destination
|
||||||
|
R - The index for the line in the .txt dialog file.
|
||||||
|
str - A UNICODE * string.
|
||||||
|
|
||||||
|
NPCPhrase_cb(int index, TFB_TrackCB cb)
|
||||||
|
Display the NPC speech with identifier 'index' (and play the
|
||||||
|
associated sample). The callback function 'cb' is called when
|
||||||
|
the displaying is done (usually when the sample ends).
|
||||||
|
index - The index for the line in the .txt dialog file.
|
||||||
|
cb - the callback function to called when the line is over.
|
||||||
|
NULL indicates no callback function.
|
||||||
|
|
||||||
|
NPCPhrase(int index)
|
||||||
|
Display the NPC speech with identifier 'index'.
|
||||||
|
This is a macro to NPCPrhase_cb().
|
||||||
|
index - The index for the line in the .txt dialog file, or
|
||||||
|
GLOBAL_PLAYER_NAME for the name of the captain,
|
||||||
|
GLOBAL_SHIP_NAME for the name of the flagship,
|
||||||
|
GLOBAL_PLAYER_LOCATION, for the player's hyperspace coordinates,
|
||||||
|
GLOBAL_ALLIANCE_NAME, for the name of the new alliance, or
|
||||||
|
a negative number for the absolute number as speech
|
||||||
|
|
||||||
|
DISABLE_PHRASE(int index)
|
||||||
|
Mark a player line as not to be offered as a choice anymore. Not in
|
||||||
|
this conversion, nor in any future conversations.
|
||||||
|
index - The index for the line in the .txt dialog file.
|
||||||
|
|
||||||
|
PHRASE_ENABLED(int index)
|
||||||
|
Check if a player phrase was formerly marked as not to be offered anymore
|
||||||
|
(by call to DISABLE_PHRASE).
|
||||||
|
index - The index for the line in the .txt dialog file.
|
||||||
|
|
||||||
|
PLAYER_SAID(RESPONSE_REF said, RESPONSE_REF test)
|
||||||
|
Test whether a player the player reply 'said' is equal to the reply
|
||||||
|
'test'.
|
||||||
|
said - the response that the player selected
|
||||||
|
test - a response to test 'said' against
|
||||||
|
|
||||||
|
|
||||||
|
Initial version by Serge van den Boom, 2005-01-10
|
||||||
|
|
||||||
Reference in New Issue
Block a user