Browse Source

Initial commit

Nathaniel van Diepen 3 years ago
commit
f10371d1e2

+ 4 - 0
.gitignore

@@ -0,0 +1,4 @@
+bin/
+obj/
+src/gfx/*.h
+src/gfx/*.c

+ 30 - 0
makefile

@@ -0,0 +1,30 @@
+# ----------------------------
+# Program Options
+# ----------------------------
+
+NAME         ?= DEMO
+ICON         ?= icon.png
+DESCRIPTION  ?= "CE C SDK Demo"
+COMPRESSED   ?= NO
+ARCHIVED     ?= NO
+
+# ----------------------------
+# Debug Options
+# ----------------------------
+
+OUTPUT_MAP   ?= NO
+
+include $(CEDEV)/include/.makefile
+
+clean_gfx:
+	rm src/gfx/*.{c,h}
+
+deploy: bin/${NAME}.8xp
+	tilp --cable=usb -n bin/${NAME}.8xp
+
+bin/clibs.8xg:
+	wget https://github.com/CE-Programming/libraries/releases/download/v8.8/clibs.8xg \
+		-O bin/clibs.8xg
+
+emulator: bin/${NAME}.8xp bin/clibs.8xg
+	CEmu -a bin/clibs.8xg -s bin/${NAME}.8xp --launch ${NAME}

BIN
src/gfx/blackmage.png


BIN
src/gfx/bm1.png


BIN
src/gfx/bm10.png


BIN
src/gfx/bm11.png


BIN
src/gfx/bm12.png


BIN
src/gfx/bm13.png


BIN
src/gfx/bm14.png


BIN
src/gfx/bm15.png


BIN
src/gfx/bm16.png


BIN
src/gfx/bm17.png


BIN
src/gfx/bm18.png


BIN
src/gfx/bm2.png


BIN
src/gfx/bm3.png


BIN
src/gfx/bm4.png


BIN
src/gfx/bm5.png


BIN
src/gfx/bm6.png


BIN
src/gfx/bm7.png


BIN
src/gfx/bm8.png


BIN
src/gfx/bm9.png


BIN
src/gfx/char_civilian.bmp


BIN
src/gfx/char_monster.bmp


+ 32 - 0
src/gfx/convpng.yml

@@ -0,0 +1,32 @@
+output: c                     : Sets the output format to C
+  include-file: main_gfx.h         : File name containing all images/palettes
+  palettes:                   : Start of palettes list in the output
+    - main_palette               : Name of each palette, separated by line
+  converts:                   : Converted sections, based on name
+    - main_images                : Name of each convert section
+
+palette: main_palette            : Palette and name of palette
+  images: automatic           : Automatically get list of images
+
+convert: main_images             : Convert images section
+  palette: main_palette          : Use the above generated palette
+  images:                     : List of input images
+    # - blackmage.png
+    - bm1.png # Standing front
+    - bm2.png # Standing back
+    - bm3.png # Walking 1 front
+    - bm4.png # Walking 1 back
+    - bm5.png # Walking 2 front
+    - bm6.png # Walking 2 back
+    - bm7.png # Left 1 front
+    - bm8.png # Left 1 back
+    - bm9.png # Left 2 front
+    - bm10.png # Left 2 back
+    - bm11.png # Right 1 front
+    - bm12.png # Right 1 back
+    - bm13.png # Right 2 front
+    - bm14.png # Right 2 back
+    - bm15.png # Climb 1 front
+    - bm16.png # Climb 1 back
+    - bm17.png # Climb 2 front
+    - bm18.png # Climb 2 back

BIN
src/gfx/tiles.bmp


+ 90 - 0
src/main.c

@@ -0,0 +1,90 @@
+#include <tice.h>
+#include <graphx.h>
+#include <keypadc.h>
+
+#include "gfx/main_gfx.h"
+
+gfx_sprite_t* sprite;
+float scale = 3;
+int max_width = LCD_WIDTH;
+int max_height = LCD_HEIGHT;
+kb_key_t arrows;
+int x = 0;
+int y = 0;
+int frame = 0;
+
+void draw_sprite(){
+    gfx_FillScreen(0);
+    gfx_ScaledSprite_NoClip(sprite, x, y, scale, scale);
+    gfx_BlitBuffer();
+}
+int main(void){
+    if(bm3->height > bm5->height){
+        max_height -= bm3->height * scale;
+    }else{
+        max_height -= bm5->height * scale;
+    }
+    if(bm11->width > bm13->width){
+        max_width -= bm11->width * scale;
+    }else{
+        max_width -= bm13->width * scale;
+    }
+
+    gfx_Begin();
+    gfx_SetPalette(main_palette, sizeof_main_palette, 0);
+    gfx_SetDrawBuffer();
+
+    draw_sprite();
+    do{
+        sprite = bm1;
+        kb_Scan();
+        arrows = kb_Data[7];
+
+        if(arrows & kb_Down){
+            if(y < max_height){
+                y++;
+                if(frame > 2){
+                    sprite = bm3;
+                }else{
+                    sprite = bm5;
+                }
+            }
+        }else if(arrows & kb_Up){
+            if(y > 0){
+                y--;
+                if(frame > 2){
+                    sprite = bm15;
+                }else{
+                    sprite = bm17;
+                }
+            }
+        }
+        if(arrows & kb_Right){
+            if(x < max_width){
+                x++;
+                if(frame > 2){
+                    sprite = bm11;
+                }else{
+                    sprite = bm13;
+                }
+            }
+        }else if(arrows & kb_Left){
+            if(x > 0){
+                x--;
+                if(frame > 2){
+                    sprite = bm7;
+                }else{
+                    sprite = bm9;
+                }
+            }
+        }
+        draw_sprite();
+        frame++;
+        if(frame > 5){
+            frame = 0;
+        }
+    }while (arrows != sk_Enter);
+
+    gfx_End();
+    return 0;
+}