Jo Engine  2023.08.26
Jo Sega Saturn Engine
Data Structures | Macros | Typedefs | Enumerations
types.h File Reference

Jo Engine Types. More...

Go to the source code of this file.

Data Structures

struct  jo_pos2D
 2D position More...
 
struct  jo_pos2D_fixed
 2D position using fixed number More...
 
struct  jo_pos3D
 3D position More...
 
struct  jo_pos3Df
 3D position using floating numbers More...
 
struct  jo_pos3D_fixed
 3D position using fixed numbers More...
 
struct  jo_rot3D
 3D rotation angles More...
 
struct  jo_rot3Df
 3D rotation angles More...
 
struct  jo_2d_object_attributes
 Object for 2D manipulation (storyboard) using fixed number. More...
 
struct  jo_3d_object_attributes
 Object for 3D manipulation (storyboard) using fixed number. More...
 
struct  jo_vectorf
 Vector for 3D computation using floating numbers. More...
 
struct  jo_vector
 Vector for 3D computation using integer. More...
 
struct  jo_vector_fixed
 Vector for 3D computation using fixed number. More...
 
struct  jo_vector2_fixed
 Vector for 2D computation using fixed number. More...
 
struct  jo_vector4_fixed
 Vector4 for 3D computation using fixed number. More...
 
union  jo_matrixf
 4x4 MATRIX for 3D computation using floating numbers More...
 
union  jo_matrix
 4x4 MATRIX for 3D computation using fixed number More...
 
struct  __jo_size
 Size struct. More...
 
struct  jo_texture_definition
 Texture definition. More...
 
struct  jo_picture_definition
 Picture definition. More...
 
struct  jo_img
 15 bits image struct More...
 
struct  jo_img_8bits
 8 bits image struct More...
 
struct  jo_raw_img
 Raw image struct. More...
 
struct  jo_palette
 Palette contents struct. More...
 
struct  jo_tile
 Struct of one tile (pos and size) More...
 
struct  jo_sprite_attributes
 Sprite attributes. More...
 
union  jo_IEEE754
 Float IEEE 754 format. More...
 
struct  jo_file
 File definition. More...
 
struct  jo_matrixf.__unnamed__
 
struct  jo_matrix.__unnamed__
 
struct  jo_IEEE754.field
 

Macros

#define __jo_force_inline
 force inline attribute (and prevent Doxygen prototype parsing bug) More...
 

Typedefs

typedef unsigned short jo_color
 15 bits color type More...
 
typedef int jo_fixed
 Fixed point Q16.16 number. More...
 
typedef struct __jo_size jo_size
 Size struct. More...
 

Enumerations

enum  jo_8_directions {
  NONE, LEFT, RIGHT, UP,
  DOWN, UP_LEFT, UP_RIGHT, DOWN_LEFT,
  DOWN_RIGHT
}
 8 directions definition More...
 
enum  jo_scroll_screen {
  JO_NBG0_SCREEN, JO_NBG1_SCREEN, JO_NBG2_SCREEN, JO_NBG3_SCREEN,
  JO_RBG0_SCREEN, JO_BACK_SCREEN, JO_SPRITE_SCREEN, JO_VDP2_3D_PLANE_SCREEN,
  JO_LNCL_SCREEN, JO_ALL_SCROLL_SCREEN
}
 Sega Saturn Scroll Screen Ids. More...
 

Detailed Description

Jo Engine Types.

Author
Johannes Fetz
Bug:
No known bugs.

Data Structure Documentation

◆ jo_pos2D

struct jo_pos2D

2D position

Data Fields
int x
int y

◆ jo_pos2D_fixed

struct jo_pos2D_fixed

2D position using fixed number

Data Fields
jo_fixed x
jo_fixed y

◆ jo_pos3D

struct jo_pos3D

3D position

Remarks
Inherits from jo_pos2D (cast friendly)
Data Fields
int x
int y
int z

◆ jo_pos3Df

struct jo_pos3Df

3D position using floating numbers

Data Fields
float x
float y
float z

◆ jo_pos3D_fixed

struct jo_pos3D_fixed

3D position using fixed numbers

Data Fields
jo_fixed x
jo_fixed y
jo_fixed z

◆ jo_rot3D

struct jo_rot3D

3D rotation angles

Data Fields
int rx
int ry
int rz

◆ jo_rot3Df

struct jo_rot3Df

3D rotation angles

Data Fields
float rx
float ry
float rz

◆ jo_2d_object_attributes

struct jo_2d_object_attributes

Object for 2D manipulation (storyboard) using fixed number.

Remarks
Inherits from jo_pos3D (cast friendly)
Data Fields
jo_pos3D
short rz

◆ jo_3d_object_attributes

struct jo_3d_object_attributes

Object for 3D manipulation (storyboard) using fixed number.

Remarks
Inherits from jo_2d_object_attributes (cast friendly)
Data Fields
jo_2d_object_attributes
short rx
short ry

◆ jo_vectorf

struct jo_vectorf

Vector for 3D computation using floating numbers.

Data Fields
float x
float y
float z

◆ jo_vector

struct jo_vector

