Jo Engine 2026.11.1
Jo Sega Saturn Engine
Loading...
Searching...
No Matches
image.h
Go to the documentation of this file.
1/*
2** Jo Sega Saturn Engine
3** Copyright (c) 2012-2026, Johannes Fetz (johannesfetz@gmail.com)
4** All rights reserved.
5**
6** Redistribution and use in source and binary forms, with or without
7** modification, are permitted provided that the following conditions are met:
8** * Redistributions of source code must retain the above copyright
9** notice, this list of conditions and the following disclaimer.
10** * Redistributions in binary form must reproduce the above copyright
11** notice, this list of conditions and the following disclaimer in the
12** documentation and/or other materials provided with the distribution.
13** * Neither the name of the Johannes Fetz nor the
14** names of its contributors may be used to endorse or promote products
15** derived from this software without specific prior written permission.
16**
17** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20** DISCLAIMED. IN NO EVENT SHALL Johannes Fetz BE LIABLE FOR ANY
21** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27*/
34
35#ifndef __JO_IMAGE_H__
36# define __JO_IMAGE_H__
37
41# define JO_TILE_COUNT(TILE_TABLE) (sizeof(TILE_TABLE) / sizeof(jo_tile))
42
48void jo_replace_color(const jo_img * const img, const jo_color src_color, const jo_color dest_color);
49
50#ifdef JO_COMPILE_WITH_FS_SUPPORT
51
59bool jo_bin_loader(jo_img *img, const char * const sub_dir, const char *const filename, const jo_color transparent_color);
60
69int jo_sprite_add_bin_tileset(const char * const sub_dir, const char * const filename, const jo_color transparent_color, const jo_tile * const tileset, const unsigned int tile_count);
70
77int jo_sprite_add_bin(const char * const sub_dir, const char * const filename, const jo_color transparent_color);
78
86int jo_sprite_add_bin_4bits_lut(const char * const sub_dir, const char * const filename, const jo_color transparent_color);
87
98int jo_sprite_add_image_pack(const char * const sub_dir, const char * const filename, const jo_color transparent_color);
99
100#endif /* !JO_COMPILE_WITH_FS_SUPPORT */
101
108bool jo_bin_loader_from_stream(jo_img *img, char *stream, const jo_color transparent_color);
109
115int jo_sprite_add_bin_from_stream(char *stream, const jo_color transparent_color);
116
120void jo_free_img(void * const img);
121
122#endif /* !__JO_IMAGE_H__ */
123
124/*
125** END OF FILE
126*/
void jo_free_img(void *const img)
Free an image loaded from CD.
int jo_sprite_add_bin_4bits_lut(const char *const sub_dir, const char *const filename, const jo_color transparent_color)
Add a sprite from a BIN file as a 16 colors texture with its color lookup table when it has 14 colors...
int jo_sprite_add_bin(const char *const sub_dir, const char *const filename, const jo_color transparent_color)
Add a sprite from a BIN file.
int jo_sprite_add_bin_from_stream(char *stream, const jo_color transparent_color)
Add a sprite from a BIN file.
void jo_replace_color(const jo_img *const img, const jo_color src_color, const jo_color dest_color)
Add a sprite.
int jo_sprite_add_image_pack(const char *const sub_dir, const char *const filename, const jo_color transparent_color)
Add a set of image from a TEX file format.
bool jo_bin_loader(jo_img *img, const char *const sub_dir, const char *const filename, const jo_color transparent_color)
Load a BIN image.
bool jo_bin_loader_from_stream(jo_img *img, char *stream, const jo_color transparent_color)
Load a BIN image from stream.
int jo_sprite_add_bin_tileset(const char *const sub_dir, const char *const filename, const jo_color transparent_color, const jo_tile *const tileset, const unsigned int tile_count)
Add tileset sprites from a BIN file.
unsigned short jo_color
15 bits color type
Definition types.h:42
15 bits image struct
Definition types.h:231
Struct of one tile (pos and size).
Definition types.h:262