127Lights2 ImgFXLights =
gdSPDefLights2(144, 144, 144, 255, 255, 255, 0, 0, 120, 255, 255, 255, 0, 0, 136);
131 .vscale = { 640, 480, 511, 0 },
132 .vtrans = { 640, 480, 511, 0 },
138 .vscale = { 640, 480, 511, 0 },
139 .vtrans = { 640, 480, 512, 0 },
290 (*ImgFXInstances)[i].colorBuf =
NULL;
291 (*ImgFXInstances)[i].colorBufCount = 0;
368 (*ImgFXInstances)[
iPrev].nextIdx = i;
371 (*ImgFXInstances)[i].arrayIdx = i;
377 (*ImgFXInstances)[i].nextIdx = -1;
387 (*ImgFXInstances)[
idx].flags = 0;
388 (*ImgFXInstances)[
idx].nextIdx = -1;
397 next = (*ImgFXInstances)[
idx].nextIdx;
400 }
while (next != -1);
417 return &(*ImgFXInstances)[
idx];
545 && state->
ints.
anim.type == imgfxArg1
546 && state->
ints.
anim.interval == imgfxArg2
547 && state->
ints.
anim.step == imgfxArg3
607 if (imgfxArg1 >= 255 && imgfxArg2 >= 255 && imgfxArg3 >= 255 && imgfxArg4 >= 255) {
610 }
else if (imgfxArg4 >= 255) {
613 }
else if (imgfxArg1 >= 255 && imgfxArg2 >= 255 && imgfxArg3 >= 255) {
623 if (imgfxArg4 == 255.0) {
632 r = (imgfxArg2 & 0xFF000000) >> 24;
633 g = (imgfxArg2 & 0xFF0000) >> 16;
634 b = (imgfxArg2 & 0xFF00) >> 8;
635 a = (imgfxArg2 & 0xFF);
653 r = (imgfxArg2 & 0xFF000000) >> 24;
654 g = (imgfxArg2 & 0xFF0000) >> 16;
655 b = (imgfxArg2 & 0xFF00) >> 8;
656 a = (imgfxArg2 & 0xFF);
680 if (imgfxArg2 >= 255) {
761 if (state->
ints.
raw[1][2] == 0) {
824 mode1 = renderMode->
mode1;
825 mode2 = renderMode->
mode2;
877 switch (renderType) {
888 if (primAlpha <= 0) {
897 if (primAlpha <= 0) {
914 if (primAlpha <= 0) {
1157 for (i = 0; i <= state->
subdivY; i++) {
1167 for (
j = 0;
j <= state->
subdivX; vtx++,
j++) {
1172 vtx->n.ob[0] = posX;
1173 vtx->n.ob[1] = posY;
1175 vtx->n.tc[0] = ((s32)
texU + 256) * 32;
1176 vtx->n.tc[1] = ((s32)
texV + 256) * 32;
1268 if (header ==
NULL) {
1313 for (i = 0; i < header->
vtxCount; i++) {
1640 for (i = 0; i < state->
subdivY; i++) {
1644 s32
llIdx = firstVtxIdx + (i + 1) * (state->
subdivX + 1) +
j;
1645 s32
lrIdx = firstVtxIdx + (i + 1) * (state->
subdivX + 1) +
j + 1;
1648 && (*ImgFXInstances)[0].arrayIdx != 0
1665 gDPSetTile(
gMainGfxPos++,
G_IM_FMT_RGBA,
G_IM_SIZ_16b, 4, 0x0100, 2, 0,
G_TX_NOMIRROR |
G_TX_WRAP,
G_TX_NOMASK,
G_TX_NOLOD,
G_TX_NOMIRROR |
G_TX_WRAP,
G_TX_NOMASK,
G_TX_NOLOD);
1781 0, 0,
ufs->width - 1,
ufs->height - 1, 0,
1822 while (phase1 > 360.0) {
1827 while (phase2 > 360.0) {
1832 while (phase3 > 360.0) {
1856 for (i = 0; i <
amt; i++) {
1875 if (i % (state->
subdivX + 1) == 0) {
1887 for (i = 0; i <= vtxCount; i++) {
BSS s32 PopupMenu_SelectedIndex
@ SPR_SHADING_FLAG_SET_VIEWPORT
@ SPR_SHADING_FLAG_ENABLED
@ IMGFX_RENDER_MULTIPLY_RGBA
@ IMGFX_RENDER_MULTIPLY_SHADE_ALPHA
@ IMGFX_RENDER_MULTIPLY_SHADE_RGB
@ IMGFX_RENDER_OVERLAY_RGBA
@ IMGFX_RENDER_MODULATE_PRIM_RGBA
@ IMGFX_RENDER_MULTIPLY_RGB
@ IMGFX_RENDER_MULTIPLY_SHADE_RGBA
@ IMGFX_RENDER_OVERLAY_RGB
@ IMGFX_RENDER_MODULATE_PRIM_RGB
@ IMGFX_RENDER_MULTIPLY_ALPHA
@ IMGFX_RENDER_MODULATE_SHADE_RGB
@ IMGFX_RENDER_MODULATE_SHADE_RGBA
@ IMGFX_RENDER_COLOR_FILL
@ IMGFX_COLOR_BUF_SET_MULTIPLY
@ IMGFX_COLOR_BUF_SET_MODULATE
@ IMGFX_ANIM_VERTICAL_PIPE_CURL
@ IMGFX_ANIM_HORIZONTAL_PIPE_CURL
@ IMGFX_ANIM_FLUTTER_DOWN
@ IMGFX_ANIM_SHUFFLE_CARDS
@ IMGFX_ANIM_SPIRIT_CAPTURE
@ IMGFX_ANIM_TUTANKOOPA_SWIRL_1
@ IMGFX_ANIM_TUTANKOOPA_SWIRL_2
@ IMGFX_ANIM_CYMBAL_CRUSH
@ IMGFX_ANIM_TUTANKOOPA_GATHER
@ IMGFX_RENDER_NO_OVERRIDE
@ IMGFX_HOLOGRAM_THRESHOLD
@ IMGFX_FLAG_SKIP_TEX_SETUP
@ IMGFX_FLAG_G_CULL_FRONT
@ IMGFX_FLAG_REVERSE_ANIM
@ IMGFX_FLAG_NO_FILTERING
@ IMGFX_FLAG_SKIP_GFX_SETUP
s32 integer_log(s32 number, u32 base)
u32 dma_copy(Addr romStart, Addr romEnd, void *vramDest)
void * _heap_malloc(HeapNode *head, u32 size)
s32 general_heap_free(void *data)
void * heap_malloc(s32 size)
#define gDPScrollMultiTile2_4b(pkt, timg, fmt, width, height, uls, ult, lrs, lrt, pal, cms, cmt, masks, maskt, shifts, shiftt, scrolls, scrollt)
#define gDPScrollTextureTile_4b(pkt, timg, fmt, width, height, uls, ult, lrs, lrt, pal, cms, cmt, masks, maskt, shifts, shiftt, scrolls, scrollt)
struct ImgFXIntVars::@172 wavy
void imgfx_release_instance(u32 idx)
ImgFXState ImgFXInstanceList[MAX_IMGFX_INSTANCES]
void imgfx_wavy_init(ImgFXState *state)
Addr vertical_pipe_curl_header
void imgfx_update_cache(void)
void imgfx_clear_instance_data(ImgFXState *state)
void imgfx_appendGfx_mesh_strip(ImgFXState *, Matrix4f mtx)
Addr shuffle_cards_header
s32 imgfx_get_next_instance(s32 idx)
BSS ImgFXAnimHeader ImgFXAnimHeaders[MAX_IMGFX_INSTANCES]
struct ImgFXIntVars::@170 args
ImgFXAnimHeader * imgfx_load_anim(ImgFXState *state)
void imgfx_mesh_make_strip(ImgFXState *state)
ImgFXWorkingTexture * ImgFXCurrentTexturePtr
struct ImgFXIntVars::@171 anim
ImgFXRenderMode ImgFXRenderModes[]
void imgfx_update_cache_impl(void)
struct ImgFXFloatVars::@176 anim
void imgfx_set_vtx_buf_capacity(s16 arg0)
struct ImgFXIntVars::@173 color
BSS Vtx * ImgFXVtxBuffers[2]
void imgfx_mesh_load_colors(ImgFXState *state)
ImgFXState * imgfx_get_instance(s32 idx)
struct ImgFXFloatVars::@177 wavy
void imgfx_add_to_cache(void *data, s8 usingContextualHeap)
void imgfx_mesh_make_grid(ImgFXState *state)
s32 imgfx_get_free_instances(s32 count)
BSS ImgFXInstanceList * ImgFXInstances
void imgfx_appendGfx_mesh_basic(ImgFXState *, Matrix4f mtx)
s32 imgfx_appendGfx_component(s32 idx, ImgFXTexture *ifxImg, u32 flagBits, Matrix4f mtx)
void imgfx_appendGfx_mesh_anim(ImgFXState *, Matrix4f mtx)
Addr horizontal_pipe_curl_header
void imgfx_set_state_flags(s32 idx, u16 flagBits, s32 mode)
void imgfx_appendGfx_mesh_grid(ImgFXState *, Matrix4f mtx)
@ IMGFX_ANIM_FLAG_ABSOLUTE_COORDS
Addr tutankoopa_gather_header
void imgfx_appendGfx_mesh(ImgFXState *state, Matrix4f mtx)
void imgfx_release_instance_chain(u32 idx)
u16 ImgFXVtxBufferCapacity
Gfx DefaultImgFXSetupGfx[]
void imgfx_update(u32 idx, ImgFXType type, s32 imgfxArg1, s32 imgfxArg2, s32 imgfxArg3, s32 imgfxArg4, s32 flags)
struct ImgFXFloatVars::@178 overlay
void imgfx_init_instance(ImgFXState *state)
Addr tutankoopa_swirl_2_header
void imgfx_cache_instance_data(ImgFXState *state)
struct ImgFXIntVars::@174 hologram
BSS ImgFXCacheEntry ImgFXDataCache[8]
void imgfx_mesh_make_wavy(ImgFXState *state)
BSS ImgFXWorkingTexture ImgFXCurrentTexture
void imgfx_mesh_anim_update(ImgFXState *state)
void imgfx_make_mesh(ImgFXState *state)
Addr tutankoopa_swirl_1_header
Addr spirit_capture_header
struct ImgFXIntVars::@175 overlay
ImgFXVtx * keyframesOffset
#define PM_CC_IMGFX_COLOR_FILL
#define MAX_IMGFX_INSTANCES
#define VIRTUAL_TO_PHYSICAL(addr)
#define PM_CC_IMGFX_HOLOGRAM
void create_shading_palette(Matrix4f mtx, s32 uls, s32 ult, s32 lrs, s32 lrt, s32 alpha, s32)
u8 Addr[]
Linker symbol address, as in ld_addrs.h.
GameStatus * gGameStatusPtr
SpriteShadingProfile * gSpriteShadingProfile
s32 gCurrentDisplayContextIndex
DisplayContext * gDisplayContext