diff --git a/ports/superskelemania/README.md b/ports/superskelemania/README.md new file mode 100644 index 0000000000..c4d8038616 --- /dev/null +++ b/ports/superskelemania/README.md @@ -0,0 +1,13 @@ +## Notes + +Thanks to [Ben Allen](https://benal.itch.io) for creating this fantastic game, which you can purchase on [itch.io](https://benal.itch.io/super-skelemania) or [Steam](https://store.steampowered.com/app/730920/Super_Skelemania) + + +## Controls + +| Button | Action | +| ------ | -------- | +| D-PAD | Movement | +| A | Jump | +| X | Attack | +| Select | Menu | diff --git a/ports/superskelemania/Super Skelemania.sh b/ports/superskelemania/Super Skelemania.sh new file mode 100644 index 0000000000..3c0bb0a11d --- /dev/null +++ b/ports/superskelemania/Super Skelemania.sh @@ -0,0 +1,58 @@ +#!/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 +export PORT_32BIT="Y" +[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt" +get_controls + +GAMEDIR="/$directory/ports/superskelemania" + +export LD_LIBRARY_PATH="/usr/lib32:$GAMEDIR/libs:$LD_LIBRARY_PATH" +export GMLOADER_DEPTH_DISABLE=1 +export GMLOADER_SAVEDIR="$GAMEDIR/gamedata/" +export GMLOADER_PLATFORM="os_linux" + +# We log the execution of the script into log.txt +> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1 + +cd $GAMEDIR + +# Check if there are .ogg files in ./gamedata +if [ -n "$(ls ./gamedata/*.ogg 2>/dev/null)" ]; then + # Move all .ogg files from ./gamedata to ./assets + mv ./gamedata/*.ogg ./assets/ + echo "Moved .ogg files from ./gamedata to ./assets/" + # Zip the contents of ./sm.apk including the new .ogg files + zip -r -0 ./game.apk ./game.apk ./assets/ + rm -f ./assets/*.ogg + echo "Zipped contents to ./game.apk" + # Delete uneeded files + rm -f ./gamedata/*.exe + rm -f ./gamedata/*.dll + rm -f ./gamedata/*.ini +fi + +# Check for file existence before trying to manipulate them: +[ -f "./gamedata/data.win" ] && mv gamedata/data.win gamedata/game.droid +[ -f "./gamedata/game.win" ] && mv gamedata/game.win gamedata/game.droid +[ -f "./gamedata/game.unx" ] && mv gamedata/game.unx gamedata/game.droid + +$GPTOKEYB "gmloader" -c ./superskelemania.gptk & + +$ESUDO chmod +x "$GAMEDIR/gmloader" +pm_platform_helper "$GAMEDIR/gmloader" +./gmloader game.apk + +pm_finish diff --git a/ports/superskelemania/gameinfo.xml b/ports/superskelemania/gameinfo.xml new file mode 100644 index 0000000000..cd4d44237f --- /dev/null +++ b/ports/superskelemania/gameinfo.xml @@ -0,0 +1,14 @@ + + + + ./Super Skelemania.sh + Super Skelemania + Dive into Super Skelemania, a single-sitting metroidvania about an acrobatic skeleton. Jump over a pit of thorns, roll your skull like a bowling ball, or headbutt a spider like any good skeleton would! + 20171117T000000 + Ben Allen + Self-Published + Action-Adventure-Platformer + ./superskelemania/screenshot.png + + + diff --git a/ports/superskelemania/port.json b/ports/superskelemania/port.json new file mode 100644 index 0000000000..c67457c4c3 --- /dev/null +++ b/ports/superskelemania/port.json @@ -0,0 +1,30 @@ +{ + "version": 3, + "name": "superskelemania.zip", + "items": [ + "Super Skelemania.sh", + "superskelemania" + ], + "items_opt": [], + "attr": { + "title": "Super Skelemania", + "porter": [ + "tabreturn" + ], + "desc": "Dive into Super Skelemania, a single-sitting metroidvania about an acrobatic skeleton. Jump over a pit of thorns, roll your skull like a bowling ball, or headbutt a spider like any good skeleton would!", + "desc_md": null, + "inst": "Purchase the game on itch.io (https://benal.itch.io/super-skelemania) or Steam (https://store.steampowered.com/app/730920/Super_Skelemania). For itch.io, extract the .exe as if it were a 7-zip archive (which it is) and copy all the games files into the port *gamedata* folder; for Steam, there's no need to extract the game files, just copy them to the *gamedata* folder.", + "inst_md": "Purchase the game on [itch.io](https://benal.itch.io/super-skelemania) or [Steam](https://store.steampowered.com/app/730920/Super_Skelemania). For itch.io, extract the .exe as if it were a 7-zip archive (which it is) and copy all the games files into the port *gamedata* folder; for Steam, there's no need to extract the game files, just copy them to the *gamedata* folder.", + "genres": [ + "platformer" + ], + "image": null, + "rtr": false, + "exp": false, + "runtime": null, + "reqs": [], + "arch": [ + "armhf" + ] + } +} diff --git a/ports/superskelemania/screenshot.png b/ports/superskelemania/screenshot.png new file mode 100644 index 0000000000..b76f09a830 Binary files /dev/null and b/ports/superskelemania/screenshot.png differ diff --git a/ports/superskelemania/superskelemania/assets/.gitkeep b/ports/superskelemania/superskelemania/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ports/superskelemania/superskelemania/game.apk b/ports/superskelemania/superskelemania/game.apk new file mode 100644 index 0000000000..8adbe4024a Binary files /dev/null and b/ports/superskelemania/superskelemania/game.apk differ diff --git a/ports/superskelemania/superskelemania/gamedata/splash.png b/ports/superskelemania/superskelemania/gamedata/splash.png new file mode 100644 index 0000000000..a71b5f51d4 Binary files /dev/null and b/ports/superskelemania/superskelemania/gamedata/splash.png differ diff --git a/ports/superskelemania/superskelemania/gmloader b/ports/superskelemania/superskelemania/gmloader new file mode 100644 index 0000000000..f953f12dd3 Binary files /dev/null and b/ports/superskelemania/superskelemania/gmloader differ diff --git a/ports/superskelemania/superskelemania/libc++_shared.so b/ports/superskelemania/superskelemania/libc++_shared.so new file mode 100644 index 0000000000..fb45ef9052 Binary files /dev/null and b/ports/superskelemania/superskelemania/libc++_shared.so differ diff --git a/ports/superskelemania/superskelemania/libs/libcrypto.so.1.1 b/ports/superskelemania/superskelemania/libs/libcrypto.so.1.1 new file mode 100644 index 0000000000..12578440aa Binary files /dev/null and b/ports/superskelemania/superskelemania/libs/libcrypto.so.1.1 differ diff --git a/ports/superskelemania/superskelemania/libs/libzip.so.5 b/ports/superskelemania/superskelemania/libs/libzip.so.5 new file mode 100644 index 0000000000..0908c68657 Binary files /dev/null and b/ports/superskelemania/superskelemania/libs/libzip.so.5 differ diff --git a/ports/superskelemania/superskelemania/superskelemania.gptk b/ports/superskelemania/superskelemania/superskelemania.gptk new file mode 100644 index 0000000000..974ab7dfcd --- /dev/null +++ b/ports/superskelemania/superskelemania/superskelemania.gptk @@ -0,0 +1,17 @@ +back = \" +start = \" + +up = \" +down = \" +left = \" +right = \" + +left_analog_up = \" +left_analog_down = \" +left_analog_left = \" +left_analog_right = \" + +a = \" +b = \" +x = \" +y = \"