From eecafbaec17ba0721d091d1a12ac20fa71da352a Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Thu, 9 Nov 2017 03:13:09 -0500 Subject: depreciate use of shared_syms --- src/field/fldeff_cut.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/field/fldeff_cut.c') diff --git a/src/field/fldeff_cut.c b/src/field/fldeff_cut.c index 00643a979..00cabe5c0 100644 --- a/src/field/fldeff_cut.c +++ b/src/field/fldeff_cut.c @@ -16,8 +16,7 @@ #include "sprite.h" #include "task.h" #include "trig.h" - -extern u8 gCutGrassSpriteArray[8]; // seems to be an array of 8 sprite IDs +#include "ewram.h" extern void (*gFieldCallback)(void); extern void (*gUnknown_03005CE4)(void); @@ -135,9 +134,9 @@ bool8 FldEff_CutGrass(void) // populate sprite ID array for(i = 0; i < 8; i++) { - gCutGrassSpriteArray[i] = CreateSprite((struct SpriteTemplate *)&gSpriteTemplate_CutGrass, + eCutGrassSpriteArray[i] = CreateSprite((struct SpriteTemplate *)&gSpriteTemplate_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0); - gSprites[gCutGrassSpriteArray[i]].data2 = 32 * i; + gSprites[eCutGrassSpriteArray[i]].data2 = 32 * i; } return 0; } @@ -273,8 +272,8 @@ void sub_80A2AB8(void) u8 i; for (i = 1; i < 8; i++) - DestroySprite(&gSprites[gCutGrassSpriteArray[i]]); - FieldEffectStop(&gSprites[gCutGrassSpriteArray[0]], FLDEFF_CUT_GRASS); + DestroySprite(&gSprites[eCutGrassSpriteArray[i]]); + FieldEffectStop(&gSprites[eCutGrassSpriteArray[0]], FLDEFF_CUT_GRASS); sub_8064E2C(); ScriptContext2_Disable(); } -- cgit v1.2.3 From be716ef9f841589c67f152a90ce5c7c29f7211d8 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 18 Nov 2017 20:24:39 -0500 Subject: change Sprite struct to use a data array instead of manual declares. --- src/field/fldeff_cut.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/field/fldeff_cut.c') diff --git a/src/field/fldeff_cut.c b/src/field/fldeff_cut.c index 00cabe5c0..6e7f14a8c 100644 --- a/src/field/fldeff_cut.c +++ b/src/field/fldeff_cut.c @@ -136,7 +136,7 @@ bool8 FldEff_CutGrass(void) { eCutGrassSpriteArray[i] = CreateSprite((struct SpriteTemplate *)&gSpriteTemplate_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0); - gSprites[eCutGrassSpriteArray[i]].data2 = 32 * i; + gSprites[eCutGrassSpriteArray[i]].data[2] = 32 * i; } return 0; } @@ -242,9 +242,9 @@ void sub_80A28F4(s16 x, s16 y) void sub_80A2A48(struct Sprite *sprite) { - sprite->data0 = 8; - sprite->data1 = 0; - sprite->data3 = 0; + sprite->data[0] = 8; + sprite->data[1] = 0; + sprite->data[3] = 0; sprite->callback = (void *)objc_8097BBC; } @@ -253,16 +253,16 @@ void objc_8097BBC(struct Sprite *sprite) u16 tempdata; u16 tempdata2; - sprite->pos2.x = Sin(sprite->data2, sprite->data0); - sprite->pos2.y = Cos(sprite->data2, sprite->data0); + sprite->pos2.x = Sin(sprite->data[2], sprite->data[0]); + sprite->pos2.y = Cos(sprite->data[2], sprite->data[0]); - sprite->data2 = (sprite->data2 + 8) & 0xFF; - sprite->data0 += ((tempdata2 = sprite->data3) << 16 >> 18) + 1; // what? - sprite->data3 = tempdata2 + 1; + sprite->data[2] = (sprite->data[2] + 8) & 0xFF; + sprite->data[0] += ((tempdata2 = sprite->data[3]) << 16 >> 18) + 1; // what? + sprite->data[3] = tempdata2 + 1; - tempdata = sprite->data1; + tempdata = sprite->data[1]; if((s16)tempdata != 28) // done rotating the grass, execute clean up function - sprite->data1++; + sprite->data[1]++; else sprite->callback = (void *)sub_80A2AB8; } -- cgit v1.2.3 From f4b39ff81d4387b4a29bad7d9bb0a223721773c9 Mon Sep 17 00:00:00 2001 From: sceptillion <33798691+sceptillion@users.noreply.github.com> Date: Sun, 19 Nov 2017 10:16:42 -0800 Subject: decompile fldeff_secretpower --- src/field/fldeff_cut.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/field/fldeff_cut.c') diff --git a/src/field/fldeff_cut.c b/src/field/fldeff_cut.c index 6e7f14a8c..599c916a2 100644 --- a/src/field/fldeff_cut.c +++ b/src/field/fldeff_cut.c @@ -23,8 +23,6 @@ extern void (*gUnknown_03005CE4)(void); extern struct SpriteTemplate gSpriteTemplate_CutGrass; -extern struct MapPosition gUnknown_0203923C; - extern u8 gLastFieldPokeMenuOpened; extern u8 S_UseCut[]; -- cgit v1.2.3 From 5f242ae6cee377d219defa8290ef1c164b003f52 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sun, 26 Nov 2017 13:00:26 -0600 Subject: abilities, songs, species constants --- src/field/fldeff_cut.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/field/fldeff_cut.c') diff --git a/src/field/fldeff_cut.c b/src/field/fldeff_cut.c index 599c916a2..edf38d800 100644 --- a/src/field/fldeff_cut.c +++ b/src/field/fldeff_cut.c @@ -11,7 +11,7 @@ #include "overworld.h" #include "rom6.h" #include "script.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" #include "sprite.h" #include "task.h" -- cgit v1.2.3 From 8215d028078128c6b28119fe2420229cb1828e6b Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Mon, 27 Nov 2017 23:09:02 -0600 Subject: fldeff_cut.c data --- src/field/fldeff_cut.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 4 deletions(-) (limited to 'src/field/fldeff_cut.c') diff --git a/src/field/fldeff_cut.c b/src/field/fldeff_cut.c index edf38d800..e4328acfc 100644 --- a/src/field/fldeff_cut.c +++ b/src/field/fldeff_cut.c @@ -2,6 +2,7 @@ #include "fldeff_cut.h" #include "field_camera.h" #include "field_effect.h" +#include "field_map_obj.h" #include "field_player_avatar.h" #include "fieldmap.h" #include "map_obj_lock.h" @@ -20,12 +21,56 @@ extern void (*gFieldCallback)(void); extern void (*gUnknown_03005CE4)(void); +extern u8 gLastFieldPokeMenuOpened; -extern struct SpriteTemplate gSpriteTemplate_CutGrass; +extern const u8 S_UseCut[]; -extern u8 gLastFieldPokeMenuOpened; +const struct OamData gOamData_CutGrass = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 1, + .priority = 1, + .paletteNum = 1, + .affineParam = 0, +}; -extern u8 S_UseCut[]; +const union AnimCmd gSpriteAnim_CutGrass[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_CutGrass[] = +{ + gSpriteAnim_CutGrass, +}; + +const struct SpriteFrameImage gSpriteImageTable_CutGrass[] = +{ + {gFieldEffectPic_CutGrass, 0x20}, +}; + +const struct SpritePalette gFieldEffectObjectPaletteInfo6 = {gFieldEffectObjectPalette6, 0x1000}; + +static void sub_80A2A48(struct Sprite *); +static const struct SpriteTemplate gSpriteTemplate_CutGrass = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x1000, + .oam = &gOamData_CutGrass, + .anims = gSpriteAnimTable_CutGrass, + .images = gSpriteImageTable_CutGrass, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A2A48, +}; bool8 SetUpFieldMove_Cut(void) { @@ -238,7 +283,7 @@ void sub_80A28F4(s16 x, s16 y) } } -void sub_80A2A48(struct Sprite *sprite) +static void sub_80A2A48(struct Sprite *sprite) { sprite->data[0] = 8; sprite->data[1] = 0; -- cgit v1.2.3