Merge pull request #250 from Diegoisawesome/master

Port/decompile field_effect
This commit is contained in:
Diegoisawesome 2018-05-10 18:45:35 -05:00 committed by GitHub
commit 7c551ef373
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 4123 additions and 9091 deletions

File diff suppressed because it is too large Load Diff

View File

@ -204,7 +204,7 @@ _0815405A:
bl pal_patch_for_npc bl pal_patch_for_npc
_0815406A: _0815406A:
adds r0, r4, 0 adds r0, r4, 0
bl sub_80ABE18 bl UpdateSpritePaletteWithWeather
_08154070: _08154070:
pop {r4} pop {r4}
pop {r0} pop {r0}
@ -227,7 +227,7 @@ npc_pal_op_A: @ 8154078
adds r1, r4, 0 adds r1, r4, 0
bl pal_patch_for_npc bl pal_patch_for_npc
adds r0, r4, 0 adds r0, r4, 0
bl sub_80ABE18 bl UpdateSpritePaletteWithWeather
_0815409C: _0815409C:
pop {r4} pop {r4}
pop {r0} pop {r0}

View File

@ -1764,8 +1764,8 @@ _080ABDE4:
.pool .pool
thumb_func_end FadeScreen thumb_func_end FadeScreen
thumb_func_start sub_80ABDFC thumb_func_start IsWeatherNotFadingIn
sub_80ABDFC: @ 80ABDFC IsWeatherNotFadingIn: @ 80ABDFC
ldr r0, =gUnknown_02038454 ldr r0, =gUnknown_02038454
ldr r1, =0x000006c6 ldr r1, =0x000006c6
adds r0, r1 adds r0, r1
@ -1777,11 +1777,11 @@ sub_80ABDFC: @ 80ABDFC
lsrs r0, 31 lsrs r0, 31
bx lr bx lr
.pool .pool
thumb_func_end sub_80ABDFC thumb_func_end IsWeatherNotFadingIn
thumb_func_start sub_80ABE18 thumb_func_start UpdateSpritePaletteWithWeather
@ void sub_80ABE18(u8 a1) @ void UpdateSpritePaletteWithWeather(u8 a1)
sub_80ABE18: @ 80ABE18 UpdateSpritePaletteWithWeather: @ 80ABE18
push {r4-r6,lr} push {r4-r6,lr}
lsls r0, 24 lsls r0, 24
lsrs r0, 8 lsrs r0, 8
@ -1882,7 +1882,7 @@ _080ABEF4:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80ABE18 thumb_func_end UpdateSpritePaletteWithWeather
thumb_func_start ApplyWeatherGammaShiftToPal thumb_func_start ApplyWeatherGammaShiftToPal
ApplyWeatherGammaShiftToPal: @ 80ABF00 ApplyWeatherGammaShiftToPal: @ 80ABF00
@ -1939,7 +1939,7 @@ sub_80ABF4C: @ 80ABF4C
movs r2, 0x20 movs r2, 0x20
bl LoadPalette bl LoadPalette
ldrb r0, [r4] ldrb r0, [r4]
bl sub_80ABE18 bl UpdateSpritePaletteWithWeather
pop {r4} pop {r4}
pop {r0} pop {r0}
bx r0 bx r0
@ -2504,8 +2504,8 @@ sub_80AC3E4: @ 80AC3E4
.pool .pool
thumb_func_end sub_80AC3E4 thumb_func_end sub_80AC3E4
thumb_func_start sub_80AC3F8 thumb_func_start PreservePaletteInWeather
sub_80AC3F8: @ 80AC3F8 PreservePaletteInWeather: @ 80AC3F8
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 24 lsls r4, 24
@ -2524,16 +2524,16 @@ sub_80AC3F8: @ 80AC3F8
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80AC3F8 thumb_func_end PreservePaletteInWeather
thumb_func_start sub_80AC428 thumb_func_start ResetPreservedPalettesInWeather
sub_80AC428: @ 80AC428 ResetPreservedPalettesInWeather: @ 80AC428
ldr r1, =gUnknown_03000F50 ldr r1, =gUnknown_03000F50
ldr r0, =gUnknown_0854C250 ldr r0, =gUnknown_0854C250
str r0, [r1] str r0, [r1]
bx lr bx lr
.pool .pool
thumb_func_end sub_80AC428 thumb_func_end ResetPreservedPalettesInWeather
thumb_func_start sub_80AC438 thumb_func_start sub_80AC438
sub_80AC438: @ 80AC438 sub_80AC438: @ 80AC438
@ -8702,7 +8702,7 @@ sub_80AF710: @ 80AF710
thumb_func_start sub_80AF71C thumb_func_start sub_80AF71C
sub_80AF71C: @ 80AF71C sub_80AF71C: @ 80AF71C
push {lr} push {lr}
bl sub_80ABDFC bl IsWeatherNotFadingIn
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1

View File

@ -3155,7 +3155,7 @@ SetRoute119Weather: @ 8139648
bl get_map_light_from_warp0 bl get_map_light_from_warp0
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl is_light_level_1_2_3_5_or_6 bl is_map_type_1_2_3_5_or_6
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1
@ -3173,7 +3173,7 @@ SetRoute123Weather: @ 8139668
bl get_map_light_from_warp0 bl get_map_light_from_warp0
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl is_light_level_1_2_3_5_or_6 bl is_map_type_1_2_3_5_or_6
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1

View File

@ -10231,7 +10231,7 @@ task_launch_hm_phase_2: @ 81B5750
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_80ABDFC bl IsWeatherNotFadingIn
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1
@ -17337,7 +17337,7 @@ task_hm_without_phase_2: @ 81B93E0
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_80ABDFC bl IsWeatherNotFadingIn
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
beq _081B93FE beq _081B93FE

View File

@ -245,7 +245,7 @@ _080C72AC:
b _080C7318 b _080C7318
.pool .pool
_080C730C: _080C730C:
bl sub_80ABDFC bl IsWeatherNotFadingIn
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
bne _080C7318 bne _080C7318

View File

@ -26676,7 +26676,7 @@ _081D4B3A:
bl IndexOfSpritePaletteTag bl IndexOfSpritePaletteTag
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl sub_80ABE18 bl UpdateSpritePaletteWithWeather
ldrh r1, [r5, 0x10] ldrh r1, [r5, 0x10]
mov r0, sp mov r0, sp
strh r1, [r0] strh r1, [r0]

View File

