Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
gfx.h File Reference

Display, drawing layers, the drawing helpers and the screen fade (gfx/) More...

#include "common.h"
#include <sys/types.h>
#include <libgte.h>
#include <libgpu.h>
#include "engine/task.h"
Include dependency graph for gfx.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  GfxFuncs
 The graphics methods (GFX.funcs) More...
 
struct  GfxState
 The graphics state: double-buffered display, the GPU packet buffers that primitives are written to (getPrim/setPrim), and up to LAYER_COUNT drawing layers, each with its own ordering table, drawn in order by drawFrame. More...
 
struct  LayerView
 Layer as its clip/scroll methods see it: the clip rect as unsigned. More...
 
struct  Rect16
 
struct  DrawCallback
 A function that a layer calls when it is drawn (Layer.addDrawCallback) More...
 
struct  Layer
 A drawing layer (GFX.funcs.createLayer): a DRAWENV with a pair of ordering tables, one per buffer, a scroll position and a list of draw callbacks. More...
 
struct  CardImage
 A card's image (CardDrawer.card): 64 to a file, a 12-byte header and a 32x32 8-bit TIM. More...
 
struct  CardDrawer
 Draws the cards' images (CardImage), from files 0x7E7-0x7EB. More...
 
struct  SpriteDrawer
 Draws sprites from a sprite sheet (such as file 0x277, the menu graphics): a sheet has a table of frames, each made of textured parts, and can be scaled, rotated and tinted. More...
 
struct  SpritePart
 One part of a sprite sheet, a rectangle of its texture. More...
 
struct  AnimFrame
 One frame of a sprite animation; frame 0xFF ends it (or loops it) More...
 
struct  AnimState
 
struct  TimBlock
 A TIM's CLUT or image block. More...
 
union  TimCursor
 Where timLoaderLoad is in a TIM: its words, then its blocks, which their sizes in bytes take it past. More...
 
struct  TimLoader
 Uploads TIM images to VRAM (initTimLoader); acts on TIM_LOADER. More...
 
union  PrimPtr
 The next free primitive of the packet buffer (getPrim), written as the kind that is drawn next. More...
 
struct  Vec2
 
struct  ScreenFade
 Fades the whole screen to black and back with a subtractive rectangle. More...
 

Macros

