mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:27:45 +00:00
Ports: Added a Super-Mario clone port.
Added a minimal dependency super mario port. (Only depends on SDL, SDL_image and SDL_mixer).
This commit is contained in:
parent
ceafc5eea0
commit
4f690408af
6 changed files with 175 additions and 0 deletions
|
@ -85,6 +85,7 @@ Please make sure to keep this list up to date when adding and updating ports. :^
|
||||||
| [`sl`](sl/) | Steam Locomotive (SL) | | https://github.com/mtoyoda/sl |
|
| [`sl`](sl/) | Steam Locomotive (SL) | | https://github.com/mtoyoda/sl |
|
||||||
| [`sqlite`](sqlite/) | SQLite | 3350300 | https://www.sqlite.org/ |
|
| [`sqlite`](sqlite/) | SQLite | 3350300 | https://www.sqlite.org/ |
|
||||||
| [`stress-ng`](stress-ng/) | stress-ng | 0.11.23 | https://github.com/ColinIanKing/stress-ng |
|
| [`stress-ng`](stress-ng/) | stress-ng | 0.11.23 | https://github.com/ColinIanKing/stress-ng |
|
||||||
|
| [`Super-Mario`](Super-Mario/) | Super-Mario Clone | |https://github.com/Bennyhwanggggg/Super-Mario-Clone-Cpp|
|
||||||
| [`termcap`](termcap/) | GNU termcap | 1.3.1 | https://www.gnu.org/software/termutils/ |
|
| [`termcap`](termcap/) | GNU termcap | 1.3.1 | https://www.gnu.org/software/termutils/ |
|
||||||
| [`tinycc`](tinycc/) | Tiny C Compiler (TinyCC) | dev | https://github.com/TinyCC/tinycc |
|
| [`tinycc`](tinycc/) | Tiny C Compiler (TinyCC) | dev | https://github.com/TinyCC/tinycc |
|
||||||
| [`tinyscheme`](tinyscheme/) | TinyScheme Interpreter | 1.42 | https://sourceforge.net/projects/tinyscheme/ |
|
| [`tinyscheme`](tinyscheme/) | TinyScheme Interpreter | 1.42 | https://sourceforge.net/projects/tinyscheme/ |
|
||||||
|
|
18
Ports/Super-Mario/package.sh
Executable file
18
Ports/Super-Mario/package.sh
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env -S bash ../.port_include.sh
|
||||||
|
port=Super-Mario
|
||||||
|
useconfigure=true
|
||||||
|
version=git
|
||||||
|
depends="SDL2 SDL2_mixer SDL2_image"
|
||||||
|
workdir=Super-Mario-Clone-Cpp-master
|
||||||
|
configopts="-DCMAKE_TOOLCHAIN_FILE=$SERENITY_ROOT/Toolchain/CMakeToolchain.txt"
|
||||||
|
files="https://github.com/Bennyhwanggggg/Super-Mario-Clone-Cpp/archive/refs/heads/master.zip master.zip"
|
||||||
|
install_location="Root/opt/Super_Mario"
|
||||||
|
|
||||||
|
configure() {
|
||||||
|
run cmake $configopts
|
||||||
|
}
|
||||||
|
|
||||||
|
install() {
|
||||||
|
run mkdir -p "${SERENITY_BUILD_DIR}/${install_location}"
|
||||||
|
run cp -r uMario app.ico icon2.ico files "${SERENITY_BUILD_DIR}/${install_location}"
|
||||||
|
}
|
20
Ports/Super-Mario/patches/disable_graphic_acceleration.patch
Normal file
20
Ports/Super-Mario/patches/disable_graphic_acceleration.patch
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
diff --git a/src/Core.cpp b/src/Core.cpp
|
||||||
|
index c04581b..f0c0308 100644
|
||||||
|
--- a/src/Core.cpp
|
||||||
|
+++ b/src/Core.cpp
|
||||||
|
@@ -36,7 +36,7 @@ CCore::CCore(void) {
|
||||||
|
quitGame = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
- rR = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
|
||||||
|
+ rR = SDL_CreateRenderer(window, -1, 0);
|
||||||
|
|
||||||
|
// ----- ICO
|
||||||
|
std::string filename = "files/images/ico.bmp";
|
||||||
|
@@ -376,4 +376,4 @@ void CCore::resetMove() {
|
||||||
|
|
||||||
|
Map* CCore::getMap() {
|
||||||
|
return oMap;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
69
Ports/Super-Mario/patches/disable_music.patch
Normal file
69
Ports/Super-Mario/patches/disable_music.patch
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
diff --git a/src/Music.cpp b/src/Music.cpp
|
||||||
|
index 5bf5047..a82dfb2 100644
|
||||||
|
--- a/src/Music.cpp
|
||||||
|
+++ b/src/Music.cpp
|
||||||
|
@@ -111,23 +111,23 @@ void Music::changeMusic(bool musicByLevel, bool forceChange) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void Music::PlayMusic() {
|
||||||
|
- if(currentMusic != mNOTHING) {
|
||||||
|
+ /*if(currentMusic != mNOTHING) {
|
||||||
|
Mix_PlayMusic(vMusic[currentMusic - 1], -1);
|
||||||
|
musicStopped = false;
|
||||||
|
} else {
|
||||||
|
StopMusic();
|
||||||
|
- }
|
||||||
|
+ }*/
|
||||||
|
}
|
||||||
|
|
||||||
|
void Music::PlayMusic(eMusic musicID) {
|
||||||
|
- if(musicID != mNOTHING) {
|
||||||
|
+ /*if(musicID != mNOTHING) {
|
||||||
|
Mix_PlayMusic(vMusic[musicID - 1], -1);
|
||||||
|
musicStopped = false;
|
||||||
|
currentMusic = musicID;
|
||||||
|
} else {
|
||||||
|
StopMusic();
|
||||||
|
currentMusic = mNOTHING;
|
||||||
|
- }
|
||||||
|
+ }*/
|
||||||
|
}
|
||||||
|
|
||||||
|
void Music::StopMusic() {
|
||||||
|
@@ -150,8 +150,8 @@ void Music::PauseMusic() {
|
||||||
|
/* ******************************************** */
|
||||||
|
|
||||||
|
void Music::PlayChunk(eChunk chunkID) {
|
||||||
|
- Mix_VolumeChunk(vChunk[chunkID], iVolume);
|
||||||
|
- Mix_PlayChannel(-1, vChunk[chunkID], 0);
|
||||||
|
+ //Mix_VolumeChunk(vChunk[chunkID], iVolume);
|
||||||
|
+ //Mix_PlayChannel(-1, vChunk[chunkID], 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ******************************************** */
|
||||||
|
diff --git a/src/MusicManager.cpp b/src/MusicManager.cpp
|
||||||
|
index d992e6c..d5b70f1 100644
|
||||||
|
--- a/src/MusicManager.cpp
|
||||||
|
+++ b/src/MusicManager.cpp
|
||||||
|
@@ -9,14 +9,14 @@ MusicManager::~MusicManager(void) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void MusicManager::PlayMusic() {
|
||||||
|
- vMusic.push_back(Mix_LoadMUS("files/sounds/overworld.wav"));
|
||||||
|
- vMusic.push_back(Mix_LoadMUS("files/sounds/overworld.wav"));
|
||||||
|
- Mix_VolumeMusic(100);
|
||||||
|
- Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048);
|
||||||
|
- Mix_PlayMusic(vMusic[0], -1);
|
||||||
|
+ //vMusic.push_back(Mix_LoadMUS("files/sounds/overworld.wav"));
|
||||||
|
+ //vMusic.push_back(Mix_LoadMUS("files/sounds/overworld.wav"));
|
||||||
|
+ //Mix_VolumeMusic(100);
|
||||||
|
+ //Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048);
|
||||||
|
+ //Mix_PlayMusic(vMusic[0], -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
Mix_Music* MusicManager::loadMusic(std::string fileName) {
|
||||||
|
fileName = "files/sounds/" + fileName + ".wav";
|
||||||
|
return Mix_LoadMUS("files/sounds/overworld.wav");
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
30
Ports/Super-Mario/patches/fix_cmakelists.patch
Normal file
30
Ports/Super-Mario/patches/fix_cmakelists.patch
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 616d876..d1aa020 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -18,10 +18,13 @@ elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-find_package(SDL2 REQUIRED)
|
||||||
|
-find_package(SDL2_Image REQUIRED)
|
||||||
|
-find_package(SDL2_Mixer REQUIRED)
|
||||||
|
-include_directories(${SDL2_INCLUDE_DIR} ${SDL2_IMAGE_INCLUDE_DIR} ${SDL2_MIXER_INCLUDE_DIR})
|
||||||
|
+INCLUDE(FindPkgConfig)
|
||||||
|
+
|
||||||
|
+PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
|
||||||
|
+PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)
|
||||||
|
+PKG_SEARCH_MODULE(SDL2MIXER REQUIRED SDL2_mixer>=2.0.0)
|
||||||
|
+
|
||||||
|
+include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIRS} ${SDL2_MIXER_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
file(COPY src/files DESTINATION .)
|
||||||
|
|
||||||
|
@@ -30,6 +33,6 @@ include_directories(src)
|
||||||
|
file(GLOB_RECURSE uMario_SOURCES "src/*.cpp")
|
||||||
|
add_executable (uMario ${uMario_SOURCES})
|
||||||
|
|
||||||
|
-target_link_libraries(uMario ${SDL2_LIBRARY} ${SDL2_IMAGE_LIBRARY} ${SDL2_MIXER_LIBRARY})
|
||||||
|
+target_link_libraries(uMario ${SDL2_LIBRARIES} ${SDL2_IMAGE_LIBRARIES} ${SDL2_MIXER_LIBRARIES}-lSDL2_mixer -lpthread -lm -lgfx -lgui -lipc -lcore)
|
||||||
|
|
||||||
|
install(TARGETS uMario RUNTIME DESTINATION ${BIN_DIR})
|
37
Ports/Super-Mario/patches/fix_fireball_header.patch
Normal file
37
Ports/Super-Mario/patches/fix_fireball_header.patch
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
diff --git a/src/FireBall.cpp b/src/FireBall.cpp
|
||||||
|
index 6f3eacc..6f5eade 100644
|
||||||
|
--- a/src/FireBall.cpp
|
||||||
|
+++ b/src/FireBall.cpp
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#include "FireBall.h"
|
||||||
|
+#include "Fireball.h"
|
||||||
|
#include "Core.h"
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
@@ -68,4 +68,4 @@ void FireBall::updateXPos() {
|
||||||
|
|
||||||
|
void FireBall::collisionWithPlayer(bool TOP) {
|
||||||
|
CCore::getMap()->playerDeath(true, false);
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
diff --git a/src/Map.h b/src/Map.h
|
||||||
|
index b812b49..f6abbb9 100644
|
||||||
|
--- a/src/Map.h
|
||||||
|
+++ b/src/Map.h
|
||||||
|
@@ -28,7 +28,7 @@
|
||||||
|
#include "Flower.h"
|
||||||
|
#include "Lakito.h"
|
||||||
|
#include "Spikey.h"
|
||||||
|
-#include "FireBall.h"
|
||||||
|
+#include "Fireball.h"
|
||||||
|
#include "Fire.h"
|
||||||
|
#include "Pipe.h"
|
||||||
|
#include "Spring.h"
|
||||||
|
@@ -406,4 +406,4 @@ public:
|
||||||
|
void setInEvent(bool inEvent);
|
||||||
|
};
|
||||||
|
|
||||||
|
-#endif
|
||||||
|
\ No newline at end of file
|
||||||
|
+#endif
|
Loading…
Add table
Add a link
Reference in a new issue