A
Akari
Guest
I see wiki misses this two opcodes.
I disasmed them to help Synergy Blades understand it better:
Code: [Select]
First there are standart check for all opcodes. Don't know what are they check anyway.
[8008326C + s0] - id of entity that called this window. If window is not called this is 0xFF
As I understand - this opcode set given entity to close (set WINDOW STATE = 7)
And open new window with dialog id == 0
Next:
Code: [Select]
This simply close window with given id.
And function
Code: [Select]
Does this makes sence?
I disasmed them to help Synergy Blades understand it better:
Code: [Select]
Code:
////////////////////////////////////////////////////////// 0x2E WCLSv0 = [8009d820] = 0;v0 = v0 & 3;if (v0 != 0){ 800CAF7C lui a0, $800a 800CAF80 addiu a0, a0, $0aa8 800CAF84 jal funcbead4 [$800bead4] 800CAF88 ori a1, zero, $0002}s0 = window_id; // window id from opcodeif ([8008326C + s0] != FF) // if window already shown{ v0 = 0; a0 = s0; set_state_to_close a0 = s0; a1 = 0; set_display_window v0 = 1;}else{ v0 = 0; move script pointer by 2}////////////////////////////////////////////////////////
[8008326C + s0] - id of entity that called this window. If window is not called this is 0xFF
As I understand - this opcode set given entity to close (set WINDOW STATE = 7)
And open new window with dialog id == 0
Next:
Code: [Select]
Code:
////////////////////////////////////////////////////////// 0x54 WCLSEv0 = [8009d820] = 0;v0 = v0 & 3;if (v0 != 0){ 800CAF7C lui a0, $800a 800CAF80 addiu a0, a0, $0aa8 800CAF84 jal funcbead4 [$800bead4] 800CAF88 ori a1, zero, $0002}a0 = param1;set_state_to_closeif (v0 == 0){ v0 = 1;}else{ v0 = 0; move script pointer by 2}////////////////////////////////////////////////////////
And function
Code: [Select]
Code:
////////////////////////////////////////////////////////set_state_to_closea0 = window idget window stateif ((window state - 1 >= D) || (window state - 1 == 0)){ return 0;}if (window state - 1 == {2, 4, 6, 8, 9, B}){ return 1;}if (window state - 1 == {1, 3, 5, 7, A, C}){ set window state to 7; return 0;}////////////////////////////////////////////////////////