#ifndef TEXTURES_H
#define TEXTURES_H

#include <PR/ultratypes.h>
#include <PR/gbi.h>

// cave
extern const Texture cave_09000000[];
extern const Texture cave_09001000[];
extern const Texture cave_09001800[];
extern const Texture cave_09002800[];
extern const Texture cave_09003000[];
extern const Texture cave_09003800[];
extern const Texture cave_09004800[];
extern const Texture cave_09005800[];
extern const Texture cave_09006800[];
extern const Texture cave_09007000[];
extern const Texture cave_09007800[];
extern const Texture cave_09008800[];
extern const Texture cave_09009800[];
extern const Texture cave_0900A000[];
extern const Texture cave_0900A800[];
extern const Texture cave_0900B800[];
extern const Texture cave_0900C000[];

// fire
extern const Texture fire_09000000[];
extern const Texture fire_09000800[];
extern const Texture fire_09001000[];
extern const Texture fire_09001800[];
extern const Texture fire_09002000[];
extern const Texture fire_09002800[];
extern const Texture fire_09003000[];
extern const Texture fire_09003800[];
extern const Texture fire_09004000[];
extern const Texture fire_09004800[];
extern const Texture fire_09005000[];
extern const Texture fire_09005800[];
extern const Texture fire_09006000[];
extern const Texture fire_09006800[];
extern const Texture fire_09007000[];
extern const Texture fire_09007800[];
extern const Texture fire_09008000[];
extern const Texture fire_09008800[];
extern const Texture fire_09009000[];
extern const Texture fire_09009800[];
extern const Texture fire_0900A000[];
extern const Texture fire_0900A800[];
extern const Texture fire_0900B000[];
extern const Texture fire_0900B800[];

// generic
extern const Texture generic_09000000[];
extern const Texture generic_09000800[];
extern const Texture generic_09001000[];
extern const Texture generic_09001800[];
extern const Texture generic_09002000[];
extern const Texture generic_09002800[];
extern const Texture generic_09003000[];
extern const Texture generic_09003800[];
extern const Texture generic_09004000[];
extern const Texture generic_09004800[];
extern const Texture generic_09005000[];
extern const Texture generic_09005800[];
extern const Texture generic_09006000[];
extern const Texture generic_09007000[];
extern const Texture generic_09007800[];
extern const Texture generic_09008000[];
extern const Texture generic_09008800[];
extern const Texture generic_09009000[];
extern const Texture generic_09009800[];
extern const Texture generic_0900A000[];
extern const Texture generic_0900A800[];
extern const Texture generic_0900B000[];

// grass
extern const Texture grass_09000000[];
extern const Texture grass_09000800[];
extern const Texture grass_09001000[];
extern const Texture grass_09001800[];
extern const Texture grass_09002000[];
extern const Texture grass_09002800[];
extern const Texture grass_09003000[];
extern const Texture grass_09003800[];
extern const Texture grass_09004000[];
extern const Texture grass_09004800[];
extern const Texture grass_09005000[];
extern const Texture grass_09005800[];
extern const Texture grass_09006000[];
extern const Texture grass_09006800[];
extern const Texture grass_09007000[];
extern const Texture grass_09007800[];
extern const Texture grass_09008000[];
extern const Texture grass_09008800[];
extern const Texture grass_09009000[];
extern const Texture grass_09009800[];
extern const Texture grass_0900A000[];
extern const Texture grass_0900A800[];
extern const Texture grass_0900B000[];
extern const Texture grass_0900B800[];

// inside
extern const Texture inside_09000000[];
extern const Texture inside_09001000[];
extern const Texture inside_09002000[];
extern const Texture inside_09003000[];
extern const Texture inside_09003800[];
extern const Texture inside_09004000[];
extern const Texture inside_09004800[];
extern const Texture inside_09005000[];
extern const Texture inside_09005800[];
extern const Texture inside_09006000[];
extern const Texture inside_09007000[];
extern const Texture inside_09008000[];
extern const Texture inside_09008800[];
extern const Texture inside_09009000[];
extern const Texture inside_0900A000[];
extern const Texture inside_0900B000[];
extern const Texture inside_0900B800[];

// machine
extern const Texture machine_09000000[];
extern const Texture machine_09000800[];
extern const Texture machine_09001000[];
extern const Texture machine_09001800[];
extern const Texture machine_09002000[];
extern const Texture machine_09002800[];
extern const Texture machine_09003000[];
extern const Texture machine_09003800[];
extern const Texture machine_09004000[];
extern const Texture machine_09005000[];
extern const Texture machine_09005800[];
extern const Texture machine_09006000[];
extern const Texture machine_09006800[];
extern const Texture machine_09007000[];
extern const Texture machine_09007800[];
extern const Texture machine_09008000[];
extern const Texture machine_09008400[];

