Skip to content

Commit

Permalink
Raid partners, ipatix HQ Mixer, Psyshield Bash fix
Browse files Browse the repository at this point in the history
* Marley OW sprites by aveontrainer
* Marley backsprites were taken from greenphx9's repository, as were their raid team layouts for May, Brendan and Marley (with some edits by me, more changes to be made for balance etc as I progress)
* ipatix HQ Mixer integration by greenphx9
* Mr. Rime OW sprites by SageDeoxys
* Fixed Psyshield Bash not properly fainting foes when it KOs
  • Loading branch information
evanonline committed Aug 10, 2022
1 parent f958a71 commit 26b8c5e
Show file tree
Hide file tree
Showing 23 changed files with 6,798 additions and 1,133 deletions.
2 changes: 1 addition & 1 deletion assembly/battle_scripts/general_attack_battle_scripts.s
Original file line number Diff line number Diff line change
Expand Up @@ -2992,7 +2992,7 @@ PsyshieldBash_SpDef:
jumpifbyte EQUALS MULTISTRING_CHOOSER 0x2 BS_MOVE_END
printfromtable 0x83FE57C
waitmessage DELAY_1SECOND
goto BS_MOVE_END
goto BS_MOVE_FAINT

@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Expand Down
1,318 changes: 1,318 additions & 0 deletions assembly/hooks/hq_mixer.s

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions bytereplacement
Original file line number Diff line number Diff line change
Expand Up @@ -645,3 +645,10 @@
087803A5 3

#endif

#HQ Mixer
081DD0B8 E0 28 00 03
081DD0BC 9B
081DD0C0 00 E3 03 02
081DD0B8 50 5F 00 03
081DC094 51 5F 00 03
Binary file added graphics/Backsprites/gTrainerBackPic_Marley.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions graphics/overworld_sprites/gritflags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-gB4 -fts -fh -gu8
14 changes: 14 additions & 0 deletions include/constants/event_objects.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,25 @@ enum OverworldNPCSprites
EVENT_OBJ_GFX_BLAINE,
EVENT_OBJ_GFX_GIOVANNI,
EVENT_OBJ_GFX_MOM,
EVENT_OBJ_GFX_CELIO = 89,
EVENT_OBJ_GFX_PRIMO = 90,
EVENT_OBJ_GFX_GYMGUY = 91,
EVENT_OBJ_GFX_SMEARGLE = 152,
EVENT_OBJ_GFX_OCGUY = 154,
EVENT_OBJ_GFX_MARLEY,
};

#define EVENT_OBJ_GFX_RED_UNDERWATER 6 //By default VS. Seeker on bike b\c not used by anything else
#define EVENT_OBJ_GFX_LEAF_UNDERWATER 13

// unsure if needed

//#define EVENT_OBJ_GFX_CELIO 89
//#define EVENT_OBJ_GFX_PRIMO 90
//#define EVENT_OBJ_GFX_GYMGUY 91
//#define EVENT_OBJ_GFX_SMEARGLE 152
//#define EVENT_OBJ_GFX_OCGUY 154

// These are dynamic object gfx ids.
// They correspond with the values of the VAR_OBJ_GFX_ID_X vars.
// More info about them in include/constants/vars.h
Expand Down
3 changes: 2 additions & 1 deletion include/constants/trainers.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,8 @@
#define TRAINER_BACK_PIC_MAY 3
#define TRAINER_BACK_PIC_POKE_DUDE 4
#define TRAINER_BACK_PIC_OLD_MAN 5
#define TRAINER_BACK_PIC_SHERRY 6
#define TRAINER_BACK_PIC_MARLEY 6
#define TRAINER_BACK_PIC_SHERRY 7

#ifndef UNBOUND //CHANGE THESE

Expand Down
2 changes: 1 addition & 1 deletion repoints
Original file line number Diff line number Diff line change
Expand Up @@ -269,4 +269,4 @@ gUnknown_841F428 080f78dc
gText_TextSpeedMid 083cc330
gText_TextSpeedFast 083cc334
gText_TextSpeedInstant 083cc338
#endif
#endif
4 changes: 3 additions & 1 deletion routinepointers
Original file line number Diff line number Diff line change
Expand Up @@ -246,4 +246,6 @@ FieldUseFunc_FormChangeItem 93C5ADC
FieldUseFunc_FormChangeItem 93C5B08
FieldUseFunc_FormChangeItem 93C5B34
FieldUseFunc_FormChangeItem 93C5B60
FieldUseFunc_AbilityCapsule 93C7D3C
FieldUseFunc_AbilityCapsule 93C7D3C

