mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-11-25 19:16:52 +01:00
Add lasyan3's Xenoblade Chronicles X game patches
For more info about each mod, see https://forum.cemu.info/showthread.php/145-My-Gameplay-Patches-for-Xenoblade-Chronicles-X .
This commit is contained in:
parent
3afafd47c4
commit
e68bb61f5a
9
Modifications/XenobladeX_BGM_NoFlight/patches.txt
Normal file
9
Modifications/XenobladeX_BGM_NoFlight/patches.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[XCX_BGMNOFLIGHT]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : cfs::CfSoundManager::fbgmUpdate((void))
|
||||||
|
; WHAT : Never call function cfs::CfSoundManager::fbgmChangeNameDoll((bool)) so that Skell Flight music is never played
|
||||||
|
|
||||||
|
_skip = 0x22A4DD4
|
||||||
|
0x022A4DC0 = b _skip
|
5
Modifications/XenobladeX_BGM_NoFlight/rules.txt
Normal file
5
Modifications/XenobladeX_BGM_NoFlight/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - BGM - No Skell Flight Music"
|
||||||
|
version=2
|
||||||
|
|
8
Modifications/XenobladeX_BGM_NoOverdrive/patches.txt
Normal file
8
Modifications/XenobladeX_BGM_NoOverdrive/patches.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[XCX_BGMNOOVER]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : cfs::CfSoundManagerBGM::playgear((unsigned int))
|
||||||
|
; WHAT : Never process this function so that Overdrive music is never played
|
||||||
|
|
||||||
|
0x022AB1F4 = blr
|
5
Modifications/XenobladeX_BGM_NoOverdrive/rules.txt
Normal file
5
Modifications/XenobladeX_BGM_NoOverdrive/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - BGM - No Overdrive Music"
|
||||||
|
version=2
|
||||||
|
|
@ -1,59 +0,0 @@
|
|||||||
[XCX_COLLECTIBLESRANGE]
|
|
||||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0U
|
|
||||||
|
|
||||||
codeCaveSize = 0xC0
|
|
||||||
|
|
||||||
_itemRangeInner = 0x00000000
|
|
||||||
0x00000000 = lis r5, 0x4250
|
|
||||||
0x00000004 = addi r5, r5, 0x0000
|
|
||||||
0x00000008 = stw r5, 0x4(r23)
|
|
||||||
0x0000000C = lfs f10, 0x4(r23)
|
|
||||||
0x00000010 = fadd f10, f9, f10
|
|
||||||
0x00000014 = blr
|
|
||||||
|
|
||||||
_itemHeightInner = 0x00000020
|
|
||||||
0x00000020 = lis r5, 0x4250
|
|
||||||
0x00000024 = addi r5, r5, 0x0000
|
|
||||||
0x00000028 = stw r5, 0x4(r23)
|
|
||||||
0x0000002C = lfs f12, 0x4(r23)
|
|
||||||
0x00000030 = fadd f12, f10, f12
|
|
||||||
0x00000034 = blr
|
|
||||||
|
|
||||||
_itemRangeDoll = 0x00000040
|
|
||||||
0x00000040 = lis r5, 0x4250
|
|
||||||
0x00000044 = addi r5, r5, 0x0000
|
|
||||||
0x00000048 = stw r5, 0x4(r23)
|
|
||||||
0x0000004C = lfs f9, 0x4(r23)
|
|
||||||
0x00000050 = fadd f9, f6, f9
|
|
||||||
0x00000054 = blr
|
|
||||||
|
|
||||||
_itemHeightDoll = 0x00000060
|
|
||||||
0x00000060 = lis r5, 0x4250
|
|
||||||
0x00000064 = addi r5, r5, 0x0000
|
|
||||||
0x00000068 = stw r5, 0x4(r23)
|
|
||||||
0x0000006C = lfs f10, 0x4(r23)
|
|
||||||
0x00000070 = fadd f10, f7, f10
|
|
||||||
0x00000074 = blr
|
|
||||||
|
|
||||||
_itemRangeFlight = 0x00000080
|
|
||||||
0x00000080 = lis r5, 0x4250
|
|
||||||
0x00000084 = addi r5, r5, 0x0000
|
|
||||||
0x00000088 = stw r5, 0x4(r23)
|
|
||||||
0x0000008C = lfs f10, 0x4(r23)
|
|
||||||
0x00000090 = fadd f10, f12, f10
|
|
||||||
0x00000094 = blr
|
|
||||||
|
|
||||||
_itemHeightFlight = 0x000000A0
|
|
||||||
0x000000A0 = lis r5, 0x4250
|
|
||||||
0x000000A4 = addi r5, r5, 0x0000
|
|
||||||
0x000000A8 = stw r5, 0x4(r23)
|
|
||||||
0x000000AC = lfs f0, 0x4(r23)
|
|
||||||
0x000000B0 = fadd f0, f13, f0
|
|
||||||
0x000000B4 = blr
|
|
||||||
|
|
||||||
0x02389B80 = bla _itemRangeInner
|
|
||||||
0x02389BB8 = bla _itemHeightInner
|
|
||||||
0x02389C3C = bla _itemRangeDoll
|
|
||||||
0x02389C74 = bla _itemHeightDoll
|
|
||||||
0x02389CEC = bla _itemRangeFlight
|
|
||||||
0x02389D30 = bla _itemHeightFlight
|
|
@ -1,21 +0,0 @@
|
|||||||
[XCX_CUSTOMDROPRATIO]
|
|
||||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0U
|
|
||||||
|
|
||||||
codeCaveSize = 0x20
|
|
||||||
|
|
||||||
; Uncomment those TWO lines to affect the chest chance to appear
|
|
||||||
;0x021AADB8 = li r3, 3 ; 0 = no drop, 1 = always gold, 2 = always silver, 3 = always bronze
|
|
||||||
;0x021AADBC = blr
|
|
||||||
|
|
||||||
_minDropRate = 0x00000000
|
|
||||||
0x00000000 = cmpwi r31, 100 ; all items with drop ratio less than this value will have a new drop ratio set at line 0x00000010
|
|
||||||
0x00000008 = blt .+0x8
|
|
||||||
0x0000000C = b .+0x8
|
|
||||||
0x00000010 = li r31, 100 ; new drop ratio
|
|
||||||
0x00000014 = cmpw r3, r31
|
|
||||||
0x00000018 = blr
|
|
||||||
|
|
||||||
0x021AF5DC = bla _minDropRate ; modify drop ratio for gold chests
|
|
||||||
0x021AF5F8 = bla _minDropRate ; modify drop ratio for silver chests
|
|
||||||
0x021AF614 = bla _minDropRate ; modify drop ratio for bronze chests
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
|
||||||
name = "Xenoblade Chronicles X - Custom Drop Ratio (issues with certain quests!)"
|
|
||||||
version=2
|
|
20
Modifications/XenobladeX_DSP_Camera/patches.txt
Normal file
20
Modifications/XenobladeX_DSP_Camera/patches.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
[XCX_CAMERA]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x8
|
||||||
|
|
||||||
|
0x00000000 = .float 5.0 ; zoom (default is 0.0)
|
||||||
|
_zoom = 0x00000000
|
||||||
|
|
||||||
|
0x00000004 = .float 60.0 ; fov (default is 40.0)
|
||||||
|
_fov = 0x00000004
|
||||||
|
|
||||||
|
# CamData::CCamDataManager::getParamsZoomDefault((CamData::eTargetTypes, unsigned char))
|
||||||
|
0x0222A19C = lis r12, _zoom@h
|
||||||
|
0x0222A1B0 = lfs f1, _zoom@l(r12)
|
||||||
|
0x0222A1CC = nop
|
||||||
|
|
||||||
|
# CamData::CCamDataManager::getFov((CamData::eTargetTypes))
|
||||||
|
0x02229CE0 = lis r11, _fov@h
|
||||||
|
0x02229CF8 = lfs f1, _fov@l(r11)
|
||||||
|
0x02229D14 = nop
|
4
Modifications/XenobladeX_DSP_Camera/rules.txt
Normal file
4
Modifications/XenobladeX_DSP_Camera/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - DSP - Camera customization"
|
||||||
|
version=2
|
61
Modifications/XenobladeX_DSP_DistMobInfo/patches.txt
Normal file
61
Modifications/XenobladeX_DSP_DistMobInfo/patches.txt
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
[XCX_DISTMOBINFO]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x100
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : cfs::CfPopManagerMobInfo::setupZone((cfs::ZoneTypes))
|
||||||
|
; WHY : Initialize view distance for ALL the Mob information to a very high value (filter will be done in setup function)
|
||||||
|
|
||||||
|
_init_react = 0x00000000
|
||||||
|
0x00000000 = lis r3, 0x4300
|
||||||
|
0x00000004 = addi r3, r3, 0x0000
|
||||||
|
0x00000008 = mr r5, r27
|
||||||
|
0x0000000C = blr
|
||||||
|
|
||||||
|
0x02387260 = bla _init_react
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : cfs::CfMobInfo::setup((void))
|
||||||
|
; WHY : Adjust the view distance based on the information type
|
||||||
|
|
||||||
|
_info_default = 0x00000020
|
||||||
|
0x00000020 = cmpwi r6, 2
|
||||||
|
0x00000024 = beq .+0x20
|
||||||
|
0x00000028 = lhz r8, 0x20(r29)
|
||||||
|
0x0000002C = cmpwi r8, 0x4300
|
||||||
|
0x00000030 = blt .+0x14
|
||||||
|
0x00000034 = lis r8, 0x4120
|
||||||
|
0x00000038 = addi r8, r8, 0x0000
|
||||||
|
0x0000003C = stw r8, 0x20(r29)
|
||||||
|
0x00000040 = li r6, 0
|
||||||
|
0x00000044 = stw r6, 0x40(r29)
|
||||||
|
0x00000048 = blr
|
||||||
|
|
||||||
|
_info_obtained = 0x00000060
|
||||||
|
0x00000060 = lhz r8, 0x20(r29)
|
||||||
|
0x00000064 = cmpwi r8, 0x4300
|
||||||
|
0x00000068 = blt .+0x14
|
||||||
|
0x0000006C = lis r8, 0x4120
|
||||||
|
0x00000070 = addi r8, r8, 0x0000
|
||||||
|
0x00000074 = stw r8, 0x20(r29)
|
||||||
|
0x00000078 = li r10, 0
|
||||||
|
0x0000007C = stw r10, 0x40(r29)
|
||||||
|
0x00000080 = blr
|
||||||
|
|
||||||
|
|
||||||
|
0x02386F04 = bla _info_obtained
|
||||||
|
0x02386F34 = bla _info_default
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : cfs::CfPopManagerMobInfo::updatePop((ml::CVec3 const &, bool))
|
||||||
|
|
||||||
|
0x0238EEC0 = nop ; Disable the call of cfs::CfMobInfo::update function (may have side effects)
|
||||||
|
0x0238EF30 = nop ; Disable altitude check
|
||||||
|
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : cfs::CfPopManager::isCheckDoll(const(void))
|
||||||
|
; WHY : display bubbles even in skell
|
||||||
|
|
||||||
|
0x0238745C = li r3, 0
|
5
Modifications/XenobladeX_DSP_DistMobInfo/rules.txt
Normal file
5
Modifications/XenobladeX_DSP_DistMobInfo/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - DSP - NPC bubbles distance increased"
|
||||||
|
version=2
|
||||||
|
|
9
Modifications/XenobladeX_GPL_BattlePointsX/patches.txt
Normal file
9
Modifications/XenobladeX_GPL_BattlePointsX/patches.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[XCX_BATTLEPOINTSX]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1
|
||||||
|
; WHAT : Multiply the battle points given in... battles
|
||||||
|
|
||||||
|
;0x020C4A74 = li r0, 20 ; alternative: always gives +20 battle points
|
||||||
|
0x020C4A74 = mulli r0, r0, 30
|
5
Modifications/XenobladeX_GPL_BattlePointsX/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_BattlePointsX/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Battle Points X"
|
||||||
|
version=2
|
||||||
|
|
9
Modifications/XenobladeX_GPL_BladePointsX/patches.txt
Normal file
9
Modifications/XenobladeX_GPL_BladePointsX/patches.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[XCX_BLADEX]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : fw::SocialUnion::getUnionBasePoint((int))
|
||||||
|
; WHAT : Multiply the BLADE points rewarded (default is by 10)
|
||||||
|
|
||||||
|
0x0288E610 = nop
|
||||||
|
0x0288E614 = li r3, 10
|
5
Modifications/XenobladeX_GPL_BladePointsX/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_BladePointsX/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Blade Points X"
|
||||||
|
version=2
|
||||||
|
|
9
Modifications/XenobladeX_GPL_Challenge/patches.txt
Normal file
9
Modifications/XenobladeX_GPL_Challenge/patches.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[XCX_CHALLENGE]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : Battle::CSoulVoiceButtonChallenge::updateInternal((float))
|
||||||
|
; WHAT : Disable QTE (calling Battle::CButtonChallengeManager::CallUI)
|
||||||
|
|
||||||
|
0x0209D6F0 = nop
|
||||||
|
0x0209D720 = nop
|
4
Modifications/XenobladeX_GPL_Challenge/rules.txt
Normal file
4
Modifications/XenobladeX_GPL_Challenge/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Button Challenges disabled"
|
||||||
|
version=2
|
9
Modifications/XenobladeX_GPL_ClassExpPointsX/patches.txt
Normal file
9
Modifications/XenobladeX_GPL_ClassExpPointsX/patches.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[XCX_CLASSEXPX]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1
|
||||||
|
; WHAT : Multiply the class experience given during combat (default by 100)
|
||||||
|
|
||||||
|
0x020C4A28 = mulli r31, r3, 2
|
||||||
|
|
5
Modifications/XenobladeX_GPL_ClassExpPointsX/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_ClassExpPointsX/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Class Exp Points X"
|
||||||
|
version=2
|
||||||
|
|
66
Modifications/XenobladeX_GPL_CollectiblesRange/patches.txt
Normal file
66
Modifications/XenobladeX_GPL_CollectiblesRange/patches.txt
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
[XCX_COLLECTIBLESRANGE]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x100
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : cfs::CfPopManagerItem::updateTouchItem((void))
|
||||||
|
; WHAT : Initialize collectibles distance
|
||||||
|
|
||||||
|
0x00000060 = .float 40.0 ; _rangeInnerConst
|
||||||
|
0x00000064 = .float 8.0 ; _heightInnerConst
|
||||||
|
0x00000068 = .float 64.0 ; _rangeDollConst
|
||||||
|
0x0000006C = .float 64.0 ; _heightDollConst
|
||||||
|
0x00000070 = .float 64.0 ; _rangeFlightConst
|
||||||
|
0x00000074 = .float 52.0 ; _heightFlightConst
|
||||||
|
|
||||||
|
_rangeInnerConst = 0x00000060
|
||||||
|
_heightInnerConst = 0x00000064
|
||||||
|
_rangeDollConst = 0x00000068
|
||||||
|
_heightDollConst = 0x0000006C
|
||||||
|
_rangeFlightConst = 0x00000070
|
||||||
|
_heightFlightConst = 0x00000074
|
||||||
|
|
||||||
|
_itemRangeInner = 0x00000000
|
||||||
|
0x00000000 = lis r5, _rangeInnerConst@ha
|
||||||
|
0x00000004 = lfs f10, _rangeInnerConst@l(r5)
|
||||||
|
0x00000008 = fadd f10, f9, f10
|
||||||
|
0x0000000C = blr
|
||||||
|
|
||||||
|
_itemHeightInner = 0x00000010
|
||||||
|
0x00000010 = lis r5, _heightInnerConst@ha
|
||||||
|
0x00000014 = lfs f12, _heightInnerConst@l(r5)
|
||||||
|
0x00000018 = fadd f12, f10, f12
|
||||||
|
0x0000001C = blr
|
||||||
|
|
||||||
|
_itemRangeDoll = 0x00000020
|
||||||
|
0x00000020 = lis r5, _rangeDollConst@ha
|
||||||
|
0x00000024 = lfs f9, _rangeDollConst@l(r5)
|
||||||
|
0x00000028 = fadd f9, f6, f9
|
||||||
|
0x0000002C = blr
|
||||||
|
|
||||||
|
_itemHeightDoll = 0x00000030
|
||||||
|
0x00000030 = lis r5, _heightDollConst@ha
|
||||||
|
0x00000034 = lfs f10, _heightDollConst@l(r5)
|
||||||
|
0x00000038 = fadd f10, f7, f10
|
||||||
|
0x0000003C = blr
|
||||||
|
|
||||||
|
_itemRangeFlight = 0x00000040
|
||||||
|
0x00000040 = lis r5, _rangeFlightConst@ha
|
||||||
|
0x00000044 = lfs f10, _rangeFlightConst@l(r5)
|
||||||
|
0x00000048 = fadd f10, f12, f10
|
||||||
|
0x0000004C = blr
|
||||||
|
|
||||||
|
_itemHeightFlight = 0x00000050
|
||||||
|
0x00000050 = lis r5, _heightFlightConst@ha
|
||||||
|
0x00000054 = lfs f0, _heightFlightConst@l(r5)
|
||||||
|
0x00000058 = fadd f0, f13, f0
|
||||||
|
0x0000005C = blr
|
||||||
|
|
||||||
|
0x02389B80 = bla _itemRangeInner
|
||||||
|
0x02389BB8 = bla _itemHeightInner
|
||||||
|
0x02389C3C = bla _itemRangeDoll
|
||||||
|
0x02389C74 = bla _itemHeightDoll
|
||||||
|
0x02389CEC = bla _itemRangeFlight
|
||||||
|
0x02389D30 = bla _itemHeightFlight
|
||||||
|
|
5
Modifications/XenobladeX_GPL_CollectiblesRange/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_CollectiblesRange/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Collectibles: increase range"
|
||||||
|
version=2
|
||||||
|
|
63
Modifications/XenobladeX_GPL_CustomDropRatio/patches.txt
Normal file
63
Modifications/XenobladeX_GPL_CustomDropRatio/patches.txt
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
[XCX_CUSTOMDROPRATIO]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x50
|
||||||
|
|
||||||
|
; Uncomment those TWO lines to affect the chest chance to appear
|
||||||
|
;0x021AADB8 = li r3, 0 ; 0 = no drop, 1 = always gold, 2 = always silver, 3 = always bronze
|
||||||
|
;0x021AADBC = blr
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int))
|
||||||
|
; WHAT : Override the chest quality you get when the game initially decided you get no chest at all
|
||||||
|
; : It's a bit tough to explain, but the function calcRank does this:
|
||||||
|
; : 1) Calculate luck for gold chest, if success exit with gold quality (1), else process next step
|
||||||
|
; : 2) Calculate luck for silver chest, if success exit with silver quality (2), else process next step
|
||||||
|
; : 3) Calculate luck for bronze chest, if success exit with bronze quality (3), else process next step
|
||||||
|
; : 4) No chest at all, exit with no chest (0)
|
||||||
|
; : --> The mod below only changes this last step. So even if you put 1 value (gold chest), you'll still get a silver chest if the game succeeded the step 2.
|
||||||
|
|
||||||
|
0x21AAF18 = li r3, 1 ; 0 = nothing (default), 1 = gold, 2 = silver, 3 = bronze
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : __CPR90__calcItemBronze__Q2_8ItemDrop16CItemDropManagerFRQ3_J19JJ28J9SDropInfoUc
|
||||||
|
; WHAT : Affect the drop ratio of materials
|
||||||
|
|
||||||
|
_minDropRate = 0x00000000
|
||||||
|
0x00000000 = cmpwi r31, 100 ; this value is the default drop ratio under which we want to set a new drop ratio (logically equal or greater)
|
||||||
|
0x00000008 = blt .+0x8
|
||||||
|
0x0000000C = b .+0x8
|
||||||
|
0x00000010 = li r31, 100 ; here you set the new drop ratio
|
||||||
|
0x00000014 = cmpw r3, r31
|
||||||
|
0x00000018 = blr
|
||||||
|
|
||||||
|
0x021AF5DC = bla _minDropRate ; modify drop ratio for gold chests
|
||||||
|
0x021AF5F8 = bla _minDropRate ; modify drop ratio for silver chests
|
||||||
|
0x021AF614 = bla _minDropRate ; modify drop ratio for bronze chests
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : ItemDrop::CItemDropManager::calcItemNum((uchar))
|
||||||
|
; WHAT : 100 % chances of looting 3 equipments
|
||||||
|
;0x021AB238 = li r11, 100 ; DRP_ItemNumTable - Lot_3
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : ItemDrop::CItemDropManager::calcAfxSltNum((unsigned short))
|
||||||
|
; WHAT : Control of the loot quality
|
||||||
|
|
||||||
|
0x021AB380 = li r28, 100
|
||||||
|
0x021AB394 = li r29, 100
|
||||||
|
0x021AB3AC = li r30, 100
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : __CPR129__calcItem__Q2_8ItemDrop16CItemDropManagerFRQ3_J13JJ22J9SDropInfoUcRCQ3_J13JJ22J11SCreateInfo
|
||||||
|
; WHAT : Remove broken equipment
|
||||||
|
|
||||||
|
;0x021AEBE0 = li r3, 0 ; Nothing is broken
|
||||||
|
|
||||||
|
|
||||||
|
; Always best equipment (xx60) ? TO BE CONFIRMED
|
||||||
|
0x021AD710 = nop ; ground weapons ?
|
||||||
|
0x021ADA6C = nop ; ground armors
|
||||||
|
0x021ADDE8 = nop ; skell weapons
|
||||||
|
0x021AE164 = nop ; skell armors
|
||||||
|
|
5
Modifications/XenobladeX_GPL_CustomDropRatio/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_CustomDropRatio/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Materials Drop Ratio"
|
||||||
|
version=2
|
||||||
|
|
7
Modifications/XenobladeX_GPL_DLCQuests/patches.txt
Normal file
7
Modifications/XenobladeX_GPL_DLCQuests/patches.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[XCX_DLC]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : collectQuestInfoDL__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo
|
||||||
|
; WHAT : Disable endgame check to unlock DLC missions
|
||||||
|
0x022C6B50 = nop
|
4
Modifications/XenobladeX_GPL_DLCQuests/rules.txt
Normal file
4
Modifications/XenobladeX_GPL_DLCQuests/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - DLC Quests unlocked"
|
||||||
|
version=2
|
8
Modifications/XenobladeX_GPL_Damages/patches.txt
Normal file
8
Modifications/XenobladeX_GPL_Damages/patches.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[XCX_DAMAGES]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : cfs::CfCompoPropertyEnemy::addDamage((int))
|
||||||
|
; WHAT : Multiply the ground damage (skells not included) given to enemy (default by 100)
|
||||||
|
|
||||||
|
0x025D896C = mulli r4, r31, 10
|
4
Modifications/XenobladeX_GPL_Damages/rules.txt
Normal file
4
Modifications/XenobladeX_GPL_Damages/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Damage multiplicator (ground)"
|
||||||
|
version=2
|
50
Modifications/XenobladeX_GPL_DropOnlyEquipment/patches.txt
Normal file
50
Modifications/XenobladeX_GPL_DropOnlyEquipment/patches.txt
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
[XCX_DROPONLYEQUIPMENT]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int))
|
||||||
|
; WHAT : Affect the chance of chests
|
||||||
|
|
||||||
|
0x021AADB8 = li r3, 1 ; always GOLD chests
|
||||||
|
0x021AADBC = blr
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : __CPR90__calcItemBronze__Q2_8ItemDrop16CItemDropManagerFRQ3_J19JJ28J9SDropInfoUc
|
||||||
|
; WHAT : Affect the drop ratio of materials
|
||||||
|
|
||||||
|
0x021AF5D8 = li r31, 0
|
||||||
|
0x021AF5F4 = li r31, 0
|
||||||
|
0x021AF610 = li r31, 0
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : ItemDrop::CItemDropManager::calcItemNum((uchar))
|
||||||
|
; WHAT : Chances to loot multiples equipments (3 max)
|
||||||
|
|
||||||
|
0x021AB238 = li r11, 100 ; DRP_ItemNumTable - Lot_3
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs
|
||||||
|
; WHAT : Force some kind of equipment to be looted in Gold chests
|
||||||
|
; 2 = Ground weapons
|
||||||
|
; 4 = Ground armors
|
||||||
|
; 6 = Skell weapons
|
||||||
|
; 8 = Skell armors
|
||||||
|
|
||||||
|
0x021AEB88 = li r4, 6
|
||||||
|
0x021AEB5C = li r27, 6
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs
|
||||||
|
; WHAT : Always best equipment looted (X6X)
|
||||||
|
|
||||||
|
0x021AD710 = nop ; ground weapons ?
|
||||||
|
0x021ADA6C = nop ; ground armors
|
||||||
|
0x021ADDE8 = nop ; skell weapons
|
||||||
|
0x021AE164 = nop ; skell armors
|
||||||
|
|
||||||
|
; WHO : ItemDrop::CItemDropManager::calcAfxSltNum((unsigned short))
|
||||||
|
; WHAT : Control of the loot quality
|
||||||
|
|
||||||
|
0x021AB380 = li r28, 100
|
||||||
|
0x021AB394 = li r29, 100
|
||||||
|
0x021AB3AC = li r30, 100
|
5
Modifications/XenobladeX_GPL_DropOnlyEquipment/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_DropOnlyEquipment/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Drop only Equipment"
|
||||||
|
version=2
|
||||||
|
|
39
Modifications/XenobladeX_GPL_DropOnlyMaterials/patches.txt
Normal file
39
Modifications/XenobladeX_GPL_DropOnlyMaterials/patches.txt
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
[XCX_DROPONLYMATERIALS]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x20
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : __CPR129__calcItem__Q2_8ItemDrop16CItemDropManagerFRQ3_J13JJ22J9SDropInfoUcRCQ3_J13JJ22J11SCreateInfo
|
||||||
|
; WHAT : No equipment loot
|
||||||
|
|
||||||
|
_21AF30C = 0x021AF30C
|
||||||
|
0x021AEAA8 = b _21AF30C
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int))
|
||||||
|
; WHAT : Override the chest quality you get when the game initially decided you get no chest at all
|
||||||
|
; : It's a bit tough to explain, but the function calcRank does this:
|
||||||
|
; : 1) Calculate luck for gold chest, if success exit with gold quality (1), else process next step
|
||||||
|
; : 2) Calculate luck for silver chest, if success exit with silver quality (2), else process next step
|
||||||
|
; : 3) Calculate luck for bronze chest, if success exit with bronze quality (3), else process next step
|
||||||
|
; : 4) No chest at all, exit with no chest (0)
|
||||||
|
; : --> The mod below only changes this last step. So even if you put 1 value (gold chest), you'll still get a silver chest if the game succeeded the step 2.
|
||||||
|
|
||||||
|
0x21AAF18 = li r3, 3 ; 0 = nothing (default), 1 = gold, 2 = silver, 3 = bronze
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : __CPR90__calcItemBronze__Q2_8ItemDrop16CItemDropManagerFRQ3_J19JJ28J9SDropInfoUc
|
||||||
|
; WHAT : Affect the drop ratio of materials
|
||||||
|
|
||||||
|
_minDropRate = 0x00000000
|
||||||
|
0x00000000 = cmpwi r31, 100 ; this value is the default drop ratio under which we want to set a new drop ratio (logically equal or greater)
|
||||||
|
0x00000008 = blt .+0x8
|
||||||
|
0x0000000C = b .+0x8
|
||||||
|
0x00000010 = li r31, 100 ; here you set the new drop ratio
|
||||||
|
0x00000014 = cmpw r3, r31
|
||||||
|
0x00000018 = blr
|
||||||
|
|
||||||
|
0x021AF5DC = bla _minDropRate ; modify drop ratio for gold chests
|
||||||
|
0x021AF5F8 = bla _minDropRate ; modify drop ratio for silver chests
|
||||||
|
0x021AF614 = bla _minDropRate ; modify drop ratio for bronze chests
|
5
Modifications/XenobladeX_GPL_DropOnlyMaterials/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_DropOnlyMaterials/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Drop only Materials"
|
||||||
|
version=2
|
||||||
|
|
13
Modifications/XenobladeX_GPL_EnemieStats/patches.txt
Normal file
13
Modifications/XenobladeX_GPL_EnemieStats/patches.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[XCX_ENEMIESTATS]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : calcEnParam__3cfsFPQ2_3cfs7SChrPrmUiT2
|
||||||
|
; WHAT : Apply modificator on enemies stats (HP, Melee Attack, Melee Accuracy, Ranged Attack, Ranged Accuracy, Potential and Evasion)
|
||||||
|
|
||||||
|
; 100% = 0.001 - default value
|
||||||
|
; 70% = 0.0007
|
||||||
|
; 50% = 0.0005
|
||||||
|
; 1% = 0.00001 ; GAME CRASH (enemis are too weak)
|
||||||
|
|
||||||
|
0x1003206C = .float 0.0070
|
@ -1,4 +1,4 @@
|
|||||||
[Definition]
|
[Definition]
|
||||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
name = "Xenoblade Chronicles X - Collectibles Range"
|
name = "Xenoblade Chronicles X - GPL - Enemy Stats"
|
||||||
version=2
|
version=2
|
@ -0,0 +1,22 @@
|
|||||||
|
[XCX_UPGRADENOLIMIT_EU]
|
||||||
|
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : menu::MenuArmsCompanyAffixStrengthen::CheckAffixStrengthen
|
||||||
|
; WHAT : Unlimited upgrades (affix selection menu)
|
||||||
|
|
||||||
|
0x02A72134 = li r10, 99 ; No upgrades remaining (getAffixTotalReinforced) (4)
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : menu::MenuArmsCompanyAffixSelectItem::CheckAffixStrengthen
|
||||||
|
; WHAT : Unlimited upgrades (equipment selection menu)
|
||||||
|
|
||||||
|
0x02A6DCA8 = li r3, 0 ; No upgrades remaining (3)
|
||||||
|
|
||||||
|
;#####################################################################################
|
||||||
|
[XCX_UPGRADENOLIMIT_US]
|
||||||
|
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||||
|
|
||||||
|
0x02A72124 = li r10, 99 ; No upgrades remaining (getAffixTotalReinforced) (4)
|
||||||
|
|
||||||
|
0x02A6DC98 = li r3, 0 ; No upgrades remaining (3)
|
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Augments Upgrade unlimited"
|
||||||
|
version=2
|
9
Modifications/XenobladeX_GPL_FriendPointsX/patches.txt
Normal file
9
Modifications/XenobladeX_GPL_FriendPointsX/patches.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[XCX_FRIENDPOINTSX]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : RegistDamage_SoulVoiceLink__Q2_12DamageSystem7FactorySFRCQ2_3cfs30CfHandleKey__tm__11_XCUiL_2_12T1Ui
|
||||||
|
; WHAT : Gives a lot of friend points when activating a Soul Voice Link during combat
|
||||||
|
; : BEWARE as this can lead to freeze of the emulator when opening the Affinity Chart (not sure if this is related)
|
||||||
|
|
||||||
|
0x02179908 = li r31, 500
|
5
Modifications/XenobladeX_GPL_FriendPointsX/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_FriendPointsX/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Friend Points X"
|
||||||
|
version=2
|
||||||
|
|
10
Modifications/XenobladeX_GPL_InnerExpPointsX/patches.txt
Normal file
10
Modifications/XenobladeX_GPL_InnerExpPointsX/patches.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[XCX_EXPX]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : cfs::CfCompoCtrlEnemy::execRequestCommon
|
||||||
|
; WHAT : Multiply the experience points given in battles
|
||||||
|
|
||||||
|
0x025624E4 = divi r30, r3, 2 ; mulli or divi
|
||||||
|
;0x020C1BC0 = nop; always +3000xp (+9999px) from battle (addInnerExpChara__Q2_6Battle14CBattleManagerFUiN21)
|
||||||
|
;0x022953A4 = li r4, 0x270F ; always +9999xp from exploration (addInnerExp__Q2_3cfs10CfTBoxUtilSFUi)
|
5
Modifications/XenobladeX_GPL_InnerExpPointsX/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_InnerExpPointsX/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Exp Points X"
|
||||||
|
version=2
|
||||||
|
|
13
Modifications/XenobladeX_GPL_MaxSlots/patches.txt
Normal file
13
Modifications/XenobladeX_GPL_MaxSlots/patches.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[XCX_MAXSLOTS_EU]
|
||||||
|
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; NAME : Cshop::updateLuItem((void))
|
||||||
|
; PURPO : max 3 slots per armor L shop
|
||||||
|
|
||||||
|
0x02A3AA18 = li r0, 3
|
||||||
|
|
||||||
|
[XCX_MAXSLOTS_US]
|
||||||
|
moduleMatches = 0x30B6E091 ;1.0.2U
|
||||||
|
|
||||||
|
0x02A3AA08 = li r0, 3
|
4
Modifications/XenobladeX_GPL_MaxSlots/rules.txt
Normal file
4
Modifications/XenobladeX_GPL_MaxSlots/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Equipments have 3 Slots"
|
||||||
|
version=2
|
55
Modifications/XenobladeX_GPL_MoreProbeIncome/patches.txt
Normal file
55
Modifications/XenobladeX_GPL_MoreProbeIncome/patches.txt
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
[XCX_PROBEINCOME]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x100
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||||
|
; WHY : Affect the frequency of the FrontierNav income for the Miranium
|
||||||
|
; Frequency unit is 1 minute (so by default income is every 30 minutes)
|
||||||
|
|
||||||
|
_miranium = 0x00000000
|
||||||
|
0x00000000 = li r8, 30 ; default is 30 for miranium
|
||||||
|
0x00000004 = addi r10, r3, 1
|
||||||
|
0x00000008 = divwu r0, r10, r8
|
||||||
|
0x0000000C = mullw r0, r0, r8
|
||||||
|
0x00000010 = subf r3, r0, r10
|
||||||
|
0x00000014 = cmpwi r3, 0
|
||||||
|
0x00000018 = blr
|
||||||
|
|
||||||
|
0x027D5250 = bla _miranium
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||||
|
; WHY : Affect the quantity of the NavFrontier income for the Miranium
|
||||||
|
|
||||||
|
0x027D5278 = mulli r4, r31, 100
|
||||||
|
;0x027D1034 = mulli r3, r31, 100 ; ignore limit
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||||
|
; WHY : Affect the frequency of the NavFrontier income for the resources
|
||||||
|
; Frequency unit is 1 minute (so by default income is every 5 minutes)
|
||||||
|
|
||||||
|
0x027D534C = li r12, 1 ; default is 5 for resources
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||||
|
; WHY : Affect the frequency of the NavFrontier income for the money
|
||||||
|
; Frequency unit is 1 minute (so by default income is every 15 minutes)
|
||||||
|
|
||||||
|
0x027D554C = li r12, 5 ; default is 15 for money (5 for speedrun)
|
||||||
|
|
||||||
|
0x027D5590 = mulli r3, r31, 100 ; quantity
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||||
|
; WHY :
|
||||||
|
|
||||||
|
_multCount = 0x00000020
|
||||||
|
0x00000020 = lbz r0, 6(r31)
|
||||||
|
0x00000024 = mulli r0, r0, 5 ; Change this number to multiply the number of each resource mined
|
||||||
|
0x00000028 = stb r0, 6(r31)
|
||||||
|
0x0000002C = blr
|
||||||
|
|
||||||
|
0x027D5428 = bla _multCount
|
5
Modifications/XenobladeX_GPL_MoreProbeIncome/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_MoreProbeIncome/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Probe Income Frequency"
|
||||||
|
version=2
|
||||||
|
|
16
Modifications/XenobladeX_GPL_NoItemSell/patches.txt
Normal file
16
Modifications/XenobladeX_GPL_NoItemSell/patches.txt
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[XCX_NOITEMSELL]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : addItem__Q2_3cfs9CfItemBoxSFQ3_2fw9CItemType4TypeUiRQ2_3cfs12CfItemHandle
|
||||||
|
; WHAT : instead of selling item, return 0 (no systemlog)
|
||||||
|
|
||||||
|
0x02365A94 = li r31, 0 ; sellItem
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : cfs::CfPopManagerItem::updateTouchItem((void))
|
||||||
|
; WHAT : exit code if addItem returns 0 (blue gem not collected and no sound)
|
||||||
|
|
||||||
|
_exit = 0x0238A1BC
|
||||||
|
0x02389EF8 = beq _exit
|
||||||
|
|
5
Modifications/XenobladeX_GPL_NoItemSell/rules.txt
Normal file
5
Modifications/XenobladeX_GPL_NoItemSell/rules.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Collectibles: ignore 100th"
|
||||||
|
version=2
|
||||||
|
|
127
Modifications/XenobladeX_GPL_OfflineSquadQuests/patches.txt
Normal file
127
Modifications/XenobladeX_GPL_OfflineSquadQuests/patches.txt
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
[XCX_SQUADMISSIONS]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x20
|
||||||
|
|
||||||
|
_getLocalTimeSec = 0x02892000
|
||||||
|
|
||||||
|
# cfs::CfSocialManager::update((float))
|
||||||
|
0x022879D0 = nop
|
||||||
|
|
||||||
|
# cfs::CfSocialQuestManager::update((void))
|
||||||
|
0x023AB884 = nop ; 0x6B8(r12) == 0
|
||||||
|
0x023AB8B4 = nop ; isHost
|
||||||
|
0x023ABA68 = li r5, 60 ; force 0x24 - UNLOCK
|
||||||
|
0x023ABC10 = nop ; isHost
|
||||||
|
0x023ABC94 = nop ; getServerTimeSecRegion - UNLOCK
|
||||||
|
0x023ABCAC = nop ; compare with 0x28 - UNLOCK
|
||||||
|
0x023ABCB8 = nop ; compare with 0x2C - UNLOCK
|
||||||
|
_gotoJoin = 0x023ABD00 - UNLOCK
|
||||||
|
0x023ABCBC = b _gotoJoin - UNLOCK
|
||||||
|
|
||||||
|
|
||||||
|
# cfs::CfSocialQuestManager::setupQuest
|
||||||
|
0x023A0484 = nop ; isHost
|
||||||
|
|
||||||
|
##################### BLADE Home Terminal (for Squad Quest Selection)
|
||||||
|
|
||||||
|
# cfs::CfSocialManager::refreshOrderQuestInfo (called when select an entry in the BLADE menu)
|
||||||
|
0x022C805C = nop
|
||||||
|
0x022C8060 = nop
|
||||||
|
|
||||||
|
# collectQuestInfoSQ__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo
|
||||||
|
0x022C58BC = nop
|
||||||
|
|
||||||
|
#################### Change Squad Mission using main menu
|
||||||
|
|
||||||
|
_shareAddr = 0x1039C17C
|
||||||
|
|
||||||
|
_iniPtr = 0x00000000
|
||||||
|
0x00000000 = li r5, 0
|
||||||
|
0x00000004 = lis r30, _shareAddr@ha
|
||||||
|
0x00000008 = stw r5, _shareAddr@l(r30)
|
||||||
|
0x0000000C = mr r30, r3
|
||||||
|
0x00000010 = blr
|
||||||
|
|
||||||
|
0x023B74A0 = bla _iniPtr
|
||||||
|
|
||||||
|
_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
|
||||||
|
;0x022CAC5C = nop ; no limit
|
||||||
|
;0x022CA874 = mulli r28, r4, 10 ; tickets multiplier
|
||||||
|
|
||||||
|
#####################################################################################################
|
||||||
|
[XCX_SQUADMISSIONS_EU]
|
||||||
|
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||||
|
|
||||||
|
# getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||||
|
0x0295EA10 = nop
|
||||||
|
0x0295EA14 = li r0, 42
|
||||||
|
|
||||||
|
# menu::MenuSquadMission::process((void))
|
||||||
|
0x02BFC7C0 = li r11, 1
|
||||||
|
|
||||||
|
##################### BLADE Home Terminal (for Squad Quest Selection)
|
||||||
|
|
||||||
|
0x02AC5C10 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
|
||||||
|
|
||||||
|
#################### Change Squad Mission using main menu
|
||||||
|
|
||||||
|
_shareAddr = 0x1039C17C
|
||||||
|
|
||||||
|
codeCaveSize = 0x10
|
||||||
|
|
||||||
|
_savePtr = 0x00000000
|
||||||
|
0x00000000 = li r3, 1
|
||||||
|
0x00000004 = lis r30, _shareAddr@ha
|
||||||
|
0x00000008 = stw r3, _shareAddr@l(r30)
|
||||||
|
0x0000000C = blr
|
||||||
|
|
||||||
|
0x02B85134 = bla _savePtr
|
||||||
|
0x02B8514C = bla _savePtr
|
||||||
|
|
||||||
|
0x02B85084 = li r11, 1
|
||||||
|
0x02B850A8 = li r11, 1
|
||||||
|
|
||||||
|
#####################################################################################################
|
||||||
|
[XCX_SQUADMISSIONS_US]
|
||||||
|
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||||
|
|
||||||
|
# getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||||
|
0x0295EA00 = nop
|
||||||
|
0x0295EA04 = li r0, 42
|
||||||
|
|
||||||
|
# menu::MenuSquadMission::process((void))
|
||||||
|
0x02BFC7B0 = li r11, 1
|
||||||
|
|
||||||
|
##################### BLADE Home Terminal (for Squad Quest Selection)
|
||||||
|
|
||||||
|
;menu::CBladeHomuMenu
|
||||||
|
;menu:CTerminalMenu
|
||||||
|
0x02AC5C00 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
|
||||||
|
|
||||||
|
#################### Change Squad Mission using main menu
|
||||||
|
|
||||||
|
_shareAddr = 0x1039C17C
|
||||||
|
|
||||||
|
codeCaveSize = 0x10
|
||||||
|
|
||||||
|
_savePtr = 0x00000000
|
||||||
|
0x00000000 = li r3, 1
|
||||||
|
0x00000004 = lis r30, _shareAddr@ha
|
||||||
|
0x00000008 = stw r3, _shareAddr@l(r30)
|
||||||
|
0x0000000C = blr
|
||||||
|
|
||||||
|
0x02B85124 = bla _savePtr
|
||||||
|
0x02B8513C = bla _savePtr
|
||||||
|
|
||||||
|
0x02B85074 = li r11, 1
|
||||||
|
0x02B85098 = li r11, 1
|
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Offline Squad Quests"
|
||||||
|
version=2
|
9
Modifications/XenobladeX_GPL_Overdrive/patches.txt
Normal file
9
Modifications/XenobladeX_GPL_Overdrive/patches.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[XCX_OVERDRIVE]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : Gear::CGear::IsPermit((void))
|
||||||
|
; WHAT : Always returns true to unlock Overdrive even before chapter 5
|
||||||
|
|
||||||
|
0x021B70AC = li r3, 1
|
||||||
|
0x021B70C4 = li r3, 1
|
4
Modifications/XenobladeX_GPL_Overdrive/rules.txt
Normal file
4
Modifications/XenobladeX_GPL_Overdrive/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Overdrive unlocked"
|
||||||
|
version=2
|
@ -0,0 +1,23 @@
|
|||||||
|
[XCX_UNLOCKPOSTSKELLS_EU]
|
||||||
|
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||||
|
|
||||||
|
# menu::MenuArmsCompany::IsDollLicense(const(void))
|
||||||
|
0x02A6B838 = li r3, 1 ; always returns true
|
||||||
|
|
||||||
|
# menu::MenuArmsCompanyDevelopSelectBlueprint::InitializeItemData((void))
|
||||||
|
0x02A7B220 = li r30, 0 ; unlock everything
|
||||||
|
|
||||||
|
# menu::MenuArmsCompanyDevelopSelectBlueprint::CheckEnableDevelop(const(int, bool))
|
||||||
|
;0x02A7A784 = li r3, 0 ; [CHEAT] ignore miranium and resources requirements
|
||||||
|
|
||||||
|
;#####################################################################################
|
||||||
|
[XCX_UNLOCKPOSTSKELLS_US]
|
||||||
|
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||||
|
|
||||||
|
# menu::MenuArmsCompany::IsDollLicense(const(void))
|
||||||
|
0x02A6B828 = li r3, 1 ; always returns true
|
||||||
|
|
||||||
|
# menu::MenuArmsCompanyDevelopSelectBlueprint::InitializeItemData((void))
|
||||||
|
0x02A7B210 = li r30, 0 ; unlock everything
|
||||||
|
|
||||||
|
;0x02A7A774 = li r3, 0 ; [CHEAT] ignore miranium and resources requirements
|
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Post-game skells unlocked"
|
||||||
|
version=2
|
@ -0,0 +1,23 @@
|
|||||||
|
[XCX_RELEASEDIST]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x20
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : cfs::CfCompoPropertyEnemy::getReleasePcDistanceXZ
|
||||||
|
; WHAT : Reduce release distance
|
||||||
|
|
||||||
|
0x00000000 = .float 2.0 ; default is 1.0
|
||||||
|
_distanceConst = 0x00000000
|
||||||
|
|
||||||
|
_getRelease = 0x00000004
|
||||||
|
0x00000004 = lis r4, _distanceConst@ha
|
||||||
|
0x00000008 = lfs f0, _distanceConst@l(r4)
|
||||||
|
0x0000000C = fdivs f1, f1, f0
|
||||||
|
0x00000010 = frsp f1, f1
|
||||||
|
0x00000014 = blr
|
||||||
|
|
||||||
|
0x025D8B2C = b _getRelease ; cfs::CfCompoPropertyEnemy::getReleasePcDistanceXZ
|
||||||
|
;0x025D8B34 = b _getRelease ; cfs::CfCompoPropertyEnemy::getReleasePcDistanceY
|
||||||
|
;0x025D8B08 = b _getRelease ; cfs::CfCompoPropertyEnemy::getReleaseDistanceXZ
|
||||||
|
;0x025D8B14 = b _getRelease ; cfs::CfCompoPropertyEnemy::getReleaseDistanceY
|
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - GPL - Release Distance Reduced"
|
||||||
|
version=2
|
28
Modifications/XenobladeX_HUD_EManual/patches.txt
Normal file
28
Modifications/XenobladeX_HUD_EManual/patches.txt
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
[XCX_EMANUAL_EU]
|
||||||
|
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; WHO : menu::MenuMainMenu::funcManual((int))
|
||||||
|
; WHAT : Replace eManual function with timeManipulate function
|
||||||
|
|
||||||
|
_openTimeManipulate = 0x02C7A2F0
|
||||||
|
_isFinishTM = 0x02C7A4CC # MenuTask::isFinishTimeManipulate((void))
|
||||||
|
|
||||||
|
0x02B83CB4 = bl _openTimeManipulate
|
||||||
|
0x02B83CCC = bl _openTimeManipulate
|
||||||
|
|
||||||
|
0x02B83C7C = bl _isFinishTM
|
||||||
|
0x02B83C98 = bl _isFinishTM
|
||||||
|
|
||||||
|
#################################################################################
|
||||||
|
[XCX_EMANUAL_US]
|
||||||
|
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||||
|
|
||||||
|
_openTimeManipulate = 0x02C7A290
|
||||||
|
_isFinishTM = 0x02C7A46C # MenuTask::isFinishTimeManipulate((void))
|
||||||
|
|
||||||
|
0x02B83CA4 = bl _openTimeManipulate
|
||||||
|
0x02B83CBC = bl _openTimeManipulate
|
||||||
|
|
||||||
|
0x02B83C6C = bl _isFinishTM
|
||||||
|
0x02B83C88 = bl _isFinishTM
|
4
Modifications/XenobladeX_HUD_EManual/rules.txt
Normal file
4
Modifications/XenobladeX_HUD_EManual/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - HUD - eManual menu changes time"
|
||||||
|
version=2
|
27
Modifications/XenobladeX_PHY_MoonJump/patches.txt
Normal file
27
Modifications/XenobladeX_PHY_MoonJump/patches.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
[XCX_MOONJUMP]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x28
|
||||||
|
|
||||||
|
0x00000020 = .float 1.05 ; vertical velocity (default is 1.00)
|
||||||
|
0x00000024 = .float 2.0 ; horizontal velocity (default is 1.00)
|
||||||
|
|
||||||
|
_velocity = 0x00000020
|
||||||
|
_hvelocity = 0x00000024
|
||||||
|
|
||||||
|
_setVelocity = 0x00000000
|
||||||
|
0x00000000 = lis r3, _velocity@h
|
||||||
|
0x00000004 = lfs f30, _velocity@l(r3)
|
||||||
|
0x00000008 = fdivs f30, f1, f30
|
||||||
|
0x0000000C = blr
|
||||||
|
0x0264A700 = bla _setVelocity
|
||||||
|
|
||||||
|
_setHorizVelocity = 0x00000010
|
||||||
|
0x00000010 = lis r12, _hvelocity@h
|
||||||
|
0x00000014 = lfs f31, _hvelocity@l(r12)
|
||||||
|
0x00000018 = fdivs f31, f1, f31
|
||||||
|
0x0000001C = blr
|
||||||
|
0x0264C0EC = bla _setHorizVelocity
|
||||||
|
|
||||||
|
# chr::CIL_BaseJump::decideLandingType((void))
|
||||||
|
0x024714E0 = li r3, 5
|
4
Modifications/XenobladeX_PHY_MoonJump/rules.txt
Normal file
4
Modifications/XenobladeX_PHY_MoonJump/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - PHY - Jump to the Moon!"
|
||||||
|
version=2
|
17
Modifications/XenobladeX_PHY_MoveSpeed/patches.txt
Normal file
17
Modifications/XenobladeX_PHY_MoveSpeed/patches.txt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[XCX_MOVESPEED]
|
||||||
|
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||||
|
|
||||||
|
codeCaveSize = 0x18
|
||||||
|
|
||||||
|
0x00000014 = .float 0.7 ; dash speed (smallest means fastest, default is ?)
|
||||||
|
_speed = 0x00000014
|
||||||
|
|
||||||
|
_setSpeed = 0x00000000
|
||||||
|
0x00000000 = lis r3, _speed@h
|
||||||
|
0x00000004 = lfs f13, _speed@l(r3)
|
||||||
|
0x00000008 = fdivs f1, f1, f13
|
||||||
|
0x0000000C = lwz r3, 0(r31)
|
||||||
|
0x00000010 = blr
|
||||||
|
|
||||||
|
# chr::CInnerLabelState::applyFieldMoveWeight((float))
|
||||||
|
0x02643330 = bla _setSpeed ; SetVariableFloat(0xBD,float)
|
4
Modifications/XenobladeX_PHY_MoveSpeed/rules.txt
Normal file
4
Modifications/XenobladeX_PHY_MoveSpeed/rules.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = "Xenoblade Chronicles X - PHY - Run Forrest, run!"
|
||||||
|
version=2
|
Loading…
Reference in New Issue
Block a user