Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
loader.c
Go to the documentation of this file.
1/* WFIGHTMN, the battle's sub-overlay that FIGHTSTG loads for a normal
2 battle: the battle menu and the turn's events. Its first object is this
3 file, the loader; the second is cut, in its link order, into setup.c,
4 menu.c and techs.c, with its data in data/wfightmn_2.c. */
5
7
8/* Loads the battle menu's images into VRAM, one file a frame, then its
9 other files, and ends */
11 switch (task->state) {
12 case TASK_INIT:
13 default:
14 task->nextState(task);
15 /* fallthrough */
16 case TASK_RUN:
17 switch (task->substate) {
18 case 0:
19 default:
20 switch (task->step) {
21 case 0:
22 default:
28 task->nextStep(task);
29 break;
30 case 1:
32 TimLoader loader;
33
34 initTimLoader(&loader);
35 loader.setImagePos(0x200, 0);
37 loader.setImagePos(0, 0xF4);
39 task->nextStep(task);
40 }
41 break;
42 case 2:
44 TimLoader loader;
45
46 initTimLoader(&loader);
47 loader.setImagePos(0x140, 0x100);
49 task->nextStep(task);
50 }
51 break;
52 case 3:
54 TimLoader loader;
55
56 initTimLoader(&loader);
57 loader.setImagePos(0x1C0, 0x100);
59 task->nextStep(task);
60 }
61 break;
62 case 4:
64 TimLoader loader;
65
66 initTimLoader(&loader);
67 loader.setImagePos(0x200, 0x100);
69 task->nextStep(task);
70 }
71 break;
72 case 5:
74 TimLoader loader;
75
76 initTimLoader(&loader);
77 loader.setImagePos(0x240, 0x100);
79 task->nextStep(task);
80 }
81 break;
82 case 6:
88 task->nextSubstate(task);
89 break;
90 }
91 break;
92 case 1:
93 switch (task->step) {
94 case 0:
95 default:
104 task->nextStep(task);
105 break;
106 case 1:
111 task->setState(task, TASK_KILL);
112 }
113 break;
114 }
115 break;
116 }
117 break;
118 case TASK_DONE:
119 case TASK_KILL:
120 break;
121 }
122}
123
124/* Starts loading the battle menu's files */
#define TASK_RUN
Definition task.h:35
#define TASK_KILL
Definition task.h:37
#define TASK_INIT
Tasks: every game object is a task, a heap block that starts with this header and is updated once per...
Definition task.h:34
#define TASK_DONE
Definition task.h:36
#define TEXT_ITEM_INFO
ITMINF.
Definition file.h:214
#define TEXT_BATTLE_MENU
MFIGHT: WFIGHTMN's.
Definition file.h:218
#define FILE_BATTLE_IMAGES_3
Definition file.h:298
#define FILE_BATTLE_IMAGES_4
Definition file.h:299
#define TEXT_SKILL_NAMES
SKLNAM.
Definition file.h:223
#define TEXT_FILE(file)
Definition file.h:190
#define FILE_BATTLE_IMAGES_1
Definition file.h:296
#define FILE_BATTLE_IMAGES_2
Definition file.h:297
#define TEXT_DIGIMON_NAMES
DIGNAM.
Definition file.h:211
#define FILE_BATTLE_MENU
The battle menu's files (WFIGHTMN, WFIGHTTS): FILE_BATTLE_IMAGES is an archive whose entries go throu...
Definition file.h:294
#define TEXT_ITEM_NAMES
ITMNAM.
Definition file.h:215
#define TEXT_SKILL_INFO
SKLINF.
Definition file.h:222
#define FILE_BATTLE_IMAGES
Definition file.h:295
#define FILE_MENU_SPRITES
Files the engine loads by number.
Definition file.h:188
FileCache FILE_CACHE
The file cache.
Definition file_cache.c:7
BattleLoader * WFIGHTMN_createLoader(void)
Starts loading the battle menu's files.
Definition loader.c:125
void WFIGHTMN_loadFiles(BattleLoader *task)
Loads the battle menu's images into VRAM, one file a frame, then its other files, and ends.
Definition loader.c:10
WFIGHTMN.PRO: the battle's sub-overlay.
The task that loads the battle menu's files (WFIGHTMN_createLoader)
void(* nextSubstate)(struct BattleLoader *task)
void(* setState)(struct BattleLoader *task, s32 state)
void(* nextState)(struct BattleLoader *task)
void(* nextStep)(struct BattleLoader *task)
void(* free)(s32 file)
Definition file.h:93
void *(* load)(u32 file)
Definition file.h:92
s32(* isLoading)(s32 file)
Definition file.h:88
void(* request)(s32 file)
Definition file.h:90
void *(* getEntry)(u32 fileAndIndex)
Definition file.h:96
Uploads TIM images to VRAM (initTimLoader); acts on TIM_LOADER.
Definition gfx.h:325
void(* setImagePos)()
(x, y)
Definition gfx.h:336
void(* load)()
(TIM)
Definition gfx.h:335
void(* loadArchive)()
(archive): each image 64 halfwords to the right
Definition gfx.h:338
void * createTask(void(*update)(), s32 size, s32 childrenSize)
createTaskWithId for a task nothing needs to find
Definition task.c:105
void initTimLoader(TimLoader *obj)
Clears a TIM loader, gives it its methods and binds it.
Definition tim_loader.c:119