diff options
| author | 2019-04-10 15:14:00 -0400 | |
|---|---|---|
| committer | 2019-04-10 15:14:00 -0400 | |
| commit | 60699af63f92f43cc4b4b9e3050fcdd2a8468281 (patch) | |
| tree | 20a18af2774daa43ae7f4352dd032a24f7e06075 /frontends/calculator/CEdev/examples/gfx_sprites_appvar | |
| parent | 4527bc20241068731c62101d0467d416119ec0c4 (diff) | |
| download | cetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.tar.gz cetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.tar.bz2 cetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.zip | |
add opengl fronend, remove sdl frontend, refactor build system
Diffstat (limited to 'frontends/calculator/CEdev/examples/gfx_sprites_appvar')
15 files changed, 179 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/autotester.json b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/autotester.json new file mode 100644 index 0000000..d246692 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/autotester.json @@ -0,0 +1,31 @@ +{ + "rom": "84pce_515.rom", + "transfer_files": [ + "bin/DEMO.8xp", + "src/gfx/var_gfx.8xv" + ], + "target": { + "name": "DEMO", + "isASM": true + }, + "sequence": [ + "action|launch", + "hashWait|1", + "key|enter", + "hashWait|2" + ], + "hashes": { + "1": { + "description": "Make sure the sprites are displayed properly", + "start": "vram_start", + "size": "vram_8_size", + "expected_CRCs": [ "A3ED6457" ] + }, + "2": { + "description": "Back to the home screen (exit check)", + "start": "vram_start", + "size": "vram_16_size", + "expected_CRCs": [ "FFAF89BA", "101734A5", "9DA19F44", "43BF8092", "5ACF1C01" ] + } + } +} diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/makefile b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/makefile new file mode 100644 index 0000000..1f1b36b --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/makefile @@ -0,0 +1,15 @@ +# ---------------------------- +# Set NAME to the program name +# Set ICON to the png icon file name +# Set DESCRIPTION to display within a compatible shell +# Set COMPRESSED to "YES" to create a compressed program +# ---------------------------- + +NAME ?= DEMO +COMPRESSED ?= NO +ICON ?= iconc.png +DESCRIPTION ?= "C SDK Demo" + +# ---------------------------- + +include $(CEDEV)/include/.makefile diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/readme.md b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/readme.md new file mode 100644 index 0000000..428bc83 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/readme.md @@ -0,0 +1,10 @@ +### GraphX Appvars Demo + +Demonstrates easily extracting and using images placed into an appvar + + + +--- + +This demo is a part of the C SDK Toolchain for use on the CE. + diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/screenshot.png b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/screenshot.png Binary files differnew file mode 100644 index 0000000..dcbcdf7 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/screenshot.png diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.c new file mode 100644 index 0000000..9f77108 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.c @@ -0,0 +1,4 @@ +// convpng +#include <stdint.h> +#include "all_gfx.h" + diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.h b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.h new file mode 100644 index 0000000..37f0480 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.h @@ -0,0 +1,8 @@ +// convpng +// this file contains all the graphics sources for easy inclusion in a project +#ifndef __all_gfx__ +#define __all_gfx__ +#include <stdint.h> + + +#endif diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/convpng.ini b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/convpng.ini new file mode 100644 index 0000000..8dc89f4 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/convpng.ini @@ -0,0 +1,16 @@ +// #AppvarC -- The name of the appvar we are making +// #IncludePalettes -- List of comma separated groups with palettes + +#AppvarC : var_gfx +#IncludePalettes : all_gfx +#PNGImages : + ubuntu + mint + +// The main conversion group + +#GroupC : all_gfx +#PNGImages : + ubuntu + mint + diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.c new file mode 100644 index 0000000..9f77108 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.c @@ -0,0 +1,4 @@ +// convpng +#include <stdint.h> +#include "all_gfx.h" + diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.png b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.png Binary files differnew file mode 100644 index 0000000..f626cd0 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.png diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.c new file mode 100644 index 0000000..9f77108 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.c @@ -0,0 +1,4 @@ +// convpng +#include <stdint.h> +#include "all_gfx.h" + diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.png b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.png Binary files differnew file mode 100644 index 0000000..d041515 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.png diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.8xv b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.8xv Binary files differnew file mode 100644 index 0000000..e6bb018 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.8xv diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.c new file mode 100644 index 0000000..b0d3117 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.c @@ -0,0 +1,27 @@ +// convpng +#include <stdint.h> +#include "var_gfx.h" + +#include <fileioc.h> +uint8_t *var_gfx[3] = { + (uint8_t*)0, + (uint8_t*)1026, + (uint8_t*)2052, +}; + +bool var_gfx_init(void) { + unsigned int data, i; + ti_var_t appvar; + + ti_CloseAll(); + + appvar = ti_Open("var_gfx", "r"); + data = (unsigned int)ti_GetDataPtr(appvar) - (unsigned int)var_gfx[0]; + for (i = 0; i < var_gfx_num; i++) { + var_gfx[i] += data; + } + + ti_CloseAll(); + + return (bool)appvar; +} diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.h b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.h new file mode 100644 index 0000000..49afcb0 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.h @@ -0,0 +1,18 @@ +// convpng +// this file contains all the graphics sources for easy inclusion in a project +#ifndef __var_gfx__ +#define __var_gfx__ +#include <stdint.h> + +#include <stdbool.h> + +#define var_gfx_num 3 + +extern uint8_t *var_gfx[3]; +#define ubuntu ((gfx_sprite_t*)var_gfx[0]) +#define mint ((gfx_sprite_t*)var_gfx[1]) +#define sizeof_all_gfx_pal 512 +#define all_gfx_pal ((uint16_t*)var_gfx[2]) +bool var_gfx_init(void); + +#endif diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/main.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/main.c new file mode 100644 index 0000000..7c18c3a --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/main.c @@ -0,0 +1,42 @@ +#include <stdbool.h> +#include <stddef.h> +#include <stdint.h> +#include <tice.h> + +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include <graphx.h> +#include <fileioc.h> + +/* Include the sprite data */ +#include "gfx/all_gfx.h" +#include "gfx/var_gfx.h" + +void main(void) { + /* This function is automatically created by convpng */ + /* Simply call it to load in graphics from the appvar */ + /* The common function name is <appvar name>_init */ + var_gfx_init(); + + /* Initialize the graphics */ + gfx_Begin(); + + /* Set up the palette for the sprite */ + gfx_SetPalette(all_gfx_pal, sizeof_all_gfx_pal, 0); + + /* Fill the screen with color index 0 */ + gfx_FillScreen(0); + + /* Draw the sprites directly from the appvar */ + gfx_Sprite(ubuntu, LCD_WIDTH / 2 - 16, LCD_HEIGHT / 2 - 16); + gfx_Sprite(mint, LCD_WIDTH / 2 + 16, LCD_HEIGHT / 2 - 16); + + /* Wait for a key to be pressed */ + while (!os_GetCSC()); + + /* Close the graphics */ + gfx_End(); +} |