Decompile field weather

This commit is contained in:
DizzyEggg 2018-12-08 19:05:03 +01:00
parent 6068495619
commit 4c23adb5f5
20 changed files with 3808 additions and 8365 deletions

View File

@ -170,9 +170,9 @@ _0814FDD8:
bl FreeAllSpritePalettes
bl ResetPaletteFade
bl reset_temp_tile_data_buffers
bl sub_80AAFA4
bl StartWeather
movs r4, 0
ldr r0, =gUnknown_0854C14C
ldr r0, =gWeatherPtr
ldr r0, [r0]
adds r1, r0, 0
adds r1, 0xF0
@ -334,7 +334,7 @@ _0814FF98:
b _08150224
.pool
_0814FFB4:
ldr r0, =gUnknown_0854C14C
ldr r0, =gWeatherPtr
ldr r0, [r0]
adds r1, r0, 0
adds r1, 0xF0
@ -649,7 +649,7 @@ c2_8011A1C: @ 8150258
bl sub_80AB130
add r0, sp, 0x4
mov r8, r0
ldr r0, =gUnknown_0854C14C
ldr r0, =gWeatherPtr
ldr r0, [r0]
adds r1, r0, 0
adds r1, 0xF0
@ -831,7 +831,7 @@ _08150422:
b _08150542
_0815042E:
ldrb r0, [r3, 0x2]
bl weather_set
bl ChangeWeather
ldr r1, [r5]
movs r0, 0x1
strb r0, [r1, 0x1]
@ -844,7 +844,7 @@ _0815043C:
beq _08150448
b _08150542
_08150448:
ldr r0, =gUnknown_0854C14C
ldr r0, =gWeatherPtr
ldr r0, [r0]
adds r2, r0, 0
adds r2, 0xF0
@ -881,7 +881,7 @@ _08150478:
b _08150542
.pool
_08150490:
ldr r0, =gUnknown_0854C14C
ldr r0, =gWeatherPtr
ldr r2, [r0]
movs r1, 0xDA
lsls r1, 3
@ -1290,7 +1290,7 @@ _081507B6:
b _081507E6
.pool
_081507DC:
ldr r0, =gUnknown_0854C14C
ldr r0, =gWeatherPtr
ldr r4, [r0]
ldr r0, =0x000006fc
adds r4, r0

File diff suppressed because it is too large Load Diff

View File

@ -1368,7 +1368,7 @@ _0810C0E2:
mov r0, sp
movs r2, 0
bl sub_80A6D60
ldr r0, =gUnknown_0854C270
ldr r0, =gUnknown_083970E8
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4
@ -1650,7 +1650,7 @@ _0810C366:
mov r0, sp
movs r2, 0
bl sub_80A6D60
ldr r0, =gUnknown_0854C270
ldr r0, =gUnknown_083970E8
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4

View File