SoundMainRAM 81DD0B4
50 changes: 40 additions & 10 deletions src/Tables/back_pic_tables.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ extern const u8 gTrainerBackPic_AlfordPal[];
#define gTrainerPalette_Alford gTrainerBackPic_AlfordPal
extern const u8 gTrainerBackPic_TessyPal[];
#define gTrainerPalette_Tessy gTrainerBackPic_TessyPal

extern const u8 gTrainerBackPic_MarleyPal[];
#define gTrainerPalette_Marley gTrainerBackPic_MarleyPal
extern const u8 gTrainerBackPic_Protag2SherryPal[];
#define gTrainerPalette_Protag2Sherry gTrainerBackPic_Protag2SherryPal

Expand All @@ -58,6 +61,7 @@ const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] =
[TRAINER_BACK_PIC_MAY] = {gTrainerPalette_May, TRAINER_BACK_PIC_MAY},
[TRAINER_BACK_PIC_POKE_DUDE] = {gTrainerPalette_PokeDude, TRAINER_BACK_PIC_POKE_DUDE},
[TRAINER_BACK_PIC_OLD_MAN] = {gTrainerPalette_OldMan, TRAINER_BACK_PIC_OLD_MAN},
[TRAINER_BACK_PIC_MARLEY] = {gTrainerPalette_Marley, TRAINER_BACK_PIC_MARLEY},
[TRAINER_BACK_PIC_SHERRY] = {gTrainerPalette_Protag2Sherry, TRAINER_BACK_PIC_SHERRY},

#ifdef UNBOUND //For Pokemon Unbound
Expand Down Expand Up @@ -92,6 +96,7 @@ const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] =
#define gTrainerBackAnims_Mahina (const union AnimCmd* const*) 0x8239F44
#define gTrainerBackAnims_Alford (const union AnimCmd* const*) 0x8239F44
#define gTrainerBackAnims_Tessy (const union AnimCmd* const*) 0x8239F44
#define gTrainerBackAnims_Marley (const union AnimCmd* const*) 0x8239F44
#define gTrainerBackAnims_Protag2Sherry (const union AnimCmd* const*) 0x8239F44

const union AnimCmd* const* const gTrainerBackAnimsPtrTable[] =
Expand All @@ -102,6 +107,7 @@ const union AnimCmd* const* const gTrainerBackAnimsPtrTable[] =
[TRAINER_BACK_PIC_MAY] = gTrainerBackAnims_May,
[TRAINER_BACK_PIC_POKE_DUDE] = gTrainerBackAnims_PokeDude,
[TRAINER_BACK_PIC_OLD_MAN] = gTrainerBackAnims_OldMan,
[TRAINER_BACK_PIC_MARLEY] = gTrainerBackAnims_Marley,
[TRAINER_BACK_PIC_SHERRY] = gTrainerBackAnims_Protag2Sherry,

#ifdef UNBOUND
Expand All @@ -127,6 +133,7 @@ const struct MonCoords gTrainerBackPicCoords[] =
[TRAINER_BACK_PIC_MAY] = {.coords = 8, .y_offset = 4},
[TRAINER_BACK_PIC_POKE_DUDE] = {.coords = 8, .y_offset = 4},
[TRAINER_BACK_PIC_OLD_MAN] = {.coords = 8, .y_offset = 4},
[TRAINER_BACK_PIC_MARLEY] = {.coords = 8, .y_offset = 4},
[TRAINER_BACK_PIC_SHERRY] = {.coords = 8, .y_offset = 5},

#ifdef UNBOUND
Expand Down Expand Up @@ -168,30 +175,43 @@ extern const u8 gTrainerBackPic_AbimbolaTiles[];
extern const u8 gTrainerBackPic_MahinaTiles[];
extern const u8 gTrainerBackPic_AlfordTiles[];
extern const u8 gTrainerBackPic_TessyTiles[];

extern const u8 gTrainerBackPic_Protag2SherryTiles[];
extern const u8 gTrainerBackPic_MarleyTiles[];

