Código:
include "x.inc"
include "w705_r1ga031.lib.asm"
;Add a new item Radio on the menu "Start phone"
;(i) Need to use patch "The work of the radio in Flight Mode"
;(c) Tartes
;(e) jamesbond22
;(e,p) albertnet3
;changue Style GUI of the items
;add:
;+calendar
;+sound recorder
org 0x14E2146E
_StyleItems:
MOV R1, 2
org 0x14E21480
_numero de items:
MOV R1, 6
org 0x14D8DC8E
_apatch2X:
LDR R4, apatch2
BX R4
align 4
apatch2 dw patch2+1
org 0x1504BCAA
_abodyX:
LDR R0, abody
BX R0
align 4
abody dw body+1
org 0x15d753D0
body:
ADD R0, R4, 0
BL aGUIonMessage_GetCreatedItemIndexX
;============== Lista Items========================
CMP R0, 0
BEQ normal_mode
CMP R0, 1
BEQ fligth_mode
CMP R0, 2
BEQ calendario
CMP R0, 3
BEQ grabadora
CMP R0, 4
BEQ camara
CMP R0, 5
BEQ radio
B return1
;=======================================================
normal_mode:
ADD R1, R7, 3
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemTextX
ADD R1, R7, 2
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemInfoTextX
LDR R2, normalmode_icn
ADD R1, R6, 0
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemIconX
B return2
;=======================================================
fligth_mode:
ADD R1, R7, 1
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemTextX
ADD R1, R7, 0
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemInfoTextX
LDR R2, flightmode_icn
ADD R1, R6, 0
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemIconX
B return2
;=======================================================
radio:
LDR R1, Radio_lng
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemTextX
LDR R1, FM_radio_lng
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemInfoTextX
LDR R2, Radio_icn
ADD R1, R6, 0
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemIconX
B return2
;=======================================================
calendario:
LDR R1, calendario_lng
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemTextX
LDR R1, calendario1_lng
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemInfoTextX
LDR R2, calendario_icn
ADD R1, R6, 0
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemIconX
B return2
;=======================================================
camara:
LDR R1, camara_lng
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemTextX
LDR R1, camara1_lng
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemInfoTextX
LDR R2, camara_icn
ADD R1, R6, 0
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemIconX
B return2
;=======================================================
grabadora:
LDR R1, grabadora_lng
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemTextX
LDR R1, grabadora1_lng
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemInfoTextX
LDR R2, grabadora_icn
ADD R1, R6, 0
ADD R0, R4, 0
BL link_GUIonMessage_SetMenuItemIconX
;=======================================================
return2:
MOV R6, 1
;=======================================================
return1:
ADD R0, R6, 0
POP {R4-R7,PC**
;============patch2=============================
patch2:
ADD R4, R0, 0
LDR R0, [R0,0x20]
BL aListMenu_GetSelectedItemX
CMP R0, 0
BEQ normal_modeX
CMP R0, 1
BEQ fligth_modeX
CMP R0, 2
BEQ calendarioX
CMP R0, 3
BEQ grabadoraX
CMP R0, 4
BEQ camaraX
CMP R0, 5
BEQ radioX
B return1end2
;=======================================================
normal_modeX:
MOV R0, 0
B flight_mode_off
;=======================================================
fligth_modeX:
MOV R0, 1
;=======================================================
flight_mode_off:
BL flight_mode_offX
B return1end2
;=======================================================
grabadoraX:
BL aSoundRecorder_RecordCallX
POP {R0,PC**
;=======================================================
calendarioX:
LDR R0, acalendario
B run_pague
;=======================================================
camaraX:
LDR R0, acamara
B run_pague
;=======================================================
radioX:
LDR R0, aFmradio
run_pague:
BL aShortcut_RunX
POP {R4,PC**
;=======================================================
return1end2:
LDR R1, areturn1end2
BX R1
;=======================================================
link_GUIonMessage_SetMenuItemTextX:
LDR R3, link_GUIonMessage_SetMenuItemText
BX R3
;=======================================================
link_GUIonMessage_SetMenuItemInfoTextX:
LDR R3, link_GUIonMessage_SetMenuItemInfoText
BX R3
;=======================================================
link_GUIonMessage_SetMenuItemIconX:
LDR R3, link_GUIonMessage_SetMenuItemIcon
BX R3
;=======================================================
aGUIonMessage_GetCreatedItemIndexX:
LDR R3, aGUIonMessage_GetCreatedItemIndex
BX R3
;=======================================================
aListMenu_GetSelectedItemX:
LDR R3, aListMenu_GetSelectedItem
BX R3
;=======================================================
flight_mode_offX:
var_18 = -0x18
var_14 = -0x14
LDR R3, aflight_mode_off
BX R3
;=======================================================
aShortcut_RunX:
LDR R3, aShortcut_Run
BX R3
;=======================================================
aSoundRecorder_RecordCallX:
var_214 = -0x214
var_210 = -0x210
LDR R3, aSoundRecorder_RecordCall
BX R3
;====================icons===================================
align 4
normalmode_icn dw 0x79A
flightmode_icn dw 0x2EE
Radio_icn dw 0x81A
calendario_icn dw 0x00C5
grabadora_icn dw 0x02DE
camara_icn dw 0x0800
;====================labels===================================
Radio_lng dw 0x207B
FM_radio_lng dw 0x207A
calendario_lng dw 0x1056
calendario1_lng dw 0x113B
grabadora_lng dw 0x1F27
grabadora1_lng dw 0x1258
camara_lng dw 0x295
camara1_lng dw 0x4DB
;====================funtions and branchs===================================
link_GUIonMessage_SetMenuItemText dw 0x1504BD58+1
link_GUIonMessage_SetMenuItemInfoText dw 0x1504BD60+1
link_GUIonMessage_SetMenuItemIcon dw 0x1504BD68+1
aGUIonMessage_GetCreatedItemIndex dw GUIonMessage_GetCreatedItemIndex
aListMenu_GetSelectedItem dw ListMenu_GetSelectedItem
areturn1end2 dw 0x14D8DCAA+1
aflight_mode_off dw 0x144DA240+1
aFmradio dw 0x159AF528
acalendario dw 0x15B07030
acamara dw 0x159FC400
aSoundRecorder_RecordCall dw SoundRecorder_RecordCall
aShortcut_Run dw Shortcut_Run
;=======================================================
oviamente conflicto con las otras dos versiones anteriores ya que este es otro mod.
Marcadores