#define SCREEN_WIDTH   320
 The screen the modes draw on (setDisplayMode, their layers' rects)
 
#define SCREEN_HEIGHT   240
 
#define LAYER_COUNT   30
 The drawing layers GFX holds at most.
 
#define SCREEN_LAYER   0x1000
 The layer over the whole screen that most modes create first and draw their menus on (FIELDSTG and STDWTITL name theirs: FIELD_LAYER_BACK, STDWTITL_TITLE_LAYER); the ones they add next take 0x1001 and up.
 
#define VSYNC_STEP_NTSC   0x100
 What a vsync adds to the 8.8 time counters: a frame of the 60 Hz game, or 1.2 of them at 50 Hz so that the game keeps its pace.
 
#define VSYNC_STEP_PAL   0x133
 
#define STRETCH_SPRITE_BY(sprite, level, scaleX, scaleY, x, y)
 Stretch the drawer's next sprites by a fade level about the pivot (x, y) while the level is below ONE (a panel opening or closing), else draw them at full size.
 
#define STRETCH_SPRITE(sprite, level, x, y)   STRETCH_SPRITE_BY(sprite, level, level, ONE, x, y)
 
#define STRETCH_SPRITE_V(sprite, level, x, y)   STRETCH_SPRITE_BY(sprite, level, ONE, level, x, y)
 
#define ZOOM_SPRITE(sprite, level, x, y)   STRETCH_SPRITE_BY(sprite, level, level, level, x, y)
 
#define FADE_LEVEL_MAX   0xFF00
 ScreenFade.level when the screen is black: 0xFF in 8.8 fixed point.
 

Functions

Layer * getLayer (s32 id)
 The layer with id id, or NULL.
 
Layer * createLayer (RECT *rect, s32 otShift, s32 id)
 A new layer drawing to rect, with an OT of OT_LENGTHS[otShift - 1] entries; NULL when all are in use.
 
s32 destroyLayer (s32 id)
 Frees the layer with id id; 0 if there is none.
 
void moveLayer (s32 id, s32 targetId, s32 delta)
 Moves a layer to the position of another one (plus delta) in the draw order.
 
void layerClearOt (Layer *layer)
 Layer method: clears the OT of the buffer being drawn.
 
u_long * layerGetOtEntryZ (Layer *layer, s32 z)
 Layer method: the OT entry for a 16-bit Z, scaled to the OT's length.
 
u_long * layerGetOt (Layer *layer)
 Layer method: the OT of the buffer being drawn.
 
s32 layerGetOtShift (LayerView *layer)
 Layer method: the OT size it was created with.
 
void layerSetBgColor (LayerView *layer, s32 r, s32 g, s32 b)
 old-style: u8 r, g, b
 
void layerSetOffset (LayerView *layer, s32 x, s32 y)
 old-style: s16 x, y
 
void layerGetScroll (LayerView *layer, Vec2 *out)
 Layer method: the scroll position, in pixels.
 
void layerSetScroll (LayerView *layer, s32 x, s32 y)
 Layer method: sets the scroll position (8.8 fixed point)
 
void layerAddScroll (LayerView *layer, s32 dx, s32 dy)
 Layer method: scrolls by (dx, dy) (8.8 fixed point)
 
void layerSetClipPos (LayerView *layer, s32 x, s32 y)
 old-style: s16 x, y
 
void layerSetClipSize (LayerView *layer, s32 w, s32 h)
 old-style: s16 w, h
 
void layerGetViewRect (LayerView *layer, Rect16 *rect)
 Layer method: the part of the scrolled world the clip rectangle shows.
 
void layerFree (Layer *layer)
 Layer method: frees its OTs and draw callbacks, once the GPU is done with them.
 
void layerResetCallbacks (Layer *layer)
 Layer method: empties the draw callbacks, but for the head entry, which sorts first.
 
void layerAllocCallbacks (Layer *layer, s32 count)
 Layer method: room for count draw callbacks.
 
void layerAddSortedCallback (Layer *layer, void(*func)(s32, void *, s32), s32 arg, s32 priority, s32 param)
 Layer method: adds a draw callback in order of priority, highest first.
 
void layerAddCallback (Layer *layer, void(*func)(s32, void *, s32), s32 arg)
 Layer method: adds a draw callback at the end of the list.
 
void layerRunCallbacks (Layer *layer)
 Layer method: runs the draw callbacks in order, then empties the list.
 
void layerSetKeepView (Layer *layer, s32 enable, s32 projection)
 Layer method: keeps the current world-screen matrix and projection for this buffer's drawing.
 
void layerLoadView (Layer *layer)
 Layer method: restores the view that setKeepView kept.
 
void layerSetKeepLightMatrix (Layer *layer, s32 enable)
 Layer method: keeps the current light matrix for this buffer's drawing.
 
void layerLoadLightMatrix (Layer *layer)
 Layer method: restores the light matrix that setKeepLightMatrix kept.
 
void layerSkipEmptyOt (Layer *layer)
 Links every run of empty OT entries past itself, so the GPU skips it.
 
void layerDraw (Layer *layer)
 Layer method: sends the OT of the finished buffer, after its DRAWENV with the layer's offset.
 
u_long * layerGetOtEntry (Layer *layer, s32 depth)
 Layer method: the OT entry at depth in the buffer being drawn.
 
Layer * newLayer (DRAWENV *env, s32 otShift)
 Allocates a layer with its two OTs and methods.
 
s32 findLayerSlot (s32 id)
 The slot of the layer with this id; id 0 finds a free slot.
 
void removeLayerSlot (s32 index)
 Closes the gap of a removed layer in the draw order.
 
void insertLayerSlot (s32 index, Layer *layer, s32 id)
 Puts a layer at position index of the draw order, moving the later ones back.
 
void initTimLoader (TimLoader *obj)
 Clears a TIM loader, gives it its methods and binds it.
 
void vsyncCallback (void)
 Every vsync: advances the time counters and the play time, runs GFX.vsyncFunc, shows the finished buffer and ticks the music.
 
void startVSyncCallback (void)
 Installs vsyncCallback.
 
void drawFrame (s32 draw)
 Ends a frame: lets the layers run their draw callbacks, waits for the GPU and for the vsync that shows the finished buffer, then sends every layer of that buffer and clears the ones of the next.
 
s32 getFrameCount (void)
 The frames drawn since boot.
 
s32 getTime (void)
 The vsyncs since boot (in 60 Hz frames)
 
s32 getFrameTime (void)
 The vsyncs the last frame took (in 60 Hz frames)
 
void resetGraphics (void)
 Destroys every layer and clears the packet buffers' state; the first call just picks the buffers.
 
void allocPrimBuffers (s32 size)
 Allocates the two GPU packet buffers, size bytes each, at the end of the heap.
 
void * getPrim (void)
 The next free byte of the packet buffer being drawn.
 
void setPrim (void *next)
 Moves the packet buffer's free pointer past the primitives just written.
 
void freePrimBuffers (void)
 Frees the two packet buffers.
 
void setDisplayMode (s32 w, s32 h, s32 hires, s32 interlace)
 Sets up the two display buffers: side by side in hi-res (interlaced 320x480 24-bit), else one above the other.
 
void setDisplayArea (s32 x, s32 y, s32 w, s32 h)
 Shows the same VRAM area from both display buffers.
 
void bindCardDrawer (CardDrawer *obj)
 Makes obj the card drawer the methods work on.
 
void cardDrawerSetCard (s32 id)
 Card drawer method: picks the image of card id (0 or less: the first image of the first file)
 
void cardDrawerLoadImage (void)
 Card drawer method: loads the card's image and CLUT into its cell of VRAM.
 
void cardDrawerSetLayer (s32 id, s32 depth)
 Card drawer method: the layer and depth to draw to.
 
void cardDrawerSetImagePos (s32 x, s32 y)
 Card drawer method: the VRAM area of the image cells.
 
void cardDrawerSetClutPos (s32 x, s32 y)
 Card drawer method: the VRAM area of the CLUTs.
 
void cardDrawerSetCell (s32 x, s32 y)
 Card drawer method: the cell a card is loaded to and drawn from.
 
void cardDrawerSetClutStride (s32 stride)
 Card drawer method: the CLUT rows between two columns of cells.
 
void cardDrawerSetSemiTrans (s32 on)
 Card drawer method: draws semi-transparent, or not.
 
void cardDrawerDraw (s32 x, s32 y)
 Card drawer method: draws the card of the current cell at (x, y), a 32x32 sprite.
 
s32 cardDrawerGetKind (void)
 Card drawer method: the kind of the current card (CARD_KINDS)
 
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 arg1)
 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 (s32 x, s32 y, s32 z)
 old-style: s16 x, y, z
 
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 bindTimLoader (TimLoader *obj)
 Makes obj the TIM loader the methods work on.
 
void timLoaderSetImagePos (s32 x, s32 y)
 TIM loader method: where in VRAM the next image goes.
 
void timLoaderSetClutPos (s32 x, s32 y)
 TIM loader method: where in VRAM the next CLUT goes.
 
