Skip to content

Commit

Permalink
Merge pull request #880 from JanTrueno/Cat-Warrior
Browse files Browse the repository at this point in the history
New Port: Cat Warrior
  • Loading branch information
Cebion authored Nov 3, 2024
2 parents 195d4e0 + e6e3002 commit bffe1cb
Show file tree
Hide file tree
Showing 30 changed files with 1,819 additions and 0 deletions.
57 changes: 57 additions & 0 deletions ports/catwarrior/Cat Warrior.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#!/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

# Pm
source $controlfolder/control.txt
[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt"
get_controls
source $controlfolder/tasksetter

# Variables
GAMEDIR="/$directory/ports/catwarrior"
cd "$GAMEDIR/gamedata"

# Log the execution of the script, the script overwrites itself on each launch
> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1

# Setup mono
monodir="$HOME/mono"
monofile="$controlfolder/libs/mono-6.12.0.122-aarch64.squashfs"
$ESUDO mkdir -p "$monodir"
$ESUDO umount "$monofile" || true
$ESUDO mount "$monofile" "$monodir"

# Setup savedir linux
bind_directories "$HOME/.local/share/tiny_slash" "$GAMEDIR/savedata"

# Remove all the dependencies in favour of system libs - e.g. the included
rm -f System*.dll mscorlib.dll FNA.dll Mono.*.dll

# Setup path and other environment variables
export MONO_PATH="$GAMEDIR/dlls"
export LD_LIBRARY_PATH="$GAMEDIR/libs:/usr/config/emuelec/lib32:/usr/lib32:$LD_LIBRARY_PATH"
export PATH="$monodir/bin:$PATH"

export FNA3D_FORCE_DRIVER=OpenGL
export FNA3D_OPENGL_FORCE_ES3=1
export FNA3D_OPENGL_FORCE_VBO_DISCARD=1

$GPTOKEYB "mono" &
pm_platform_helper "mono"
$TASKSET mono tiny_slash.exe

# Cleanup any running gptokeyb instances, and any platform specific stuff.
pm_finish


18 changes: 18 additions & 0 deletions ports/catwarrior/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Notes

A thanks goes out to the following:
- [Sadimadegames](https://store.steampowered.com/curator/43725276) for making [this game](https://store.steampowered.com/app/2640520/Cat_Warrior/).
- [JanTrueno](https://portmaster.games/profile.html?porter=JanTrueno) for doing the porting work.

Game stretches to fullscreen, 16:9 recommended.

## Controls

| Button | Action |
|--|--|
|A/B|Jump|
|X/Y|Slash|
|D-pad|Movement|
|Start|Menu|


Binary file added ports/catwarrior/catwarrior/dlls/FNA.dll
Binary file not shown.
14 changes: 14 additions & 0 deletions ports/catwarrior/catwarrior/dlls/FNA.dll.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dllmap dll="SDL2" os="windows" target="SDL2.dll"/>
<dllmap dll="SDL2" os="osx" target="libSDL2-2.0.0.dylib"/>
<dllmap dll="SDL2" os="linux,freebsd,netbsd" target="libSDL2-2.0.so.0"/>

<dllmap dll="FNA3D" os="windows" target="FNA3D.dll"/>
<dllmap dll="FNA3D" os="osx" target="libFNA3D.0.dylib"/>
<dllmap dll="FNA3D" os="linux,freebsd,netbsd" target="libFNA3D.so.0"/>

<dllmap dll="FAudio" os="windows" target="FAudio.dll"/>
<dllmap dll="FAudio" os="osx" target="libFAudio.0.dylib"/>
<dllmap dll="FAudio" os="linux,freebsd,netbsd" target="libFAudio.so.0"/>
</configuration>
Binary file added ports/catwarrior/catwarrior/dlls/FNA.dll.so
Binary file not shown.
Binary file added ports/catwarrior/catwarrior/dlls/SDL2-CS.dll
Binary file not shown.
22 changes: 22 additions & 0 deletions ports/catwarrior/catwarrior/dlls/SDL2-CS.dll.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dllmap dll="SDL2" os="windows" target="SDL2.dll"/>
<dllmap dll="SDL2" os="osx" target="libSDL2-2.0.0.dylib"/>
<dllmap dll="SDL2" os="linux" target="libSDL2-2.0.so.0"/>

<dllmap dll="SDL2_gfx" os="windows" target="SDL2_gfx.dll"/>
<dllmap dll="SDL2_gfx" os="osx" target="libSDL2_gfx-1.0.0.dylib"/>
<dllmap dll="SDL2_gfx" os="linux" target="libSDL2_gfx-1.0.so.0"/>

<dllmap dll="SDL2_image" os="windows" target="SDL2_image.dll"/>
<dllmap dll="SDL2_image" os="osx" target="libSDL2_image-2.0.0.dylib"/>
<dllmap dll="SDL2_image" os="linux" target="libSDL2_image-2.0.so.0"/>

<dllmap dll="SDL2_mixer" os="windows" target="SDL2_mixer.dll"/>
<dllmap dll="SDL2_mixer" os="osx" target="libSDL2_mixer-2.0.0.dylib"/>
<dllmap dll="SDL2_mixer" os="linux" target="libSDL2_mixer-2.0.so.0"/>

<dllmap dll="SDL2_ttf" os="windows" target="SDL2_ttf.dll"/>
<dllmap dll="SDL2_ttf" os="osx" target="libSDL2_ttf-2.0.0.dylib"/>
<dllmap dll="SDL2_ttf" os="linux" target="libSDL2_ttf-2.0.so.0"/>
</configuration>
Binary file added ports/catwarrior/catwarrior/dlls/SDL2-CS.dll.so
Binary file not shown.
Empty file.
Binary file added ports/catwarrior/catwarrior/libs/libFAudio.so
Binary file not shown.
Binary file added ports/catwarrior/catwarrior/libs/libFAudio.so.0
Binary file not shown.
Binary file not shown.
Binary file added ports/catwarrior/catwarrior/libs/libFNA3D.so
Binary file not shown.
Binary file added ports/catwarrior/catwarrior/libs/libFNA3D.so.0
Binary file not shown.
Binary file not shown.
Binary file added ports/catwarrior/catwarrior/libs/libsteam_api.so
Binary file not shown.
Binary file not shown.
63 changes: 63 additions & 0 deletions ports/catwarrior/catwarrior/licenses/fna.LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
Microsoft Public License (Ms-PL)
FNA - Copyright 2009-2021 Ethan Lee and the MonoGame Team

All rights reserved.

This license governs use of the accompanying software. If you use the software,
you accept this license. If you do not accept the license, do not use the
software.

1. Definitions

The terms "reproduce," "reproduction," "derivative works," and "distribution"
have the same meaning here as under U.S. copyright law.

A "contribution" is the original software, or any additions or changes to the
software.

A "contributor" is any person that distributes its contribution under this
license.

"Licensed patents" are a contributor's patent claims that read directly on its
contribution.

2. Grant of Rights

(A) Copyright Grant- Subject to the terms of this license, including the
license conditions and limitations in section 3, each contributor grants you a
non-exclusive, worldwide, royalty-free copyright license to reproduce its
contribution, prepare derivative works of its contribution, and distribute its
contribution or any derivative works that you create.

(B) Patent Grant- Subject to the terms of this license, including the license
conditions and limitations in section 3, each contributor grants you a
non-exclusive, worldwide, royalty-free license under its licensed patents to
make, have made, use, sell, offer for sale, import, and/or otherwise dispose of
its contribution in the software or derivative works of the contribution in the
software.

3. Conditions and Limitations

(A) No Trademark License- This license does not grant you rights to use any
contributors' name, logo, or trademarks.

(B) If you bring a patent claim against any contributor over patents that you
claim are infringed by the software, your patent license from such contributor
to the software ends automatically.

(C) If you distribute any portion of the software, you must retain all
copyright, patent, trademark, and attribution notices that are present in the
software.

(D) If you distribute any portion of the software in source code form, you may
do so only under this license by including a complete copy of this license with
your distribution. If you distribute any portion of the software in compiled or
object code form, you may only do so under a license that complies with this
license.

(E) The software is licensed "as-is." You bear the risk of using it. The
contributors give no express warranties, guarantees or conditions. You may have
additional consumer rights under your local laws which this license cannot
change. To the extent permitted under your local laws, the contributors exclude
the implied warranties of merchantability, fitness for a particular purpose and
non-infringement.
29 changes: 29 additions & 0 deletions ports/catwarrior/catwarrior/licenses/libogg.LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Ogg - Free Open Media Container Format
Copyright (c) 2002 Xiph.org Foundation

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

- Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 changes: 29 additions & 0 deletions ports/catwarrior/catwarrior/licenses/libtheora.LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Theora - Free Open Video Codec
Copyright (c) 2002-2009 Xiph.org Foundation

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

- Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 changes: 29 additions & 0 deletions ports/catwarrior/catwarrior/licenses/libvorbis.LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Vorbis - Free Open Audio Codec
Copyright (c) 2002-2018 Xiph.org Foundation

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

- Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 changes: 29 additions & 0 deletions ports/catwarrior/catwarrior/licenses/lzxdecoder.LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
LzxDecoder.cs was derived from libmspack
Copyright 2003-2004 Stuart Caie
Copyright 2011 Ali Scissons

The LZX method was created by Jonathan Forbes and Tomi Poutanen, adapted
by Microsoft Corporation.

This source file is Dual licensed; meaning the end-user of this source file
may redistribute/modify it under the LGPL 2.1 or MS-PL licenses.

About
-----
This derived work is recognized by Stuart Caie and is authorized to adapt
any changes made to lzxd.c in his libmspack library and will still retain
this dual licensing scheme. Big thanks to Stuart Caie!

This file is a pure C# port of the lzxd.c file from libmspack, with minor
changes towards the decompression of XNB files. The original decompression
software of LZX encoded data was written by Suart Caie in his
libmspack/cabextract projects, which can be located at
http://http://www.cabextract.org.uk/

GNU Lesser General Public License, Version 2.1
----------------------------------------------
https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html

Microsoft Public License
------------------------
http://www.opensource.org/licenses/ms-pl.html
Loading

0 comments on commit bffe1cb

Please sign in to comment.