#ifndef TEXTURES_H
#define TEXTURES_H

#include <ultra64.h>

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

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

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

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

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

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

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

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

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

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

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

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

// effect
extern const u8 *const flower_bubbles_textures_ptr_0B002008[];
extern const u8 *const lava_bubble_ptr_0B006020[];
extern const u8 *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_0A000100[];
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_0A000190[];
extern const u8 *const mario_title_texture_table[];
extern const u8 *const game_over_texture_table[];

#endif
