mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-26 08:41:27 -05:00
Document sprite_transfer.c
This commit is contained in:
parent
fd2c81fcc7
commit
51d7e9a5dd
|
|
@ -5,27 +5,27 @@
|
|||
|
||||
#include "sprite_resource.h"
|
||||
|
||||
BOOL SpriteTransfer_RequestChar(const SpriteResource *param0);
|
||||
void SpriteTransfer_RequestCharList(const SpriteResourceList *param0);
|
||||
BOOL SpriteTransfer_RequestCharWithHardwareMappingType(const SpriteResource *param0);
|
||||
BOOL SpriteTransfer_RequestCharAtEnd(const SpriteResource *param0);
|
||||
void SpriteTransfer_RequestCharListAtEnd(const SpriteResourceList *param0);
|
||||
BOOL SpriteTransfer_RequestCharAtEndWithHardwareMappingType(const SpriteResource *param0);
|
||||
void SpriteTransfer_ReplaceCharData(const SpriteResource *param0, const SpriteResource *param1);
|
||||
void SpriteTransfer_RetransferCharData(const SpriteResource *param0);
|
||||
void SpriteTransfer_ResetCharTransfer(SpriteResource *param0);
|
||||
void SpriteTransfer_ResetCharTransferList(SpriteResourceList *param0);
|
||||
NNSG2dImageProxy *SpriteTransfer_GetImageProxy(const SpriteResource *param0);
|
||||
NNSG2dImageProxy *SpriteTransfer_GetCellTransferProxy(const SpriteResource *param0, const SpriteResource *param1);
|
||||
void SpriteTransfer_DeleteCharTransfer(const NNSG2dImageProxy *param0);
|
||||
BOOL SpriteTransfer_RequestPlttWholeRange(const SpriteResource *param0);
|
||||
void SpriteTransfer_RequestPlttWholeRangeList(const SpriteResourceList *param0);
|
||||
BOOL SpriteTransfer_RequestPlttFreeSpace(const SpriteResource *param0);
|
||||
void SpriteTransfer_RequestPlttFreeSpaceList(const SpriteResourceList *param0);
|
||||
void SpriteTransfer_ReplacePlttData(const SpriteResource *param0);
|
||||
void SpriteTransfer_ResetPlttTransfer(SpriteResource *param0);
|
||||
void SpriteTransfer_ResetPlttTransferList(SpriteResourceList *param0);
|
||||
const NNSG2dImagePaletteProxy *SpriteTransfer_GetPaletteProxy(const SpriteResource *param0, NNSG2dImageProxy *param1);
|
||||
u32 SpriteTransfer_GetPlttOffset(const SpriteResource *param0, NNS_G2D_VRAM_TYPE param1);
|
||||
BOOL SpriteTransfer_RequestChar(const SpriteResource *resource);
|
||||
void SpriteTransfer_RequestCharList(const SpriteResourceList *resourceList);
|
||||
BOOL SpriteTransfer_RequestCharWithHardwareMappingType(const SpriteResource *resource);
|
||||
BOOL SpriteTransfer_RequestCharAtEnd(const SpriteResource *resource);
|
||||
void SpriteTransfer_RequestCharListAtEnd(const SpriteResourceList *resourceList);
|
||||
BOOL SpriteTransfer_RequestCharAtEndWithHardwareMappingType(const SpriteResource *resource);
|
||||
void SpriteTransfer_ReplaceCharData(const SpriteResource *dst, const SpriteResource *src);
|
||||
void SpriteTransfer_RetransferCharData(const SpriteResource *resource);
|
||||
void SpriteTransfer_ResetCharTransfer(SpriteResource *resource);
|
||||
void SpriteTransfer_ResetCharTransferList(SpriteResourceList *resourceList);
|
||||
NNSG2dImageProxy *SpriteTransfer_GetImageProxy(const SpriteResource *resource);
|
||||
NNSG2dImageProxy *SpriteTransfer_GetCellTransferProxy(const SpriteResource *charResource, const SpriteResource *cellResource);
|
||||
void SpriteTransfer_DeleteCharTransfer(const NNSG2dImageProxy *imageProxy);
|
||||
BOOL SpriteTransfer_RequestPlttWholeRange(const SpriteResource *resource);
|
||||
void SpriteTransfer_RequestPlttWholeRangeList(const SpriteResourceList *resourceList);
|
||||
BOOL SpriteTransfer_RequestPlttFreeSpace(const SpriteResource *resource);
|
||||
void SpriteTransfer_RequestPlttFreeSpaceList(const SpriteResourceList *resourceList);
|
||||
void SpriteTransfer_ReplacePlttData(const SpriteResource *resource);
|
||||
void SpriteTransfer_ResetPlttTransfer(SpriteResource *resource);
|
||||
void SpriteTransfer_ResetPlttTransferList(SpriteResourceList *resourceList);
|
||||
const NNSG2dImagePaletteProxy *SpriteTransfer_GetPaletteProxy(const SpriteResource *resource, NNSG2dImageProxy *imageProxy);
|
||||
u32 SpriteTransfer_GetPlttOffset(const SpriteResource *resource, NNS_G2D_VRAM_TYPE vramType);
|
||||
|
||||
#endif // POKEPLATINUM_SPRITE_TRANSFER_H
|
||||
|
|
|
|||
|
|
@ -3,318 +3,234 @@
|
|||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "nnsys/g2d/fmt/g2d_Cell_data.h"
|
||||
#include "nnsys/g2d/g2d_Image.h"
|
||||
|
||||
#include "char_transfer.h"
|
||||
#include "pltt_transfer.h"
|
||||
#include "sprite_resource.h"
|
||||
|
||||
BOOL SpriteTransfer_RequestChar(const SpriteResource *param0)
|
||||
BOOL SpriteTransfer_RequestChar(const SpriteResource *resource)
|
||||
{
|
||||
CharTransferTaskTemplate v0;
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_TILES);
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 0);
|
||||
|
||||
v0.data = SpriteResource_GetTileData(param0);
|
||||
v0.vramType = SpriteResource_GetVRAMType(param0);
|
||||
v0.resourceID = SpriteResource_GetID(param0);
|
||||
v0.atEnd = FALSE;
|
||||
|
||||
return CharTransfer_Request(&v0);
|
||||
CharTransferTaskTemplate template;
|
||||
template.data = SpriteResource_GetTileData(resource);
|
||||
template.vramType = SpriteResource_GetVRAMType(resource);
|
||||
template.resourceID = SpriteResource_GetID(resource);
|
||||
template.atEnd = FALSE;
|
||||
return CharTransfer_Request(&template);
|
||||
}
|
||||
|
||||
void SpriteTransfer_RequestCharList(const SpriteResourceList *param0)
|
||||
void SpriteTransfer_RequestCharList(const SpriteResourceList *resourceList)
|
||||
{
|
||||
int v0;
|
||||
BOOL v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->capacity; v0++) {
|
||||
if (param0->resources[v0]) {
|
||||
v1 = SpriteTransfer_RequestChar(param0->resources[v0]);
|
||||
GF_ASSERT(v1);
|
||||
GF_ASSERT(resourceList);
|
||||
for (int i = 0; i < resourceList->capacity; i++) {
|
||||
if (resourceList->resources[i]) {
|
||||
GF_ASSERT(SpriteTransfer_RequestChar(resourceList->resources[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL SpriteTransfer_RequestCharWithHardwareMappingType(const SpriteResource *param0)
|
||||
BOOL SpriteTransfer_RequestCharWithHardwareMappingType(const SpriteResource *resource)
|
||||
{
|
||||
CharTransferTaskTemplate v0;
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_TILES);
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 0);
|
||||
|
||||
v0.data = SpriteResource_GetTileData(param0);
|
||||
v0.vramType = SpriteResource_GetVRAMType(param0);
|
||||
v0.resourceID = SpriteResource_GetID(param0);
|
||||
v0.atEnd = FALSE;
|
||||
|
||||
return CharTransfer_RequestWithHardwareMappingType(&v0);
|
||||
CharTransferTaskTemplate template;
|
||||
template.data = SpriteResource_GetTileData(resource);
|
||||
template.vramType = SpriteResource_GetVRAMType(resource);
|
||||
template.resourceID = SpriteResource_GetID(resource);
|
||||
template.atEnd = FALSE;
|
||||
return CharTransfer_RequestWithHardwareMappingType(&template);
|
||||
}
|
||||
|
||||
BOOL SpriteTransfer_RequestCharAtEnd(const SpriteResource *param0)
|
||||
BOOL SpriteTransfer_RequestCharAtEnd(const SpriteResource *resource)
|
||||
{
|
||||
CharTransferTaskTemplate v0;
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_TILES);
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 0);
|
||||
|
||||
v0.data = SpriteResource_GetTileData(param0);
|
||||
v0.vramType = SpriteResource_GetVRAMType(param0);
|
||||
v0.resourceID = SpriteResource_GetID(param0);
|
||||
v0.atEnd = TRUE;
|
||||
|
||||
return CharTransfer_Request(&v0);
|
||||
CharTransferTaskTemplate template;
|
||||
template.data = SpriteResource_GetTileData(resource);
|
||||
template.vramType = SpriteResource_GetVRAMType(resource);
|
||||
template.resourceID = SpriteResource_GetID(resource);
|
||||
template.atEnd = TRUE;
|
||||
return CharTransfer_Request(&template);
|
||||
}
|
||||
|
||||
void SpriteTransfer_RequestCharListAtEnd(const SpriteResourceList *param0)
|
||||
void SpriteTransfer_RequestCharListAtEnd(const SpriteResourceList *resourceList)
|
||||
{
|
||||
int v0;
|
||||
BOOL v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->capacity; v0++) {
|
||||
if (param0->resources[v0]) {
|
||||
v1 = SpriteTransfer_RequestCharAtEnd(param0->resources[v0]);
|
||||
GF_ASSERT(v1);
|
||||
GF_ASSERT(resourceList);
|
||||
for (int i = 0; i < resourceList->capacity; i++) {
|
||||
if (resourceList->resources[i]) {
|
||||
GF_ASSERT(SpriteTransfer_RequestCharAtEnd(resourceList->resources[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL SpriteTransfer_RequestCharAtEndWithHardwareMappingType(const SpriteResource *param0)
|
||||
BOOL SpriteTransfer_RequestCharAtEndWithHardwareMappingType(const SpriteResource *resource)
|
||||
{
|
||||
CharTransferTaskTemplate v0;
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_TILES);
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 0);
|
||||
|
||||
v0.data = SpriteResource_GetTileData(param0);
|
||||
v0.vramType = SpriteResource_GetVRAMType(param0);
|
||||
v0.resourceID = SpriteResource_GetID(param0);
|
||||
v0.atEnd = TRUE;
|
||||
|
||||
return CharTransfer_RequestWithHardwareMappingType(&v0);
|
||||
CharTransferTaskTemplate template;
|
||||
template.data = SpriteResource_GetTileData(resource);
|
||||
template.vramType = SpriteResource_GetVRAMType(resource);
|
||||
template.resourceID = SpriteResource_GetID(resource);
|
||||
template.atEnd = TRUE;
|
||||
return CharTransfer_RequestWithHardwareMappingType(&template);
|
||||
}
|
||||
|
||||
void SpriteTransfer_ReplaceCharData(const SpriteResource *param0, const SpriteResource *param1)
|
||||
void SpriteTransfer_ReplaceCharData(const SpriteResource *dstResource, const SpriteResource *srcResource)
|
||||
{
|
||||
int v0;
|
||||
NNSG2dCharacterData *v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(param1);
|
||||
|
||||
v0 = SpriteResource_GetID(param0);
|
||||
v1 = SpriteResource_GetTileData(param1);
|
||||
|
||||
CharTransfer_ReplaceCharData(v0, v1);
|
||||
GF_ASSERT(dstResource);
|
||||
GF_ASSERT(srcResource);
|
||||
CharTransfer_ReplaceCharData(SpriteResource_GetID(dstResource), SpriteResource_GetTileData(srcResource));
|
||||
}
|
||||
|
||||
void SpriteTransfer_RetransferCharData(const SpriteResource *param0)
|
||||
void SpriteTransfer_RetransferCharData(const SpriteResource *resource)
|
||||
{
|
||||
int v0;
|
||||
NNSG2dCharacterData *v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
v0 = SpriteResource_GetID(param0);
|
||||
v1 = SpriteResource_GetTileData(param0);
|
||||
|
||||
CharTransfer_ReplaceCharData(v0, v1);
|
||||
GF_ASSERT(resource);
|
||||
CharTransfer_ReplaceCharData(SpriteResource_GetID(resource), SpriteResource_GetTileData(resource));
|
||||
}
|
||||
|
||||
void SpriteTransfer_ResetCharTransfer(SpriteResource *param0)
|
||||
void SpriteTransfer_ResetCharTransfer(SpriteResource *resource)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 0);
|
||||
|
||||
v0 = SpriteResource_GetID(param0);
|
||||
CharTransfer_ResetTask(v0);
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_TILES);
|
||||
CharTransfer_ResetTask(SpriteResource_GetID(resource));
|
||||
}
|
||||
|
||||
void SpriteTransfer_ResetCharTransferList(SpriteResourceList *param0)
|
||||
void SpriteTransfer_ResetCharTransferList(SpriteResourceList *resourceList)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->capacity; v0++) {
|
||||
if (param0->resources[v0]) {
|
||||
SpriteTransfer_ResetCharTransfer(param0->resources[v0]);
|
||||
GF_ASSERT(resourceList);
|
||||
for (int i = 0; i < resourceList->capacity; i++) {
|
||||
if (resourceList->resources[i]) {
|
||||
SpriteTransfer_ResetCharTransfer(resourceList->resources[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NNSG2dImageProxy *SpriteTransfer_GetImageProxy(const SpriteResource *param0)
|
||||
NNSG2dImageProxy *SpriteTransfer_GetImageProxy(const SpriteResource *resource)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 0);
|
||||
|
||||
v0 = SpriteResource_GetID(param0);
|
||||
return CharTransfer_GetImageProxy(v0);
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_TILES);
|
||||
return CharTransfer_GetImageProxy(SpriteResource_GetID(resource));
|
||||
}
|
||||
|
||||
NNSG2dImageProxy *SpriteTransfer_GetCellTransferProxy(const SpriteResource *param0, const SpriteResource *param1)
|
||||
NNSG2dImageProxy *SpriteTransfer_GetCellTransferProxy(const SpriteResource *charResource, const SpriteResource *cellResource)
|
||||
{
|
||||
int v0;
|
||||
NNSG2dCellDataBank *v1;
|
||||
NNSG2dImageProxy *v2;
|
||||
GF_ASSERT(charResource);
|
||||
GF_ASSERT(SpriteResource_GetType(charResource) == SPRITE_RESOURCE_TILES);
|
||||
GF_ASSERT(cellResource);
|
||||
GF_ASSERT(SpriteResource_GetType(cellResource) == SPRITE_RESOURCE_SPRITE);
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 0);
|
||||
GF_ASSERT(param1);
|
||||
GF_ASSERT(SpriteResource_GetType(param1) == 2);
|
||||
int resourceID = SpriteResource_GetID(charResource);
|
||||
NNSG2dCellDataBank *cellData = SpriteResource_GetSpriteData(cellResource);
|
||||
NNSG2dImageProxy *imageProxy = CharTransfer_ResizeTaskRange(resourceID, cellData->pVramTransferData->szByteMax);
|
||||
|
||||
v0 = SpriteResource_GetID(param0);
|
||||
v1 = SpriteResource_GetSpriteData(param1);
|
||||
v2 = CharTransfer_ResizeTaskRange(v0, v1->pVramTransferData->szByteMax);
|
||||
|
||||
if (v2 == NULL) {
|
||||
NNSG2dImageProxy *v3;
|
||||
|
||||
v3 = CharTransfer_GetImageProxy(v0);
|
||||
v2 = CharTransfer_CopyTask(v3);
|
||||
if (imageProxy == NULL) {
|
||||
imageProxy = CharTransfer_CopyTask(CharTransfer_GetImageProxy(resourceID));
|
||||
}
|
||||
|
||||
return v2;
|
||||
return imageProxy;
|
||||
}
|
||||
|
||||
void SpriteTransfer_DeleteCharTransfer(const NNSG2dImageProxy *param0)
|
||||
void SpriteTransfer_DeleteCharTransfer(const NNSG2dImageProxy *imageProxy)
|
||||
{
|
||||
GF_ASSERT(param0);
|
||||
CharTransfer_DeleteTask(param0);
|
||||
GF_ASSERT(imageProxy);
|
||||
CharTransfer_DeleteTask(imageProxy);
|
||||
}
|
||||
|
||||
BOOL SpriteTransfer_RequestPlttWholeRange(const SpriteResource *param0)
|
||||
BOOL SpriteTransfer_RequestPlttWholeRange(const SpriteResource *resource)
|
||||
{
|
||||
PlttTransferTaskTemplate v0;
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_PALETTE);
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 1);
|
||||
|
||||
v0.data = SpriteResource_GetPaletteFade(param0);
|
||||
v0.vramType = SpriteResource_GetVRAMType(param0);
|
||||
v0.resourceID = SpriteResource_GetID(param0);
|
||||
v0.plttIndex = SpriteResource_GetPaletteIndex(param0);
|
||||
|
||||
return PlttTransfer_RequestWholeRange(&v0);
|
||||
PlttTransferTaskTemplate template;
|
||||
template.data = SpriteResource_GetPaletteFade(resource);
|
||||
template.vramType = SpriteResource_GetVRAMType(resource);
|
||||
template.resourceID = SpriteResource_GetID(resource);
|
||||
template.plttIndex = SpriteResource_GetPaletteIndex(resource);
|
||||
return PlttTransfer_RequestWholeRange(&template);
|
||||
}
|
||||
|
||||
void SpriteTransfer_RequestPlttWholeRangeList(const SpriteResourceList *param0)
|
||||
void SpriteTransfer_RequestPlttWholeRangeList(const SpriteResourceList *resourceList)
|
||||
{
|
||||
int v0;
|
||||
BOOL v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->capacity; v0++) {
|
||||
if (param0->resources[v0]) {
|
||||
v1 = SpriteTransfer_RequestPlttWholeRange(param0->resources[v0]);
|
||||
GF_ASSERT(v1);
|
||||
GF_ASSERT(resourceList);
|
||||
for (int i = 0; i < resourceList->capacity; i++) {
|
||||
if (resourceList->resources[i]) {
|
||||
GF_ASSERT(SpriteTransfer_RequestPlttWholeRange(resourceList->resources[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL SpriteTransfer_RequestPlttFreeSpace(const SpriteResource *param0)
|
||||
BOOL SpriteTransfer_RequestPlttFreeSpace(const SpriteResource *resource)
|
||||
{
|
||||
PlttTransferTaskTemplate v0;
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_PALETTE);
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 1);
|
||||
|
||||
v0.data = SpriteResource_GetPaletteFade(param0);
|
||||
v0.vramType = SpriteResource_GetVRAMType(param0);
|
||||
v0.resourceID = SpriteResource_GetID(param0);
|
||||
v0.plttIndex = SpriteResource_GetPaletteIndex(param0);
|
||||
|
||||
return PlttTransfer_RequestFreeSpace(&v0);
|
||||
PlttTransferTaskTemplate template;
|
||||
template.data = SpriteResource_GetPaletteFade(resource);
|
||||
template.vramType = SpriteResource_GetVRAMType(resource);
|
||||
template.resourceID = SpriteResource_GetID(resource);
|
||||
template.plttIndex = SpriteResource_GetPaletteIndex(resource);
|
||||
return PlttTransfer_RequestFreeSpace(&template);
|
||||
}
|
||||
|
||||
void SpriteTransfer_RequestPlttFreeSpaceList(const SpriteResourceList *param0)
|
||||
void SpriteTransfer_RequestPlttFreeSpaceList(const SpriteResourceList *resourceList)
|
||||
{
|
||||
int v0;
|
||||
BOOL v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->capacity; v0++) {
|
||||
if (param0->resources[v0]) {
|
||||
v1 = SpriteTransfer_RequestPlttFreeSpace(param0->resources[v0]);
|
||||
GF_ASSERT(v1);
|
||||
GF_ASSERT(resourceList);
|
||||
for (int i = 0; i < resourceList->capacity; i++) {
|
||||
if (resourceList->resources[i]) {
|
||||
GF_ASSERT(SpriteTransfer_RequestPlttFreeSpace(resourceList->resources[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SpriteTransfer_ReplacePlttData(const SpriteResource *param0)
|
||||
void SpriteTransfer_ReplacePlttData(const SpriteResource *resource)
|
||||
{
|
||||
NNSG2dPaletteData *v0;
|
||||
int v1;
|
||||
int v2;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
v1 = SpriteResource_GetID(param0);
|
||||
v0 = SpriteResource_GetPaletteFade(param0);
|
||||
|
||||
PlttTransfer_ReplacePlttData(v1, v0);
|
||||
GF_ASSERT(resource);
|
||||
PlttTransfer_ReplacePlttData(SpriteResource_GetID(resource), SpriteResource_GetPaletteFade(resource));
|
||||
}
|
||||
|
||||
void SpriteTransfer_ResetPlttTransfer(SpriteResource *param0)
|
||||
void SpriteTransfer_ResetPlttTransfer(SpriteResource *resource)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 1);
|
||||
|
||||
v0 = SpriteResource_GetID(param0);
|
||||
PlttTransfer_ResetTask(v0);
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_PALETTE);
|
||||
PlttTransfer_ResetTask(SpriteResource_GetID(resource));
|
||||
}
|
||||
|
||||
void SpriteTransfer_ResetPlttTransferList(SpriteResourceList *param0)
|
||||
void SpriteTransfer_ResetPlttTransferList(SpriteResourceList *resourceList)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->capacity; v0++) {
|
||||
if (param0->resources[v0]) {
|
||||
SpriteTransfer_ResetPlttTransfer(param0->resources[v0]);
|
||||
GF_ASSERT(resourceList);
|
||||
for (int i = 0; i < resourceList->capacity; i++) {
|
||||
if (resourceList->resources[i]) {
|
||||
SpriteTransfer_ResetPlttTransfer(resourceList->resources[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const NNSG2dImagePaletteProxy *SpriteTransfer_GetPaletteProxy(const SpriteResource *param0, NNSG2dImageProxy *param1)
|
||||
const NNSG2dImagePaletteProxy *SpriteTransfer_GetPaletteProxy(const SpriteResource *resource, NNSG2dImageProxy *imageProxy)
|
||||
{
|
||||
int v0;
|
||||
GF_ASSERT(resource);
|
||||
GF_ASSERT(SpriteResource_GetType(resource) == SPRITE_RESOURCE_PALETTE);
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(SpriteResource_GetType(param0) == 1);
|
||||
|
||||
v0 = SpriteResource_GetID(param0);
|
||||
|
||||
if (param1) {
|
||||
return PlttTransfer_ToggleExtPalette(v0, param1);
|
||||
int resourceID = SpriteResource_GetID(resource);
|
||||
if (imageProxy) {
|
||||
return PlttTransfer_ToggleExtPalette(resourceID, imageProxy);
|
||||
}
|
||||
|
||||
return PlttTransfer_GetPaletteProxy(v0);
|
||||
return PlttTransfer_GetPaletteProxy(resourceID);
|
||||
}
|
||||
|
||||
u32 SpriteTransfer_GetPlttOffset(const SpriteResource *param0, NNS_G2D_VRAM_TYPE param1)
|
||||
u32 SpriteTransfer_GetPlttOffset(const SpriteResource *resource, NNS_G2D_VRAM_TYPE vramType)
|
||||
{
|
||||
int v0;
|
||||
const NNSG2dImagePaletteProxy *v1;
|
||||
|
||||
v1 = SpriteTransfer_GetPaletteProxy(param0, NULL);
|
||||
v0 = NNS_G2dGetImagePaletteLocation(v1, param1);
|
||||
|
||||
if (v0 != (NNS_G2D_VRAM_ADDR_NOT_INITIALIZED)) {
|
||||
v0 /= 32;
|
||||
int offset = NNS_G2dGetImagePaletteLocation(SpriteTransfer_GetPaletteProxy(resource, NULL), vramType);
|
||||
if (offset != NNS_G2D_VRAM_ADDR_NOT_INITIALIZED) {
|
||||
offset /= 32; // Does not match with PALETTE_SIZE_BYTES, for some reason.
|
||||
}
|
||||
|
||||
return v0;
|
||||
return offset;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user