Add shadows and light effects
[mercenary-reloaded.git] / src / mercenary / mercenary.h
index 9e5187e..008efe3 100644 (file)
@@ -64,6 +64,7 @@ enum {
        STOP_AT_POLY_UKN2,
        STOP_AT_COORD_EXPLOSION,
        STOP_AT_DRAW_EXPLOSION,
+       STOP_AT_SHADOW_BUILDING,
 };
 
 struct vr_move {
@@ -77,12 +78,13 @@ struct vr_move {
 extern const struct cpu_stop mercenary_stop_at[];
 void mercenary_load(void);
 void mercenary_patch(void);
-void mercenary_patch_render(void);
+void mercenary_patch_render(int shadows);
 void mercenary_patch_vr(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);
+void mercenary_get_sky_colors(uint16_t *day, uint16_t *night);
 uint32_t mercenary_object_vertex_register(void);
 void mercenary_get_orientation(double *roll, double *pitch, double *yaw);
 void mercenary_set_orientation(double yaw);
@@ -90,6 +92,7 @@ void mercenary_get_orientation_raw(int16_t *pitch, uint16_t *yaw);
 void mercenary_get_orientation_planet(double *inclination, double *azimuth, int improved);
 void mercenary_get_location(int32_t *east, int32_t *height, int32_t *north);
 void mercenary_get_object_info(int *id, int32_t *east, int32_t *height, int32_t *north);
+void mercenary_get_building_exterior_info(int32_t *loc_x, int32_t *loc_z, int32_t *scale_x, int32_t *scale_y, int32_t *scale_z, uint16_t *anim_flag, uint16_t *anim_x, uint16_t *anim_y, uint16_t *anim_z, uint16_t *anim_phase, uint32_t *a4, uint32_t *a0, uint32_t *a5);
 void mercenary_coord_building_interior(int16_t *east, int32_t *height1, int32_t *height2, int32_t *height3, int32_t *height4, int16_t *north);
 int mercenary_street_color_index(void);
 int mercenary_line_tags_index(void);