Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
sprite_drawer.c File Reference
#include "engine/game.h"
#include <libgs.h>
#include <libetc.h>
#include <libsnd.h>
Include dependency graph for sprite_drawer.c:

Go to the source code of this file.

Functions

void bindSpriteDrawer (SpriteDrawer *obj)
 Makes obj the sprite drawer the methods work on.
 
void spriteDrawerSetTexture (s32 x, s32 y)
 Sprite drawer method: the VRAM position of the sheet's texture and CLUTs.
 
void spriteDrawerSetAltClut (s32 x, s32 y)
 Sprite drawer method: the other CLUT area, for parts that ask for it.
 
void spriteDrawerSetClutRow (s32 row)
 Sprite drawer method: the CLUT row added to every part's.
 
void spriteDrawerSetLayer (Layer *layer, s32 depth)
 Sprite drawer method: the layer and depth to draw to.
 
void spriteDrawerSetLayerId (s32 id, s32 depth)
 Sprite drawer method: the layer (by id) and depth to draw to.
 
void spriteDrawerDraw (s32 *sheet, s32 frame, s32 x, s32 y)
 Draws frame frame of a sprite sheet (see SpritePart) at (x, y): as sprites, changing the texture page between parts when needed, or as textured quads when the drawer is scaled or rotated.
 
void spriteDrawerSetScale (s32 x, s32 y, s32 z)
 Sprite drawer method: scales the sprites (ONE: as they are)
 
void spriteDrawerSetRotation (s16 x, s16 y, s16 z)
 Sprite drawer method: rotates the sprites.
 
void spriteDrawerSetPivot (s32 x, s32 y)
 Sprite drawer method: the point the sprites scale and rotate around.
 
void spriteDrawerSetFollowScroll (s32 on)
 Sprite drawer method: whether the sprites move with the layer's scroll.
 
void spriteDrawerSetColor (CVECTOR *color)
 Sprite drawer method: the color the sprites are tinted with.
 
void initSpriteDrawer (SpriteDrawer *obj)
 Clears a sprite drawer to neutral (no scale, gray tint, follows the scroll), gives it its methods and binds it.
 

Variables

static SpriteDrawer * SPRITE_DRAWER
 Small variables, addressed through $gp (see the Makefile)
 

Function Documentation

◆ bindSpriteDrawer()

void bindSpriteDrawer ( SpriteDrawer *  obj)

Makes obj the sprite drawer the methods work on.

Definition at line 10 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetTexture()

void spriteDrawerSetTexture ( s32  x,
s32  y 
)

Sprite drawer method: the VRAM position of the sheet's texture and CLUTs.

Definition at line 15 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetAltClut()

void spriteDrawerSetAltClut ( s32  x,
s32  y 
)

Sprite drawer method: the other CLUT area, for parts that ask for it.

Definition at line 23 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetClutRow()

void spriteDrawerSetClutRow ( s32  row)

Sprite drawer method: the CLUT row added to every part's.

Definition at line 29 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetLayer()

void spriteDrawerSetLayer ( Layer *  layer,
s32  depth 
)

Sprite drawer method: the layer and depth to draw to.

Definition at line 34 of file sprite_drawer.c.

Referenced by initSpriteDrawer(), and spriteDrawerSetLayerId().

Here is the caller graph for this function:

◆ spriteDrawerSetLayerId()

void spriteDrawerSetLayerId ( s32  id,
s32  depth 
)

Sprite drawer method: the layer (by id) and depth to draw to.

Definition at line 40 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ spriteDrawerDraw()

void spriteDrawerDraw ( s32 *  sheet,
s32  frame,
s32  x,
s32  y 
)

Draws frame frame of a sprite sheet (see SpritePart) at (x, y): as sprites, changing the texture page between parts when needed, or as textured quads when the drawer is scaled or rotated.

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

Definition at line 49 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetScale()

void spriteDrawerSetScale ( s32  x,
s32  y,
s32  z 
)

Sprite drawer method: scales the sprites (ONE: as they are)

Definition at line 197 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetRotation()

void spriteDrawerSetRotation ( s16  x,
s16  y,
s16  z 
)

Sprite drawer method: rotates the sprites.

An old-style definition, as SpriteDrawer.setRotation's unprototyped callers suit: they pass ints, which it takes as shorts.

Definition at line 209 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetPivot()

void spriteDrawerSetPivot ( s32  x,
s32  y 
)

Sprite drawer method: the point the sprites scale and rotate around.

Definition at line 221 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetFollowScroll()

void spriteDrawerSetFollowScroll ( s32  on)

Sprite drawer method: whether the sprites move with the layer's scroll.

Definition at line 227 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ spriteDrawerSetColor()

void spriteDrawerSetColor ( CVECTOR *  color)

Sprite drawer method: the color the sprites are tinted with.

Definition at line 232 of file sprite_drawer.c.

Referenced by initSpriteDrawer().

Here is the caller graph for this function:

◆ initSpriteDrawer()

void initSpriteDrawer ( SpriteDrawer *  obj)

Clears a sprite drawer to neutral (no scale, gray tint, follows the scroll), gives it its methods and binds it.

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

Definition at line 240 of file sprite_drawer.c.