static const struct SpriteFrameImage sTrainerBackPicTable_Brendan[] =
static const struct SpriteFrameImage gTrainerBackPicTable_Brendan[] =
{
{gTrainerBackPic_BrendanTiles, 0x800, 0},
{gTrainerBackPic_BrendanTiles + 0x0800, 0x800, 0},
{gTrainerBackPic_BrendanTiles + 0x1000, 0x800, 0},
{gTrainerBackPic_BrendanTiles + 0x1800, 0x800, 0},
};

static const struct SpriteFrameImage sTrainerBackPicTable_May[] =
static const struct SpriteFrameImage gTrainerBackPicTable_May[] =
{
{gTrainerBackPic_MayTiles, 0x800, 0},
{gTrainerBackPic_MayTiles + 0x0800, 0x800, 0},
{gTrainerBackPic_MayTiles + 0x1000, 0x800, 0},
{gTrainerBackPic_MayTiles + 0x1800, 0x800, 0},
};

static const struct SpriteFrameImage sTrainerBackPicTable_Protag2Sherry[] =
static const struct SpriteFrameImage gTrainerBackPicTable_Marley[] =
{
{gTrainerBackPic_MayTiles, 0x800, 0},
{gTrainerBackPic_MayTiles + 0x0800, 0x800, 0},
{gTrainerBackPic_MayTiles + 0x1000, 0x800, 0},
{gTrainerBackPic_MayTiles + 0x1800, 0x800, 0},
{gTrainerBackPic_MarleyTiles, 0x800, 0},
{gTrainerBackPic_MarleyTiles + 0x0800, 0x800, 0},
{gTrainerBackPic_MarleyTiles + 0x1000, 0x800, 0},
{gTrainerBackPic_MarleyTiles + 0x1800, 0x800, 0},
{gTrainerBackPic_MarleyTiles + 0x2000, 0x800, 0},
};


static const struct SpriteFrameImage gTrainerBackPicTable_Protag2Sherry[] =
{
{gTrainerBackPic_Protag2SherryTiles, 0x800, 0},
{gTrainerBackPic_Protag2SherryTiles + 0x0800, 0x800, 0},
{gTrainerBackPic_Protag2SherryTiles + 0x1000, 0x800, 0},
{gTrainerBackPic_Protag2SherryTiles + 0x1800, 0x800, 0},
{gTrainerBackPic_Protag2SherryTiles + 0x2000, 0x800, 0},
};

#ifdef UNBOUND
Expand Down Expand Up @@ -322,7 +342,7 @@ const struct SpriteTemplate gSpriteTemplateTable_TrainerBackSprites[] =
.paletteTag = 0,
.oam = gOamData_TrainerBacksprite,
.anims = NULL,
.images = sTrainerBackPicTable_Brendan,
.images = gTrainerBackPicTable_Brendan,
.affineAnims = gAffineAnims_TrainerBacksprite,
.callback = gSpriteCB_TrainerBacksprite,
},
Expand All @@ -332,7 +352,7 @@ const struct SpriteTemplate gSpriteTemplateTable_TrainerBackSprites[] =
.paletteTag = 0,
.oam = gOamData_TrainerBacksprite,
.anims = NULL,
.images = sTrainerBackPicTable_May,
.images = gTrainerBackPicTable_May,
.affineAnims = gAffineAnims_TrainerBacksprite,
.callback = gSpriteCB_TrainerBacksprite,
},
Expand All @@ -356,13 +376,23 @@ const struct SpriteTemplate gSpriteTemplateTable_TrainerBackSprites[] =
.affineAnims = gAffineAnims_TrainerBacksprite,
.callback = gSpriteCB_TrainerBacksprite,
},
[TRAINER_BACK_PIC_MARLEY] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = gOamData_TrainerBacksprite,
.anims = NULL,
.images = gTrainerBackPicTable_Marley,
.affineAnims = gAffineAnims_TrainerBacksprite,
.callback = gSpriteCB_TrainerBacksprite,
},
[TRAINER_BACK_PIC_SHERRY] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = gOamData_TrainerBacksprite,
.anims = NULL,
.images = sTrainerBackPicTable_Protag2Sherry,
.images = gTrainerBackPicTable_Protag2Sherry,
.affineAnims = gAffineAnims_TrainerBacksprite,
.callback = gSpriteCB_TrainerBacksprite,
},
Expand Down
89 changes: 89 additions & 0 deletions src/Tables/overworld_sprites.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#include "../defines.h"
#include "../../include/constants/event_objects.h"

