Added the custom export template settings

master
Wynd 2026-01-24 23:19:55 +02:00
parent eec42cc759
commit a885fbf1af
5 changed files with 239 additions and 2 deletions

View File

@ -9,9 +9,9 @@ original TUI app here: [https://git.pixelatedw.xyz/wynd/gamo](https://git.pixela
there's nothing particularly fancy about this and it does what it says, allows the user to test their gamepad
made with godot because I couldn't be bothered with any GUI toolkits out there
it uses a custom exporting template to cut down its size by more than half
it uses a custom exporting template (built script only works on linux at the moment) to cut down its size by more than half
compared with the original TUI version it is huge coming at around 32MB (about 17 times more) and it consumes about 26 times more RAM (~130MB)
compared with the original TUI version it is huge coming at around 21MB (about 11 times more) and it consumes about 26 times more RAM (~130MB)
however it comes with a bunch of benefits such as a much nicer layout, button images, transparency and an overall (very subjecitve) nicer UX/DX
## controls

View File

19
profiles/justfile 100644
View File

@ -0,0 +1,19 @@
set export
set dotenv-load
set quiet
build-minsize gdbuild="false":
#!/usr/bin/env bash
set -x
godot_path="."
if [ -n "$GODOT_PATH" ]; then
godot_path="$GODOT_PATH"
fi
gdbuild_profile=""
if [ "$gdbuild" == "true" ]; then
gdbuild_profile="build_profile="$(pwd)/minsize.gdbuild""
fi
scons -C "$godot_path" platform=linux profile="$(pwd)/minsize.py" "$gdbuild_profile"

View File

@ -0,0 +1,199 @@
{
"disabled_build_options": {
"d3d12": false,
"disable_3d": true,
"disable_navigation_2d": true,
"disable_navigation_3d": true,
"disable_physics_2d": true,
"disable_physics_3d": true,
"disable_xr": true,
"forward_mobile_renderer": false,
"forward_plus_renderer": false,
"metal": false,
"module_godot_physics_2d_enabled": false,
"module_godot_physics_3d_enabled": false,
"module_jolt_physics_enabled": false,
"module_openxr_enabled": false,
"rendering_device": false,
"vulkan": false
},
"disabled_classes": [
"Animation",
"AnimationLibrary",
"AnimationMixer",
"AnimationNode",
"AnimationNodeStateMachinePlayback",
"AnimationNodeStateMachineTransition",
"AudioBusLayout",
"AudioEffect",
"AudioStream",
"AudioStreamPlayer",
"BaseMaterial3D",
"BitMap",
"BoneMap",
"ButtonGroup",
"CameraAttributes",
"CanvasItemMaterial",
"CanvasLayer",
"ColorPalette",
"Compositor",
"CompositorEffect",
"CryptoKey",
"Curve",
"Curve2D",
"Curve3D",
"Environment",
"FogMaterial",
"FoldableGroup",
"GDExtension",
"GLTFAccessor",
"GLTFAnimation",
"GLTFBufferView",
"GLTFCamera",
"GLTFDocument",
"GLTFDocumentExtension",
"GLTFLight",
"GLTFMesh",
"GLTFNode",
"GLTFPhysicsBody",
"GLTFPhysicsShape",
"GLTFSkeleton",
"GLTFSkin",
"GLTFSpecGloss",
"GLTFState",
"GLTFTexture",
"GLTFTextureSampler",
"HTTPRequest",
"InstancePlaceholder",
"JSON",
"LabelSettings",
"LightmapGIData",
"Mesh",
"MeshLibrary",
"MultiMesh",
"MultiplayerSpawner",
"MultiplayerSynchronizer",
"NavigationAgent2D",
"NavigationAgent3D",
"NavigationMesh",
"NavigationMeshSourceGeometryData2D",
"NavigationMeshSourceGeometryData3D",
"NavigationPolygon",
"Node2D",
"Node3D",
"Noise",
"Occluder3D",
"OccluderPolygon2D",
"OggPacketSequence",
"OpenXRAction",
"OpenXRActionMap",
"OpenXRActionSet",
"OpenXRBindingModifier",
"OpenXRHapticBase",
"OpenXRIPBinding",
"OpenXRInteractionProfile",
"PackedDataContainer",
"PanoramaSkyMaterial",
"ParticleProcessMaterial",
"PhysicalSkyMaterial",
"PhysicsMaterial",
"PlaceholderMaterial",
"ProceduralSkyMaterial",
"RDShaderFile",
"RDShaderSPIRV",
"Shape2D",
"Shape3D",
"SkeletonModification2D",
"SkeletonModificationStack2D",
"SkeletonProfile",
"Skin",
"Sky",
"SpriteFrames",
"StyleBoxEmpty",
"StyleBoxLine",
"StyleBoxTexture",
"SyntaxHighlighter",
"Texture",
"TileMapPattern",
"TileSet",
"TileSetSource",
"VideoStream",
"VideoStreamPlayback",
"VisualShaderNodeBillboard",
"VisualShaderNodeBooleanParameter",
"VisualShaderNodeClamp",
"VisualShaderNodeColorFunc",
"VisualShaderNodeColorOp",
"VisualShaderNodeCompare",
"VisualShaderNodeConstant",
"VisualShaderNodeCubemap",
"VisualShaderNodeCustom",
"VisualShaderNodeDerivativeFunc",
"VisualShaderNodeDeterminant",
"VisualShaderNodeDistanceFade",
"VisualShaderNodeDotProduct",
"VisualShaderNodeFaceForward",
"VisualShaderNodeFloatFunc",
"VisualShaderNodeFloatOp",
"VisualShaderNodeFloatParameter",
"VisualShaderNodeFresnel",
"VisualShaderNodeIf",
"VisualShaderNodeInput",
"VisualShaderNodeIntFunc",
"VisualShaderNodeIntOp",
"VisualShaderNodeIntParameter",
"VisualShaderNodeIs",
"VisualShaderNodeLinearSceneDepth",
"VisualShaderNodeMix",
"VisualShaderNodeMultiplyAdd",
"VisualShaderNodeOuterProduct",
"VisualShaderNodeOutput",
"VisualShaderNodeParameterRef",
"VisualShaderNodeParticleAccelerator",
"VisualShaderNodeParticleConeVelocity",
"VisualShaderNodeParticleEmit",
"VisualShaderNodeParticleEmitter",
"VisualShaderNodeParticleMultiplyByAxisAngle",
"VisualShaderNodeParticleRandomness",
"VisualShaderNodeProximityFade",
"VisualShaderNodeRandomRange",
"VisualShaderNodeRemap",
"VisualShaderNodeReroute",
"VisualShaderNodeResizableBase",
"VisualShaderNodeRotationByAxis",
"VisualShaderNodeSDFRaymarch",
"VisualShaderNodeSDFToScreenUV",
"VisualShaderNodeSample3D",
"VisualShaderNodeScreenNormalWorldSpace",
"VisualShaderNodeScreenUVToSDF",
"VisualShaderNodeSmoothStep",
"VisualShaderNodeStep",
"VisualShaderNodeSwitch",
"VisualShaderNodeTexture",
"VisualShaderNodeTextureParameter",
"VisualShaderNodeTextureSDF",
"VisualShaderNodeTextureSDFNormal",
"VisualShaderNodeTransformCompose",
"VisualShaderNodeTransformDecompose",
"VisualShaderNodeTransformFunc",
"VisualShaderNodeTransformOp",
"VisualShaderNodeTransformParameter",
"VisualShaderNodeTransformVecMult",
"VisualShaderNodeUIntFunc",
"VisualShaderNodeUIntOp",
"VisualShaderNodeUIntParameter",
"VisualShaderNodeUVFunc",
"VisualShaderNodeUVPolarCoord",
"VisualShaderNodeVarying",
"VisualShaderNodeVec2Parameter",
"VisualShaderNodeVec3Parameter",
"VisualShaderNodeVec4Parameter",
"VisualShaderNodeVectorBase",
"VisualShaderNodeWorldPositionFromDepth",
"VoxelGIData",
"World2D",
"World3D",
"X509Certificate"
],
"type": "build_profile"
}

View File

@ -0,0 +1,19 @@
target = "template_release"
debug_symbols = "no"
optimize = "size_extra"
lto = "full"
deprecated = "no"
vulkan = "no"
use_volk = "no"
openxr = "no"
minizip = "no"
graphite = "no"
modules_enabled_by_default = "no"
module_gdscript_enabled = "yes"
module_text_server_fb_enabled = "yes"
module_freetype_enabled = "yes"
module_svg_enabled = "yes"
disable_3d = "yes"
disable_navigation_2d = "yes"
disable_navigation_3d = "yes"
disable_xr = "yes"