@ -3,490 +3,3 @@
.section .rodata
.align 2
gUnknown_0854014C:: @ 854014C
.incbin "graphics/misc/sunny_day/0.gbapal"
.incbin "graphics/misc/sunny_day/1.gbapal"
.incbin "graphics/misc/sunny_day/2.gbapal"
.incbin "graphics/misc/sunny_day/3.gbapal"
.incbin "graphics/misc/sunny_day/4.gbapal"
.incbin "graphics/misc/sunny_day/5.gbapal"
.incbin "graphics/misc/sunny_day/6.gbapal"
.incbin "graphics/misc/sunny_day/7.gbapal"
.incbin "graphics/misc/sunny_day/8.gbapal"
.incbin "graphics/misc/sunny_day/9.gbapal"
.incbin "graphics/misc/sunny_day/10.gbapal"
.incbin "graphics/misc/sunny_day/11.gbapal"
.incbin "graphics/misc/sunny_day/12.gbapal"
.incbin "graphics/misc/sunny_day/13.gbapal"
.incbin "graphics/misc/sunny_day/14.gbapal"
.incbin "graphics/misc/sunny_day/15.gbapal"
.incbin "graphics/misc/sunny_day/16.gbapal"
.incbin "graphics/misc/sunny_day/17.gbapal"
.incbin "graphics/misc/sunny_day/18.gbapal"
.incbin "graphics/misc/sunny_day/19.gbapal"
.incbin "graphics/misc/sunny_day/20.gbapal"
.incbin "graphics/misc/sunny_day/21.gbapal"
.incbin "graphics/misc/sunny_day/22.gbapal"
.incbin "graphics/misc/sunny_day/23.gbapal"
.incbin "graphics/misc/sunny_day/24.gbapal"
.incbin "graphics/misc/sunny_day/25.gbapal"
.incbin "graphics/misc/sunny_day/26.gbapal"
.incbin "graphics/misc/sunny_day/27.gbapal"
.incbin "graphics/misc/sunny_day/28.gbapal"
.incbin "graphics/misc/sunny_day/29.gbapal"
.incbin "graphics/misc/sunny_day/30.gbapal"
.incbin "graphics/misc/sunny_day/31.gbapal"
.incbin "graphics/misc/sunny_day/32.gbapal"
.incbin "graphics/misc/sunny_day/33.gbapal"
.incbin "graphics/misc/sunny_day/34.gbapal"
.incbin "graphics/misc/sunny_day/35.gbapal"
.incbin "graphics/misc/sunny_day/36.gbapal"
.incbin "graphics/misc/sunny_day/37.gbapal"
.incbin "graphics/misc/sunny_day/38.gbapal"
.incbin "graphics/misc/sunny_day/39.gbapal"
.incbin "graphics/misc/sunny_day/40.gbapal"
.incbin "graphics/misc/sunny_day/41.gbapal"
.incbin "graphics/misc/sunny_day/42.gbapal"
.incbin "graphics/misc/sunny_day/43.gbapal"
.incbin "graphics/misc/sunny_day/44.gbapal"
.incbin "graphics/misc/sunny_day/45.gbapal"
.incbin "graphics/misc/sunny_day/46.gbapal"
.incbin "graphics/misc/sunny_day/47.gbapal"
.incbin "graphics/misc/sunny_day/48.gbapal"
.incbin "graphics/misc/sunny_day/49.gbapal"
.incbin "graphics/misc/sunny_day/50.gbapal"
.incbin "graphics/misc/sunny_day/51.gbapal"
.incbin "graphics/misc/sunny_day/52.gbapal"
.incbin "graphics/misc/sunny_day/53.gbapal"
.incbin "graphics/misc/sunny_day/54.gbapal"
.incbin "graphics/misc/sunny_day/55.gbapal"
.incbin "graphics/misc/sunny_day/56.gbapal"
.incbin "graphics/misc/sunny_day/57.gbapal"
.incbin "graphics/misc/sunny_day/58.gbapal"
.incbin "graphics/misc/sunny_day/59.gbapal"
.incbin "graphics/misc/sunny_day/60.gbapal"
.incbin "graphics/misc/sunny_day/61.gbapal"
.incbin "graphics/misc/sunny_day/62.gbapal"
.incbin "graphics/misc/sunny_day/63.gbapal"
.incbin "graphics/misc/sunny_day/64.gbapal"
.incbin "graphics/misc/sunny_day/65.gbapal"
.incbin "graphics/misc/sunny_day/66.gbapal"
.incbin "graphics/misc/sunny_day/67.gbapal"
.incbin "graphics/misc/sunny_day/68.gbapal"
.incbin "graphics/misc/sunny_day/69.gbapal"
.incbin "graphics/misc/sunny_day/70.gbapal"
.incbin "graphics/misc/sunny_day/71.gbapal"
.incbin "graphics/misc/sunny_day/72.gbapal"
.incbin "graphics/misc/sunny_day/73.gbapal"
.incbin "graphics/misc/sunny_day/74.gbapal"
.incbin "graphics/misc/sunny_day/75.gbapal"
.incbin "graphics/misc/sunny_day/76.gbapal"
.incbin "graphics/misc/sunny_day/77.gbapal"
.incbin "graphics/misc/sunny_day/78.gbapal"
.incbin "graphics/misc/sunny_day/79.gbapal"
.incbin "graphics/misc/sunny_day/80.gbapal"
.incbin "graphics/misc/sunny_day/81.gbapal"
.incbin "graphics/misc/sunny_day/82.gbapal"
.incbin "graphics/misc/sunny_day/83.gbapal"
.incbin "graphics/misc/sunny_day/84.gbapal"
.incbin "graphics/misc/sunny_day/85.gbapal"
.incbin "graphics/misc/sunny_day/86.gbapal"
.incbin "graphics/misc/sunny_day/87.gbapal"
.incbin "graphics/misc/sunny_day/88.gbapal"
.incbin "graphics/misc/sunny_day/89.gbapal"
.incbin "graphics/misc/sunny_day/90.gbapal"
.incbin "graphics/misc/sunny_day/91.gbapal"
.incbin "graphics/misc/sunny_day/92.gbapal"
.incbin "graphics/misc/sunny_day/93.gbapal"
.incbin "graphics/misc/sunny_day/94.gbapal"
.incbin "graphics/misc/sunny_day/95.gbapal"
.align 2
gUnknown_0854C14C:: @ 854C14C
.4byte gUnknown_02038454
.align 2
gUnknown_0854C150:: @ 854C150
.4byte sub_80AB26C
.4byte nullsub_36
.4byte sub_80AB26C
.4byte sub_80AB290
.4byte sub_80AC438
.4byte sub_80AC4B4
.4byte sub_80AC484
.4byte sub_80AC514
.4byte sub_80AC55C
.4byte nullsub_95
.4byte sub_80AC580
.4byte sub_80AC590
.4byte sub_80AC928
.4byte sub_80AC9C4
.4byte sub_80AC994
.4byte sub_80ACA24
.4byte sub_80ACF8C
.4byte snowflakes_progress2
.4byte sub_80ACFDC
.4byte sub_80AD084
.4byte sub_80AD444
.4byte sub_80AD584
.4byte sub_80AD4B8
.4byte sub_80AD910
.4byte sub_80ADA60
.4byte sub_80ADAF0
.4byte sub_80ADAC0
.4byte sub_80ADBB0
.4byte sub_80ADDBC
.4byte sub_80ADE48
.4byte sub_80ADE18
.4byte sub_80ADEF4
.4byte sub_80AE45C
.4byte sub_80AE50C
.4byte sub_80AE4DC
.4byte sub_80AE588
.4byte sub_80AE0E4
.4byte sub_80AE198
.4byte sub_80AE168
.4byte sub_80AE1FC
.4byte sub_80ADA60
.4byte sub_80ADAF0
.4byte sub_80ADAC0
.4byte sub_80ADBB0
.4byte sub_80AE9F0
.4byte nullsub_96
.4byte sub_80AEA20
.4byte sub_80AEA30
.4byte sub_80AC6D0
.4byte sub_80AC734
.4byte sub_80AC704
.4byte sub_80AC818
.4byte sub_80AD4E8
.4byte sub_80AD584
.4byte sub_80AD554
.4byte sub_80AD910
.4byte sub_80AEA34
.4byte sub_80AEAB8
.4byte sub_80AEA88
.4byte sub_80AEB2C
.align 2
gUnknown_0854C240:: @ 854C240
.4byte sub_80AB3A8
.4byte sub_80AB434
.4byte nullsub_94
.4byte nullsub_94
.align 2
gUnknown_0854C250:: @ 854C250
.byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01
.align 2
gUnknown_0854C270:: @ 854C270
.incbin "graphics/weather/0.gbapal"
.align 2
gUnknown_0854C290:: @ 854C290
.incbin "graphics/weather/1.gbapal"
.align 2
gUnknown_0854C2B0:: @ 854C2B0
.incbin "graphics/weather/2.gbapal"
.align 2
gWeatherFog2Tiles:: @ 854C2D0
.incbin "graphics/weather/fog2.4bpp"
.align 2
gWeatherFog1Tiles:: @ 854CAD0
.incbin "graphics/weather/fog1.4bpp"
.align 2
gWeatherCloudTiles:: @ 854D2D0
.incbin "graphics/weather/cloud.4bpp"
.align 2
gWeatherSnow1Tiles:: @ 854DAD0
.incbin "graphics/weather/snow0.4bpp"
.align 2
gWeatherSnow2Tiles:: @ 854DAF0
.incbin "graphics/weather/snow1.4bpp"
.align 2
gWeatherBubbleTiles:: @ 854DB10
.incbin "graphics/weather/bubble.4bpp"
.align 2
gWeatherAshTiles:: @ 854DB50
.incbin "graphics/weather/ash.4bpp"
.align 2
gWeatherRainTiles:: @ 854EB50
.incbin "graphics/weather/rain.4bpp"
.align 2
gWeatherSandstormTiles:: @ 854F150
.incbin "graphics/weather/sandstorm.4bpp"
.align 1
gUnknown_0854FB50:: @ 854FB50
.2byte 0x0000, 0x0042, 0x0005, 0x0049, 0x000a, 0x004e
.align 2
sCloudSpriteSheet:: @ 854FB5C
obj_tiles gWeatherCloudTiles, 0x0800, 0x1200
.align 2
gOamData_854FB64:: @ 854FB64
.2byte 0x0400, 0xc000, 0x0c00, 0x0000
.align 2
gSpriteAnim_854FB6C:: @ 854FB6C
.2byte 0x0000, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnimTable_854FB74:: @ 854FB74
.4byte gSpriteAnim_854FB6C
.align 2
sCloudSpriteTemplate:: @ 854FB78
spr_template 0x1200, 0x1201, gOamData_854FB64, gSpriteAnimTable_854FB74, NULL, gDummySpriteAffineAnimTable, sub_80AC6B4
.align 2
gUnknown_0854FB90:: @ 854FB90
.2byte 0x0000, 0x0000, 0x0000, 0x00a0, 0x0000, 0x0040, 0x0090, 0x00e0, 0x0090, 0x0080, 0x0020, 0x0020, 0x0020, 0x00c0, 0x0020, 0x0060
.2byte 0x0048, 0x0080, 0x0048, 0x0020, 0x0048, 0x00c0, 0x00d8, 0x0060, 0x00d8, 0x0000, 0x0068, 0x00a0, 0x0068, 0x0040, 0x0068, 0x00e0
.2byte 0x0090, 0x0000, 0x0090, 0x00a0, 0x0090, 0x0040, 0x0020, 0x00e0, 0x0020, 0x0080, 0x0048, 0x0020, 0x0048, 0x00c0, 0x0030, 0x0060
.align 2
gOamData_854FBF0:: @ 854FBF0
.2byte 0x8000, 0x8000, 0x2400, 0x0000
.align 2
gSpriteAnim_854FBF8:: @ 854FBF8
.2byte 0x0000, 0x0010, 0xfffe, 0x0000
.align 2
gSpriteAnim_854FC00:: @ 854FC00
.2byte 0x0008, 0x0003, 0x0020, 0x0002, 0x0028, 0x0002, 0xffff, 0x0000
.align 2
gSpriteAnim_854FC10:: @ 854FC10
.2byte 0x0008, 0x0003, 0x0010, 0x0003, 0x0018, 0x0004, 0xffff, 0x0000
.align 2
gSpriteAnimTable_854FC20:: @ 854FC20
.4byte gSpriteAnim_854FBF8
.4byte gSpriteAnim_854FC00
.4byte gSpriteAnim_854FC10
.align 2
gSpriteTemplate_854FC2C:: @ 854FC2C
spr_template 0x1206, 0x1200, gOamData_854FBF0, gSpriteAnimTable_854FC20, NULL, gDummySpriteAffineAnimTable, sub_80ACB84
.align 1
gUnknown_0854FC44:: @ 854FC44
.2byte 0xff98, 0x00d0, 0xff60, 0x0140
.align 1
gUnknown_0854FC4C:: @ 854FC4C
.2byte 0x0012, 0x0007, 0x000c, 0x000a
.align 2
gUnknown_0854FC54:: @ 854FC54
obj_tiles gWeatherRainTiles, 0x0600, 0x1206
.align 2
gOamData_854FC5C:: @ 854FC5C
.2byte 0x0000, 0x0000, 0x0400, 0x0000
.align 2
gUnknown_0854FC64:: @ 854FC64
obj_frame_tiles gWeatherSnow1Tiles, 0x0020
obj_frame_tiles gWeatherSnow2Tiles, 0x0020
.align 2
gSpriteAnim_854FC74:: @ 854FC74
.2byte 0x0000, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnim_854FC7C:: @ 854FC7C
.2byte 0x0001, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnimTable_854FC84:: @ 854FC84
.4byte gSpriteAnim_854FC74
.4byte gSpriteAnim_854FC7C
.align 2
gUnknown_0854FC8C:: @ 854FC8C
spr_template 0xffff, 0x1200, gOamData_854FC5C, gSpriteAnimTable_854FC84, gUnknown_0854FC64, gDummySpriteAffineAnimTable, sub_80AD30C
.align 2
gUnknown_0854FCA4:: @ 854FCA4
.2byte 0x0000, 0x0006, 0x0006, 0x000c, 0x0012, 0x002a, 0x012c, 0x012c
.align 2
gOamData_854FCB4:: @ 854FCB4
.2byte 0x0400, 0xc000, 0x0800, 0x0000
.align 2
gSpriteAnim_854FCBC:: @ 854FCBC
.2byte 0x0000, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnim_854FCC4:: @ 854FCC4
.2byte 0x0020, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnim_854FCCC:: @ 854FCCC
.2byte 0x0040, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnim_854FCD4:: @ 854FCD4
.2byte 0x0060, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnim_854FCDC:: @ 854FCDC
.2byte 0x0080, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnim_854FCE4:: @ 854FCE4
.2byte 0x00a0, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnimTable_854FCEC:: @ 854FCEC
.4byte gSpriteAnim_854FCBC
.4byte gSpriteAnim_854FCC4
.4byte gSpriteAnim_854FCCC
.4byte gSpriteAnim_854FCD4
.4byte gSpriteAnim_854FCDC
.4byte gSpriteAnim_854FCE4
.align 2
gSpriteAffineAnim_854FD04:: @ 854FD04
.2byte 0x0200, 0x0200, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
.align 2
gSpriteAffineAnimTable_854FD14:: @ 854FD14
.4byte gSpriteAffineAnim_854FD04
.align 2
gSpriteTemplate_854FD18:: @ 854FD18
spr_template 0x1201, 0x1200, gOamData_854FCB4, gSpriteAnimTable_854FCEC, NULL, gSpriteAffineAnimTable_854FD14, sub_80ADC4C
.align 2
gUnknown_0854FD30:: @ 854FD30
obj_tiles gWeatherFog1Tiles, 0x0800, 0x1201
.align 2
gUnknown_0854FD38:: @ 854FD38
obj_tiles gWeatherAshTiles, 0x1000, 0x1202
.align 2
gOamData_854FD40:: @ 854FD40
.2byte 0x0400, 0xc000, 0xf400, 0x0000
.align 2
gSpriteAnim_854FD48:: @ 854FD48
.2byte 0x0000, 0x003c, 0x0040, 0x003c, 0xfffe, 0x0000
.align 2
gSpriteAnimTable_854FD54:: @ 854FD54
.4byte gSpriteAnim_854FD48
.align 2
gSpriteTemplate_854FD58:: @ 854FD58
spr_template 0x1202, 0x1200, gOamData_854FD40, gSpriteAnimTable_854FD54, NULL, gDummySpriteAffineAnimTable, sub_80AE068
.align 2
gUnknown_0854FD70:: @ 854FD70
obj_tiles gWeatherFog2Tiles, 0x0800, 0x1203
.align 2
gOamData_854FD78:: @ 854FD78
.2byte 0x0400, 0xc000, 0x0800, 0x0000
.align 2
gSpriteAnim_854FD80:: @ 854FD80
.2byte 0x0000, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnimTable_854FD88:: @ 854FD88
.4byte gSpriteAnim_854FD80
.align 2
gSpriteTemplate_854FD8C:: @ 854FD8C
spr_template 0x1203, 0x1200, gOamData_854FD78, gSpriteAnimTable_854FD88, NULL, gDummySpriteAffineAnimTable, sub_80AE3FC
.align 2
gOamData_854FDA4:: @ 854FDA4
.2byte 0x0400, 0xc000, 0x0400, 0x0000
.align 2
gSpriteAnim_854FDAC:: @ 854FDAC
.2byte 0x0000, 0x0003, 0xffff, 0x0000
.align 2
gSpriteAnim_854FDB4:: @ 854FDB4
.2byte 0x0040, 0x0003, 0xffff, 0x0000
.align 2
gSpriteAnimTable_854FDBC:: @ 854FDBC
.4byte gSpriteAnim_854FDAC
.4byte gSpriteAnim_854FDB4
.align 2
gSpriteTemplate_854FDC4:: @ 854FDC4
spr_template 0x1204, 0x1201, gOamData_854FDA4, gSpriteAnimTable_854FDBC, NULL, gDummySpriteAffineAnimTable, sub_80AE8F8
.align 2
gUnknown_0854FDDC:: @ 854FDDC
obj_tiles gWeatherSandstormTiles, 0x0a00, 0x1204
.align 1
gUnknown_0854FDE4:: @ 854FDE4
.2byte 0x0000, 0x0078, 0x0050, 0x00a0, 0x0028, 0x0000
gUnknown_0854FDF0:: @ 854FDF0
.byte 0x28, 0x5a, 0x3c, 0x5a, 0x02, 0x3c, 0x28, 0x1e
.align 2
gUnknown_0854FDF8:: @ 854FDF8
obj_tiles gWeatherBubbleTiles, 0x0040, 0x1205
.align 1
gUnknown_0854FE00:: @ 854FE00
.2byte 0x0078, 0x00a0, 0x0178, 0x00a0, 0x0028, 0x008c, 0x0128, 0x008c, 0x00b4, 0x0082, 0x01b4, 0x0082, 0x003c, 0x00a0, 0x01b4, 0x00a0
.2byte 0x00dc, 0x00b4, 0x01dc, 0x00b4, 0x000a, 0x005a, 0x010a, 0x005a, 0x0100, 0x00a0
.align 2
gSpriteAnim_854FE34:: @ 854FE34
.2byte 0x0000, 0x0010, 0x0001, 0x0010, 0xffff, 0x0000
.align 2
gSpriteAnimTable_854FE40:: @ 854FE40
.4byte gSpriteAnim_854FE34
.align 2
gSpriteTemplate_854FE44:: @ 854FE44
spr_template 0x1205, 0x1200, gUnknown_08524904, gSpriteAnimTable_854FE40, NULL, gDummySpriteAffineAnimTable, sub_80AEC34
gUnknown_0854FE5C:: @ 854FE5C
.byte 0x02, 0x03, 0x05, 0x03
gUnknown_0854FE60:: @ 854FE60
.byte 0x02, 0x02, 0x03, 0x02
.align 1
gUnknown_0854FE64:: @ 854FE64
.2byte 0x00c8, 0x0048, 0x0040, 0x0038, 0x0030, 0x0028, 0x0020, 0x0018, 0x0000, 0x0000
.align 2
gMaxFlashLevel:: @ 854FE78
.4byte 0x00000008
.align 2
gUnknown_0854FE7C:: @ 854FE7C
.4byte 0x04000040, 0xa2600001, 0x00000001

