Skip to content

Commit

Permalink
Merge pull request #426 from Cebion/caveexpress
Browse files Browse the repository at this point in the history
New Port Cave Express
  • Loading branch information
kloptops authored May 23, 2024
2 parents 9916f5c + b85209c commit b45a16c
Show file tree
Hide file tree
Showing 230 changed files with 42,766 additions and 0 deletions.
48 changes: 48 additions & 0 deletions ports/caveexpress/Cave Express.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/bin/bash
XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}

if [ -d "/opt/system/Tools/PortMaster/" ]; then
controlfolder="/opt/system/Tools/PortMaster"
elif [ -d "/opt/tools/PortMaster/" ]; then
controlfolder="/opt/tools/PortMaster"
elif [ -d "$XDG_DATA_HOME/PortMaster/" ]; then
controlfolder="$XDG_DATA_HOME/PortMaster"
else
controlfolder="/roms/ports/PortMaster"
fi

source $controlfolder/control.txt
source $controlfolder/device_info.txt

[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt"

get_controls

GAMEDIR=/$directory/ports/caveexpress
CONFDIR="$GAMEDIR/conf/"

> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1

mkdir -p "$GAMEDIR/conf"

# For Ports that use gptokeyb's xbox360 mode, interactive input or config-mode
$ESUDO chmod 666 /dev/uinput

export XDG_DATA_HOME="$CONFDIR"
export DEVICE_ARCH="${DEVICE_ARCH:-aarch64}"
export LD_LIBRARY_PATH="$GAMEDIR/libs.${DEVICE_ARCH}:$LD_LIBRARY_PATH"
export SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"
#export TEXTINPUTINTERACTIVE="Y"


# $ESUDO rm -rf ~/.config/warmux
# ln -sfv /$directory/ports/warmux/conf/.config/warmux ~/

cd $GAMEDIR

$GPTOKEYB "caveexpress" -c "./caveexpress.gptk" &
./caveexpress

$ESUDO kill -9 $(pidof gptokeyb)
$ESUDO systemctl restart oga_events &
printf "\033c" > /dev/tty0
31 changes: 31 additions & 0 deletions ports/caveexpress/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## Notes
Thanks to the [Chris Mohler and Martin Gerhardy](http://www.caveproductions.org/) for creating this game and making it available for free!

## Controls

| Button | Action |
|--|--|
|DPAD| Move|


## Compile

```shell
dget -u http://deb.debian.org/debian/pool/main/c/caveexpress/caveexpress_2.5.2-1.dsc
cd caveexpress-2.5.2/
mkdir build && cd build

rewrite initControllerAndHaptic function in src/modules/gfx/SDLFrontend.cpp to:

void SDLFrontend::initControllerAndHaptic ()
{
// Log controller initialization attempt
Log::info(LOG_GFX, "Controller initialization has been skipped.");

// Immediately exit the function without initializing controllers or haptics
return;
}

cmake .
make
```
39 changes: 39 additions & 0 deletions ports/caveexpress/caveexpress/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Copyright 2014-2016, Martin Gerhardy [email protected]

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License along with
this package; if not, write to the Free Software Foundation, Inc., 51 Franklin
St, Fifth Floor, Boston, MA 02110-1301 USA

All artwork and assets are licensed under the Creative Commons
Attribution-ShareAlike 4.0 International license (CC-BY-SA-4.0).

In addition this project incorporates third party software which is differently
licensed:

Files: src/libs/cJSON/*
Copyright: 2009, Dave Gamble
License: MIT/Expat

Files: src/libs/SDL/include/*
Copyright: 2013-2014, The Khronos Group Inc.
License: MIT/Expat

Files: src/caveexpress/server/entities/Buoyancy.h
Copyright: 2006-2011, Erin Catto http://www.box2d.org
License: zlib

Please also add the full license text of the GPL-3 and CC-BY-SA-4.0 license to
the repository and the release tarball.

Please note that the licenses of the external dependencies that are available
under src/libs are not explicitly stated here, a packager should rely on the
distribution packages.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-- create a new campaign
local c = Campaign.new("tutorial")
-- set an ingame icon for this campaign
--c:setSetting("icon", "tutorial-campaign")
-- set the on screen message when this campaign is activated
c:setSetting("text", "Introduction")
c:setSetting("achievement", "achievement_finish_the_tutorial")
-- now add all maps
c:addMaps("introducing-01-package")
c:addMaps("introducing-02-game")
c:addMaps("introducing-03-tree")
c:addMaps("introducing-04-geyser")
c:addMaps("introducing-05-flying")
c:addMaps("introducing-06-attack")
c:addMaps("introducing-07-findyourway")
c:addMaps("introducing-08-npcdeliver")
c:addMaps("introducing-09-npcrescue")
--c:addMaps("introducing-10-placestone")
c:unlock()
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-- create a new campaign
local c = Campaign.new("ice")
-- set an ingame icon for this campaign
c:setSetting("icon", "icon-campaign-ice")
-- set the on screen message when this campaign is activated
c:setSetting("text", "Ice Campaign")
-- now add all maps
c:addMaps("ice-01")
c:addMaps("ice-02")
c:addMaps("ice-03")
c:addMaps("ice-04")
c:addMaps("ice-05")
c:addMaps("ice-06")
c:addMaps("ice-07")
c:addMaps("ice-08")
c:addMaps("ice-09")
c:addMaps("ice-10")
c:addMaps("ice-11")
c:addMaps("ice-12")
c:addMaps("ice-13")
c:addMaps("ice-14")
c:addMaps("ice-15")
c:addMaps("ice-16")
c:addMaps("ice-17")
c:addMaps("ice-18")
c:addMaps("ice-20")
c:addMaps("ice-21")
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
-- create a new campaign
local c = Campaign.new("rock")
-- set an ingame icon for this campaign
c:setSetting("icon", "icon-campaign-rock")
-- set the on screen message when this campaign is activated
c:setSetting("text", "Rock Campaign")
-- now add all maps
c:addMaps("rock-01")
c:addMaps("rock-02")
c:addMaps("rock-03")
c:addMaps("rock-04")
c:addMaps("rock-05")
c:addMaps("rock-06")
c:addMaps("rock-07")
c:addMaps("rock-08")
c:addMaps("rock-09")
c:addMaps("rock-10")
c:addMaps("rock-11")
c:addMaps("rock-12")
c:addMaps("rock-13")
c:addMaps("rock-14")
c:addMaps("rock-15")
c:addMaps("rock-16")
c:addMaps("rock-17")
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
-- create a new campaign
local c = Campaign.new("secondrock")
-- set an ingame icon for this campaign
c:setSetting("icon", "icon-campaign-rock")
-- set the on screen message when this campaign is activated
c:setSetting("text", "SecondRock")
-- now add all maps
c:addMaps("second-rock-01")
c:addMaps("second-rock-02")
c:addMaps("second-rock-03")
c:addMaps("second-rock-04")
c:addMaps("second-rock-05")
c:addMaps("second-rock-06")
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
-- create a new campaign
local c = Campaign.new("secondice")
-- set an ingame icon for this campaign
c:setSetting("icon", "icon-campaign-ice")
-- set the on screen message when this campaign is activated
c:setSetting("text", "SecondIce")
-- now add all maps
c:addMaps("second-ice-01")
c:addMaps("second-ice-02")
c:addMaps("second-ice-03")
c:addMaps("second-ice-04")
c:addMaps("second-ice-05")
c:addMaps("second-ice-06")
c:addMaps("second-ice-07")
c:addMaps("second-ice-08")
c:addMaps("second-ice-09")
c:addMaps("second-ice-10")
c:addMaps("second-ice-11")
c:addMaps("second-ice-12")
c:addMaps("second-ice-13")
c:addMaps("second-ice-14")
c:addMaps("second-ice-15")
c:addMaps("second-ice-16")
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-- create a new campaign
local c = Campaign.new("thirdice")
-- set an ingame icon for this campaign
c:setSetting("icon", "icon-campaign-ice")
-- set the on screen message when this campaign is activated
c:setSetting("text", "ThirdIce")
-- now add all maps
c:addMaps("third-ice-01")
c:addMaps("third-ice-02")
c:addMaps("third-ice-03")
c:addMaps("third-ice-04")
c:addMaps("third-ice-05")
c:addMaps("third-ice-06")
c:addMaps("third-ice-07")
c:addMaps("third-ice-08")
c:addMaps("third-ice-09")
c:addMaps("third-ice-10")
c:addMaps("third-ice-11")
c:addMaps("third-ice-12")
c:addMaps("third-ice-13")
c:addMaps("third-ice-14")
c:addMaps("third-ice-15")
c:addMaps("third-ice-16")
c:addMaps("third-ice-17")
c:addMaps("third-ice-18")
c:addMaps("third-ice-19")
c:addMaps("third-ice-20")
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
-- create a new campaign
local c = Campaign.new("wind")
-- set an ingame icon for this campaign
--c:setSetting("icon", "wind-campaign")
-- set the on screen message when this campaign is activated
c:setSetting("text", "Wind")
-- now add all maps
c:addMaps("wind-01")
c:addMaps("wind-02")
c:addMaps("wind-03")
c:addMaps("wind-04")
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
-- create a new campaign
local c = Campaign.new("taxi")
-- set an ingame icon for this campaign
--c:setSetting("icon", "wind-campaign")
-- set the on screen message when this campaign is activated
c:setSetting("text", "Taxi")
-- now add all maps
c:addMaps("taxi-01")
c:addMaps("taxi-02")
c:addMaps("taxi-03")
c:addMaps("taxi-04")
c:addMaps("taxi-05")
c:addMaps("taxi-06")
Loading

0 comments on commit b45a16c

Please sign in to comment.