blend_palette
This commit is contained in:
@@ -1,186 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start BlendPalette
|
||||
BlendPalette: @ 8045274
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x4
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
mov r8, r0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
mov r12, r1
|
||||
lsls r2, 24
|
||||
lsrs r7, r2, 24
|
||||
mov r0, sp
|
||||
strh r3, [r0]
|
||||
movs r6, 0
|
||||
cmp r6, r12
|
||||
bcs _080452FA
|
||||
ldr r0, _0804530C @ =gPlttBufferUnfaded
|
||||
mov r10, r0
|
||||
ldr r1, _08045310 @ =gPlttBufferFaded
|
||||
mov r9, r1
|
||||
_080452A2:
|
||||
mov r0, r8
|
||||
adds r5, r6, r0
|
||||
lsls r5, 16
|
||||
lsrs r5, 15
|
||||
mov r1, r10
|
||||
adds r0, r5, r1
|
||||
ldr r3, [r0]
|
||||
lsls r4, r3, 27
|
||||
lsls r2, r3, 22
|
||||
lsls r3, 17
|
||||
add r5, r9
|
||||
lsrs r4, 27
|
||||
ldr r1, [sp]
|
||||
lsls r0, r1, 27
|
||||
lsrs r0, 27
|
||||
subs r0, r4
|
||||
muls r0, r7
|
||||
asrs r0, 4
|
||||
adds r4, r0
|
||||
lsrs r2, 27
|
||||
lsls r0, r1, 22
|
||||
lsrs r0, 27
|
||||
subs r0, r2
|
||||
muls r0, r7
|
||||
asrs r0, 4
|
||||
adds r2, r0
|
||||
lsls r2, 5
|
||||
orrs r4, r2
|
||||
lsrs r3, 27
|
||||
lsls r1, 17
|
||||
lsrs r1, 27
|
||||
subs r1, r3
|
||||
adds r0, r1, 0
|
||||
muls r0, r7
|
||||
asrs r0, 4
|
||||
adds r3, r0
|
||||
lsls r3, 10
|
||||
orrs r4, r3
|
||||
strh r4, [r5]
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
cmp r6, r12
|
||||
bcc _080452A2
|
||||
_080452FA:
|
||||
add sp, 0x4
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0804530C: .4byte gPlttBufferUnfaded
|
||||
_08045310: .4byte gPlttBufferFaded
|
||||
thumb_func_end BlendPalette
|
||||
|
||||
thumb_func_start sub_8045314
|
||||
sub_8045314: @ 8045314
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
adds r5, r0, 0
|
||||
adds r6, r2, 0
|
||||
adds r4, r3, 0
|
||||
lsls r1, 16
|
||||
lsrs r2, r1, 16
|
||||
cmp r6, 0x10
|
||||
bne _08045342
|
||||
subs r4, 0x1
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
beq _080453B2
|
||||
_08045336:
|
||||
strh r2, [r5]
|
||||
adds r5, 0x2
|
||||
subs r4, 0x1
|
||||
cmp r4, r0
|
||||
bne _08045336
|
||||
b _080453B2
|
||||
_08045342:
|
||||
movs r0, 0x1F
|
||||
movs r3, 0x1F
|
||||
mov r9, r3
|
||||
mov r7, r9
|
||||
ands r7, r2
|
||||
mov r9, r7
|
||||
lsrs r2, r1, 21
|
||||
ands r2, r0
|
||||
mov r12, r2
|
||||
lsrs r1, 26
|
||||
mov r10, r1
|
||||
mov r3, r10
|
||||
ands r3, r0
|
||||
mov r10, r3
|
||||
subs r4, 0x1
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
beq _080453B2
|
||||
movs r7, 0x1F
|
||||
mov r8, r7
|
||||
_0804536C:
|
||||
ldrh r2, [r5]
|
||||
movs r3, 0x1F
|
||||
ands r3, r2
|
||||
lsls r2, 16
|
||||
lsrs r1, r2, 21
|
||||
mov r0, r8
|
||||
ands r1, r0
|
||||
lsrs r2, 26
|
||||
ands r2, r0
|
||||
mov r7, r9
|
||||
subs r0, r7, r3
|
||||
muls r0, r6
|
||||
lsrs r0, 4
|
||||
adds r3, r0
|
||||
mov r7, r12
|
||||
subs r0, r7, r1
|
||||
muls r0, r6
|
||||
lsrs r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 5
|
||||
orrs r3, r1
|
||||
mov r1, r10
|
||||
subs r0, r1, r2
|
||||
muls r0, r6
|
||||
lsrs r0, 4
|
||||
adds r2, r0
|
||||
lsls r2, 10
|
||||
orrs r3, r2
|
||||
strh r3, [r5]
|
||||
adds r5, 0x2
|
||||
subs r4, 0x1
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
bne _0804536C
|
||||
_080453B2:
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8045314
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
@@ -1159,7 +1159,7 @@ DoWarp: @ 807E438
|
||||
bl ScriptContext2_Enable
|
||||
bl sub_8055F88
|
||||
bl sub_807DC18
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
movs r0, 0x9
|
||||
bl PlaySE
|
||||
ldr r0, _0807E464 @ =gUnknown_3005020
|
||||
@@ -1182,7 +1182,7 @@ DoDiveWarp: @ 807E470
|
||||
bl ScriptContext2_Enable
|
||||
bl sub_8055F88
|
||||
bl sub_807DC18
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
ldr r0, _0807E494 @ =gUnknown_3005020
|
||||
ldr r1, _0807E498 @ =sub_807DF64
|
||||
str r1, [r0]
|
||||
@@ -1807,7 +1807,7 @@ _0807E95C:
|
||||
_0807E966:
|
||||
bl sub_8055F88
|
||||
_0807E96A:
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
movs r0, 0
|
||||
strh r0, [r5, 0x8]
|
||||
ldr r0, _0807E97C @ =sub_807E718
|
||||
@@ -1891,7 +1891,7 @@ _0807EA00:
|
||||
b _0807EAB0
|
||||
_0807EA10:
|
||||
bl sub_8055F88
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
ldrb r1, [r7, 0x5]
|
||||
movs r0, 0xD
|
||||
negs r0, r0
|
||||
|
||||
+6
-6
@@ -122,7 +122,7 @@ weather_set: @ 8079CF4
|
||||
beq _08079D0A
|
||||
cmp r4, 0xD
|
||||
beq _08079D0A
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
_08079D0A:
|
||||
ldr r1, _08079D4C @ =gUnknown_2037F34
|
||||
ldr r2, _08079D50 @ =0x000006d1
|
||||
@@ -170,7 +170,7 @@ sub_8079D60: @ 8079D60
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
ldr r0, _08079D84 @ =gUnknown_2037F34
|
||||
movs r2, 0xDA
|
||||
lsls r2, 3
|
||||
@@ -193,7 +193,7 @@ sub_8079D8C: @ 8079D8C
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
ldr r1, _08079DB8 @ =gUnknown_2037F34
|
||||
movs r2, 0xDA
|
||||
lsls r2, 3
|
||||
@@ -2625,8 +2625,8 @@ _0807AFFA:
|
||||
_0807B000: .4byte 0x000006dd
|
||||
thumb_func_end SetRainStrengthFromSoundEffect
|
||||
|
||||
thumb_func_start play_some_sound
|
||||
play_some_sound: @ 807B004
|
||||
thumb_func_start PlayRainStoppingSoundEffect
|
||||
PlayRainStoppingSoundEffect: @ 807B004
|
||||
push {lr}
|
||||
bl IsSpecialSEPlaying
|
||||
lsls r0, 24
|
||||
@@ -2658,7 +2658,7 @@ _0807B03C:
|
||||
_0807B042:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end play_some_sound
|
||||
thumb_func_end PlayRainStoppingSoundEffect
|
||||
|
||||
thumb_func_start sub_807B048
|
||||
sub_807B048: @ 807B048
|
||||
|
||||
+6
-6
@@ -854,7 +854,7 @@ _0806F424: .4byte gPaletteFade
|
||||
_0806F428:
|
||||
movs r0, 0x29
|
||||
bl IncrementGameStat
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
bl sub_806EF18
|
||||
bl sub_80563F0
|
||||
ldr r0, _0806F448 @ =sub_810275C
|
||||
@@ -881,7 +881,7 @@ sub_806F44C: @ 806F44C
|
||||
.align 2, 0
|
||||
_0806F460: .4byte gPaletteFade
|
||||
_0806F464:
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
bl sub_806EF18
|
||||
bl sub_80563F0
|
||||
ldr r0, _0806F47C @ =CB2_PartyMenuFromStartMenu
|
||||
@@ -908,7 +908,7 @@ sub_806F480: @ 806F480
|
||||
.align 2, 0
|
||||
_0806F494: .4byte gPaletteFade
|
||||
_0806F498:
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
bl sub_806EF18
|
||||
bl sub_80563F0
|
||||
ldr r0, _0806F4B0 @ =UseFameCheckerFromMenu
|
||||
@@ -935,7 +935,7 @@ sub_806F4B4: @ 806F4B4
|
||||
.align 2, 0
|
||||
_0806F4C8: .4byte gPaletteFade
|
||||
_0806F4CC:
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
bl sub_806EF18
|
||||
bl sub_80563F0
|
||||
ldr r0, _0806F4E4 @ =sub_80568A8
|
||||
@@ -974,7 +974,7 @@ sub_806F4FC: @ 806F4FC
|
||||
.align 2, 0
|
||||
_0806F510: .4byte gPaletteFade
|
||||
_0806F514:
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
bl sub_806EF18
|
||||
bl sub_80563F0
|
||||
ldr r0, _0806F534 @ =sub_8088388
|
||||
@@ -1029,7 +1029,7 @@ sub_806F56C: @ 806F56C
|
||||
.align 2, 0
|
||||
_0806F580: .4byte gPaletteFade
|
||||
_0806F584:
|
||||
bl play_some_sound
|
||||
bl PlayRainStoppingSoundEffect
|
||||
bl sub_80563F0
|
||||
ldr r0, _0806F59C @ =gUnknown_300502C
|
||||
ldrb r0, [r0]
|
||||
|
||||
@@ -12,6 +12,6 @@ void sub_80AEDBC(void);
|
||||
void DoCurrentWeather(void);
|
||||
void SetSav1WeatherFromCurrMapHeader(void);
|
||||
void sub_807B0C4(u16 *, u16 *, u32);
|
||||
void play_some_sound(void);
|
||||
void PlayRainStoppingSoundEffect(void);
|
||||
|
||||
#endif // GUARD_WEATHER_H
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ SECTIONS {
|
||||
asm/trig.o(.text);
|
||||
src/random.o(.text);
|
||||
src/util.o(.text);
|
||||
asm/blend_palette.o(.text);
|
||||
src/blend_palette.o(.text);
|
||||
asm/daycare.o(.text);
|
||||
asm/egg_hatch.o(.text);
|
||||
asm/battle_interface.o(.text);
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
#include "global.h"
|
||||
#include "blend_palette.h"
|
||||
#include "palette.h"
|
||||
|
||||
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor)
|
||||
{
|
||||
u16 i;
|
||||
for (i = 0; i < numEntries; i++)
|
||||
{
|
||||
u16 index = i + palOffset;
|
||||
struct PlttData *data1 = (struct PlttData *)&gPlttBufferUnfaded[index];
|
||||
s8 r = data1->r;
|
||||
s8 g = data1->g;
|
||||
s8 b = data1->b;
|
||||
struct PlttData *data2 = (struct PlttData *)&blendColor;
|
||||
gPlttBufferFaded[index] = ((r + (((data2->r - r) * coeff) >> 4)) << 0)
|
||||
| ((g + (((data2->g - g) * coeff) >> 4)) << 5)
|
||||
| ((b + (((data2->b - b) * coeff) >> 4)) << 10);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8045314(u16 * palbuff, u16 blend_pal, u32 coefficient, s32 size)
|
||||
{
|
||||
if (coefficient == 16)
|
||||
{
|
||||
while (--size != -1)
|
||||
{
|
||||
*palbuff++ = blend_pal;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
u16 r = (blend_pal >> 0) & 0x1F;
|
||||
u16 g = (blend_pal >> 5) & 0x1F;
|
||||
u16 b = (blend_pal >> 10) & 0x1F;
|
||||
while (--size != -1)
|
||||
{
|
||||
u16 r2 = (*palbuff >> 0) & 0x1F;
|
||||
u16 g2 = (*palbuff >> 5) & 0x1F;
|
||||
u16 b2 = (*palbuff >> 10) & 0x1F;
|
||||
*palbuff++ = ((r2 + (((r - r2) * coefficient) >> 4)) << 0)
|
||||
| ((g2 + (((g - g2) * coefficient) >> 4)) << 5)
|
||||
| ((b2 + (((b - b2) * coefficient) >> 4)) << 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -320,7 +320,7 @@ static void Task_SeaGallop_3(void)
|
||||
|
||||
warpInfo = sSeaGallopSpawnTable[gSpecialVar_0x8006];
|
||||
Overworld_SetWarpDestination(warpInfo[0], warpInfo[1], -1, warpInfo[2], warpInfo[3]);
|
||||
play_some_sound();
|
||||
PlayRainStoppingSoundEffect();
|
||||
PlaySE(SE_KAIDAN);
|
||||
gUnknown_3005020 = sub_807DF64;
|
||||
warp_in();
|
||||
|
||||
Reference in New Issue
Block a user