aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorneonloop2021-04-17 21:02:58 +0000
committerneonloop2021-04-17 21:02:58 +0000
commit337e4622f60e11c179ab39419e65c185b84e05e7 (patch)
tree481323908ae3f2aeb7f83f07f5c98aa8b81564b1
parenta151af35091092b4d564b29c67773524502ad779 (diff)
downloadhydracastlelabyrinth-337e4622f60e11c179ab39419e65c185b84e05e7.tar.gz
hydracastlelabyrinth-337e4622f60e11c179ab39419e65c185b84e05e7.tar.bz2
hydracastlelabyrinth-337e4622f60e11c179ab39419e65c185b84e05e7.zip
Initial trimui s support
-rw-r--r--Makefile.trimui77
-rwxr-xr-xsrc/sdl/graphics.c6
-rw-r--r--src/sdl/input.c9
3 files changed, 91 insertions, 1 deletions
diff --git a/Makefile.trimui b/Makefile.trimui
new file mode 100644
index 0000000..b35dc76
--- /dev/null
+++ b/Makefile.trimui
@@ -0,0 +1,77 @@
+CC = $(CROSS_COMPILE)cc
+SYSROOT := $(shell $(CC) --print-sysroot)
+SDL_CFLAGS := $(shell $(SYSROOT)/usr/bin/sdl-config --cflags)
+SDL_LIBS := $(shell $(SYSROOT)/usr/bin/sdl-config --libs)
+
+CFLAGS = -D_SDL -DTRIMUI -O2 -mcpu=arm926ej-s -mtune=arm926ej-s -Isrc -std=c99 $(SDL_CFLAGS)
+LDFLAGS = -lSDL -lm -Wl,-Bstatic -lSDL_mixer -lmad -lvorbisidec -lvorbisfile -lvorbis -logg -Wl,-Bdynamic
+
+DEFINES = -Wall
+OUTPUT = hcl.elf
+
+SOURCES = src/collision.c \
+src/effect.c \
+src/enemy.c \
+src/game.c \
+src/hero.c \
+src/ini.c \
+src/inventory.c \
+src/main.c \
+src/object.c \
+src/options.c \
+src/PHL.c \
+src/platform.c \
+src/qda.c \
+src/stagedata.c \
+src/text.c \
+src/titlescreen.c \
+src/weapon.c \
+src/enemies/batboss.c \
+src/enemies/bat.c \
+src/enemies/bee.c \
+src/enemies/boar.c \
+src/enemies/boomknight.c \
+src/enemies/crab.c \
+src/enemies/devil.c \
+src/enemies/dodo.c \
+src/enemies/dog.c \
+src/enemies/firewheel.c \
+src/enemies/fish.c \
+src/enemies/garm.c \
+src/enemies/gas.c \
+src/enemies/ghoul.c \
+src/enemies/golem.c \
+src/enemies/gyra.c \
+src/enemies/heads.c \
+src/enemies/hydra.c \
+src/enemies/jellyfish.c \
+src/enemies/knight.c \
+src/enemies/lolidra.c \
+src/enemies/pendulum.c \
+src/enemies/podoboo.c \
+src/enemies/poisonknight.c \
+src/enemies/pumpkin.c \
+src/enemies/seal.c \
+src/enemies/skeleton.c \
+src/enemies/skull.c \
+src/enemies/slime.c \
+src/enemies/slug.c \
+src/enemies/thwomp.c \
+src/enemies/waterjumper.c \
+src/enemies/wizard.c \
+src/sdl/audio.c \
+src/sdl/graphics.c \
+src/sdl/input.c \
+src/sdl/system.c
+OBJS = ${SOURCES:.c=.o}
+
+all: ${OUTPUT}
+
+${OUTPUT}:${OBJS}
+ ${CC} -o ${OUTPUT} ${OBJS} ${CFLAGS} ${LDFLAGS} ${DEFINES}
+
+pack:
+ mksquashfs ./opk hydra.opk -all-root -noappend -no-exports -no-xattrs
+
+clean:
+ rm src/*.o src/sdl/*.o ${OUTPUT}
diff --git a/src/sdl/graphics.c b/src/sdl/graphics.c
index 7415b52..f562f9b 100755
--- a/src/sdl/graphics.c
+++ b/src/sdl/graphics.c
@@ -37,7 +37,11 @@ void PHL_GraphicsInit()
Input_InitJoystick();
- uint32_t flags = SDL_HWSURFACE|SDL_DOUBLEBUF;
+#ifdef TRIMUI
+ uint32_t flags = SDL_SWSURFACE;
+#else
+ uint32_t flags = SDL_HWSURFACE|SDL_DOUBLEBUF;
+#endif
if(wantFullscreen || desktopFS)
flags |= SDL_FULLSCREEN;
screen = SDL_SetVideoMode((desktopFS)?0:screenW, (desktopFS)?0:screenH, 0, flags);
diff --git a/src/sdl/input.c b/src/sdl/input.c
index 3036987..41c284c 100644
--- a/src/sdl/input.c
+++ b/src/sdl/input.c
@@ -87,6 +87,15 @@ void Input_KeyEvent(SDL_Event* evt)
case BTN_L: bL = w; break;
case BTN_START: bSelect = w; break;
case BTN_SELECT: bStart = w; break;
+#elif defined(TRIMUI)
+ case SDLK_LSHIFT: bFaceUp = w; break;
+ case SDLK_LCTRL: bFaceDown = w; break;
+ case SDLK_LALT: bFaceLeft = w; break;
+ case SDLK_SPACE: bFaceRight = w; break;
+ case SDLK_BACKSPACE: bR = w; break;
+ case SDLK_TAB: bL = w; break;
+ case SDLK_RCTRL: bSelect = w; break;
+ case SDLK_RETURN: bStart = w; break;
#else
case SDLK_e: bFaceUp = w; break;
case SDLK_x: bFaceDown = w; break;