-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.txt
More file actions
260 lines (202 loc) · 10.2 KB
/
Copy pathREADME.txt
File metadata and controls
260 lines (202 loc) · 10.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
CONTINUE FOR STARRUPTURE
========================
Adds a CONTINUE entry to the main menu that loads your most recent save in one
click. Vanilla needs three screens to resume -- LOAD GAME -> pick a world ->
pick a save; Continue collapses that to one button, focused by default, so
pressing Enter at the main menu drops you straight back into your last game. A
mod for the PC game StarRupture
(https://store.steampowered.com/app/1631270/StarRupture/).
- Target: Game client
- Built for: Early Access build 0.2.8.121391-S -- a later game update may
require an update.
------------------------------------------------------------------------------
WHAT IT DOES
------------
The game already ships this feature, disabled.
UCrUW_MainMenuWidget::NativeConstruct walks a LeftButtons array to decide
which entries to build, and entry 0 holds ECrMenuType::Continue -- value 0.
That value is the wrong one. ECrMenuType covers both menus in one enum:
Continue (0) is the pause menu's resume the game you are playing, while
ContinueGame (12) is the main menu's load the last save. Entry 0 of the main
menu's list holds the pause-menu value, and NativeConstruct skips it precisely
because it is zero -- that is what its test al,al tests. The same branch also
clears the byte ButtonClicked requires before it will act on index 0, so the
entry is never built, and would be ignored if it were.
Continue writes ContinueGame (12) into that slot -- the value the game's own
machinery is already waiting for -- then sets the byte the handler tests.
Nothing is hand-drawn; everything visible is produced by the game itself:
Stage: Save discovery
Where it runs: Plugin init, before login
What happens: Registry -> Steam userdata -> every *.met under SaveGames\,
ranked by file timestamp. No save => the mod does nothing at all.
Stage: Entry substitution
Where it runs: Inside NativeConstruct, per menu
What happens: The instance's own LeftButtons[0] is rewritten Continue(0) ->
ContinueGame(12) before the original reads it.
Stage: Label
Where it runs: After construct
What happens: UTabButton::SetButtonText on the button the game created.
Stage: Click gate
Where it runs: After construct
What happens: The byte ButtonClicked tests is set -- only when this instance's
entry list was actually substituted.
Stage: Separator
Where it runs: Same frame as the label
What happens: A UImage cloned from the menu's own separator widget, appended
into the CONTINUE button's own subtree.
Stage: Clicking it
Where it runs: The game's own routine
What happens: The stock load path runs. The mod is not involved.
The entry uses the same widget class, font, colours, focus highlight and
sounds as every other menu item -- it is not a hand-made lookalike.
With no saves on disk, nothing changes. The entry and its separator are absent
and the menu is vanilla.
CONFIGURATION
-------------
Written on first launch to
StarRupture\Binaries\Win64\ModLoader\Plugins\config\AgenticalMods-
Continue.ini. It works out of the box; there is nothing you need to set.
Two settings are meant to be changed:
Section: General
Key: Enabled
Default: 1
Description: Master switch. 0 leaves the menu completely unmodified without
removing the mod.
Section: SaveDiscovery
Key: SaveRootOverride
Default: (empty)
Description: Only if the mod reports finding no saves when you do have some --
set the full path to your ...\remote\Saved\SaveGames folder.
The file also contains three keys under [Menu] that pin the mod to this exact
game build's internals. Leave them alone. Their values come from analysing the
game executable, so they cannot be worked out by hand, and a wrong value
simply makes the mod stand down. They are in the file -- rather than compiled
in -- so that a game patch can be answered with a small .ini update instead of
waiting for a new build.
REQUIREMENTS
------------
Requires the AlienX StarRupture ModLoader, v1.17.3 (a dwmapi.dll proxy
loader): https://github.com/AlienXAXS/StarRupture-ModLoader
The loader accepts plugins by interface version, and v1.17.3 accepts exactly
one: 60. This plugin reports 60, so every loader older than v1.17.3 refuses
to load it and shows "Update The Mod Loader".
On an older loader, use Continue v1.0.1 instead -- it reports interface 52
and works on v1.16.0 through v1.17.2. It stays available on the releases page
for exactly this reason. Because the loader pins a single interface version
rather than a range, a newer loader may in turn stop accepting this build; if
that happens, watch for a new release here.
INSTALL
-------
1. Install the ModLoader if you have not already.
2. In Steam, right-click StarRupture -> Manage -> Browse local files.
3. Copy BOTH files from install\ModLoader-Plugins\ into
StarRupture\Binaries\Win64\ModLoader\Plugins\:
- AgenticalMods-Continue.dll
- AgenticalMods-Continue.json
4. Launch the game. With at least one save on disk, CONTINUE appears at the
top of the main menu, already focused.
IMPORTANT:
Copy the .json too. It is a three-line file that tells the ModLoader where
to check for new versions of this plugin. With it in place, future updates
install themselves -- see AUTOMATIC UPDATES below. The mod works fine
without it; you just have to update by hand every time, which on this
loader means the mod silently stops working until you notice.
NOTE:
Download the release archive from the Releases page.
IMPORTANT:
Upgrading from v1.0.0? The plugin was called AM-Continue.dll then.
Delete that file from the same folder --
leaving both installed means two copies of the mod patching the same
menu.
AUTOMATIC UPDATES
-----------------
AgenticalMods-Continue.json sits beside the DLL and points at a small
manifest published with each release. On launch -- before plugins are loaded
-- the ModLoader reads it, checks whether the published version differs from
the one you have, and replaces the DLL if so. Nothing is installed silently
from anywhere else: the file names one URL, under this repository, and that
is the only place it looks.
This matters more than it sounds. The loader accepts exactly one plugin
interface version at a time, so when the ModLoader updates itself, every
plugin built for the previous interface stops loading -- with no error a
player would notice, just a missing menu entry. With the .json in place, the
fixed build arrives on its own.
The manifest also declares which loader versions a build is compatible with,
so a build that would not load on your loader is skipped rather than
installed.
To turn it off, delete AgenticalMods-Continue.json. The plugin keeps working
and simply stops updating itself.
UNINSTALL
---------
Delete AgenticalMods-Continue.dll and AgenticalMods-Continue.json from
StarRupture\Binaries\Win64\ModLoader\Plugins\. To keep the file but turn the
mod off, set Enabled=0 in its .ini; the menu then renders exactly vanilla.
config\AgenticalMods-Continue.ini is left behind. It is inert without the DLL
and can be deleted. No save is ever written, moved or modified, so
uninstalling cannot affect your saves.
TROUBLESHOOTING
---------------
Problem: CONTINUE does not appear
Solution: You need at least one save. Otherwise check
ModLoader\Logs\ModLoader.log for Plugin initialized: AgenticalMods-
Continue, then for the line naming which save was found.
Problem: "Update The Mod Loader"
Solution: The loader is older than v1.17.3. Update it, or use Continue v1.0.1
if you would rather stay on your current loader.
Problem: It loads a save you did not expect
Solution: It loads the newest by file timestamp, across all worlds, including
autosaves. Copying save files between machines rewrites those timestamps.
Problem: Stopped working after a game update
Solution: Expected, and harmless: the menu goes back to vanilla rather than
crashing or half-drawing. A fix needs new [Menu] values, which are worked
out from the updated game executable -- watch for an updated release, or
open an issue with your ModLoader.log attached.
Problem: NEW GAME behaves oddly
Solution: It should never. The mod writes the click gate only when it has
confirmed this menu's entry list was substituted; otherwise it refuses and
logs why. Please report it with the log.
BUILD FROM SOURCE
-----------------
Source is in src\. See BUILD.md.
- Prerequisites: Visual Studio 2026 with the C++ desktop workload, and the
StarRupture Plugin SDK (https://github.com/AlienXAXS/StarRupture-Plugin-
SDK).
- Configurations:
Configuration: Client Release
Platform: x64
Output: src\bin\Client Release\AgenticalMods-Continue.dll -- the shipping
binary
Configuration: Client Debug
Platform: x64
Output: Same, with warnings enabled. Not shipped: debug binaries embed
toolchain paths.
COMPATIBILITY
-------------
The only thing this mod touches is the main menu's LeftButtons entry list, so
another mod that rewrites the same list is the one case that can conflict.
Continue converts an entry only while it still holds the untouched vanilla
Continue(0); finding anything else there, it stands down and logs why. It
never writes the click gate unless it confirmed the substitution on that same
widget, so a conflict costs you the CONTINUE entry, not a broken menu.
LICENSE & COPYRIGHT
-------------------
AgenticalMods' modifications are licensed under the MIT License (see LICENSE).
This covers the plugin source and binary; the mod ships no game assets.
Unofficial, non-commercial fan mod -- not affiliated with or endorsed by
Creepy Jar. "StarRupture" and its assets are copyright Creepy Jar; all rights
in the underlying game content remain those of Creepy Jar. Any Creepy Jar
assets included appear only in modified form and are not licensed by
AgenticalMods.
THANKS
------
- AlienX (AlienXAXS (https://github.com/AlienXAXS)) -- for the StarRupture
ModLoader and its Plugin SDK. The plugin interface, the reflection and
hooking APIs this mod is built on, and the SDK's generated game-class
definitions are all his work.
DISCLAIMER
----------
Use at your own risk. This mod never opens a save file: it picks the newest
from the folder listing alone -- file names and timestamps -- and never
writes, moves or modifies one. Loading is performed by the game's own routine.
Every failure path leaves the vanilla menu untouched. Back up your saves
regardless -- sound practice with any mod.