Código:
;W580 SW-R8BE001
;Show full text in "View all labels" of "ServiceMenuBook"
;Pressing Key "Show"
;Now, Show label number (DEC) too.
;***Edited***
;+ Show label number (Hex)
;© k790Alex
;(e,p) anarkes
;v 1.1
include "x.inc"
include "./lib/W580_R8BE001.asm"
org 0x4501A6EC
BLX R1
NOP
org 0x4501A6F0
BL GUIObject_SoftKeys_SetActionNText
org 0x4501A72C
DCD SetNewFunction_0+1
org 0x4501A74A
LDR R3, hook_1
BX R3
align 4
hook_1 DCD set2text+1
org 0x45CBB5D0
SetNewFunction_0:
PUSH {LR}
MOV R1, 3
LDR R0, [R4,0x18]
LDR R3, ListMenu_SetItemStyle_0
BLX R3
LDR R1, ACTION_SELECT
LDR R0, [R4,0x18]
LDR R2, SetNewFunction_00
LDR R3, ShowLNG
POP {PC}
align 4
ShowLNG DCD 0x1864
ACTION_SELECT DCD 0xFC2
SetNewFunction_00 DCD SetNewFunction+1
SetNewFunction:
PUSH {R0-R5,LR}
;( STRID header_text, STRID message_text, wchar_t IconID, int style, int time, BOOK* book )
ADD R0, R1, 0
;BL ListMenu_GetSelectedItem_0
LDR R4, ListMenu_GetSelectedItem_0
BLX R4
ADD R5, R0, 1
MOV R2, 0
MOV R0, 0
PUSH {R0,R1}
MOV R3, 1
LDR R2, NOIMAGE_0
ADD R1, R5, 0
LDR R0, EMPTYSID_0
LDR R4, MessageBox_0
BLX R4
ADD SP, SP, 8
POP {R0-R5,PC}
set2text:
ADD R7, R0, 0
ADD R1, R0, 0
ADD R0, R4, 0
LDR R3, GUIonMessage_SetMenuItemText_0
BLX R3
BL MakeSecondText
ADD R1, R0, 0
ADD R0, R4, 0
LDR R3, GUIonMessage_SetMenuItemSecond_0
BLX R3
MOV R5, 1
ADD R0, R5, 0
POP {R4,R5,PC}
MakeSecondText:
PUSH {LR}
SUB SP, SP, 0x14
LDR R4, Deec_0
MOV R2, 7
MOV R1, 6
ADR R0, Hex
LDR R3, Str2ID_0
BLX R3
STR R0, [SP, 0xC]
BL MakeHexTitle
STR R0, [SP, 0x10]
MOV R2, 5
MOV R1, 6
ADD R0, R4, 0
LDR R3, Str2ID_0
BLX R3
STR R0, [SP]
ADD R0, R7, 0
LDR R3, int2strID_0
BLX R3
STR R0, [SP, 4]
MOV R0, 0xFF
ADD R0, 0xD1 ;Empty LNG
STR R0, [SP, 8]
MOV R2, 5
MOV R1, 5
MOV R0, SP
LDR R3, Str2ID_0
BLX R3
ADD SP, SP, 0x14
POP {PC}
MakeHexTitle:
PUSH {LR}
SUB SP, SP, 0xC
ADD R3, R7, 0
LDR R2, TString
MOV R1, 6
MOV R0, SP
PUSH {R3}
LDR R3, snwprintf_0 ;( wchar_t* buffer, int size, const wchar_t* fmt, ... )
MOV R12, R3
POP {R3}
BLX R12
MOV R2, 6
MOV R1, 0
MOV R0, SP
LDR R3, Str2ID_0
BLX R3
ADD SP, SP, 0xC
POP {PC}
align 4
NOIMAGE_0 DCD 0xFFFF
EMPTYSID_0 DCD 0x6FFFFFFF
Deec_0 DCD Deec
ListMenu_SetItemStyle_0 DCD ListMenu_SetItemStyle+1
ListMenu_GetSelectedItem_0 DCD ListMenu_GetSelectedItem+1
MessageBox_0 DCD MessageBox+1
GUIonMessage_SetMenuItemText_0 DCD GUIonMessage_SetMenuItemText+1
GUIonMessage_SetMenuItemSecond_0 DCD GUIonMessage_SetMenuItemSecondLineText+1
Str2ID_0 DCD Str2ID+1
int2strID_0 DCD int2strID+1
snwprintf_0 DCD snwprintf+1
TString DCD 0x4564F778 ;"%x"
Hex DCB "Hex: 0x",0
align 4
Deec DCB "Dec: ",0
Marcadores