#define EVENT_OBJ_PAL_TAG_NONE 0x1102
#define gEventObjectBaseOam_16x16 ((const struct OamData*) 0x83A36F8)
#define gEventObjectBaseOam_16x32 ((const struct OamData*) 0x83A3710)
#define gEventObjectBaseOam_32x32 ((const struct OamData*) 0x83A3718)
#define gEventObjectBaseOam_64x64 ((const struct OamData*) 0x83A3720)
#define gEventObjectSpriteOamTables_16x16 ((const struct SubspriteTable*) 0x83A3748)
#define gEventObjectSpriteOamTables_16x32 ((const struct SubspriteTable*) 0x83A379C)
#define gEventObjectSpriteOamTables_32x32 ((const struct SubspriteTable*) 0x83A37F0)
#define gEventObjectSpriteOamTables_64x64 ((const struct SubspriteTable*) 0x83A38D0)
#define gEventObjectImageAnimTable_PlayerNormal ((const union AnimCmd* const*) 0x83A3470)
#define gEventObjectImageAnimTable_Standard ((const union AnimCmd* const*) 0x83A3368)
#define gEventObjectImageAnimTable_Surfing ((const union AnimCmd* const*) 0x83A3584)
#define gEventObjectImageAnimTable_FieldMove ((const union AnimCmd* const*) 0x83A3638)
#define gEventObjectImageAnimTable_Fishing ((const union AnimCmd* const*) 0x83A3668)
#define gEventObjectImageAnimTable_VsSeekerBike ((const union AnimCmd* const*) 0x83A3640)
#define sAnimTable_Inanimate ((const union AnimCmd* const*) 0x83A3314)

extern const u8 gEventObjectPic_155MarleyTiles[];

static const struct SpriteFrameImage gEventObjectPicTable_155Marley[] =
{
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 0),
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 1),
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 2),
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 3),
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 4),
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 5),
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 6),
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 7),
overworld_frame(gEventObjectPic_155MarleyTiles, 2, 4, 8),
};

const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_155Marley =
{
.tileTag = 0xFFFF,
.paletteTag1 = 0x1201,
.paletteTag2 = EVENT_OBJ_PAL_TAG_NONE,
.size = (16 * 32) / 2,
.width = 16,
.height = 32,
.shadowSize = SHADOW_SIZE_M, //Can also be SHADOW_SIZE_S, SHADOW_SIZE_L, or SHADOW_SIZE_XL
.inanimate = FALSE,
.disableReflectionPaletteLoad = FALSE,
.tracks = TRACKS_FOOT, //Can also be TRACKS_TIRE
.gender = FEMALE,
.oam = gEventObjectBaseOam_16x32,
.subspriteTables = gEventObjectSpriteOamTables_16x32,
.anims = gEventObjectImageAnimTable_Standard,
.images = gEventObjectPicTable_155Marley,
.affineAnims = gDummySpriteAffineAnimTable,
};

extern const u8 gEventObjectPic_156MrRimeTiles[];

static const struct SpriteFrameImage gEventObjectPicTable_156MrRime[] =
{
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 0),
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 1),
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 2),
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 3),
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 4),
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 5),
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 6),
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 7),
overworld_frame(gEventObjectPic_156MrRimeTiles, 4, 4, 8),
};

const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_156MrRime =
{
.tileTag = 0xFFFF,
.paletteTag1 = 0x1202,
.paletteTag2 = EVENT_OBJ_PAL_TAG_NONE,
.size = (32 * 32) / 2,
.width = 32,
.height = 32,
.shadowSize = SHADOW_SIZE_M, //Can also be SHADOW_SIZE_S, SHADOW_SIZE_L, or SHADOW_SIZE_XL
.inanimate = FALSE,
.disableReflectionPaletteLoad = FALSE,
.tracks = TRACKS_FOOT, //Can also be TRACKS_TIRE
.gender = MALE,
.oam = gEventObjectBaseOam_16x32,
.subspriteTables = gEventObjectSpriteOamTables_32x32,
.anims = gEventObjectImageAnimTable_Standard,
.images = gEventObjectPicTable_156MrRime,
.affineAnims = gDummySpriteAffineAnimTable,
};
Loading

0 comments on commit 26b8c5e

Please sign in to comment.