mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-11-25 11:06:54 +01:00
[XCX] Various fixes.
- Loot/Treasure Quality: fixed the "No Treasure" preset (now Forced). - Blade/Offline tasks and missions: fix crash on display missions. - Experience/Battle Points: fix crash on display missions. - Experience/Class Exp Points: fix crash on display missions. - Experience/Inner Exp Points: fix crash on display missions.
This commit is contained in:
parent
387cf574e8
commit
352d1d5af7
@ -1,12 +1,12 @@
|
||||
[XCX_SQUADMISSIONS]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x6C
|
||||
codeCaveSize = 0x50
|
||||
|
||||
# cfs::CfSocialManager::update((float))
|
||||
; cfs::CfSocialManager::update((float))
|
||||
0x022879D0 = nop ; (network test?) allow call to cfs::CfSocialQuestManager::update((void))
|
||||
|
||||
# cfs::CfSocialQuestManager::update((void))
|
||||
; cfs::CfSocialQuestManager::update((void))
|
||||
0x023AB884 = nop ; 0x6B8(r12) == 0
|
||||
0x023AB8B4 = nop ; isHost
|
||||
0x023ABA68 = li r5, 60 ; force 0x24 - UNLOCK
|
||||
@ -20,11 +20,11 @@ _gotoJoin = 0x023ABD00 - UNLOCK
|
||||
|
||||
##################### BLADE Home Terminal (for Squad Quest Selection)
|
||||
|
||||
# cfs::CfSocialManager::refreshOrderQuestInfo (called when select an entry in the BLADE menu)
|
||||
; cfs::CfSocialManager::refreshOrderQuestInfo (called when select an entry in the BLADE menu)
|
||||
0x022C805C = nop ; test réseau : lwz r10, 0x1B0(r30) --> rlwinm. r9, r10, 0,30,30
|
||||
0x022C8060 = nop ; test réseau
|
||||
|
||||
# collectQuestInfoSQ__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo
|
||||
; collectQuestInfoSQ__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo
|
||||
0x022C58BC = nop ; rlwinm. r10, r11, 0,29,29
|
||||
|
||||
#################### Change Squad Mission using main menu
|
||||
@ -38,26 +38,69 @@ _iniPtr = 0x00000000
|
||||
0x0000000C = mr r30, r3
|
||||
0x00000010 = blr
|
||||
|
||||
; cfs::CfSquadMissionManager::joinMission((cfs::CfSquadTargetCount const &))
|
||||
0x023B74A0 = bla _iniPtr
|
||||
|
||||
; cfs::CfSocialQuestManager::update((void))
|
||||
_gotoTimeout = 0x023ABDF4
|
||||
_gotoNext = 0x023ABE54
|
||||
|
||||
0x023ABDC8 = lis r3, _shareAddr@ha
|
||||
0x023ABDCC = lwz r7, _shareAddr@l(r3)
|
||||
0x023ABDD0 = cmpwi r7, 1
|
||||
0x023ABDD4 = beq _gotoTimeout
|
||||
0x023ABDD8 = b _gotoNext
|
||||
|
||||
######################## More Tickets
|
||||
|
||||
0x00000014 = .short $mult
|
||||
_mult = 0x00000014
|
||||
0x00000018 = .byte $uncap
|
||||
_uncap = 0x00000018
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int))
|
||||
; WHAT : Multiply the reward tickets given in many occasions
|
||||
|
||||
_moreTickets = 0x0000001C
|
||||
0x0000001C = mr r30, r3
|
||||
0x00000020 = cmpwi r5, 0 ; r5 is used to determinate if tickets gained from missions?
|
||||
0x00000024 = beqlr
|
||||
0x00000028 = lis r28, _mult@ha
|
||||
0x0000002C = lhz r28, _mult@l(r28)
|
||||
0x00000030 = mullw r4, r4, r28
|
||||
0x00000034 = blr
|
||||
|
||||
0x022CA86C = bla _moreTickets
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int))
|
||||
; WHAT : Ignore the max number of tickets we can get
|
||||
|
||||
_uncapTickets = 0x00000038
|
||||
0x00000038 = lis r5, _uncap@ha
|
||||
0x0000003C = lbz r5, _uncap@l(r5)
|
||||
0x00000040 = cmpwi r5, 1
|
||||
0x00000044 = beqlr
|
||||
0x00000048 = mr r3, r25
|
||||
0x0000004C = blr
|
||||
|
||||
0x022CAC5C = bla _uncapTickets
|
||||
|
||||
#################### Force Squad Mission number
|
||||
;0x023AB794 = li r11, 0 ; force squad mission
|
||||
;0x023AB7C0 = li r3, 11 ; squad mission number
|
||||
|
||||
#####################################################################################################
|
||||
[XCX_SQUADMISSIONS_1E]
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
# getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
codeCaveSize = 0x3C
|
||||
|
||||
; getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
0x0295EA10 = nop
|
||||
0x0295EA14 = li r0, 42
|
||||
|
||||
# menu::MenuSquadMission::process((void))
|
||||
; menu::MenuSquadMission::process((void))
|
||||
0x02BFC7C0 = li r11, 1
|
||||
|
||||
##################### BLADE Home Terminal (for Squad Quest Selection)
|
||||
@ -68,8 +111,6 @@ moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
_shareAddr = 0x1039C17C
|
||||
|
||||
codeCaveSize = 0x10
|
||||
|
||||
_savePtr = 0x00000000
|
||||
0x00000000 = li r3, 1
|
||||
0x00000004 = lis r30, _shareAddr@ha
|
||||
@ -82,15 +123,48 @@ _savePtr = 0x00000000
|
||||
0x02B85084 = li r11, 1
|
||||
0x02B850A8 = li r11, 1
|
||||
|
||||
#################### More Tickets (display)
|
||||
|
||||
0x00000038 = .short $mult
|
||||
_mult = 0x00000038
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000010
|
||||
0x00000010 = lhz r26, 0x8C(r1)
|
||||
0x00000014 = lis r24, _mult@ha
|
||||
0x00000018 = lhz r24, _mult@l(r24)
|
||||
0x0000001C = mullw r26, r26, r24
|
||||
0x00000020 = blr
|
||||
|
||||
0x02B94718 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000024
|
||||
0x00000024 = lhz r5, 0x5778(r29)
|
||||
0x00000028 = lis r3, _mult@ha
|
||||
0x0000002C = lhz r3, _mult@l(r3)
|
||||
0x00000030 = mullw r5, r5, r3
|
||||
0x00000034 = blr
|
||||
|
||||
0x02B9FE2C = bla _dispAfter
|
||||
|
||||
#####################################################################################################
|
||||
[XCX_SQUADMISSIONS_2U]
|
||||
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||
|
||||
# getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
codeCaveSize = 0x3C
|
||||
|
||||
; getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
0x0295EA00 = nop
|
||||
0x0295EA04 = li r0, 42
|
||||
|
||||
# menu::MenuSquadMission::process((void))
|
||||
; menu::MenuSquadMission::process((void))
|
||||
0x02BFC7B0 = li r11, 1
|
||||
|
||||
##################### BLADE Home Terminal (for Squad Quest Selection)
|
||||
@ -101,8 +175,6 @@ moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||
|
||||
_shareAddr = 0x1039C17C
|
||||
|
||||
codeCaveSize = 0x10
|
||||
|
||||
_savePtr = 0x00000000
|
||||
0x00000000 = li r3, 1
|
||||
0x00000004 = lis r30, _shareAddr@ha
|
||||
@ -115,6 +187,37 @@ _savePtr = 0x00000000
|
||||
0x02B85074 = li r11, 1
|
||||
0x02B85098 = li r11, 1
|
||||
|
||||
#################### More Tickets (display)
|
||||
|
||||
0x00000038 = .short $mult
|
||||
_mult = 0x00000038
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000010
|
||||
0x00000010 = lhz r26, 0x8C(r1)
|
||||
0x00000014 = lis r24, _mult@ha
|
||||
0x00000018 = lhz r24, _mult@l(r24)
|
||||
0x0000001C = mullw r26, r26, r24
|
||||
0x00000020 = blr
|
||||
|
||||
0x02B94708 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000024
|
||||
0x00000024 = lhz r5, 0x5778(r29)
|
||||
0x00000028 = lis r3, _mult@ha
|
||||
0x0000002C = lhz r3, _mult@l(r3)
|
||||
0x00000030 = mullw r5, r5, r3
|
||||
0x00000034 = blr
|
||||
|
||||
0x02B9FE1C = bla _dispAfter
|
||||
|
||||
#####################################################################################################
|
||||
[XCX_SQUADMISSIONS_1U]
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
@ -160,12 +263,71 @@ _gotoNext = 0x023ABDE4
|
||||
0x023ABD64 = beq _gotoTimeout
|
||||
0x023ABD68 = b _gotoNext
|
||||
|
||||
######################## More Tickets
|
||||
|
||||
0x00000014 = .short $mult
|
||||
_mult = 0x00000014
|
||||
0x00000018 = .byte $uncap
|
||||
_uncap = 0x00000018
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int))
|
||||
; WHAT : Multiply the reward tickets given in many occasions
|
||||
|
||||
_moreTickets = 0x0000001C
|
||||
0x0000001C = lis r28, _mult@ha
|
||||
0x00000020 = lhz r28, _mult@l(r28)
|
||||
0x00000024 = mullw r28, r4, r28
|
||||
0x00000028 = blr
|
||||
|
||||
0x022CA804 = bla _moreTickets
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int))
|
||||
; WHAT : Ignore the max number of tickets we can get
|
||||
|
||||
_uncapTickets = 0x0000002C
|
||||
0x0000002C = lis r5, _uncap@ha
|
||||
0x00000030 = lbz r5, _uncap@l(r5)
|
||||
0x00000034 = cmpwi r5, 1
|
||||
0x00000038 = beqlr
|
||||
0x0000003C = mr r3, r25
|
||||
0x00000040 = blr
|
||||
|
||||
0x022CABEC = bla _uncapTickets
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000044
|
||||
0x00000044 = lhz r26, 0x8C(r1)
|
||||
0x00000048 = lis r24, _mult@ha
|
||||
0x0000004C = lhz r24, _mult@l(r24)
|
||||
0x00000050 = mullw r26, r26, r24
|
||||
0x00000054 = blr
|
||||
|
||||
0x02B9468C = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000058
|
||||
0x00000058 = lhz r5, 0x5778(r29)
|
||||
0x0000005C = lis r3, _mult@ha
|
||||
0x00000060 = lhz r3, _mult@l(r3)
|
||||
0x00000064 = mullw r5, r5, r3
|
||||
0x00000068 = blr
|
||||
|
||||
0x02B9FD2C = bla _dispAfter
|
||||
|
||||
#####################################################################################################
|
||||
# getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
; getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
0x0295E984 = nop
|
||||
0x0295E988 = li r0, 42
|
||||
|
||||
# menu::MenuSquadMission::process((void))
|
||||
; menu::MenuSquadMission::process((void))
|
||||
0x02BFC6C0 = li r11, 1
|
||||
|
||||
##################### BLADE Home Terminal (for Squad Quest Selection)
|
||||
|
@ -2,5 +2,40 @@
|
||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||
name = "Squad tasks and missions are available offline"
|
||||
path = "Xenoblade Chronicles X/Mods/BLADE/Offline tasks and missions"
|
||||
description = Squad tasks and missions are available offline. Use [Social > Squad Select] menu to change the Squad Tasks.
|
||||
description = Squad tasks and missions are available offline. Uncapped presets ignore max tickets. Use [Social > Squad Select] menu to change the Squad Tasks.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
name = "Normal"
|
||||
$mult = 1
|
||||
$uncap = 0
|
||||
|
||||
[Preset]
|
||||
name = "Gain more Tickets (x10)"
|
||||
$mult = 10
|
||||
$uncap = 0
|
||||
|
||||
[Preset]
|
||||
name = "Gain more Tickets (x100)"
|
||||
$mult = 100
|
||||
$uncap = 0
|
||||
|
||||
[Preset]
|
||||
name = "Gain more Tickets (x1000)"
|
||||
$mult = 1000
|
||||
$uncap = 0
|
||||
|
||||
[Preset]
|
||||
name = "Gain more Tickets (x10 Uncapped)"
|
||||
$mult = 10
|
||||
$uncap = 1
|
||||
|
||||
[Preset]
|
||||
name = "Gain more Tickets (x100 Uncapped)"
|
||||
$mult = 100
|
||||
$uncap = 1
|
||||
|
||||
[Preset]
|
||||
name = "Gain more Tickets (x1000 Uncapped)"
|
||||
$mult = 1000
|
||||
$uncap = 1
|
||||
|
@ -1,7 +1,7 @@
|
||||
[XCX_BATTLEPOINTSX]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x9C
|
||||
codeCaveSize = 0x50
|
||||
|
||||
0x00000000 = .short $mod
|
||||
_mod = 0x00000000
|
||||
@ -36,24 +36,46 @@ _exp2 = 0x00000018
|
||||
; WHO : addTreasure__Q2_3cfs10CfTBoxUtilSFUib
|
||||
; WHAT : Multiply the battle points given by treasures or exploration
|
||||
|
||||
_expTreasure = 0x00000050
|
||||
0x00000050 = lis r3, _mod@ha
|
||||
0x00000054 = lhz r3, _mod@l(r3)
|
||||
0x00000058 = mullw r3, r31, r3
|
||||
0x0000005C = blr
|
||||
_expTreasure = 0x0000002C
|
||||
0x0000002C = lis r3, _mod@ha
|
||||
0x00000030 = lhz r3, _mod@l(r3)
|
||||
0x00000034 = mullw r3, r31, r3
|
||||
0x00000038 = blr
|
||||
|
||||
0x022D8EDC = bla _expTreasure
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
|
||||
_expSquadValue = 0x0000003C
|
||||
0x0000003C = lis r4, _mod@ha
|
||||
0x00000040 = lhz r4, _mod@l(r4)
|
||||
0x00000044 = mullw r3, r3, r4
|
||||
0x00000048 = stw r3, 0x1C(r1)
|
||||
0x0000004C = blr
|
||||
|
||||
0x023CC770 = bla _expSquadValue
|
||||
0x023CC834 = bla _expSquadValue
|
||||
|
||||
[XCX_BATTLEPOINTSX_1E] ############################################################################
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
0x00000028 = .short $mod
|
||||
_mod = 0x00000028
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT : Multiply the battle points displayed in quest popup information.
|
||||
|
||||
_dispBefore = 0x00000060
|
||||
0x00000060 = lhz r24, 0x90(r1)
|
||||
0x00000064 = lis r25, _mod@ha
|
||||
0x00000068 = lhz r25, _mod@l(r25)
|
||||
0x0000006C = mullw r24, r24, r25
|
||||
0x00000070 = blr
|
||||
_dispBefore = 0x00000000
|
||||
0x00000000 = lhz r24, 0x90(r1)
|
||||
0x00000004 = lis r25, _mod@ha
|
||||
0x00000008 = lhz r25, _mod@l(r25)
|
||||
0x0000000C = mullw r24, r24, r25
|
||||
0x00000010 = blr
|
||||
|
||||
0x02B94730 = bla _dispBefore
|
||||
|
||||
@ -61,28 +83,48 @@ _dispBefore = 0x00000060
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT : Multiply the battle points displayed in quest popup results.
|
||||
|
||||
_dispAfter = 0x00000074
|
||||
0x00000074 = lis r5, _mod@ha
|
||||
0x00000078 = lhz r5, _mod@l(r5)
|
||||
0x0000007C = mullw r3, r3, r5
|
||||
0x00000080 = stw r3, 0x7C(r1)
|
||||
0x00000084 = blr
|
||||
_dispAfter = 0x00000014
|
||||
0x00000014 = lis r5, _mod@ha
|
||||
0x00000018 = lhz r5, _mod@l(r5)
|
||||
0x0000001C = mullw r3, r3, r5
|
||||
0x00000020 = stw r3, 0x7C(r1)
|
||||
0x00000024 = blr
|
||||
|
||||
0x02B9FEE0 = bla _dispAfter
|
||||
|
||||
[XCX_BATTLEPOINTSX_2U] ############################################################################
|
||||
moduleMatches = 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
0x00000028 = .short $mod
|
||||
_mod = 0x00000028
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT : Multiply the battle points displayed in quest popup information.
|
||||
|
||||
_expSquadValue = 0x00000088
|
||||
0x00000088 = lis r4, _mod@ha
|
||||
0x0000008C = lhz r4, _mod@l(r4)
|
||||
0x00000090 = mullw r3, r3, r4
|
||||
0x00000094 = stw r3, 0x1C(r1)
|
||||
0x00000098 = blr
|
||||
_dispBefore = 0x00000000
|
||||
0x00000000 = lhz r24, 0x90(r1)
|
||||
0x00000004 = lis r25, _mod@ha
|
||||
0x00000008 = lhz r25, _mod@l(r25)
|
||||
0x0000000C = mullw r24, r24, r25
|
||||
0x00000010 = blr
|
||||
|
||||
0x023CC770 = bla _expSquadValue
|
||||
0x023CC834 = bla _expSquadValue
|
||||
0x02B94720 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT : Multiply the battle points displayed in quest popup results.
|
||||
|
||||
_dispAfter = 0x00000014
|
||||
0x00000014 = lis r5, _mod@ha
|
||||
0x00000018 = lhz r5, _mod@l(r5)
|
||||
0x0000001C = mullw r3, r3, r5
|
||||
0x00000020 = stw r3, 0x7C(r1)
|
||||
0x00000024 = blr
|
||||
|
||||
0x02B9FED0 = bla _dispAfter
|
||||
|
||||
[XCX_BATTLEPOINTSX_1U] ############################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
@ -1,7 +1,7 @@
|
||||
[XCX_CLASSEXPX]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x50
|
||||
codeCaveSize = 0x30
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
@ -18,16 +18,38 @@ _expBattle = 0x00000004
|
||||
|
||||
0x020C4A28 = bla _expBattle
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
|
||||
_expSquadValue = 0x00000014
|
||||
0x00000014 = lis r4, _mod@ha
|
||||
0x00000018 = lbz r4, _mod@l(r4)
|
||||
0x0000001C = mullw r3, r3, r4
|
||||
0x00000020 = stw r3, 0x18(r1)
|
||||
0x00000024 = blr
|
||||
|
||||
0x023CC750 = bla _expSquadValue
|
||||
0x023CC814 = bla _expSquadValue
|
||||
|
||||
[XCX_CLASSEXPX_1E] ############################################################################
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
0x00000028 = .byte $mod
|
||||
_mod = 0x00000028
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoSub::displayInfoDL((menu::MenuObject *))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000014
|
||||
0x00000014 = lis r5, _mod@ha
|
||||
0x00000018 = lbz r5, _mod@l(r5)
|
||||
0x0000001C = mullw r3, r3, r5
|
||||
0x00000020 = stw r3, 0x34(r1)
|
||||
0x00000024 = blr
|
||||
_dispBefore = 0x00000000
|
||||
0x00000000 = lis r5, _mod@ha
|
||||
0x00000004 = lbz r5, _mod@l(r5)
|
||||
0x00000008 = mullw r3, r3, r5
|
||||
0x0000000C = stw r3, 0x34(r1)
|
||||
0x00000010 = blr
|
||||
|
||||
0x02B91324 = bla _dispBefore
|
||||
|
||||
@ -35,25 +57,45 @@ _dispBefore = 0x00000014
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000028
|
||||
0x00000028 = lis r5, _mod@ha
|
||||
0x0000002C = lbz r5, _mod@l(r5)
|
||||
0x00000030 = mullw r3, r3, r5
|
||||
0x00000034 = stw r3, 0x80(r1)
|
||||
0x00000038 = blr
|
||||
_dispAfter = 0x00000014
|
||||
0x00000014 = lis r5, _mod@ha
|
||||
0x00000018 = lbz r5, _mod@l(r5)
|
||||
0x0000001C = mullw r3, r3, r5
|
||||
0x00000020 = stw r3, 0x80(r1)
|
||||
0x00000024 = blr
|
||||
|
||||
0x02B9FF44 = bla _dispAfter
|
||||
|
||||
[XCX_CLASSEXPX_2U] ############################################################################
|
||||
moduleMatches = 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
0x00000028 = .byte $mod
|
||||
_mod = 0x00000028
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
; WHO : menu::MenuMultiQuestInfoSub::displayInfoDL((menu::MenuObject *))
|
||||
; WHAT :
|
||||
|
||||
_expSquadValue = 0x0000003C
|
||||
0x0000003C = lis r4, _mod@ha
|
||||
0x00000040 = lbz r4, _mod@l(r4)
|
||||
0x00000044 = mullw r3, r3, r4
|
||||
0x00000048 = stw r3, 0x18(r1)
|
||||
0x0000004C = blr
|
||||
_dispBefore = 0x00000000
|
||||
0x00000000 = lis r5, _mod@ha
|
||||
0x00000004 = lbz r5, _mod@l(r5)
|
||||
0x00000008 = mullw r3, r3, r5
|
||||
0x0000000C = stw r3, 0x34(r1)
|
||||
0x00000010 = blr
|
||||
|
||||
0x023CC750 = bla _expSquadValue
|
||||
0x023CC814 = bla _expSquadValue
|
||||
0x02B91314 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000014
|
||||
0x00000014 = lis r5, _mod@ha
|
||||
0x00000018 = lbz r5, _mod@l(r5)
|
||||
0x0000001C = mullw r3, r3, r5
|
||||
0x00000020 = stw r3, 0x80(r1)
|
||||
0x00000024 = blr
|
||||
|
||||
0x02B9FF34 = bla _dispAfter
|
||||
|
@ -1,7 +1,7 @@
|
||||
[XCX_EXPX]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x84
|
||||
codeCaveSize = 0x60
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
@ -47,16 +47,40 @@ _expQuest = 0x00000034
|
||||
|
||||
0x0229560C = bla _expQuest
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
|
||||
_expSquadValue = 0x00000048
|
||||
0x00000048 = lis r4, _mod@ha
|
||||
0x0000004C = lbz r4, _mod@l(r4)
|
||||
0x00000050 = mullw r3, r3, r4
|
||||
0x00000054 = stw r3, 0x10(r1)
|
||||
0x00000058 = blr
|
||||
|
||||
0x023CC6D4 = bla _expSquadValue
|
||||
|
||||
; TEST : unlimited exp (no 9999 limit)
|
||||
;0x020C1BC4 = nop
|
||||
|
||||
[XCX_EXPX_1E] ############################################################################
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
0x00000028 = .byte $mod
|
||||
_mod = 0x00000028
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000048
|
||||
0x00000048 = lwz r23, 0x88(r1)
|
||||
0x0000004C = lis r24, _mod@ha
|
||||
0x00000050 = lbz r24, _mod@l(r24)
|
||||
0x00000054 = mullw r23, r23, r24
|
||||
0x00000058 = blr
|
||||
_dispBefore = 0x00000000
|
||||
0x00000000 = lwz r23, 0x88(r1)
|
||||
0x00000004 = lis r24, _mod@ha
|
||||
0x00000008 = lbz r24, _mod@l(r24)
|
||||
0x0000000C = mullw r23, r23, r24
|
||||
0x00000010 = blr
|
||||
|
||||
0x02B94700 = bla _dispBefore
|
||||
|
||||
@ -64,27 +88,48 @@ _dispBefore = 0x00000048
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x0000005C
|
||||
0x0000005C = lis r5, _mod@ha
|
||||
0x00000060 = lbz r5, _mod@l(r5)
|
||||
0x00000064 = mullw r3, r3, r5
|
||||
0x00000068 = stw r3, 0x78(r1)
|
||||
0x0000006C = blr
|
||||
_dispAfter = 0x00000014
|
||||
0x00000014 = lis r5, _mod@ha
|
||||
0x00000018 = lbz r5, _mod@l(r5)
|
||||
0x0000001C = mullw r3, r3, r5
|
||||
0x00000020 = stw r3, 0x78(r1)
|
||||
0x00000024 = blr
|
||||
|
||||
0x02B9FDD4 = bla _dispAfter
|
||||
|
||||
[XCX_EXPX_2U] ############################################################################
|
||||
moduleMatches = 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
0x00000028 = .byte $mod
|
||||
_mod = 0x00000028
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_expSquadValue = 0x00000070
|
||||
0x00000070 = lis r4, _mod@ha
|
||||
0x00000074 = lbz r4, _mod@l(r4)
|
||||
0x00000078 = mullw r3, r3, r4
|
||||
0x0000007C = stw r3, 0x10(r1)
|
||||
0x00000080 = blr
|
||||
_dispBefore = 0x00000000
|
||||
0x00000000 = lwz r23, 0x88(r1)
|
||||
0x00000004 = lis r24, _mod@ha
|
||||
0x00000008 = lbz r24, _mod@l(r24)
|
||||
0x0000000C = mullw r23, r23, r24
|
||||
0x00000010 = blr
|
||||
|
||||
0x023CC6D4 = bla _expSquadValue
|
||||
0x02B946F0 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000014
|
||||
0x00000014 = lis r5, _mod@ha
|
||||
0x00000018 = lbz r5, _mod@l(r5)
|
||||
0x0000001C = mullw r3, r3, r5
|
||||
0x00000020 = stw r3, 0x78(r1)
|
||||
0x00000024 = blr
|
||||
|
||||
0x02B9FDC4 = bla _dispAfter
|
||||
|
||||
[XCX_EXPX_1U] ############################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
@ -1,7 +1,7 @@
|
||||
[XCX_LOOT_FORCECHEST]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x30
|
||||
codeCaveSize = 0x3C
|
||||
|
||||
0x00000000 = .byte $forced
|
||||
0x00000004 = .byte $treasure
|
||||
@ -15,10 +15,12 @@ _treasure = 0x00000004
|
||||
_goForced = 0x00000008
|
||||
0x00000008 = lis r28, _forced@ha
|
||||
0x0000000C = lbz r28, _forced@l(r28)
|
||||
0x00000010 = cmpwi r28, 0
|
||||
0x00000014 = bnelr
|
||||
0x00000018 = mr. r28, r3
|
||||
0x00000010 = cmpwi r28, -1
|
||||
0x00000014 = beq .+0xC
|
||||
0x00000018 = mr. r28, r28
|
||||
0x0000001C = blr
|
||||
0x00000020 = mr. r28, r3
|
||||
0x00000024 = blr
|
||||
|
||||
0x021AAFA4 = bla _goForced
|
||||
|
||||
@ -32,9 +34,9 @@ _goForced = 0x00000008
|
||||
; : 4) No chest at all, exit with no chest (0)
|
||||
; : --> The mod below only changes this last step. So even if you put value 1 (gold chest), you'll still get a silver chest if the game succeeded the step 2.
|
||||
|
||||
_goTreasure = 0x00000020
|
||||
0x00000020 = lis r3, _treasure@ha
|
||||
0x00000024 = lbz r3, _treasure@l(r3)
|
||||
0x00000028 = blr
|
||||
_goTreasure = 0x00000030
|
||||
0x00000030 = lis r3, _treasure@ha
|
||||
0x00000034 = lbz r3, _treasure@l(r3)
|
||||
0x00000038 = blr
|
||||
|
||||
0x21AAF18 = bla _goTreasure ; li r3, 1 ; 0 = nothing (default), 1 = gold, 2 = silver, 3 = bronze
|
||||
|
@ -8,17 +8,17 @@ version = 3
|
||||
[Preset]
|
||||
name = "Gold quality"
|
||||
$treasure = 1
|
||||
$forced = 0
|
||||
$forced = -1
|
||||
|
||||
[Preset]
|
||||
name = "Silver quality"
|
||||
$treasure = 2
|
||||
$forced = 0
|
||||
$forced = -1
|
||||
|
||||
[Preset]
|
||||
name = "Bronze quality"
|
||||
$treasure = 3
|
||||
$forced = 0
|
||||
$forced = -1
|
||||
|
||||
[Preset]
|
||||
name = "Gold quality (FORCED)"
|
||||
@ -36,6 +36,6 @@ $treasure = 3
|
||||
$forced = 3
|
||||
|
||||
[Preset]
|
||||
name = "No treasure at all"
|
||||
name = "No treasure (FORCED)"
|
||||
$treasure = 0
|
||||
$forced = 0
|
||||
|
Loading…
Reference in New Issue
Block a user