Switch to enum NarcID, standardize names
Some checks are pending
build / build (push) Waiting to run

This replaces instances of NARC IDs with type `int` or `u32` to use
`enum NarcID` instead, and replaces most instances of a NARC ID to be
named `narcID` instead of `narc`, `narcIndex` or `narcIdx`. The name
wasn't replaced where the original one was more descriptive.
This commit is contained in:
Gudf 2025-04-18 21:13:14 +02:00 committed by Rachel
parent 6ef937a8eb
commit ad162a3369
53 changed files with 314 additions and 302 deletions

View File

@ -167,11 +167,11 @@ struct BattleContext {
int sharedExp;
u32 sideGetExpMask[2];
int scriptNarc;
enum NarcID scriptNarc;
int scriptFile;
int scriptCursor;
int scriptStackPointer;
int scriptStackNarc[BATTLE_SCRIPT_STACK_MAX];
enum NarcID scriptStackNarc[BATTLE_SCRIPT_STACK_MAX];
int scriptStackFile[BATTLE_SCRIPT_STACK_MAX];
int scriptStackCursor[BATTLE_SCRIPT_STACK_MAX];

View File

@ -60,20 +60,20 @@ void BattleSystem_ReloadPokemon(BattleSystem *battleSys, BattleContext *battleCt
* @brief Load a script file from the specified NARC.
*
* @param battleCtx
* @param narc Which NARC to open for the script
* @param narcID Which NARC to open for the script
* @param file Which file in the NARC to load
*/
void BattleSystem_LoadScript(BattleContext *battleCtx, int narc, int file);
void BattleSystem_LoadScript(BattleContext *battleCtx, enum NarcID narcID, int file);
/**
* @brief Load a script file from the specified NARC and invoke it as a call,
* returning to the previous script once finished processing.
*
* @param battleCtx
* @param narc Which NARC to open for the script
* @param narcID Which NARC to open for the script
* @param file Which file in the NARC to load
*/
void BattleSystem_CallScript(BattleContext *battleCtx, int narc, int file);
void BattleSystem_CallScript(BattleContext *battleCtx, enum NarcID narcID, int file);
/**
* @brief Pop a script from the stack, if one is present, and load it for

View File

@ -39,7 +39,7 @@ typedef struct Easy3DObject {
u8 padding_76[2];
} Easy3DObject;
void Easy3DModel_Load(Easy3DModel *model, u32 narcIndex, u32 memberIndex, u32 heapID);
void Easy3DModel_Load(Easy3DModel *model, enum NarcID narcID, u32 memberIndex, u32 heapID);
void Easy3DModel_LoadFrom(Easy3DModel *model, NARC *narc, u32 memberIndex, u32 heapID);
void Easy3DModel_Release(Easy3DModel *model);

View File

@ -49,7 +49,7 @@ struct FontManager {
u8 *glyphWidths;
};
FontManager *FontManager_New(u32 narcID, u32 arcFileIdx, enum GlyphAccessMode glyphAccessMode, BOOL isMonospace, u32 heapID);
FontManager *FontManager_New(enum NarcID narcID, u32 arcFileIdx, enum GlyphAccessMode glyphAccessMode, BOOL isMonospace, u32 heapID);
void FontManager_Delete(FontManager *fontManager);
void FontManager_SwitchGlyphAccessMode(FontManager *fontManager, enum GlyphAccessMode glyphAccessMode, u32 heapID);
void FontManager_TryLoadGlyph(const FontManager *fontManager, charcode_t c, TextGlyph *outGlyph);

View File

@ -24,26 +24,26 @@ enum ImageMappingLayout {
IMAGE_MAPPING_LAYOUT_2D,
};
void *LoadCompressedMemberFromNARC(u32 narcID, u32 narcMemberIdx, u32 heapID);
void *LoadMemberFromNARC(u32 narcID, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd);
void *LoadMemberFromNARC_OutFileSize(u32 narcID, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd, u32 *fileSize);
void *LoadCompressedMemberFromNARC(enum NarcID narcID, u32 narcMemberIdx, u32 heapID);
void *LoadMemberFromNARC(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd);
void *LoadMemberFromNARC_OutFileSize(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd, u32 *fileSize);
void *LoadMemberFromOpenNARC(NARC *narc, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd);
void *LoadMemberFromOpenNARC_OutFileSize(NARC *narc, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd, u32 *fileSize);
u32 Graphics_LoadTilesToBgLayer(u32 narcID, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID);
void Graphics_LoadTilemapToBgLayer(u32 narcID, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID);
void Graphics_LoadPalette(u32 narcID, u32 narcMemberIdx, enum PaletteLoadLocation loadLocation, u32 palOffset, u32 size, u32 heapID);
void Graphics_LoadPaletteWithSrcOffset(u32 narcID, u32 narcMemberIdx, enum PaletteLoadLocation loadLocation, u32 srcOffset, u32 palOffset, u32 size, u32 heapID);
u32 Graphics_LoadObjectTiles(u32 narcID, u32 narcMemberIdx, enum DSScreen display, u32 offset, u32 size, BOOL compressed, u32 heapID);
void Graphics_LoadPartialPalette(u32 narcID, u32 narcMemberIdx, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImagePaletteProxy *paletteProxy);
u32 Graphics_LoadImageMapping(u32 narcID, u32 narcMemberIdx, BOOL compressed, enum ImageMappingLayout layout, u32 size, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImageProxy *imageProxy);
void Graphics_LoadImageMappingAndSetVramMode(u32 narcID, u32 narcMemberIdx, BOOL compressed, enum ImageMappingLayout layout, u32 size, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImageProxy *imageProxy);
u32 Graphics_LoadTilesToBgLayer(enum NarcID narcID, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID);
void Graphics_LoadTilemapToBgLayer(enum NarcID narcID, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID);
void Graphics_LoadPalette(enum NarcID narcID, u32 narcMemberIdx, enum PaletteLoadLocation loadLocation, u32 palOffset, u32 size, u32 heapID);
void Graphics_LoadPaletteWithSrcOffset(enum NarcID narcID, u32 narcMemberIdx, enum PaletteLoadLocation loadLocation, u32 srcOffset, u32 palOffset, u32 size, u32 heapID);
u32 Graphics_LoadObjectTiles(enum NarcID narcID, u32 narcMemberIdx, enum DSScreen display, u32 offset, u32 size, BOOL compressed, u32 heapID);
void Graphics_LoadPartialPalette(enum NarcID narcID, u32 narcMemberIdx, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImagePaletteProxy *paletteProxy);
u32 Graphics_LoadImageMapping(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, enum ImageMappingLayout layout, u32 size, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImageProxy *imageProxy);
void Graphics_LoadImageMappingAndSetVramMode(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, enum ImageMappingLayout layout, u32 size, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImageProxy *imageProxy);
void *Graphics_GetCharData(u32 narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dCharacterData **outCharData, u32 heapID);
void *Graphics_GetScrnData(u32 narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dScreenData **outScreenData, u32 heapID);
void *Graphics_GetPlttData(u32 narcID, u32 narcMemberIdx, NNSG2dPaletteData **outPaletteData, u32 heapID);
void *Graphics_GetCellBank(u32 narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dCellDataBank **outCellBank, u32 heapID);
void *Graphics_GetAnimBank(u32 narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dAnimBankData **outAnimBank, u32 heapID);
void *Graphics_GetCharData(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dCharacterData **outCharData, u32 heapID);
void *Graphics_GetScrnData(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dScreenData **outScreenData, u32 heapID);
void *Graphics_GetPlttData(enum NarcID narcID, u32 narcMemberIdx, NNSG2dPaletteData **outPaletteData, u32 heapID);
void *Graphics_GetCellBank(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dCellDataBank **outCellBank, u32 heapID);
void *Graphics_GetAnimBank(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dAnimBankData **outAnimBank, u32 heapID);
u32 Graphics_LoadTilesToBgLayerFromOpenNARC(NARC *narc, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID);
void Graphics_LoadTilemapToBgLayerFromOpenNARC(NARC *narc, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID);

View File

@ -43,7 +43,7 @@ enum MessageLoaderType {
* @param heapID Which heap will own the allocation.
* @return Allocated message data.
*/
MessageBank *MessageBank_Load(u32 param0, u32 param1, u32 param2);
MessageBank *MessageBank_Load(enum NarcID narcID, u32 param1, u32 param2);
/**
* @brief Free allocated message data back to the heap.
@ -72,7 +72,7 @@ void MessageBank_Get(const MessageBank *bank, u32 entryID, charcode_t *dst);
* @param heapID Heap on which to allocate the loaded archive.
* @param dst Destination character buffer.
*/
void MessageBank_GetFromNARC(u32 narcID, u32 bankID, u32 entryID, u32 heapID, charcode_t *dst);
void MessageBank_GetFromNARC(enum NarcID narcID, u32 bankID, u32 entryID, u32 heapID, charcode_t *dst);
/**
* @brief Get an entry out of the pre-loaded message bank and copy it into the
@ -105,7 +105,7 @@ Strbuf *MessageBank_GetNewStrbuf(const MessageBank *bank, u32 entryID, u32 heapI
* @param heapID Heap on which to allocate the loaded archive.
* @param strbuf Destination Strbuf struct.
*/
void MessageBank_GetStrbufFromNARC(u32 narcID, u32 bankID, u32 entryID, u32 heapID, Strbuf *strbuf);
void MessageBank_GetStrbufFromNARC(enum NarcID narcID, u32 bankID, u32 entryID, u32 heapID, Strbuf *strbuf);
/**
* @brief Load a message bank from an archive, then load an entry from that bank
@ -129,7 +129,7 @@ void MessageBank_GetStrbufFromHandle(NARC *narc, u32 bankID, u32 entryID, u32 he
* @param heapID Heap on which to allocate the loaded archive.
* @return A newly-allocated Strbuf struct containing the loaded bank entry.
*/
Strbuf *MessageBank_GetNewStrbufFromNARC(u32 narcID, u32 bankID, u32 entryID, u32 heapID);
Strbuf *MessageBank_GetNewStrbufFromNARC(enum NarcID narcID, u32 bankID, u32 entryID, u32 heapID);
/**
* @brief Load a message bank from an archive, then load an entry from that bank
@ -158,7 +158,7 @@ u32 MessageBank_EntryCount(const MessageBank *bank);
* @param bankID Index of the bank to load from the archive.
* @return Number of entries in the loaded bank.
*/
u32 MessageBank_NARCEntryCount(u32 narcID, u32 bankID);
u32 MessageBank_NARCEntryCount(enum NarcID narcID, u32 bankID);
/**
* @brief Initialize a new MessageLoader struct targeting a given archive and
@ -170,7 +170,7 @@ u32 MessageBank_NARCEntryCount(u32 narcID, u32 bankID);
* @param heapID Heap on which to allocate the loaded archive.
* @return Initialized MessageLoader struct.
*/
MessageLoader *MessageLoader_Init(enum MessageLoaderType type, u32 narcID, u32 bankID, u32 heapID);
MessageLoader *MessageLoader_Init(enum MessageLoaderType type, enum NarcID narcID, u32 bankID, u32 heapID);
/**
* @brief Free a MessageLoader struct back to its owning heap.

View File

@ -20,40 +20,40 @@ typedef struct NARC {
* Reads the entire content of an archive member into an existing buffer
*
* @param dest: Pointer to destination buffer, should be large enough to hold the data
* @param narcIndex: Index of NARC to read
* @param narcID: Index of NARC to read
* @param memebrIndex: Index of FAT member within the NARC
*/
void NARC_ReadWholeMemberByIndexPair(void *dest, int narcIndex, int memberIndex);
void NARC_ReadWholeMemberByIndexPair(void *dest, enum NarcID narcID, int memberIndex);
/*
* Creates a new buffer large enough to hold the content of the archive member, then reads its data.
* The AllocAtEnd variant is preferred for very short-lived buffers.
*
* @param narcIndex: Index of NARC to read
* @param narcID: Index of NARC to read
* @param memberIndex: Index of FAT member within the NARC
* @param heapID: ID of the heap to alloc from
*
* @returns: Pointer to the allocated buffer which contains the data that was read.
*/
void *NARC_AllocAndReadWholeMemberByIndexPair(int narcIndex, int memberIndex, int heapID);
void *NARC_AllocAtEndAndReadWholeMemberByIndexPair(int narcIndex, int memberIndex, int heapID);
void *NARC_AllocAndReadWholeMemberByIndexPair(enum NarcID narcID, int memberIndex, int heapID);
void *NARC_AllocAtEndAndReadWholeMemberByIndexPair(enum NarcID narcID, int memberIndex, int heapID);
/*
* Reads a portion of an archive member into an existing buffer
*
* @param dest: Pointer to destination buffer, should be large enough to hold the data
* @param narcIndex: Index of NARC to read
* @param narcID: Index of NARC to read
* @param memberIndex: Index of FAT member within the NARC
* @param offset: Byte offset to start reading, relative to start of member, up to the end of member
* @param bytesToRead: Number of bytes to read, up to the total bytesToRead of member minus offset
*/
void NARC_ReadFromMemberByIndexPair(void *dest, int narcIndex, int memberIndex, int offset, int bytesToRead);
void NARC_ReadFromMemberByIndexPair(void *dest, enum NarcID narcID, int memberIndex, int offset, int bytesToRead);
/*
* Creates a new buffer large enough to hold the size of the data to read, then reads the specified data slice.
* The AllocAtEnd variant is preferred for very short-lived buffers.
*
* @param narcIndex: Index of NARC to read
* @param narcID: Index of NARC to read
* @param memberIndex: Index of FAT member within the NARC
* @param heapID: ID of the heap to alloc from
* @param offset: Byte offset to start reading, relative to start of member, up to the end of member
@ -61,30 +61,30 @@ void NARC_ReadFromMemberByIndexPair(void *dest, int narcIndex, int memberIndex,
*
* @returns: Pointer to the allocated buffer which contains the data that was read.
*/
void *NARC_AllocAndReadFromMemberByIndexPair(int narcIndex, int memberIndex, int heapID, int offset, int bytesToRead);
void *NARC_AllocAtEndAndReadFromMemberByIndexPair(int narcIndex, int memberIndex, int heapID, int offset, int bytesToRead);
void *NARC_AllocAndReadFromMemberByIndexPair(enum NarcID narcID, int memberIndex, int heapID, int offset, int bytesToRead);
void *NARC_AllocAtEndAndReadFromMemberByIndexPair(enum NarcID narcID, int memberIndex, int heapID, int offset, int bytesToRead);
/*
* Gets the size of a NARC member. Useful when managing the read buffer yourself and the NARC has variable
* sized members.
*
* @param narcIndex: Index of NARC to read
* @param narcID: Index of NARC to read
* @param memberIndex: Index of FAT member within the NARC
*
* @returns: Size in bytes of the member
*/
u32 NARC_GetMemberSizeByIndexPair(int narcIndex, int memberIndex);
u32 NARC_GetMemberSizeByIndexPair(enum NarcID narcID, int memberIndex);
/*
* Constructs a new NARC which contains an open FSFile to the corresponding archive.
* Useful to reduce overhead when reading from the same NARC multiple times.
*
* @param narcIndex: Index of NARC to open
* @param narcID: Index of NARC to open
* @param heapID: ID of the heap to alloc from
*
* @returns: Pointer to the newly-allocated NARC
*/
NARC *NARC_ctor(u32 narcIndex, u32 heapID);
NARC *NARC_ctor(enum NarcID narcID, u32 heapID);
/*
* Closes the wrapped FSFile and returns the NARC allocation to the heap from whence it came.

View File

@ -3,13 +3,15 @@
#include <nnsys.h>
#include "constants/narc.h"
#include "sprite_system.h"
u32 ov17_0224F080(int param0);
u32 ov17_0224F098(void);
u32 ov17_0224F09C(void);
u8 ov17_0224F0A0(int param0);
u32 ov17_0224F0B8(void);
enum NarcID ov17_0224F0B8(void);
void ov17_0224F0BC(SpriteSystem *param0, SpriteManager *param1, NNS_G2D_VRAM_TYPE param2, int param3, u32 param4);
void ov17_0224F0F0(SpriteSystem *param0, SpriteManager *param1, u32 param2, u32 param3);
void ov17_0224F138(SpriteManager *param0, u32 param1);

View File

@ -4,6 +4,7 @@
#include <nnsys.h>
#include "constants/heap.h"
#include "constants/narc.h"
#include "overlay025/struct_ov25_022555E8_decl.h"
#include "overlay025/struct_ov25_02255810.h"
@ -26,7 +27,7 @@ void ov25_02255938(UnkStruct_ov25_022558C4 *param0, u32 param1);
void ov25_02255940(UnkStruct_ov25_022558C4 *param0, u32 param1);
void ov25_02255948(UnkStruct_ov25_022558C4 *param0, BOOL param1);
void ov25_02255950(UnkStruct_ov25_022558C4 *param0, u16 param1);
BOOL ov25_02255958(UnkStruct_ov25_02255958 *param0, u32 param1, u32 param2, u32 param3, enum HeapId param4);
BOOL ov25_02255958(UnkStruct_ov25_02255958 *param0, enum NarcID narcID, u32 param2, u32 param3, enum HeapId param4);
void ov25_022559B0(UnkStruct_ov25_02255958 *param0);
#endif // POKEPLATINUM_OV25_02255540_H

View File

@ -2,6 +2,7 @@
#define POKEPLATINUM_PALETTE_H
#include "constants/heap.h"
#include "constants/narc.h"
#define SLOTS_PER_PALETTE 16
#define PALETTE_SIZE (SLOTS_PER_PALETTE)
@ -89,7 +90,7 @@ typedef struct PaletteData {
u8 forceExit;
} PaletteData;
void LoadPaletteFromFile(u32 narcID, u32 narcMemberIdx, u32 heapID, u32 size, u16 start, void *dest);
void LoadPaletteFromFile(enum NarcID narcID, u32 narcMemberIdx, u32 heapID, u32 size, u16 start, void *dest);
void BlendPalette(const u16 *src, u16 *dest, u16 size, u8 fraction, u16 target);
void BlendPalettes(const u16 *sources, u16 *dests, u16 toBlend, u8 fraction, u16 target);
void TintPalette(u16 *palette, int numColorsToTint, int tintR, int tintG, int tintB);
@ -100,9 +101,9 @@ void PaletteData_InitBuffer(PaletteData *paletteData, enum PaletteBufferID buffe
void PaletteData_AllocBuffer(PaletteData *paletteData, enum PaletteBufferID bufferID, u32 size, u32 heapID);
void PaletteData_FreeBuffer(PaletteData *paletteData, enum PaletteBufferID bufferID);
void PaletteData_LoadBuffer(PaletteData *paletteData, const void *src, enum PaletteBufferID bufferID, u16 destStart, u16 srcSize);
void PaletteData_LoadBufferFromFile(PaletteData *paletteData, u32 narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 srcSize, u16 destStart, u16 srcStart);
void PaletteData_LoadBufferFromFileStart(PaletteData *paletteData, u32 narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 srcSize, u16 destStart);
void PaletteData_LoadBufferFromFileStartWithTint(PaletteData *paletteData, u32 narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 size, u16 start, int r, int g, int b);
void PaletteData_LoadBufferFromFile(PaletteData *paletteData, enum NarcID narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 srcSize, u16 destStart, u16 srcStart);
void PaletteData_LoadBufferFromFileStart(PaletteData *paletteData, enum NarcID narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 srcSize, u16 destStart);
void PaletteData_LoadBufferFromFileStartWithTint(PaletteData *paletteData, enum NarcID narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 size, u16 start, int r, int g, int b);
void PaletteData_LoadBufferFromHardware(PaletteData *paletteData, enum PaletteBufferID bufferID, u16 start, u32 size);
void PaletteData_CopyBuffer(PaletteData *palette, enum PaletteBufferID srcBufferID, u16 srcStart, enum PaletteBufferID destBufferID, u16 destStart, u16 size);
u16 *PaletteData_GetUnfadedBuffer(PaletteData *palette, enum PaletteBufferID bufferID);

View File

@ -1,8 +1,10 @@
#ifndef POKEPLATINUM_POKEDEX_DATA_INDEX_H
#define POKEPLATINUM_POKEDEX_DATA_INDEX_H
#include "constants/narc.h"
void Pokedex_SetupGiratina(u32 param0);
u32 Pokedex_Data_NARC_Index(void);
enum NarcID Pokedex_Data_NARC_Index(void);
u32 Weight_Message_Bank_Index(void);
u32 Height_Message_Bank_Index(void);

View File

@ -4,6 +4,7 @@
#include <nnsys.h>
#include "constants/heap.h"
#include "constants/narc.h"
#include "struct_defs/sprite_animation_frame.h"
@ -65,7 +66,7 @@ typedef struct PokemonSpriteTransforms PokemonSpriteTransforms;
typedef void(PokemonSpriteCallback)(PokemonSprite *, PokemonSpriteTransforms *);
typedef struct PokemonSpriteTemplate {
u16 archive; //< ID of the sprite archive
u16 narcID; //< ID of the sprite archive
u16 character; //< File index to pull from the archive for the character data (tiles)
u16 palette; //< File index to pull from the archive for the palette data
u16 spindaSpots; //< Simple flag denoting whether the rendered sprite should be pseudo-randomized with splotches (only for Spinda's front-sprite).
@ -222,7 +223,7 @@ void PokemonSpriteManager_ClearHideShadows(PokemonSpriteManager *monSpriteMan, u
void PokemonSprite_DrawSpindaSpots(u8 *rawCharData, u32 personality, BOOL isAnimated);
void PokemonSprite_DecryptPt(u8 *rawCharData);
void PokemonSprite_DecryptDP(u8 *rawCharData);
void PokemonSprite_Decrypt(u8 *rawCharData, int narcID);
void PokemonSprite_Decrypt(u8 *rawCharData, enum NarcID narcID);
inline void PokemonSpriteManager_HideShadows(PokemonSpriteManager *monSpriteMan)
{

View File

@ -40,7 +40,7 @@ typedef struct SpriteResourceTableEntryFile {
} SpriteResourceTableEntryFile;
typedef struct SpriteResourceTableEntryNARC {
int narcIndex;
enum NarcID narcID;
int memberIndex;
BOOL compressed;
int id;
@ -65,11 +65,11 @@ typedef struct SpriteResourceList {
SpriteResourceCollection *SpriteResourceCollection_New(int capacity, enum SpriteResourceType type, enum HeapId heapID);
void SpriteResourceCollection_Delete(SpriteResourceCollection *spriteResources);
SpriteResource *SpriteResourceCollection_AddFromTable(SpriteResourceCollection *spriteResources, const SpriteResourceTable *table, int index, enum HeapId heapID);
SpriteResource *SpriteResourceCollection_AddTiles(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID);
SpriteResource *SpriteResourceCollection_AddPalette(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID);
SpriteResource *SpriteResourceCollection_Add(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, enum SpriteResourceType type, enum HeapId heapID);
void SpriteResourceCollection_ModifyTiles(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, int narcIdx, int memberIdx, BOOL compressed, enum HeapId heapID);
void SpriteResourceCollection_ModifyPalette(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, int narcIdx, int memberIdx, BOOL compressed, enum HeapId heapID);
SpriteResource *SpriteResourceCollection_AddTiles(SpriteResourceCollection *spriteResources, enum NarcID narcID, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID);
SpriteResource *SpriteResourceCollection_AddPalette(SpriteResourceCollection *spriteResources, enum NarcID narcID, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID);
SpriteResource *SpriteResourceCollection_Add(SpriteResourceCollection *spriteResources, enum NarcID narcID, int memberIdx, BOOL compressed, int id, enum SpriteResourceType type, enum HeapId heapID);
void SpriteResourceCollection_ModifyTiles(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, enum NarcID narcID, int memberIdx, BOOL compressed, enum HeapId heapID);
void SpriteResourceCollection_ModifyPalette(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, enum NarcID narcID, int memberIdx, BOOL compressed, enum HeapId heapID);
SpriteResource *SpriteResourceCollection_AddTilesFrom(SpriteResourceCollection *spriteResources, NARC *narc, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID);
SpriteResource *SpriteResourceCollection_AddTilesFromEx(SpriteResourceCollection *spriteResources, NARC *narc, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID, BOOL allocAtEnd);
SpriteResource *SpriteResourceCollection_AddPaletteFrom(SpriteResourceCollection *spriteResources, NARC *narc, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID);

View File

@ -105,15 +105,15 @@ void SpriteSystem_Free(SpriteSystem *spriteSys);
BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSys, SpriteManager *spriteMan, const SpriteResourceDataPaths *paths);
Sprite *SpriteSystem_NewSpriteFromResourceHeader(SpriteSystem *spriteSys, SpriteManager *spriteMan, const SpriteTemplateFromResourceHeader *template);
BOOL SpriteSystem_InitManagerWithCapacities(SpriteSystem *spriteSys, SpriteManager *spriteMan, const SpriteResourceCapacities *capacities);
BOOL SpriteSystem_LoadCharResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
BOOL SpriteSystem_LoadCharResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
BOOL SpriteSystem_LoadCharResObjFromOpenNarc(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
s8 SpriteSystem_LoadPlttResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
s8 SpriteSystem_LoadPlttResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
s8 SpriteSystem_LoadPlttResObjFromOpenNarc(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
u8 SpriteSystem_LoadPaletteBuffer(PaletteData *paletteData, enum PaletteBufferID bufferID, SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
u8 SpriteSystem_LoadPaletteBuffer(PaletteData *paletteData, enum PaletteBufferID bufferID, SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
u8 SpriteSystem_LoadPaletteBufferFromOpenNarc(PaletteData *paletteData, enum PaletteBufferID bufferID, SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
BOOL SpriteSystem_LoadCellResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int resourceID);
BOOL SpriteSystem_LoadCellResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int resourceID);
BOOL SpriteSystem_LoadCellResObjFromOpenNarc(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, int memberIdx, BOOL compressed, int resourceID);
BOOL SpriteSystem_LoadAnimResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int resourceID);
BOOL SpriteSystem_LoadAnimResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int resourceID);
BOOL SpriteSystem_LoadAnimResObjFromOpenNarc(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, int memberIdx, BOOL compressed, int resourceID);
ManagedSprite *SpriteSystem_NewSprite(SpriteSystem *spriteSys, SpriteManager *spriteMan, const SpriteTemplate *template);
const NNSG2dImagePaletteProxy *SpriteManager_FindPlttResourceProxy(SpriteManager *spriteMan, int resourceID);
@ -177,11 +177,11 @@ void ManagedSprite_SetMosaicFlag(ManagedSprite *managedSprite, BOOL mosaic);
void Sprite_SetExplicitOamMode2(Sprite *sprite, GXOamMode mode);
void ManagedSprite_SetExplicitOamMode(ManagedSprite *managedSprite, GXOamMode mode);
u32 ManagedSprite_GetUserAttrForCurrentAnimFrame(ManagedSprite *managedSprite);
BOOL SpriteSystem_LoadCharResObjWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
BOOL SpriteSystem_LoadCharResObjAtEndWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
BOOL SpriteSystem_LoadCharResObjWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
BOOL SpriteSystem_LoadCharResObjAtEndWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
BOOL SpriteSystem_LoadCharResObjFromOpenNarcWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID);
void SpriteSystem_ReplaceCharResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int resourceID);
void SpriteSystem_ReplacePlttResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int resourceID);
void SpriteSystem_ReplaceCharResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int resourceID);
void SpriteSystem_ReplacePlttResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int resourceID);
SpriteList *SpriteManager_GetSpriteList(SpriteManager *spriteMan);
void SpriteSystem_ReplaceCharResObjFromOpenNarc(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, int memberIdx, BOOL compressed, int resourceID);

View File

@ -11,7 +11,7 @@ u32 sub_0207C920(void);
u32 sub_0207C924(void);
u32 sub_0207C928(void);
u8 sub_0207C92C(int param0);
u32 sub_0207C944(void);
enum NarcID sub_0207C944(void);
void sub_0207C948(SpriteSystem *param0, SpriteManager *param1, NNS_G2D_VRAM_TYPE param2, int param3, u32 param4);
void sub_0207C97C(SpriteSystem *param0, SpriteManager *param1, NNS_G2D_VRAM_TYPE param2, u32 param3);
void sub_0207C9B0(PaletteData *param0, int param1, SpriteSystem *param2, SpriteManager *param3, NNS_G2D_VRAM_TYPE param4, u32 param5);
@ -23,7 +23,7 @@ ManagedSprite *sub_0207CA58(SpriteSystem *param0, SpriteManager *param1, int par
void sub_0207CA88(ManagedSprite *param0);
u32 sub_0207CA90(int param0);
u8 sub_0207CAA8(int param0);
u32 sub_0207CAC0(void);
enum NarcID sub_0207CAC0(void);
void sub_0207CAC4(SpriteSystem *param0, SpriteManager *param1, NNS_G2D_VRAM_TYPE param2, int param3, u32 param4);
void sub_0207CAF8(SpriteManager *param0, u32 param1);
void sub_0207CB00(ManagedSprite *param0);

View File

@ -5650,8 +5650,8 @@ static PokemonSprite *ov16_02263B30(BattleSystem *battleSys, PokemonSpriteManage
v3 = 0;
}
sub_02013750(param2->archive, param2->character, HEAP_ID_BATTLE, v1, param2->personality, 0, v3, param2->spindaSpots);
ov16_0223F2CC(ov16_0223E0C8(battleSys), param10, param2->archive);
sub_02013750(param2->narcID, param2->character, HEAP_ID_BATTLE, v1, param2->personality, 0, v3, param2->spindaSpots);
ov16_0223F2CC(ov16_0223E0C8(battleSys), param10, param2->narcID);
ov16_0223F2E4(ov16_0223E0C8(battleSys), param10, param2->palette);
ov16_0223F2FC(ov16_0223E0C8(battleSys), param10, param6);

View File

@ -738,9 +738,9 @@ static void ov16_0225C684(BattleSystem *battleSys, BattlerData *param1)
*v2 = v1;
PokemonSprite_ScheduleReloadFromNARC(param1->unk_20);
sub_02013750(v2->archive, v2->character, HEAP_ID_BATTLE, ov16_0223F2B8(ov16_0223E0C8(battleSys), param1->battler), v0->unk_08, 0, v4, v2->spindaSpots);
sub_02013750(v2->narcID, v2->character, HEAP_ID_BATTLE, ov16_0223F2B8(ov16_0223E0C8(battleSys), param1->battler), v0->unk_08, 0, v4, v2->spindaSpots);
ov16_0223F2CC(ov16_0223E0C8(battleSys), param1->battler, v2->archive);
ov16_0223F2CC(ov16_0223E0C8(battleSys), param1->battler, v2->narcID);
ov16_0223F2E4(ov16_0223E0C8(battleSys), param1->battler, v2->palette);
v3 = LoadPokemonSpriteYOffset(v0->unk_02, v0->unk_04, v4, v0->unk_01, v0->unk_08);

View File

@ -188,31 +188,31 @@ void BattleSystem_ReloadPokemon(BattleSystem *battleSys, BattleContext *battleCt
}
}
void BattleSystem_LoadScript(BattleContext *battleCtx, int narc, int file)
void BattleSystem_LoadScript(BattleContext *battleCtx, enum NarcID narcID, int file)
{
GF_ASSERT(NARC_GetMemberSizeByIndexPair(narc, file) < BATTLE_SCRIPT_SIZE_MAX * sizeof(u32));
GF_ASSERT(NARC_GetMemberSizeByIndexPair(narcID, file) < BATTLE_SCRIPT_SIZE_MAX * sizeof(u32));
battleCtx->scriptNarc = narc;
battleCtx->scriptNarc = narcID;
battleCtx->scriptFile = file;
battleCtx->scriptCursor = 0;
NARC_ReadWholeMemberByIndexPair(&battleCtx->battleScript, narc, file);
NARC_ReadWholeMemberByIndexPair(&battleCtx->battleScript, narcID, file);
}
void BattleSystem_CallScript(BattleContext *battleCtx, int narc, int file)
void BattleSystem_CallScript(BattleContext *battleCtx, enum NarcID narcID, int file)
{
GF_ASSERT(NARC_GetMemberSizeByIndexPair(narc, file) < 400 * 4);
GF_ASSERT(NARC_GetMemberSizeByIndexPair(narcID, file) < 400 * 4);
GF_ASSERT(battleCtx->scriptStackPointer < 4);
battleCtx->scriptStackNarc[battleCtx->scriptStackPointer] = battleCtx->scriptNarc;
battleCtx->scriptStackFile[battleCtx->scriptStackPointer] = battleCtx->scriptFile;
battleCtx->scriptStackCursor[battleCtx->scriptStackPointer] = battleCtx->scriptCursor;
battleCtx->scriptStackPointer++;
battleCtx->scriptNarc = narc;
battleCtx->scriptNarc = narcID;
battleCtx->scriptFile = file;
battleCtx->scriptCursor = 0;
NARC_ReadWholeMemberByIndexPair(&battleCtx->battleScript, narc, file);
NARC_ReadWholeMemberByIndexPair(&battleCtx->battleScript, narcID, file);
}
BOOL BattleSystem_PopScript(BattleContext *battleCtx)

View File

@ -309,8 +309,8 @@ static BOOL BtlCmd_End(BattleSystem *battleSys, BattleContext *battleCtx);
static int BattleScript_Read(BattleContext *battleCtx);
static void BattleScript_Iter(BattleContext *battleCtx, int i);
static void BattleScript_Jump(BattleContext *battleCtx, int narc, int file);
static void BattleScript_Call(BattleContext *battleCtx, int narc, int file);
static void BattleScript_Jump(BattleContext *battleCtx, enum NarcID narcID, int file);
static void BattleScript_Call(BattleContext *battleCtx, enum NarcID narcID, int file);
static void *BattleScript_VarAddress(BattleSystem *battleSys, BattleContext *battleCtx, int var);
static int BattleScript_Battler(BattleSystem *battleSys, BattleContext *battleCtx, int battlerIn);
static void BattleScript_CalcMoveDamage(BattleSystem *battleSys, BattleContext *battleCtx);
@ -9714,12 +9714,12 @@ static void BattleScript_Iter(BattleContext *battleCtx, int i)
* current execution.
*
* @param battleCtx
* @param narc Which NARC to open for the script
* @param narcID Which NARC to open for the script
* @param file Which file in the NARC to load
*/
static void BattleScript_Jump(BattleContext *battleCtx, int narc, int file)
static void BattleScript_Jump(BattleContext *battleCtx, enum NarcID narcID, int file)
{
BattleSystem_LoadScript(battleCtx, narc, file);
BattleSystem_LoadScript(battleCtx, narcID, file);
}
/**
@ -9727,12 +9727,12 @@ static void BattleScript_Jump(BattleContext *battleCtx, int narc, int file)
* execution once finished with the newly-loaded script.
*
* @param battleCtx
* @param narc Which NARC to open for the script
* @param narcID Which NARC to open for the script
* @param file Which file in the NARC to load
*/
static void BattleScript_Call(BattleContext *battleCtx, int narc, int file)
static void BattleScript_Call(BattleContext *battleCtx, enum NarcID narcID, int file)
{
BattleSystem_CallScript(battleCtx, narc, file);
BattleSystem_CallScript(battleCtx, narcID, file);
}
/**

View File

@ -14,9 +14,9 @@ static void Easy3DModel_BindTexture(SysTask *task, void *param);
static void Easy3DModel_LoadInternal(Easy3DModel *model);
static void Easy3DAnim_LoadInternal(Easy3DAnim *anim, const Easy3DModel *model, void *data, NNSFndAllocator *allocator);
void Easy3DModel_Load(Easy3DModel *model, u32 narcIndex, u32 memberIndex, u32 heapID)
void Easy3DModel_Load(Easy3DModel *model, enum NarcID narcID, u32 memberIndex, u32 heapID)
{
model->data = LoadMemberFromNARC(narcIndex, memberIndex, FALSE, heapID, 0);
model->data = LoadMemberFromNARC(narcID, memberIndex, FALSE, heapID, 0);
Easy3DModel_LoadInternal(model);
}

View File

@ -11,7 +11,7 @@
#include "render_text.h"
#include "text.h"
static void FontManager_Init(FontManager *fontManager, u32 narcID, u32 arcFileIdx, BOOL isMonospace, u32 heapID);
static void FontManager_Init(FontManager *fontManager, enum NarcID narcID, u32 arcFileIdx, BOOL isMonospace, u32 heapID);
static void FontManager_FreeWidthsAndNARC(FontManager *fontManager);
static void FontManager_LoadGlyphs(FontManager *fontManager, enum GlyphAccessMode glyphAccessMode, u32 heapID);
static void FontManager_LoadGlyphImmediate(FontManager *fontManager, u32 heapID);
@ -45,7 +45,7 @@ static void (*const sFreeGlyphFuncs[])(FontManager *fontManager) = {
[GLYPH_ACCESS_MODE_LAZY] = FontManager_FreeGlyphLazy
};
FontManager *FontManager_New(u32 narcID, u32 arcFileIdx, enum GlyphAccessMode glyphAccessMode, BOOL isMonospace, u32 heapID)
FontManager *FontManager_New(enum NarcID narcID, u32 arcFileIdx, enum GlyphAccessMode glyphAccessMode, BOOL isMonospace, u32 heapID)
{
FontManager *fontManager = Heap_AllocFromHeap(heapID, sizeof(FontManager));
@ -72,7 +72,7 @@ void FontManager_SwitchGlyphAccessMode(FontManager *fontManager, enum GlyphAcces
}
}
static void FontManager_Init(FontManager *fontManager, u32 narcID, u32 arcFileIdx, BOOL isMonospace, u32 heapID)
static void FontManager_Init(FontManager *fontManager, enum NarcID narcID, u32 arcFileIdx, BOOL isMonospace, u32 heapID)
{
fontManager->narc = NARC_ctor(narcID, heapID);

View File

@ -20,89 +20,89 @@ static void *GetPaletteData(void *nclrBuffer, NNSG2dPaletteData **outPaletteData
static void *GetCellBank(void *ncerBuffer, NNSG2dCellDataBank **outCellBank);
static void *GetAnimBank(void *nanrBuffer, NNSG2dAnimBankData **outAnimBank);
u32 Graphics_LoadTilesToBgLayer(u32 narcID, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID)
u32 Graphics_LoadTilesToBgLayer(enum NarcID narcID, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID)
{
void *ncgrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, FALSE);
return LoadTilesToBgLayer(ncgrBuffer, bgConfig, bgLayer, offset, size);
}
void Graphics_LoadTilemapToBgLayer(u32 narcID, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID)
void Graphics_LoadTilemapToBgLayer(enum NarcID narcID, u32 narcMemberIdx, BgConfig *bgConfig, u32 bgLayer, u32 offset, u32 size, BOOL compressed, u32 heapID)
{
void *nscrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, TRUE);
LoadTilemapToBgLayer(nscrBuffer, bgConfig, bgLayer, offset, size);
}
void Graphics_LoadPalette(u32 narcID, u32 narcMemberIdx, enum PaletteLoadLocation loadLocation, u32 palOffset, u32 size, u32 heapID)
void Graphics_LoadPalette(enum NarcID narcID, u32 narcMemberIdx, enum PaletteLoadLocation loadLocation, u32 palOffset, u32 size, u32 heapID)
{
Graphics_LoadPaletteWithSrcOffset(narcID, narcMemberIdx, loadLocation, 0, palOffset, size, heapID);
}
void Graphics_LoadPaletteWithSrcOffset(u32 narcID, u32 narcMemberIdx, enum PaletteLoadLocation loadLocation, u32 srcOffset, u32 palOffset, u32 size, u32 heapID)
void Graphics_LoadPaletteWithSrcOffset(enum NarcID narcID, u32 narcMemberIdx, enum PaletteLoadLocation loadLocation, u32 srcOffset, u32 palOffset, u32 size, u32 heapID)
{
void *nclrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, FALSE, heapID, TRUE);
LoadPaletteWithSrcOffset(nclrBuffer, loadLocation, srcOffset, palOffset, size);
}
u32 Graphics_LoadObjectTiles(u32 narcID, u32 narcMemberIdx, enum DSScreen display, u32 offset, u32 size, BOOL compressed, u32 heapID)
u32 Graphics_LoadObjectTiles(enum NarcID narcID, u32 narcMemberIdx, enum DSScreen display, u32 offset, u32 size, BOOL compressed, u32 heapID)
{
void *ncgrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, TRUE);
return LoadObjectTiles(ncgrBuffer, display, offset, size);
}
void Graphics_LoadPartialPalette(u32 narcID, u32 narcMemberIdx, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImagePaletteProxy *paletteProxy)
void Graphics_LoadPartialPalette(enum NarcID narcID, u32 narcMemberIdx, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImagePaletteProxy *paletteProxy)
{
void *nclrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, FALSE, heapID, TRUE);
LoadPartialPalette(nclrBuffer, vramType, baseAddr, paletteProxy);
}
u32 Graphics_LoadImageMapping(u32 narcID, u32 narcMemberIdx, BOOL compressed, enum ImageMappingLayout layout, u32 size, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImageProxy *imageProxy)
u32 Graphics_LoadImageMapping(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, enum ImageMappingLayout layout, u32 size, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImageProxy *imageProxy)
{
void *ncgrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, TRUE);
return LoadImageMapping(ncgrBuffer, layout, size, vramType, baseAddr, imageProxy);
}
void Graphics_LoadImageMappingAndSetVramMode(u32 narcID, u32 narcMemberIdx, BOOL compressed, enum ImageMappingLayout layout, u32 size, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImageProxy *imageProxy)
void Graphics_LoadImageMappingAndSetVramMode(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, enum ImageMappingLayout layout, u32 size, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heapID, NNSG2dImageProxy *imageProxy)
{
void *ncgrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, TRUE);
LoadImageMappingAndSetVramMode(ncgrBuffer, layout, size, vramType, baseAddr, imageProxy);
}
void *Graphics_GetCharData(u32 narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dCharacterData **outCharData, u32 heapID)
void *Graphics_GetCharData(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dCharacterData **outCharData, u32 heapID)
{
void *ncgrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, FALSE);
return GetCharacterData(ncgrBuffer, outCharData);
}
void *Graphics_GetScrnData(u32 narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dScreenData **outScreenData, u32 heapID)
void *Graphics_GetScrnData(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dScreenData **outScreenData, u32 heapID)
{
void *nscrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, FALSE);
return GetScreenData(nscrBuffer, outScreenData);
}
void *Graphics_GetPlttData(u32 narcID, u32 narcMemberIdx, NNSG2dPaletteData **outPaletteData, u32 heapID)
void *Graphics_GetPlttData(enum NarcID narcID, u32 narcMemberIdx, NNSG2dPaletteData **outPaletteData, u32 heapID)
{
void *nclrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, FALSE, heapID, FALSE);
return GetPaletteData(nclrBuffer, outPaletteData);
}
void *Graphics_GetCellBank(u32 narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dCellDataBank **outCellBank, u32 heapID)
void *Graphics_GetCellBank(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dCellDataBank **outCellBank, u32 heapID)
{
void *ncerBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, FALSE);
return GetCellBank(ncerBuffer, outCellBank);
}
void *Graphics_GetAnimBank(u32 narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dAnimBankData **outAnimBank, u32 heapID)
void *Graphics_GetAnimBank(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, NNSG2dAnimBankData **outAnimBank, u32 heapID)
{
void *nanrBuffer = LoadMemberFromNARC(narcID, narcMemberIdx, compressed, heapID, FALSE);
return GetAnimBank(nanrBuffer, outAnimBank);
}
void *LoadCompressedMemberFromNARC(u32 narcID, u32 narcMemberIdx, u32 heapID)
void *LoadCompressedMemberFromNARC(enum NarcID narcID, u32 narcMemberIdx, u32 heapID)
{
return LoadMemberFromNARC(narcID, narcMemberIdx, TRUE, heapID, FALSE);
}
void *LoadMemberFromNARC(u32 narcID, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd)
void *LoadMemberFromNARC(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd)
{
void *data;
@ -136,7 +136,7 @@ void *LoadMemberFromNARC(u32 narcID, u32 narcMemberIdx, BOOL compressed, u32 hea
return data;
}
void *LoadMemberFromNARC_OutFileSize(u32 narcID, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd, u32 *fileSize)
void *LoadMemberFromNARC_OutFileSize(enum NarcID narcID, u32 narcMemberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd, u32 *fileSize)
{
void *data;
*fileSize = NARC_GetMemberSizeByIndexPair(narcID, narcMemberIdx);

View File

@ -217,10 +217,10 @@ void MapHeaderData_LoadWildEncounters(WildEncounters *data, int headerID)
{
memset(data, 0, sizeof(WildEncounters));
if (MapHeader_HasWildEncounters(headerID)) {
int narcIndex = (GAME_VERSION == VERSION_DIAMOND || GAME_VERSION == VERSION_PLATINUM)
enum NarcID narcID = (GAME_VERSION == VERSION_DIAMOND || GAME_VERSION == VERSION_PLATINUM)
? NARC_INDEX_FIELDDATA__ENCOUNTDATA__PL_ENC_DATA
: NARC_INDEX_FIELDDATA__ENCOUNTDATA__P_ENC_DATA;
NARC_ReadWholeMemberByIndexPair(data, narcIndex, MapHeader_GetWildEncountersArchiveID(headerID));
NARC_ReadWholeMemberByIndexPair(data, narcID, MapHeader_GetWildEncountersArchiveID(headerID));
}
}

View File

@ -42,7 +42,7 @@ static inline u8 *EntryOffsetAddress(const MessageBank *bank, u32 bankIndex)
return (u8 *)bank + bankIndex;
}
MessageBank *MessageBank_Load(u32 narcID, u32 bankID, u32 heapID)
MessageBank *MessageBank_Load(enum NarcID narcID, u32 bankID, u32 heapID)
{
return NARC_AllocAndReadWholeMemberByIndexPair(narcID, bankID, heapID);
}
@ -68,7 +68,7 @@ void MessageBank_Get(const MessageBank *bank, u32 entryID, charcode_t *dst)
GF_ASSERT(FALSE);
}
void MessageBank_GetFromNARC(u32 narcID, u32 bankID, u32 entryID, u32 heapID, charcode_t *dst)
void MessageBank_GetFromNARC(enum NarcID narcID, u32 bankID, u32 entryID, u32 heapID, charcode_t *dst)
{
NARC *narc = NARC_ctor(narcID, heapID);
@ -146,7 +146,7 @@ Strbuf *MessageBank_GetNewStrbuf(const MessageBank *bank, u32 entryID, u32 heapI
return Strbuf_Init(4, heapID);
}
void MessageBank_GetStrbufFromNARC(u32 narcID, u32 bankID, u32 entryID, u32 heapID, Strbuf *strbuf)
void MessageBank_GetStrbufFromNARC(enum NarcID narcID, u32 bankID, u32 entryID, u32 heapID, Strbuf *strbuf)
{
NARC *narc = NARC_ctor(narcID, heapID);
@ -184,7 +184,7 @@ void MessageBank_GetStrbufFromHandle(NARC *narc, u32 bankID, u32 entryID, u32 he
Strbuf_Clear(strbuf);
}
Strbuf *MessageBank_GetNewStrbufFromNARC(u32 narcID, u32 bankID, u32 entryID, u32 heapID)
Strbuf *MessageBank_GetNewStrbufFromNARC(enum NarcID narcID, u32 bankID, u32 entryID, u32 heapID)
{
NARC *narc = NARC_ctor(narcID, heapID);
@ -236,7 +236,7 @@ u32 MessageBank_EntryCount(const MessageBank *bank)
return bank->count;
}
u32 MessageBank_NARCEntryCount(u32 narcID, u32 bankID)
u32 MessageBank_NARCEntryCount(enum NarcID narcID, u32 bankID)
{
MessageBank bank;
NARC_ReadFromMemberByIndexPair(&bank, narcID, bankID, 0, sizeof(MessageBank));
@ -244,7 +244,7 @@ u32 MessageBank_NARCEntryCount(u32 narcID, u32 bankID)
return bank.count;
}
MessageLoader *MessageLoader_Init(enum MessageLoaderType type, u32 narcID, u32 bankID, u32 heapID)
MessageLoader *MessageLoader_Init(enum MessageLoaderType type, enum NarcID narcID, u32 bankID, u32 heapID)
{
MessageLoader *loader = Heap_AllocFromHeapAtEnd(heapID, sizeof(MessageLoader));

View File

@ -312,37 +312,37 @@ static void *AllocAndReadFromNarcMemberByPathAndIndex(const char *path, int memb
return dest;
}
void NARC_ReadWholeMemberByIndexPair(void *dest, int narcIndex, int memberIndex)
void NARC_ReadWholeMemberByIndexPair(void *dest, enum NarcID narcID, int memberIndex)
{
ReadFromNarcMemberByPathAndIndex(dest, sNarcPaths[narcIndex], memberIndex, 0, 0);
ReadFromNarcMemberByPathAndIndex(dest, sNarcPaths[narcID], memberIndex, 0, 0);
}
void *NARC_AllocAndReadWholeMemberByIndexPair(int narcIndex, int memberIndex, int heapID)
void *NARC_AllocAndReadWholeMemberByIndexPair(enum NarcID narcID, int memberIndex, int heapID)
{
return AllocAndReadFromNarcMemberByPathAndIndex(sNarcPaths[narcIndex], memberIndex, heapID, 0, 0, FALSE);
return AllocAndReadFromNarcMemberByPathAndIndex(sNarcPaths[narcID], memberIndex, heapID, 0, 0, FALSE);
}
void *NARC_AllocAtEndAndReadWholeMemberByIndexPair(int narcIndex, int memberIndex, int heapID)
void *NARC_AllocAtEndAndReadWholeMemberByIndexPair(enum NarcID narcID, int memberIndex, int heapID)
{
return AllocAndReadFromNarcMemberByPathAndIndex(sNarcPaths[narcIndex], memberIndex, heapID, 0, 0, TRUE);
return AllocAndReadFromNarcMemberByPathAndIndex(sNarcPaths[narcID], memberIndex, heapID, 0, 0, TRUE);
}
void NARC_ReadFromMemberByIndexPair(void *dest, int narcIndex, int memberIndex, int offset, int bytesToRead)
void NARC_ReadFromMemberByIndexPair(void *dest, enum NarcID narcID, int memberIndex, int offset, int bytesToRead)
{
ReadFromNarcMemberByPathAndIndex(dest, sNarcPaths[narcIndex], memberIndex, offset, bytesToRead);
ReadFromNarcMemberByPathAndIndex(dest, sNarcPaths[narcID], memberIndex, offset, bytesToRead);
}
void *NARC_AllocAndReadFromMemberByIndexPair(int narcIndex, int memberIndex, int heapID, int offset, int bytesToRead)
void *NARC_AllocAndReadFromMemberByIndexPair(enum NarcID narcID, int memberIndex, int heapID, int offset, int bytesToRead)
{
return AllocAndReadFromNarcMemberByPathAndIndex(sNarcPaths[narcIndex], memberIndex, heapID, offset, bytesToRead, FALSE);
return AllocAndReadFromNarcMemberByPathAndIndex(sNarcPaths[narcID], memberIndex, heapID, offset, bytesToRead, FALSE);
}
void *NARC_AllocAtEndAndReadFromMemberByIndexPair(int narcIndex, int memberIndex, int heapID, int offset, int bytesToRead)
void *NARC_AllocAtEndAndReadFromMemberByIndexPair(enum NarcID narcID, int memberIndex, int heapID, int offset, int bytesToRead)
{
return AllocAndReadFromNarcMemberByPathAndIndex(sNarcPaths[narcIndex], memberIndex, heapID, offset, bytesToRead, TRUE);
return AllocAndReadFromNarcMemberByPathAndIndex(sNarcPaths[narcID], memberIndex, heapID, offset, bytesToRead, TRUE);
}
u32 NARC_GetMemberSizeByIndexPair(int narcIndex, int memberIndex)
u32 NARC_GetMemberSizeByIndexPair(enum NarcID narcID, int memberIndex)
{
FSFile file;
u32 chunkSize = 0;
@ -354,7 +354,7 @@ u32 NARC_GetMemberSizeByIndexPair(int narcIndex, int memberIndex)
u16 fileCount = 0;
FS_InitFile(&file);
FS_OpenFile(&file, sNarcPaths[narcIndex]);
FS_OpenFile(&file, sNarcPaths[narcID]);
FS_SeekFile(&file, 12, FS_SEEK_SET);
FS_ReadFile(&file, &chunkSize, 2);
@ -386,7 +386,7 @@ u32 NARC_GetMemberSizeByIndexPair(int narcIndex, int memberIndex)
return chunkSize;
}
NARC *NARC_ctor(u32 narcIndex, u32 heapID)
NARC *NARC_ctor(enum NarcID narcID, u32 heapID)
{
NARC *narc = Heap_AllocFromHeap(heapID, sizeof(NARC));
@ -397,7 +397,7 @@ NARC *NARC_ctor(u32 narcIndex, u32 heapID)
narc->fatbStart = 0;
FS_InitFile(&narc->file);
FS_OpenFile(&narc->file, sNarcPaths[narcIndex]);
FS_OpenFile(&narc->file, sNarcPaths[narcID]);
FS_SeekFile(&narc->file, 12, FS_SEEK_SET);
FS_ReadFile(&narc->file, &(narc->fatbStart), 2);
FS_SeekFile(&narc->file, narc->fatbStart + 4, FS_SEEK_SET);

View File

@ -80,8 +80,8 @@ void GreatMarshLookout_CreateLookoutMonSprite(GreatMarshLookout_SpriteResources
resources->unk_10[1] = SpriteResourceCollection_AddPaletteFrom(resources->unk_00[1], v1, 3, 0, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 1, HEAP_ID_FIELD);
resources->unk_10[2] = SpriteResourceCollection_AddFrom(resources->unk_00[2], v1, 6, 0, 2, 2, HEAP_ID_FIELD);
resources->unk_10[3] = SpriteResourceCollection_AddFrom(resources->unk_00[3], v1, 12, 0, 3, 3, HEAP_ID_FIELD);
resources->unk_20 = sub_0201363C(resources->unk_28.archive, resources->unk_28.character, HEAP_ID_FIELD);
resources->unk_24 = sub_02013660(resources->unk_28.archive, resources->unk_28.palette, HEAP_ID_FIELD);
resources->unk_20 = sub_0201363C(resources->unk_28.narcID, resources->unk_28.character, HEAP_ID_FIELD);
resources->unk_24 = sub_02013660(resources->unk_28.narcID, resources->unk_28.palette, HEAP_ID_FIELD);
ov6_02242880(resources->unk_00[0], resources->unk_00[1], resources->unk_20, resources->unk_24);

View File

@ -2057,7 +2057,7 @@ static void *ov6_0224509C(Pokemon *param0, PokemonSpriteTemplate *param1, u32 he
{
int v1 = Pokemon_GetValue(param0, MON_DATA_PERSONALITY, NULL);
sub_02013750(param1->archive, param1->character, heapID, v0, v1, 0, 2, param1->spindaSpots);
sub_02013750(param1->narcID, param1->character, heapID, v0, v1, 0, 2, param1->spindaSpots);
}
return v0;
@ -2065,7 +2065,7 @@ static void *ov6_0224509C(Pokemon *param0, PokemonSpriteTemplate *param1, u32 he
static void *ov6_022450E4(PokemonSpriteTemplate *param0, u32 heapID)
{
void *v0 = sub_02013660(param0->archive, param0->palette, heapID);
void *v0 = sub_02013660(param0->narcID, param0->palette, heapID);
return v0;
}

View File

@ -96,9 +96,9 @@ static void ov12_022380DC(UnkStruct_ov12_022380DC *param0, int param1, int param
*v1 = v0;
PokemonSprite_ScheduleReloadFromNARC(param0->unk_18[param0->unk_00]);
sub_02013750(v1->archive, v1->character, heapID, param0->unk_08[param0->unk_00]->unk_00, v7, 0, v4, v1->spindaSpots);
sub_02013750(v1->narcID, v1->character, heapID, param0->unk_08[param0->unk_00]->unk_00, v7, 0, v4, v1->spindaSpots);
param0->unk_08[param0->unk_00]->unk_04 = v1->archive;
param0->unk_08[param0->unk_00]->unk_04 = v1->narcID;
param0->unk_08[param0->unk_00]->unk_08 = v1->palette;
v11 = param0->unk_08[param0->unk_00]->unk_0C = LoadPokemonSpriteYOffset(v2, v3, v4, v6, v7);
@ -146,9 +146,9 @@ void ov12_022382BC(UnkStruct_ov12_022380DC *param0, int heapID)
v3 = 0;
}
sub_02013750(v0->archive, v0->character, heapID, param0->unk_08[param0->unk_00]->unk_00, v5, 0, v3, v0->spindaSpots);
sub_02013750(v0->narcID, v0->character, heapID, param0->unk_08[param0->unk_00]->unk_00, v5, 0, v3, v0->spindaSpots);
param0->unk_08[param0->unk_00]->unk_04 = v0->archive;
param0->unk_08[param0->unk_00]->unk_04 = v0->narcID;
param0->unk_08[param0->unk_00]->unk_08 = v0->palette;
param0->unk_08[param0->unk_00]->unk_0C = LoadPokemonSpriteYOffset(v1, v2, v3, v4, v5);
@ -167,7 +167,7 @@ void ov12_02238390(UnkStruct_ov12_022380DC *param0, int heapID)
PokemonSprite_Push(param0->unk_18[param0->unk_00]);
v0.archive = 117;
v0.narcID = 117;
v0.palette = 250;
v0.spindaSpots = 0;
v0.dummy = 0;
@ -185,9 +185,9 @@ void ov12_02238390(UnkStruct_ov12_022380DC *param0, int heapID)
*v1 = v0;
PokemonSprite_ScheduleReloadFromNARC(param0->unk_18[param0->unk_00]);
sub_02013610(v1->archive, v1->character, heapID, param0->unk_08[param0->unk_00]->unk_00);
sub_02013610(v1->narcID, v1->character, heapID, param0->unk_08[param0->unk_00]->unk_00);
param0->unk_08[param0->unk_00]->unk_04 = v0.archive;
param0->unk_08[param0->unk_00]->unk_04 = v0.narcID;
param0->unk_08[param0->unk_00]->unk_08 = v0.palette;
NARC_ReadWholeMemberByIndexPair(&v4, NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O, v3);

View File

@ -43,9 +43,9 @@ u8 ov17_0224F0A0(int param0)
return Unk_ov17_02254A88[param0];
}
u32 ov17_0224F0B8(void)
enum NarcID ov17_0224F0B8(void)
{
return 46;
return NARC_INDEX_CONTEST__GRAPHIC__CONTEST_OBJ;
}
void ov17_0224F0BC(SpriteSystem *param0, SpriteManager *param1, NNS_G2D_VRAM_TYPE param2, int param3, u32 param4)

View File

@ -38,7 +38,7 @@ u32 sub_0207C920(void);
u32 sub_0207C924(void);
u32 sub_0207C928(void);
u8 sub_0207C92C(int param0);
u32 sub_0207C944(void);
enum NarcID sub_0207C944(void);
void Window_PutRectToTilemap(Window *param0, u32 param1, u32 param2);
static void ov19_021DAB44(UnkStruct_ov19_021DA9E0 *param0);
static void ov19_021DAC4C(UnkStruct_ov19_021DA9E0 *param0);
@ -211,7 +211,8 @@ static void ov19_021DAB44(UnkStruct_ov19_021DA9E0 *param0)
{
NNSG2dImageProxy v0;
SpriteResourcesHeader v1;
u32 v2, v3, v4;
enum NarcID v2;
u32 v3, v4;
v2 = sub_0207C944();
v3 = sub_0207C908(2);

View File

@ -719,7 +719,7 @@ static u16 *PokedexFromNARC(enum HeapId heapID, int pokedexSort, int *pokedexLen
GF_ASSERT(PDSI_NUMSORTS > pokedexSort);
u32 pokedexDataNarcIndex = Pokedex_Data_NARC_Index();
enum NarcID pokedexDataNarcIndex = Pokedex_Data_NARC_Index();
u16 *pokedexFromFile = LoadMemberFromNARC_OutFileSize(pokedexDataNarcIndex, NUMSTATFILES + pokedexSort, 0, heapID, 0, &pokedexSize);
*pokedexLength = pokedexSize / (sizeof(u16));

View File

@ -25,10 +25,10 @@ void ov22_02259098(UnkStruct_ov22_0225A0E4 *param0, PokemonSpriteTemplate *param
void *v0;
NNSG2dCharacterData *v1;
v0 = LoadMemberFromNARC(param1->archive, param1->character, 0, 14, 0);
v0 = LoadMemberFromNARC(param1->narcID, param1->character, 0, 14, 0);
v1 = ov22_02255340(param0, v0, (100 + 18));
PokemonSprite_Decrypt((u8 *)v1->pRawData, param1->archive);
PokemonSprite_Decrypt((u8 *)v1->pRawData, param1->narcID);
}
void ov22_022590C0(UnkStruct_020298D8 *param0, PokemonSpriteManager *param1, Pokemon *param2, PokemonSpriteTemplate *param3, int param4)
@ -64,10 +64,10 @@ void ov22_022590D4(UnkStruct_020298D8 *param0, PokemonSpriteManager *param1, Pok
void *v4;
NNSG2dCharacterData *v5;
v4 = LoadMemberFromNARC(param3->archive, param3->character, 0, param4, 0);
v4 = LoadMemberFromNARC(param3->narcID, param3->character, 0, param4, 0);
NNS_G2dGetUnpackedCharacterData(v4, &v5);
PokemonSprite_Decrypt((u8 *)v5->pRawData, param3->archive);
PokemonSprite_Decrypt((u8 *)v5->pRawData, param3->narcID);
if (param5 == 0) {
ov22_022593B8(v5->pRawData, v5->W * 8, v5->H * 8, &param0->unk_08);

View File

@ -3,6 +3,8 @@
#include <nitro.h>
#include <string.h>
#include "constants/narc.h"
#include "struct_decls/struct_02012744_decl.h"
#include "struct_defs/struct_020127E8.h"
@ -38,7 +40,7 @@ static void ov22_0225A154(UnkStruct_ov22_0225A154 *param0, int param1, UnkStruct
static void ov22_0225A200(TouchScreenHitTable *hitTable, int param1, int param2, int param3, int param4, int param5);
static void ov22_0225A218(UnkStruct_ov22_0225A0E4 *param0);
static void ov22_0225A2A8(UnkStruct_ov22_0225A0E4 *param0);
static Window *ov22_0225A348(UnkStruct_ov22_0225A0E4 *param0, u32 param1, u32 param2, u32 param3, int param4, int param5);
static Window *ov22_0225A348(UnkStruct_ov22_0225A0E4 *param0, enum NarcID narcID, u32 param2, u32 param3, int param4, int param5);
static void ov22_0225A3D0(Window *param0);
static void ov22_0225A2D0(UnkStruct_ov22_02259C58 *param0, int param1);
static void ov22_0225A338(UnkStruct_ov22_02259C58 *param0, int param1, int param2, int param3);
@ -425,7 +427,7 @@ static void ov22_0225A338(UnkStruct_ov22_02259C58 *param0, int param1, int param
}
}
static Window *ov22_0225A348(UnkStruct_ov22_0225A0E4 *param0, u32 narcID, u32 bankID, u32 param3, int param4, int param5)
static Window *ov22_0225A348(UnkStruct_ov22_0225A0E4 *param0, enum NarcID narcID, u32 bankID, u32 param3, int param4, int param5)
{
MessageLoader *v0;
Strbuf *v1;

View File

@ -38,8 +38,8 @@ static void ov22_0225A7B8(UnkStruct_ov22_022597BC *param0);
static void ov22_0225A7C0(Window *param0);
static s32 ov22_0225A7CC(Window *param0, int param1, int param2, int param3, int param4, int param5, u32 param6);
static s32 ov22_0225A814(Window *param0, int param1, int param2, int param3, int param4, int param5, u32 param6, Strbuf **param7);
static s32 ov22_0225A860(Window *param0, int param1, int param2, int param3, int param4, int param5, TextColor param6, u32 param7);
static s32 ov22_0225A8B4(Window *param0, int param1, int param2, int param3, int param4, int param5, u32 param6, u32 param7, Strbuf **param8);
static s32 ov22_0225A860(Window *param0, enum NarcID narcID, int param2, int param3, int param4, int param5, TextColor param6, u32 param7);
static s32 ov22_0225A8B4(Window *param0, enum NarcID narcID, int param2, int param3, int param4, int param5, u32 param6, u32 param7, Strbuf **param8);
static void ov22_0225A914(UnkStruct_ov22_0225A914 *param0, SpriteList *param1, SpriteResourceCollection **param2, int param3, NARC *param4);
static void ov22_0225A9C8(UnkStruct_ov22_0225A914 *param0, int param1);
static void ov22_0225AA10(UnkStruct_ov22_0225A914 *param0, SpriteResourceCollection **param1);
@ -248,7 +248,7 @@ static s32 ov22_0225A814(Window *param0, int param1, int param2, int param3, int
return v0;
}
static s32 ov22_0225A860(Window *window, int narcID, int bankID, int param3, int param4, int param5, TextColor param6, u32 param7)
static s32 ov22_0225A860(Window *window, enum NarcID narcID, int bankID, int param3, int param4, int param5, TextColor param6, u32 param7)
{
MessageLoader *msgLoader = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, narcID, bankID, HEAP_ID_13);
GF_ASSERT(msgLoader);
@ -262,7 +262,7 @@ static s32 ov22_0225A860(Window *window, int narcID, int bankID, int param3, int
return v2;
}
static s32 ov22_0225A8B4(Window *param0, int narcID, int bankID, int param3, int param4, int param5, u32 param6, u32 param7, Strbuf **param8)
static s32 ov22_0225A8B4(Window *param0, enum NarcID narcID, int bankID, int param3, int param4, int param5, u32 param6, u32 param7, Strbuf **param8)
{
GF_ASSERT(*param8 == NULL);

View File

@ -301,11 +301,11 @@ void ov25_02255950(UnkStruct_ov25_022558C4 *param0, u16 param1)
param0->unk_90 = param1;
}
BOOL ov25_02255958(UnkStruct_ov25_02255958 *param0, u32 narcId, u32 memberId, u32 memberId2, enum HeapId heapID)
BOOL ov25_02255958(UnkStruct_ov25_02255958 *param0, enum NarcID narcID, u32 memberId, u32 memberId2, enum HeapId heapID)
{
param0->heapID = heapID;
param0->unk_00 = LoadCompressedMemberFromNARC(narcId, memberId, heapID);
param0->unk_04 = LoadCompressedMemberFromNARC(narcId, memberId2, heapID);
param0->unk_00 = LoadCompressedMemberFromNARC(narcID, memberId, heapID);
param0->unk_04 = LoadCompressedMemberFromNARC(narcID, memberId2, heapID);
if ((param0->unk_00 != NULL) && (param0->unk_04 != NULL)) {
if (!NNS_G2dGetUnpackedCellBank(param0->unk_00, &(param0->unk_08))) {

View File

@ -1114,8 +1114,8 @@ static void ov73_021D1B80(UnkStruct_ov73_021D1058 *param0)
}
}
v2 = sub_0201363C(v0.archive, v0.character, param0->heapID);
v3 = sub_02013660(v0.archive, v0.palette, param0->heapID);
v2 = sub_0201363C(v0.narcID, v0.character, param0->heapID);
v3 = sub_02013660(v0.narcID, v0.palette, param0->heapID);
MI_CpuCopy32(v3, param0->unk_B8, 0x20);

View File

@ -839,17 +839,17 @@ static void ov86_0223BAC8(UnkStruct_ov86_0223B3C8 *param0, NNSG2dCellDataBank *p
param0->unk_2E0[v12] = Pokemon_GetValue((Pokemon *)v11, MON_DATA_SPECIES, NULL);
param0->unk_2F8[v12] = Pokemon_GetValue((Pokemon *)v11, MON_DATA_FORM, NULL);
sub_02013720(v1.archive, v1.character, HEAP_ID_63, &v0[0], param0->unk_310, Pokemon_GetValue((Pokemon *)v11, MON_DATA_PERSONALITY, NULL), 1, 2, param0->unk_2E0[v12]);
sub_02013720(v1.narcID, v1.character, HEAP_ID_63, &v0[0], param0->unk_310, Pokemon_GetValue((Pokemon *)v11, MON_DATA_PERSONALITY, NULL), 1, 2, param0->unk_2E0[v12]);
DC_FlushRange(param0->unk_310, 3200);
GX_LoadOBJ(param0->unk_310, v12 * 2 * 3200, 3200);
sub_02013720(v1.archive, v1.character, HEAP_ID_63, &v0[1], param0->unk_310, Pokemon_GetValue((Pokemon *)v11, MON_DATA_PERSONALITY, NULL), 1, 2, param0->unk_2E0[v12]);
sub_02013720(v1.narcID, v1.character, HEAP_ID_63, &v0[1], param0->unk_310, Pokemon_GetValue((Pokemon *)v11, MON_DATA_PERSONALITY, NULL), 1, 2, param0->unk_2E0[v12]);
DC_FlushRange(param0->unk_310, 3200);
GX_LoadOBJ(param0->unk_310, v12 * 2 * 3200 + 3200, 3200);
Graphics_LoadPalette(v1.archive, v1.palette, 1, v12 * 0x20, 0x20, HEAP_ID_63);
Graphics_LoadPalette(v1.narcID, v1.palette, 1, v12 * 0x20, 0x20, HEAP_ID_63);
PokeSprite_LoadAnimationFrames(param0->unk_1C54, &param0->unk_1D8[v12][0], param0->unk_2E0[v12], 1);
}

View File

@ -541,12 +541,12 @@ static void ov87_021D1970(UnkStruct_ov87_021D106C *param0)
Pokemon_InitWith(param0->unk_1FC, v2->unk_20[v3].unk_10, v2->unk_20[v3].unk_12, INIT_IVS_RANDOM, TRUE, v2->unk_20[v3].unk_08, OTID_SET, v2->unk_20[v3].unk_0C);
Pokemon_SetValue(param0->unk_1FC, MON_DATA_FORM, (void *)(&(v2->unk_20[v3].unk_13)));
Pokemon_BuildSpriteTemplate(&v1, param0->unk_1FC, 2);
sub_02013720(v1.archive, v1.character, HEAP_ID_61, &v0, param0->unk_200, v2->unk_20[v3].unk_08, 0, 2, v2->unk_20[v3].unk_10);
sub_02013720(v1.narcID, v1.character, HEAP_ID_61, &v0, param0->unk_200, v2->unk_20[v3].unk_08, 0, 2, v2->unk_20[v3].unk_10);
DC_FlushRange(param0->unk_200, sizeof(param0->unk_200));
GX_LoadOBJ(param0->unk_200, 3200 * v3, 3200);
Graphics_LoadPalette(v1.archive, v1.palette, 1, v3 * 0x20, 0x20, HEAP_ID_61);
Graphics_LoadPalette(v1.narcID, v1.palette, 1, v3 * 0x20, 0x20, HEAP_ID_61);
if (v3 == v2->unk_18) {
Sound_SetUsingDefaultChatotCry(TRUE);

View File

@ -897,7 +897,7 @@ static void ov88_0223C0E0(void *param0)
int v1 = v0->unk_2168 - 1;
GXS_LoadOBJ(v0->unk_848[v1], 0 + v1 * (0x20 * 10 * 10), (0x20 * 10 * 10));
Graphics_LoadPalette(v0->unk_2148[v1].archive, v0->unk_2148[v1].palette, 5, 0x20 * (2 + v1), 32, HEAP_ID_26);
Graphics_LoadPalette(v0->unk_2148[v1].narcID, v0->unk_2148[v1].palette, 5, 0x20 * (2 + v1), 32, HEAP_ID_26);
v0->unk_2168 = 0;
}
@ -1263,7 +1263,7 @@ static int ov88_0223C800(int param0, Pokemon *param1, u8 *param2, PokemonSpriteT
int v0 = Pokemon_GetValue(param1, MON_DATA_PERSONALITY, NULL);
int v1 = Pokemon_GetValue(param1, MON_DATA_SPECIES, NULL);
sub_020136A4(param3->archive, param3->character, HEAP_ID_26, 0, 0, 10, 10, param2, v0, 0, 2, v1);
sub_020136A4(param3->narcID, param3->character, HEAP_ID_26, 0, 0, 10, 10, param2, v0, 0, 2, v1);
}
DC_FlushRange(param2, 0x20 * 10 * 10);

View File

@ -589,13 +589,13 @@ void ov94_0223DB2C(Pokemon *param0)
int v2 = Pokemon_GetValue(param0, MON_DATA_PERSONALITY, NULL);
int v3 = Pokemon_GetValue(param0, MON_DATA_SPECIES, NULL);
sub_020136A4(v0.archive, v0.character, HEAP_ID_62, 0, 0, 10, 10, v1, v2, 0, 2, v3);
sub_020136A4(v0.narcID, v0.character, HEAP_ID_62, 0, 0, 10, 10, v1, v2, 0, 2, v3);
}
DC_FlushRange(v1, (0x20 * 10 * 10));
GX_LoadOBJ(v1, ((18 * 32 + 16) * 32), (0x20 * 10 * 10));
Graphics_LoadPalette(v0.archive, v0.palette, 1, 0x20 * 13, 32, HEAP_ID_62);
Graphics_LoadPalette(v0.narcID, v0.palette, 1, 0x20 * 13, 32, HEAP_ID_62);
Heap_FreeToHeap(v1);
}

View File

@ -577,7 +577,7 @@ void ov95_022473E8(UnkStruct_ov95_02247628 *param0, int param1, u32 param2, u32
v4.unk_08 *= 2;
}
sub_02013720(v0.archive, v0.character, HEAP_ID_57, &v4, v3, v7, param4, 2, v8);
sub_02013720(v0.narcID, v0.character, HEAP_ID_57, &v4, v3, v7, param4, 2, v8);
DC_FlushRange(v3, v2);
Bg_LoadTiles(param0->unk_08, param2, v3, v2, 0);
@ -586,7 +586,7 @@ void ov95_022473E8(UnkStruct_ov95_02247628 *param0, int param1, u32 param2, u32
}
v1 = (param2 >= 4) ? 4 : 0;
Graphics_LoadPalette(v0.archive, v0.palette, v1, param3 * 0x20, 0x20, HEAP_ID_57);
Graphics_LoadPalette(v0.narcID, v0.palette, v1, param3 * 0x20, 0x20, HEAP_ID_57);
}
void ov95_022474D4(UnkStruct_ov95_02247628 *param0, int param1, u32 param2, u32 param3, u32 param4, u32 param5)

View File

@ -573,7 +573,7 @@ static void ov97_02237EF8(Sprite *param0, Pokemon *param1, int param2, int param
BuildPokemonSpriteTemplate(param5, param2, v0, 2, v1, param3, 0);
v2 = Pokemon_GetValue(param1, MON_DATA_PERSONALITY, NULL);
sub_020136A4(param5->archive, param5->character, v3->heapID, 0, 0, 10, 10, param4, v2, 0, 2, param2);
sub_020136A4(param5->narcID, param5->character, v3->heapID, 0, 0, 10, 10, param4, v2, 0, 2, param2);
DC_FlushRange(param4, 0x20 * 10 * 10);
@ -588,7 +588,7 @@ static void ov97_02237EF8(Sprite *param0, Pokemon *param1, int param2, int param
NNSG2dImagePaletteProxy *v6 = Sprite_GetPaletteProxy(param0);
u32 v7 = NNS_G2dGetImagePaletteLocation(v6, NNS_G2D_VRAM_TYPE_2DSUB);
Graphics_LoadPalette(param5->archive, param5->palette, 5, 0x20 * (2 + 1) + v7, 32, v3->heapID);
Graphics_LoadPalette(param5->narcID, param5->palette, 5, 0x20 * (2 + 1) + v7, 32, v3->heapID);
}
}

View File

@ -906,7 +906,7 @@ void ov104_02232CE0(UnkStruct_ov104_0223C4CC *param0, Pokemon *param1, int heapI
v10 = Pokemon_GetValue(param1, MON_DATA_SPECIES, NULL);
Pokemon_BuildSpriteTemplate(&v3, param1, 2);
sub_020136A4(v3.archive, v3.character, heapID, 0, 0, 10, 10, v4, v9, 0, 2, v10);
sub_020136A4(v3.narcID, v3.character, heapID, 0, 0, 10, 10, v4, v9, 0, 2, v10);
}
{
@ -921,7 +921,7 @@ void ov104_02232CE0(UnkStruct_ov104_0223C4CC *param0, Pokemon *param1, int heapI
v12 = Sprite_GetPaletteProxy(v5->sprite);
v13 = PlttTransfer_GetPlttOffset(v12, NNS_G2D_VRAM_TYPE_2DMAIN);
PaletteData_LoadBufferFromFileStart(v2, v3.archive, v3.palette, heapID, 2, 0x20, v13 * 16);
PaletteData_LoadBufferFromFileStart(v2, v3.narcID, v3.palette, heapID, 2, 0x20, v13 * 16);
if (param8 > 0) {
PaletteData_Blend(v2, 2, v13 * 16, 16, param8, param9);

View File

@ -63,7 +63,7 @@ void PaletteData_LoadBuffer(PaletteData *paletteData, const void *src, enum Pale
MI_CpuCopy16(src, paletteData->buffers[bufferID].faded + destStart, srcSize);
}
void PaletteData_LoadBufferFromFile(PaletteData *paletteData, u32 narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 srcSize, u16 destStart, u16 srcStart)
void PaletteData_LoadBufferFromFile(PaletteData *paletteData, enum NarcID narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 srcSize, u16 destStart, u16 srcStart)
{
NNSG2dPaletteData *palette;
void *ptr = Graphics_GetPlttData(narcID, narcMemberIdx, &palette, heapID);
@ -80,7 +80,7 @@ void PaletteData_LoadBufferFromFile(PaletteData *paletteData, u32 narcID, u32 na
Heap_FreeToHeap(ptr);
}
void PaletteData_LoadBufferFromFileStart(PaletteData *paletteData, u32 narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 srcSize, u16 destStart)
void PaletteData_LoadBufferFromFileStart(PaletteData *paletteData, enum NarcID narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 srcSize, u16 destStart)
{
PaletteData_LoadBufferFromFile(paletteData, narcID, narcMemberIdx, heapID, bufferID, srcSize, destStart, 0);
}
@ -115,7 +115,7 @@ void PaletteData_LoadBufferFromHardware(PaletteData *paletteData, enum PaletteBu
PaletteData_LoadBuffer(paletteData, ptr + start, bufferID, start, size);
}
void LoadPaletteFromFile(u32 narcID, u32 narcMemberIdx, u32 heapID, u32 size, u16 start, void *dest)
void LoadPaletteFromFile(enum NarcID narcID, u32 narcMemberIdx, u32 heapID, u32 size, u16 start, void *dest)
{
NNSG2dPaletteData *palette;
void *ptr = Graphics_GetPlttData(narcID, narcMemberIdx, &palette, heapID);
@ -585,7 +585,7 @@ void TintPalette(u16 *palette, int numColorsToTint, int tintR, int tintG, int ti
}
}
void PaletteData_LoadBufferFromFileStartWithTint(PaletteData *paletteData, u32 narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 size, u16 start, int r, int g, int b)
void PaletteData_LoadBufferFromFileStartWithTint(PaletteData *paletteData, enum NarcID narcID, u32 narcMemberIdx, u32 heapID, enum PaletteBufferID bufferID, u32 size, u16 start, int r, int g, int b)
{
NNSG2dPaletteData *palette;
void *ptr = Graphics_GetPlttData(narcID, narcMemberIdx, &palette, heapID);

View File

@ -7,26 +7,26 @@
#include "narc.h"
static u32 sPokedexDataNarcIndex = NARC_INDEX_APPLICATION__ZUKANLIST__ZKN_DATA__ZUKAN_DATA;
static enum NarcID sPokedexDataNarcID = NARC_INDEX_APPLICATION__ZUKANLIST__ZKN_DATA__ZUKAN_DATA;
static u32 sWeightMessageBankIndex = TEXT_BANK_SPECIES_WEIGHT;
static u32 sHeightMessageBankIndex = TEXT_BANK_SPECIES_HEIGHT;
void Pokedex_SetupGiratina(u32 formNun)
{
if (formNun == 0) {
sPokedexDataNarcIndex = NARC_INDEX_APPLICATION__ZUKANLIST__ZKN_DATA__ZUKAN_DATA_GIRA;
sPokedexDataNarcID = NARC_INDEX_APPLICATION__ZUKANLIST__ZKN_DATA__ZUKAN_DATA_GIRA;
sWeightMessageBankIndex = TEXT_BANK_SPECIES_WEIGHT_GIRA;
sHeightMessageBankIndex = TEXT_BANK_SPECIES_HEIGHT_GIRA;
} else {
sPokedexDataNarcIndex = NARC_INDEX_APPLICATION__ZUKANLIST__ZKN_DATA__ZUKAN_DATA;
sPokedexDataNarcID = NARC_INDEX_APPLICATION__ZUKANLIST__ZKN_DATA__ZUKAN_DATA;
sWeightMessageBankIndex = TEXT_BANK_SPECIES_WEIGHT;
sHeightMessageBankIndex = TEXT_BANK_SPECIES_HEIGHT;
}
}
u32 Pokedex_Data_NARC_Index(void)
enum NarcID Pokedex_Data_NARC_Index(void)
{
return sPokedexDataNarcIndex;
return sPokedexDataNarcID;
}
u32 Weight_Message_Bank_Index(void)

View File

@ -46,8 +46,8 @@ void Pokedex_HeightWeightData_Load(HeightWeightData *HWData, int trainerIsGirl,
GF_ASSERT(HWData->height == NULL);
GF_ASSERT(HWData->weight == NULL);
u32 pokedex_data_narc_index = Pokedex_Data_NARC_Index();
NARC *pokedexDataNARC = NARC_ctor(pokedex_data_narc_index, heapID);
enum NarcID pokedexDataNarcID = Pokedex_Data_NARC_Index();
NARC *pokedexDataNARC = NARC_ctor(pokedexDataNarcID, heapID);
HWData->height = Pokedex_Height_Array(pokedexDataNARC, heapID);
HWData->weight = Pokedex_Weight_Array(pokedexDataNARC, heapID);

View File

@ -2547,91 +2547,91 @@ void BuildPokemonSpriteTemplate(PokemonSpriteTemplate *spriteTemplate, u16 speci
switch (species) {
case SPECIES_BURMY:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 72 + (face / 2) + form * 2;
spriteTemplate->palette = 166 + shiny + form * 2;
break;
case SPECIES_WORMADAM:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 78 + (face / 2) + form * 2;
spriteTemplate->palette = 172 + shiny + form * 2;
break;
case SPECIES_SHELLOS:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 84 + face + form;
spriteTemplate->palette = 178 + shiny + form * 2;
break;
case SPECIES_GASTRODON:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 88 + face + form;
spriteTemplate->palette = 182 + shiny + form * 2;
break;
case SPECIES_CHERRIM:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 92 + face + form;
spriteTemplate->palette = 186 + (shiny * 2) + form;
break;
case SPECIES_ARCEUS:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 96 + (face / 2) + form * 2;
spriteTemplate->palette = 190 + shiny + form * 2;
break;
case SPECIES_CASTFORM:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 64 + (face * 2) + form;
spriteTemplate->palette = 158 + (shiny * 4) + form;
break;
case SPECIES_DEOXYS:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 0 + (face / 2) + form * 2;
spriteTemplate->palette = 154 + shiny;
break;
case SPECIES_UNOWN:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 8 + (face / 2) + form * 2;
spriteTemplate->palette = 156 + shiny;
break;
case SPECIES_EGG:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 132 + form;
spriteTemplate->palette = 226 + form;
break;
case SPECIES_BAD_EGG:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 132;
spriteTemplate->palette = 226;
break;
case SPECIES_SHAYMIN:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 134 + (face / 2) + form * 2;
spriteTemplate->palette = 228 + shiny + form * 2;
break;
case SPECIES_ROTOM:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 138 + (face / 2) + form * 2;
spriteTemplate->palette = 232 + shiny + form * 2;
break;
case SPECIES_GIRATINA:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 150 + (face / 2) + form * 2;
spriteTemplate->palette = 244 + shiny + form * 2;
break;
default:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_POKEGRA;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_POKEGRA;
spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); // ternary must remain to match
spriteTemplate->palette = species * 6 + 4 + shiny;
@ -2746,78 +2746,78 @@ static void BuildPokemonSpriteTemplateDP(PokemonSpriteTemplate *spriteTemplate,
switch (species) {
case SPECIES_BURMY:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 72 + (face / 2) + form * 2;
spriteTemplate->palette = 146 + shiny + form * 2;
break;
case SPECIES_WORMADAM:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 78 + (face / 2) + form * 2;
spriteTemplate->palette = 152 + shiny + form * 2;
break;
case SPECIES_SHELLOS:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 84 + face + form;
spriteTemplate->palette = 158 + shiny + form * 2;
break;
case SPECIES_GASTRODON:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 88 + face + form;
spriteTemplate->palette = 162 + shiny + form * 2;
break;
case SPECIES_CHERRIM:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 92 + face + form;
spriteTemplate->palette = 166 + (shiny * 2) + form;
break;
case SPECIES_ARCEUS:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 96 + (face / 2) + form * 2;
spriteTemplate->palette = 170 + shiny + form * 2;
break;
case SPECIES_CASTFORM:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 64 + (face * 2) + form;
spriteTemplate->palette = 138 + (shiny * 4) + form;
break;
case SPECIES_DEOXYS:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 0 + (face / 2) + form * 2;
spriteTemplate->palette = 134 + shiny;
break;
case SPECIES_UNOWN:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 8 + (face / 2) + form * 2;
spriteTemplate->palette = 136 + shiny;
break;
case SPECIES_EGG:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 132 + form;
spriteTemplate->palette = 206 + form;
break;
case SPECIES_BAD_EGG:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE;
spriteTemplate->character = 132;
spriteTemplate->palette = 206;
break;
case SPECIES_SHAYMIN:
if (form > 0) {
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 134 + (face / 2) + form * 2;
spriteTemplate->palette = 230 + shiny;
} else {
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA;
spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0);
spriteTemplate->palette = species * 6 + 4 + shiny;
}
@ -2825,11 +2825,11 @@ static void BuildPokemonSpriteTemplateDP(PokemonSpriteTemplate *spriteTemplate,
case SPECIES_ROTOM:
if (form > 0) {
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 138 + (face / 2) + form * 2;
spriteTemplate->palette = 232 + shiny + form * 2;
} else {
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA;
spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0);
spriteTemplate->palette = species * 6 + 4 + shiny;
}
@ -2837,18 +2837,18 @@ static void BuildPokemonSpriteTemplateDP(PokemonSpriteTemplate *spriteTemplate,
case SPECIES_GIRATINA:
if (form > 0) {
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE;
spriteTemplate->character = 150 + (face / 2) + form * 2;
spriteTemplate->palette = 244 + shiny + form * 2;
} else {
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA;
spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0);
spriteTemplate->palette = species * 6 + 4 + shiny;
}
break;
default:
spriteTemplate->archive = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA;
spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA;
spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0);
spriteTemplate->palette = species * 6 + 4 + shiny;
@ -2900,87 +2900,87 @@ u8 LoadPokemonSpriteYOffset(u16 species, u8 gender, u8 face, u8 form, u32 person
{
form = Pokemon_SanitizeFormId(species, form);
int narcIndex;
enum NarcID narcID;
int memberIndex;
switch (species) {
case SPECIES_BURMY:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 72 + (face / 2) + form * 2;
break;
case SPECIES_WORMADAM:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 78 + (face / 2) + form * 2;
break;
case SPECIES_SHELLOS:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 84 + face + form;
break;
case SPECIES_GASTRODON:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 88 + face + form;
break;
case SPECIES_CHERRIM:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 92 + face + form;
break;
case SPECIES_ARCEUS:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 96 + (face / 2) + form * 2;
break;
case SPECIES_CASTFORM:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 64 + face * 2 + form;
break;
case SPECIES_DEOXYS:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 0 + (face / 2) + form * 2;
break;
case SPECIES_UNOWN:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 8 + (face / 2) + form * 2;
break;
case SPECIES_EGG:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 132 + form;
break;
case SPECIES_BAD_EGG:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 132;
break;
case SPECIES_SHAYMIN:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 136 + (face / 2) + form * 2;
break;
case SPECIES_ROTOM:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 140 + (face / 2) + form * 2;
break;
case SPECIES_GIRATINA:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 152 + (face / 2) + form * 2;
break;
default:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT;
memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0);
break;
}
u8 result;
NARC_ReadWholeMemberByIndexPair(&result, narcIndex, memberIndex);
NARC_ReadWholeMemberByIndexPair(&result, narcID, memberIndex);
return result;
}
@ -2989,108 +2989,108 @@ static u8 LoadPokemonDPSpriteHeight(u16 species, u8 gender, u8 face, u8 form, u3
// TODO enum values?
form = Pokemon_SanitizeFormId(species, form);
int narcIndex;
enum NarcID narcID;
int memberIndex;
switch (species) {
case SPECIES_BURMY:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 72 + (face / 2) + form * 2;
break;
case SPECIES_WORMADAM:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 78 + (face / 2) + form * 2;
break;
case SPECIES_SHELLOS:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 84 + face + form;
break;
case SPECIES_GASTRODON:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 88 + face + form;
break;
case SPECIES_CHERRIM:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 92 + face + form;
break;
case SPECIES_ARCEUS:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 96 + (face / 2) + form * 2;
break;
case SPECIES_CASTFORM:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 64 + face * 2 + form;
break;
case SPECIES_DEOXYS:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 0 + (face / 2) + form * 2;
break;
case SPECIES_UNOWN:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 8 + (face / 2) + form * 2;
break;
case SPECIES_EGG:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 132 + form;
break;
case SPECIES_BAD_EGG:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O;
memberIndex = 132;
break;
case SPECIES_SHAYMIN:
if (form > 0) {
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 136 + (face / 2) + form * 2;
} else {
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT;
memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0);
}
break;
case SPECIES_ROTOM:
if (form > 0) {
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 140 + (face / 2) + form * 2;
} else {
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT;
memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0);
}
break;
case SPECIES_GIRATINA:
if (form > 0) {
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O;
memberIndex = 152 + (face / 2) + form * 2;
} else {
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT;
memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0);
}
break;
default:
narcIndex = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT;
narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT;
memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0);
break;
}
u8 result;
NARC_ReadWholeMemberByIndexPair(&result, narcIndex, memberIndex);
NARC_ReadWholeMemberByIndexPair(&result, narcID, memberIndex);
return result;
}
void sub_0207697C(PokemonSpriteTemplate *param0, u16 param1)
{
param0->archive = 60;
param0->narcID = 60;
param0->character = param1 * 2;
param0->palette = param1 * 2 + 1;
param0->spindaSpots = 0;

View File

@ -1328,7 +1328,7 @@ static void BufferPokemonSpriteCharData(PokemonSpriteManager *monSpriteMan)
monSpriteMan->sprites[i].needReloadChar = FALSE;
needLoadChar = TRUE;
ncgrFile = NARC_AllocAndReadWholeMemberByIndexPair(monSpriteMan->sprites[i].template.archive, monSpriteMan->sprites[i].template.character, monSpriteMan->heapID);
ncgrFile = NARC_AllocAndReadWholeMemberByIndexPair(monSpriteMan->sprites[i].template.narcID, monSpriteMan->sprites[i].template.character, monSpriteMan->heapID);
NNS_G2dGetUnpackedCharacterData(ncgrFile, &charData);
@ -1338,7 +1338,7 @@ static void BufferPokemonSpriteCharData(PokemonSpriteManager *monSpriteMan)
rawCharData = charData->pRawData;
PokemonSprite_Decrypt(rawCharData, monSpriteMan->sprites[i].template.archive);
PokemonSprite_Decrypt(rawCharData, monSpriteMan->sprites[i].template.narcID);
TryDrawSpindaSpots(&monSpriteMan->sprites[i], rawCharData);
if (i == 3) {
@ -1441,7 +1441,7 @@ static void BufferPokemonSpritePlttData(PokemonSpriteManager *monSpriteMan)
monSpriteMan->sprites[i].needReloadPltt = FALSE;
needReloadPltt = TRUE;
nclrFile = NARC_AllocAndReadWholeMemberByIndexPair(monSpriteMan->sprites[i].template.archive, monSpriteMan->sprites[i].template.palette, monSpriteMan->heapID);
nclrFile = NARC_AllocAndReadWholeMemberByIndexPair(monSpriteMan->sprites[i].template.narcID, monSpriteMan->sprites[i].template.palette, monSpriteMan->heapID);
NNS_G2dGetUnpackedPaletteData(nclrFile, &plttData);
@ -1609,7 +1609,7 @@ void PokemonSprite_DecryptDP(u8 *rawCharData)
}
}
void PokemonSprite_Decrypt(u8 *rawCharData, int narcID)
void PokemonSprite_Decrypt(u8 *rawCharData, enum NarcID narcID)
{
if (narcID == NARC_INDEX_POKETOOL__POKEGRA__POKEGRA || narcID == NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE) {
PokemonSprite_DecryptDP(rawCharData);

View File

@ -889,11 +889,11 @@ static void DrawPokemonPreviewSprite(UnkStruct_ov5_021D30A8 *param0, PokemonSpri
// frame 0
UnkStruct_02013610 v6 = { 0, 0, 10, 10 };
sub_020135F0(spriteTemplate->archive, spriteTemplate->character, param0->heapID, &v6, buf);
sub_020135F0(spriteTemplate->narcID, spriteTemplate->character, param0->heapID, &v6, buf);
// frame 1
UnkStruct_02013610 v7 = { 10, 0, 10, 10 };
sub_020135F0(spriteTemplate->archive, spriteTemplate->character, param0->heapID, &v7, buf + POKEMON_SPRITE_FRAME_SIZE_BYTES);
sub_020135F0(spriteTemplate->narcID, spriteTemplate->character, param0->heapID, &v7, buf + POKEMON_SPRITE_FRAME_SIZE_BYTES);
charResource = SpriteResourceCollection_Find(param0->unk_194[SPRITE_RESOURCE_CHAR], POKEMON_PREVIEW_RESOURCE_ID);
imageProxy = SpriteTransfer_GetImageProxy(charResource);
@ -904,7 +904,7 @@ static void DrawPokemonPreviewSprite(UnkStruct_ov5_021D30A8 *param0, PokemonSpri
Heap_FreeToHeap(buf);
buf = sub_02013660(spriteTemplate->archive, spriteTemplate->palette, param0->heapID);
buf = sub_02013660(spriteTemplate->narcID, spriteTemplate->palette, param0->heapID);
plttResource = SpriteResourceCollection_Find(param0->unk_194[SPRITE_RESOURCE_PLTT], POKEMON_PREVIEW_RESOURCE_ID);
paletteProxy = SpriteTransfer_GetPaletteProxy(plttResource, imageProxy);
offset = NNS_G2dGetImagePaletteLocation(paletteProxy, NNS_G2D_VRAM_TYPE_2DMAIN);

View File

@ -52,7 +52,7 @@ typedef struct SpriteResourceTableBinary {
static SpriteResource *SpriteResourceCollection_AllocResource(SpriteResourceCollection *spriteResources);
static void SpriteResourceCollection_InitResFromFile(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, const char *filename, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum SpriteResourceType type, enum HeapId heapID);
static void SpriteResourceCollection_InitRes(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, int narcIdx, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum SpriteResourceType type, enum HeapId heapID, BOOL allocAtEnd);
static void SpriteResourceCollection_InitRes(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, enum NarcID narcID, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum SpriteResourceType type, enum HeapId heapID, BOOL allocAtEnd);
static void SpriteResourceCollection_InitResFromNARC(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, NARC *narc, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum SpriteResourceType type, enum HeapId heapID, BOOL allocAtEnd);
static void *SpriteUtil_ReadNARCMember(NARC *narc, u32 memberIdx, BOOL compressed, u32 heapID, BOOL allocAtEnd);
static void SpriteResource_UnpackData(SpriteResource *spriteRes, enum SpriteResourceType type, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID);
@ -127,7 +127,7 @@ SpriteResource *SpriteResourceCollection_AddFromTable(SpriteResourceCollection *
SpriteResourceCollection_InitRes(
spriteResources,
spriteRes,
narcEntry->narcIndex,
narcEntry->narcID,
narcEntry->memberIndex,
narcEntry->compressed,
narcEntry->id,
@ -142,7 +142,7 @@ SpriteResource *SpriteResourceCollection_AddFromTable(SpriteResourceCollection *
return spriteRes;
}
SpriteResource *SpriteResourceCollection_AddTiles(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID)
SpriteResource *SpriteResourceCollection_AddTiles(SpriteResourceCollection *spriteResources, enum NarcID narcID, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID)
{
GF_ASSERT(spriteResources);
GF_ASSERT(spriteResources->type == SPRITE_RESOURCE_CHAR);
@ -153,7 +153,7 @@ SpriteResource *SpriteResourceCollection_AddTiles(SpriteResourceCollection *spri
SpriteResourceCollection_InitRes(
spriteResources,
spriteRes,
narcIdx,
narcID,
memberIdx,
compressed,
id,
@ -167,7 +167,7 @@ SpriteResource *SpriteResourceCollection_AddTiles(SpriteResourceCollection *spri
return spriteRes;
}
SpriteResource *SpriteResourceCollection_AddPalette(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID)
SpriteResource *SpriteResourceCollection_AddPalette(SpriteResourceCollection *spriteResources, enum NarcID narcID, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID)
{
GF_ASSERT(spriteResources);
GF_ASSERT(spriteResources->type == SPRITE_RESOURCE_PLTT);
@ -178,7 +178,7 @@ SpriteResource *SpriteResourceCollection_AddPalette(SpriteResourceCollection *sp
SpriteResourceCollection_InitRes(
spriteResources,
spriteRes,
narcIdx,
narcID,
memberIdx,
compressed,
id,
@ -192,20 +192,20 @@ SpriteResource *SpriteResourceCollection_AddPalette(SpriteResourceCollection *sp
return spriteRes;
}
SpriteResource *SpriteResourceCollection_Add(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, enum SpriteResourceType type, enum HeapId heapID)
SpriteResource *SpriteResourceCollection_Add(SpriteResourceCollection *spriteResources, enum NarcID narcID, int memberIdx, BOOL compressed, int id, enum SpriteResourceType type, enum HeapId heapID)
{
GF_ASSERT(spriteResources);
SpriteResource *spriteRes = SpriteResourceCollection_AllocResource(spriteResources);
GF_ASSERT(spriteRes);
SpriteResourceCollection_InitRes(spriteResources, spriteRes, narcIdx, memberIdx, compressed, id, 0, 0, type, heapID, FALSE);
SpriteResourceCollection_InitRes(spriteResources, spriteRes, narcID, memberIdx, compressed, id, 0, 0, type, heapID, FALSE);
spriteResources->count++;
return spriteRes;
}
void SpriteResourceCollection_ModifyTiles(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, int narcIdx, int memberIdx, BOOL compressed, enum HeapId heapID)
void SpriteResourceCollection_ModifyTiles(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, enum NarcID narcID, int memberIdx, BOOL compressed, enum HeapId heapID)
{
GF_ASSERT(spriteResources);
GF_ASSERT(spriteResources->type == SPRITE_RESOURCE_CHAR);
@ -216,10 +216,10 @@ void SpriteResourceCollection_ModifyTiles(SpriteResourceCollection *spriteResour
NNS_G2D_VRAM_TYPE vramType = SpriteResource_GetVRAMType(spriteRes);
SpriteResourceCollection_Remove(spriteResources, spriteRes);
SpriteResourceCollection_InitRes(spriteResources, spriteRes, narcIdx, memberIdx, compressed, id, vramType, 0, SPRITE_RESOURCE_CHAR, heapID, FALSE);
SpriteResourceCollection_InitRes(spriteResources, spriteRes, narcID, memberIdx, compressed, id, vramType, 0, SPRITE_RESOURCE_CHAR, heapID, FALSE);
}
void SpriteResourceCollection_ModifyPalette(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, int narcIdx, int memberIdx, BOOL compressed, enum HeapId heapID)
void SpriteResourceCollection_ModifyPalette(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, enum NarcID narcID, int memberIdx, BOOL compressed, enum HeapId heapID)
{
GF_ASSERT(spriteResources);
@ -235,7 +235,7 @@ void SpriteResourceCollection_ModifyPalette(SpriteResourceCollection *spriteReso
SpriteResourceCollection_InitRes(
spriteResources,
spriteRes,
narcIdx,
narcID,
memberIdx,
compressed,
id,
@ -822,9 +822,9 @@ static void SpriteResourceCollection_InitResFromFile(SpriteResourceCollection *s
SpriteResource_UnpackData(spriteRes, type, vramType, paletteIdx, heapID);
}
static void SpriteResourceCollection_InitRes(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, int narcIdx, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum SpriteResourceType type, enum HeapId heapID, BOOL allocAtEnd)
static void SpriteResourceCollection_InitRes(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, enum NarcID narcID, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum SpriteResourceType type, enum HeapId heapID, BOOL allocAtEnd)
{
void *data = LoadMemberFromNARC(narcIdx, memberIdx, compressed, heapID, allocAtEnd);
void *data = LoadMemberFromNARC(narcID, memberIdx, compressed, heapID, allocAtEnd);
spriteRes->rawResource = ResourceCollection_Add(spriteResources->collection, data, id);
spriteRes->type = type;
@ -845,7 +845,7 @@ static void SpriteResourceCollection_InitResFromNARC(SpriteResourceCollection *s
static int SpriteResourceTableEntryNARC_GetEntryCount(const SpriteResourceTableEntryNARC *entries)
{
int i = 0;
while (entries[i].narcIndex != NARC_INDEX_NONE) {
while (entries[i].narcID != NARC_INDEX_NONE) {
i++;
}

View File

@ -21,7 +21,7 @@
#include "system.h"
static Sprite *CreateSpriteFromResourceHeader(SpriteSystem *spriteSys, SpriteManager *spriteMan, int resourceHeaderID, s16 x, s16 y, s16 z, u16 animIdx, int priority, int plttIdx, enum NNS_G2D_VRAM_TYPE vramType, int param10, int param11, int param12, int param13);
static BOOL LoadResObjInternal(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, int compressed, int type, int resourceID);
static BOOL LoadResObjInternal(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, int compressed, int type, int resourceID);
static BOOL LoadResObjFromNarcInternal(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, int memberIdx, BOOL compressed, int type, int resourceID);
static BOOL RegisterLoadedResource(SpriteResourceList *resourceList, SpriteResource *resource);
static BOOL UnregisterLoadedResource(SpriteResourceCollection *ownedResources, SpriteResourceList *unownedResources, int resourceID);
@ -337,7 +337,7 @@ BOOL SpriteSystem_InitManagerWithCapacities(SpriteSystem *spriteSys, SpriteManag
return TRUE;
}
BOOL SpriteSystem_LoadCharResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
BOOL SpriteSystem_LoadCharResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
{
if (SpriteResourceCollection_IsIDUnused(spriteMan->ownedResources[SPRITE_RESOURCE_CHAR], resourceID) == FALSE) {
return FALSE;
@ -383,7 +383,7 @@ BOOL SpriteSystem_LoadCharResObjFromOpenNarc(SpriteSystem *spriteSys, SpriteMana
return (resource == NULL) ? FALSE : TRUE;
}
s8 SpriteSystem_LoadPlttResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
s8 SpriteSystem_LoadPlttResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
{
if (SpriteResourceCollection_IsIDUnused(spriteMan->ownedResources[SPRITE_RESOURCE_PLTT], resourceID) == FALSE) {
return -1;
@ -434,7 +434,7 @@ s8 SpriteSystem_LoadPlttResObjFromOpenNarc(SpriteSystem *spriteSys, SpriteManage
return -1;
}
u8 SpriteSystem_LoadPaletteBuffer(PaletteData *paletteData, enum PaletteBufferID bufferID, SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
u8 SpriteSystem_LoadPaletteBuffer(PaletteData *paletteData, enum PaletteBufferID bufferID, SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int paletteIdx, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
{
int paletteOffset = SpriteSystem_LoadPlttResObj(spriteSys, spriteMan, narcID, memberIdx, compressed, paletteIdx, vramType, resourceID);
if (paletteOffset != -1) {
@ -454,7 +454,7 @@ u8 SpriteSystem_LoadPaletteBufferFromOpenNarc(PaletteData *paletteData, enum Pal
return paletteOffset;
}
BOOL SpriteSystem_LoadCellResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, int compressed, int resourceID)
BOOL SpriteSystem_LoadCellResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, int compressed, int resourceID)
{
return LoadResObjInternal(spriteSys, spriteMan, narcID, memberIdx, compressed, SPRITE_RESOURCE_CELL, resourceID);
}
@ -464,7 +464,7 @@ BOOL SpriteSystem_LoadCellResObjFromOpenNarc(SpriteSystem *spriteSys, SpriteMana
return LoadResObjFromNarcInternal(spriteSys, spriteMan, narc, memberIdx, compressed, SPRITE_RESOURCE_CELL, resourceID);
}
BOOL SpriteSystem_LoadAnimResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, int compressed, int resourceID)
BOOL SpriteSystem_LoadAnimResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, int compressed, int resourceID)
{
return LoadResObjInternal(spriteSys, spriteMan, narcID, memberIdx, compressed, SPRITE_RESOURCE_ANIM, resourceID);
}
@ -624,7 +624,7 @@ void Sprite_DeleteAndFreeResources(ManagedSprite *managedSprite)
Heap_FreeToHeap(managedSprite);
}
static BOOL LoadResObjInternal(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, int compressed, int type, int resourceID)
static BOOL LoadResObjInternal(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, int compressed, int type, int resourceID)
{
if (SpriteResourceCollection_IsIDUnused(spriteMan->ownedResources[type], resourceID) == FALSE) {
return FALSE;
@ -1138,7 +1138,7 @@ u32 ManagedSprite_GetUserAttrForCurrentAnimFrame(ManagedSprite *managedSprite)
return Sprite_GetUserAttrForCurrentAnimFrame(managedSprite->sprite);
}
BOOL SpriteSystem_LoadCharResObjWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
BOOL SpriteSystem_LoadCharResObjWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
{
if (SpriteResourceCollection_IsIDUnused(spriteMan->ownedResources[SPRITE_RESOURCE_CHAR], resourceID) == FALSE) {
return FALSE;
@ -1161,7 +1161,7 @@ BOOL SpriteSystem_LoadCharResObjWithHardwareMappingType(SpriteSystem *spriteSys,
return (resource == NULL) ? FALSE : TRUE;
}
BOOL SpriteSystem_LoadCharResObjAtEndWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
BOOL SpriteSystem_LoadCharResObjAtEndWithHardwareMappingType(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, enum NNS_G2D_VRAM_TYPE vramType, int resourceID)
{
if (SpriteResourceCollection_IsIDUnused(spriteMan->ownedResources[SPRITE_RESOURCE_CHAR], resourceID) == FALSE) {
return FALSE;
@ -1207,7 +1207,7 @@ BOOL SpriteSystem_LoadCharResObjFromOpenNarcWithHardwareMappingType(SpriteSystem
return (resource == NULL) ? FALSE : TRUE;
}
void SpriteSystem_ReplaceCharResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int resourceID)
void SpriteSystem_ReplaceCharResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int resourceID)
{
SpriteResource *resource = SpriteResourceCollection_Find(spriteMan->ownedResources[SPRITE_RESOURCE_CHAR], resourceID);
SpriteResourceCollection_ModifyTiles(spriteMan->ownedResources[SPRITE_RESOURCE_CHAR],
@ -1219,7 +1219,7 @@ void SpriteSystem_ReplaceCharResObj(SpriteSystem *spriteSys, SpriteManager *spri
SpriteTransfer_RetransferCharData(resource);
}
void SpriteSystem_ReplacePlttResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, BOOL compressed, int resourceID)
void SpriteSystem_ReplacePlttResObj(SpriteSystem *spriteSys, SpriteManager *spriteMan, enum NarcID narcID, int memberIdx, BOOL compressed, int resourceID)
{
SpriteResource *resource = SpriteResourceCollection_Find(spriteMan->ownedResources[SPRITE_RESOURCE_PLTT], resourceID);
SpriteResourceCollection_ModifyPalette(spriteMan->ownedResources[SPRITE_RESOURCE_PLTT],

View File

@ -3,6 +3,8 @@
#include <nitro.h>
#include <string.h>
#include "constants/narc.h"
#include "palette.h"
#include "sprite_system.h"
@ -97,9 +99,9 @@ u8 sub_0207C92C(int param0)
return Unk_020F0B4C[param0];
}
u32 sub_0207C944(void)
enum NarcID sub_0207C944(void)
{
return 27;
return NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ;
}
void sub_0207C948(SpriteSystem *param0, SpriteManager *param1, NNS_G2D_VRAM_TYPE param2, int param3, u32 param4)
@ -168,9 +170,9 @@ u8 sub_0207CAA8(int param0)
return Unk_020F0AE0[param0];
}
u32 sub_0207CAC0(void)
enum NarcID sub_0207CAC0(void)
{
return 27;
return NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ;
}
void sub_0207CAC4(SpriteSystem *param0, SpriteManager *param1, NNS_G2D_VRAM_TYPE param2, int param3, u32 param4)

View File

@ -671,9 +671,9 @@ PokemonSprite *sub_02095484(PokemonSpriteManager *param0, int param1, Pokemon *p
if (param4 != NULL) {
GF_ASSERT(param4->unk_00 != NULL);
sub_02013610(v0.archive, v0.character, heapID, param4->unk_00);
sub_02013610(v0.narcID, v0.character, heapID, param4->unk_00);
param4->unk_08 = v0.palette;
param4->unk_04 = v0.archive;
param4->unk_04 = v0.narcID;
}
v1 = PokemonSpriteManager_CreateSprite(param0, &v0, param6, param7 + v2, param8, param1, NULL, NULL);