xen-42 d12ef2ac97
Slide reel streaming (#1040)
## Minor features
- Can set `displaySlides` on a slide reel now to define which slide
indices should be displayed on the physical reel model. Fixes #888.

## Improvements

- Slide reels are now streamed (Fixes #898). Other projectors (auto,
torch) are not streamed yet.
- Empty slide reel slots are now transparent on the slide reel model.
Requires existing slide reel caches to be cleared.

## Bug fixes

- Fixed a 3 frame hitch when changing tools


So the strategy is:
If the cache does not exist, do nothing different. It will take like 5
minutes and all your memory but that doesn't matter that's on the dev to
make sure that they pre-gen the caches (the sequential pre-caching
option should stop you running out of memory when making the cache
probably). Users won't experience any of that

Then we just do not ever load the inverted cached images when loading
slides from the cache. Only do it right as the player is about to see a
slide, by patching any base game method that tries to get a streamed
slide. We currently do not change how auto-projectors and vision torches
work.

TODO:
- [x] Track who is requesting to load what image so that an unsocketed
slide reel doesnt unload all slides
- [x] Investigate why load times are longer
- [x] Make loading the images async (on an SSD doing it sync is
unnoticeable but might be on older hardware)
- [x] I need somebody to test this on an HDD and see that the slide
reels are actually loading async without hitching
- [x] When slotting slide reels in on EOTP you get a ~3 frame drop. Does
not affect NH Examples (smaller images). Need to figure out why (since
this is meant to be async it shouldnt matter the image size)

In EOTP I save 6 seconds of load time and 3.5gb of memory (6.5gb vs
10gb)
2025-02-14 13:22:19 -05:00
2024-07-14 16:41:08 -04:00
2025-02-09 23:18:27 -05:00
2022-05-24 17:01:12 -04:00
2025-02-13 19:57:12 -08:00
2025-01-06 17:55:27 -05:00
2022-05-22 18:45:53 -07:00
2022-07-26 12:29:47 -04:00
2022-08-31 21:13:01 -04:00
2023-11-29 14:09:40 -05:00
2023-01-08 12:38:01 -05:00
2022-05-22 18:57:05 -04:00
2022-03-01 22:46:02 -05:00
2025-02-08 22:47:53 -05:00

new horizons thumbnail 2

Support me on Patreon Donate Current version Downloads Downloads of newest version Latest release date Build

Do you want to create planets using New Horizons? Then check out our website for all our documentation!

If you want to see examples of what NH can do check out the examples add-on or real solar system add-on.

Check the ship's log for how to use your warp drive to travel between star systems!

Incompatible mods

New Horizons conflicts with the mod Common Resources. This mod is a requirement for other mods such as Cheats Mod (we recommend you use the Cheat and Debug Menu mod instead) and OW Randomizer.

Why do these two mods conflict? Common Resources is a mod which reimplements many of the game's features underneath the hood, for one reason or another. For instance, it completely overhauls how the orbits of planets work, as this is a requirement for it to support OW Randomizer. It does this even when you are only using Cheats Mod. In particular, having CR installed seems to, for whatever reason, break character dialogue introduced by New Horizons. As CR is no longer actively maintained, it is unlikely this issue will be resolved any time soon.

Supported Mods

New Horizons has optional support for a few other mods:

  • Discord Rich Presence: Showcase what New Horizons worlds you're exploring in your Discord status!
  • Voice Acting Mod: Characters in NH can be given voice lines which will work with this mod installed. Try it out by downloading NH Examples and talking to Ernesto!
  • Achievements+: New Horizons and its addons have achievements you can unlock with this mod installed!

Features

  • Load planet meshes or details from asset bundles
  • Use our template Unity project to create assets for use in NH, including all game scripts recovered using UtinyRipper
  • Separate solar system scenes accessible via wormhole OR via the ship's new warp drive feature found in the ship's log
  • Remove or edit existing planets, including their orbits
  • Create custom planets from heightmaps/texturemaps with support for triplanar mapping
  • Create stars (and supernovae), comets, asteroid belts, satellites, quantum planets/moons, and custom Dark Bramble dimensions.
  • Add stock planet features to custom ones, such as geysers, cloaking fields, meteor-launching volcanoes, rafts, tornados, and Dark Bramble seeds/nodes.
  • Binary orbits
  • Signalscope signals and custom frequencies
  • Surface scatter: rocks, trees, etc, using in-game models, or custom ones
  • Black hole / white hole pairs
  • Custom dialogue, slide-reel projections, translatable text, and custom ship log entries for rumour mode and map mode
  • Funnels and variable surface height (can be made of sand/water/lava/star)

Development

If you want to help (please dear god help us) then check out the contact info below or the contributing page.

The Unity project we use to make asset bundles for this mod is here.

Contact

Join the Outer Wilds Modding Discord if you have any questions or just want to chat about modding! Theres a New Horizons category there dedicated to discussion of this mod.

Credits

Main authors:

New Horizons was made with help from:

Translation credits:

  • Russian: Tlya
  • German: Nolram
  • Spanish: Ciborgm9, Ink, GayCoffee
  • French: xen
  • Japanese: TRSasasusu
  • Portuguese: avengerx, loco-choco

New Horizons was based off Marshmallow was made by:

with help from:

  • TAImatem
  • AmazingAlek
  • Raicuparta
  • and the Outer Wilds discord server.
Description
A custom world creation tool for Outer Wilds.
Readme MIT 341 MiB
Languages
C# 100%