|
Digimon World 3 decomp
The European version, SLES_039.36
|
The task that streams the map's tiles from the CD around the view and draws them, and the cover that fades the screen. More...
#include "field/field_mode.h"Go to the source code of this file.
Data Structures | |
| struct | MapSlot |
| A tile of the map in view (FIELDSTG_drawMapTiles) More... | |
Functions | |
| StreamTask * | FIELDSTG_findOldestStream (StreamPool *pool) |
| The stream task drawn or loaded the longest ago. | |
| void | FIELDSTG_requestTiles (MapStreamer *map, StreamPool *pool) |
| Streams the map's tiles while the CD reader is free: a tile of viewTiles (0xFF for none) that a stream task has loaded is done, and each tile still waiting goes to the oldest task (FIELDSTG_findOldestStream), until the reader is busy. | |
| void | FIELDSTG_drawCoverBlock (Layer *layer, s32 x, s32 y, s32 level) |
| Draws a 128-pixel block of the cover at (x, y), at a shade of level (8.8) | |
| StreamTask * | FIELDSTG_findStream (StreamPool *pool, s32 frame) |
| The stream task that holds a frame (a tile of the map), or NULL. | |
| void | FIELDSTG_drawMapTiles (MapStreamer *task, StreamPool *pool) |
| Draws the map's tiles in view, under a cover that fades from the new ones, and while the decompressor is free, gives the first loaded tile without an entry the oldest of the 12. | |
| void | FIELDSTG_pickViewTiles (MapStreamer *task) |
| Points the slots around the view at the map's tiles: viewTiles gets, for each of the 30 slots, the index of the tile it shows (0xFF off the map), and viewX/viewY the tile of the slots' top left corner. | |
| void | FIELDSTG_runMapStreamer (MapStreamer *task, StreamPool *pool) |
| The map streamer's update: reads the map's header and creates the 30 stream tasks, then each frame points the slots at the tiles in view, draws them and streams the missing ones. | |
| Vec2 * | FIELDSTG_getMapSize (MapStreamer *task) |
| The map's size in pixels. | |
| MapStreamer * | FIELDSTG_createMapStreamer (s32 file) |
| Creates the map streamer of a file. | |
| void | FIELDSTG_drawCover (s32 id, s32 level) |
| Covers the screen on the layer id at a shade of level (8.8) | |
The task that streams the map's tiles from the CD around the view and draws them, and the cover that fades the screen.
Definition in file map_streamer.c.
| StreamTask * FIELDSTG_findOldestStream | ( | StreamPool * | pool | ) |
The stream task drawn or loaded the longest ago.
Definition at line 7 of file map_streamer.c.
Referenced by FIELDSTG_requestTiles().
| void FIELDSTG_requestTiles | ( | MapStreamer * | map, |
| StreamPool * | pool | ||
| ) |
Streams the map's tiles while the CD reader is free: a tile of viewTiles (0xFF for none) that a stream task has loaded is done, and each tile still waiting goes to the oldest task (FIELDSTG_findOldestStream), until the reader is busy.
The match depends on each loop having a counter of its own.
Definition at line 27 of file map_streamer.c.
Referenced by FIELDSTG_runMapStreamer().
Draws a 128-pixel block of the cover at (x, y), at a shade of level (8.8)
Definition at line 65 of file map_streamer.c.
Referenced by FIELDSTG_drawCover(), and FIELDSTG_drawMapTiles().
| StreamTask * FIELDSTG_findStream | ( | StreamPool * | pool, |
| s32 | frame | ||
| ) |
The stream task that holds a frame (a tile of the map), or NULL.
Definition at line 99 of file map_streamer.c.
Referenced by FIELDSTG_drawMapTiles().
| void FIELDSTG_drawMapTiles | ( | MapStreamer * | task, |
| StreamPool * | pool | ||
| ) |
Draws the map's tiles in view, under a cover that fades from the new ones, and while the decompressor is free, gives the first loaded tile without an entry the oldest of the 12.
< the map, its objects and characters, and the menus
Definition at line 126 of file map_streamer.c.
Referenced by FIELDSTG_runMapStreamer().
| void FIELDSTG_pickViewTiles | ( | MapStreamer * | task | ) |
Points the slots around the view at the map's tiles: viewTiles gets, for each of the 30 slots, the index of the tile it shows (0xFF off the map), and viewX/viewY the tile of the slots' top left corner.
The slots come from the layout for the leader's direction, flipped as that direction says, and for the quadrant of its tile the view is in. The match depends on the y offset being written as scrollY less its tile's start: its two reads of scrollY rank that load ahead of the x test in local-alloc. It also depends on x holding the horizontal flip before it becomes the tile column, and on col counting the slots the first loop clears.
< every character (FIELDSTG_createActor)
Definition at line 228 of file map_streamer.c.
Referenced by FIELDSTG_runMapStreamer().
| void FIELDSTG_runMapStreamer | ( | MapStreamer * | task, |
| StreamPool * | pool | ||
| ) |
The map streamer's update: reads the map's header and creates the 30 stream tasks, then each frame points the slots at the tiles in view, draws them and streams the missing ones.
< the map, its objects and characters, and the menus
Definition at line 293 of file map_streamer.c.
Referenced by FIELDSTG_createMapStreamer().
| Vec2 * FIELDSTG_getMapSize | ( | MapStreamer * | task | ) |
The map's size in pixels.
Definition at line 360 of file map_streamer.c.
Referenced by FIELDSTG_createMapStreamer().
| MapStreamer * FIELDSTG_createMapStreamer | ( | s32 | file | ) |
Creates the map streamer of a file.
< FIELDSTG_createMapStreamer's
Definition at line 367 of file map_streamer.c.
Referenced by showField().
Covers the screen on the layer id at a shade of level (8.8)
Definition at line 376 of file map_streamer.c.
Referenced by FIELDSTG_closeField().