mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-09-04 19:01:31 -04:00
aa6c9c10ca
* macOS: package the game as a proper SpaghettiKart.app bundle Turns the bare Spaghettify executable into a self-contained SpaghettiKart.app: - cmake/macos/apple_bundle.cmake: bundle metadata (using the existing Info.plist, which already described a bundle), app icon, runtime resources (config.yml, yamls, meta, spaghetti.o2r) into Contents/Resources, dylib relinking for local Homebrew builds (no-op with static vcpkg deps), and ad-hoc codesigning so the app launches without 'damaged app' warnings - App icon: on Xcode 26+ the Icon Composer package (SpaghettiKartIcon.icon, drawn from the existing HM ship-kart icon.png art) compiles with actool into an Assets.car, giving the native Liquid Glass look on macOS 26+, plus a flattened icns for older systems; older Xcode falls back to the previous sips/iconutil flat icon. Supersedes the CreateOSXIcons target. - Game.cpp: default SHIP_HOME to ~/Library/Application Support/SpaghettiKart on macOS so first-run extraction, saves, config, and mods land there instead of scattering into the user's home folder; a user-set SHIP_HOME still wins - Info.plist: NSHighResolutionCapable for proper Retina rendering - CI: mac jobs now ship the .app (ditto zip so the executable bit survives artifact upload) - the yamls-next-to-exe copy is scoped to non-Darwin; on macOS those files live in Contents/Resources instead * macOS: ship prebuilt icon artifacts instead of compiling them at build time Commits the compiled Assets.car (Liquid Glass icon for macOS 26+) and the flattened SpaghettiKart.icns, both built from the in-repo Icon Composer package. The build now just copies them into the bundle, which removes the actool machinery and the Xcode 26 requirement entirely: every build on any machine, including CI, gets the real icon. Also adds a staleness guard: the artifacts carry a hash stamp of the icon.png they were made from, and if icon.png ever changes without them being regenerated, the build automatically generates a flat icns from the current icon.png instead, so updating the logo never requires any macOS work and an outdated icon can never ship. Regeneration steps are documented in apple_bundle.cmake. * Rename the icon layer to ship-kart-layer.png Group 2.png was the design tool's default layer name; name it for what it is. Verified the Icon Composer package still compiles with actool after the rename; the committed Assets.car is unaffected (compiled, self-contained). --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
80 lines
1.7 KiB
JSON
80 lines
1.7 KiB
JSON
{
|
|
"fill" : {
|
|
"linear-gradient" : [
|
|
"display-p3:0.01176,0.05884,0.20398,1.00000",
|
|
"display-p3:0.06274,0.10980,0.10199,1.00000"
|
|
],
|
|
"orientation" : {
|
|
"start" : {
|
|
"x" : 0.5,
|
|
"y" : 1
|
|
},
|
|
"stop" : {
|
|
"x" : 0.5,
|
|
"y" : 0
|
|
}
|
|
}
|
|
},
|
|
"groups" : [
|
|
{
|
|
"blur-material" : null,
|
|
"layers" : [
|
|
{
|
|
"glass" : true,
|
|
"image-name" : "ship-kart-layer.png",
|
|
"name" : "ship-kart-layer",
|
|
"position-specializations" : [
|
|
{
|
|
"value" : {
|
|
"scale" : 1,
|
|
"translation-in-points" : [
|
|
30.66035267835514,
|
|
-14.790467402525564
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"idiom" : "square",
|
|
"value" : {
|
|
"scale" : 0.97,
|
|
"translation-in-points" : [
|
|
18.04483550076793,
|
|
-6.30499999999995
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"lighting" : "individual",
|
|
"refractivity" : {
|
|
"depth" : 0,
|
|
"enabled" : false,
|
|
"strength" : 0.5
|
|
},
|
|
"shadow" : {
|
|
"kind" : "neutral",
|
|
"opacity" : 0.6
|
|
},
|
|
"specular" : true,
|
|
"translucency-specializations" : [
|
|
{
|
|
"value" : {
|
|
"enabled" : true,
|
|
"value" : 0.2
|
|
}
|
|
},
|
|
{
|
|
"appearance" : "dark",
|
|
"value" : {
|
|
"enabled" : true,
|
|
"value" : 0.2
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"supported-platforms" : {
|
|
"squares" : "shared"
|
|
}
|
|
} |