void timLoaderLoad (void *tim)
 TIM loader method: sends a TIM's CLUT (4 and 8-bit images) and image to VRAM.
 
void timLoaderLoadArchive (void *archive)
 TIM loader method: loads every TIM of an archive side by side, 0x40 halfwords apart, unpacking the RLEN ones.
 
void timLoaderSetBufferSize (s32 size)
 TIM loader method: the buffer that RLEN TIMs are unpacked to.
 
void initSpriteDrawer (struct SpriteDrawer *obj)
 Clears a sprite drawer to neutral (no scale, gray tint, follows the scroll), gives it its methods and binds it.
 
void initCardDrawer (CardDrawer *obj)
 Clears a card drawer, gives it its methods and binds it.
 
void screenFadeStart (ScreenFade *task, s32 fadeIn, s32 duration)
 Starts fading the screen to black (fadeIn 0) or back, over duration frames.
 
ScreenFade * createScreenFade (s32 layerId)
 A screen fade task on a layer, idle until started.
 
void drawScreenFade (struct ScreenFade *task)
 A full-screen POLY_F4 with subtractive blending (tpage 0xE1000245)
 
void updateScreenFade (struct ScreenFade *task)
 Moves the fade one frame on and draws it; TASK_DONE at the end, still drawn.
 

Variables

s16 OT_LENGTHS []
 A layer's ordering table length, by its otShift - 1.
 
s32 CARD_IMAGE_FILES []
 The card images, 64 cards to a file (cardDrawerSetCard), numbered in the Japanese disc as in the USA one.
 
GfxState GFX
 GFX: the graphics state and its methods.
 
s32 NTSC_MODE
 The European version runs at 50 Hz (PAL) unless NTSC_MODE is set; its clocks then advance 0x133, 60/50 of 0x100, per frame.
 
s32 SHIFT_PAL_SCREEN
 moves both display areas 0x18 lines down
 
s32 CARD_KINDS []
 cardDrawerGetKind's kinds, by a card image's byte 3
 

Detailed Description

Display, drawing layers, the drawing helpers and the screen fade (gfx/)

Definition in file gfx.h.

Macro Definition Documentation

◆ SCREEN_WIDTH

#define SCREEN_WIDTH   320

The screen the modes draw on (setDisplayMode, their layers' rects)

Definition at line 36 of file gfx.h.

◆ SCREEN_HEIGHT

#define SCREEN_HEIGHT   240

Definition at line 37 of file gfx.h.

◆ LAYER_COUNT

#define LAYER_COUNT   30

The drawing layers GFX holds at most.

Definition at line 40 of file gfx.h.

◆ SCREEN_LAYER

#define SCREEN_LAYER   0x1000

The layer over the whole screen that most modes create first and draw their menus on (FIELDSTG and STDWTITL name theirs: FIELD_LAYER_BACK, STDWTITL_TITLE_LAYER); the ones they add next take 0x1001 and up.

Definition at line 45 of file gfx.h.

◆ VSYNC_STEP_NTSC

#define VSYNC_STEP_NTSC   0x100

What a vsync adds to the 8.8 time counters: a frame of the 60 Hz game, or 1.2 of them at 50 Hz so that the game keeps its pace.

Definition at line 51 of file gfx.h.

◆ VSYNC_STEP_PAL

#define VSYNC_STEP_PAL   0x133

Definition at line 52 of file gfx.h.

◆ STRETCH_SPRITE_BY

#define STRETCH_SPRITE_BY (   sprite,
  level,
  scaleX,
  scaleY,
  x,
  y 
)
Value:
if ((level) != ONE) { \
(sprite).setScale(scaleX, scaleY, ONE); \
(sprite).setPivot(x, y); \
} else \
(sprite).setScale(ONE, ONE, ONE)

Stretch the drawer's next sprites by a fade level about the pivot (x, y) while the level is below ONE (a panel opening or closing), else draw them at full size.

STRETCH_SPRITE stretches the width, STRETCH_SPRITE_V the height and ZOOM_SPRITE both. The game reads the level again at each use, so level must have no side effects; a static inline that reads it once does not match, which suggests the original was a macro too. A bare if/else, not do { } while (0): that wrapper changes GCC 2.8.1's code at most of the uses. It ends in its own else, whose statement takes the caller's ';', so it stays one statement as the unbraced body of an if/else too (no dangling else); it can't be used as an expression.

Definition at line 267 of file gfx.h.

◆ STRETCH_SPRITE

#define STRETCH_SPRITE (   sprite,
  level,
  x,
  y 
)    STRETCH_SPRITE_BY(sprite, level, level, ONE, x, y)

Definition at line 273 of file gfx.h.

◆ STRETCH_SPRITE_V

#define STRETCH_SPRITE_V (   sprite,
  level,
  x,
  y 
)    STRETCH_SPRITE_BY(sprite, level, ONE, level, x, y)

Definition at line 274 of file gfx.h.

◆ ZOOM_SPRITE

#define ZOOM_SPRITE (   sprite,
  level,
  x,
  y 
)    STRETCH_SPRITE_BY(sprite, level, level, level, x, y)

Definition at line 275 of file gfx.h.

◆ FADE_LEVEL_MAX

#define FADE_LEVEL_MAX   0xFF00

ScreenFade.level when the screen is black: 0xFF in 8.8 fixed point.

Definition at line 358 of file gfx.h.

Function Documentation

◆ getLayer()

Layer * getLayer ( s32  id)

The layer with id id, or NULL.

Definition at line 7 of file layer.c.

◆ createLayer()

Layer * createLayer ( RECT *  rect,
s32  otShift,
s32  id 
)

