Fixed PSI menu redrawing
This commit is contained in:
parent
4722976202
commit
eed7db92d1
|
@ -62,6 +62,13 @@ org $80C0260; bl m2_vwf.goods_dirty6
|
||||||
org $80BA688; bl m2_vwf.goods_redraw // pressing B from Give window; redraw old Goods window
|
org $80BA688; bl m2_vwf.goods_redraw // pressing B from Give window; redraw old Goods window
|
||||||
org $80B9CF8; bl m2_vwf.main_redraw // selecting the Use option; need to redraw the main menu
|
org $80B9CF8; bl m2_vwf.main_redraw // selecting the Use option; need to redraw the main menu
|
||||||
|
|
||||||
|
// PSI -- dirty flags
|
||||||
|
org $80B8CD2; bl m2_vwf.psi_menu_clear
|
||||||
|
org $80B8CEA; bl m2_vwf.psi_menu_draw
|
||||||
|
org $80B85F0; bl m2_vwf.psi_menu_dirty1
|
||||||
|
org $80C4048; bl m2_vwf.psi_menu_dirty2
|
||||||
|
org $80C4080; bl m2_vwf.psi_menu_dirty2
|
||||||
|
|
||||||
// Menu select entry
|
// Menu select entry
|
||||||
org $80B7FC6; bl m2_vwf.print_string_relative
|
org $80B7FC6; bl m2_vwf.print_string_relative
|
||||||
|
|
||||||
|
|
106
m2-vwf.asm
106
m2-vwf.asm
|
@ -2049,6 +2049,112 @@ bl $80C8BE4
|
||||||
pop {pc}
|
pop {pc}
|
||||||
|
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// void psi_menu_clear()
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
|
.psi_menu_clear:
|
||||||
|
print "m2vwf.psi_menu_clear: $",pc
|
||||||
|
|
||||||
|
push {r0-r3,lr}
|
||||||
|
|
||||||
|
// Get the dirty flag
|
||||||
|
bl .get_dirty_flag
|
||||||
|
|
||||||
|
// Only clear if it's dirty
|
||||||
|
cmp r0,#0
|
||||||
|
beq +
|
||||||
|
pop {r0-r3,pc}
|
||||||
|
|
||||||
|
+
|
||||||
|
// Clobbered code
|
||||||
|
pop {r0-r3}
|
||||||
|
bl $80CA834
|
||||||
|
pop {pc}
|
||||||
|
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// void psi_menu_draw()
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
|
.psi_menu_draw:
|
||||||
|
print "m2vwf.psi_menu_draw: $",pc
|
||||||
|
|
||||||
|
push {r0-r4,lr}
|
||||||
|
|
||||||
|
// Get the window address
|
||||||
|
ldr r1,=#0x300524C
|
||||||
|
ldr r0,[r1,#0]
|
||||||
|
mov r4,r0
|
||||||
|
|
||||||
|
// Get the dirty flag
|
||||||
|
bl .get_dirty_flag
|
||||||
|
|
||||||
|
// Only draw if it's dirty
|
||||||
|
cmp r0,#0
|
||||||
|
beq +
|
||||||
|
pop {r0-r4,pc}
|
||||||
|
|
||||||
|
+
|
||||||
|
// Clobbered code
|
||||||
|
pop {r0-r3}
|
||||||
|
bl $80C1FBC
|
||||||
|
|
||||||
|
// Unset the dirty flag
|
||||||
|
push {r0,r1}
|
||||||
|
mov r0,r4
|
||||||
|
mov r1,#1
|
||||||
|
bl .set_dirty_flag
|
||||||
|
pop {r0,r1,r4,pc}
|
||||||
|
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// void psi_menu_dirty1()
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
|
.psi_menu_dirty1:
|
||||||
|
print "m2vwf.psi_menu_dirty1: $",pc
|
||||||
|
|
||||||
|
push {lr}
|
||||||
|
|
||||||
|
// Get the window address
|
||||||
|
ldr r0,[r4,#0x1C] // r4 = 0x3005230
|
||||||
|
|
||||||
|
// Set the dirty flag
|
||||||
|
mov r1,#0
|
||||||
|
bl .set_dirty_flag
|
||||||
|
|
||||||
|
// Clobbered code
|
||||||
|
ldr r0,[r5,#0]
|
||||||
|
mov r1,#1
|
||||||
|
pop {pc}
|
||||||
|
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// void psi_menu_dirty2()
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
|
.psi_menu_dirty2:
|
||||||
|
print "m2vwf.psi_menu_dirty2: $",pc
|
||||||
|
|
||||||
|
push {r0,r1,lr}
|
||||||
|
|
||||||
|
// Set the dirty flag
|
||||||
|
mov r0,r5
|
||||||
|
mov r1,#0
|
||||||
|
bl .set_dirty_flag
|
||||||
|
|
||||||
|
// Clean the window
|
||||||
|
mov r0,r5
|
||||||
|
bl $80CA834
|
||||||
|
|
||||||
|
// Clobbered code
|
||||||
|
pop {r0,r1}
|
||||||
|
strh r0,[r4,#0]
|
||||||
|
lsl r0,r0,#0x10
|
||||||
|
pop {pc}
|
||||||
|
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
// void psi_clean1()
|
// void psi_clean1()
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
Loading…
Reference in New Issue