summaryrefslogtreecommitdiff
path: root/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2019-04-10 15:14:00 -0400
committerAndrew Opalach <andrew@akon.city> 2019-04-10 15:14:00 -0400
commit60699af63f92f43cc4b4b9e3050fcdd2a8468281 (patch)
tree20a18af2774daa43ae7f4352dd032a24f7e06075 /frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image
parent4527bc20241068731c62101d0467d416119ec0c4 (diff)
downloadcetris-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_fullscreen_tiled_image')
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/autotester.json31
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/makefile15
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/readme.md9
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/screenshot.pngbin0 -> 143527 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/convpng.ini15
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tiles_gfx.c4
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tiles_gfx.h8
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tileset.c18
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tileset.pngbin0 -> 182649 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.8xvbin0 -> 56118 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.c31
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.h31
-rw-r--r--frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/main.c66
13 files changed, 228 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/autotester.json b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/autotester.json
new file mode 100644
index 0000000..3b57eb8
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/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": "Fullscreen tiled image",
+ "start": "vram_start",
+ "size": "vram_8_size",
+ "expected_CRCs": [ "2846A371" ]
+ },
+ "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_fullscreen_tiled_image/makefile b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/makefile
new file mode 100644
index 0000000..1f1b36b
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/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_fullscreen_tiled_image/readme.md b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/readme.md
new file mode 100644
index 0000000..c656e6d
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/readme.md
@@ -0,0 +1,9 @@
+### GraphX Fullscreen Image Demo
+
+An example of a compressed tiled image to construct a fullscreen image.
+
+![Screenshot](screenshot.png)
+
+---
+
+This demo is a part of the C SDK Toolchain for use on the CE.
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/screenshot.png b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/screenshot.png
new file mode 100644
index 0000000..68c625a
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/screenshot.png
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/convpng.ini b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/convpng.ini
new file mode 100644
index 0000000..3c282fe
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/convpng.ini
@@ -0,0 +1,15 @@
+// Appvar to place all graphics in
+
+#AppvarC : var_gfx
+#OutputPalettes : tiles_gfx
+#PNGImages :
+ tileset
+
+// The compressed group for the tileset
+
+#GroupC : tiles_gfx
+#Tilemap : 80,80,true
+#Compression : zx7
+#PNGImages :
+ tileset
+
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tiles_gfx.c b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tiles_gfx.c
new file mode 100644
index 0000000..7243683
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tiles_gfx.c
@@ -0,0 +1,4 @@
+// convpng
+#include <stdint.h>
+#include "tiles_gfx.h"
+
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tiles_gfx.h b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tiles_gfx.h
new file mode 100644
index 0000000..1ae708a
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tiles_gfx.h
@@ -0,0 +1,8 @@
+// convpng
+// this file contains all the graphics sources for easy inclusion in a project
+#ifndef __tiles_gfx__
+#define __tiles_gfx__
+#include <stdint.h>
+
+
+#endif
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tileset.c b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tileset.c
new file mode 100644
index 0000000..ff03cd2
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tileset.c
@@ -0,0 +1,18 @@
+// convpng
+#include <stdint.h>
+#include "tiles_gfx.h"
+
+uint8_t *tileset_tiles_compressed[12] = {
+ (uint8_t*)0,
+ (uint8_t*)3752,
+ (uint8_t*)7872,
+ (uint8_t*)12183,
+ (uint8_t*)15527,
+ (uint8_t*)20894,
+ (uint8_t*)25809,
+ (uint8_t*)30646,
+ (uint8_t*)35982,
+ (uint8_t*)41664,
+ (uint8_t*)46419,
+ (uint8_t*)50679,
+};
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tileset.png b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tileset.png
new file mode 100644
index 0000000..4baee35
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/tileset.png
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.8xv b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.8xv
new file mode 100644
index 0000000..b4981a2
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.8xv
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.c b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.c
new file mode 100644
index 0000000..6de6afa
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.c
@@ -0,0 +1,31 @@
+// convpng
+#include <stdint.h>
+#include "var_gfx.h"
+
+#include <fileioc.h>
+uint8_t *var_gfx[2] = {
+ (uint8_t*)0,
+ (uint8_t*)55530,
+};
+
+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();
+
+ data = (unsigned int)var_gfx[0] - (unsigned int)tileset_tiles_compressed[0];
+ for (i = 0; i < tileset_tiles_num; i++) {
+ tileset_tiles_compressed[i] += data;
+ }
+
+ return (bool)appvar;
+}
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.h b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.h
new file mode 100644
index 0000000..23b61b1
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/gfx/var_gfx.h
@@ -0,0 +1,31 @@
+// 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 2
+
+extern uint8_t *var_gfx[2];
+#define tileset_compressed ((gfx_sprite_t*)var_gfx[0])
+#define tileset_tiles_num 12
+extern uint8_t *tileset_tiles_compressed[12];
+#define tileset_tile_0_compressed ((gfx_sprite_t*)tileset_tiles_compressed[0])
+#define tileset_tile_1_compressed ((gfx_sprite_t*)tileset_tiles_compressed[1])
+#define tileset_tile_2_compressed ((gfx_sprite_t*)tileset_tiles_compressed[2])
+#define tileset_tile_3_compressed ((gfx_sprite_t*)tileset_tiles_compressed[3])
+#define tileset_tile_4_compressed ((gfx_sprite_t*)tileset_tiles_compressed[4])
+#define tileset_tile_5_compressed ((gfx_sprite_t*)tileset_tiles_compressed[5])
+#define tileset_tile_6_compressed ((gfx_sprite_t*)tileset_tiles_compressed[6])
+#define tileset_tile_7_compressed ((gfx_sprite_t*)tileset_tiles_compressed[7])
+#define tileset_tile_8_compressed ((gfx_sprite_t*)tileset_tiles_compressed[8])
+#define tileset_tile_9_compressed ((gfx_sprite_t*)tileset_tiles_compressed[9])
+#define tileset_tile_10_compressed ((gfx_sprite_t*)tileset_tiles_compressed[10])
+#define tileset_tile_11_compressed ((gfx_sprite_t*)tileset_tiles_compressed[11])
+#define sizeof_tiles_gfx_pal 512
+#define tiles_gfx_pal ((uint16_t*)var_gfx[1])
+bool var_gfx_init(void);
+
+#endif
diff --git a/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/main.c b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/main.c
new file mode 100644
index 0000000..1ed734b
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_fullscreen_tiled_image/src/main.c
@@ -0,0 +1,66 @@
+#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 <compression.h>
+#include <graphx.h>
+
+/* Include the graphics */
+#include "gfx/tiles_gfx.h"
+#include "gfx/var_gfx.h"
+
+/* Include the external map data */
+extern uint8_t tilemap_map[];
+
+#define TILE_WIDTH 80
+#define TILE_HEIGHT 80
+
+void main(void) {
+ unsigned int i;
+ unsigned int x, y;
+ gfx_sprite_t *tile;
+
+ tile = gfx_MallocSprite(TILE_WIDTH, TILE_HEIGHT);
+
+ /* Initialize the graphics */
+ if (!var_gfx_init()) {
+ return;
+ }
+
+ /* Start the graphics */
+ gfx_Begin();
+ x = y = i = 0;
+
+ /* Draw offscreen */
+ gfx_SetDrawBuffer();
+
+ /* Decompress the tiles */
+ for (; i < tileset_tiles_num; i++) {
+ zx7_Decompress(tile, tileset_tiles_compressed[i]);
+ gfx_Sprite_NoClip(tile, x, y);
+ x += TILE_WIDTH;
+ if (x >= LCD_WIDTH) {
+ y += TILE_HEIGHT;
+ x = 0;
+ }
+ }
+
+ /* Copy to visible screen */
+ gfx_SetPalette(tiles_gfx_pal, sizeof_tiles_gfx_pal, 0);
+ gfx_BlitBuffer();
+
+ /* Wait for a key */
+ while (!os_GetCSC());
+
+ /* Close the graphics and return to the OS */
+ gfx_End();
+
+ /* Free the earlier allocation */
+ free(tile);
+}