Added move type split icons in battle

This commit is contained in:
Ninjdai 2023-11-13 20:34:59 +01:00
parent eb54414adf
commit 14574d6548
6 changed files with 53 additions and 25 deletions

View File

@ -20,14 +20,12 @@ If you have suggestions, found bugs, or just want to talk, feel free to DM me on
* Battle mechanics such as megas, S/P split, fairy type...
* New Exp Share
* For more info, check out [their github](https://github.com/rh-hideout/pokeemerald-expansion)
- SIDEWAYS STAIRS :OOOOOO [by ghoulslash](https://www.pokecommunity.com/showthread.php?p=10175618) (Best feature of the hack frfr)
- SIDEWAYS STAIRS :OOOOOO (Best feature of the hack frfr)
- QOL
* Bigger bag (Up to 999 of each item)
* X/Y-style wrapping summary screen ([Zeturic](https://www.pokecommunity.com/showpost.php?p=10060875&postcount=27))
* Options default to fast text speed and set battle type
* Day/Night system [by quocmanh94](https://github.com/quocmanh94/pokeemerald/commit/a0fd237009a1bd1f999e3ab25ca07508985b4435)
* Faster text speed ([ellabrella](https://www.pokecommunity.com/showpost.php?p=10400198))
* EV/IV Menu (will be accessible in the late game) (credits go to [LOuroboros](https://github.com/DizzyEggg/pokeemerald/commit/e11dac36d69b09557a63a217caa33c7e11728831) and [Acimut](https://github.com/Acimut/Custom-EV-IV-Display-Screen))
* Text greatly sped up.
* Day/Night system
* EV/IV Menu (will be accessible in the late game)
**WIP**
- Brand new region of ???????
@ -36,6 +34,7 @@ If you have suggestions, found bugs, or just want to talk, feel free to DM me on
- Adapt encounters to D/N system
- Every pokemon obtainable, including mythicals/legendaries
- 4G-esque OW graphics
- Ability to change IVs
- Better inventory system
* TM Case, Berry pouch
* Later gen-like UI
@ -52,6 +51,16 @@ If you have suggestions, found bugs, or just want to talk, feel free to DM me on
### Overworld Sprites
### Battle graphics
- Vent
### Code
- The RHH team (pokeemerald-expansion)
- Ghoulslash (sideways stairs, a lot of contributions in various projects and feature branches)
- Quocmanh94 (Day/Night system)
- LOuroboros (EV/IV Menu)
- Acimut (EV/IV Menu)
- Ellabrella (Text speed changes)
- Zeturic (X/Y-style wrapping summary screen)
- Anon822 (Physical/Special split icons in battle)
### Tools used
- Porymap
- Gimp

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -442,7 +442,7 @@
#define B_WIN_MOVE_NAME_3 5 // Bottom left
#define B_WIN_MOVE_NAME_4 6 // Bottom right
#define B_WIN_PP 7
#define B_WIN_DUMMY 8
#define B_WIN_SPLIT_ICON 8
#define B_WIN_PP_REMAINING 9
#define B_WIN_MOVE_TYPE 10
#define B_WIN_SWITCH_PROMPT 11 // "Switch which?"

View File

@ -220,21 +220,21 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] =
},
[B_WIN_PP] = {
.bg = 0,
.tilemapLeft = 21,
.tilemapLeft = 23,
.tilemapTop = 55,
.width = 4,
.width = 2,
.height = 2,
.paletteNum = 5,
.baseBlock = 0x0290,
},
[B_WIN_DUMMY] = {
[B_WIN_SPLIT_ICON] = {
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 0,
.height = 0,
.paletteNum = 5,
.baseBlock = 0x0298,
.tilemapTop = 55,
.width = 2,
.height = 2,
.paletteNum = 10,
.baseBlock = 0x0294,
},
[B_WIN_PP_REMAINING] = {
.bg = 0,
@ -441,21 +441,21 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] =
},
[B_WIN_PP] = {
.bg = 0,
.tilemapLeft = 21,
.tilemapLeft = 23,
.tilemapTop = 55,
.width = 4,
.width = 2,
.height = 2,
.paletteNum = 5,
.baseBlock = 0x0290,
},
[B_WIN_DUMMY] = {
[B_WIN_SPLIT_ICON] = {
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 0,
.height = 0,
.paletteNum = 5,
.baseBlock = 0x0298,
.tilemapTop = 55,
.width = 2,
.height = 2,
.paletteNum = 10,
.baseBlock = 0x0294,
},
[B_WIN_PP_REMAINING] = {
.bg = 0,

View File

@ -93,6 +93,8 @@ static void PrintLinkStandbyMsg(void);
static void ReloadMoveNames(u32 battler);
static void MoveSelectionDisplaySplitIcon(u32 battler);
static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) =
{
[CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData,
@ -1674,7 +1676,10 @@ static void MoveSelectionDisplayMoveType(u32 battler)
*(txtPtr)++ = FONT_NORMAL;
StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[battler]]].type]);
//EDIT HERE REMINDER
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE);
MoveSelectionDisplaySplitIcon(battler);
}
void MoveSelectionCreateCursorAt(u8 cursorPosition, u8 baseTileNum)
@ -2232,3 +2237,17 @@ static void PlayerHandleBattleDebug(u32 battler)
SetMainCallback2(CB2_BattleDebugMenu);
gBattlerControllerFuncs[battler] = Controller_WaitForDebug;
}
static void MoveSelectionDisplaySplitIcon(u32 battler){
static const u16 sSplitIcons_Pal[] = INCBIN_U16("graphics/interface/split_icons_battle.gbapal");
static const u8 sSplitIcons_Gfx[] = INCBIN_U8("graphics/interface/split_icons_battle.4bpp");
struct ChooseMoveStruct *moveInfo;
int icon;
moveInfo = (struct ChooseMoveStruct*)(&gBattleResources->bufferA[battler][4]);
icon = GetBattleMoveSplit(moveInfo->moves[gMoveSelectionCursor[battler]]);
LoadPalette(sSplitIcons_Pal, 10 * 0x10, 0x20);
BlitBitmapToWindow(B_WIN_SPLIT_ICON, sSplitIcons_Gfx + 0x80 * icon, 0, 0, 16, 16);
PutWindowTilemap(B_WIN_SPLIT_ICON);
CopyWindowToVram(B_WIN_SPLIT_ICON, 3);
}

View File

@ -2249,7 +2249,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 11,
},
[B_WIN_DUMMY] = {
[B_WIN_SPLIT_ICON] = {
.fillValue = PIXEL_FILL(0xE),
.fontId = FONT_NORMAL,
.x = 0,
@ -2489,7 +2489,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
.bgColor = 14,
.shadowColor = 11,
},
[B_WIN_DUMMY] = {
[B_WIN_SPLIT_ICON] = {
.fillValue = PIXEL_FILL(0xE),
.fontId = FONT_NORMAL,
.x = 0,