Fallout2 Opcode Playground

Opcodes: 8000-801F, 8020-803F, 8040-805F,
8060-807F, 8080-809F, 80A0-80BF, 80C0-80DF,
80E0-80FF, 8100-811F, 8120-813F, 8140-8155
 
List Opcodes:Used in Fallout 2Named
Known to DecompilerDescribed

Descriptions for 80DE

Opcode80DE, OpenDialog
>> subfunction   OpenDialog

Author: Wasteland Ghost

08.02.05 12:04:47

Синтаксис оригинального компилятора:
void start_gdialog(int msgFileNum, ObjectPtr who, int mood, int headNum, int backgroundIdx) - начать диалог
Аргументы:
msgFileNum - номер файла msg (-1 - по-умолчанию)
who - указатель на криттера, с которым ведётся диалог
mood - эмоциональная реакция (см. DEFINE.H):
GOOD_REACTION (49)
NEUTRAL_REACTION (50)
BAD_REACTION (51)
headNum - номер "говорящей головы" (см. DEFINE.H) (-1 - нет головы)
backgroundIdx - номер фона (см. DEFINE.H) (-1 - стандартный фон)
Author: Wasteland Ghost

16.01.03 8:31:19

OpenDialog(script_n, objID, move_to_stack, face_n, bkgrnd_n) - начать диалог

Аргументы:
  script_n       - имя/номер скрипта криттера
objID - идентификатор объекта
move_to_stack - всегда равно 4, просто помещается в стек
face_n - номер морды говорящего (если нет, то равно -1) из heads.lst
bkgrnd_n - номер фона (если нет, то равно -1) из BACKGRND.LST
Пример:
  OpenDialog _script_, Self, 4, -1, -1);
Author: legacy information

22.06.02 13:29:01

Открытие формы диалога выполняется командой 80DE, у которой есть пять аргументов: номер скрипта криттера, идентификатор криттера (80BC), четверка(просто помещается в стек), номер морды говорящего (если нет морды, то -1) и номер фона (-1 в аналогичном случае).