mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-12-23 08:21:51 +01:00
Merge branch 'master' of https://github.com/ActualMandM/cemu_graphic_packs
This commit is contained in:
commit
1109b5b077
@ -9,7 +9,5 @@ Cemu Graphic Packs is a repository where you can find graphic packs that can ups
|
||||
|
||||
It's made by the Cemu community so you're also free to [contribute to the project](https://github.com/ActualMandM/cemu_graphic_packs/wiki/How-to-create-resolution-packs) if you wish.
|
||||
|
||||
Graphic packs that modify game files can be found [here](https://github.com/ActualMandM/cemu_graphic_packs/wiki/Game-Mods).
|
||||
|
||||
### Downloads
|
||||
You can download the latest graphic packs via Cemu's Graphic Pack window directly or download them manually from [our website](https://ActualMandM.github.io/cemu_graphic_packs/)!
|
||||
|
@ -25,9 +25,9 @@
|
||||
#define RAINBOW_EFFECT $rainbow // [0 or 1] set it to 1 to enable rainbow beams effect. in that case, HUE_ROTATION is ignored
|
||||
#define DISABLE_BEAMS $disableBeams // [0 or 1] set it to 1 to hide the lasers completely
|
||||
#define HUE_ROTATION $hue //[0, 360] where 0 and 360 is unchanged Hue and 180 is completely opposite Hue. Check http://i.imgur.com/5UpyIGh.png
|
||||
#define SATURATION_FACTOR 1.0 //[0.0, 1.0] 1.0 means unchanged Saturation, 0.0 means completely desaturated. Values above 1.0 are accepted, but they may cause clipping
|
||||
#define SATURATION_FACTOR $saturation //[0.0, 1.0] 1.0 means unchanged Saturation, 0.0 means completely desaturated. Values above 1.0 are accepted, but they may cause clipping
|
||||
#define VALUE_FACTOR 1.0 //same as above; applies to Value
|
||||
#define ALPHA_FACTOR 1.0 //same as above; applies to Transparency
|
||||
#define ALPHA_FACTOR $alpha //same as above; applies to Transparency
|
||||
|
||||
const float hueRotation = HUE_ROTATION / 360.0;
|
||||
|
||||
|
@ -25,9 +25,9 @@
|
||||
#define RAINBOW_EFFECT $rainbow // [0 or 1] set it to 1 to enable rainbow beams effect. in that case, HUE_ROTATION is ignored
|
||||
#define DISABLE_BEAMS $disableBeams // [0 or 1] set it to 1 to hide the lasers completely
|
||||
#define HUE_ROTATION $hue //[0, 360] where 0 and 360 is unchanged Hue and 180 is completely opposite Hue. Check http://i.imgur.com/5UpyIGh.png
|
||||
#define SATURATION_FACTOR 1.0 //[0.0, 1.0] 1.0 means unchanged Saturation, 0.0 means completely desaturated. Values above 1.0 are accepted, but they may cause clipping
|
||||
#define SATURATION_FACTOR $saturation //[0.0, 1.0] 1.0 means unchanged Saturation, 0.0 means completely desaturated. Values above 1.0 are accepted, but they may cause clipping
|
||||
#define VALUE_FACTOR 1.0 //same as above; applies to Value
|
||||
#define ALPHA_FACTOR 1.0 //same as above; applies to Transparency
|
||||
#define ALPHA_FACTOR $alpha //same as above; applies to Transparency
|
||||
|
||||
const float hueRotation = HUE_ROTATION / 360.0;
|
||||
#ifdef VULKAN
|
||||
|
@ -2,60 +2,126 @@
|
||||
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
|
||||
name = Divine Laser Beams
|
||||
path = "The Legend of Zelda: Breath of the Wild/Mods/Divine Laser Beams"
|
||||
description = Allows customization of the color of the Divine Beasts's Laser Beams. They can also be completely hidden.||Made by Kiri.
|
||||
description = Customizes the appearance of the Divine Beasts's Laser Beams. They can also be completely hidden.||Made by Kiri.
|
||||
version = 6
|
||||
|
||||
[Default]
|
||||
$hue:int = 0
|
||||
$rainbow:int = 0
|
||||
$disableBeams:int = 0
|
||||
$saturation = 1.0
|
||||
$alpha = 1.0
|
||||
|
||||
|
||||
[Preset]
|
||||
name = Disabled (Default)
|
||||
category = Hide Laser
|
||||
name = Yes (Default)
|
||||
category = Show Laser
|
||||
default = 1
|
||||
$disableBeams:int = 0
|
||||
|
||||
[Preset]
|
||||
name = Enabled
|
||||
category = Hide Laser
|
||||
default = 1
|
||||
name = No
|
||||
category = Show Laser
|
||||
$disableBeams:int = 1
|
||||
|
||||
|
||||
[Preset]
|
||||
name = Red (Default)
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Color
|
||||
default = 1
|
||||
$hue:int = 0
|
||||
|
||||
[Preset]
|
||||
name = Rainbow
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Color
|
||||
$rainbow:int = 1
|
||||
|
||||
[Preset]
|
||||
name = Purple
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Color
|
||||
$hue:int = 300
|
||||
|
||||
[Preset]
|
||||
name = Blue
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Color
|
||||
$hue:int = 225
|
||||
|
||||
[Preset]
|
||||
name = Cyan
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Color
|
||||
$hue:int = 160
|
||||
|
||||
[Preset]
|
||||
name = Green
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Color
|
||||
$hue:int = 120
|
||||
|
||||
[Preset]
|
||||
name = Yellow
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Color
|
||||
$hue:int = 45
|
||||
|
||||
|
||||
[Preset]
|
||||
name = 100% (Default)
|
||||
condition = $disableBeams == 0
|
||||
category = Color Saturation
|
||||
default = 1
|
||||
$saturation = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 75%
|
||||
condition = $disableBeams == 0
|
||||
category = Color Saturation
|
||||
$saturation = 0.75
|
||||
|
||||
[Preset]
|
||||
name = 50%
|
||||
condition = $disableBeams == 0
|
||||
category = Color Saturation
|
||||
$saturation = 0.5
|
||||
|
||||
[Preset]
|
||||
name = 25%
|
||||
condition = $disableBeams == 0
|
||||
category = Color Saturation
|
||||
$saturation = 0.25
|
||||
|
||||
|
||||
[Preset]
|
||||
name = 100% (Default)
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Transparency
|
||||
default = 1
|
||||
$alpha = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 75%
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Transparency
|
||||
$alpha = 0.75
|
||||
|
||||
[Preset]
|
||||
name = 50%
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Transparency
|
||||
$alpha = 0.5
|
||||
|
||||
[Preset]
|
||||
name = 25%
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Transparency
|
||||
$alpha = 0.25
|
||||
|
||||
[Preset]
|
||||
name = 10%
|
||||
condition = $disableBeams == 0
|
||||
category = Laser Transparency
|
||||
$alpha = 0.1
|
@ -6,41 +6,38 @@ moduleMatches = 0x6267BFD0
|
||||
actorMultiplier:
|
||||
.float $actor
|
||||
|
||||
_replaceDrawDistanceActorInvoke:
|
||||
lis r12, actorMultiplier@ha
|
||||
lfs f13, actorMultiplier@l(r12)
|
||||
fmuls f1, f1, f13
|
||||
lwz r12, 0x3B0(r29)
|
||||
_setActorDrawDistanceMultiplier:
|
||||
lis r9, actorMultiplier@ha
|
||||
lfs f9, actorMultiplier@l(r9)
|
||||
stfs f9, 0x13BC(r28)
|
||||
blr
|
||||
|
||||
0x037A617C = bla _replaceDrawDistanceActorInvoke
|
||||
0x03857F58 = nop ; Force the draw distance used for load balancing normally to be enabled
|
||||
0x03857F5C = bla _setActorDrawDistanceMultiplier
|
||||
|
||||
_replaceDrawDistanceActorKeepAlive_1:
|
||||
lis r4, actorMultiplier@ha
|
||||
lfs f6, actorMultiplier@l(r4)
|
||||
fmuls f1, f1, f6
|
||||
lwz r4, 0x4FC(r31)
|
||||
blr
|
||||
|
||||
0x0379E6B8 = bla _replaceDrawDistanceActorKeepAlive_1
|
||||
|
||||
_replaceDrawDistanceActorKeepAlive_2:
|
||||
lis r23, actorMultiplier@ha
|
||||
lfs f9, actorMultiplier@l(r23)
|
||||
fmuls f1, f1, f9
|
||||
lfs f9, 0x280(r31)
|
||||
blr
|
||||
|
||||
0x0379E63C = bla _replaceDrawDistanceActorKeepAlive_2
|
||||
|
||||
objectMultiplier:
|
||||
.float $object
|
||||
|
||||
_replaceObjectDrawDistance:
|
||||
lis r9, objectMultiplier@ha
|
||||
lfs f11, objectMultiplier@l(r9)
|
||||
fmuls f1, f1, f11
|
||||
lwz r0, 0xC(r1)
|
||||
objectDivider:
|
||||
.float 1.0 - ($object - 1.0)
|
||||
|
||||
|
||||
_setObjectDrawDistance:
|
||||
lis r12, objectMultiplier@ha
|
||||
lfs f0, objectMultiplier@l(r12)
|
||||
; Doesn't catch objects that don't have their traverseRadiusXZ set, so those default to 0
|
||||
blr
|
||||
|
||||
0x03137F04 = bla _replaceObjectDrawDistance
|
||||
0x03137ECC = nop
|
||||
0x03137ED0 = bla _setObjectDrawDistance
|
||||
|
||||
_setObjectDrawDistanceDivider:
|
||||
fmuls f13, f1, f1
|
||||
lis r8, objectDivider@ha
|
||||
lfs f1, objectDivider@l(r8)
|
||||
fmuls f13, f13, f1
|
||||
blr
|
||||
|
||||
0x0313A60C = bla _setObjectDrawDistanceDivider
|
||||
0x0313A678 = bla _setObjectDrawDistanceDivider
|
@ -48,33 +48,33 @@ $actor = 2
|
||||
|
||||
[Preset]
|
||||
name = Potato (0.2x)
|
||||
category = Trees, Bushes, Landscape And Other Objects (Experimental)
|
||||
category = Trees, Bushes, Landscape And Other Objects
|
||||
$object = 0.2
|
||||
|
||||
[Preset]
|
||||
name = Very Low (0.5x)
|
||||
category = Trees, Bushes, Landscape And Other Objects (Experimental)
|
||||
category = Trees, Bushes, Landscape And Other Objects
|
||||
$object = 0.5
|
||||
|
||||
[Preset]
|
||||
name = Low (0.75x)
|
||||
category = Trees, Bushes, Landscape And Other Objects (Experimental)
|
||||
category = Trees, Bushes, Landscape And Other Objects
|
||||
$object = 0.75
|
||||
|
||||
[Preset]
|
||||
name = Medium (1x)
|
||||
category = Trees, Bushes, Landscape And Other Objects (Experimental)
|
||||
category = Trees, Bushes, Landscape And Other Objects
|
||||
default = 1
|
||||
$object = 1.0
|
||||
|
||||
[Preset]
|
||||
name = High (1.25x)
|
||||
category = Trees, Bushes, Landscape And Other Objects (Experimental)
|
||||
category = Trees, Bushes, Landscape And Other Objects
|
||||
$object = 1.25
|
||||
|
||||
[Preset]
|
||||
name = Ultra (1.5x, requires Extended Memory pack!)
|
||||
category = Trees, Bushes, Landscape And Other Objects (Experimental)
|
||||
category = Trees, Bushes, Landscape And Other Objects
|
||||
$object = 1.5
|
||||
|
||||
|
||||
|
@ -5,9 +5,11 @@ moduleMatches = 0x6267BFD0
|
||||
|
||||
0x02C5E660 = lis r9, 0x8B60 ; add 0x50000000 to main gameheap which by default has a fixed size of 0x3B600000. Can't make it larger due to overlay arena being in the way
|
||||
|
||||
SaveAreaHeapSize = 8 * 1024 * 1024 ; 8MiB (default is 2312KiB)
|
||||
SaveAreaHeapSize = 8 * 1024 * 1024 ; 8MiB (default is 2312KiB)
|
||||
TriggerParamHeapSize = 8 * 1024 * 1024 ; 8MiB (default is around 2616KiB)
|
||||
HavokMainHeapSize = 80 * 1024 * 1024 ; 80MiB (default is 30MiB)
|
||||
HavokMainHeapSize = 80 * 1024 * 1024 ; 80MiB (default is 30MiB)
|
||||
PhysicsTempLowHeapSize = 512 * 1024; 512KiB (default is 128KiB)
|
||||
PhysicsSystemHeapSize = 512 * 1024; 512KiB (default is 128KiB)
|
||||
|
||||
; GameDataHeap
|
||||
0x032015E0 = lis r3, (SaveAreaHeapSize@ha + TriggerParamHeapSize@ha)
|
||||
@ -19,35 +21,94 @@ HavokMainHeapSize = 80 * 1024 * 1024 ; 80MiB (default is 30MiB)
|
||||
; GameDataHeap -> TriggerParam
|
||||
; Uses the remaining allocatable size of GameDataHeap
|
||||
|
||||
; HavokMainHeap
|
||||
; Physics Memory System -> HavokMainHeap
|
||||
0x037FD6A4 = lis r6, HavokMainHeapSize@ha
|
||||
|
||||
; Physics Memory System -> PhysicsTempDefault
|
||||
|
||||
; Physics Memory System -> PhysicsTempLow
|
||||
0x037fd758 = lis r3, PhysicsTempLowHeapSize@ha
|
||||
|
||||
; Physics Memory System -> PhysicsSystem
|
||||
0x037fd6d4 = lis r3, PhysicsSystemHeapSize@ha
|
||||
|
||||
; Terrain Scene
|
||||
0x02C5A208 = lis r3, 0x400 #lis r3, 0x140
|
||||
|
||||
; KingSystem -> ForestRenderer
|
||||
0x0338cdbc = lis r3,0x80 # lis r3,0x30
|
||||
|
||||
; KingSystem -> ForestRenderer -> ForestRenderer - WorkHeap
|
||||
0x033C9D80 = lis r3, 0x20 # lis r3, 0xC
|
||||
|
||||
|
||||
|
||||
; Overlay arena
|
||||
0x030AA5F4 = lis r7, 0x4000 ; expand overlay arena root heap size to 0x40000000 (1GiB) from default 0x1C000000 (448MiB). Can't make it larger due to forground bucket memory being in the way (starts at 0xE0000000)
|
||||
; Extra size for overlay arena from rules.txt is 0x24000000 (576MiB)
|
||||
; Overlay arena -> FixedHeap
|
||||
; FixedHeap seems to store terrain renderer among other things
|
||||
0x034ED614 = lis r3, 0x0C20 + 0x1000 ; add 256MiB
|
||||
|
||||
; Overlay arena -> MoveableMemoryHeap
|
||||
; For resource textures?
|
||||
0x034ED66C = lis r3, 0x0FD0 + 0x1000 ; add 256MiB
|
||||
|
||||
; Increase the size of the resource heap for small resources. When using mods like e.g. draw distance this would likely be the reason why it would spawn panic moons.
|
||||
_increaseResourceSmallHeap:
|
||||
lwz r10, 0x70(r24)
|
||||
addis r10, r10, 0x500
|
||||
stw r10, 0x70(r24)
|
||||
blr
|
||||
; Overlay arena -> FixedHeap -> GameDataWork
|
||||
0x034ed55c = lis r3, 0x40 + 0x20;
|
||||
|
||||
0x037EAADC = bla _increaseResourceSmallHeap
|
||||
; Overlay arena -> FixedHeap -> TexArcWork
|
||||
0x034eced8 = lis r3, 0x200 + 0x200 ; add 32MiB
|
||||
|
||||
; Overlay arena -> FixedHeap -> Audio(OverlayArena)
|
||||
0x034ed1e4 = lis r6, 0x1a0 + 0x200 ; add 32MiB
|
||||
|
||||
; Overlay arena -> FixedHeap -> TexArcWork
|
||||
0x034ECED8 = lis r3, 0x200 + 0x400 ; add 64MiB
|
||||
|
||||
; 'Main' (unsure what this is responsible for)
|
||||
0x0340F31C = li r7, 0x87 + 0x20 ; add 32MiB (register stores size in MiB)
|
||||
0x0340f320 = nop
|
||||
0x0340f324 = nop
|
||||
0x0340f328 = nop
|
||||
0x0340f32C = nop
|
||||
|
||||
; MovableMemory
|
||||
;0x0340F334 = li r9, 0xFB + 0x180 ; add 384MiB -> Too much
|
||||
0x0340F334 = li r9, 0xFB + 0x100 ; add 256MiB
|
||||
0x0340f338 = nop
|
||||
0x0340f33C = nop
|
||||
|
||||
; ForResourceS
|
||||
0x0340f3f4 = lis r0,0x940 + 0x1000 ; add 256MiB
|
||||
|
||||
; ForResourceL
|
||||
; 0340F370 addis r26, r26, 0x20
|
||||
; size seems to have extra space added dynamically based on unknown parameters?
|
||||
; ends up as 0x10f00000
|
||||
0x340F370 = lis r26, 0x2200 ; add around 288MiB
|
||||
|
||||
; PlacementMgr heap
|
||||
0x037c0f30 = li r28,0x5a + 0x40 ; in MiB
|
||||
|
||||
|
||||
; Increase the size of the resource heap for small resources. When using mods like e.g. draw distance this would likely be the reason why it would spawn panic moons.
|
||||
;;_increaseResourceSmallHeap:
|
||||
;;lwz r10, 0x70(r24)
|
||||
;;addis r10, r10, 0x500
|
||||
;;stw r10, 0x70(r24)
|
||||
;;blr
|
||||
|
||||
;;0x037EAADC = bla _increaseResourceSmallHeap
|
||||
|
||||
; Increase the size of the resource heap for large resources. When using mods like e.g. draw distance this would likely be the reason why it would spawn panic moons.
|
||||
_increaseResourceLargeHeap:
|
||||
lwz r11, 0x6C(r24)
|
||||
addis r11, r11, 0x500
|
||||
stw r11, 0x6C(r24)
|
||||
blr
|
||||
;;_increaseResourceLargeHeap:
|
||||
;;lwz r11, 0x6C(r24)
|
||||
;;addis r11, r11, 0x500
|
||||
;;stw r11, 0x6C(r24)
|
||||
;;blr
|
||||
|
||||
0x037EAB84 = bla _increaseResourceLargeHeap
|
||||
;;0x037EAB84 = bla _increaseResourceLargeHeap
|
||||
|
||||
; Some notes on potential further heaps
|
||||
|
||||
|
@ -58,6 +58,9 @@ averageFPS0.5:
|
||||
averageFPS0.5Inv:
|
||||
.float 30/(2*$fpsLimit)
|
||||
|
||||
averageFPS1.5:
|
||||
.float 45/$fpsLimit
|
||||
|
||||
averageSum:
|
||||
.float $fpsLimit*$frameAverageAmount
|
||||
|
||||
@ -253,6 +256,11 @@ fmuls f13, f13, f8 ; Multiply the flurry rush distance (stored in f1) with th
|
||||
fcmpu cr0, f13, f29 ; Execute original instruction that got replaced with this codecave jump
|
||||
blr ; Return to the address that's stored in the link register
|
||||
|
||||
_changeVerticalSens:
|
||||
lis r14, averageFPS1.5@ha ; Load average FPS...
|
||||
lfs f11, averageFPS1.5@l(r14) ; ...into f11
|
||||
blr
|
||||
|
||||
# Patches
|
||||
|
||||
0x1031E2C0 = .float 2
|
||||
@ -263,6 +271,9 @@ blr ; Return to the address that's stored in the link register
|
||||
|
||||
0x100775AC = .float -999.0 ; Disable something that makes thunderblight ganon yeet off
|
||||
|
||||
0x101B2D34 = .float $fpsLimit ; Fix vertical sensitivity of gyro while using stasis
|
||||
|
||||
0x02B951F0 = bla _changeVerticalSens ; Fix vertical sensitivity of stick while using stasis
|
||||
0x02C6B8F8 = bla _changeFlurryRush ; Fix the flurry rush distance
|
||||
0x02D5F760 = bla _changeArrowTimeDrain ; Fix the stamina drain during arrow time
|
||||
0x03793328 = nop
|
||||
|
Loading…
Reference in New Issue
Block a user