Skip to content

Add spawn points to an installed bank - #3

Open
Techno453 wants to merge 3 commits into
stanuwu:masterfrom
Techno453:feature/spawn-points
Open

Techno453 wants to merge 3 commits into
stanuwu:masterfrom
Techno453:feature/spawn-points

Conversation

@Techno453

Copy link
Copy Markdown

Adds arrival points to a spawn bank; until now Studio could only move installed rows. Add spawn point here, Add at camera and Duplicate spawn point are in the Inspector and the Mission > Spawns row menu. New points use the selected bank's native name hash, show through the same reader and marker, and take the transform Inspector and handles. Removal is undoable.

How:

  • A point is an object edit (AddedSpawnPoint, feature added-spawn-points): bank tag, stable project ordinal, name hash, the installed bank's SHA-256, position, quaternion and the arrival role.
  • AddedSpawnPointRule grows the bank's terminal typed array after existing-row edits are applied: installed rows and untouched bytes stay where they are, 48-byte rows are appended, both count fields and the u64 size are updated. Each build starts from the installed bank, never a grown output.
  • The bank keeps its tag and goes through the existing patch writer, so scenario and container references stay valid. A raw resize, malformed array, changed original or unknown trailer is refused.

Version 8 now lists the features a manifest holds by name, so this and the
other world-authoring features can merge in any order. A build refuses a
manifest naming a feature it does not know.
…iver from the environment

The saved manifest must name the added-spawn-points feature, and a manifest
naming an unknown feature is refused. The bank's SHA-256 from World Studio
is checked on every run; the Python driver lives outside the repository,
WORLD_STUDIO_SOURCE and SUNRISE_PARITY_DRIVERS name it, and the live
comparison is skipped when they are unset.
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