Código:
include "x.inc"
include "lib2.asm"
;W705 SW-R1GA031
;possibility to Change 7 styles for all list menu GUI
;change styles items in -->5 tab option more--> TabsItemStyles.
;add info for options TabsItemStyles.
;Ability to select item with numeric keys in all list menu GUI
;(!) You must add the following tag in the *. lng:
;0x297B - "Style 1"
;0x297C - "Style 2"
;0x297D - "Style 3"
;0x297E - "Style 4"
;0x297F - "Style 5"
;0x2980 - "style 6"
;0x2981 - Style 7 (Default) "
;0x2983 -" This item is already in use "
;0x2998-" Choose your style in all list menu"
;0x2999- "TabsItemStyles"
;© albertnet3
;(i) original idea by Therion.
;(!) Need this patch apply "Add Six submenu to 5° tab © Mcming1989, (p,e) albertnet3"
;V1.0 (first version)
org 0x14289876
MYHOOK1:
LDR R3, a_SetTtmesStiles
BX R3
align 4
a_SetTtmesStiles DCD _SetTtmesStiles+1
Return:
org 0x14289876
MYHOOK2:
LDR R3, a_SetselectActions
BX R3
align 4
a_SetselectActions DCD _SetselectActions+1
Return1:
;NEW CODE
org 0x15d8f240
_SetTtmesStiles:
CMP R5, 0
BEQ _MyNext
ADD R1, R4, 0
ADD R0, R5, 0
BL _AddGUIObject
_MyNext:
BL sub_stylo1
CMP R0, 1
BEQ stylo1
BL sub_stylo2
CMP R0, 1
BEQ stylo2
BL sub_stylo3
CMP R0, 1
BEQ stylo3
BL sub_stylo4
CMP R0, 1
BEQ stylo4
BL sub_stylo5
CMP R0, 1
BEQ stylo5
BL sub_stylo6
CMP R0, 1
BEQ stylo6
BL sub_stylo7
CMP R0, 1
BEQ stylo7
B Set_Stylos
stylo1:
MOV R1, 1
B Set_Stylos
stylo2:
MOV R1, 3
B Set_Stylos
stylo3:
MOV R1, 4
B Set_Stylos
stylo4:
MOV R1, 7
B Set_Stylos
stylo5:
MOV R1, 8
B Set_Stylos
stylo6:
MOV R1, 9
B Set_Stylos
stylo7:
MOV R1, 0
Set_Stylos:
ADD R0, R4, 0
BL _SetItemStyle
MOV R1, 1
ADD R0, R4, 0
BL _SetHotkeyMode
LDR R3, _retorno
BX R3
align 4
_retorno dw Return+1
_SetselectActions:
LDR R0, [R6]
MOV R2, 0
MOV R1, 0x20
BL _SetAction
LDR R2, TabsStyle
MOV R1, 0x20
LDR R0, [R6]
BL _SetText
LDR R2, _FirstInfo
MOV R1, 0x20
LDR R0, [R6]
BL _SetInfoText
adr R2, _firstactions
ADD R2, 1
MOV R1, 0x21
LDR R0, [R6]
BL _SetAction
LDR R2, aStyle1
MOV R1, 0x21
LDR R0, [R6]
BL _SetText
LDR R0, [R6]
MOV R1, 0x20
MOV R2, 0x21
BL _SetItemAsSubItem
BL sub_stylo1
CMP R0, 0
BNE _next1
LDR R0, [R6]
MOV R1, 0x21
LDR R2, aThisItemIsAlready
BL _SetInfoText
LDR R0, [R6]
MOV R1, 0x21
MOV R2, 0
BL _SetEnable
_next1:
adr R2, _secondactions
ADD R2, 1
MOV R1, 0x22
LDR R0, [R6]
BL _SetAction
LDR R2, aStyle2
MOV R1, 0x22
LDR R0, [R6]
BL _SetText
LDR R0, [R6]
MOV R1, 0x20
MOV R2, 0x22
BL _SetItemAsSubItem
BL sub_stylo2
CMP R0, 0
BNE _next2
LDR R0, [R6]
MOV R1, 0x22
LDR R2, aThisItemIsAlready
BL _SetInfoText
LDR R0, [R6]
MOV R1, 0x22
MOV R2, 0
BL _SetEnable
_next2:
adr R2, loc_15DC87C8
ADD R2, 1
MOV R1, 0x23
LDR R0, [R6]
BL _SetAction
LDR R2, aStyle3
MOV R1, 0x23
LDR R0, [R6]
BL _SetText
LDR R0, [R6]
MOV R1, 0x20
MOV R2, 0x23
BL _SetItemAsSubItem
BL sub_stylo3
CMP R0, 0
BNE _next3
LDR R0, [R6]
MOV R1, 0x23
LDR R2, aThisItemIsAlready
BL _SetInfoText
LDR R0, [R6]
MOV R1, 0x23
MOV R2, 0
BL _SetEnable
_next3:
adr R2, loc_15DC87D8
ADD R2, 1
MOV R1, 0x24
LDR R0, [R6]
BL _SetAction
LDR R2, aStyle4
MOV R1, 0x24
LDR R0, [R6]
BL _SetText
LDR R0, [R6]
MOV R1, 0x20
MOV R2, 0x24
BL _SetItemAsSubItem
BL sub_stylo4
CMP R0, 0
BNE _next4
LDR R0, [R6]
MOV R1, 0x24
LDR R2, aThisItemIsAlready
BL _SetInfoText
LDR R0, [R6]
MOV R1, 0x24
MOV R2, 0
BL _SetEnable
_next4:
adr R2, loc_15DC87E8
ADD R2, 1
MOV R1, 0x25
LDR R0, [R6]
BL _SetAction
LDR R2, aStyle5
MOV R1, 0x25
LDR R0, [R6]
BL _SetText
LDR R0, [R6]
MOV R1, 0x20
MOV R2, 0x25
BL _SetItemAsSubItem
BL sub_stylo5
CMP R0, 0
BNE _next5
LDR R0, [R6]
MOV R1, 0x25
LDR R2, aThisItemIsAlready
BL _SetInfoText
LDR R0, [R6]
MOV R1, 0x25
MOV R2, 0
BL _SetEnable
_next5:
adr R2, loc_15DC87F8
ADD R2, 1
MOV R1, 0x26
LDR R0, [R6]
BL _SetAction
LDR R2, aStyle6
MOV R1, 0x26
LDR R0, [R6]
BL _SetText
LDR R0, [R6]
MOV R1, 0x20
MOV R2, 0x26
BL _SetItemAsSubItem
BL sub_stylo6
CMP R0, 0
BNE _next6
LDR R0, [R6]
MOV R1, 0x26
LDR R2, aThisItemIsAlready
BL _SetInfoText
LDR R0, [R6]
MOV R1, 0x26
MOV R2, 0
BL _SetEnable
_next6:
adr R2, setsallstyles
ADD R2, 1
MOV R1, 0x27
LDR R0, [R6]
BL _SetAction
LDR R2, aStyle7
MOV R1, 0x27
LDR R0, [R6]
BL _SetText
LDR R0, [R6]
MOV R1, 0x20
MOV R2, 0x27
BL _SetItemAsSubItem
BL sub_stylo7
CMP R0, 0
BNE _next7
LDR R0, [R6]
MOV R1, 0x27
LDR R2, aThisItemIsAlready
BL _SetInfoText
LDR R0, [R6]
MOV R1, 0x27
MOV R2, 0
BL _SetEnable
_next7:
LDR R2, _carga1
MOV R1, 0
LDR R0, [R6]
BL _SetAction
LDR R3, _Retorno1
BX R3
_Retorno1 dw Return1+1;1439317E+1
_carga1 dw 0x15D791F4
TabsStyle dw 0x2999
_FirstInfo dw 0x2998
sub_stylo7:
PUSH {R1,R2,LR}
LDR R0, aTpaSystemSetti
MOV R2, 0
adr R1, dword_count7
B siOnoSta
sub_stylo6:
PUSH {R1,R2,LR}
LDR R0, aTpaSystemSetti
MOV R2, 0
adr R1, dword_count6
B siOnoSta
sub_stylo5:
PUSH {R1,R2,LR}
LDR R0, aTpaSystemSetti
MOV R2, 0
adr R1, dword_count5
B siOnoSta
sub_stylo4:
PUSH {R1,R2,LR}
LDR R0, aTpaSystemSetti
MOV R2, 0
adr R1, dword_count4
B siOnoSta
sub_stylo3:
PUSH {R1,R2,LR}
LDR R0, aTpaSystemSetti
MOV R2, 0
adr R1, dword_count3
B siOnoSta
sub_stylo2:
PUSH {R1,R2,LR}
LDR R0, aTpaSystemSetti
MOV R2, 0
adr R1, dword_count2
B siOnoSta
sub_stylo1:
PUSH {R1,R2,LR}
LDR R0, aTpaSystemSetti
MOV R2, 0
adr R1, dword_count1
siOnoSta:
BL a_fstat
BMI sinoesta
MOV R0, 1
B siSta
sinoesta:
MOV R0, 0
siSta:
POP {R1,R2,PC}
align 4
setsallstyles:
PUSH {LR}
BL borrarcount1
BL borrarcount2
BL borrarcount3
BL borrarcount4
BL borrarcount5
BL borrarcount6
BL borrarcount7
POP {PC}
borrarcount1:
PUSH {R0-R7,LR}
LDR R0, aTpaSystemSetti
adr R1, dword_count1
B siestaborrar
borrarcount2:
PUSH {R0-R7,LR}
LDR R0, aTpaSystemSetti
adr R1, dword_count2
B siestaborrar
borrarcount3:
PUSH {R0-R7,LR}
LDR R0, aTpaSystemSetti
adr R1, dword_count3
B siestaborrar
borrarcount4:
PUSH {R0-R7,LR}
LDR R0, aTpaSystemSetti
adr R1, dword_count4
B siestaborrar
borrarcount5:
PUSH {R0-R7,LR}
LDR R0, aTpaSystemSetti
adr R1, dword_count5
B siestaborrar
borrarcount6:
PUSH {R0-R7,LR}
LDR R0, aTpaSystemSetti
adr R1, dword_count6
B siestaborrar
borrarcount7:
PUSH {R0-R7,LR}
LDR R0, aTpaSystemSetti
adr R1, dword_count7
siestaborrar:
MOV R2, 0
BL a_FileDelete
POP {R0-R7,PC}
align 4
_firstactions:
PUSH {R0-R7,LR}
MOV R0, 0
PUSH {R0}
BL setsallstyles
LDR R0, aTpaSystemSetti
adr R1, dword_count1
B siestaabrir
_secondactions:
PUSH {R0-R7,LR}
MOV R0, 0
PUSH {R0}
BL sub_15DC86FC
LDR R0, aTpaSystemSetti
adr R1, dword_count2
B siestaabrir
siestaabrir:
MOV R2, 4
MOV R3, 0xFF
ADD R3, 0x81
BL a__fopen
BL sub_15DC8920
ADD SP, SP, 4
POP {R0-R7,PC}
aTpaSystemSetti dw 0x15A62418
aThisItemIsAlready dw 0x2983
aStyle1 dw 0x297B
aStyle2 dw 0x297C
aStyle3 dw 0x297D
aStyle4 dw 0x297E
aStyle5 dw 0x297F
aStyle6 dw 0x2980
aStyle7 dw 0x2981
dword_count1 dw 0x41
dword_count2 dw 0x42
dword_count3 dw 0x43
dword_count4 dw 0x44
dword_count5 dw 0x45
dword_count6 dw 0x46
dword_count7 dw 0x47
_AddGUIObject:
LDR R3, _AddGUIObjectx
BX R3
_AddGUIObjectx dw BookObj_AddGUIObject+1
_SetItemStyle:
LDR R3, _SetItemStylex
BX R3
_SetItemStylex dw ListMenu_SetItemStyle+1
_SetHotkeyMode;
LDR R3, _SetHotkeyModex
BX R3
_SetHotkeyModex dw ListMenu_SetHotkeyMode+1
a_fstat:
LDR R3, a_fstatx
BX R3
a_fstatx dw fstat+1
_SetAction:
LDR R3, _SetActionx
BX R3
_SetActionx dw GUIObject_SoftKeys_SetAction+1
_SetItemAsSubItem:
LDR R3, _SetItemAsSubItemx
BX R3
_SetItemAsSubItemx dw GUIObject_SoftKeys_SetItemAsSubItem+1
_SetText:
LDR R3, _SetTextx
BX R3
_SetTextx dw GUIObject_SoftKeys_SetText+1
_SetInfoText:
LDR R3, _SetInfoTextx
BX R3
_SetInfoTextx dw GUIObject_SoftKeys_SetInfoText+1
_SetEnable:
LDR R3, _SetEnablex
BX R3
_SetEnablex dw GUIObject_SoftKeys_SetEnable+1
Marcadores