diff --git a/.gitattributes b/.gitattributes index 232342c7..e99f6f7f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,3 +5,6 @@ *.html text eol=lf diff=html *.mdp binary *.mak text eol=crlf +**/*.ico binary +**/*.png binary +**/*.svg text eol=lf diff --git a/.gitignore b/.gitignore index ad37f98b..1610ba3d 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,6 @@ LEGO1PROGRESS.* ISLEPROGRESS.* *.pyc tools/ghidra_scripts/import.log -.flatpak-builder/ # By convention we put the retail binaries into ./legobin. # These entries are kept for now since that convention has not always been around. @@ -31,3 +30,9 @@ LEGO1.DLL # Kate - Text /.cache + +# Flatpak build cache +**/.flatpak-builder/ + +# Flatpak build dir +**/flatpak-build/ diff --git a/CONFIG/res/lego.ico b/CONFIG/res/lego.ico index 7db1421d..e45de5e2 100644 Binary files a/CONFIG/res/lego.ico and b/CONFIG/res/lego.ico differ diff --git a/CONFIG/res/lego1.png b/CONFIG/res/lego1.png index 06fbd8a0..a8910201 100644 Binary files a/CONFIG/res/lego1.png and b/CONFIG/res/lego1.png differ diff --git a/CONFIG/res/lego2.png b/CONFIG/res/lego2.png index 872fcb26..fd0d86bd 100644 Binary files a/CONFIG/res/lego2.png and b/CONFIG/res/lego2.png differ diff --git a/CONFIG/res/shark.png b/CONFIG/res/shark.png index 58b96386..80e2c802 100644 Binary files a/CONFIG/res/shark.png and b/CONFIG/res/shark.png differ diff --git a/flatpak/desktop/isle_icon.svg b/flatpak/desktop/isle_icon.svg new file mode 100644 index 00000000..d3f6dbf1 --- /dev/null +++ b/flatpak/desktop/isle_icon.svg @@ -0,0 +1,161 @@ + + + +LEGO Island IconLEGO Island Icon2025-06-22 diff --git a/flatpak/desktop/pizza.isle.Isle.desktop b/flatpak/desktop/pizza.isle.Isle.desktop new file mode 100644 index 00000000..8c3cd2e8 --- /dev/null +++ b/flatpak/desktop/pizza.isle.Isle.desktop @@ -0,0 +1,23 @@ +[Desktop Entry] +Version=1.5 + +Name=Isle Decomp +Comment=LEGO Island decompilation project +Icon=pizza.isle.Isle +Type=Application +Categories=Game;KidsGame;AdventureGame;Qt +Keywords=LEGO;lego;LEGO Island +SingleMainWindow=true + +TryExec=isle +Exec=isle + +Actions=play;configure + +[Desktop Action play] +Name=play +Exec=isle + +[Desktop Action configure] +Name=Configure +Exec=config diff --git a/flatpak/desktop/pizza.isle.Isle.metainfo.xml b/flatpak/desktop/pizza.isle.Isle.metainfo.xml new file mode 100644 index 00000000..a68f95fb --- /dev/null +++ b/flatpak/desktop/pizza.isle.Isle.metainfo.xml @@ -0,0 +1,33 @@ + + + pizza.isle.Isle + + Isle Decomp + LEGO Island decompilation project + + MIT + GPL-3.0-or-later + + + 640 + + + pointing + keyboard + gamepad + + + +

+ LEGO Island, portable +

+

+ This initiative is a portable version of LEGO Island (Version 1.1, English) based on the decompilation project. Our primary goal is to transform the codebase to achieve platform independence, thereby enhancing compatibility across various systems while preserving the original game's experience as faithfully as possible. +

+

+ Please note: this project is dedicated to achieving platform independence without altering the core gameplay, adding new features, enhancing visual quality, or rewriting code for improvement's sake. While those are worthwhile objectives, they are not within the scope of this project. +

+
+ + pizza.isle.Isle.desktop +
\ No newline at end of file diff --git a/flatpak/pizza.isle.Isle.json b/flatpak/pizza.isle.Isle.json new file mode 100644 index 00000000..68f9e376 --- /dev/null +++ b/flatpak/pizza.isle.Isle.json @@ -0,0 +1,65 @@ +{ + "id": "pizza.isle.Isle", + + "runtime": "org.kde.Platform", + "sdk": "org.kde.Sdk", + "runtime-version": "6.9", + + "command": "isle", + + "finish-args": [ + "--share=ipc", + "--socket=wayland", + "--socket=fallback-x11", + "--socket=pulseaudio", + "--device=dri", + "--device=input" + ], + + "modules": [ + { + "name": "isle", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo", + "-DISLE_DEBUG=OFF" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/isledecomp/isle-portable.git", + "branch": "master" + } + ], + "build-options": { + "build-args": [ + "--share=network" + ] + } + }, + { + "name": "desktop-assets", + "buildsystem": "simple", + "sources": [ + { + "type": "file", + "dest-filename": "pizza.isle.Isle.svg", + "path": "desktop/isle_icon.svg" + }, + { + "type": "file", + "path": "desktop/pizza.isle.Isle.desktop" + }, + { + "type": "file", + "path": "desktop/pizza.isle.Isle.metainfo.xml" + } + ], + "build-commands": [ + "install -Dm0644 pizza.isle.Isle.svg -t ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/", + "install -Dm0644 pizza.isle.Isle.desktop -t ${FLATPAK_DEST}/share/applications/", + "install -Dm0644 pizza.isle.Isle.metainfo.xml -t ${FLATPAK_DEST}/share/metainfo/" + ] + } + ] +} diff --git a/pizza.isle.IslePortable.json b/pizza.isle.IslePortable.json deleted file mode 100644 index d105e8ad..00000000 --- a/pizza.isle.IslePortable.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": "pizza.isle.IslePortable", - - "runtime": "org.kde.Platform", - "sdk": "org.kde.Sdk", - "runtime-version": "6.9", - - "command": "isle", - - "finish-args": [ - "--share=ipc", - "--socket=wayland", - "--socket=fallback-x11", - "--socket=pulseaudio", - "--device=dri", - "--device=input" - ], - - "modules": [ - { - "name": "isle", - "buildsystem": "cmake-ninja", - "config-opts": [ - "-DCMAKE_BUILD_TYPE=RelWithDebInfo", - "-DISLE_DEBUG=OFF" - ], - "sources": [ - { - "type": "git", - "url": "https://github.com/isledecomp/isle-portable.git", - "branch": "master" - } - ], - "build-options": { - "build-args": [ - "--share=network" - ] - } - } - ] -}