Vector for 3D computation using integer.

Remarks
Inherits from jo_pos3D (cast friendly)
Data Fields
jo_pos3D

◆ jo_vector_fixed

struct jo_vector_fixed

Vector for 3D computation using fixed number.

Remarks
Inherits from jo_pos3D_fixed (cast friendly)
Data Fields
jo_pos3D_fixed

◆ jo_vector2_fixed

struct jo_vector2_fixed

Vector for 2D computation using fixed number.

Data Fields
jo_fixed x
jo_fixed y

◆ jo_vector4_fixed

struct jo_vector4_fixed

Vector4 for 3D computation using fixed number.

Remarks
Inherits from jo_pos3D_fixed (cast friendly)
Data Fields
jo_pos3D_fixed
jo_fixed w

◆ jo_matrixf

union jo_matrixf

4x4 MATRIX for 3D computation using floating numbers

Data Fields
struct jo_matrixf __unnamed__
float m[4][4]
float table[16]

◆ jo_matrix

union jo_matrix

4x4 MATRIX for 3D computation using fixed number

Data Fields
struct jo_matrix __unnamed__
jo_fixed m[4][4]
jo_fixed table[16]

◆ __jo_size

struct __jo_size

Size struct.

Data Fields
unsigned short height
unsigned short width

◆ jo_texture_definition

struct jo_texture_definition

Texture definition.

Remarks
Inherits from jo_size (cast friendly)
Data Fields
unsigned short adr
unsigned short height
unsigned short size
unsigned short width

◆ jo_picture_definition

struct jo_picture_definition

Picture definition.

Data Fields
unsigned short color_mode
void * data
unsigned short index

◆ jo_img

struct jo_img

15 bits image struct

Data Fields
jo_color * data
unsigned short height
unsigned short width

◆ jo_img_8bits

struct jo_img_8bits

8 bits image struct

Data Fields
unsigned char * data
unsigned short height
unsigned short width

◆ jo_raw_img

struct jo_raw_img

Raw image struct.

Data Fields
void * data
unsigned short height
unsigned short width

◆ jo_palette

struct jo_palette

Palette contents struct.

Data Fields
jo_color * data
int id

◆ jo_tile

struct jo_tile

Struct of one tile (pos and size)

Data Fields
unsigned short height
unsigned short width
int x
int y

◆ jo_sprite_attributes

struct jo_sprite_attributes

Sprite attributes.

Data Fields
unsigned int clipping
unsigned int color_table_index
unsigned short direction
unsigned short effect
jo_fixed fixed_scale_x
jo_fixed fixed_scale_y
unsigned int gouraud_shading_index

◆ jo_IEEE754

union jo_IEEE754

Float IEEE 754 format.

Data Fields
float f
struct jo_IEEE754 field

◆ jo_file

struct jo_file

File definition.

Data Fields
void * handle
int id
int read
char * read_buffer
int read_index
int size

◆ jo_matrixf.__unnamed__

struct jo_matrixf.__unnamed__
Data Fields
float m00
float m01
float m02
float m03
float m10
float m11
float m12
float m13
float m20
float m21
float m22
float m23
float m30
float m31
float m32
float m33

◆ jo_matrix.__unnamed__

struct jo_matrix.__unnamed__
Data Fields
jo_fixed m00
jo_fixed m01
jo_fixed m02
jo_fixed m03
jo_fixed m10
jo_fixed m11
jo_fixed m12
jo_fixed m13
jo_fixed m20
jo_fixed m21
jo_fixed m22
jo_fixed m23
jo_fixed m30
jo_fixed m31
jo_fixed m32
jo_fixed m33

◆ jo_IEEE754.field

struct jo_IEEE754.field
Data Fields
unsigned int exponent: 8
unsigned int mantissa: 23
unsigned int sign: 1

Macro Definition Documentation

◆ __jo_force_inline

#define __jo_force_inline

force inline attribute (and prevent Doxygen prototype parsing bug)

Typedef Documentation

◆ jo_color

typedef unsigned short jo_color

15 bits color type

◆ jo_fixed

typedef int jo_fixed

Fixed point Q16.16 number.

Remarks
SGL compatible (FIXED)
Integer part is located in the upper 16 bits and a decimal part in the lower 16 bits
Valid range is -32767.99998 to 32767.99998

◆ jo_size

typedef struct __jo_size jo_size

Size struct.

Enumeration Type Documentation

◆ jo_8_directions

8 directions definition

Enumerator
NONE 
LEFT 
RIGHT 
UP 
DOWN 
UP_LEFT 
UP_RIGHT 
DOWN_LEFT 
DOWN_RIGHT 

◆ jo_scroll_screen

Sega Saturn Scroll Screen Ids.

Enumerator
JO_NBG0_SCREEN 
JO_NBG1_SCREEN 
JO_NBG2_SCREEN 
JO_NBG3_SCREEN 
JO_RBG0_SCREEN 
JO_BACK_SCREEN 
JO_SPRITE_SCREEN 
JO_VDP2_3D_PLANE_SCREEN 
JO_LNCL_SCREEN 
JO_ALL_SCROLL_SCREEN