mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-20 21:33:40 -07:00
git subrepo clone https://github.com/HarbourMasters/ZAPDTR.git
subrepo: subdir: "ZAPDTR" merged: "a53a53ea4" upstream: origin: "https://github.com/HarbourMasters/ZAPDTR.git" branch: "master" commit: "a53a53ea4" git-subrepo: version: "0.4.1" origin: "???" commit: "???"
This commit is contained in:
parent
f52a2a6406
commit
5dda5762ba
217 changed files with 47152 additions and 0 deletions
123
ZAPDTR/lib/libgfxd/priv.h
Normal file
123
ZAPDTR/lib/libgfxd/priv.h
Normal file
|
@ -0,0 +1,123 @@
|
|||
#ifndef GFXD_PRIV_H
|
||||
#define GFXD_PRIV_H
|
||||
#include "gfxd.h"
|
||||
|
||||
#ifdef CONFIG_MT
|
||||
# ifdef _MSC_VER
|
||||
# define TLOCAL __declspec(thread)
|
||||
# else
|
||||
# define TLOCAL _Thread_local
|
||||
# endif
|
||||
#else
|
||||
# define TLOCAL
|
||||
#endif
|
||||
|
||||
#define UCFUNC static inline
|
||||
|
||||
#define config gfxd_config__
|
||||
|
||||
typedef int gfxd_argfn_t(const gfxd_value_t *v);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int fmt;
|
||||
gfxd_argfn_t * fn;
|
||||
} gfxd_arg_type_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int type;
|
||||
const char * name;
|
||||
gfxd_value_t value;
|
||||
int bad;
|
||||
} gfxd_arg_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int id;
|
||||
gfxd_arg_t arg[18];
|
||||
} gfxd_macro_t;
|
||||
|
||||
typedef int gfxd_disas_fn_t(gfxd_macro_t *macro, uint32_t hi, uint32_t lo);
|
||||
typedef int gfxd_combine_fn_t(gfxd_macro_t *macro, int n_macro);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char * prefix;
|
||||
const char * suffix;
|
||||
int opcode;
|
||||
int n_arg;
|
||||
int n_gfx;
|
||||
gfxd_disas_fn_t * disas_fn;
|
||||
gfxd_combine_fn_t * combine_fn;
|
||||
int alias;
|
||||
int ext;
|
||||
} gfxd_macro_type_t;
|
||||
|
||||
struct gfxd_ucode
|
||||
{
|
||||
gfxd_disas_fn_t * disas_fn;
|
||||
gfxd_combine_fn_t * combine_fn;
|
||||
const gfxd_arg_type_t * arg_tbl;
|
||||
const gfxd_macro_type_t * macro_tbl;
|
||||
};
|
||||
|
||||
struct gfxd_state
|
||||
{
|
||||
int macro_offset;
|
||||
|
||||
Gfx gfx[9];
|
||||
int n_byte;
|
||||
int n_gfx;
|
||||
gfxd_macro_t macro[9];
|
||||
|
||||
int end_input;
|
||||
int ret;
|
||||
};
|
||||
|
||||
struct gfxd_config
|
||||
{
|
||||
gfxd_ucode_t ucode;
|
||||
int endian;
|
||||
int wordsize;
|
||||
const char * arg;
|
||||
void * udata;
|
||||
|
||||
int stop_on_invalid;
|
||||
int stop_on_end;
|
||||
int emit_dec_color;
|
||||
int emit_q_macro;
|
||||
int emit_ext_macro;
|
||||
|
||||
const char * input_buf;
|
||||
int input_buf_size;
|
||||
int input_fd;
|
||||
gfxd_input_fn_t * input_fn;
|
||||
|
||||
char * output_buf;
|
||||
int output_buf_size;
|
||||
int output_fd;
|
||||
gfxd_output_fn_t * output_fn;
|
||||
|
||||
gfxd_macro_fn_t * macro_fn;
|
||||
gfxd_arg_fn_t * arg_fn;
|
||||
|
||||
gfxd_tlut_fn_t * tlut_fn;
|
||||
gfxd_timg_fn_t * timg_fn;
|
||||
gfxd_cimg_fn_t * cimg_fn;
|
||||
gfxd_zimg_fn_t * zimg_fn;
|
||||
gfxd_dl_fn_t * dl_fn;
|
||||
gfxd_mtx_fn_t * mtx_fn;
|
||||
gfxd_lookat_fn_t * lookat_fn;
|
||||
gfxd_light_fn_t * light_fn;
|
||||
gfxd_seg_fn_t * seg_fn;
|
||||
gfxd_vtx_fn_t * vtx_fn;
|
||||
gfxd_vp_fn_t * vp_fn;
|
||||
gfxd_uctext_fn_t * uctext_fn;
|
||||
gfxd_ucdata_fn_t * ucdata_fn;
|
||||
gfxd_dram_fn_t * dram_fn;
|
||||
};
|
||||
|
||||
extern TLOCAL struct gfxd_config gfxd_config__;
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue