Skip to content

Commit 3b8e295

Browse files
authored
Generate Contest Effects and use generated values in move data files (#866)
1 parent 5bb6f0f commit 3b8e295

File tree

488 files changed

+1275
-1217
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

488 files changed

+1275
-1217
lines changed

generated/contest_effects.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
CONTEST_EFFECT_NONE
2+
CONTEST_EFFECT_FIRST_NEXT_TURN
3+
CONTEST_EFFECT_LAST_NEXT_TURN
4+
CONTEST_EFFECT_DOUBLED_JUDGE
5+
CONTEST_EFFECT_2_HEARTS_WHEN_VOLTAGE_UP
6+
CONTEST_EFFECT_BASIC
7+
CONTEST_EFFECT_UNIQUE_JUDGE
8+
CONTEST_EFFECT_CONSECUTIVE_USE
9+
CONTEST_EFFECT_VOLTAGE
10+
CONTEST_EFFECT_ALL_SAME_JUDGE
11+
CONTEST_EFFECT_LOWERS_VOLTAGE
12+
CONTEST_EFFECT_DOUBLE_NEXT_TURN
13+
CONTEST_EFFECT_STEAL_VOLTAGE
14+
CONTEST_EFFECT_SUPPRESS_VOLTAGE
15+
CONTEST_EFFECT_RANDOM_ORDER
16+
CONTEST_EFFECT_DOUBLE_FINAL_ACT
17+
CONTEST_EFFECT_LOW_VOLTAGE_ADVANTAGE
18+
CONTEST_EFFECT_FIRST_PERFORMANCE_ADVANTAGE
19+
CONTEST_EFFECT_FINAL_PERFORMANCE_ADVANTAGE
20+
CONTEST_EFFECT_NO_VOLTAGE_DOWN
21+
CONTEST_EFFECT_TWO_VOLTAGE_IN_A_ROW_ADVANTAGE
22+
CONTEST_EFFECT_HIGH_SCORE_LATER_TURN
23+
CONTEST_EFFECT_MAX_VOLTAGE_ADVANTAGE
24+
CONTEST_EFFECT_PITY_POINTS
25+
CONTEST_EFFECT_MAX

generated/meson.build

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ metang_generators = {
4444
'bg_event_dirs': { 'type': 'enum', 'tag': 'BgEventDir' },
4545
'bg_event_types': { 'type': 'enum', 'tag': 'BgEventType' },
4646
'catching_show_points_category': { 'type': 'enum', 'tag': 'CatchingShowPointsCategory' },
47+
'contest_effects': { 'type': 'enum', 'tag': 'ContestEffects' },
4748
'comm_club_ret_codes': { 'type': 'enum', 'tag': 'CommClubRetCode' },
4849
'days_of_week': { 'type': 'enum', 'tag': 'DayOfWeek' },
4950
'distribution_events': { 'type': 'enum', 'tag': 'DistributionEvent' },
@@ -83,6 +84,7 @@ metang_generators = {
8384
'pokemon_anim_constants': { 'type': 'enum', 'tag': 'PokemonAnimConstants' },
8485
'pokemon_body_shapes': { 'type': 'enum', 'tag': 'PokemonBodyShape' },
8586
'pokemon_colors': { 'type': 'enum', 'tag': 'PokemonColor' },
87+
'pokemon_contest_ranks': { 'type': 'enum', 'tag': 'PokemonContestRank' },
8688
'pokemon_contest_types': { 'type': 'enum', 'tag': 'PokemonContestType' },
8789
'pokemon_data_params': { 'type': 'enum', 'tag': 'PokemonDataParam' },
8890
'pokemon_stats': { 'type': 'enum', 'tag': 'PokemonStat' },
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CONTEST_RANK_NORMAL
2+
CONTEST_RANK_GREAT
3+
CONTEST_RANK_ULTRA
4+
CONTEST_RANK_MASTER
5+
CONTEST_NUM_RANKS = CONTEST_RANK_MASTER
6+
CONTEST_MAX_RANKS
7+
CONTEST_RANK_LINK = CONTEST_MAX_RANKS

include/constants/contests.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#ifndef POKEPLATINUM_CONSTANTS_CONTESTS_H
2+
#define POKEPLATINUM_CONSTANTS_CONTESTS_H
3+
4+
#define CONTEST_NUM_PARTICIPANTS 4
5+
6+
#define POINTS_PER_APPEAL_HEART 10
7+
#define MAX_APPEAL_HEARTS 6
8+
9+
#endif // POKEPLATINUM_CONSTANTS_CONTESTS_H

include/struct_defs/struct_020F568C.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
#define POKEPLATINUM_STRUCT_020F568C_H
33

44
typedef struct {
5-
u16 unk_00;
6-
u16 unk_02;
5+
u16 lineOneEffectMessageID;
6+
u16 lineTwoEffectMessageID;
77
s8 unk_04;
88
u16 unk_06;
99
u8 unk_08;

include/unk_02094EDC.h

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
#ifndef POKEPLATINUM_UNK_02094EDC_H
22
#define POKEPLATINUM_UNK_02094EDC_H
33

4+
#include "generated/contest_effects.h"
5+
#include "generated/pokemon_contest_ranks.h"
6+
#include "generated/pokemon_contest_types.h"
7+
48
#include "struct_defs/struct_02095C48.h"
59

610
#include "battle/pokemon_sprite_data.h"
@@ -9,29 +13,29 @@
913
#include "pokemon.h"
1014
#include "pokemon_sprite.h"
1115

12-
int sub_02094EDC(UnkStruct_02095C48 *param0);
13-
void sub_02094F04(UnkStruct_02095C48 *param0, int heapID, int param2, int param3, int param4, int param5, int param6, int param7);
14-
void sub_020951B0(UnkStruct_02095C48 *param0, int param1);
16+
BOOL sub_02094EDC(UnkStruct_02095C48 *param0);
17+
void sub_02094F04(UnkStruct_02095C48 *param0, enum HeapID heapID, int param2, enum PokemonContestType contestType, enum PokemonContestRank contestRank, int param5, BOOL isGameCompleted, BOOL isNatDexObtained);
18+
void sub_020951B0(UnkStruct_02095C48 *param0, enum HeapID heapID);
1519
void sub_02095338(UnkStruct_02095C48 *param0);
1620
void sub_02095380(const UnkStruct_ov6_02248BE8 *param0, Pokemon *param1, int heapID);
1721
PokemonSprite *sub_02095484(PokemonSpriteManager *param0, int param1, Pokemon *param2, int param3, PokemonSpriteData *pokemonSpriteData, int heapID, int param6, int param7, int param8);
18-
void sub_020954F0(UnkStruct_02095C48 *param0, int heapID, int param2, int param3, int param4);
19-
s8 sub_02095734(int param0);
20-
void sub_02095750(int param0, u32 *param1, u32 *param2);
22+
void sub_020954F0(UnkStruct_02095C48 *param0, int heapID, int param2, enum PokemonContestType contestType, enum PokemonContestRank contestRank);
23+
s8 sub_02095734(enum ContestEffects contestEffect);
24+
void LoadTwoLineContestEffectMessages(int param0, u32 *lineOneEffectMessageID, u32 *lineTwoEffectMessageID);
2125
u32 sub_0209577C(int param0);
2226
void sub_02095790(int param0, int param1, u32 *param2, u32 *param3);
23-
u32 sub_02095848(int param0, int param1, int param2);
24-
u32 sub_02095888(int param0);
25-
u32 sub_020958B8(int param0);
26-
u32 sub_020958C4(int param0, int param1);
27+
u32 sub_02095848(enum PokemonContestRank contestRank, int param1, BOOL isLinkContest);
28+
u32 Contest_GetRankMessageID(enum PokemonContestRank contestRank);
29+
u32 Contest_GetContestTypeMessageID(int param0);
30+
u32 sub_020958C4(enum PokemonContestType contestType, int param1);
2731
int sub_020958FC(int param0);
2832
int sub_02095904(int param0);
2933
BOOL sub_0209590C(UnkStruct_02095C48 *param0);
3034
int sub_02095928(UnkStruct_02095C48 *param0, int param1);
3135
int sub_0209598C(UnkStruct_02095C48 *param0, int param1);
3236
void sub_020959F4(int param0);
3337
void sub_02095A24(void);
34-
u32 sub_02095A3C(int param0, int param1);
38+
u32 CalcMonDataRibbon(enum PokemonContestRank contestRank, enum PokemonContestType contestType);
3539
u32 sub_02095A74(int param0, int param1);
3640

3741
#endif // POKEPLATINUM_UNK_02094EDC_H

res/battle/moves/0000/data.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"priority": 0,
1414
"flags": [],
1515
"contest": {
16-
"effect": 0,
16+
"effect": "CONTEST_EFFECT_NONE",
1717
"type": "CONTEST_TYPE_COOL"
1818
}
19-
}
19+
}

res/battle/moves/0468/data.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"MOVE_FLAG_TRIGGERS_KINGS_ROCK"
1818
],
1919
"contest": {
20-
"effect": 16,
20+
"effect": "CONTEST_EFFECT_LOW_VOLTAGE_ADVANTAGE",
2121
"type": "CONTEST_TYPE_BEAUTY"
2222
}
23-
}
23+
}

res/battle/moves/0469/data.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"MOVE_FLAG_TRIGGERS_KINGS_ROCK"
1818
],
1919
"contest": {
20-
"effect": 17,
20+
"effect": "CONTEST_EFFECT_FIRST_PERFORMANCE_ADVANTAGE",
2121
"type": "CONTEST_TYPE_CUTE"
2222
}
23-
}
23+
}

res/battle/moves/0470/data.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"MOVE_FLAG_TRIGGERS_KINGS_ROCK"
1818
],
1919
"contest": {
20-
"effect": 18,
20+
"effect": "CONTEST_EFFECT_FINAL_PERFORMANCE_ADVANTAGE",
2121
"type": "CONTEST_TYPE_SMART"
2222
}
23-
}
23+
}

0 commit comments

Comments
 (0)