OpenTTD Source  20241108-master-g80f628063a
grf.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of OpenTTD.
3  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6  */
7 
10 #ifndef SPRITELOADER_GRF_HPP
11 #define SPRITELOADER_GRF_HPP
12 
13 #include "spriteloader.hpp"
14 
16 class SpriteLoaderGrf : public SpriteLoader {
17  uint8_t container_ver;
18 public:
19  SpriteLoaderGrf(uint8_t container_ver) : container_ver(container_ver) {}
20  uint8_t LoadSprite(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, uint8_t control_flags) override;
21 };
22 
23 #endif /* SPRITELOADER_GRF_HPP */
RandomAccessFile with some extra information specific for sprite files.
Sprite loader for graphics coming from a (New)GRF.
Definition: grf.hpp:16
uint8_t LoadSprite(SpriteLoader::SpriteCollection &sprite, SpriteFile &file, size_t file_pos, SpriteType sprite_type, bool load_32bpp, uint8_t control_flags) override
Load a sprite from the disk and return a sprite struct which is the same for all loaders.
Definition: grf.cpp:353
Interface for the loader of our sprites.
std::array< Sprite, ZOOM_LVL_END > SpriteCollection
Type defining a collection of sprites, one for each zoom level.
SpriteType
Types of sprites that might be loaded.
Definition: gfx_type.h:312
Base for loading sprites.