A new layer drawing to rect, with an OT of OT_LENGTHS[otShift - 1] entries; NULL when all are in use.

Definition at line 58 of file layer.c.

Here is the call graph for this function:

◆ destroyLayer()

s32 destroyLayer ( s32  id)

Frees the layer with id id; 0 if there is none.

Definition at line 71 of file layer.c.

Here is the call graph for this function:

◆ moveLayer()

void moveLayer ( s32  id,
s32  targetId,
s32  delta 
)

Moves a layer to the position of another one (plus delta) in the draw order.

Definition at line 86 of file layer.c.

Here is the call graph for this function:

◆ layerClearOt()

void layerClearOt ( Layer *  layer)

Layer method: clears the OT of the buffer being drawn.

Definition at line 106 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerGetOtEntryZ()

u_long * layerGetOtEntryZ ( Layer *  layer,
s32  z 
)

Layer method: the OT entry for a 16-bit Z, scaled to the OT's length.

Definition at line 159 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerGetOt()

u_long * layerGetOt ( Layer *  layer)

Layer method: the OT of the buffer being drawn.

Definition at line 166 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerGetOtShift()

s32 layerGetOtShift ( LayerView *  layer)

Layer method: the OT size it was created with.

Definition at line 171 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerSetBgColor()

void layerSetBgColor ( LayerView *  layer,
s32  r,
s32  g,
s32  b 
)

old-style: u8 r, g, b

◆ layerSetOffset()

void layerSetOffset ( LayerView *  layer,
s32  x,
s32  y 
)

old-style: s16 x, y

◆ layerGetScroll()

void layerGetScroll ( LayerView *  layer,
Vec2 *  out 
)

Layer method: the scroll position, in pixels.

Definition at line 207 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerSetScroll()

void layerSetScroll ( LayerView *  layer,
s32  x,
s32  y 
)

Layer method: sets the scroll position (8.8 fixed point)

Definition at line 213 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerAddScroll()

void layerAddScroll ( LayerView *  layer,
s32  dx,
s32  dy 
)

Layer method: scrolls by (dx, dy) (8.8 fixed point)

Definition at line 219 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerSetClipPos()

void layerSetClipPos ( LayerView *  layer,
s32  x,
s32  y 
)

old-style: s16 x, y

◆ layerSetClipSize()

void layerSetClipSize ( LayerView *  layer,
s32  w,
s32  h 
)

old-style: s16 w, h

◆ layerGetViewRect()

void layerGetViewRect ( LayerView *  layer,
Rect16 *  rect 
)

Layer method: the part of the scrolled world the clip rectangle shows.

Definition at line 245 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerFree()

void layerFree ( Layer *  layer)

Layer method: frees its OTs and draw callbacks, once the GPU is done with them.

Definition at line 253 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerResetCallbacks()

void layerResetCallbacks ( Layer *  layer)

Layer method: empties the draw callbacks, but for the head entry, which sorts first.

Definition at line 263 of file layer.c.

Referenced by layerAllocCallbacks(), and layerRunCallbacks().

Here is the caller graph for this function:

◆ layerAllocCallbacks()

void layerAllocCallbacks ( Layer *  layer,
s32  count 
)

Layer method: room for count draw callbacks.

< the current mode's: freed by main whenever the mode task ends

Definition at line 273 of file layer.c.

Referenced by newLayer().

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

◆ layerAddSortedCallback()

void layerAddSortedCallback ( Layer *  layer,
void(*)(s32, void *, s32)  func,
s32  arg,
s32  priority,
s32  param 
)

Layer method: adds a draw callback in order of priority, highest first.

Definition at line 280 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerAddCallback()

void layerAddCallback ( Layer *  layer,
void(*)(s32, void *, s32)  func,
s32  arg 
)

Layer method: adds a draw callback at the end of the list.

Definition at line 323 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerRunCallbacks()

void layerRunCallbacks ( Layer *  layer)

Layer method: runs the draw callbacks in order, then empties the list.

Definition at line 341 of file layer.c.

Referenced by newLayer().

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

◆ layerSetKeepView()

void layerSetKeepView ( Layer *  layer,
s32  enable,
s32  projection 
)

Layer method: keeps the current world-screen matrix and projection for this buffer's drawing.

Definition at line 357 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerLoadView()

void layerLoadView ( Layer *  layer)

Layer method: restores the view that setKeepView kept.

Definition at line 366 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerSetKeepLightMatrix()

void layerSetKeepLightMatrix ( Layer *  layer,
s32  enable 
)

Layer method: keeps the current light matrix for this buffer's drawing.

Definition at line 372 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerLoadLightMatrix()

void layerLoadLightMatrix ( Layer *  layer)

Layer method: restores the light matrix that setKeepLightMatrix kept.

Definition at line 380 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ layerSkipEmptyOt()

void layerSkipEmptyOt ( Layer *  layer)

Links every run of empty OT entries past itself, so the GPU skips it.

Definition at line 111 of file layer.c.

Referenced by layerDraw().

Here is the caller graph for this function:

◆ layerDraw()

void layerDraw ( Layer *  layer)

Layer method: sends the OT of the finished buffer, after its DRAWENV with the layer's offset.

Definition at line 130 of file layer.c.

Referenced by newLayer().

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

◆ layerGetOtEntry()

u_long * layerGetOtEntry ( Layer *  layer,
s32  depth 
)

Layer method: the OT entry at depth in the buffer being drawn.

Definition at line 154 of file layer.c.

Referenced by newLayer().

Here is the caller graph for this function:

◆ newLayer()

Layer * newLayer ( DRAWENV *  env,
s32  otShift 
)

Allocates a layer with its two OTs and methods.