@ -1316,7 +1316,7 @@ _080E28CA:
ldr r1, =gSprites ldr r1, =gSprites
adds r0, r1 adds r0, r1
ldrb r1, [r4, 0xC] ldrb r1, [r4, 0xC]
bl sub_80B6070 bl FreeResourcesAndDestroySprite
_080E28DE: _080E28DE:
ldrh r0, [r4, 0x8] ldrh r0, [r4, 0x8]
adds r0, 0x1 adds r0, 0x1
@ -1363,7 +1363,7 @@ ScriptMenu_ShowPokemonPic: @ 80E2900
asrs r2, 16 asrs r2, 16
mov r0, r8 mov r0, r8
movs r3, 0 movs r3, 0
bl sub_80B5F84 bl CreateMonSprite_PicBox
adds r5, r0, 0 adds r5, r0, 0
lsls r5, 24 lsls r5, 24
lsrs r5, 24 lsrs r5, 24

View File

@ -316,7 +316,7 @@ Task_ExitSellMenu: @ 80DFCF8
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
adds r5, r4, 0 adds r5, r4, 0
bl sub_80ABDFC bl IsWeatherNotFadingIn
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1

View File

@ -5583,7 +5583,7 @@ _0812D08E:
lsrs r3, 24 lsrs r3, 24
adds r1, r3, 0 adds r1, r3, 0
adds r2, r3, 0 adds r2, r3, 0
bl sub_80B6128 bl MultiplyPaletteRGBComponents
_0812D0A6: _0812D0A6:
pop {r4-r7} pop {r4-r7}
pop {r0} pop {r0}

View File

@ -1 +0,0 @@
gFieldCallback

View File

@ -0,0 +1,5 @@
gUnknown_03005DA8
gFieldCallback
gUnknown_03005DB0
gUnknown_03005DB4
gFieldLinkPlayerCount

View File