17
data/field_screen_2.s Normal file
View File

@ -0,0 +1,17 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 1
gUnknown_0854FE64:: @ 854FE64
.2byte 0x00c8, 0x0048, 0x0040, 0x0038, 0x0030, 0x0028, 0x0020, 0x0018, 0x0000, 0x0000
.align 2
gMaxFlashLevel:: @ 854FE78
.4byte 0x00000008
.align 2
gUnknown_0854FE7C:: @ 854FE7C
.4byte 0x04000040, 0xa2600001, 0x00000001

103
data/field_weather.s Normal file
View File

@ -0,0 +1,103 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_0854014C:: @ 854014C
.incbin "graphics/misc/sunny_day/0.gbapal"
.incbin "graphics/misc/sunny_day/1.gbapal"
.incbin "graphics/misc/sunny_day/2.gbapal"
.incbin "graphics/misc/sunny_day/3.gbapal"
.incbin "graphics/misc/sunny_day/4.gbapal"
.incbin "graphics/misc/sunny_day/5.gbapal"
.incbin "graphics/misc/sunny_day/6.gbapal"
.incbin "graphics/misc/sunny_day/7.gbapal"
.incbin "graphics/misc/sunny_day/8.gbapal"
.incbin "graphics/misc/sunny_day/9.gbapal"
.incbin "graphics/misc/sunny_day/10.gbapal"
.incbin "graphics/misc/sunny_day/11.gbapal"
.incbin "graphics/misc/sunny_day/12.gbapal"
.incbin "graphics/misc/sunny_day/13.gbapal"
.incbin "graphics/misc/sunny_day/14.gbapal"
.incbin "graphics/misc/sunny_day/15.gbapal"
.incbin "graphics/misc/sunny_day/16.gbapal"
.incbin "graphics/misc/sunny_day/17.gbapal"
.incbin "graphics/misc/sunny_day/18.gbapal"
.incbin "graphics/misc/sunny_day/19.gbapal"
.incbin "graphics/misc/sunny_day/20.gbapal"
.incbin "graphics/misc/sunny_day/21.gbapal"
.incbin "graphics/misc/sunny_day/22.gbapal"
.incbin "graphics/misc/sunny_day/23.gbapal"
.incbin "graphics/misc/sunny_day/24.gbapal"
.incbin "graphics/misc/sunny_day/25.gbapal"
.incbin "graphics/misc/sunny_day/26.gbapal"
.incbin "graphics/misc/sunny_day/27.gbapal"
.incbin "graphics/misc/sunny_day/28.gbapal"
.incbin "graphics/misc/sunny_day/29.gbapal"
.incbin "graphics/misc/sunny_day/30.gbapal"
.incbin "graphics/misc/sunny_day/31.gbapal"
.incbin "graphics/misc/sunny_day/32.gbapal"
.incbin "graphics/misc/sunny_day/33.gbapal"
.incbin "graphics/misc/sunny_day/34.gbapal"
.incbin "graphics/misc/sunny_day/35.gbapal"
.incbin "graphics/misc/sunny_day/36.gbapal"
.incbin "graphics/misc/sunny_day/37.gbapal"
.incbin "graphics/misc/sunny_day/38.gbapal"
.incbin "graphics/misc/sunny_day/39.gbapal"
.incbin "graphics/misc/sunny_day/40.gbapal"
.incbin "graphics/misc/sunny_day/41.gbapal"
.incbin "graphics/misc/sunny_day/42.gbapal"
.incbin "graphics/misc/sunny_day/43.gbapal"
.incbin "graphics/misc/sunny_day/44.gbapal"
.incbin "graphics/misc/sunny_day/45.gbapal"
.incbin "graphics/misc/sunny_day/46.gbapal"
.incbin "graphics/misc/sunny_day/47.gbapal"
.incbin "graphics/misc/sunny_day/48.gbapal"
.incbin "graphics/misc/sunny_day/49.gbapal"
.incbin "graphics/misc/sunny_day/50.gbapal"
.incbin "graphics/misc/sunny_day/51.gbapal"
.incbin "graphics/misc/sunny_day/52.gbapal"
.incbin "graphics/misc/sunny_day/53.gbapal"
.incbin "graphics/misc/sunny_day/54.gbapal"
.incbin "graphics/misc/sunny_day/55.gbapal"
.incbin "graphics/misc/sunny_day/56.gbapal"
.incbin "graphics/misc/sunny_day/57.gbapal"
.incbin "graphics/misc/sunny_day/58.gbapal"
.incbin "graphics/misc/sunny_day/59.gbapal"
.incbin "graphics/misc/sunny_day/60.gbapal"
.incbin "graphics/misc/sunny_day/61.gbapal"
.incbin "graphics/misc/sunny_day/62.gbapal"
.incbin "graphics/misc/sunny_day/63.gbapal"
.incbin "graphics/misc/sunny_day/64.gbapal"
.incbin "graphics/misc/sunny_day/65.gbapal"
.incbin "graphics/misc/sunny_day/66.gbapal"
.incbin "graphics/misc/sunny_day/67.gbapal"
.incbin "graphics/misc/sunny_day/68.gbapal"
.incbin "graphics/misc/sunny_day/69.gbapal"
.incbin "graphics/misc/sunny_day/70.gbapal"
.incbin "graphics/misc/sunny_day/71.gbapal"
.incbin "graphics/misc/sunny_day/72.gbapal"
.incbin "graphics/misc/sunny_day/73.gbapal"
.incbin "graphics/misc/sunny_day/74.gbapal"
.incbin "graphics/misc/sunny_day/75.gbapal"
.incbin "graphics/misc/sunny_day/76.gbapal"
.incbin "graphics/misc/sunny_day/77.gbapal"
.incbin "graphics/misc/sunny_day/78.gbapal"
.incbin "graphics/misc/sunny_day/79.gbapal"
.incbin "graphics/misc/sunny_day/80.gbapal"
.incbin "graphics/misc/sunny_day/81.gbapal"
.incbin "graphics/misc/sunny_day/82.gbapal"
.incbin "graphics/misc/sunny_day/83.gbapal"
.incbin "graphics/misc/sunny_day/84.gbapal"
.incbin "graphics/misc/sunny_day/85.gbapal"
.incbin "graphics/misc/sunny_day/86.gbapal"
.incbin "graphics/misc/sunny_day/87.gbapal"
.incbin "graphics/misc/sunny_day/88.gbapal"
.incbin "graphics/misc/sunny_day/89.gbapal"
.incbin "graphics/misc/sunny_day/90.gbapal"
.incbin "graphics/misc/sunny_day/91.gbapal"
.incbin "graphics/misc/sunny_day/92.gbapal"
.incbin "graphics/misc/sunny_day/93.gbapal"
.incbin "graphics/misc/sunny_day/94.gbapal"
.incbin "graphics/misc/sunny_day/95.gbapal"