< the current mode's: freed by main whenever the mode task ends

< the current mode's: freed by main whenever the mode task ends

< the current mode's: freed by main whenever the mode task ends

Definition at line 385 of file layer.c.

Referenced by createLayer().

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

◆ findLayerSlot()

s32 findLayerSlot ( s32  id)

The slot of the layer with this id; id 0 finds a free slot.

Definition at line 19 of file layer.c.

Referenced by createLayer(), destroyLayer(), and moveLayer().

Here is the caller graph for this function:

◆ removeLayerSlot()

void removeLayerSlot ( s32  index)

Closes the gap of a removed layer in the draw order.

Definition at line 35 of file layer.c.

Referenced by destroyLayer(), and moveLayer().

Here is the caller graph for this function:

◆ insertLayerSlot()

void insertLayerSlot ( s32  index,
Layer *  layer,
s32  id 
)

Puts a layer at position index of the draw order, moving the later ones back.

Definition at line 43 of file layer.c.

Referenced by moveLayer().

Here is the caller graph for this function:

◆ initTimLoader()

◆ vsyncCallback()

void vsyncCallback ( void  )

Every vsync: advances the time counters and the play time, runs GFX.vsyncFunc, shows the finished buffer and ticks the music.

Definition at line 14 of file display.c.

Referenced by startVSyncCallback().

Here is the caller graph for this function:

◆ startVSyncCallback()

void startVSyncCallback ( void  )

Installs vsyncCallback.

Definition at line 42 of file display.c.

Here is the call graph for this function:

◆ drawFrame()

void drawFrame ( s32  draw)

Ends a frame: lets the layers run their draw callbacks, waits for the GPU and for the vsync that shows the finished buffer, then sends every layer of that buffer and clears the ones of the next.

Definition at line 51 of file display.c.

◆ getFrameCount()

s32 getFrameCount ( void  )

The frames drawn since boot.

Definition at line 106 of file display.c.

◆ getTime()

s32 getTime ( void  )

The vsyncs since boot (in 60 Hz frames)

Definition at line 111 of file display.c.

◆ getFrameTime()

s32 getFrameTime ( void  )

The vsyncs the last frame took (in 60 Hz frames)

Definition at line 116 of file display.c.

◆ resetGraphics()

void resetGraphics ( void  )

Destroys every layer and clears the packet buffers' state; the first call just picks the buffers.

Definition at line 123 of file display.c.

◆ allocPrimBuffers()

void allocPrimBuffers ( s32  size)

Allocates the two GPU packet buffers, size bytes each, at the end of the heap.

< the current mode's: freed by main whenever the mode task ends

< the current mode's: freed by main whenever the mode task ends

Definition at line 142 of file display.c.

◆ getPrim()

void * getPrim ( void  )

The next free byte of the packet buffer being drawn.

Definition at line 150 of file display.c.

◆ setPrim()

void setPrim ( void *  next)

Moves the packet buffer's free pointer past the primitives just written.

Definition at line 155 of file display.c.

◆ freePrimBuffers()

void freePrimBuffers ( void  )

Frees the two packet buffers.

Definition at line 160 of file display.c.

◆ setDisplayMode()

void setDisplayMode ( s32  w,
s32  h,
s32  hires,
s32  interlace 
)

Sets up the two display buffers: side by side in hi-res (interlaced 320x480 24-bit), else one above the other.

Definition at line 175 of file display.c.

◆ setDisplayArea()

void setDisplayArea ( s32  x,
s32  y,
s32  w,
s32  h 
)

Shows the same VRAM area from both display buffers.

Definition at line 203 of file display.c.

◆ bindCardDrawer()

void bindCardDrawer ( CardDrawer *  obj)

Makes obj the card drawer the methods work on.

Definition at line 10 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerSetCard()

void cardDrawerSetCard ( s32  id)

Card drawer method: picks the image of card id (0 or less: the first image of the first file)

Definition at line 17 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerLoadImage()

void cardDrawerLoadImage ( void  )

Card drawer method: loads the card's image and CLUT into its cell of VRAM.

Definition at line 32 of file card_drawer.c.

Referenced by initCardDrawer().

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

◆ cardDrawerSetLayer()

void cardDrawerSetLayer ( s32  id,
s32  depth 
)

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

Definition at line 42 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerSetImagePos()

void cardDrawerSetImagePos ( s32  x,
s32  y 
)

Card drawer method: the VRAM area of the image cells.

Definition at line 50 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerSetClutPos()

void cardDrawerSetClutPos ( s32  x,
s32  y 
)

Card drawer method: the VRAM area of the CLUTs.

Definition at line 56 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerSetCell()

void cardDrawerSetCell ( s32  x,
s32  y 
)

Card drawer method: the cell a card is loaded to and drawn from.

Definition at line 62 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerSetClutStride()

void cardDrawerSetClutStride ( s32  stride)

Card drawer method: the CLUT rows between two columns of cells.

Definition at line 68 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerSetSemiTrans()

void cardDrawerSetSemiTrans ( s32  on)

Card drawer method: draws semi-transparent, or not.

Definition at line 73 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerDraw()

void cardDrawerDraw ( s32  x,
s32  y 
)

Card drawer method: draws the card of the current cell at (x, y), a 32x32 sprite.

Definition at line 78 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ cardDrawerGetKind()

s32 cardDrawerGetKind ( void  )

Card drawer method: the kind of the current card (CARD_KINDS)

Definition at line 108 of file card_drawer.c.

Referenced by initCardDrawer().

Here is the caller graph for this function:

◆ 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  arg1 
)

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 ( s32  x,
s32  y,
s32  z 
)

old-style: s16 x, y, z

◆ 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:

