tp/libs/JSystem/J2DGraph/J2DPictureEx.cpp

1363 lines
48 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: J2DPictureEx
//
#include "JSystem/J2DGraph/J2DPictureEx.h"
#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/JSupport/JSURandomInputStream.h"
#include "JSystem/JUtility/JUTTexture.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" void initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT();
extern "C" void __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
extern "C" void __dt__12J2DPictureExFv();
extern "C" void prepareTexture__12J2DPictureExFUc();
extern "C" void drawSelf__12J2DPictureExFffPA3_A4_f();
extern "C" void drawFullSet__12J2DPictureExFffffPA3_A4_f();
extern "C" void drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f();
extern "C" void append__12J2DPictureExFPC7ResTIMGP10JUTPalettef();
extern "C" void append__12J2DPictureExFPCcP10JUTPalettef();
extern "C" void append__12J2DPictureExFP10JUTTexturef();
extern "C" void insert__12J2DPictureExFPC7ResTIMGP10JUTPaletteUcf();
extern "C" void insert__12J2DPictureExFPCcP10JUTPaletteUcf();
extern "C" void insert__12J2DPictureExFP10JUTTextureUcf();
extern "C" void insertCommon__12J2DPictureExFUcf();
extern "C" void isInsert__12J2DPictureExCFUc();
extern "C" void remove__12J2DPictureExFUc();
extern "C" void remove__12J2DPictureExFv();
extern "C" void remove__12J2DPictureExFP10JUTTexture();
extern "C" void isRemove__12J2DPictureExCFUc();
extern "C" void draw__12J2DPictureExFffUcbbb();
extern "C" void draw__12J2DPictureExFffffbbb();
extern "C" void drawOut__12J2DPictureExFffffff();
extern "C" void func_80304EF0();
extern "C" void load__12J2DPictureExF11_GXTexMapIDUc();
extern "C" void setTevOrder__12J2DPictureExFUcUcb();
extern "C" void setTevStage__12J2DPictureExFUcUcb();
extern "C" void setStage__12J2DPictureExFP11J2DTevStageQ212J2DPictureEx10stage_enum();
extern "C" void setTevKColor__12J2DPictureExFUc();
extern "C" void setTevKColorSel__12J2DPictureExFUc();
extern "C" void setTevKAlphaSel__12J2DPictureExFUc();
extern "C" void shiftSetBlendRatio__12J2DPictureExFUcfbb();
extern "C" void setBlendColorRatio__12J2DPictureExFff();
extern "C" void setBlendAlphaRatio__12J2DPictureExFff();
extern "C" void changeTexture__12J2DPictureExFPC7ResTIMGUc();
extern "C" void changeTexture__12J2DPictureExFPCcUc();
extern "C" void changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette();
extern "C" void changeTexture__12J2DPictureExFPCcUcP10JUTPalette();
extern "C" void getTexture__12J2DPictureExCFUc();
extern "C" void getTextureCount__12J2DPictureExCFv();
extern "C" void setBlack__12J2DPictureExFQ28JUtility6TColor();
extern "C" void setWhite__12J2DPictureExFQ28JUtility6TColor();
extern "C" void setBlackWhite__12J2DPictureExFQ28JUtility6TColorQ28JUtility6TColor();
extern "C" void getBlackWhite__12J2DPictureExCFPQ28JUtility6TColorPQ28JUtility6TColor();
extern "C" void isSetBlackWhite__12J2DPictureExCFQ28JUtility6TColorQ28JUtility6TColor();
extern "C" void getBlack__12J2DPictureExCFv();
extern "C" void getWhite__12J2DPictureExCFv();
extern "C" void setAlpha__12J2DPictureExFUc();
extern "C" void setCullBack__12J2DPictureExF11_GXCullMode();
extern "C" void rewriteAlpha__12J2DPictureExFv();
extern "C" void isUsed__12J2DPictureExFPC7ResTIMG();
extern "C" void setAnimation__12J2DPictureExFP11J2DAnmColor();
extern "C" void setAnimation__12J2DPictureExFP19J2DAnmTextureSRTKey();
extern "C" void setAnimation__12J2DPictureExFP16J2DAnmTexPattern();
extern "C" void setAnimation__12J2DPictureExFP15J2DAnmTevRegKey();
extern "C" void setAnimation__12J2DPictureExFP20J2DAnmVisibilityFull();
extern "C" void setAnimation__12J2DPictureExFP14J2DAnmVtxColor();
extern "C" void animationPane__12J2DPictureExFPC15J2DAnmTransform();
extern "C" void getUsableTlut__12J2DPictureExFUc();
extern "C" void append__12J2DPictureExFPC7ResTIMGf();
extern "C" void append__12J2DPictureExFPCcf();
extern "C" void prepend__12J2DPictureExFP10JUTTexturef();
extern "C" void prepend__12J2DPictureExFPCcP10JUTPalettef();
extern "C" void prepend__12J2DPictureExFPCcf();
extern "C" void prepend__12J2DPictureExFPC7ResTIMGP10JUTPalettef();
extern "C" void prepend__12J2DPictureExFPC7ResTIMGf();
extern "C" void insert__12J2DPictureExFPCcUcf();
extern "C" void insert__12J2DPictureExFPC7ResTIMGUcf();
extern "C" void draw__12J2DPictureExFffbbb();
extern "C" void drawOut__12J2DPictureExFffffffff();
extern "C" void load__12J2DPictureExFUc();
extern "C" void setCullBack__12J2DPictureExFb();
extern "C" void isUsed__12J2DPictureExFPC7ResFONT();
extern "C" void setAnimation__12J2DPictureExFP10J2DAnmBase();
//
// External References:
//
extern "C" void setBlendRatio__10J2DPictureFff();
extern "C" void calcMtx__7J2DPaneFv();
extern "C" void makeMatrix__7J2DPaneFff();
extern "C" void getMaterial__12J2DPictureExCFv();
extern "C" void setAnimation__12J2DPictureExFP15J2DAnmTransform();
extern "C" void __dl__FPv();
extern "C" void read__14JSUInputStreamFPvl();
extern "C" void peek__20JSURandomInputStreamFPvl();
extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom();
extern "C" void storeTIMG__10JUTTextureFPC7ResTIMGUc();
extern "C" void storeTIMG__10JUTTextureFPC7ResTIMGP10JUTPalette7_GXTlut();
extern "C" void setGX__11J2DMaterialFv();
extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor();
extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey();
extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern();
extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey();
extern "C" void setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx();
extern "C" void move__7J2DPaneFff();
extern "C" void add__7J2DPaneFff();
extern "C" void resize__7J2DPaneFff();
extern "C" void search__7J2DPaneFUx();
extern "C" void searchUserInfo__7J2DPaneFUx();
extern "C" void isUsed__7J2DPaneFPC7ResTIMG();
extern "C" void isUsed__7J2DPaneFPC7ResFONT();
extern "C" void makeMatrix__7J2DPaneFffff();
extern "C" void setCullBack__7J2DPaneF11_GXCullMode();
extern "C" void makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream();
extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase();
extern "C" void clearAnmTransform__7J2DPaneFv();
extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform();
extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull();
extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor();
extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform();
extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull();
extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor();
extern "C" void setConnectParent__7J2DPaneFb();
extern "C" void update__7J2DPaneFv();
extern "C" void getNameResource__9J2DScreenFPCc();
extern "C" void __ct__10J2DPictureFv();
extern "C" void __dt__10J2DPictureFv();
extern "C" void drawSelf__10J2DPictureFff();
extern "C" void getTlutID__10J2DPictureFPC7ResTIMGUc();
extern "C" void func_802FF204(void* _this);
extern "C" s32 getTypeID__10J2DPictureCFv();
extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc();
extern "C" void __construct_array();
extern "C" void _savegpr_23();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_23();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
//
// Declarations:
//
/* ############################################################################################## */
/* 804562C0-804562C4 0048C0 0004+00 7/7 0/0 0/0 .sdata2 @1517 */
SECTION_SDATA2 static f32 lit_1517 = 1.0f;
/* 80303640-803036EC 2FDF80 00AC+00 1/0 0/0 0/0 .text
* initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT */
// Matches with literals
#ifdef NONMATCHING
void J2DPictureEx::initiate(ResTIMG const* param_0, ResTLUT const* param_1) {
J2DTexGenBlock* this_00 = mMaterial->getTexGenBlock();
if (this_00->getTexGenNum() == 0 && append(param_0, 1.0f) && param_1 != NULL) {
if (mMaterial->getTevBlock()->getPalette(0) == NULL) {
mMaterial->getTevBlock()->setPalette(0, param_1);
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::initiate(ResTIMG const* param_0, ResTLUT const* param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803CD4B8-803CD608 02A5D8 014C+04 2/2 0/0 0/0 .data __vt__12J2DPictureEx */
SECTION_DATA extern void* __vt__12J2DPictureEx[83 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12J2DPictureExFv,
(void*)getTypeID__10J2DPictureCFv,
(void*)move__7J2DPaneFff,
(void*)add__7J2DPaneFff,
(void*)resize__7J2DPaneFff,
(void*)setCullBack__12J2DPictureExFb,
(void*)setCullBack__12J2DPictureExF11_GXCullMode,
(void*)setAlpha__12J2DPictureExFUc,
(void*)setConnectParent__7J2DPaneFb,
(void*)calcMtx__7J2DPaneFv,
(void*)update__7J2DPaneFv,
(void*)drawSelf__10J2DPictureFff,
(void*)drawSelf__12J2DPictureExFffPA3_A4_f,
(void*)search__7J2DPaneFUx,
(void*)searchUserInfo__7J2DPaneFUx,
(void*)makeMatrix__7J2DPaneFff,
(void*)makeMatrix__7J2DPaneFffff,
(void*)isUsed__12J2DPictureExFPC7ResTIMG,
(void*)isUsed__12J2DPictureExFPC7ResFONT,
(void*)clearAnmTransform__7J2DPaneFv,
(void*)rewriteAlpha__12J2DPictureExFv,
(void*)setAnimation__12J2DPictureExFP10J2DAnmBase,
(void*)setAnimation__12J2DPictureExFP15J2DAnmTransform,
(void*)setAnimation__12J2DPictureExFP11J2DAnmColor,
(void*)setAnimation__12J2DPictureExFP16J2DAnmTexPattern,
(void*)setAnimation__12J2DPictureExFP19J2DAnmTextureSRTKey,
(void*)setAnimation__12J2DPictureExFP15J2DAnmTevRegKey,
(void*)setAnimation__12J2DPictureExFP20J2DAnmVisibilityFull,
(void*)setAnimation__12J2DPictureExFP14J2DAnmVtxColor,
(void*)animationTransform__7J2DPaneFPC15J2DAnmTransform,
(void*)setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull,
(void*)setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull,
(void*)setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor,
(void*)setAnimationVC__7J2DPaneFP14J2DAnmVtxColor,
(void*)animationPane__12J2DPictureExFPC15J2DAnmTransform,
(void*)initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT,
(void*)prepareTexture__12J2DPictureExFUc,
(void*)append__12J2DPictureExFPC7ResTIMGf,
(void*)append__12J2DPictureExFPC7ResTIMGP10JUTPalettef,
(void*)append__12J2DPictureExFPCcf,
(void*)append__12J2DPictureExFPCcP10JUTPalettef,
(void*)append__12J2DPictureExFP10JUTTexturef,
(void*)prepend__12J2DPictureExFPC7ResTIMGf,
(void*)prepend__12J2DPictureExFPC7ResTIMGP10JUTPalettef,
(void*)prepend__12J2DPictureExFPCcf,
(void*)prepend__12J2DPictureExFPCcP10JUTPalettef,
(void*)prepend__12J2DPictureExFP10JUTTexturef,
(void*)insert__12J2DPictureExFPC7ResTIMGUcf,
(void*)insert__12J2DPictureExFPC7ResTIMGP10JUTPaletteUcf,
(void*)insert__12J2DPictureExFPCcUcf,
(void*)insert__12J2DPictureExFPCcP10JUTPaletteUcf,
(void*)insert__12J2DPictureExFP10JUTTextureUcf,
(void*)remove__12J2DPictureExFUc,
(void*)remove__12J2DPictureExFv,
(void*)remove__12J2DPictureExFP10JUTTexture,
(void*)draw__12J2DPictureExFffbbb,
(void*)draw__12J2DPictureExFffUcbbb,
(void*)draw__12J2DPictureExFffffbbb,
(void*)drawOut__12J2DPictureExFffffff,
(void*)drawOut__12J2DPictureExFffffffff,
(void*)func_80304EF0,
(void*)load__12J2DPictureExF11_GXTexMapIDUc,
(void*)load__12J2DPictureExFUc,
(void*)setBlendRatio__10J2DPictureFff,
(void*)setBlendColorRatio__12J2DPictureExFff,
(void*)setBlendAlphaRatio__12J2DPictureExFff,
(void*)changeTexture__12J2DPictureExFPC7ResTIMGUc,
(void*)changeTexture__12J2DPictureExFPCcUc,
(void*)changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette,
(void*)changeTexture__12J2DPictureExFPCcUcP10JUTPalette,
(void*)getTexture__12J2DPictureExCFUc,
(void*)getTextureCount__12J2DPictureExCFv,
(void*)setBlack__12J2DPictureExFQ28JUtility6TColor,
(void*)setWhite__12J2DPictureExFQ28JUtility6TColor,
(void*)setBlackWhite__12J2DPictureExFQ28JUtility6TColorQ28JUtility6TColor,
(void*)getBlack__12J2DPictureExCFv,
(void*)getWhite__12J2DPictureExCFv,
(void*)getMaterial__12J2DPictureExCFv,
(void*)drawFullSet__12J2DPictureExFffffPA3_A4_f,
(void*)drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f,
(void*)getUsableTlut__12J2DPictureExFUc,
/* padding */
NULL,
};
/* 803036EC-8030393C 2FE02C 0250+00 0/0 1/1 0/0 .text
* __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial */
// Issue with TColor
#ifdef NONMATCHING
J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32 param_2,
J2DMaterial* param_3) {
field_0x194 = 0;
field_0x198 = 0;
s32 origPosition = param_1->getPosition();
u32 local_68[2];
param_1->read(local_68, 8);
mKind = local_68[0];
s32 iVar2 = param_1->getPosition();
u32 auStack_70[2];
param_1->peek(auStack_70, 8);
makePaneExStream(param_0, param_1);
param_1->seek(iVar2 + auStack_70[1], JSUStreamSeekFrom_SET);
J2DScrnBlockPictureParameter aJStack_60;
param_1->read(&aJStack_60, sizeof(J2DScrnBlockPictureParameter));
field_0x154 = aJStack_60.mMaterialNum;
field_0x156 = aJStack_60.field_0x4;
// Issues with this loop
for (int i = 0; i < 4; i++) {
field_0x158[i] = aJStack_60.field_0x8[i];
field_0x10a[i] = aJStack_60.field_0x10[i];
mCornerColor[i] = JUtility::TColor(aJStack_60.mCornerColor[i]);
}
param_1->seek(origPosition + local_68[1], JSUStreamSeekFrom_SET);
mMaterial = NULL;
if (field_0x156 != 0xffff) {
mMaterial = param_3 + field_0x156;
(param_3 + field_0x156)->field_0x4 = this;
}
field_0x190 = 0;
mAlpha = 0xff;
rewriteAlpha();
for (int iVar1 = 0; iVar1 < 2; iVar1++) {
field_0x11c[iVar1] = 1.0f;
field_0x124[iVar1] = 1.0f;
}
for (int iVar1 = 0; iVar1 < 6; iVar1++) {
field_0x160[iVar1] = 1.0f;
field_0x178[iVar1] = 1.0f;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32 param_2,
J2DMaterial* param_3) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/__ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial.s"
}
#pragma pop
#endif
/* 8030393C-803039CC 2FE27C 0090+00 1/0 0/0 0/0 .text __dt__12J2DPictureExFv */
// Needs ctor matched
#ifdef NONMATCHING
J2DPictureEx::~J2DPictureEx() {
if (field_0x190) {
delete mMaterial;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void __dt__12J2DPictureExFv() {
// asm J2DPictureEx::~J2DPictureEx() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/__dt__12J2DPictureExFv.s"
}
#pragma pop
#endif
/* 803039CC-80303AB4 2FE30C 00E8+00 1/0 0/0 0/0 .text prepareTexture__12J2DPictureExFUc
*/
bool J2DPictureEx::prepareTexture(u8 param_0) {
if (!mMaterial->getTevBlock()->prepareTexture(param_0)) {
return false;
}
for (u8 i = 0; i < param_0; i++) {
J2DTexMtx aJStack_68;
mMaterial->getTexGenBlock()->setTexMtx(i, aJStack_68);
}
return true;
}
/* 80303AB4-80303B80 2FE3F4 00CC+00 1/0 0/0 0/0 .text drawSelf__12J2DPictureExFffPA3_A4_f
*/
void J2DPictureEx::drawSelf(f32 param_0, f32 param_1, f32 (*param_2)[3][4]) {
if (mMaterial != NULL) {
mMaterial->setGX();
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT);
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
drawFullSet(param_0, param_1, getWidth(), getHeight(), param_2);
}
}
/* 80303B80-80303BDC 2FE4C0 005C+00 1/0 0/0 0/0 .text drawFullSet__12J2DPictureExFffffPA3_A4_f */
void J2DPictureEx::drawFullSet(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
f32 (*param_4)[3][4]) {
drawTexCoord(mBounds.i.x, mBounds.i.y, param_2, param_3, field_0x10a[0].x, field_0x10a[0].y,
field_0x10a[1].x, field_0x10a[1].y, field_0x10a[2].x, field_0x10a[2].y,
field_0x10a[3].x, field_0x10a[3].y, param_4);
}
/* ############################################################################################## */
/* 804562C4-804562C8 0048C4 0004+00 5/5 0/0 0/0 .sdata2 @1784 */
SECTION_SDATA2 static u8 lit_1784[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80303BDC-80303E5C 2FE51C 0280+00 1/0 0/0 0/0 .text
* drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f */
// Matches with literals
#ifdef NONMATCHING
void J2DPictureEx::drawTexCoord(f32 param_0, f32 param_1, f32 param_2, f32 param_3, s16 param_4,
s16 param_5, s16 param_6, s16 param_7, s16 param_8, s16 param_9,
s16 param_10, s16 param_11, f32 (*param_12)[3][4]) {
f32 dVar12 = param_0 + param_2;
f32 dVar11 = param_1 + param_3;
Mtx auStack_88;
MTXConcat(*param_12, mGlobalMtx, auStack_88);
if (mMaterial == NULL || mMaterial->isVisible()) {
GXLoadPosMtxImm(auStack_88, 0);
JUtility::TColor TStack_8c = mCornerColor[0];
JUtility::TColor TStack_90 = mCornerColor[1];
JUtility::TColor TStack_94 = mCornerColor[2];
JUtility::TColor TStack_98 = mCornerColor[3];
if (mMaterial != NULL) {
if (mMaterial->getColorBlock()->getColorChan(1)->getMatSrc() == 1) {
if (mMaterial->getMaterialAlphaCalc() == 1) {
TStack_8c.a = TStack_8c.a * mColorAlpha / 255;
TStack_90.a = TStack_90.a * mColorAlpha / 255;
TStack_94.a = TStack_94.a * mColorAlpha / 255;
TStack_98.a = TStack_98.a * mColorAlpha / 255;
}
} else if (mIsInfluencedAlpha) {
GXSetChanMatColor(GX_ALPHA0, JUtility::TColor(mColorAlpha));
}
}
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA4, 8);
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
GXPosition3f32(param_0, param_1, 0.0f);
GXColor1u32(TStack_8c);
GXTexCoord2s16(param_4, param_5);
GXPosition3f32(dVar12, param_1, 0.0f);
GXColor1u32(TStack_90);
GXTexCoord2s16(param_6, param_7);
GXPosition3f32(dVar12, dVar11, 0.0f);
GXColor1u32(TStack_98);
GXTexCoord2s16(param_10, param_11);
GXPosition3f32(param_0, dVar11, 0.0f);
GXColor1u32(TStack_94);
GXTexCoord2s16(param_8, param_9);
i_GXEnd();
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBX8, 0xf);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::drawTexCoord(f32 param_0, f32 param_1, f32 param_2, f32 param_3, s16 param_4,
s16 param_5, s16 param_6, s16 param_7, s16 param_8, s16 param_9,
s16 param_10, s16 param_11, f32 (*param_12)[3][4]) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f.s"
}
#pragma pop
#endif
/* 80303E5C-80303EA4 2FE79C 0048+00 1/0 0/0 0/0 .text
* append__12J2DPictureExFPC7ResTIMGP10JUTPalettef */
bool J2DPictureEx::append(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
if (mMaterial == NULL) {
return false;
}
return insert(param_0, param_1, mMaterial->getTexGenBlock()->getTexGenNum(), param_2);
}
/* 80303EA4-80303EEC 2FE7E4 0048+00 1/0 0/0 0/0 .text append__12J2DPictureExFPCcP10JUTPalettef */
bool J2DPictureEx::append(char const* param_0, JUTPalette* param_1, f32 param_2) {
if (mMaterial == NULL) {
return false;
}
return insert(param_0, param_1, mMaterial->getTexGenBlock()->getTexGenNum(), param_2);
}
/* 80303EEC-80303F34 2FE82C 0048+00 1/0 0/0 0/0 .text append__12J2DPictureExFP10JUTTexturef */
bool J2DPictureEx::append(JUTTexture* param_0, f32 param_1) {
if (mMaterial == NULL) {
return false;
}
return insert(param_0, mMaterial->getTexGenBlock()->getTexGenNum(), param_1);
}
/* 80303F34-80303FD8 2FE874 00A4+00 1/0 0/0 0/0 .text
* insert__12J2DPictureExFPC7ResTIMGP10JUTPaletteUcf */
bool J2DPictureEx::insert(ResTIMG const* param_0, JUTPalette* param_1, u8 param_2,
f32 param_3) {
if (param_0 == NULL) {
return false;
}
if (!isInsert(param_2)) {
return false;
}
insertCommon(param_2, param_3);
mMaterial->getTevBlock()->insertTexture(param_2, param_0, param_1);
return true;
}
/* 80303FD8-80304048 2FE918 0070+00 1/0 0/0 0/0 .text insert__12J2DPictureExFPCcP10JUTPaletteUcf
*/
bool J2DPictureEx::insert(char const* param_0, JUTPalette* param_1, u8 param_2, f32 param_3) {
ResTIMG const* resource = (ResTIMG const*)J2DScreen::getNameResource(param_0);
return insert(resource, param_1, param_2, param_3);
}
/* 80304048-803040E4 2FE988 009C+00 1/0 0/0 0/0 .text insert__12J2DPictureExFP10JUTTextureUcf */
bool J2DPictureEx::insert(JUTTexture* param_0, u8 param_1, f32 param_2) {
if (param_0 == NULL) {
return false;
}
if (!isInsert(param_1)) {
return false;
}
insertCommon(param_1, param_2);
mMaterial->getTevBlock()->insertTexture(param_1, param_0);
return true;
}
/* 803040E4-8030437C 2FEA24 0298+00 2/2 0/0 0/0 .text insertCommon__12J2DPictureExFUcf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::insertCommon(u8 param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/insertCommon__12J2DPictureExFUcf.s"
}
#pragma pop
/* 8030437C-8030446C 2FECBC 00F0+00 2/2 0/0 0/0 .text isInsert__12J2DPictureExCFUc */
bool J2DPictureEx::isInsert(u8 param_0) const {
if (mMaterial == NULL) {
return false;
}
if (mMaterial->getTevBlock() == NULL) {
return false;
}
u8 texGenNum = mMaterial->getTexGenBlock()->getTexGenNum();
if (texGenNum >= 8 || param_0 >= 8 || param_0 > texGenNum) {
return false;
}
u8 bVar5 = mMaterial->getTevBlock()->getMaxStage();
if (bVar5 <= 2 && texGenNum != 0) {
return false;
}
if (bVar5 == mMaterial->getTevBlock()->getTevStageNum() && texGenNum != 0) {
return false;
}
return true;
}
/* 8030446C-80304608 2FEDAC 019C+00 1/0 0/0 0/0 .text remove__12J2DPictureExFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J2DPictureEx::remove(u8 param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/remove__12J2DPictureExFUc.s"
}
#pragma pop
/* 80304608-8030466C 2FEF48 0064+00 1/0 0/0 0/0 .text remove__12J2DPictureExFv */
bool J2DPictureEx::remove() {
if (mMaterial == NULL) {
return false;
}
if (mMaterial->getTevBlock() == NULL) {
return false;
}
u8 texGenNum = mMaterial->getTexGenBlock()->getTexGenNum();
return remove(texGenNum - 1);
}
/* 8030466C-80304728 2FEFAC 00BC+00 1/0 0/0 0/0 .text remove__12J2DPictureExFP10JUTTexture */
bool J2DPictureEx::remove(JUTTexture* param_0) {
if (mMaterial == NULL) {
return false;
}
if (mMaterial->getTevBlock() == NULL) {
return false;
}
u8 texGenNum = mMaterial->getTexGenBlock()->getTexGenNum();
u8 i;
for (i = 0; i < texGenNum; i++) {
if (mMaterial->getTevBlock()->getTexture(i) == param_0)
break;
}
return remove(i);
}
/* 80304728-8030477C 2FF068 0054+00 1/1 0/0 0/0 .text isRemove__12J2DPictureExCFUc */
bool J2DPictureEx::isRemove(u8 param_0) const {
if (mMaterial == NULL) {
return false;
}
if (mMaterial->getTevBlock() == NULL) {
return false;
}
u8 texGenNum = mMaterial->getTexGenBlock()->getTexGenNum();
if (texGenNum <= param_0 || texGenNum == 1) {
return false;
}
return true;
}
/* ############################################################################################## */
/* 804562C8-804562D0 0048C8 0008+00 2/2 0/0 0/0 .sdata2 @2130 */
SECTION_SDATA2 static f64 lit_2130 = 4503601774854144.0 /* cast s32 to float */;
/* 8030477C-80304890 2FF0BC 0114+00 1/0 0/0 0/0 .text draw__12J2DPictureExFffUcbbb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::draw(f32 param_0, f32 param_1, u8 param_2, bool param_3, bool param_4,
bool param_5) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/draw__12J2DPictureExFffUcbbb.s"
}
#pragma pop
/* 80304890-80304D88 2FF1D0 04F8+00 1/0 0/0 0/0 .text draw__12J2DPictureExFffffbbb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::draw(f32 param_0, f32 param_1, f32 param_2, f32 param_3, bool param_4,
bool param_5, bool param_6) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/draw__12J2DPictureExFffffbbb.s"
}
#pragma pop
/* 80304D88-80304EF0 2FF6C8 0168+00 1/0 0/0 0/0 .text drawOut__12J2DPictureExFffffff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
f32 param_5) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/drawOut__12J2DPictureExFffffff.s"
}
#pragma pop
/* 80304EF0-80305264 2FF830 0374+00 1/0 0/0 0/0 .text
* drawOut__12J2DPictureExFRCQ29JGeometry8TBox2<f>RCQ29JGeometry8TBox2<f> */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::drawOut(JGeometry::TBox2<f32> const& param_0,
JGeometry::TBox2<f32> const& param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/func_80304EF0.s"
}
#pragma pop
/* 80305264-803052AC 2FFBA4 0048+00 1/0 0/0 0/0 .text load__12J2DPictureExF11_GXTexMapIDUc */
void J2DPictureEx::load(_GXTexMapID param_0, u8 param_1) {
if (mMaterial == NULL) {
return;
}
if (mMaterial->getTevBlock() == NULL) {
return;
}
mMaterial->getTevBlock()->loadTexture(param_0, param_1);
}
/* 803052AC-803053E0 2FFBEC 0134+00 3/3 0/0 0/0 .text setTevOrder__12J2DPictureExFUcUcb
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setTevOrder(u8 param_0, u8 param_1, bool param_2) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setTevOrder__12J2DPictureExFUcUcb.s"
}
#pragma pop
/* 803053E0-80305688 2FFD20 02A8+00 3/3 0/0 0/0 .text setTevStage__12J2DPictureExFUcUcb
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setTevStage(u8 param_0, u8 param_1, bool param_2) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setTevStage__12J2DPictureExFUcUcb.s"
}
#pragma pop
/* ############################################################################################## */
/* 803A1D50-803A1D70 02E3B0 0020+00 1/1 0/0 0/0 .rodata @2555 */
SECTION_RODATA static u8 const lit_2555[32] = {
0x0F, 0x08, 0x0A, 0x0F, 0x0F, 0x08, 0x0A, 0x0F, 0x0F, 0x08, 0x0E, 0x0F, 0x0F, 0x08, 0x0E, 0x00,
0x0F, 0x0A, 0x00, 0x0F, 0x02, 0x04, 0x08, 0x0F, 0x02, 0x04, 0x08, 0x0F, 0x02, 0x04, 0x00, 0x0F,
};
COMPILER_STRIP_GATE(0x803A1D50, &lit_2555);
/* 80305688-80305928 2FFFC8 02A0+00 1/1 0/0 0/0 .text
* setStage__12J2DPictureExFP11J2DTevStageQ212J2DPictureEx10stage_enum */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setStage(J2DTevStage* param_0, J2DPictureEx::stage_enum param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setStage__12J2DPictureExFP11J2DTevStageQ212J2DPictureEx10stage_enum.s"
}
#pragma pop
/* ############################################################################################## */
/* 804562D0-804562D8 0048D0 0004+04 1/1 0/0 0/0 .sdata2 @2690 */
SECTION_SDATA2 static f32 lit_2690[1 + 1 /* padding */] = {
255.0f,
/* padding */
0.0f,
};
/* 80305928-80305C70 300268 0348+00 5/5 0/0 0/0 .text setTevKColor__12J2DPictureExFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setTevKColor(u8 param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setTevKColor__12J2DPictureExFUc.s"
}
#pragma pop
/* 80305C70-80305D18 3005B0 00A8+00 3/3 0/0 0/0 .text setTevKColorSel__12J2DPictureExFUc
*/
void J2DPictureEx::setTevKColorSel(u8 param_0) {
for (u8 i = 0; i < param_0; i++) {
if (i < 4) {
mMaterial->getTevBlock()->setTevKColorSel(i, 31 - 4 * i);
} else {
mMaterial->getTevBlock()->setTevKColorSel(i, 30 - 4 * (i - 4));
}
}
}
/* 80305D18-80305DC0 300658 00A8+00 3/3 0/0 0/0 .text setTevKAlphaSel__12J2DPictureExFUc
*/
void J2DPictureEx::setTevKAlphaSel(u8 param_0) {
for (u8 i = 0; i < param_0; i++) {
if (i < 4) {
mMaterial->getTevBlock()->setTevKAlphaSel(i, 29 - 4 * i);
} else {
mMaterial->getTevBlock()->setTevKAlphaSel(i, 28 - 4 * (i - 4));
}
}
}
/* 80305DC0-80305ED4 300700 0114+00 2/2 0/0 0/0 .text shiftSetBlendRatio__12J2DPictureExFUcfbb */
void J2DPictureEx::shiftSetBlendRatio(u8 param_0, f32 param_1, bool param_2, bool param_3) {
f32* pJVar4 = param_2 != 0 ? field_0x11c : field_0x124;
f32* local_44 = param_2 != 0 ? field_0x160 : field_0x178;
if (param_3) {
for (int i = 7; i > param_0; i--) {
if (i > 2) {
local_44[i - 2] = local_44[i - 3];
} else if (i == 2) {
local_44[0] = pJVar4[1];
} else {
pJVar4[i] = pJVar4[i - 1];
}
}
if (param_0 >= 2) {
local_44[param_0 - 2] = param_1;
} else {
pJVar4[param_0] = param_1;
}
} else {
for (int i = param_0 + 1; i < 8; i++) {
if (i > 2) {
local_44[i - 3] = local_44[i - 2];
} else if (i == 2) {
pJVar4[1] = local_44[0];
} else {
pJVar4[i - 1] = pJVar4[i];
}
}
}
}
/* 80305ED4-80305F34 300814 0060+00 1/0 0/0 0/0 .text setBlendColorRatio__12J2DPictureExFff */
// Matches with literals
#ifdef NONMATCHING
void J2DPictureEx::setBlendColorRatio(f32 param_0, f32 param_1) {
if (mMaterial == NULL) {
return;
}
field_0x11c[0] = param_0;
field_0x11c[1] = param_1;
for (int i = 0; i < 6; i++) {
field_0x160[i] = 1.0f;
}
setTevKColor(mMaterial->getTexGenBlock()->getTexGenNum());
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setBlendColorRatio(f32 param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setBlendColorRatio__12J2DPictureExFff.s"
}
#pragma pop
#endif
/* 80305F34-80305F94 300874 0060+00 1/0 0/0 0/0 .text setBlendAlphaRatio__12J2DPictureExFff */
// Matches with literals
#ifdef NONMATCHING
void J2DPictureEx::setBlendAlphaRatio(f32 param_0, f32 param_1) {
if (mMaterial == NULL) {
return;
}
field_0x124[0] = param_0;
field_0x124[1] = param_1;
for (int i = 0; i < 6; i++) {
field_0x178[i] = 1.0f;
}
setTevKColor(mMaterial->getTexGenBlock()->getTexGenNum());
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setBlendAlphaRatio(f32 param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setBlendAlphaRatio__12J2DPictureExFff.s"
}
#pragma pop
#endif
/* 80305F94-803060DC 3008D4 0148+00 1/0 0/0 0/0 .text changeTexture__12J2DPictureExFPC7ResTIMGUc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm const ResTIMG* J2DPictureEx::changeTexture(ResTIMG const* param_0, u8 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/changeTexture__12J2DPictureExFPC7ResTIMGUc.s"
}
#pragma pop
/* 803060DC-80306134 300A1C 0058+00 1/0 0/0 0/0 .text changeTexture__12J2DPictureExFPCcUc
*/
const ResTIMG* J2DPictureEx::changeTexture(char const* param_0, u8 param_1) {
ResTIMG const* resource = (ResTIMG const*)J2DScreen::getNameResource(param_0);
return changeTexture(resource, param_1);
}
/* 80306134-80306298 300A74 0164+00 1/0 0/0 0/0 .text
* changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette */
// Issues with param_1 >= bVar5. Maybe some inline min function.
#ifdef NONMATCHING
inline u8 mina(u8 a, u8 b) {
return a > b ? b : a;
}
const ResTIMG* J2DPictureEx::changeTexture(ResTIMG const* param_0, u8 param_1, JUTPalette* param_2) {
if (mMaterial == NULL || param_0 == NULL) {
return NULL;
}
u32 uVar2 = mMaterial->getTexGenBlock()->getTexGenNum();
if (param_1 > uVar2) {
return NULL;
}
u8 bVar5 = mMaterial->getTevBlock()->getMaxStage();
bVar5 = bVar5 > 8 ? 8 : bVar5;
if (param_1 >= bVar5) {
return NULL;
}
if (param_1 < uVar2) {
const ResTIMG* texInfo = getTexture(param_1)->getTexInfo();
GXTlut _Var7 = GX_TLUT0;
if (param_0->indexTexture != 0) {
_Var7 = getTlutID(param_0, getUsableTlut(param_1));
}
getTexture(param_1)->storeTIMG(param_0, param_2, _Var7);
return texInfo;
}
append(param_0, param_2, 1.0f);
return NULL;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm const ResTIMG* J2DPictureEx::changeTexture(ResTIMG const* param_0, u8 param_1, JUTPalette* param_2) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette.s"
}
#pragma pop
#endif
/* 80306298-803062F8 300BD8 0060+00 1/0 0/0 0/0 .text
* changeTexture__12J2DPictureExFPCcUcP10JUTPalette */
const ResTIMG* J2DPictureEx::changeTexture(char const* param_0, u8 param_1, JUTPalette* param_2) {
ResTIMG const* resource = (ResTIMG const*)J2DScreen::getNameResource(param_0);
return changeTexture(resource, param_1, param_2);
}
/* 803062F8-80306350 300C38 0058+00 1/0 0/0 0/0 .text getTexture__12J2DPictureExCFUc */
JUTTexture* J2DPictureEx::getTexture(u8 param_0) const {
if (mMaterial == NULL) {
return NULL;
}
if (mMaterial->getTevBlock() == NULL) {
return NULL;
}
return mMaterial->getTevBlock()->getTexture(param_0);
}
/* 80306350-80306370 300C90 0020+00 1/0 0/0 0/0 .text getTextureCount__12J2DPictureExCFv
*/
u8 J2DPictureEx::getTextureCount() const {
if (mMaterial == NULL) {
return NULL;
}
return mMaterial->getTexGenBlock()->getTexGenNum();
}
/* 80306370-803063F8 300CB0 0088+00 1/0 0/0 0/0 .text setBlack__12J2DPictureExFQ28JUtility6TColor
*/
bool J2DPictureEx::setBlack(JUtility::TColor param_0) {
JUtility::TColor black, white;
if (!getBlackWhite(&black, &white)) {
return false;
}
return setBlackWhite(param_0, white);
}
/* 803063F8-80306480 300D38 0088+00 1/0 0/0 0/0 .text setWhite__12J2DPictureExFQ28JUtility6TColor
*/
bool J2DPictureEx::setWhite(JUtility::TColor param_0) {
JUtility::TColor black, white;
if (!getBlackWhite(&black, &white)) {
return false;
}
return setBlackWhite(black, param_0);
}
/* 80306480-80306664 300DC0 01E4+00 1/0 0/0 0/0 .text
* setBlackWhite__12J2DPictureExFQ28JUtility6TColorQ28JUtility6TColor */
bool J2DPictureEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) {
if (mMaterial == NULL) {
return false;
}
if (mMaterial->getTevBlock() == NULL) {
return false;
}
if (!isSetBlackWhite(param_0, param_1)) {
return false;
}
bool bVar1;
u8 uVar2;
u8 texGenNum = mMaterial->getTexGenBlock()->getTexGenNum();
bVar1 = true;
if ((param_0 == 0) && (param_1 == 0xffffffff)) {
bVar1 = false;
}
if (texGenNum == 1) {
uVar2 = (bVar1) ? 2 : 1;
} else {
uVar2 = texGenNum + ((bVar1) ? 2 : 1);
}
mMaterial->getTevBlock()->setTevStageNum(uVar2);
setTevOrder(texGenNum, uVar2, bVar1);
setTevStage(texGenNum, uVar2, bVar1);
setTevKColor(texGenNum);
setTevKColorSel(texGenNum);
setTevKAlphaSel(texGenNum);
if (bVar1) {
J2DGXColorS10 local_38;
local_38.r = param_0.r;
local_38.g = param_0.g;
local_38.b = param_0.b;
local_38.a = param_0.a;
mMaterial->getTevBlock()->setTevColor(0, local_38);
local_38.r = param_1.r;
local_38.g = param_1.g;
local_38.b = param_1.b;
local_38.a = param_1.a;
mMaterial->getTevBlock()->setTevColor(1, local_38);
}
return true;
}
/* 80306664-80306824 300FA4 01C0+00 4/4 0/0 0/0 .text
* getBlackWhite__12J2DPictureExCFPQ28JUtility6TColorPQ28JUtility6TColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J2DPictureEx::getBlackWhite(JUtility::TColor* param_0, JUtility::TColor* param_1) const {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/getBlackWhite__12J2DPictureExCFPQ28JUtility6TColorPQ28JUtility6TColor.s"
}
#pragma pop
/* 80306824-803068F8 301164 00D4+00 1/1 0/0 0/0 .text
* isSetBlackWhite__12J2DPictureExCFQ28JUtility6TColorQ28JUtility6TColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J2DPictureEx::isSetBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) const {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/isSetBlackWhite__12J2DPictureExCFQ28JUtility6TColorQ28JUtility6TColor.s"
}
#pragma pop
/* 803068F8-80306958 301238 0060+00 1/0 0/0 0/0 .text getBlack__12J2DPictureExCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::getBlack() const {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/getBlack__12J2DPictureExCFv.s"
}
#pragma pop
/* 80306958-803069B8 301298 0060+00 1/0 0/0 0/0 .text getWhite__12J2DPictureExCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::getWhite() const {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/getWhite__12J2DPictureExCFv.s"
}
#pragma pop
/* 803069B8-803069D8 3012F8 0020+00 1/0 0/0 0/0 .text setAlpha__12J2DPictureExFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setAlpha(u8 param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setAlpha__12J2DPictureExFUc.s"
}
#pragma pop
/* 803069D8-80306A0C 301318 0034+00 1/0 0/0 0/0 .text setCullBack__12J2DPictureExF11_GXCullMode */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setCullBack(_GXCullMode param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setCullBack__12J2DPictureExF11_GXCullMode.s"
}
#pragma pop
/* 80306A0C-80306A24 30134C 0018+00 1/0 0/0 0/0 .text rewriteAlpha__12J2DPictureExFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::rewriteAlpha() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/rewriteAlpha__12J2DPictureExFv.s"
}
#pragma pop
/* 80306A24-80306AC4 301364 00A0+00 1/0 0/0 0/0 .text isUsed__12J2DPictureExFPC7ResTIMG
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::isUsed(ResTIMG const* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/isUsed__12J2DPictureExFPC7ResTIMG.s"
}
#pragma pop
/* 80306AC4-80306AF0 301404 002C+00 1/0 0/0 0/0 .text setAnimation__12J2DPictureExFP11J2DAnmColor
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setAnimation(J2DAnmColor* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setAnimation__12J2DPictureExFP11J2DAnmColor.s"
}
#pragma pop
/* 80306AF0-80306B1C 301430 002C+00 1/0 0/0 0/0 .text
* setAnimation__12J2DPictureExFP19J2DAnmTextureSRTKey */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setAnimation(J2DAnmTextureSRTKey* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setAnimation__12J2DPictureExFP19J2DAnmTextureSRTKey.s"
}
#pragma pop
/* 80306B1C-80306B48 30145C 002C+00 1/0 0/0 0/0 .text
* setAnimation__12J2DPictureExFP16J2DAnmTexPattern */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setAnimation(J2DAnmTexPattern* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setAnimation__12J2DPictureExFP16J2DAnmTexPattern.s"
}
#pragma pop
/* 80306B48-80306B74 301488 002C+00 1/0 0/0 0/0 .text
* setAnimation__12J2DPictureExFP15J2DAnmTevRegKey */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setAnimation(J2DAnmTevRegKey* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setAnimation__12J2DPictureExFP15J2DAnmTevRegKey.s"
}
#pragma pop
/* 80306B74-80306B7C -00001 0008+00 0/0 0/0 0/0 .text
* setAnimation__12J2DPictureExFP20J2DAnmVisibilityFull */
void J2DPictureEx::setAnimation(J2DAnmVisibilityFull* param_0) {
*(u32*)(((u8*)this) + 404) /* this->field_0x194 */ = (u32)(param_0);
}
/* 80306B7C-80306C70 3014BC 00F4+00 1/0 0/0 0/0 .text
* setAnimation__12J2DPictureExFP14J2DAnmVtxColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setAnimation(J2DAnmVtxColor* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setAnimation__12J2DPictureExFP14J2DAnmVtxColor.s"
}
#pragma pop
/* 80306C70-80306DC8 3015B0 0158+00 1/0 0/0 0/0 .text
* animationPane__12J2DPictureExFPC15J2DAnmTransform */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::animationPane(J2DAnmTransform const* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/animationPane__12J2DPictureExFPC15J2DAnmTransform.s"
}
#pragma pop
/* 80306DC8-80306ED4 301708 010C+00 1/0 0/0 0/0 .text getUsableTlut__12J2DPictureExFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm u8 J2DPictureEx::getUsableTlut(u8 param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/getUsableTlut__12J2DPictureExFUc.s"
}
#pragma pop
/* 80306ED4-80306F04 301814 0030+00 1/0 0/0 0/0 .text append__12J2DPictureExFPC7ResTIMGf
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J2DPictureEx::append(ResTIMG const* param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/append__12J2DPictureExFPC7ResTIMGf.s"
}
#pragma pop
/* 80306F04-80306F34 301844 0030+00 1/0 0/0 0/0 .text append__12J2DPictureExFPCcf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J2DPictureEx::append(char const* param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/append__12J2DPictureExFPCcf.s"
}
#pragma pop
/* 80306F34-80306F64 301874 0030+00 1/0 0/0 0/0 .text prepend__12J2DPictureExFP10JUTTexturef */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::prepend(JUTTexture* param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/prepend__12J2DPictureExFP10JUTTexturef.s"
}
#pragma pop
/* 80306F64-80306F94 3018A4 0030+00 1/0 0/0 0/0 .text prepend__12J2DPictureExFPCcP10JUTPalettef */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::prepend(char const* param_0, JUTPalette* param_1, f32 param_2) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/prepend__12J2DPictureExFPCcP10JUTPalettef.s"
}
#pragma pop
/* 80306F94-80306FC4 3018D4 0030+00 1/0 0/0 0/0 .text prepend__12J2DPictureExFPCcf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::prepend(char const* param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/prepend__12J2DPictureExFPCcf.s"
}
#pragma pop
/* 80306FC4-80306FF4 301904 0030+00 1/0 0/0 0/0 .text
* prepend__12J2DPictureExFPC7ResTIMGP10JUTPalettef */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::prepend(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/prepend__12J2DPictureExFPC7ResTIMGP10JUTPalettef.s"
}
#pragma pop
/* 80306FF4-80307024 301934 0030+00 1/0 0/0 0/0 .text prepend__12J2DPictureExFPC7ResTIMGf
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::prepend(ResTIMG const* param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/prepend__12J2DPictureExFPC7ResTIMGf.s"
}
#pragma pop
/* 80307024-80307058 301964 0034+00 1/0 0/0 0/0 .text insert__12J2DPictureExFPCcUcf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J2DPictureEx::insert(char const* param_0, u8 param_1, f32 param_2) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/insert__12J2DPictureExFPCcUcf.s"
}
#pragma pop
/* 80307058-8030708C 301998 0034+00 1/0 0/0 0/0 .text insert__12J2DPictureExFPC7ResTIMGUcf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::insert(ResTIMG const* param_0, u8 param_1, f32 param_2) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/insert__12J2DPictureExFPC7ResTIMGUcf.s"
}
#pragma pop
/* 8030708C-803070D0 3019CC 0044+00 1/0 0/0 0/0 .text draw__12J2DPictureExFffbbb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::draw(f32 param_0, f32 param_1, bool param_2, bool param_3, bool param_4) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/draw__12J2DPictureExFffbbb.s"
}
#pragma pop
/* 803070D0-80307134 301A10 0064+00 1/0 0/0 0/0 .text drawOut__12J2DPictureExFffffffff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
f32 param_5, f32 param_6, f32 param_7) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/drawOut__12J2DPictureExFffffffff.s"
}
#pragma pop
/* 80307134-80307168 301A74 0034+00 1/0 0/0 0/0 .text load__12J2DPictureExFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::load(u8 param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/load__12J2DPictureExFUc.s"
}
#pragma pop
/* 80307168-803071A4 301AA8 003C+00 1/0 0/0 0/0 .text setCullBack__12J2DPictureExFb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setCullBack(bool param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setCullBack__12J2DPictureExFb.s"
}
#pragma pop
/* 803071A4-803071C4 301AE4 0020+00 1/0 0/0 0/0 .text isUsed__12J2DPictureExFPC7ResFONT
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::isUsed(ResFONT const* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/isUsed__12J2DPictureExFPC7ResFONT.s"
}
#pragma pop
/* 803071C4-803071E4 301B04 0020+00 1/0 0/0 0/0 .text setAnimation__12J2DPictureExFP10J2DAnmBase
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPictureEx::setAnimation(J2DAnmBase* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPictureEx/setAnimation__12J2DPictureExFP10J2DAnmBase.s"
}
#pragma pop
/* ############################################################################################## */
/* 803A1D70-803A1D90 02E3D0 0020+00 0/0 0/0 0/0 .rodata @2556 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_2556[32] = {
0x07, 0x04, 0x05, 0x07, 0x05, 0x07, 0x07, 0x07, 0x07, 0x04, 0x06, 0x07, 0x07, 0x04, 0x06, 0x00,
0x07, 0x05, 0x00, 0x07, 0x01, 0x02, 0x04, 0x07, 0x07, 0x07, 0x07, 0x02, 0x01, 0x02, 0x00, 0x07,
};
COMPILER_STRIP_GATE(0x803A1D70, &lit_2556);
#pragma pop
/* 803A1D90-803A1DB8 02E3F0 0028+00 0/0 0/0 0/0 .rodata @2557 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_2557[40] = {
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x803A1D90, &lit_2557);
#pragma pop