Difference between revisions of "0018e660 - 0018e6b4"
Jump to navigation
Jump to search
m |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Used in [[Weather Elemental effects]] routine. Credit goes to Dokurider for finding it for me. | + | Used in [[Weather Elemental effects]] routine. Credit goes to Dokurider for finding it for me. Credit to Talcall for finding the snowy weather flag. |
− | + | ||
− | 0018e660: 27bdffe8 addiu r29,r29, | + | No Parameters |
− | 0018e664: afbf0010 sw r31,0x0010(r29) | + | |
− | 0018e668: 0c04ed64 jal 0x0013b590 | + | Returns r2 = 0x00 if 0x800b6698 has flag 0x02 ON (ignore weather ? Inside of building ?) |
− | 0018e66c: 34040023 ori r4,r0,0x0023 | + | r2 = Weather value |
− | 0018e670: 3c04800b lui r4,0x800b | + | r2 = Weather value + 0x03 if it snows (0x800b6698 has flag 0x01 ON) |
− | 0018e674: 8c846698 lw r4,0x6698(r4) | + | |
− | 0018e678: 00401821 addu r3,r2,r0 | + | See [[Weather]] - See [[#Notes|Notes]] |
− | 0018e67c: 30820002 andi r2,r4,0x0002 | + | --------------------------------------------------------------------------------------------- |
− | 0018e680: 14400009 bne r2,r0,0x0018e6a8 | + | 0018e660: 27bdffe8 addiu r29,r29,-0x0018 |
− | 0018e684: 00001021 addu r2,r0,r0 | + | 0018e664: afbf0010 sw r31,0x0010(r29) |
− | 0018e688: 28620002 slti r2,r3,0x0002 | + | 0018e668: 0c04ed64 jal 0x0013b590 |{{f/jal|Get Script Variable |Get Script Variable }} Returns r2 = Weather value |
− | 0018e68c: 14400006 bne r2,r0,0x0018e6a8 | + | 0018e66c: 34040023 ori r4,r0,0x0023 |{{f/std|<nowiki>r4 = 0x23 (Variable Weather)</nowiki>}} |
− | 0018e690: 00601021 addu r2,r3,r0 | + | 0018e670: 3c04800b lui r4,0x800b | |
− | 0018e694: 30820001 andi r2,r4,0x0001 | + | 0018e674: 8c846698 lw r4,0x6698(r4) |{{f/adr|<nowiki>r4 = weather palette mods</nowiki>}} {{f/std| 0x800b6698 / 800b6698}} |
− | 0018e698: 10400003 beq r2,r0,0x0018e6a8 | + | 0018e678: 00401821 addu r3,r2,r0 |{{f/std|<nowiki>r3 = weather value</nowiki>}} |
− | 0018e69c: 00601021 addu r2,r3,r0 | + | 0018e67c: 30820002 andi r2,r4,0x0002 |{{f/std|<nowiki>r2 <> 0x00 if Palette Mod = 0x2 palette mod bitflag</nowiki>}} |
− | 0018e6a0: 24630003 addiu r3,r3,0x0003 | + | 0018e680: 14400009 bne r2,r0,0x0018e6a8 {{f/Cond|If Ignore weather is OFF}} /Else branch to END (r2 set to 0x00) |
− | 0018e6a4: 00601021 addu r2,r3,r0 | + | 0018e684: 00001021 addu r2,r0,r0 |{{f/std|<nowiki>r2 = 0x00</nowiki>}} |
− | 0018e6a8: 8fbf0010 lw r31,0x0010(r29) | + | 0018e688: 28620002 slti r2,r3,0x0002 |{{f/std|<nowiki>r2 = 0x01 if Weather < 0x02 (clear sky)</nowiki>}} |
− | 0018e6ac: 27bd0018 addiu r29,r29,0x0018 | + | 0018e68c: 14400006 bne r2,r0,0x0018e6a8 {{f/Cond|If It's not a beautiful day}} |
− | 0018e6b0: 03e00008 jr r31 | + | 0018e690: 00601021 addu r2,r3,r0 |{{f/std|<nowiki>r2 = Weather value (0x00 or 0x01)</nowiki>}} |
− | 0018e6b4: 00000000 nop | + | 0018e694: 30820001 andi r2,r4,0x0001 |{{f/std|r2 <> 0x00 if it snows}} |
+ | 0018e698: 10400003 beq r2,r0,0x0018e6a8 {{f/Cond|If it snows}} | ||
+ | 0018e69c: 00601021 addu r2,r3,r0 |{{f/std|<nowiki>r2 = Weather value</nowiki>}} | ||
+ | 0018e6a0: 24630003 addiu r3,r3,0x0003 |{{f/std|<nowiki>r3 = Weather + 0x03</nowiki>}} | ||
+ | 0018e6a4: 00601021 addu r2,r3,r0 |{{f/std|<nowiki>r2 = Weather + 3 (snowy weather)</nowiki>}} | ||
+ | 0018e6a8: 8fbf0010 lw r31,0x0010(r29) END | ||
+ | 0018e6ac: 27bd0018 addiu r29,r29,0x0018 | ||
+ | 0018e6b0: 03e00008 jr r31 | ||
+ | 0018e6b4: 00000000 nop | ||
+ | === Notes === | ||
+ | Returned values | ||
+ | r2 = 0x00 If weather is ignored | ||
+ | r2 = 0x01 Clear | ||
+ | r2 = 0x02 Rain | ||
+ | r2 = 0x03 Thunderstorm | ||
+ | r2 = 0x04 Strong Thunderstorm | ||
+ | r2 = 0x05 Snowstorm | ||
+ | r2 = 0x06 Snowstorm | ||
+ | r2 = 0x07 Strong Snowstorm | ||
+ | === Return locations === | ||
+ | '''Battle.bin''' | ||
+ | 00174380: [[00174370-001743c4]] | ||
+ | 00186eec: [[Weather_Elemental_effects]] |
Latest revision as of 12:36, 10 April 2022
Used in Weather Elemental effects routine. Credit goes to Dokurider for finding it for me. Credit to Talcall for finding the snowy weather flag. No Parameters Returns r2 = 0x00 if 0x800b6698 has flag 0x02 ON (ignore weather ? Inside of building ?) r2 = Weather value r2 = Weather value + 0x03 if it snows (0x800b6698 has flag 0x01 ON) See Weather - See Notes --------------------------------------------------------------------------------------------- 0018e660: 27bdffe8 addiu r29,r29,-0x0018 0018e664: afbf0010 sw r31,0x0010(r29) 0018e668: 0c04ed64 jal 0x0013b590 |-->Get Script Variable Returns r2 = Weather value 0018e66c: 34040023 ori r4,r0,0x0023 |r4 = 0x23 (Variable Weather) 0018e670: 3c04800b lui r4,0x800b | 0018e674: 8c846698 lw r4,0x6698(r4) |r4 = weather palette mods 0x800b6698 / 800b6698 0018e678: 00401821 addu r3,r2,r0 |r3 = weather value 0018e67c: 30820002 andi r2,r4,0x0002 |r2 <> 0x00 if Palette Mod = 0x2 palette mod bitflag 0018e680: 14400009 bne r2,r0,0x0018e6a8 #If Ignore weather is OFF /Else branch to END (r2 set to 0x00) 0018e684: 00001021 addu r2,r0,r0 |r2 = 0x00 0018e688: 28620002 slti r2,r3,0x0002 |r2 = 0x01 if Weather < 0x02 (clear sky) 0018e68c: 14400006 bne r2,r0,0x0018e6a8 #If It's not a beautiful day 0018e690: 00601021 addu r2,r3,r0 |r2 = Weather value (0x00 or 0x01) 0018e694: 30820001 andi r2,r4,0x0001 |r2 <> 0x00 if it snows 0018e698: 10400003 beq r2,r0,0x0018e6a8 #If it snows 0018e69c: 00601021 addu r2,r3,r0 |r2 = Weather value 0018e6a0: 24630003 addiu r3,r3,0x0003 |r3 = Weather + 0x03 0018e6a4: 00601021 addu r2,r3,r0 |r2 = Weather + 3 (snowy weather) 0018e6a8: 8fbf0010 lw r31,0x0010(r29) END 0018e6ac: 27bd0018 addiu r29,r29,0x0018 0018e6b0: 03e00008 jr r31 0018e6b4: 00000000 nop
Notes
Returned values r2 = 0x00 If weather is ignored r2 = 0x01 Clear r2 = 0x02 Rain r2 = 0x03 Thunderstorm r2 = 0x04 Strong Thunderstorm r2 = 0x05 Snowstorm r2 = 0x06 Snowstorm r2 = 0x07 Strong Snowstorm
Return locations
Battle.bin 00174380: 00174370-001743c4 00186eec: Weather_Elemental_effects