[flatpak] Added desktop files
3
.gitattributes
vendored
@ -5,3 +5,6 @@
|
|||||||
*.html text eol=lf diff=html
|
*.html text eol=lf diff=html
|
||||||
*.mdp binary
|
*.mdp binary
|
||||||
*.mak text eol=crlf
|
*.mak text eol=crlf
|
||||||
|
**/*.ico binary
|
||||||
|
**/*.png binary
|
||||||
|
**/*.svg text eol=lf
|
||||||
|
|||||||
7
.gitignore
vendored
@ -20,7 +20,6 @@ LEGO1PROGRESS.*
|
|||||||
ISLEPROGRESS.*
|
ISLEPROGRESS.*
|
||||||
*.pyc
|
*.pyc
|
||||||
tools/ghidra_scripts/import.log
|
tools/ghidra_scripts/import.log
|
||||||
.flatpak-builder/
|
|
||||||
|
|
||||||
# By convention we put the retail binaries into ./legobin.
|
# By convention we put the retail binaries into ./legobin.
|
||||||
# These entries are kept for now since that convention has not always been around.
|
# These entries are kept for now since that convention has not always been around.
|
||||||
@ -31,3 +30,9 @@ LEGO1.DLL
|
|||||||
|
|
||||||
# Kate - Text
|
# Kate - Text
|
||||||
/.cache
|
/.cache
|
||||||
|
|
||||||
|
# Flatpak build cache
|
||||||
|
**/.flatpak-builder/
|
||||||
|
|
||||||
|
# Flatpak build dir
|
||||||
|
**/flatpak-build/
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 477 B After Width: | Height: | Size: 128 B |
|
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 128 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 130 B |
161
flatpak/desktop/isle_icon.svg
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="180"
|
||||||
|
height="180"
|
||||||
|
viewBox="0 0 180 180"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="isle_icon.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
|
||||||
|
id="title19">LEGO Island Icon</title><sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#eeeeee"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#505050"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:zoom="3.2222222"
|
||||||
|
inkscape:cx="99.931034"
|
||||||
|
inkscape:cy="94.034483"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1371"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer2" /><defs
|
||||||
|
id="defs1" /><g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer2"
|
||||||
|
inkscape:label="Sun"
|
||||||
|
style="display:inline"><circle
|
||||||
|
style="fill:#ffff00;fill-opacity:1;stroke-width:6.09858"
|
||||||
|
id="path1"
|
||||||
|
cx="16.087624"
|
||||||
|
cy="16.087624"
|
||||||
|
r="16.087624" /><g
|
||||||
|
id="g7"
|
||||||
|
inkscape:label="Rays"
|
||||||
|
transform="scale(6.0985759)"><path
|
||||||
|
style="fill:#ffff00;fill-opacity:1;stroke:#ffff00;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 1.512931,6.2456897 V 10.74569"
|
||||||
|
id="path2" /><path
|
||||||
|
style="fill:#ffff00;fill-opacity:1;stroke:#ffff00;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 10.922387,1.4939611 h -4.5"
|
||||||
|
id="path3" /><path
|
||||||
|
style="fill:#ffff00;fill-opacity:1;stroke:#ffff00;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 3.5838432,6.4674267 4.802595,10.158437"
|
||||||
|
id="path4" /><path
|
||||||
|
style="fill:#ffff00;fill-opacity:1;stroke:#ffff00;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 5.4215806,5.3718411 3.20707,2.1962729"
|
||||||
|
id="path6" /><path
|
||||||
|
style="fill:#ffff00;fill-opacity:1;stroke:#ffff00;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 6.3519773,3.3961872 3.6866627,1.23184"
|
||||||
|
id="path7" /></g></g><g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer3"
|
||||||
|
inkscape:label="House"
|
||||||
|
style="display:inline"><g
|
||||||
|
id="g11"
|
||||||
|
inkscape:label="Wall"
|
||||||
|
style="display:inline"
|
||||||
|
transform="scale(6.0985759)"><rect
|
||||||
|
style="fill:#ffff00;fill-opacity:1;stroke:#ffff00;stroke-width:1.31354;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect7"
|
||||||
|
width="21.557148"
|
||||||
|
height="2.960166"
|
||||||
|
x="5.2214251"
|
||||||
|
y="25.898151" /><rect
|
||||||
|
style="fill:#ffff00;fill-opacity:1;stroke:#ffff00;stroke-width:1.31354;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect9"
|
||||||
|
width="21.557148"
|
||||||
|
height="2.960166"
|
||||||
|
x="5.2214251"
|
||||||
|
y="13.077032" /><rect
|
||||||
|
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:1.31354;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect10"
|
||||||
|
width="21.557148"
|
||||||
|
height="2.960166"
|
||||||
|
x="5.2214251"
|
||||||
|
y="21.624445" /><rect
|
||||||
|
style="fill:#0000ff;fill-opacity:1;stroke:#0000ff;stroke-width:1.31354;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect11"
|
||||||
|
width="21.557148"
|
||||||
|
height="2.960166"
|
||||||
|
x="5.2214251"
|
||||||
|
y="17.350739" /></g><g
|
||||||
|
id="g16"
|
||||||
|
inkscape:label="Window"
|
||||||
|
transform="scale(6.0985759)"><rect
|
||||||
|
style="display:inline;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.46119;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect12"
|
||||||
|
width="9.0243168"
|
||||||
|
height="11.312326"
|
||||||
|
x="11.487842"
|
||||||
|
y="13.257705" /><rect
|
||||||
|
style="fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:0.498507;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect13"
|
||||||
|
width="3.3376997"
|
||||||
|
height="4.0214062"
|
||||||
|
x="11.928134"
|
||||||
|
y="13.989297" /><rect
|
||||||
|
style="fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:0.498507;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect14"
|
||||||
|
width="3.3376997"
|
||||||
|
height="4.0214062"
|
||||||
|
x="16.719082"
|
||||||
|
y="13.989297" /><rect
|
||||||
|
style="fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:0.547494;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect15"
|
||||||
|
width="3.288712"
|
||||||
|
height="4.9228497"
|
||||||
|
x="11.952628"
|
||||||
|
y="19.056892" /><rect
|
||||||
|
style="fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:0.547494;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect16"
|
||||||
|
width="3.288712"
|
||||||
|
height="4.9228497"
|
||||||
|
x="16.743576"
|
||||||
|
y="19.056892" /></g></g><g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer4"
|
||||||
|
inkscape:label="Roof"><g
|
||||||
|
id="g19"
|
||||||
|
inkscape:label="Antenna"
|
||||||
|
transform="scale(6.0985759)"><path
|
||||||
|
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 21.510776,1.2025862 V 9.1163793"
|
||||||
|
id="path17" /><path
|
||||||
|
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 18.363745,0.526459 6.294062,4.7971783"
|
||||||
|
id="path18" /><path
|
||||||
|
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 18.99097,3.2200622 4.951565,3.7739605"
|
||||||
|
id="path19" /></g><path
|
||||||
|
style="display:inline;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:3.04929;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 19.991237,75.943041 H 173.06023 L 150.40272,51.317332 h -7.63224 l -5.01561,6.189336 h -7.47182 l -4.27253,-8.057106 h -7.58654 l -4.56632,8.057106 h -8.00228 l -4.6922,-8.057106 h -7.441784 l -4.178171,8.057106 h -8.447839 l -3.904314,-8.057106 h -7.225947 l -4.362281,8.057106 h -8.610195 l -5.453345,-6.189336 h -6.082013 z"
|
||||||
|
id="path16"
|
||||||
|
sodipodi:nodetypes="ccccccccccccccccccccc"
|
||||||
|
inkscape:label="Roof" /></g><metadata
|
||||||
|
id="metadata19"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:title>LEGO Island Icon</dc:title><dc:date>2025-06-22</dc:date><cc:license
|
||||||
|
rdf:resource="http://creativecommons.org/licenses/by-nc/4.0/" /></cc:Work><cc:License
|
||||||
|
rdf:about="http://creativecommons.org/licenses/by-nc/4.0/"><cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:requires
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Notice" /><cc:requires
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Attribution" /><cc:prohibits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#CommercialUse" /><cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata></svg>
|
||||||
|
After Width: | Height: | Size: 8.0 KiB |
23
flatpak/desktop/pizza.isle.Isle.desktop
Normal file
@ -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
|
||||||
33
flatpak/desktop/pizza.isle.Isle.metainfo.xml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="desktop-application">
|
||||||
|
<id>pizza.isle.Isle</id>
|
||||||
|
|
||||||
|
<name>Isle Decomp</name>
|
||||||
|
<summary>LEGO Island decompilation project</summary>
|
||||||
|
|
||||||
|
<metadata_license>MIT</metadata_license>
|
||||||
|
<project_license>GPL-3.0-or-later</project_license>
|
||||||
|
|
||||||
|
<recommends>
|
||||||
|
<display_length compare="ge">640</display_length>
|
||||||
|
</recommends>
|
||||||
|
<supports>
|
||||||
|
<control>pointing</control>
|
||||||
|
<control>keyboard</control>
|
||||||
|
<control>gamepad</control>
|
||||||
|
</supports>
|
||||||
|
|
||||||
|
<description>
|
||||||
|
<h1>
|
||||||
|
LEGO Island, portable
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
This initiative is a portable version of LEGO Island (Version 1.1, English) based on the <a href="https://github.com/isledecomp/isle">decompilation project</a>. 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.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<launchable type="desktop-id">pizza.isle.Isle.desktop</launchable>
|
||||||
|
</component>
|
||||||
65
flatpak/pizza.isle.Isle.json
Normal file
@ -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/"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||