View File

@ -4,7 +4,8 @@
#include "sprite.h"
// Controls how the weather should be changing the screen palettes.
enum {
enum
{
WEATHER_PAL_STATE_CHANGING_WEATHER,
WEATHER_PAL_STATE_SCREEN_FADING_IN,
WEATHER_PAL_STATE_SCREEN_FADING_OUT,
@ -38,11 +39,11 @@ struct Weather
u8 gammaStepDelay;
u8 gammaStepFrameCounter;
u16 fadeDestColor;
u8 palProcessingState;
u8 fadeScreenCounter;
bool8 readyForInit;
u8 taskId;
u8 unknown_6CA;
/*0x6C6*/ u8 palProcessingState;
/*0x6C7*/ u8 fadeScreenCounter;
/*0x6C8*/ bool8 readyForInit;
/*0x6C9*/ u8 taskId;
/*0x6CA*/ u8 unknown_6CA;
u8 unknown_6CB;
u16 initStep;
u16 finishStep;
@ -168,6 +169,7 @@ void ResetDroughtWeatherPaletteLoading(void);
bool8 LoadDroughtWeatherPalettes(void);
u8 GetCurrentWeather(void);
void LoadCustomWeatherSpritePalette(const u16 *palette);
void SetWeatherScreenFadeOut(void);
extern struct Weather gWeather;

View File

@ -881,7 +881,7 @@ struct SaveBlock1
/*0x24*/ struct WarpData warp4;
/*0x2C*/ u16 savedMusic;
/*0x2E*/ u8 weather;
/*0x2F*/ u8 filler_2F;
/*0x2F*/ u8 weatherCycleStage;
/*0x30*/ u8 flashLevel;
/*0x32*/ u16 mapLayoutId;
/*0x34*/ u16 mapView[0x100];

View File

@ -113,6 +113,8 @@ SECTIONS {
src/reshow_battle_screen.o(.text);
src/battle_anim_80A9C70.o(.text);
src/title_screen.o(.text);
src/field_weather.o(.text);
src/field_weather_effect.o(.text);
asm/field_screen.o(.text);
src/battle_setup.o(.text);
src/cable_club.o(.text);
@ -444,7 +446,11 @@ SECTIONS {
data/battle_anim_80A9C70.o(.rodata);
src/battle_anim_80A9C70.o(.rodata);
src/title_screen.o(.rodata);
data/field_weather.o(.rodata);
src/field_weather.o(.rodata);
data/field_screen.o(.rodata);
src/field_weather_effect.o(.rodata);
data/field_screen_2.o(.rodata);
src/battle_setup.o(.rodata);
src/cable_club.o(.rodata);
src/trainer_see.o(.rodata);

View File

@ -59,7 +59,7 @@ typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite);
extern const struct OamData gEventObjectBaseOam_32x32;
extern void sub_80AC3D0(void);
extern void SetWeatherScreenFadeOut(void);
// this file's functions
static void LaunchBattleTransitionTask(u8 transitionId);
@ -981,7 +981,7 @@ static void Task_BattleTransitionMain(u8 taskId)
static bool8 Transition_Phase1(struct Task *task)
{
sub_80AC3D0();
SetWeatherScreenFadeOut();
CpuCopy32(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
if (sPhase1_Tasks[task->tTransitionId] != NULL)
{

View File

@ -23,7 +23,7 @@
#include "link.h"
#include "berry.h"
extern u8 weather_get_current(void);
extern u8 GetCurrentWeather(void);
// rom const data
static const u16 sSoundMovesTable[] =
@ -1827,7 +1827,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
case ABILITYEFFECT_SWITCH_IN_WEATHER:
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
{
switch (weather_get_current())
switch (GetCurrentWeather())
{
case 3:
case 5:
@ -1862,7 +1862,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
}
if (effect)
{
gBattleCommunication[MULTISTRING_CHOOSER] = weather_get_current();
gBattleCommunication[MULTISTRING_CHOOSER] = GetCurrentWeather();
BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts);
}
break;

View File

@ -60,7 +60,7 @@ extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
extern const u8 gText_HatchedFromEgg[];
extern const u8 gText_NickHatchPrompt[];
extern void play_some_sound(void);
extern void PlayRainSoundEffect(void);
extern u16 sub_80D22D0(void);
extern u8 CountPartyAliveNonEggMonsExcept(u8);
@ -581,7 +581,7 @@ static void Task_EggHatchPlayBGM(u8 taskID)
if (gTasks[taskID].data[0] == 0)
{
StopMapMusic();
play_some_sound();
PlayRainSoundEffect();
}
if (gTasks[taskID].data[0] == 1)
PlayBGM(MUS_ME_SHINKA);

View File

@ -1,15 +0,0 @@
// Includes
#include "global.h"
// Static type declarations
// Static RAM declarations
IWRAM_DATA u8 *gUnknown_03000F50;
IWRAM_DATA u32 filler_03000f54;
// Static ROM declarations
// .rodata
// .text

1152
src/field_weather.c Normal file

File diff suppressed because it is too large Load Diff

2484
src/field_weather_effect.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -4,6 +4,7 @@
#include "field_effect.h"
#include "field_player_avatar.h"
#include "field_screen.h"
#include "field_weather.h"
#include "palette.h"
#include "party_menu.h"
#include "rom6.h"
@ -40,7 +41,7 @@ bool8 FldEff_SweetScent(void)
{
u8 taskId;
sub_80AC3D0();
SetWeatherScreenFadeOut();
taskId = oei_task_add();
gTasks[taskId].data[8] = (u32)StartSweetScentFieldEffect >> 16;
gTasks[taskId].data[9] = (u32)StartSweetScentFieldEffect;

View File

@ -148,7 +148,7 @@ extern void ResetAllPicSprites(void);
extern void FieldEffectActiveListClear(void);
extern void SetUpFieldTasks(void);
extern void sub_81BE6B8(void);
extern void sub_80AAFA4(void);
extern void StartWeather(void);
extern void ShowStartMenu(void);
extern void sub_80AEE84(void);
extern void mapldr_default(void);
@ -2160,7 +2160,7 @@ static void sub_8086988(u32 a1)
InitEventObjectPalettes(1);
FieldEffectActiveListClear();
sub_80AAFA4();
StartWeather();
sub_80AEE84();
if (!a1)
SetUpFieldTasks();

View File

@ -88,7 +88,7 @@ extern void sub_80AF688(void);
extern void var_800D_set_xB(void);
extern void sub_808B864(void);
extern void CB2_Pokedex(void);
extern void play_some_sound(void);
extern void PlayRainSoundEffect(void);
extern void CB2_PartyMenuFromStartMenu(void);
extern void CB2_PokeNav(void);
extern void sub_80C4DDC(void (*)(void));
@ -621,7 +621,7 @@ static bool8 StartMenuPokedexCallback(void)
if (!gPaletteFade.active)
{
IncrementGameStat(GAME_STAT_CHECKED_POKEDEX);
play_some_sound();
PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_Pokedex);
@ -636,7 +636,7 @@ static bool8 StartMenuPokemonCallback(void)
{
if (!gPaletteFade.active)
{
play_some_sound();
PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_PartyMenuFromStartMenu); // Display party menu
@ -651,7 +651,7 @@ static bool8 StartMenuBagCallback(void)
{
if (!gPaletteFade.active)
{
play_some_sound();
PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_BagMenuFromStartMenu); // Display bag menu
@ -666,7 +666,7 @@ static bool8 StartMenuPokeNavCallback(void)
{
if (!gPaletteFade.active)
{
play_some_sound();
PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_PokeNav); // Display PokeNav
@ -681,7 +681,7 @@ static bool8 StartMenuPlayerNameCallback(void)
{
if (!gPaletteFade.active)
{
play_some_sound();
PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
@ -720,7 +720,7 @@ static bool8 StartMenuOptionCallback(void)
{
if (!gPaletteFade.active)
{
play_some_sound();
PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_InitOptionMenu); // Display option menu
@ -753,7 +753,7 @@ static bool8 StartMenuLinkModePlayerNameCallback(void)
{
if (!gPaletteFade.active)
{
play_some_sound();
PlayRainSoundEffect();
overworld_free_bg_tilemaps();
TrainerCard_ShowLinkCard(gUnknown_03005DB4, CB2_ReturnToFieldWithOpenMenu);
@ -782,7 +782,7 @@ static bool8 StartMenuBattlePyramidBagCallback(void)
{
if (!gPaletteFade.active)
{
play_some_sound();
PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_PyramidBagMenuFromStartMenu);

View File

@ -21,7 +21,7 @@
.include "src/tileset_anims.o"
.include "src/palette.o"
.include "src/sound.o"
.include "src/field_screen.o"
.include "src/field_weather.o"
.include "src/field_effect.o"
.include "src/pokemon_storage_system.o"
.include "src/fldeff_cut.o"

View File

@ -154,17 +154,7 @@ gUnknown_020375C0: @ 20375C0
.include "src/battle_anim_80A5C6C.o"
.space 0xC
gUnknown_02038454: @ 2038454
.space 0x200
gUnknown_02038654: @ 2038654
.space 0x260
gUnknown_020388B4: @ 20388B4
.space 0x2F0
gUnknown_02038BA4: @ 2038BA4
.space 0x20
.include "src/field_weather.o"
gUnknown_02038BC4: @ 2038BC4
.space 0x2