Código:
include "x.inc"
org 0x1551848A
ADD R1,R0,1 ; agrega item al menu seleccion de layout
;------------------------------ get gui MainMenu
org 0x142F39FC;0x1412956E
LDR R3, off_JUMP
BLX R3
B _salto
align 4
off_JUMP DCD My_JUMP+1
_salto:
;----------------------------- layout menu get gui
org 0x155184D6
LDR R3, off_layoutjump
BLX R3
B salto
align 4
off_layoutjump DCD layout_+1
salto:
;------------------------------------ establece texto al los items
org 0x15518568
LDR R3, off_text_jump
BLX R3
B _salto_texto
align 4
off_text_jump DCD texto_jump+1
_salto_texto:
;---------------------------------- establece una opcion la seleccionada
org 0x155184C6
LDR R3, off_setcheck
BLX R3
B _salto_check
align 4
off_setcheck DCD check+1
_salto_check:
;-------------------------------- envia señal al elf que se sleccinono la 5 opcion skins
org 0x15518592
LDR R3, off_jump_signal
BLX R3
; B salto_segnal5
align 4
off_jump_signal DCD challangeditm+1
;salto: no aba
;-----------------------------------
org 0x15EE6630
My_JUMP:
STR R0, [R5,4]
CMP R0, 0
BEQ retorno_
PUSH {LR}
BL _send_signal_to_elf
MOVL R0, 0x11A
ADD R2, R4, R0
POP {PC}
retorno_:
NOP
LDR R3, off_loc_14129598
BX R3
align 4
off_loc_14129598 DCD 0x142F3A26+1
;-----------------------------------
_send_signal_to_elf:
PUSH {LR}
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0, 0
BEQ _fin_
;ADD R0, 0x30
;LDR R1, [R5, 4] ;GUI
;STR R1, [R0] ;GUI in BOOK
MOV R1,R0
LDR R0, [R5, 4] ;GUI
LDR R1, [R1, 0x18]; void func(GUI *g)
BLX R1
;// STR R1, [R0] ;GUI in BOOK
_fin_:
POP {PC}
;-------------------------------------------------------
Is_My_Book_elf:
PUSH {LR}
CMP R0,0
BEQ _Error
LDR R0, [R0]
LDR R0, [R0, 4]
adr R1, dw_ElfName
BL off_strcmp
CMP R0, 0
BEQ _Exit
_Error:
MOV R0, 0
POP {PC}
_Exit:
MOV R0, 1
POP {PC}
;-------------------------------------------------------------------------------------------------------------------
layout_:
PUSH {LR}
LDR R1, off_uno
LDR R2, off_dos
LDR R0,[R4,0x18]
BL Sub_setaction
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0, 0
BEQ _fin_
MOV R3,R0
LDR R0, [R4,0x18] ;GUIlist layout
LDR R1, [R5,0x10]
ADD R2,R7,0
LDR R3, [R3, 0x1C]; void func(GUI *g)
BLX R3
LDR R2, off_tres
LDR R0,[R4,0x18]
POP{PC}
;-------------------------------------------------------------- ------------------------------------------------
texto_jump:
PUSH {LR}
ADD R0,R5,0
BL itemindex
CMP R0,4
BEQ item_cuatro
CMP R0,3
BEQ item_tres
CMP R0,2
BEQ item_dos
CMP R0,1
BEQ item_uno
LDR R1,dword____
ADD R0,R5,0
BL Sub_settext
B fin_establecertextos
item_cuatro:
adr R0, aAuthor
MOV R1, 6
LDR R2, off_0xffff
BL sub_15D77D4C; str2id
MOV R1,R0
ADD R0,R5,0
BL Sub_settext
B seguir
item_tres:
LDR R1,dword___
ADD R0,R5,0
BL Sub_settext
B fin_establecertextos
item_dos:
LDR R1,dword__
ADD R0,R5,0
BL Sub_settext
B fin_establecertextos
item_uno:
LDR R1,dword_
ADD R0,R5,0
BL Sub_settext
B fin_establecertextos
seguir:
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0,0
BNE fin_establecertextos
MOV R1,1
ADD R0,R5,0
BL subseitemdisabled
adr R0, dword_BookManagerLite
MOV R1, 6
LDR R2, off_0xffff
BL sub_15D77D4C
MOV R1,R0
ADD R0,R5,0
BL Subsetunavalible_
fin_establecertextos:
LDR R3,[R7]
POP {PC}
align 4
dword_ DCD 0x794; rotating
dword__ DCD 0x795;single icon
dword___ DCD 0x78C ;from theme
dword____ DCD 0x78D ; grid
;-------------------------------------------------------------------
challangeditm:
ADD R0, R5, 0
BL msggetbook_
LDR R0, [R0,0x18]
BL getselected
MOV R6,1
CMP R0,4
BEQ signal_
B signal2
setdefaultlayout:
ADD R0, R5, 0
BL msggetbook_
LDR R0, [R0,0x18]
BL getselected
ADD R1,R0,0
LDR R0, [R4,0x10]
BL listget
LDR R1,[R0]
LDR R0,off_text
BL func
B terminar
signal2:
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0, 0
BEQ fin_signal2
MOV R3,R0
MOV R0,0
LDR R3, [R3, 0x20]; void func3(bool b)
BLX R3
fin_signal2:
B setdefaultlayout
signal_:
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0, 0
BEQ terminar
MOV R3,R0
MOV R0,1
LDR R3, [R3, 0x20]; void func3(bool b)
BLX R3
terminar:
ADD R0,R6,0
POP {R4-R7,PC}
check:
PUSH {LR}
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0,0
BNE selected
ADD R1, R7, 0
B cotinue
selected:
LDR R0, [R0, 0x24];
CMP R0,1
BEQ siactivo_
ADD R1, R7, 0
B cotinue
siactivo_:
MOV R1,4
cotinue:
LDR R0, [R4,0x18]
BL Subsetchecked
LDR R1, setmessage_off
POP {PC}
;------------------------------------------
align 4
dw_ElfName DB "SAMMA2",0
align 4
aAuthor DB "Skins",0
align 4
atitle DB "Select Skin"
align 4
Sub_FindBook:
LDR R3, off_Sub_FindBook
BX R3
off_strcmp:
LDR R3, off_off_strcmp
BX R3
Sub_setaction:
LDR R3, off_Sub_setaction
BX R3
SetText:
LDR R3, off_Sub_settext
BX R3
SetVisible:
LDR R3, off_Sub_setvisible
BX R3
sub_15D77D4C:
LDR R3, off_str2id
BX R3
Sub_settext:
LDR R3, off_Sub_settext_
BX R3
guifree:
LDR R3, off_guifree
BX R3
listget:
LDR R3, off_getlist
BX R3
func:
LDR R3, function_
BX R3
Submessage:
LDR R3, message
BX R3
Subsetchecked:
LDR R3, off_setchecked
BX R3
subseitemdisabled:
LDR R3, itemsisabled
BX R3
Subsetunavalible_:
LDR R3, settextunavalible
BX R3
itemindex:
LDR R3, getitemindex
BX R3
getselected:
LDR R3, oneofmanygeselected
BX R3
msggetbook_:
LDR R3, getbook
BX R3
align 4
dword_BookManagerLite DCB "SAMMA2 is turned off",0x0A,0x0A,"please turn on it first",0
Align 4
off_Sub_settext_ DCD 0x142F0CFC+1
off_getlist DCD 0x1416E958+1
getbook DCD 0x142F1290+1
off_text DCD 0x15B53A80
function_ DCD 0x14E870A0+1
message DCD 0x142DA720+1
itemsisabled DCD 0x142593D8+1
settextunavalible DCD 0x14FA5DDC+1
getitemindex DCD 0x142F1284+1
setmessage_off DCD 0x15518540+1
oneofmanygeselected DCD 0x1509EAB8+1
off_uno DCD 0xFC2
off_0xffff dw 0xFFFF
off_dos DCD 0x155185BC+1
off_guifree DCD 0x14512BE0+1
off_tres DCD 0x15518424+1
off_CreateOneOfMany DCD 0x140F6A6C+1
off_getfirstfree DCD 0x1416E96C+1
off_Setstyle DCD 0x14132D3C+1
off_setchecked DCD 0x141117A0+1
off_showgui DCD 0x144ACC2C+1
off_itemcount DCD 0x150CE954+1
off_settitletext DCD 0x141105C8+1
off_Sub_setmessage DCD 0x142DA720+1
off_Sub_setaction DCD 0x14105420+1
off_Sub_FindBook DCD 0x1416E970+1
off_off_strcmp DCD 0x14D3B45C+1
off_Is_My_Book_elf DCD Is_My_Book_elf+1
off_str2id DCD 0x142D8380+1
offaction2 DCD 0x1551803C+1
off_Sub_settext DCD 0x14105150+1
off_Sub_setvisible DCD 0x141053FC+1
off_getselectitem_ DCD 0x4BA071B0+1
Marcadores