Repository navigation
S1API 3.2.1-beta.9
Pre-releaseCustom NPC loading
- Scene lookups for movement presets, map icons, and contact circles now reuse an internal index. Scene changes and native assignment invalidate it, and missing objects are searched again. See PR #354.
- Derived-type discovery keeps ordinary assembly results until another assembly loads. Dynamic assemblies are still scanned on every call, and callers receive independent lists. See PR #355.
These changes reduce repeated lookup work. A repeatable improvement in total loading time has not been established in maintainer testing.
Portraits and client initialization
- Fixed blank custom NPC portraits after reload by retaining the rebound hip position in the owned fallback render rig. Portrait captures remain serialized and retain their settled-frame timing. Workbench preview clones can animate their pose controls again. See PR #358, fixing #356.
- Customer prefabs now have fallback data before a joining client's native
Awake. Dealer conversion removes the replaced NPC component, preventing duplicate registration. Existing customer data and explicit configuration remain intact. See PR #359, fixing #357. - Restored packaging icon patches on game beta 0.4.7f11. See PR #353.
Compatibility and validation
Existing public signatures, namespaces, save identifiers, and network payload formats are unchanged.
The combined release candidate passed 792 Mono and 766 IL2CPP contract tests. Live checks on game beta 0.4.7f11 with MelonLoader 0.7.3 covered 32 custom NPC types over two loads per runtime, producing 64 nonblank portraits per runtime with one native NPC component per object. Controlled gender/weight captures and workbench pose checks also passed on both runtimes.
Multiplayer validation uses two local peers with separate identities through a Steam emulator. Both Mono and IL2CPP host/client gameplay, portraits, customer initialization, and one-component registration passed the first load and a same-process reload/rejoin. Real Steam transport remains untested. Existing native Contacts warnings remain outside these fixes.
This is a GitHub-only prerelease for the Schedule I game beta.
Contributors and links
Thanks to @r-melvin for #353, #354, and #355, and @ifBars for #358 and #359.