@ -1,451 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2, 0
.align 2
gNewGameBirchPic:: @ 8553A90
.incbin "graphics/birch_speech/birch.4bpp"
.space 0x3800
.incbin "graphics/unused/intro_birch_beauty.4bpp"
.align 2
gNewGameBirchPalette:: @ 855A950
.incbin "graphics/birch_speech/birch.gbapal"
.align 2
gSpriteImage_855A970:: @ 855A970
.incbin "graphics/misc/pokeball_glow.4bpp"
.align 2
gFieldEffectObjectPalette4:: @ 855A990
.incbin "graphics/map_objects/palettes/field_effect_object_palette_04.gbapal"
.align 2
gSpriteImage_855A9B0:: @ 855A9B0
.incbin "graphics/misc/pokecenter_monitor/0.4bpp"
.align 2
gSpriteImage_855AA70:: @ 855AA70
.incbin "graphics/misc/pokecenter_monitor/1.4bpp"
.align 2
gSpriteImage_855AB30:: @ 855AB30
.incbin "graphics/misc/big_hof_monitor.4bpp"
.align 2
gSpriteImage_855AD30:: @ 855AD30
.incbin "graphics/misc/small_hof_monitor.4bpp"
.align 2
gFieldEffectObjectPalette5:: @ 855AE30
.incbin "graphics/map_objects/palettes/field_effect_object_palette_05.gbapal"
.align 2
gUnknown_0855AE50:: @ 855AE50
.incbin "graphics/misc/field_move_streaks.4bpp"
.align 2
gUnknown_0855B050:: @ 855B050
.incbin "graphics/misc/field_move_streaks.gbapal"
.align 2
gUnknown_0855B070:: @ 855B070
.incbin "graphics/misc/field_move_streaks_map.bin"
.align 2
gUnknown_0855B2F0:: @ 855B2F0
.incbin "graphics/misc/darkness_field_move_streaks.4bpp"
.align 2
gUnknown_0855B370:: @ 855B370
.incbin "graphics/misc/darkness_field_move_streaks.gbapal"
.align 2
gUnknown_0855B390:: @ 855B390
.incbin "graphics/misc/darkness_field_move_streaks_map.bin"
.align 2
gUnknown_0855B610:: @ 855B610
.incbin "graphics/misc/spotlight.gbapal"
.align 2
gUnknown_0855B630:: @ 855B630
.incbin "graphics/misc/spotlight.4bpp"
.align 2
gUnknown_0855C170:: @ 855C170
.incbin "graphics/unknown/unknown_55C170.4bpp"
.align 2
gUnknown_0855C1F0:: @ 855C1F0
.4byte FieldEffectCmd_loadtiles
.4byte FieldEffectCmd_loadfadedpal
.4byte FieldEffectCmd_loadpal
.4byte FieldEffectCmd_callnative
.4byte FieldEffectCmd_end
.4byte FieldEffectCmd_loadgfx_callnative
.4byte FieldEffectCmd_loadtiles_callnative
.4byte FieldEffectCmd_loadfadedpal_callnative
.align 2
@ TODO: something else uses these too
gNewGameBirchOamAttributes:: @ 855C210
.4byte OAM_SIZE_64x64
.2byte 0
.align 2
gOamData_855C218:: @ 855C218
.2byte 0x0000, 0x0000, 0x0000, 0x0000
.align 2
gOamData_855C220:: @ 855C220
.2byte 0x0000, 0x4000, 0x0000, 0x0000
.align 2
gNewGameBirchPicTable:: @ 855C228
obj_tiles gNewGameBirchPic, 0x800
.align 2
gNewGameBirchObjectPaletteInfo:: @ 855C230
obj_pal gNewGameBirchPalette, 0x1006
.align 2
gNewGameBirchImageAnim:: @ 855C238
obj_image_anim_frame 0, 1
obj_image_anim_end
.align 2
gNewGameBirchImageAnimTable:: @ 855C240
.4byte gNewGameBirchImageAnim
.align 2
gNewGameBirchObjectTemplate:: @ 855C244
spr_template 0xFFFF, 0x1006, gNewGameBirchOamAttributes, gNewGameBirchImageAnimTable, gNewGameBirchPicTable, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gFieldEffectObjectPaletteInfo4:: @ 855C25C
obj_pal gFieldEffectObjectPalette4, 0x1007
.align 2
gFieldEffectObjectPaletteInfo5:: @ 855C264
obj_pal gFieldEffectObjectPalette5, 0x1010
.align 2
gOamData_855C26C:: @ 855C26C
.2byte 0x4000, 0x8000, 0x0000, 0x0000
.align 2
gUnknown_855C274:: @ 855C274
obj_frame_tiles gSpriteImage_855A970, 0x0020
.align 2
gUnknown_855C27C:: @ 855C27C
obj_frame_tiles gSpriteImage_855A9B0, 0x00c0
obj_frame_tiles gSpriteImage_855AA70, 0x00c0
.align 2
gUnknown_855C28C:: @ 855C28C
obj_frame_tiles gSpriteImage_855AB30, 0x0200
.align 2
gUnknown_855C294:: @ 855C294
obj_frame_tiles gSpriteImage_855AD30, 0x0200
.align 2
gSubspriteTable_855C29C:: @ 855C29C
subsprite -12, -8, 2, 0, 16x8
subsprite 4, -8, 2, 2, 8x8
subsprite -12, 0, 2, 3, 16x8
subsprite 4, 0, 2, 5, 8x8
.align 2
gUnknown_0855C2AC:: @ 855C2AC
.4byte 4, gSubspriteTable_855C29C
.align 2
gSubspriteTable_855C2B4:: @ 855C2B4
subsprite -32, -8, 2, 0, 32x8
subsprite 0, -8, 2, 4, 32x8
subsprite -32, 0, 2, 8, 32x8
subsprite 0, 0, 2, 12, 32x8
.align 2
gUnknown_0855C2C4:: @ 855C2C4
.4byte 4, gSubspriteTable_855C2B4
.align 2
gUnknown_0855C2CC:: @ 855C2CC
.2byte 0x0000, 0x0001, 0xfffe, 0x0000
.align 2
gUnknown_0855C2D4:: @ 855C2D4
.2byte 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010
.2byte 0xffff, 0x0000
.align 2
gUnknown_0855C2F8:: @ 855C2F8
.4byte gUnknown_0855C2CC
.4byte gUnknown_0855C2D4
.align 2
gUnknown_0855C300:: @ 855C300
.4byte gUnknown_0855C2CC
.align 2
gUnknown_0855C304:: @ 855C304
spr_template 0xffff, 0x1007, gOamData_855C218, gUnknown_0855C2F8, gUnknown_855C274, gDummySpriteAffineAnimTable, sub_80B6828
.align 2
gUnknown_0855C31C:: @ 855C31C
spr_template 0xffff, 0x1004, gOamData_855C220, gUnknown_0855C2F8, gUnknown_855C27C, gDummySpriteAffineAnimTable, sub_80B68AC
.align 2
gUnknown_0855C334:: @ 855C334
spr_template 0xffff, 0x1010, gOamData_855C220, gUnknown_0855C300, gUnknown_855C28C, gDummySpriteAffineAnimTable, sub_80B6970
.align 2
gUnknown_0855C34C:: @ 855C34C
spr_template 0xffff, 0x1010, gOamData_855C26C, gUnknown_0855C300, gUnknown_855C294, gDummySpriteAffineAnimTable, sub_80B6970
.align 2
gUnknown_0855C364:: @ 855C364
.4byte sub_80B6214
.4byte sub_80B6250
.4byte sub_80B628C
.4byte sub_80B62B4
.align 2
gUnknown_0855C374:: @ 855C374
.4byte sub_80B6360
.4byte sub_80B63D4
.4byte sub_80B6404
.4byte sub_80B642C
.align 2
gUnknown_0855C384:: @ 855C384
.4byte sub_80B64DC
.4byte sub_80B6574
.4byte sub_80B65A8
.4byte sub_80B66E8
.4byte sub_80B67DC
.4byte sub_80B67F8
.4byte sub_80B6800
.4byte nullsub_97
.align 1
gUnknown_0855C3A4:: @ 855C3A4
.2byte 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0004, 0x0006, 0x0004, 0x0000, 0x0008, 0x0006, 0x0008
gUnknown_0855C3BC:: @ 855C3BC
.byte 0x10, 0x0c, 0x08, 0x00
gUnknown_0855C3C0:: @ 855C3C0
.byte 0x10, 0x0c, 0x08, 0x00
gUnknown_0855C3C4:: @ 855C3C4
.byte 0x00, 0x00, 0x00, 0x00
.align 2
gUnknown_0855C3C8:: @ 855C3C8
.4byte sub_80B6BCC
.4byte sub_80B6C74
.4byte sub_80B6C90
.4byte sub_80B6D04
.4byte sub_80B6DBC
.4byte sub_80B6DD8
.4byte sub_80B6E18
.align 2
gUnknown_0855C3E4:: @ 855C3E4
.4byte sub_80B6EC0
.4byte sub_80B6EE0
.4byte sub_80B6F50
.4byte sub_80B6F74
.4byte sub_80B6F84
.4byte sub_80B6FA8
.align 2
gUnknown_0855C3FC:: @ 855C3FC
.4byte sub_80B7114
.4byte sub_80B7190
.4byte sub_80B71D0
.4byte sub_80B7230
.4byte sub_80B7270
.4byte sub_80B72D0
.4byte sub_80B72F4
.align 2
gUnknown_0855C418:: @ 855C418
.4byte sub_80B73D0
.4byte waterfall_1_do_anim_probably
.4byte waterfall_2_wait_anim_finish_probably
.4byte sub_80B7450
.4byte sub_80B7478
.align 2
gUnknown_0855C42C:: @ 855C42C
.4byte dive_1_lock
.4byte dive_2_unknown
.4byte dive_3_unknown
.align 2
gUnknown_0855C438:: @ 855C438
.4byte sub_80B764C
.4byte sub_80B7684
.4byte sub_80B76B8
.4byte sub_80B7704
.4byte sub_80B77F8
.4byte sub_80B7814
.align 2
gUnknown_0855C450:: @ 855C450
.4byte sub_80B78EC
.4byte sub_80B791C
.4byte sub_80B7968
.4byte sub_80B79BC
.align 2
gUnknown_0855C460:: @ 855C460
.4byte sub_80B7AE8
.4byte sub_80B7B18
.4byte sub_80B7B94
.4byte sub_80B7BCC
.4byte sub_80B7BF4
.align 2
gUnknown_0855C474:: @ 855C474
.4byte sub_80B7D14
.4byte sub_80B7D34
gUnknown_0855C47C:: @ 855C47C
.byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00
.align 2
gUnknown_0855C484:: @ 855C484
.4byte sub_80B7EC4
.4byte sub_80B7EE8
.align 2
gUnknown_0855C48C:: @ 855C48C
.4byte sub_80B800C
.4byte sub_80B8034
.4byte sub_80B80C4
.4byte sub_80B8198
.align 2
gUnknown_0855C49C:: @ 855C49C
.4byte sub_80B8280
.4byte sub_80B830C
.4byte sub_80B8410
.align 2
gUnknown_0855C4A8:: @ 855C4A8
.4byte sub_80B8584
.4byte sub_80B85F8
.4byte sub_80B8660
.4byte sub_80B86EC
.4byte sub_80B871C
.4byte sub_80B8770
.4byte overworld_bg_setup_2
.align 2
gUnknown_0855C4C4:: @ 855C4C4
.4byte sub_80B88E4
.4byte sub_80B8920
.4byte sub_80B898C
.4byte sub_80B89DC
.4byte sub_80B8A0C
.4byte sub_80B8A44
.4byte sub_80B8A64
.align 2
gUnknown_0855C4E0:: @ 855C4E0
.4byte sub_80B8DB4
.4byte sub_80B8E14
.4byte sub_80B8E60
.4byte sub_80B8EA8
.4byte sub_80B8F24
.align 2
gUnknown_0855C4F4:: @ 855C4F4
.4byte sub_80B9204
.4byte sub_80B925C
.4byte sub_80B92A0
.4byte sub_80B92F8
.4byte sub_80B933C
.4byte sub_80B9390
.4byte sub_80B9418
.4byte sub_80B9474
.4byte sub_80B9494
.align 2
gUnknown_0855C518:: @ 855C518
.2byte 0x0008, 0x0008, 0x00e2, 0x0000, 0x001c, 0x001c, 0x1e00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
.align 2
gUnknown_0855C530:: @ 855C530
.2byte 0x0100, 0x0100, 0x0040, 0x0000, 0xfff6, 0xfff6, 0x1600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
.align 2
gUnknown_0855C548:: @ 855C548
.4byte gUnknown_0855C518
.4byte gUnknown_0855C530
.align 2
gUnknown_0855C550:: @ 855C550
.4byte sub_80B9804
.4byte sub_80B98B8
.4byte sub_80B9924
.4byte sub_80B9978
.4byte sub_80B99F0
.4byte sub_80B9A28
.4byte sub_80B9A60
gUnknown_0855C56C:: @ 855C56C
.byte 0xfe, 0xff, 0xfc, 0xff, 0xfb, 0xff, 0xfa, 0xff, 0xf9, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf9, 0xff, 0xf9, 0xff, 0xfa, 0xff, 0xfb, 0xff, 0xfd, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x02, 0x00
.byte 0x04, 0x00, 0x08, 0x00
.align 2
gUnknown_0855C590:: @ 855C590
.4byte sub_80B9C28
.4byte sub_80B9C54
.4byte sub_80B9CDC
.align 2
gUnknown_0855C59C:: @ 855C59C
obj_frame_tiles gUnknown_0855C170, 0x0020
obj_frame_tiles gUnknown_0855C170 + 0x20, 0x0020
obj_frame_tiles gUnknown_0855C170 + 0x40, 0x0020
obj_frame_tiles gUnknown_0855C170 + 0x60, 0x0020
.align 2
gUnknown_0855C5BC:: @ 855C5BC
.2byte 0x0000, 0x0000, 0xffff, 0x0000
.align 2
gUnknown_0855C5C4:: @ 855C5C4
.2byte 0x0001, 0x0000, 0xffff, 0x0000
.align 2
gUnknown_0855C5CC:: @ 855C5CC
.2byte 0x0002, 0x0000, 0xffff, 0x0000
.align 2
gUnknown_0855C5D4:: @ 855C5D4
.2byte 0x0003, 0x0000, 0xffff, 0x0000
.align 2
gUnknown_0855C5DC:: @ 855C5DC
.4byte gUnknown_0855C5BC
.4byte gUnknown_0855C5C4
.4byte gUnknown_0855C5CC
.4byte gUnknown_0855C5D4
.align 2
gUnknown_0855C5EC:: @ 855C5EC
spr_template 0xffff, 0x111a, gOamData_855C218, gUnknown_0855C5DC, gUnknown_0855C59C, gDummySpriteAffineAnimTable, sub_80B9DB8

