Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions ports/theimpossiblegame/README.md
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

README needs a controls table

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Notes

Thanks to Grip Games and Fluke Games for creating this [iconic rhythm-platformer](https://store.steampowered.com/app/251630/The_Impossible_Game/).
Thanks to [box86](https://github.com/ptitSeb/box86) and [gl4es](https://github.com/ptitSeb/gl4es) for the tools that made this port possible.
Ported by kirbylife.

### Install instructions

- Buy the game from [Steam](https://store.steampowered.com/app/251630/The_Impossible_Game/).
- Install the port from PortMaster.
- Copy the Linux game files from Steam into the `ports/theimpossiblegame/gamedata/` directory.
- To download the Linux depot from Steam on Windows/Mac, open the Steam console (`steam://open/console`) and run:
```
download_depot 251630 251632
```
Then copy the contents of the downloaded folder into `ports/theimpossiblegame/gamedata/`.
- The main executable inside the depot is called `ImpossibleGame`. Make sure it is present at `ports/theimpossiblegame/gamedata/ImpossibleGame`.

### Controls

| Button | Action In-Game | Action Menu |
| ------ | -------------- | ----------- |
| A | Jump | Select |
| B | | Back |
| D-pad | | Move |
| RB/R1 | Add Flag | |
| LB/L1 | Remove Flag | |
| Start | Pause/Resume | |
66 changes: 66 additions & 0 deletions ports/theimpossiblegame/The Impossible Game.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/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
export PORT_32BIT="Y"
[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt"

get_controls

BINARYNAME="ImpossibleGame"
GAMEDIR=/$directory/ports/theimpossiblegame

CUR_TTY=/dev/tty0
$ESUDO chmod 666 $CUR_TTY

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

cd $GAMEDIR

# Setup gl4es
if [ -f "${controlfolder}/libgl_${CFW_NAME}.txt" ]; then
source "${controlfolder}/libgl_${CFW_NAME}.txt"
else
source "${controlfolder}/libgl_default.txt"
fi

cd $GAMEDIR/gamedata/

# Remove any Steam runtime libsteam_api.so that may have been copied from Steam
# to ensure we use only our stub
rm -f libsteam_api.so

# Setup Box86
export BOX86_LOG=1
export BOX86_DLSYM_ERROR=1
export BOX86_SHOWSEGV=1
export BOX86_SHOWBT=1
export BOX86_DYNAREC=1

export LD_LIBRARY_PATH="$GAMEDIR/box86/native":"/usr/lib/arm-linux-gnueabihf/":"/usr/lib32":"$LD_LIBRARY_PATH"
export BOX86_LD_LIBRARY_PATH="$GAMEDIR/box86/x86":"$GAMEDIR/box86/native":"$GAMEDIR/libs/x86"

if [ "$LIBGL_FB" != "" ]; then
export SDL_VIDEO_GL_DRIVER="$GAMEDIR/gl4es/libGL.so.1"
fi

export SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"

$GPTOKEYB "box86" xbox360 &
GPTK_PID=$!
$GAMEDIR/box86/box86 ./$BINARYNAME
kill $GPTK_PID 2>/dev/null

pm_finish
Binary file added ports/theimpossiblegame/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions ports/theimpossiblegame/gameinfo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<gameList>
<game>
<path>./The Impossible Game.sh</path>
<name>The Impossible Game</name>
<desc>
The Impossible Game is a brutally challenging rhythm-based platformer where you control a square navigating a course of obstacles. One wrong move and you start from the very beginning. With pulse-pounding music, pixel-perfect timing, and a built-in level editor, it's simple to learn but nearly impossible to master.
</desc>
<releasedate>20140508T000000</releasedate>
<developer>Fluke Games, Grip Games</developer>
<publisher>Fluke Games</publisher>
<genre>platformer</genre>
<image>./theimpossiblegame/cover.png</image>
</game>
</gameList>
30 changes: 30 additions & 0 deletions ports/theimpossiblegame/port.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"version": 4,
"name": "theimpossiblegame.zip",
"items": ["The Impossible Game.sh", "theimpossiblegame"],
"items_opt": [],
"attr": {
"title": "The Impossible Game",
"porter": ["kirbylife"],
"desc": "The Impossible Game is a brutally challenging rhythm-based platformer where you control a square navigating a course of obstacles. One wrong move and you start from the very beginning. With pulse-pounding music, pixel-perfect timing, and a built-in level editor, it's simple to learn but nearly impossible to master.",
"desc_md": null,
"inst": "Copy the Linux game files from Steam to the ports/theimpossiblegame/gamedata directory. To get the Linux files from Steam, open the Steam console steam://open/console and run: \"download_depot 251630 251632\", then copy the contents of the downloaded depot into ports/theimpossiblegame/gamedata/.",
"inst_md": "Copy the Linux game files from Steam to the ports/theimpossiblegame/gamedata directory.\nTo get the Linux files from Steam, open the [Steam console](steam://open/console) and run:\n```\ndownload_depot 251630 251632\n```\nThen copy the contents of the downloaded depot into ports/theimpossiblegame/gamedata/.",
"genres": ["platformer"],
"image": null,
"rtr": false,
"exp": false,
"runtime": [],
"store": [
{
"name": "Steam",
"gameurl": "https://store.steampowered.com/app/251630/The_Impossible_Game/",
"developerurl": ""
}
],
"availability": "paid",
"reqs": [],
"arch": ["armhf"],
"min_glibc": ""
}
}
Binary file added ports/theimpossiblegame/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Empty file.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Empty file.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright (c) 2018-2021 Sebastien Chevalier ("ptitSeb")

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Copyright (c) 2016-2018 Sebastien Chevalier
Copyright (c) 2013-2016 Ryan Hileman

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Loading