◆ bindTimLoader()

void bindTimLoader ( TimLoader *  obj)

Makes obj the TIM loader the methods work on.

Definition at line 10 of file tim_loader.c.

Referenced by initTimLoader().

Here is the caller graph for this function:

◆ timLoaderSetImagePos()

void timLoaderSetImagePos ( s32  x,
s32  y 
)

TIM loader method: where in VRAM the next image goes.

Definition at line 15 of file tim_loader.c.

Referenced by initTimLoader().

Here is the caller graph for this function:

◆ timLoaderSetClutPos()

void timLoaderSetClutPos ( s32  x,
s32  y 
)

TIM loader method: where in VRAM the next CLUT goes.

Definition at line 21 of file tim_loader.c.

Referenced by initTimLoader().

Here is the caller graph for this function:

◆ timLoaderLoad()

void timLoaderLoad ( void *  tim)

TIM loader method: sends a TIM's CLUT (4 and 8-bit images) and image to VRAM.

Definition at line 27 of file tim_loader.c.

Referenced by initTimLoader(), and timLoaderLoadArchive().

Here is the caller graph for this function:

◆ timLoaderLoadArchive()

void timLoaderLoadArchive ( void *  archive)

TIM loader method: loads every TIM of an archive side by side, 0x40 halfwords apart, unpacking the RLEN ones.

< the current mode's: freed by main whenever the mode task ends

Definition at line 66 of file tim_loader.c.

Referenced by initTimLoader().

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

◆ timLoaderSetBufferSize()

void timLoaderSetBufferSize ( s32  size)

TIM loader method: the buffer that RLEN TIMs are unpacked to.

Definition at line 114 of file tim_loader.c.

Referenced by initTimLoader().

Here is the caller graph for this function:

◆ initSpriteDrawer()