View File

@ -98,7 +98,7 @@ gFieldEffectScript_Ripple:: @ 82DBB02
field_eff_end field_eff_end
gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C
field_eff_callnative sub_80B849C field_eff_callnative FldEff_FieldMoveShowMon
field_eff_end field_eff_end
gFieldEffectScript_Ash:: @ 82DBB12 gFieldEffectScript_Ash:: @ 82DBB12
@ -110,7 +110,7 @@ gFieldEffectScript_SurfBlob:: @ 82DBB1C
field_eff_end field_eff_end
gFieldEffectScript_UseSurf:: @ 82DBB22 gFieldEffectScript_UseSurf:: @ 82DBB22
field_eff_callnative sub_80B8D44 field_eff_callnative FldEff_UseSurf
field_eff_end field_eff_end
gFieldEffectScript_GroundImpactDust:: @ 82DBB28 gFieldEffectScript_GroundImpactDust:: @ 82DBB28
@ -175,7 +175,7 @@ gFieldEffectScript_DeepSandFootprints:: @ 82DBBAC
gFieldEffectScript_Unknown25:: @ 82DBBB6 gFieldEffectScript_Unknown25:: @ 82DBBB6
field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4 field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_80B61A0 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_PokecenterHeal
field_eff_end field_eff_end
gFieldEffectScript_Unknown26:: @ 82DBBC5 gFieldEffectScript_Unknown26:: @ 82DBBC5
@ -195,15 +195,15 @@ gFieldEffectScript_MountainDisguise:: @ 82DBBD7
field_eff_end field_eff_end
gFieldEffectScript_Unknown30:: @ 82DBBDD gFieldEffectScript_Unknown30:: @ 82DBBDD
field_eff_callnative sub_80B90CC field_eff_callnative FldEff_NPCFlyOut
field_eff_end field_eff_end
gFieldEffectScript_UseFly:: @ 82DBBE3 gFieldEffectScript_UseFly:: @ 82DBBE3
field_eff_callnative sub_80B91A4 field_eff_callnative FldEff_UseFly
field_eff_end field_eff_end
gFieldEffectScript_FlyIn:: @ 82DBBE9 gFieldEffectScript_FlyIn:: @ 82DBBE9
field_eff_callnative sub_80B97C0 field_eff_callnative FldEff_FlyIn
field_eff_end field_eff_end
gFieldEffectScript_ExclamationMarkIcon2:: @ 82DBBEF gFieldEffectScript_ExclamationMarkIcon2:: @ 82DBBEF
@ -247,11 +247,11 @@ gFieldEffectScript_HotSpringsWater:: @ 82DBC35
field_eff_end field_eff_end
gFieldEffectScript_Unknown43:: @ 82DBC3F gFieldEffectScript_Unknown43:: @ 82DBC3F
field_eff_callnative oei_waterfall field_eff_callnative FldEff_UseWaterfall
field_eff_end field_eff_end
gFieldEffectScript_Unknown44:: @ 82DBC45 gFieldEffectScript_Unknown44:: @ 82DBC45
field_eff_callnative sub_80B74D0 field_eff_callnative FldEff_UseDive
field_eff_end field_eff_end
gFieldEffectScript_Unknown45:: @ 82DBC4B gFieldEffectScript_Unknown45:: @ 82DBC4B
@ -272,11 +272,11 @@ gFieldEffectScript_Unknown48:: @ 82DBC66
field_eff_end field_eff_end
gFieldEffectScript_JumpOutOfAsh:: @ 82DBC6C gFieldEffectScript_JumpOutOfAsh:: @ 82DBC6C
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, sub_80B7C48 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, FldEff_PopOutOfAsh
field_eff_end field_eff_end
gFieldEffectScript_Unknown50:: @ 82DBC76 gFieldEffectScript_Unknown50:: @ 82DBC76
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, sub_80B79F4 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, FldEff_LavaridgeGymWarp
field_eff_end field_eff_end
gFieldEffectScript_Unknown51:: @ 82DBC80 gFieldEffectScript_Unknown51:: @ 82DBC80
@ -312,7 +312,7 @@ gFieldEffectScript_Unknown58:: @ 82DBCC2
field_eff_end field_eff_end
gFieldEffectScript_FieldMoveShowMonInit:: @ 82DBCCC gFieldEffectScript_FieldMoveShowMonInit:: @ 82DBCCC
field_eff_callnative sub_80B84F8 field_eff_callnative FldEff_FieldMoveShowMonInit
field_eff_end field_eff_end
gFieldEffectScript_Unknown60:: @ 82DBCD2 gFieldEffectScript_Unknown60:: @ 82DBCD2
@ -325,7 +325,7 @@ gFieldEffectScript_Unknown61:: @ 82DBCD8
gFieldEffectScript_Unknown62:: @ 82DBCDE gFieldEffectScript_Unknown62:: @ 82DBCDE
field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4 field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo5, sub_80B62F4 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo5, FldEff_HallOfFameRecord
field_eff_end field_eff_end
gFieldEffectScript_Unknown63:: @ 82DBCED gFieldEffectScript_Unknown63:: @ 82DBCED

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

