Multiple Updates (draft) - #1
Draft
IceOfWraith wants to merge 88 commits into
Draft
Conversation
This is the beginning of my overhaul of the config.getamp.sh site. Nothing crazy so far, but more is being added as I figure out the code: -Placeholder is set to DefaultValue -Suffix added -URI adjusted to new port config and to use `:` instead of `/` -SteamAppID corrected to Client App ID instead of Server
IceOfWraith
marked this pull request as draft
June 11, 2022 05:01
index.html is required by GitHub Pages
This comment was marked as abuse.
This comment was marked as abuse.
Author
|
I've already got it hosted here: |
Author
|
I had to set it up overnight because GitHub Pages decided to stop deploying. I was trying to revert multiple commits that I didn't realize were pushed to the public side when I was playing around wildly with the code. Lol |
Config keys that AMP silently ignored:
- Move sleep/retry settings from Console.* to Limits.* (PerformanceConfig)
- App.HasWritableConsole -> App.HasWriteableConsole
- Meta.Prerequsites -> Meta.Prerequisites
- Drop App.TemplateMatchRegex (private readonly field, not a setting)
Generated values that were wrong:
- Use the SteamCMD stage's UpdateSourceData (dedicated server app ID) for
BaseDirectory/WorkingDir/executable paths, and UpdateSourceArgs (store app ID)
for the display image and $SteamAppId. Previously the store ID was used for
both, so the server files were looked for in a folder that never existed.
- Default PrimaryApplicationPortRef/UniversalSleepApplicationUDPPortRef to
MainGamePort so they match the port Refs the generator emits
- Generate Meta.AppConfigId once and persist it instead of a new GUID per download
- Default ForceDownloadPlatform to null rather than Windows
- Keep user-entered port descriptions instead of overwriting them
- Emit ConfigType "auto" for the "Other" config file type instead of an empty type
- Leave empty console regexes empty rather than turning them into "^$"
- Build the GitHub manifest origin/url/prefix from the raw author name
- Only write Wine/Proton environment variables when that compatibility layer is used
- Initialise the Steam Workshop location so it stops emitting "{{$FullBaseDir}}undefined"
Crashes:
- Guard autoLoad against a missing/invalid autosave (first page load threw)
- Rebuild enum mappings as view models on import (EnumValues threw on any saved
configuration containing a drop-down setting)
- Give the port/config file/enum view models constructor defaults so importing a
custom port no longer throws in the Ref computed
- Bind port Name and setting Keywords to backing observables, since writing to a
read-only computed throws in Knockout
kvp output:
- Write keys in the order AMP writes GenericModule.kvp (field declaration order
per section: Meta, App, Console, Limits)
config.json output now follows the existing templates:
- Key order matches the templates, and optional keys (IsFlagArgument, Hidden,
IncludeInCommandLine, SkipIfEmpty, Placeholder, Suffix, MinValue, MaxValue)
are only written when they carry a value
- Checkbox EnumValues are keyed on the state ({"False": ..., "True": ...}) to match
the templates and AMP's own fallback, rather than value-to-label
- Add Subcategory (present on every template setting), Placeholder as its own
field, and MinValue/MaxValue for number inputs
- Category defaults to "<App Name>:stadia_controller" to match the Name:icon format
Validation and UI:
- Require Linux support and a Windows executable for any compatibility layer,
including the Xvfb variants
- Show the Windows executable field when Wine/Proton is selected on a Linux-only
configuration, where it was previously unreachable
- Fix the "Please enter a first name" message on the application name field
Configurations exported before these renames are migrated on import.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is the beginning of my overhaul of the config.getamp.sh site. Nothing crazy so far, but more is being added as I figure out the code:
-Placeholder is set to DefaultValue
-Suffix added
-URI adjusted to new port config and to use
:instead of/-SteamAppID corrected to Client App ID instead of Server
-Many formatting changes due to VS Studio cleaning up the code layout
-Can generate Wine & Proton configs with default of xvfb
-Corrected mismatched HTML tags
-Added section breaks
-Added New Ports Mapping
-Added Meta Config Manifest
-Added all kvp default values
-Enabled multiple update stages with all update source types included
-Keywords populate from Display Name
-ENUM VALUES!!!
-Surprise! No more regex! Evolved Mike's base function from AMP for creating regex to design a user-friendly approach
To do:
-Verify all settings
-Finish adding kvp keys
-Error checking logic
-Bug fixes
-Clean up
-User testing