-#define STOP_AT_END 0
-#define STOP_AT_WAIT_VBL 1
-#define STOP_AT_PARSE_OBJECT 2
-#define STOP_AT_RENDER_POLYGONS 3
+/* cause why the cpu execution loop stopped */
+enum {
+ STOP_AT_END = 0,
+ STOP_AT_WAIT_VBL,
+ STOP_AT_CLEAR_SCREEN1,
+ STOP_AT_CLEAR_SCREEN2,
+ STOP_AT_CLEAR_SCREEN3,
+ STOP_AT_DRAW_GROUND,
+ STOP_AT_COORD_OBJECT,
+ STOP_AT_POLY_OBJECT_M3,
+ STOP_AT_POLY_OBJECT_M2,
+ STOP_AT_LINE_OBJECT,
+ STOP_AT_COORD_BEACON,
+ STOP_AT_POINT_BEACON,
+ STOP_AT_COORD_BUILDING_EXTERIOR,
+ STOP_AT_POLY_BUILDING_EXTERIOR,
+ STOP_AT_LINE_BUILDING_EXTERIOR,
+ STOP_AT_COORD_BUILDING_INTERIOR,
+ STOP_AT_POLY_BUILDING_INTERIOR1,
+ STOP_AT_POLY_BUILDING_INTERIOR2,
+ STOP_AT_POLY_BUILDING_INTERIOR3,
+ STOP_AT_POLY_BUILDING_INTERIOR4,
+ STOP_AT_POLY_BUILDING_INTERIOR5,
+ STOP_AT_POLY_BUILDING_INTERIOR6,
+ STOP_AT_POLY_BUILDING_INTERIOR1to4,
+ STOP_AT_POLY_BUILDING_INTERIOR5to6,
+ STOP_AT_WALL_BUILDING,
+ STOP_AT_COORD_COMET,
+ STOP_AT_MATRIX_COMET,
+ STOP_AT_POLY_COMET,
+ STOP_AT_COORD_LINE_ROADS,
+ STOP_AT_LINE_ROADS,
+ STOP_AT_LINE_ROADS_CENTER,
+ STOP_AT_COORD_POLY_ROADS,
+ STOP_AT_POLY_ROADS,
+ STOP_AT_COORD_TAGS,
+ STOP_AT_COORD_TAGS2,
+ STOP_AT_LINE_TAGS1,
+ STOP_AT_LINE_TAGS2,
+ STOP_AT_POLY_TAGS1,
+ STOP_AT_POLY_TAGS2,
+ STOP_AT_COORD_PLANET,
+ STOP_AT_MATRIX_PLANET,
+ STOP_AT_DRAW_PLANET,
+ STOP_AT_DRAW_COMET,
+ STOP_AT_DRAW_STARS_SPACE,
+ STOP_AT_DRAW_STARS_GROUND,
+ STOP_AT_DRAW_STARS_FLYING,
+ STOP_AT_DRAW_STARS_FLYING2,
+ STOP_AT_DRAW_STARS_INTERSTELLAR,
+ STOP_AT_DRAW_SUN_INTERSTELLAR,
+ STOP_AT_COORD_ISLANDS,
+ STOP_AT_POLY_ISLANDS,
+ STOP_AT_LINE_ISLANDS,
+ STOP_AT_DRAW_SIGHTS,
+ STOP_AT_POLY_UKN2,
+ STOP_AT_PLANET_UKN1,
+ STOP_AT_PLANET_UKN2,
+};
extern const struct cpu_stop mercenary_stop_at[];
void mercenary_load(void);
void mercenary_patch(void);
-uint32_t mercenary_palette(void);
+uint32_t mercenary_palette_view(void);
+uint32_t mercenary_palette_render(void);
+uint32_t mercenary_palette_predefined(void);
+uint32_t mercenary_palette_stars(void);
+uint32_t mercenary_object_vertex_register(void);
+void mercenary_get_orientation(double *roll, double *pitch, double *yaw);
+void mercenary_get_orientation_raw(int16_t *pitch, uint16_t *yaw);
+void mercenary_get_orientation_planet(double *inclination, double *rotation);
+void mercenary_coord_building_interior(int16_t *east, int32_t *height1, int32_t *height2, int32_t *height3, int32_t *height4, int16_t *north);
+void mercenary_get_height(int32_t *height);
+int mercenary_street_color_index(void);
+int mercenary_line_tags_index(void);
+uint16_t mercenary_poly_tags_color(void);
+int mercenary_background_index(void);
+uint32_t mercenary_planet_scale_index(void);
+uint32_t mercenary_star_table(void);
extern const char *mercenary_gamesavesuffix;