91 lines
3.4 KiB
ArmAsm
91 lines
3.4 KiB
ArmAsm
.meta name="Draw Distance"
|
|
.meta description="Extends the draw\ndistance of many\nobjects"
|
|
# Original code by Ralf @ GC-Forever and Aleron Ives
|
|
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
|
|
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
|
|
|
|
.versions 3OE0 3OE1 3OE2 3OJ2 3OJ3 3OJ4 3OJ5 3OP0
|
|
|
|
entry_ptr:
|
|
reloc0:
|
|
.offsetof start
|
|
start:
|
|
.include WriteCodeBlocksGC
|
|
|
|
.data 0x8000DFA0
|
|
.data 0x00000040
|
|
.address 0x8000DFA0
|
|
hook1:
|
|
lfs f30, [r2 - <VERS 0x3E00 0x3E00 0x3E00 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00>]
|
|
fmuls f30, f30, f1
|
|
blr
|
|
hook2:
|
|
lfs f2, [r2 - <VERS 0x3E00 0x3E00 0x3E00 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00>]
|
|
lfs f0, [r30 + 0x001C]
|
|
fmuls f0, f0, f2
|
|
blr
|
|
hook3:
|
|
lfs f28, [r2 - <VERS 0x3E00 0x3E00 0x3E00 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00>]
|
|
fmuls f28, f28, f2
|
|
blr
|
|
hook4:
|
|
lfs f0, [r2 - <VERS 0x3E00 0x3E00 0x3E00 0x3E08 0x3E08 0x3E08 0x3E08 0x3E00>]
|
|
lfs f1, [r3 + 0x000C]
|
|
fmuls f0, f0, f1
|
|
stfs [r3 + 0x000C], f0
|
|
lis r3, <VERS 0x804C 0x804C 0x804D 0x804C 0x804C 0x804D 0x804D 0x804D>
|
|
blr
|
|
|
|
.data <VERS 0x80100B8C 0x80100B8C 0x80100A60 0x801008E8 0x80100AD0 0x80100B74 0x80100A50 0x80100C50>
|
|
.data 0x00000004
|
|
.address <VERS 0x80100B8C 0x80100B8C 0x80100A60 0x801008E8 0x80100AD0 0x80100B74 0x80100A50 0x80100C50>
|
|
bl hook1
|
|
|
|
.data <VERS 0x80156AD8 0x80156AD8 0x80156BF8 0x8015671C 0x80156AD0 0x80156C34 0x80156B94 0x801570BC>
|
|
.data 0x00000004
|
|
.address <VERS 0x80156AD8 0x80156AD8 0x80156BF8 0x8015671C 0x80156AD0 0x80156C34 0x80156B94 0x801570BC>
|
|
bl hook2
|
|
|
|
.data <VERS 0x801A2040 0x801A2040 0x801A2164 0x801A1C64 0x801A203C 0x801A21A0 0x801A2100 0x801A2628>
|
|
.data 0x00000004
|
|
.address <VERS 0x801A2040 0x801A2040 0x801A2164 0x801A1C64 0x801A203C 0x801A21A0 0x801A2100 0x801A2628>
|
|
bl hook3
|
|
|
|
.data <VERS 0x801A2240 0x801A2240 0x801A2364 0x801A1E64 0x801A223C 0x801A23A0 0x801A2300 0x801A2828>
|
|
.data 0x00000004
|
|
.address <VERS 0x801A2240 0x801A2240 0x801A2364 0x801A1E64 0x801A223C 0x801A23A0 0x801A2300 0x801A2828>
|
|
bl hook1
|
|
|
|
.data <VERS 0x80205840 0x80205840 0x80206728 0x80205044 0x802058B8 0x80206640 0x802063F4 0x80206124>
|
|
.data 0x00000004
|
|
.address <VERS 0x80205840 0x80205840 0x80206728 0x80205044 0x802058B8 0x80206640 0x802063F4 0x80206124>
|
|
bl hook4
|
|
|
|
.data <VERS 0x80205FE4 0x80205FE4 0x80206ECC 0x802057E8 0x8020605C 0x80206DE4 0x80206B98 0x802068C8>
|
|
.data 0x00000004
|
|
.address <VERS 0x80205FE4 0x80205FE4 0x80206ECC 0x802057E8 0x8020605C 0x80206DE4 0x80206B98 0x802068C8>
|
|
bl hook4
|
|
|
|
.data <VERS 0x805C8CB0 0x805CFCD0 0x805D94F0 0x805C83A8 0x805D29A8 0x805D9E48 0x805D9BE8 0x805D5730>
|
|
.data 0x00000004
|
|
.data 0x47AFC800
|
|
|
|
.data <VERS 0x805C9B5C 0x805D0B7C 0x805DA39C 0x805C9254 0x805D3854 0x805DACF4 0x805DAA94 0x805D65DC>
|
|
.data 0x00000004
|
|
.data 0x47742400
|
|
|
|
.data <VERS 0x805CA184 0x805D11A4 0x805DA9C4 0x805C987C 0x805D3E7C 0x805DB31C 0x805DB0BC 0x805D6C04>
|
|
.data 0x00000004
|
|
.data 0x491C4000
|
|
|
|
.data <VERS 0x805CB010 0x805D2030 0x805DB850 0x805CA708 0x805D4D08 0x805DC1A8 0x805DBF48 0x805D7A90>
|
|
.data 0x00000004
|
|
.data 0x47AFC800
|
|
|
|
.data <VERS 0x805CB5A0 0x805D25C0 0x805DBDE0 0x805CAC98 0x805D5298 0x805DC738 0x805DC4D8 0x805D8020>
|
|
.data 0x00000004
|
|
.data 0x44AF0000
|
|
|
|
.data 0x00000000
|
|
.data 0x00000000
|