OVR: Add patch to make game render planets behind observer
[mercenary-reloaded.git] / src / mercenary / mercenary.h
1
2 /* cause why the cpu execution loop stopped */
3 enum {
4         STOP_AT_END = 0,
5         STOP_AT_PATCH_RENDER,
6         STOP_AT_WAIT_VBL,
7         STOP_AT_WAIT_INPUT,
8         STOP_AT_CLEAR_SCREEN1,
9         STOP_AT_CLEAR_SCREEN2,
10         STOP_AT_CLEAR_SCREEN3,
11         STOP_AT_DRAW_GROUND,
12         STOP_AT_INFO_OBJECT_MOVING,
13         STOP_AT_INFO_OBJECT_FIX,
14         STOP_AT_TAG_IS_OBJECT_1,
15         STOP_AT_TAG_IS_OBJECT_0,
16         STOP_AT_COORD_OBJECT,
17         STOP_AT_POLY_OBJECT_M3,
18         STOP_AT_POLY_OBJECT_M2,
19         STOP_AT_LINE_OBJECT,
20         STOP_AT_COORD_BEACON,
21         STOP_AT_POINT_BEACON,
22         STOP_AT_COORD_BUILDING_EXTERIOR,
23         STOP_AT_POLY_BUILDING_EXTERIOR,
24         STOP_AT_LINE_BUILDING_EXTERIOR,
25         STOP_AT_COORD_BUILDING_INTERIOR,
26         STOP_AT_POLY_BUILDING_INTERIOR1,
27         STOP_AT_POLY_BUILDING_INTERIOR2,
28         STOP_AT_POLY_BUILDING_INTERIOR3,
29         STOP_AT_POLY_BUILDING_INTERIOR4,
30         STOP_AT_POLY_BUILDING_INTERIOR5,
31         STOP_AT_POLY_BUILDING_INTERIOR6,
32         STOP_AT_POLY_BUILDING_INTERIOR1to4,
33         STOP_AT_POLY_BUILDING_INTERIOR5to6,
34         STOP_AT_WALL_BUILDING,
35         STOP_AT_COORD_COMET,
36         STOP_AT_MATRIX_COMET,
37         STOP_AT_POLY_COMET,
38         STOP_AT_COORD_LINE_ROADS,
39         STOP_AT_LINE_ROADS,
40         STOP_AT_LINE_ROADS_CENTER,
41         STOP_AT_COORD_POLY_ROADS,
42         STOP_AT_POLY_ROADS,
43         STOP_AT_COORD_TAGS,
44         STOP_AT_COORD_TAGS2,
45         STOP_AT_LINE_TAGS1,
46         STOP_AT_LINE_TAGS2,
47         STOP_AT_POLY_TAGS1,
48         STOP_AT_POLY_TAGS2,
49         STOP_AT_COORD_PLANET,
50         STOP_AT_MATRIX_PLANET,
51         STOP_AT_DRAW_PLANET,
52         STOP_AT_DRAW_COMET,
53         STOP_AT_DRAW_STARS_SPACE,
54         STOP_AT_DRAW_STARS_GROUND,
55         STOP_AT_DRAW_STARS_FLYING,
56         STOP_AT_DRAW_STARS_FLYING2,
57         STOP_AT_DRAW_STARS_INTERSTELLAR,
58         STOP_AT_DRAW_SUN_INTERSTELLAR,
59         STOP_AT_COORD_ISLANDS,
60         STOP_AT_POLY_ISLANDS,
61         STOP_AT_LINE_ISLANDS,
62         STOP_AT_DRAW_SIGHTS,
63         STOP_AT_POLY_UKN2,
64         STOP_AT_EXPLOSION,
65 };
66
67 extern const struct cpu_stop mercenary_stop_at[];
68 void mercenary_load(void);
69 void mercenary_patch(void);
70 void mercenary_patch_render(void);
71 uint32_t mercenary_palette_view(void);
72 uint32_t mercenary_palette_render(void);
73 uint32_t mercenary_palette_predefined(void);
74 uint32_t mercenary_palette_stars(void);
75 uint32_t mercenary_object_vertex_register(void);
76 void mercenary_get_orientation(double *roll, double *pitch, double *yaw);
77 void mercenary_get_orientation_raw(int16_t *pitch, uint16_t *yaw);
78 void mercenary_get_orientation_planet(double *inclination, double *azimuth);
79 void mercenary_get_location(int32_t *east, int32_t *height, int32_t *north);
80 void mercenary_get_object_info(int *id, int32_t *east, int32_t *height, int32_t *north);
81 void mercenary_coord_building_interior(int16_t *east, int32_t *height1, int32_t *height2, int32_t *height3, int32_t *height4, int16_t *north);
82 int mercenary_street_color_index(void);
83 int mercenary_line_tags_index(void);
84 uint16_t mercenary_poly_tags_color(void);
85 int mercenary_background_index(void);
86 uint32_t mercenary_planet_scale_index(void);
87 uint32_t mercenary_star_table(void);
88 extern const char *mercenary_name;
89 extern const char *mercenary_gamesavesuffix;
90