Skip to content

ScriptDev 1.1.1 - #266

Merged
viktor-ferenczi merged 5 commits into
mainfrom
script-dev-1.1.1
Oct 21, 2026
Merged

viktor-ferenczi merged 5 commits into
mainfrom
script-dev-1.1.1

Conversation

@viktor-ferenczi

@viktor-ferenczi viktor-ferenczi commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

ScriptDev 1.1.1, pinned to viktor-ferenczi/se-script-dev@60b98b4, the head of main (viktor-ferenczi/se-script-dev#8 merged, plus a README link update).

  • The Publish button no longer moves the main menu buttons, which pushed Continue Game into the DLC icons in 1.1.0. It now sits to the right of Load Game, and of Options in the in-game menu.
  • The Enabled setting now turns the live script updates on and off.
  • The plugin's Settings no longer crash the game when opened.
  • The tooltip and description now cover both features: live script updates and publishing.

Tested on Linux (Pulsar Interim, headless 1280x720, Continue Game showing): both menus keep the vanilla layout and the button opens the dialog.

@viktor-ferenczi viktor-ferenczi left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix before merge: the new <Description> is 1195 characters, over the hub's 1000-character limit. Pulsar cuts it in the middle of the Discord link and drops the support links (Medium, see below). Everything else in this bump looks fine.

Scope: version bump re-review of hub PR head e48173f, Plugins/ScriptDev.xml, target viktor-ferenczi/se-script-dev, direct range 2dce778..60b98b4 (2 commits, 13 paths, +146/−69).

Findings

Medium: Description exceeds 1000 characters and gets truncated in the plugin list

  • Evidence: the hub <Description> is 1195 characters; at the base pin it was 705. SamplePlugin.xml documents a 1000-character maximum, and Pulsar Legacy (v2.4.3, Legacy/Extensions/PluginData.cs, CapLength(pluginData.Description, 1000)) hard-cuts the text there before it detects links.
  • Consequence: the SE1 details panel shows For support join the SE Mods Discord: followed by a lone h. The Discord invite, Patreon and PayPal links and the closing line are lost.
  • Fix: shorten the Description to 1000 characters or less, for example by tightening the new Publishing paragraph. Mirror the change in the repo's backup ScriptDev.xml, which has the same text.
  • The hub validator (test.py) does not check this length, so CI passing does not catch it.

Manifest

  • The only changes are Tooltip, Description and Commit. Id (also the repo, no RepoId), SourceDirectories (Shared, ClientPlugin), no NuGet/assets/dependencies: unchanged.
  • python3 test.py Plugins at the PR head: All files validated.
  • Apart from <Commit>, the repo's backup ScriptDev.xml at 60b98b4 has the same Tooltip and Description as the hub manifest.

Repository and pin provenance

  • 60b98b4 is the tip of main (origin/HEAD), so it is reachable and there is no drift.
  • Commits: 35c28c8 "ScriptDev 1.1.1: Publish button next to Load Game, settings fixes, docs (#8)" and 60b98b4 "README: Pulsar Discord instead of Plugin Loader".

Security

  • Compiled code changes (MainMenuPatch.cs, PluginConfigDialog.cs, Tracker.cs#L139) are GUI layout and one config gate. They add no new networking, file access, process execution, reflection or dynamic code.
  • No package, project-reference or MSBuild reference changes. Version.Build.props only bumps the version to 1.1.1.
  • The six new files are PNG screenshots under Docs/images/ (file confirms PNG data). They sit outside SourceDirectories, so the loader never compiles or loads them. No managed or native binaries were added.
  • The new doc links go to Discord invites, github.com/SpaceGT/Pulsar, github.com/sepluginloader and github.com/viktor-ferenczi/se-script-merge. No code uses them.

Behavior

  • The Publish button now sits to the right of the vanilla button whose Name is LoadWorld (main menu) or Options (in-game menu), and the vanilla buttons no longer move. Checked against the decompiled game: MyGuiScreenMainMenuBase.MakeButton sets Name, and MyGuiScreenMainMenu.CreateMainMenu/CreateInGameMenu create "LoadWorld" and "Options" without conditions. If the button is missing, FirstOrDefault returns null and the patch adds nothing, which fails safe.
  • Tracker.Update now skips the script/PB sync while Config.Enabled is false. Before this change the checkbox did nothing. The default is true, and Plugin.Config is loaded in Init before any Update runs.
  • SetColumnWidthsNormalized exists on MyLayoutTable and scales 120:880 to the table width.

From-source build

dotnet build ClientPlugin/ClientPlugin.csproj -c Release (net10.0, SDK 10.0.400, Linux, game Bin64, deploy off) at 60b98b4: 0 warnings, 0 errors. This is an MSBuild build, not Pulsar's Roslyn source compile.

@viktor-ferenczi
viktor-ferenczi merged commit 7c10e99 into main Oct 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant