2 gbajam22 entry for the Gameboy Advance
3 Copyright (C) 2022 John Tsiombikas <nuclear@mutantstargoat.com>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
48 void xgl_enable(unsigned int opt);
49 void xgl_disable(unsigned int opt);
51 void xgl_viewport(int x, int y, int w, int h);
53 void xgl_push_matrix(void);
54 void xgl_pop_matrix(void);
55 void xgl_load_identity(void);
56 void xgl_load_matrix(const int32_t *m);
57 void xgl_get_matrix(int32_t *m);
58 void xgl_mult_matrix(const int32_t *m);
60 void xgl_translate(int32_t x, int32_t y, int32_t z);
61 void xgl_rotate_x(int32_t angle);
62 void xgl_rotate_y(int32_t angle);
63 void xgl_rotate_z(int32_t angle);
64 void xgl_scale(int32_t x, int32_t y, int32_t z);
66 void xgl_draw(int prim, const struct xvertex *varr, int vcount);
67 void xgl_transform(const struct xvertex *vin, int *x, int *y);
69 void xgl_index(int c);
73 int xgl_clip_near(struct xvertex *vout, int *voutnum, struct xvertex *vin, int vnum);