Mirai's Miscellaneous Misadventures
M47 / include / mimimi-chapters.h
1
2
3
4#ifndef MIMIMI_CHAPTERS_H
5#define MIMIMI_CHAPTERS_H
6
7#include <mimimi.h>
8
9struct mimimi_test_video_set
10{
11 struct mimimi_video videos[0x40];
12 void *textures[0x100];
13 struct mimimi_image images[0x100];
14 unsigned char colors[0x100000];
15};
16
17struct mimimi_test_sprite
18{
19 struct mimimi_sprite sprite;
20 struct mimimi_model *model;
21 struct mimimi_appearance appearance;
22 struct mimimi_test_video_set left, right;
23 struct mimimi_display display;
24};
25
26struct mimimi_test
27{
28 struct mimimi_engine *engine;
29 struct mimimi_test_sprite mango;
30 struct mimimi_test_sprite pepper;
31 struct mimimi_history history;
32 struct mimimi_position camera;
33 struct mimimi_background background;
34 struct mimimi_image background_image;
35 unsigned char background_colors[0x200000];
36 struct mimimi_collision collision;
37 struct mimimi_position *collision_positions[2];
38};
39
40void mimimi_test_tick(void *chapter, unsigned char left, unsigned char right);
41void mimimi_test(void *chapter, struct mimimi_engine *engine);
42
43struct mimimi_chapter_I
44{
45 struct mimimi_engine *engine;
46 struct mimimi_test_sprite player;
47 struct mimimi_history history;
48 struct mimimi_position origin;
49 struct mimimi_position camera;
50 struct mimimi_clamped_camera clamped_camera;
51 struct mimimi_background background;
52 struct mimimi_image background_image;
53 unsigned char background_colors[0x400000];
54 struct mimimi_image custom_background;
55 unsigned char colors[0x40000];
56 struct mimimi_background foreground;
57 struct mimimi_image foreground_image;
58 int progression;
59 struct mimimi_toast_dialogue dialogue;
60 struct mimimi_offset offset;
61
62 struct mimimi_momentum momentum;
63 struct mimimi_platform platforms[24];
64 unsigned char platform_colors[1024];
65 struct mimimi_image platform_image;
66};
67
68void mimimi_chapter_I_tick(void *chapter, unsigned char left, unsigned char right);
69void mimimi_chapter_I(void *chapter, struct mimimi_engine *engine);
70
71struct mimimi_loader_data
72{
73 struct mimimi_engine *engine;
74 int previous_direction;
75 int x;
76 unsigned char colors[0x100000];
77 struct mimimi_image images[0x10];
78 void *textures[0x10];
79 void *background;
80 struct mimimi_image background_image;
81};
82
83union mimimi_loader_chapter
84{
85 struct mimimi_loader_data data;
86 struct mimimi_test test;
87 struct mimimi_chapter_I chapter_I;
88};
89
90struct mimimi_loader
91{
92 union mimimi_loader_chapter chapter;
93 int index;
94 unsigned char started;
95};
96
97void mimimi_loader_tick(void *chapter, unsigned char left, unsigned char right);
98void mimimi_loader(void *chapter, struct mimimi_engine *engine);
99
100#endif