// mountain
extern const Texture mountain_09000000[];
extern const Texture mountain_09000800[];
extern const Texture mountain_09001800[];
extern const Texture mountain_09002800[];
extern const Texture mountain_09003000[];
extern const Texture mountain_09003800[];
extern const Texture mountain_09004000[];
extern const Texture mountain_09004800[];
extern const Texture mountain_09005000[];
extern const Texture mountain_09005800[];
extern const Texture mountain_09006800[];
extern const Texture mountain_09007000[];
extern const Texture mountain_09007800[];
extern const Texture mountain_09008000[];
extern const Texture mountain_09008800[];
extern const Texture mountain_09009800[];
extern const Texture mountain_0900A000[];
extern const Texture mountain_0900A800[];
extern const Texture mountain_0900B000[];
extern const Texture mountain_0900B800[];
extern const Texture mountain_0900C000[];

// outside
extern const Texture outside_09000000[];
extern const Texture outside_09000800[];
extern const Texture outside_09001000[];
extern const Texture outside_09002000[];
extern const Texture outside_09003000[];
extern const Texture outside_09003800[];
extern const Texture outside_09004000[];
extern const Texture outside_09004800[];
extern const Texture outside_09005800[];
extern const Texture outside_09006000[];
extern const Texture outside_09006800[];
extern const Texture outside_09007800[];
extern const Texture outside_09008000[];
extern const Texture outside_09008800[];
extern const Texture outside_09009000[];
extern const Texture outside_09009800[];
extern const Texture outside_0900A000[];
extern const Texture outside_0900A800[];
extern const Texture outside_0900B000[];
extern const Texture outside_0900B400[];
extern const Texture outside_0900BC00[];

// sky
extern const Texture sky_09000000[];
extern const Texture sky_09000800[];
extern const Texture sky_09001000[];
extern const Texture sky_09001800[];
extern const Texture sky_09002000[];
extern const Texture sky_09003000[];
extern const Texture sky_09003800[];
extern const Texture sky_09004800[];
extern const Texture sky_09005000[];
extern const Texture sky_09005800[];
extern const Texture sky_09006000[];
extern const Texture texture_metal_hole[];
extern const Texture sky_09007000[];
extern const Texture sky_09007800[];
extern const Texture sky_09008000[];

// snow
extern const Texture snow_09000000[];
extern const Texture snow_09000800[];
extern const Texture snow_09001000[];
extern const Texture snow_09002000[];
extern const Texture snow_09002800[];
extern const Texture snow_09003000[];
extern const Texture snow_09003800[];
extern const Texture snow_09004000[];
extern const Texture snow_09004800[];
extern const Texture snow_09005000[];
extern const Texture snow_09005800[];
extern const Texture snow_09006000[];
extern const Texture snow_09006800[];
extern const Texture snow_09007000[];
extern const Texture snow_09008000[];
extern const Texture snow_09008800[];
extern const Texture snow_09009000[];
extern const Texture snow_09009800[];

// spooky
extern const Texture spooky_09000000[];
extern const Texture spooky_09000800[];
extern const Texture spooky_09001000[];
extern const Texture spooky_09001800[];
extern const Texture spooky_09002800[];
extern const Texture spooky_09003800[];
extern const Texture spooky_09004800[];
extern const Texture spooky_09005000[];
extern const Texture spooky_09006000[];
extern const Texture spooky_09006800[];
extern const Texture spooky_09007000[];
extern const Texture spooky_09008000[];
extern const Texture spooky_09008800[];
extern const Texture spooky_09009000[];
extern const Texture spooky_0900A000[];
extern const Texture spooky_0900A800[];
extern const Texture spooky_0900B000[];
extern const Texture spooky_0900B800[];

// water
extern const Texture water_09000000[];
extern const Texture water_09000800[];
extern const Texture water_09001800[];
extern const Texture water_09002800[];
extern const Texture water_09003800[];
extern const Texture water_09004800[];
extern const Texture water_09005800[];
extern const Texture water_09006000[];
extern const Texture water_09006800[];
extern const Texture water_09007800[];
extern const Texture water_09008800[];
extern const Texture water_09009000[];
extern const Texture water_0900A000[];
extern const Texture water_0900A800[];
extern const Texture water_0900B800[];

// effect
extern const Texture *const flower_bubbles_textures_ptr_0B002008[];
extern const Texture *const lava_bubble_ptr_0B006020[];
extern const Texture *const bubble_ptr_0B006848[];
extern const Gfx tiny_bubble_dl_0B006A50[];
extern const Gfx tiny_bubble_dl_0B006AB0[];
extern const Gfx tiny_bubble_dl_0B006CD8[];
extern const Gfx tiny_bubble_dl_0B006D38[];
extern const Gfx tiny_bubble_dl_0B006D68[];

// title_screen_bg
extern const Gfx title_screen_bg_dl_start[];
extern const Gfx title_screen_bg_dl_0A000118[];
extern const Gfx title_screen_bg_dl_0A000130[];
extern const Gfx title_screen_bg_dl_0A000148[];
extern const Gfx title_screen_bg_dl_0A000160[];
extern const Gfx title_screen_bg_dl_0A000178[];
extern const Gfx title_screen_bg_dl_end[];
extern const Texture *const mario_title_texture_table[];
extern const Texture *const game_over_texture_table[];

#endif // TEXTURES_H