Referenced by CARDGAME_drawBackground(), CARDGAME_drawBlinker(), CARDGAME_drawCardPicture(), CARDGAME_drawDeckWindow(), CARDGAME_drawGauge(), CARDGAME_drawMarker(), CARDGAME_drawMenuFrame(), CARDGAME_drawMessageFrame(), CARDGAME_drawMessageMark(), CARDGAME_drawNumber(), CARDGAME_drawPanel(), CARDGAME_drawPanelIcon(), CARDGAME_drawSpriteBlink(), CARDGAME_drawSpriteCard(), CARDGAME_drawSpriteDim(), CARDGAME_drawSpriteEffect(), CARDGAME_drawSpriteHighlights(), CARDGAME_drawSpriteMarks(), CARDGAME_drawSpriteOrder(), CARDGAME_drawWindowFrame(), CNTY_SEL_drawBackground(), CNTY_SEL_drawCursor(), CNTY_SEL_drawLeftPanel(), CNTY_SEL_drawRightPanel(), CNTY_SEL_drawTopPanel(), drawActorMark(), drawBackground(), drawCardMark(), drawCardNumbers(), drawEffect(), drawEffect(), drawEntryPanel(), drawFaller(), drawFieldMenuFade(), drawFloaterPart(), drawFlyer(), drawFlyerGate(), drawGauge(), drawGlow(), drawKeyboard(), drawMessageBoxArrow(), drawMessageBoxFrame(), drawPairSprite(), drawPanelParts(), drawScroller(), drawStageEffect(), drawTalkBoxArrow(), drawTalkBoxFrame(), drawTimer(), drawWindowCount(), FIELDSTG_drawBalloon(), FIELDSTG_drawMapObject(), FIELDSTG_drawSpotEffect(), FIELDSTG_playCutsceneAnim(), FIELDSTG_runChoice(), FIELDSTG_showSpotHint(), FIELDSTG_updateActorIcon(), FIELDSTG_updateEffect(), FIELDSTG_updateMapObjects(), FIGHTSTG_drawConfusedMessageBox(), FIGHTSTG_drawCursorSprites(), FIGHTSTG_drawHud(), FIGHTSTG_drawItemMenu(), FIGHTSTG_drawMessageBox(), FIGHTSTG_drawPageArrows(), FIGHTSTG_drawPartnerViewFrame(), FIGHTSTG_drawSpriteAnim(), FIGHTSTG_drawStatsFrame(), FIGHTSTG_drawSwitchInMenu(), FIGHTSTG_drawSwitchMenu(), FIGHTSTG_drawTechIcons(), FIGHTSTG_drawTechMenu(), FIGHTSTG_updateSwitchMenu(), STCRDABM_drawAlbum(), STCRDABM_drawCards(), STCRDABM_drawTurningSlots(), STCRDDEK_drawDeckCards(), STCRDDEK_drawEditor(), STCRDDEK_drawIdle(), STCRDDEK_drawScreen(), STCRDSHP_drawBuy(), STCRDSHP_drawCards(), STCRDSHP_drawPackOpen(), STCRDSHP_drawShop(), STCRDSHP_drawTurningSlots(), STDGNAME_drawBackground(), STDGNAME_drawMenu(), STDWTITL_drawBackground(), STDWTITL_drawBackgroundSprites(), STDWTITL_drawGlint(), STDWTITL_drawGlintAlt(), STDWTITL_drawLogo(), STDWTITL_drawMenu(), STDWTITL_drawSplash(), STDWTITL_drawTitle0(), STDWTITL_drawTitle0Alt(), STDWTITL_drawTitle1(), STDWTITL_drawTitle1Alt(), STFGTREP_drawPartner(), STFGTREP_drawReport(), STGDGLAB_drawEntryList(), STGDGLAB_drawMenu(), STGDGLAB_drawPartyScreen(), STGDGLAB_drawRecipeScreen(), STGDGLAB_drawSkillPanel(), STGDGLAB_drawSlotScreen(), STGDGLAB_updateLab(), STGMCARD_drawSaves(), STGMCARD_updateInfo(), STGMCARD_updateMenu(), STGMCARD_updatePanel(), STGMCARD_updateScreen(), STGTRAIN_drawIdle(), STGTRAIN_drawMenu(), STGTRAIN_drawResult(), STGTRAIN_drawScreen(), STGTRAIN_drawSession(), STITSHOP_drawBuy(), STITSHOP_drawItemList(), STITSHOP_drawSell(), STITSHOP_drawShop(), STITSHOP_drawStatsPage(), STITSHOP_updateInfo(), STPLNMET_drawChoice(), STPLNMET_drawConfirm(), STPLNMET_drawTitle(), STPLNMET_updateScroll(), STPLNMET_updateShine(), STPLNMET_updateSparkles(), STPLNMET_updateWelcome(), STSTATUS_drawBackground(), STSTATUS_drawCardScreen(), STSTATUS_drawDemoScreen(), STSTATUS_drawDigivolvePanel(), STSTATUS_drawEquipPanel(), STSTATUS_drawItemList(), STSTATUS_drawItemScreen(), STSTATUS_drawMapScreen(), STSTATUS_drawSortScreen(), STSTATUS_drawStatusScreen(), STSTATUS_drawTechScreen(), updateEvent1510(), updateEvent1512(), updateEvent1514(), updateEvent1516(), updateEvent1518(), updateEvent1520(), updateEvent1602(), updateEvent1604(), updateEvent1616(), updateEvent1618(), updateEvent9(), updateFarSprites(), updateFieldMenu(), updateInn(), updateListMenu(), updateMenu(), and updateSpriteField().

Here is the call graph for this function:

Variable Documentation

◆ SPRITE_DRAWER