void initSpriteDrawer ( struct 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:

◆ initCardDrawer()

void initCardDrawer ( CardDrawer *  obj)

Clears a card drawer, gives it its methods and binds it.

Definition at line 113 of file card_drawer.c.

Referenced by CARDGAME_addCardPoints(), CARDGAME_addColorCount(), CARDGAME_canPlayCard(), CARDGAME_canPlayCardKind(), CARDGAME_checkPlayCondition(), CARDGAME_createDeckWindow(), CARDGAME_drawFromDeck(), CARDGAME_drawNewCards(), CARDGAME_findCardSet(), CARDGAME_getCardColor(), CARDGAME_loadCardImages(), CARDGAME_markPileCardsByColor(), CARDGAME_markSlotsByColor(), CARDGAME_pickBestPileCard(), CARDGAME_pickComputerCard(), CARDGAME_pickLowestOpponentCard(), CARDGAME_pickLowestPlayerCard(), CARDGAME_putSlotCard(), CARDGAME_scoreHand(), CARDGAME_setSlot(), CARDGAME_setSpriteCard(), CARDGAME_showCardInfo(), CARDGAME_startPreviousCardChoice(), CARDGAME_targetColor3Slot(), CARDGAME_targetColor4Slot(), jumpBackForOtherColors(), lastPlayColor(), STCRDABM_drawAlbum(), STCRDABM_drawCards(), STCRDABM_loadIcons(), STCRDABM_showCardInfo(), STCRDDEK_countCardKinds(), STCRDDEK_drawDeckCards(), STCRDDEK_drawEditor(), STCRDDEK_loadNextCard(), STCRDDEK_showEditorWindows(), STCRDDEK_showListCard(), STCRDSHP_chooseBuyCard(), STCRDSHP_drawBuy(), STCRDSHP_drawCards(), STCRDSHP_drawPackOpen(), STCRDSHP_loadIcons(), STCRDSHP_showBuyCard(), and STCRDSHP_showPackCard().

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

◆ screenFadeStart()

void screenFadeStart ( ScreenFade *  task,
s32  fadeIn,
s32  duration 
)

Starts fading the screen to black (fadeIn 0) or back, over duration frames.

Definition at line 4 of file screen_fade.c.

Referenced by createScreenFade().

Here is the caller graph for this function:

◆ createScreenFade()

ScreenFade * createScreenFade ( s32  layerId)

A screen fade task on a layer, idle until started.

Definition at line 76 of file screen_fade.c.

Referenced by updateInnMenu(), and warpAway().

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

◆ drawScreenFade()

void drawScreenFade ( struct ScreenFade *  task)

A full-screen POLY_F4 with subtractive blending (tpage 0xE1000245)

Definition at line 24 of file screen_fade.c.

Referenced by updateScreenFade().

Here is the caller graph for this function:

◆ updateScreenFade()

void updateScreenFade ( struct ScreenFade *  task)

Moves the fade one frame on and draws it; TASK_DONE at the end, still drawn.

Definition at line 46 of file screen_fade.c.

Referenced by createScreenFade().

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

Variable Documentation

◆ OT_LENGTHS

s16 OT_LENGTHS[]
extern

A layer's ordering table length, by its otShift - 1.

Definition at line 422 of file layer.c.

Referenced by newLayer().

◆ CARD_IMAGE_FILES

s32 CARD_IMAGE_FILES[]
extern

The card images, 64 cards to a file (cardDrawerSetCard), numbered in the Japanese disc as in the USA one.

Definition at line 134 of file card_drawer.c.

Referenced by cardDrawerSetCard().

◆ GFX

GfxState GFX
extern

GFX: the graphics state and its methods.

Definition at line 209 of file display.c.

Referenced by addNewDigimon(), advanceStageFade(), allocPrimBuffers(), cardDrawerDraw(), cardDrawerSetLayer(), CARDGAME_animateSprite(), CARDGAME_chooseDeck(), CARDGAME_countDown(), CARDGAME_discardHand(), CARDGAME_discardPickedCard(), CARDGAME_discardPrevCard(), CARDGAME_drawBackground(), CARDGAME_drawDeckWindow(), CARDGAME_drawFader(), CARDGAME_drawFirstPlayer(), CARDGAME_drawFromDeck(), CARDGAME_drawMarker(), CARDGAME_drawNewCards(), CARDGAME_drawPanel(), CARDGAME_drawSpriteEffect(), CARDGAME_flipSlotCard(), CARDGAME_flipSprite(), CARDGAME_flySprite(), CARDGAME_holdSprite(), CARDGAME_holdSpriteThenBlink(), CARDGAME_jitterSprite(), CARDGAME_moveBlinker(), CARDGAME_moveSprite(), CARDGAME_removeMarkedSlots(), CARDGAME_returnUsedCards(), CARDGAME_shakeSprite(), CARDGAME_showPlayedCard(), CARDGAME_slidePanel(), CARDGAME_stepChooseCards(), CARDGAME_stepFader(), CARDGAME_stepPlayCard(), CARDGAME_stepPulseCard(), CARDGAME_stepRoundEnd(), CARDGAME_stepSlotTotal(), CARDGAME_stepStart(), CARDGAME_stepSwap(), CARDGAME_stepTally(), CARDGAME_stepTotals(), CARDGAME_stepYesNo(), CARDGAME_updateDeckWindow(), CARDGAME_updateGauge(), CARDGAME_updateMarker(), CARDGAME_updateMenuWindow(), CARDGAME_updateMessageWindow(), CARDGAME_updatePanelIcon(), CARDGAME_updateScene(), CARDGAME_updateScreen(), CARDGAME_updateWindow(), CARDGAME_waitFor(), CNTY_SEL_drawFade(), CNTY_SEL_stepAnimation(), CNTY_SEL_tickScreen(), countRoundWin(), createLayer(), destroyLayer(), drawBackground(), drawByteAnims(), drawEffectNames(), drawEntryPanel(), drawFader(), drawFlyerGate(), drawFrame(), drawGauge(), drawKeyboard(), drawMessageBoxArrow(), drawScreenFade(), drawTalkBoxArrow(), drawTalkBoxFrame(), drawTimer(), drawZoomBox(), endBattleOnKnockOut(), FIELDSTG_animateActor(), FIELDSTG_closeField(), FIELDSTG_drawActor(), FIELDSTG_drawBannerBox(), FIELDSTG_drawCover(), FIELDSTG_drawCoverBlock(), FIELDSTG_drawMapTiles(), FIELDSTG_drawStream(), FIELDSTG_findOldestStream(), FIELDSTG_isTileFree(), FIELDSTG_playBattleTransition(), FIELDSTG_playCutsceneAnim(), FIELDSTG_runGauge(), FIELDSTG_runMapStreamer(), FIELDSTG_scrollCamera(), FIELDSTG_showSpotHint(), FIELDSTG_stepBalloonAnim(), FIELDSTG_stepEffectAnim(), FIELDSTG_toScreenPos(), FIELDSTG_touchStream(), FIELDSTG_updateActor(), FIELDSTG_updateActorIcon(), FIELDSTG_updateBalloon(), FIELDSTG_updateBanner(), FIELDSTG_updateEffect(), FIELDSTG_updateField(), FIELDSTG_updateHiddenSpots(), FIELDSTG_updateLift(), FIELDSTG_updateMapObjects(), FIELDSTG_updateSpotEffect(), FIELDSTG_updateStream(), FIELDSTG_waitScriptTime(), FIGHTSTG_applyCamera(), FIGHTSTG_countFrames(), FIGHTSTG_drawConfusedMessageBox(), FIGHTSTG_drawCursorSprites(), FIGHTSTG_drawHud(), FIGHTSTG_drawItemMenu(), FIGHTSTG_drawMesh(), FIGHTSTG_drawMeshWireframe(), FIGHTSTG_drawMessageBox(), FIGHTSTG_drawPageArrows(), FIGHTSTG_drawShadedQuad(), FIGHTSTG_drawTechMenu(), FIGHTSTG_drawWhiteFlash(), FIGHTSTG_fadeLights(), FIGHTSTG_fadeStage(), FIGHTSTG_finishMessage(), FIGHTSTG_queueMeshDraw(), FIGHTSTG_queueMeshWireframe(), FIGHTSTG_runScriptWait(), FIGHTSTG_stepConfusedMessage(), FIGHTSTG_stepHpTween(), FIGHTSTG_stepMessage(), FIGHTSTG_updateBattleCamera(), FIGHTSTG_updateCamera(), FIGHTSTG_updateCameraShots(), FIGHTSTG_updateCameraTurn(), FIGHTSTG_updateCursor(), FIGHTSTG_updateDigimonChange(), FIGHTSTG_updateEntrance(), FIGHTSTG_updateFace(), FIGHTSTG_updateHitEffect(), FIGHTSTG_updateHpTweens(), FIGHTSTG_updateLights(), FIGHTSTG_updatePartnerView(), FIGHTSTG_updateShotCamera(), FIGHTSTG_updateSpriteAnim(), FIGHTSTG_updateSwitchMenu(), FIGHTSTG_updateWhiteFlash(), findLayerSlot(), findOldestFile(), flyToDest(), freePrimBuffers(), getFrameCount(), getFrameTime(), getLayer(), getPrim(), getTime(), hidePile(), hidePlays(), hideSlots(), insertLayerSlot(), isFileLoading(), isOnScreen(), isOnScreen2(), layerClearOt(), layerDraw(), layerGetOt(), layerGetOtEntry(), layerGetOtEntryZ(), layerLoadLightMatrix(), layerLoadView(), layerSetKeepLightMatrix(), layerSetKeepView(), layerSkipEmptyOt(), loadFile(), main(), moveDisplay(), moveLayer(), moveTransitionTile(), moveWanderer(), moveWanderPair(), prepareStageModel(), readPadButtons(), removeLayerSlot(), requestFile(), resetGraphics(), returnToBattle(), runGauge(), runStopSlide(), runUsed(), setChangeClips(), setDisplayArea(), setDisplayMode(), setPrim(), setUpFieldScreen(), showPile(), showPlays(), showSlots(), slidePanelIn(), slidePanelOut(), SOUNDTST_updateSoundTest(), spinView(), spinViewBack(), spriteDrawerDraw(), spriteDrawerSetLayerId(), STAGSLCT_startStageSelect(), STCRDABM_drawAlbum(), STCRDABM_updateGrid(), STCRDDEK_drawEditor(), STCRDDEK_drawScreen(), STCRDDEK_stepEditor(), STCRDSHP_drawBuy(), STCRDSHP_drawPackOpen(), STCRDSHP_updateGrid(), STDGNAME_drawMenu(), STDGNAME_updateScene(), STDWTITL_drawEdgeFade(), STDWTITL_initDecEnv(), STDWTITL_stepTitle(), STDWTITL_tickMovie(), STDWTITL_tickMoviePlayer(), STDWTITL_tickScreen(), STDWTITL_tickSplash(), STDWTITL_tickSplashLoader(), stepAnimation(), stepAnimation2(), stepAnimationOnce(), stepAnimationOnce(), stepFallBody(), stepFieldMenuFade(), stepFloaterPart(), stepHeldAnimation(), stepLoopingAnimation(), stepMoverBody(), stepRiser(), stepTileAnimation(), stepTileAnimation(), stepTileAnimation(), stepTileAnimation2(), stepTileAnimation2(), stepTileAnimation3(), stepTileAnimation4(), stepTileLoop(), stepTileLoopAnimation(), stepTileSequences(), STFGTREP_drawPartner(), STFGTREP_drawReport(), STFGTREP_updateScene(), STGDGLAB_drawEntryList(), STGDGLAB_drawMenu(), STGDGLAB_drawPartyScreen(), STGDGLAB_drawRecipeScreen(), STGMCARD_drawSaves(), STGMCARD_updateInfo(), STGMCARD_updateMenu(), STGMCARD_updatePanel(), STGTRAIN_animatePartner(), STGTRAIN_drawMenu(), STGTRAIN_drawResult(), STGTRAIN_drawScreen(), STGTRAIN_drawSession(), STGTRAIN_updateRoot(), STGTRAIN_updateSprite(), STITSHOP_drawBuy(), STITSHOP_drawItemList(), STITSHOP_drawSell(), STPLNMET_drawChoice(), STPLNMET_drawConfirm(), STPLNMET_updateScene(), STPLNMET_updateScroll(), STPLNMET_updateShine(), STPLNMET_updateSparkles(), STPLNMET_updateWelcome(), STSTATUS_animateItemPortraits(), STSTATUS_animateSortPortraits(), STSTATUS_animateTechPortraits(), STSTATUS_drawCardScreen(), STSTATUS_drawDemoScreen(), STSTATUS_drawDigivolvePanel(), STSTATUS_drawEquipPanel(), STSTATUS_drawItemList(), STSTATUS_drawItemScreen(), STSTATUS_drawMapScreen(), STSTATUS_drawStatusScreen(), STSTATUS_drawTechScreen(), STSTATUS_stepItemCursor(), STSTATUS_stepSortArrow(), STSTATUS_stepSortCursor(), STSTATUS_stepStatusCursor(), STSTATUS_stepTechCursor(), textWindowDraw(), touchMarkedFiles(), turnAroundFighters(), turnInFlight(), updateActorMark(), updateByteAnims(), updateCursor(), updateDarkness(), updateEffect(), updateEvent1602(), updateEvent1604(), updateEvent1616(), updateEvent1618(), updateEvent9015(), updateFaller(), updateFarSprites(), updateFieldMenu(), updateFileCache(), updateFloater(), updateFloaterChain(), updateFlyer(), updateFlyerGate(), updateGlow(), updateHiding(), updateInnMenu(), updateListMenu(), updateMessageBoxFrame(), updateMover(), updateRisers(), updateScene(), updateScrollBar(), updateSpriteField(), updateSpritePair(), updateStageEffect(), updateTileLift(), updateTimer(), updateVibration(), vsyncCallback(), waitPhaseStep(), warpAway(), WFIGHTMN_endBattle(), WFIGHTMN_showWon(), WFIGHTMN_updateMenu(), WFIGHTTS_cameraList(), WFIGHTTS_fighterList(), WFIGHTTS_motionList(), WFIGHTTS_stageList(), wipeFromWireframe(), and wipeToWireframe().

◆ NTSC_MODE

s32 NTSC_MODE
extern

The European version runs at 50 Hz (PAL) unless NTSC_MODE is set; its clocks then advance 0x133, 60/50 of 0x100, per frame.

Definition at line 14 of file eu_settings.c.

Referenced by drawFrame(), fadeOutSound(), FIELDSTG_createActor(), FIELDSTG_runActorAction(), initSound(), main(), and vsyncCallback().

◆ SHIFT_PAL_SCREEN

◆ CARD_KINDS

s32 CARD_KINDS[]
extern

cardDrawerGetKind's kinds, by a card image's byte 3

Definition at line 138 of file card_drawer.c.

Referenced by cardDrawerGetKind().