pokeplatinum/include/tutor_movesets.h
Rachel 2c410b8046 Replace python scripts for packing species archives with C++
This new code is responsible for packing the following archives:

- `pl_personal` -> basic information for each species: stats, types, etc.
- `evo` -> evolution lines for each species
- `wotbl` -> by-level learnsets for each species
- `ppark` -> catching show data for each species
- `height` -> y-offsets for front and back sprites for each species
- `pl_poke_data` -> sprite-rendering data for each species: animation
  ID, frame data, shadow size and offsets, etc.

Additionally, the following headers are generated:

- `res/pokemon/tutorable_moves.h` -> A listing of moves taught by each
  tutor and how much each move costs to be tutored
- `res/pokemon/species_learnsets_by_tutor.h` -> An array of bitmasks for
  each species designating which moves can be tutored to that species
2025-01-21 22:46:39 -08:00

33 lines
778 B
C

#ifndef POKEPLATINUM_TUTOR_MOVESETS_H
#define POKEPLATINUM_TUTOR_MOVESETS_H
#include "generated/moves.h"
enum TutorLocation {
TUTOR_LOCATION_ROUTE_212 = 0,
TUTOR_LOCATION_SURVIVAL_AREA,
TUTOR_LOCATION_SNOWPOINT_CITY,
};
typedef struct TeachableMove {
u16 moveID;
u8 redCost;
u8 blueCost;
u8 yellowCost;
u8 greenCost;
enum TutorLocation location;
} TeachableMove;
#include "res/pokemon/tutorable_moves.h"
#define MOVESET_MASK_SIZE (s32)((NELEMS(sTeachableMoves) + 7) / 8)
// Each of the bits in this array correspond to a move in sTeachableMoves
// Therefore the size is dependent on how many teachable moves exist
typedef struct MovesetMask {
u8 maskData[MOVESET_MASK_SIZE];
} MovesetMask;
#endif // POKEPLATINUM_TUTOR_MOVESETS_H