After

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -470,7 +470,7 @@ $(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu.
@cat $^ >$@ @cat $^ >$@
$(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png $(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 374 $(GFX) $< $@ -num_tiles 822
$(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png $(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 55 $(GFX) $< $@ -num_tiles 55

View File

@ -1,6 +1,14 @@
#ifndef GUARD_FIELD_EFFECTS_H #ifndef GUARD_FIELD_EFFECTS_H
#define GUARD_FIELD_EFFECTS_H #define GUARD_FIELD_EFFECTS_H
#include "task.h"
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[2];
extern const struct SpritePalette gNewGameBirchObjectPaletteInfo;
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[2];
extern const struct SpriteTemplate gNewGameBirchObjectTemplate;
extern const struct OamData gNewGameBirchOamAttributes;
enum FieldEffectScriptIdx enum FieldEffectScriptIdx
{ {
FLDEFF_EXCLAMATION_MARK_ICON_1, FLDEFF_EXCLAMATION_MARK_ICON_1,
@ -69,7 +77,9 @@ enum FieldEffectScriptIdx
FLDEFF_USE_TELEPORT FLDEFF_USE_TELEPORT
}; };
extern u32 gFieldEffectArguments[8]; extern s32 gFieldEffectArguments[8];
extern void (*gUnknown_0203CEEC)(void);
extern bool8 (*gUnknown_03005DB0)(void);
u32 FieldEffectStart(u8); u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id); bool8 FieldEffectActiveListContains(u8 id);
@ -77,10 +87,147 @@ void sub_80B69DC(void);
u8 AddNewGameBirchObject(s16, s16, u8); u8 AddNewGameBirchObject(s16, s16, u8);
void FieldEffectStop(struct Sprite *sprite, u8 id); void FieldEffectStop(struct Sprite *sprite, u8 id);
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
void sub_80B7FC8(void); void CreateTeleportFieldEffectTask(void);
void FieldEffectActiveListRemove(u8 id); void FieldEffectActiveListRemove(u8 id);
void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8);
extern void (*gUnknown_0203CEEC)(void); void FieldEffectActiveListAdd(u8 id);
extern bool8 (*gUnknown_03005DB0)(void); void FieldEffectScript_LoadTiles(u8 **script);
void FieldEffectScript_LoadFadedPalette(u8 **script);
void FieldEffectScript_LoadPalette(u8 **script);
void FieldEffectScript_CallNative(u8 **script, u32 *val);
void FieldEffectFreeTilesIfUnused(u16 tileStart);
void FieldEffectFreePaletteIfUnused(u8 paletteNum);
bool8 FieldEffectCmd_loadtiles(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadfadedpal(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadpal(u8 **script, u32 *val);
bool8 FieldEffectCmd_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_end(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val);
void PokecenterHealEffect_0(struct Task *);
void PokecenterHealEffect_1(struct Task *);
void PokecenterHealEffect_2(struct Task *);
void PokecenterHealEffect_3(struct Task *);
void HallOfFameRecordEffect_0(struct Task *);
void HallOfFameRecordEffect_1(struct Task *);
void HallOfFameRecordEffect_2(struct Task *);
void HallOfFameRecordEffect_3(struct Task *);
void PokeballGlowEffect_0(struct Sprite *);
void PokeballGlowEffect_1(struct Sprite *);
void PokeballGlowEffect_2(struct Sprite *);
void PokeballGlowEffect_3(struct Sprite *);
void PokeballGlowEffect_4(struct Sprite *);
void PokeballGlowEffect_5(struct Sprite *);
void PokeballGlowEffect_6(struct Sprite *);
void PokeballGlowEffect_7(struct Sprite *);
bool8 sub_80B6BCC(struct Task *);
bool8 sub_80B6C74(struct Task *);
bool8 sub_80B6C90(struct Task *);
bool8 sub_80B6D04(struct Task *);
bool8 sub_80B6DBC(struct Task *);
bool8 sub_80B6DD8(struct Task *);
bool8 sub_80B6E18(struct Task *);
bool8 sub_80B6EC0(struct Task *);
bool8 sub_80B6EE0(struct Task *);
bool8 sub_80B6F50(struct Task *);
bool8 sub_80B6F74(struct Task *);
bool8 sub_80B6F84(struct Task *);
bool8 sub_80B6FA8(struct Task *);
bool8 sub_80B7114(struct Task *);
bool8 sub_80B7190(struct Task *);
bool8 sub_80B71D0(struct Task *);
bool8 sub_80B7230(struct Task *);
bool8 sub_80B7270(struct Task *);
bool8 sub_80B72D0(struct Task *);
bool8 sub_80B72F4(struct Task *);
bool8 sub_80B73D0(struct Task *, struct MapObject *);
bool8 waterfall_1_do_anim_probably(struct Task *, struct MapObject *);
bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct MapObject *);
bool8 sub_80B7450(struct Task *, struct MapObject *);
bool8 sub_80B7478(struct Task *, struct MapObject *);
bool8 dive_1_lock(struct Task *);
bool8 dive_2_unknown(struct Task *);
bool8 dive_3_unknown(struct Task *);
bool8 sub_80B764C(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7684(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B76B8(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7704(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B77F8(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7814(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B78EC(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B791C(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7968(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B79BC(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7AE8(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7B18(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7B94(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7BCC(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7BF4(struct Task *, struct MapObject *, struct Sprite *);
void sub_80B7D14(struct Task *);
void sub_80B7D34(struct Task *);
void sub_80B7EC4(struct Task *);
void sub_80B7EE8(struct Task *);
void sub_80B8280(struct Task *);
void sub_80B830C(struct Task *);
void sub_80B8410(struct Task *);
void sub_80B8584(struct Task *);
void sub_80B85F8(struct Task *);
void sub_80B8660(struct Task *);
void sub_80B86EC(struct Task *);
void sub_80B871C(struct Task *);
void sub_80B8770(struct Task *);
void overworld_bg_setup_2(struct Task *);
void sub_80B88E4(struct Task *);
void sub_80B8920(struct Task *);
void sub_80B898C(struct Task *);
void sub_80B89DC(struct Task *);
void sub_80B8A0C(struct Task *);
void sub_80B8A44(struct Task *);
void sub_80B8A64(struct Task *);
void sub_80B8DB4(struct Task *);
void sub_80B8E14(struct Task *);
void sub_80B8E60(struct Task *);
void sub_80B8EA8(struct Task *);
void sub_80B8F24(struct Task *);
void sub_80B9204(struct Task *);
void sub_80B925C(struct Task *);
void sub_80B92A0(struct Task *);
void sub_80B92F8(struct Task *);
void sub_80B933C(struct Task *);
void sub_80B9390(struct Task *);
void sub_80B9418(struct Task *);
void sub_80B9474(struct Task *);
void sub_80B9494(struct Task *);
void sub_80B9804(struct Task *);
void sub_80B98B8(struct Task *);
void sub_80B9924(struct Task *);
void sub_80B9978(struct Task *);
void sub_80B99F0(struct Task *);
void sub_80B9A28(struct Task *);
void sub_80B9A60(struct Task *);
void sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
void sub_80B9CDC(s16*, u8);
#endif //GUARD_FIELD_EFFECTS_H #endif //GUARD_FIELD_EFFECTS_H

View File

@ -13,5 +13,6 @@
u8 sub_8154228(void); u8 sub_8154228(void);
bool8 sub_8155DA0(struct MapObject *); bool8 sub_8155DA0(struct MapObject *);
void sub_8155D78(struct MapObject *); void sub_8155D78(struct MapObject *);
void sub_81555AC(u8, u8);
#endif //GUARD_FIELD_EFFECT_HELPERS_H #endif //GUARD_FIELD_EFFECT_HELPERS_H

View File

@ -93,6 +93,8 @@ void npc_coords_shift_still(struct MapObject *pObject);
void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1); void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
u8 AddCameraObject(u8 linkedSpriteId); u8 AddCameraObject(u8 linkedSpriteId);
void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y); void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y);
u8 GetSimpleGoAnimId(u32);
u8 sub_8093514(u32);
// Exported data declarations // Exported data declarations

View File

@ -40,6 +40,9 @@ void sub_808D074(u8);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8);
void sub_808C114(void); void sub_808C114(void);
u8 GetPlayerAvatarGraphicsIdByCurrentState(); u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
void SetPlayerAvatarStateMask(u8 a);
u8 GetPlayerAvatarGraphicsIdByStateId(u8 a);
u8 sub_8093540(u32);
#endif // GUARD_FIELD_PLAYER_AVATAR_H #endif // GUARD_FIELD_PLAYER_AVATAR_H

View File

@ -7,10 +7,11 @@
// Exported ROM declarations // Exported ROM declarations
void pal_fill_black(void); void pal_fill_black(void);
bool8 sub_80ABDFC(void); bool8 IsWeatherNotFadingIn(void);
void sub_80AF168(void); void sub_80AF168(void);
void UpdateWeatherPerDay(u16 days); void UpdateWeatherPerDay(u16 days);
void sub_80AC3D0(void); void sub_80AC3D0(void);
void sub_80AC3E4(void); void sub_80AC3E4(void);
void PreservePaletteInWeather(u8);
#endif //GUARD_FIELD_SCREEN_H #endif //GUARD_FIELD_SCREEN_H

View File

@ -28,4 +28,8 @@ struct MapConnection *sub_8088950(u8 direction, int x, int y);
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection); bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset); bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
void SpriteCB_PokeballGlow(struct Sprite *);
void SpriteCB_PokecenterMonitor(struct Sprite *);
void SpriteCB_HallOfFameMonitor(struct Sprite *);
#endif //GUARD_FIELDMAP_H #endif //GUARD_FIELDMAP_H

View File

@ -23,6 +23,8 @@ extern u16 *gBGTilemapBuffers1;
extern u16 *gBGTilemapBuffers2; extern u16 *gBGTilemapBuffers2;
extern u16 *gBGTilemapBuffers3; extern u16 *gBGTilemapBuffers3;
extern void (*gFieldCallback)(void);
// Exported ROM declarations // Exported ROM declarations
extern const struct UCoords32 gUnknown_08339D64[]; extern const struct UCoords32 gUnknown_08339D64[];
@ -101,7 +103,7 @@ u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
u8 GetMapTypeByWarpData(struct WarpData *warp); u8 GetMapTypeByWarpData(struct WarpData *warp);
u8 Overworld_GetMapTypeOfSaveblockLocation(void); u8 Overworld_GetMapTypeOfSaveblockLocation(void);
u8 get_map_light_from_warp0(void); u8 get_map_light_from_warp0(void);
bool8 is_light_level_1_2_3_5_or_6(u8 mapType); bool8 is_map_type_1_2_3_5_or_6(u8 mapType);
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
bool8 Overworld_MapTypeIsIndoors(u8 mapType); bool8 Overworld_MapTypeIsIndoors(u8 mapType);
u8 sav1_saved_warp2_map_get_name(void); u8 sav1_saved_warp2_map_get_name(void);

View File

@ -482,6 +482,7 @@ extern const u8 gUnknown_08329D2A[];
extern const u8 gStatStageRatios[][2]; extern const u8 gStatStageRatios[][2];
extern const u16 gUnknown_08329D54[]; extern const u16 gUnknown_08329D54[];
extern const struct SpriteTemplate gUnknown_08329D98[]; extern const struct SpriteTemplate gUnknown_08329D98[];
extern const struct CompressedSpritePalette gMonPaletteTable[];
void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroBoxMonData(struct BoxPokemon *boxMon);
void ZeroMonData(struct Pokemon *mon); void ZeroMonData(struct Pokemon *mon);

View File

@ -121,7 +121,7 @@ SECTIONS {
asm/cable_club.o(.text); asm/cable_club.o(.text);
src/trainer_see.o(.text); src/trainer_see.o(.text);
src/wild_encounter.o(.text); src/wild_encounter.o(.text);
asm/field_effect.o(.text); src/field_effect.o(.text);
src/scanline_effect.o(.text); src/scanline_effect.o(.text);
src/option_menu.o(.text); src/option_menu.o(.text);
src/pokedex.o(.text); src/pokedex.o(.text);
@ -422,7 +422,7 @@ SECTIONS {
data/cable_club.o(.rodata); data/cable_club.o(.rodata);
src/trainer_see.o(.rodata); src/trainer_see.o(.rodata);
src/wild_encounter.o(.rodata); src/wild_encounter.o(.rodata);
data/field_effect.o(.rodata); src/field_effect.o(.rodata);
src/option_menu.o(.rodata); src/option_menu.o(.rodata);
src/pokedex.o(.rodata); src/pokedex.o(.rodata);
data/pokedex.o(.rodata); data/pokedex.o(.rodata);

View File

@ -51,8 +51,6 @@ struct TrainerBattleParameter
u8 ptrType; u8 ptrType;
}; };
extern void (*gFieldCallback)(void);
extern bool8 InBattlePyramid(void); extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void); extern bool8 InBattlePike(void);
extern bool32 InTrainerHill(void); extern bool32 InTrainerHill(void);

View File

@ -13,7 +13,6 @@
extern bool8 gBikeCyclingChallenge; extern bool8 gBikeCyclingChallenge;
extern u8 gBikeCollisions; extern u8 gBikeCollisions;
extern u8 sub_8093514(u8 direction);
extern u8 sub_808B980(u8 direction); extern u8 sub_808B980(u8 direction);
extern u8 sub_808B9BC(u8 direction); extern u8 sub_808B9BC(u8 direction);
extern u8 sub_808B9A4(u8 direction); extern u8 sub_808B9A4(u8 direction);

View File

@ -38,8 +38,6 @@
#include "decoration.h" #include "decoration.h"
#include "graphics.h" #include "graphics.h"
extern void (*gFieldCallback)(void);
// Static type declarations // Static type declarations
#define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5 #define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5
@ -1294,7 +1292,7 @@ void sub_8128060(u8 taskId)
gTasks[taskId].data[2] = 2; gTasks[taskId].data[2] = 2;
break; break;
case 2: case 2:
if (sub_80ABDFC() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
{ {
gTasks[taskId].data[12] = 0; gTasks[taskId].data[12] = 0;
sub_8128FD8(taskId); sub_8128FD8(taskId);
@ -1710,7 +1708,7 @@ void sub_8128C64(u8 taskId)
data[2] ++; data[2] ++;
break; break;
case 3: case 3:
if (sub_80ABDFC() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
{ {
gTasks[taskId].func = sub_812764C; gTasks[taskId].func = sub_812764C;
} }
@ -2220,7 +2218,7 @@ void sub_81298EC(u8 taskId)
gTasks[taskId].data[2] = 3; gTasks[taskId].data[2] = 3;
break; break;
case 3: case 3:
if (sub_80ABDFC() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
{ {
StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC);
DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64);
@ -2290,7 +2288,7 @@ void sub_8129ABC(u8 taskId)
data[2] = 2; data[2] = 2;
break; break;
case 2: case 2:
if (sub_80ABDFC() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
{ {
data[12] = 1; data[12] = 1;
sub_8129B34(taskId); sub_8129B34(taskId);
@ -2616,7 +2614,7 @@ void sub_812A2C4(u8 taskId)
data[2] ++; data[2] ++;
break; break;
case 3: case 3:
if (sub_80ABDFC() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
{ {
gTasks[taskId].func = sub_8126B80; gTasks[taskId].func = sub_8126B80;
} }

View File

@ -25,6 +25,7 @@
#include "window.h" #include "window.h"
#include "constants/abilities.h" #include "constants/abilities.h"
#include "daycare.h" #include "daycare.h"
#include "overworld.h"
#include "battle.h" // to get rid of later #include "battle.h" // to get rid of later
struct EggHatchData struct EggHatchData
@ -44,8 +45,6 @@ struct EggHatchData
u8 textColor[3]; u8 textColor[3];
}; };
extern void (*gFieldCallback)(void);
extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const u8 gBattleTextboxTiles[]; extern const u8 gBattleTextboxTiles[];
extern const u8 gBattleTextboxTilemap[]; extern const u8 gBattleTextboxTilemap[];

File diff suppressed because it is too large Load Diff

View File

@ -37,7 +37,7 @@ bool8 FldEff_UseTeleport(void)
void sub_817C94C(void) void sub_817C94C(void)
{ {
FieldEffectActiveListRemove(FLDEFF_USE_TELEPORT); FieldEffectActiveListRemove(FLDEFF_USE_TELEPORT);
sub_80B7FC8(); CreateTeleportFieldEffectTask();
} }

View File

@ -7,7 +7,6 @@
#include "script_menu.h" #include "script_menu.h"
#include "task.h" #include "task.h"
extern void (*gFieldCallback)(void);
extern void (*gUnknown_0300485C)(void); extern void (*gUnknown_0300485C)(void);
extern void Overworld_PlaySpecialMapMusic(void); extern void Overworld_PlaySpecialMapMusic(void);

View File

@ -271,8 +271,6 @@ EWRAM_DATA struct ListBuffer2 *gUnknown_0203CE78 = 0;
EWRAM_DATA u16 gSpecialVar_ItemId = 0; EWRAM_DATA u16 gSpecialVar_ItemId = 0;
EWRAM_DATA struct TempWallyStruct *gUnknown_0203CE80 = 0; EWRAM_DATA struct TempWallyStruct *gUnknown_0203CE80 = 0;
void (*gFieldCallback)(void);
extern u8 *gPocketNamesStringsTable[]; extern u8 *gPocketNamesStringsTable[];
extern u8 gUnknown_08D9A88C[]; extern u8 gUnknown_08D9A88C[];
extern struct ListMenuTemplate gUnknown_08613F9C; extern struct ListMenuTemplate gUnknown_08613F9C;

View File

@ -91,7 +91,6 @@ extern u8* sub_806CF78(u16);
extern void sub_81B89F0(void); extern void sub_81B89F0(void);
extern u8 GetItemEffectType(u16); extern u8 GetItemEffectType(u16);
extern struct MapConnection *sub_8088A8C(s16, s16); extern struct MapConnection *sub_8088A8C(s16, s16);
extern void (*gFieldCallback)(void);
void MapPostLoadHook_UseItem(void); void MapPostLoadHook_UseItem(void);
void sub_80AF6D4(void); void sub_80AF6D4(void);
@ -167,7 +166,7 @@ void MapPostLoadHook_UseItem(void)
void Task_CallItemUseOnFieldCallback(u8 taskId) void Task_CallItemUseOnFieldCallback(u8 taskId)
{ {
if (sub_80ABDFC() == 1) if (IsWeatherNotFadingIn() == 1)
gUnknown_0203A0F4(taskId); gUnknown_0203A0F4(taskId);
} }

View File

@ -38,6 +38,7 @@
#include "roamer.h" #include "roamer.h"
// #include "rotating_gate.h" // #include "rotating_gate.h"
#include "safari_zone.h" #include "safari_zone.h"
#include "save.h"
#include "script.h" #include "script.h"
// #include "script_pokemon_80C4.h" // #include "script_pokemon_80C4.h"
#include "secret_base.h" #include "secret_base.h"
@ -87,12 +88,11 @@ extern const struct MapHeader *const *const gMapGroups[];
extern const s32 gMaxFlashLevel; extern const s32 gMaxFlashLevel;
extern const u16 gUnknown_82EC7C4[]; extern const u16 gUnknown_82EC7C4[];
extern u16 gSaveFileStatus; u16 gUnknown_03005DA8;
extern u16 gUnknown_03005DA8; MainCallback gFieldCallback;
extern bool8 (*gUnknown_03005DB0)(void); bool8 (*gUnknown_03005DB0)(void);
extern u8 gUnknown_03005DB4; u8 gUnknown_03005DB4;
extern u8 gFieldLinkPlayerCount; u8 gFieldLinkPlayerCount;
extern MainCallback gFieldCallback;
// functions // functions
extern void HealPlayerParty(void); extern void HealPlayerParty(void);
@ -713,7 +713,7 @@ void sub_8084D5C(s16 a1, s16 a2)
{ {
u8 currMapType = Overworld_GetMapTypeOfSaveblockLocation(); u8 currMapType = Overworld_GetMapTypeOfSaveblockLocation();
u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum);
if (is_light_level_1_2_3_5_or_6(currMapType) && is_light_level_1_2_3_5_or_6(destMapType) != TRUE) if (is_map_type_1_2_3_5_or_6(currMapType) && is_map_type_1_2_3_5_or_6(destMapType) != TRUE)
sub_8084DD4(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, a1 - 7, a2 - 6); sub_8084DD4(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, a1 - 7, a2 - 6);
} }
@ -872,7 +872,7 @@ static void mli0_load_map(u32 a1)
LoadMapObjTemplatesFromHeader(); LoadMapObjTemplatesFromHeader();
} }
v2 = is_light_level_1_2_3_5_or_6(gMapHeader.mapType); v2 = is_map_type_1_2_3_5_or_6(gMapHeader.mapType);
indoors = Overworld_MapTypeIsIndoors(gMapHeader.mapType); indoors = Overworld_MapTypeIsIndoors(gMapHeader.mapType);
sub_80EB218(); sub_80EB218();
@ -1365,7 +1365,7 @@ u8 get_map_light_from_warp0(void)
return GetMapTypeByWarpData(&gUnknown_020322DC); return GetMapTypeByWarpData(&gUnknown_020322DC);
} }
bool8 is_light_level_1_2_3_5_or_6(u8 mapType) bool8 is_map_type_1_2_3_5_or_6(u8 mapType)
{ {
if (mapType == MAP_TYPE_ROUTE if (mapType == MAP_TYPE_ROUTE
|| mapType == MAP_TYPE_TOWN || mapType == MAP_TYPE_TOWN

View File

@ -436,7 +436,7 @@ void Mailbox_DoRedrawMailboxMenuAfterReturn(void)
static void ItemStorage_HandleReturnToProcessInput(u8 taskId) static void ItemStorage_HandleReturnToProcessInput(u8 taskId)
{ {
if (sub_80ABDFC() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
gTasks[taskId].func = ItemStorageMenuProcessInput; gTasks[taskId].func = ItemStorageMenuProcessInput;
} }
@ -673,7 +673,7 @@ static void pal_fill_for_maplights_or_black(void)
static void Mailbox_HandleReturnToProcessInput(u8 taskId) static void Mailbox_HandleReturnToProcessInput(u8 taskId)
{ {
if(sub_80ABDFC() == TRUE) if(IsWeatherNotFadingIn() == TRUE)
gTasks[taskId].func = Mailbox_ProcessInput; gTasks[taskId].func = Mailbox_ProcessInput;
} }

View File

@ -29,6 +29,7 @@
#include "battle_message.h" #include "battle_message.h"
#include "safari_zone.h" #include "safari_zone.h"
#include "lilycove_lady.h" #include "lilycove_lady.h"
#include "overworld.h"
#define POKEBLOCK_MAX_FEEL 99 #define POKEBLOCK_MAX_FEEL 99
#define FIELD_E75_COUNT 7 #define FIELD_E75_COUNT 7
@ -70,7 +71,6 @@ enum
}; };
extern u16 gSpecialVar_ItemId; extern u16 gSpecialVar_ItemId;
extern void (*gFieldCallback)(void);
extern const u16 gUnknown_0860F074[]; extern const u16 gUnknown_0860F074[];

View File

@ -40,8 +40,6 @@
#include "tv.h" #include "tv.h"
#include "secret_base.h" #include "secret_base.h"
extern void (*gFieldCallback)(void);
extern void mapldr_default(void); extern void mapldr_default(void);
// Static type declarations // Static type declarations
@ -416,7 +414,7 @@ bool8 sub_80E909C(void)
void sub_80E90C8(u8 taskId) void sub_80E90C8(u8 taskId)
{ {
FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_NORTH); FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_NORTH);
if (sub_80ABDFC() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
{ {
EnableBothScriptContexts(); EnableBothScriptContexts();
DestroyTask(taskId); DestroyTask(taskId);

View File

@ -81,7 +81,7 @@ void UpdateShoalTideFlag(void)
1, // 23 1, // 23
}; };
if (is_light_level_1_2_3_5_or_6(get_map_light_from_warp0())) if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()))
{ {
RtcCalcLocalTime(); RtcCalcLocalTime();
if (tide[gLocalTime.hours]) if (tide[gLocalTime.hours])

View File

@ -6,8 +6,7 @@
#include "main.h" #include "main.h"
#include "text.h" #include "text.h"
#include "new_game.h" #include "new_game.h"
#include "overworld.h"
extern void (*gFieldCallback)(void);
extern const u8 gText_Peekaboo[]; extern const u8 gText_Peekaboo[];

View File

@ -23,22 +23,7 @@ gBGTilemapBuffers2: @ 3005DA0
gBGTilemapBuffers3: @ 3005DA4 gBGTilemapBuffers3: @ 3005DA4
.space 0x4 .space 0x4
gUnknown_03005DA8: @ 3005DA8 .include "overworld.o"
.space 0x4
gFieldCallback: @ 3005DAC
.include "item_menu.o"
gUnknown_03005DB0: @ 3005DB0
.space 0x4
gUnknown_03005DB4: @ 3005DB4
.space 0x4
gFieldLinkPlayerCount: @ 3005DB8
.space 0x8
.include "fieldmap.o" .include "fieldmap.o"
.include "field_camera.o" .include "field_camera.o"

View File

@ -285,10 +285,7 @@ gUnknown_02038BC6: @ 2038BC6
.include "src/battle_setup.o" .include "src/battle_setup.o"
.include "src/trainer_see.o" .include "src/trainer_see.o"
.include "src/wild_encounter.o" .include "src/wild_encounter.o"
.include "src/field_effect.o"
gFieldEffectArguments: @ 2038C08
.space 0x20
.include "src/scanline_effect.o" .include "src/scanline_effect.o"
.include "src/option_menu.o" .include "src/option_menu.o"