Changes
From Final Fantasy Inside
no edit summary
0->1->2
0x2F WSIZW
[0x2F][window_id][[x]][[y]][[width]][[height]]
If window not opened yet - call "WINDOW" opcode which set parameters and continue script execution.
If window opened and parent entity the same as current entity call "set_state_to_close" and then "manage_window_states" to close window.
0x37 WNUMB
[0x37][bank_for_number_lower_part/bank_for_number_upper_part][window_id][[number_lower_part]][[number_upper_part]][number_of_digits]
Writes number to WNUMB_number in window structure (construct from upper and lower parts).
Writes number_of_digits to WNUMB_number_of_digits in window structure.
0x42 MPRA2
[0x42][bank_for_variable_id/bank_for_value][window_id][variable_id][[value]]
Writes bank_for_value to 800E4214 memory bank variable array (size 0x08 0x01). This value will be used when we will copy field dialog to window string.
Writes value to 800E4D48 offsets for variable array (size 0x10 0x02). This value will be used when we will copy field dialog to window string.
0x50 WINDOW
[0x50][window_id][[x]][[y]][[width]][[height]]
Call "set_window_x_y_width_height" which sets parameters to window structure.
field copy:
XX - for any usual letter we inctement letter and byte data by 1.
E0 - tabulation. Writes 0xA spaces(0x00) to string data. Increment letters and bytes data by 0xA.
E1 - tabulation. Writes 0x4 spaces(0x00) to string data. Increment letters and bytes data by 0x4.
E2 - writes 0x0C, 0x00(, ) Increment letters and bytes data by 0x2.
E3 - writes 0x0E, 0x02(.") Increment letters and bytes data by 0x2.
E4 - writes 0xA9, 0x02(...") Increment letters and bytes data by 0x2.
E5 - usual letter.
E6 - usual letter.
E7 - next row.
If row number equal to max row number - write FF to string. Set window state to 0x4. Write 0 to 80114470 array. Write 1 to 80114480 array.
If row numbet less then max row number - write E7 to string. Increment byte and row data by 1.
E8 - next window. Set window state to 0xE. End string copying. Write FF to string. Write 0x0000 to 80114470 array. Write 0x0001 to 80114480 array.
E9 - next window. Set window state to 0xE. End string copying. Write FF to string. Write 0x0000 to 80114470 array. Write 0x0001 to 80114480 array.
EA - character name from savemap 0x00 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
EB - character name from savemap 0x01 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
EC - character name from savemap 0x02 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
ED - character name from savemap 0x03 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
EE - character name from savemap 0x04 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
EF - character name from savemap 0x05 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
F0 - character name from savemap 0x06 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
F1 - character name from savemap 0x07 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
F2 - character name from savemap 0x08 character data. Copy 9 bytes or until encount FF. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
F3 - party character name. Get character id from 0x0CAE party data in savemap and load character name from savemap data. Copy 9 bytes or until encount FF. If party character 0xFF (none) - write 0xA9(...) 9 times. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
F4 - party character name. Get character id from 0x0CAF party data in savemap and load character name from savemap data. Copy 9 bytes or until encount FF. If party character 0xFF (none) - write 0xA9(...) 9 times. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
F5 - party character name. Get character id from 0x0CB0 party data in savemap and load character name from savemap data. Copy 9 bytes or until encount FF. If party character 0xFF (none) - write 0xA9(...) 9 times. Increment letters and byte data by 1 for each copying byte. Descrease 80114470 by S5 for each copying byte.
F6 - usual letter.
F7 - usual letter.
F8 - usual letter.
F9 - usual letter.
FA - copied to string together with next byte. Increment letters data by 1 and byte data by 2.
FB - copied to string together with next byte. Increment letters data by 1 and byte data by 2.
FC - copied to string together with next byte. Increment letters data by 1 and byte data by 2.
FD - copied to string together with next byte. Increment letters data by 1 and byte data by 2.
FE - special opcode. Write FE to string. Increment byte data by 1. Read next byte and do something according to it.
FED2 - increment byte data by 1. Write this byte to string. (colour formater)
FED3 - increment byte data by 1. Write this byte to string. (colour formater)
FED4 - increment byte data by 1. Write this byte to string. (colour formater)
FED5 - increment byte data by 1. Write this byte to string. (colour formater)
FED6 - increment byte data by 1. Write this byte to string. (colour formater)
FED7 - increment byte data by 1. Write this byte to string. (colour formater)
FED8 - increment byte data by 1. Write this byte to string. (colour formater)
FED9 - increment byte data by 1. Write this byte to string. (colour formater)
FEDA - increment byte data by 1. Write this byte to string. (colour formater)
FEDB - increment byte data by 1. Write this byte to string. (colour formater)
FEDC - remove FE from string by decrement byte data by 1. Set window state to 0xD. Write 0x0000 to 80114470 array. Write 0x0001 to 80114480 array. End string copying. Write FF to string.
FEDD - set window state to 0x3. Copy next byte and byte after it to 8011445C array (swapped). Increment byte data by 3 (similar to write 000000). Write FF to string. End string copying.
FEDE - remove FE from string by decrement byte data by 1. Get 1 or 2 byte value from memory bank. Convert that digit to string without preceding zeros (with ending FF). Copy 0x10 bytes (or until we met FF) of given string to window string incrementing byte and letter data by 1 for each byte. Descrease 80114470 by S5 for each copying byte. There can be 8 variable in one window (for all variable opcodes DE DF E1).
FEDF - remove FE from string by decrement byte data by 1. Get 1 or 2 byte value from memory bank. Convert that digit to string as hex without preceding zeros (with ending FF). Copy 0x10 bytes (or until we met FF) of given string to window string incrementing byte and letter data by 1 for each byte. Descrease 80114470 by S5 for each copying byte. There can be 8 variable in one window (for all variable opcodes DE DF E1).
FEE0 - remove FE from string by decrement byte data by 1. Set window state to 0xB. Write 0x0000 to 80114470 array. Write 0x0001 to 80114480 array. End string copying. Write FF to string.
FEE1 - remove FE from string by decrement byte data by 1. Get 1 or 2 byte value from memory bank. Convert that digit to string replacing preceding zeros with space (0x00) (with ending FF). Copy 0x10 bytes (or until we met FF) of given string to window string incrementing byte and letter data by 1 for each byte. Descrease 80114470 by S5 for each copying byte. There can be 8 variable in one window (for all variable opcodes DE DF E1).
FEE2 - remove FE from string by decrement byte data by 1. Get 3-4 byte as offset and 5-6 byte as length. Copy length bytes from memory block 1/2 offset + offset to temp string (end string with 0xFF). Copy bytes from temp string to winfow string until we met FF, incrementing byte and letter data by 1 for each byte. Descrease 80114470 by S5 for each copying byte.
FEE3 - usual letter.
FEE4 - usual letter.
FEE5 - usual letter.
FEE6 - usual letter.
FEE7 - usual letter.
FEE8 - usual letter.
FEE9 - increment byte data by 1. Write this byte to string. (max letter width formater)
FEEA - unused (messed addres)
FEEB - unused (messed addres)
FEEC - unused (messed addres)
FEED - unused (messed addres)
FEEE - unused (messed addres)
FEEF - unused (messed addres)
FEF0 - unused (messed addres)
FEF1 - unused (messed addres)
FEF2 - unused (messed addres)
FEF3 - unused (messed addres)
FEF4 - unused (messed addres)
FEF5 - unused (messed addres)
FEF6 - unused (messed addres)
FEF7 - unused (messed addres)
FEF8 - unused (messed addres)
FEF9 - unused (messed addres)
FEFA - unused (messed addres)
FEFB - unused (messed addres)
FEFC - unused (messed addres)
FEFD - unused (messed addres)
FEFE - unused (messed addres)
FEFF - remove FE from string by decrement byte data by 1. Set window state to 0xD. Write 0x0000 to 80114470 array. Write 0x0001 to 80114480 array. End string copying. Write FF to string.
FF - end string copying. Write FF to string. Set window state to 0x6. Write 0x0000 to 80114470 array.