diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7de5508 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +obj +bin diff --git a/Makefile b/Makefile index c7df450..547ba7c 100644 --- a/Makefile +++ b/Makefile @@ -77,13 +77,24 @@ SOURCE_FILES = \ zone.c \ # tool macros -CC := mipsel-linux-gcc -INCLUDES := -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL +TOOLKIT := /opt/gcw0-toolchain +CC := $(TOOLKIT)/usr/bin/mipsel-linux-gcc +INCLUDES := -I$(TOOLKIT)/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL CCFLAG := -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -Wall -Wextra -O2 -DSDL -D__linux__ -D_GNU_SOURCE=1 -D_REENTRANT $(INCLUDES) DBGFLAG := -g CCOBJFLAG := $(CCFLAG) -c LDFLAGS := -lm -lSDL -lpthread +# Uncomment to build for OD BETA +OD_BETA := 1 + +HUGEEDIT := $(TOOLKIT)/usr/bin/hugeedit + +ifdef OD_BETA + # Add specific RG350 CPU optimizations (BETA FIRMWARE) + LDFLAGS += -Wl,--allow-multiple-definition -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152 -lhugetlbfs +endif + # path macros BIN_PATH := bin OBJ_PATH := obj @@ -116,6 +127,9 @@ default: all # non-phony targets $(TARGET): $(OBJ) $(LINKCMD) + @if [ "${OD_BETA}" = "1" ]; then\ + $(HUGEEDIT) --text --data $(TARGET);\ + fi $(OBJ_PATH)/%.o: $(SRC_PATH)/%.c* $(CC) $(CCOBJFLAG) -o $@ $< diff --git a/README.md b/README.md index acb2e19..e9496b4 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ To install you can do it in two ways: 1) Installing with OPK - Put the .opk in your `/media/data/apps` -- Put your id1 directory's .pak files into `/media/data/Quake/id/`. +- Put your id1 directory's .pak files into `/media/data/local/home/Quake/id/`. - If you've installed Thenesis Quake on your device via its OPK, your game files are already in the right place. OR diff --git a/bin/.placeholder b/bin/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/make_opk.sh b/make_opk.sh index a3f3916..1084fd4 100755 --- a/make_opk.sh +++ b/make_opk.sh @@ -8,6 +8,9 @@ FLIST="rgquake" FLIST="${FLIST} default.gcw0.desktop" FLIST="${FLIST} hipnotic.gcw0.desktop" FLIST="${FLIST} rogue.gcw0.desktop" +FLIST="${FLIST} rgquake.sh" +FLIST="${FLIST} hipnotic.sh" +FLIST="${FLIST} rogue.sh" FLIST="${FLIST} logo.png" FLIST="${FLIST} mp1.png" FLIST="${FLIST} mp2.png" @@ -17,4 +20,4 @@ FLIST="${FLIST} hipnotic" OPK_NAME=rgquake.opk rm -f ${OPK_NAME} -mksquashfs ${FLIST} ${OPK_NAME} \ No newline at end of file +mksquashfs ${FLIST} ${OPK_NAME} -all-root -noappend -no-exports -no-xattrs -force-uid 1000 -force-gid 100 \ No newline at end of file diff --git a/obj/.placeholder b/obj/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/obj/snd_linux.o b/obj/snd_linux.o deleted file mode 100644 index 34bdf22..0000000 Binary files a/obj/snd_linux.o and /dev/null differ diff --git a/opk_data/default.gcw0.desktop b/opk_data/default.gcw0.desktop index bfb9f23..5b41014 100644 --- a/opk_data/default.gcw0.desktop +++ b/opk_data/default.gcw0.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=RgQuake Type=Application -Exec=rgquake -basedir /media/data/Quake +Exec=./rgquake.sh Icon=logo Comment=Enhanced port of Quake Terminal=false diff --git a/opk_data/hipnotic.gcw0.desktop b/opk_data/hipnotic.gcw0.desktop index f4e2110..e503ec0 100644 --- a/opk_data/hipnotic.gcw0.desktop +++ b/opk_data/hipnotic.gcw0.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=RgQuake-Hipnotic Type=Application -Exec=rgquake -basedir /media/data/Quake -hipnotic +Exec=./hipnotic.sh Icon=mp1 Comment=Mission Pack 1: Scourge of Armagon Terminal=false diff --git a/opk_data/hipnotic.sh b/opk_data/hipnotic.sh new file mode 100755 index 0000000..c3b5b06 --- /dev/null +++ b/opk_data/hipnotic.sh @@ -0,0 +1,2 @@ +#!/bin/sh +./rgquake -basedir /media/data/local/home/Quake -hipnotic -noudp diff --git a/opk_data/manual-gcw0.txt b/opk_data/manual-gcw0.txt index d555845..ee6f85e 100644 --- a/opk_data/manual-gcw0.txt +++ b/opk_data/manual-gcw0.txt @@ -3,7 +3,7 @@ RgQuake An enhanced port of sdlquake made specifically for the RG350 platforms. This port supports dual analog controls and runs smooth on the RG350. -In order to play, you need to place your Quake .pak files in /media/data/Quake/id1 +In order to play, you need to place your Quake .pak files in /media/data/local/home/Quake/id1 If you've already set up Thenesis Quake then everything should already work. Changes to vanilla quake: diff --git a/opk_data/rgquake b/opk_data/rgquake deleted file mode 100755 index 096fb8c..0000000 Binary files a/opk_data/rgquake and /dev/null differ diff --git a/opk_data/rgquake.opk b/opk_data/rgquake.opk deleted file mode 100644 index f70620d..0000000 Binary files a/opk_data/rgquake.opk and /dev/null differ diff --git a/opk_data/rgquake.sh b/opk_data/rgquake.sh new file mode 100755 index 0000000..1c56d97 --- /dev/null +++ b/opk_data/rgquake.sh @@ -0,0 +1,2 @@ +#!/bin/sh +./rgquake -basedir /media/data/local/home/Quake -noudp diff --git a/opk_data/rgquakev010.zip b/opk_data/rgquakev010.zip deleted file mode 100644 index 1f8cc09..0000000 Binary files a/opk_data/rgquakev010.zip and /dev/null differ diff --git a/opk_data/rgquakev010/id1/rg_default.cfg b/opk_data/rgquakev010/id1/rg_default.cfg deleted file mode 100644 index bbc7631..0000000 --- a/opk_data/rgquakev010/id1/rg_default.cfg +++ /dev/null @@ -1,85 +0,0 @@ -// -// load keybindings -// -// commands with a leading + will also be called for key up events with -// the + changed to a - -unbindall - -// -// character controls -// -bind L3 +speed -bind R3 +weaponwheel -bind R1 +attack -bind UP +forward -bind DOWN +back -bind LEFT +moveleft -bind RIGHT +moveright -bind B +jump -bind L1 +weaponwheel -bind SELECT +showscores -bind X +showscores -bind 1 "impulse 1" -bind 2 "impulse 2" -bind 3 "impulse 3" -bind 4 "impulse 4" -bind 5 "impulse 5" -bind 6 "impulse 6" -bind 7 "impulse 7" -bind 8 "impulse 8" -bind 0 "impulse 0" -bind R2 "+jump" // change weapon -bind A "impulse 10" -bind L2 "+jump" // prev -bind Y "impulse 12" -// zoom -alias zoom_in "sensitivity 2;fov 90;wait;fov 70;wait;fov 50;wait;fov 30;wait;fov 10;wait;fov 5;bind F11 zoom_out" -alias zoom_out "sensitivity 4;fov 5;wait;fov 10;wait;fov 30;wait;fov 50;wait;fov 70;wait;fov 90;bind F11 zoom_in; sensitivity 3" -bind F11 zoom_in - -// Function keys -bind F1 "help" -bind F2 "menu_save" -bind F3 "menu_load" -bind F4 "menu_options" -bind F5 "menu_multiplayer" -bind F6 "echo Quicksaving...; wait; save quick" -bind F9 "echo Quickloading...; wait; load quick" -bind F10 "quit" -bind F12 "screenshot" - -// mouse options -// bind \ +mlook - -// -// client environment commands -// -bind PAUSE "pause" -bind ESCAPE "togglemenu" -// bind ~ "toggleconsole" -// bind ` "toggleconsole" - -// bind t "messagemode" - -// bind + "sizeup" -// bind = "sizeup" -// bind - "sizedown" - -// bind INS +klook - -// -// mouse buttons -// -// bind MOUSE1 +attack -// bind MOUSE2 +forward -// bind MOUSE3 +mlook - -// -// default cvars -// -viewsize 100 -gamma 1.0 -volume 0.7 -sensitivity 3 -m_pitch 0.32 -m_yaw 0.32 diff --git a/opk_data/rgquakev010/id1/rg_quake.rc b/opk_data/rgquakev010/id1/rg_quake.rc deleted file mode 100644 index 3c81fd2..0000000 --- a/opk_data/rgquakev010/id1/rg_quake.rc +++ /dev/null @@ -1,16 +0,0 @@ -// load the base configuration -exec rg_default.cfg - -// load the last saved configuration -exec rg_config.cfg - -// run a user script file if present -exec autoexec.cfg - -// -// stuff command line statements -// -stuffcmds - -// start demos if not allready running a server -startdemos demo1 demo2 demo3 diff --git a/opk_data/rgquakev010/rgquake b/opk_data/rgquakev010/rgquake deleted file mode 100755 index 577ae64..0000000 Binary files a/opk_data/rgquakev010/rgquake and /dev/null differ diff --git a/opk_data/rogue.gcw0.desktop b/opk_data/rogue.gcw0.desktop index 7464386..4dd6a67 100644 --- a/opk_data/rogue.gcw0.desktop +++ b/opk_data/rogue.gcw0.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=RgQuake-Rogue Type=Application -Exec=rgquake -basedir /media/data/Quake -rogue +Exec=./rogue.sh Icon=mp2 Comment=Mission Pack 2: Dissolution of Eternity Terminal=false diff --git a/opk_data/rogue.sh b/opk_data/rogue.sh new file mode 100755 index 0000000..b44b3c1 --- /dev/null +++ b/opk_data/rogue.sh @@ -0,0 +1,2 @@ +#!/bin/sh +./rgquake -basedir /media/data/local/home/Quake -rogue -noudp