5427 Commits

Author SHA1 Message Date
xen-42
52cf65a189 Add other schema 2025-02-14 19:43:55 -05:00
xen-42
1010229f59 Add a short nomai text guide 2025-02-14 19:42:22 -05:00
xen-42
0cf0999f7b Mention caches 2025-02-14 18:26:12 -05:00
xen-42
3f3d6ce998 Reorganize a bit and add more docs 2025-02-14 18:22:02 -05:00
xen-42
841ee0a5df Just check player state 2025-02-14 17:43:02 -05:00
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
JohnCorby
d1ceaaaf71 cache ship cockpit controller 2025-02-13 19:57:12 -08:00
xen-42
c93ed5fc14 Fix caching the ship log slide projector 2025-02-13 18:37:01 -05:00
JohnCorby
05a1596493 i get it now 2025-02-13 14:32:10 -08:00
JohnCorby
a2d3822d84 Merge remote-tracking branch 'origin/slide-reel-streaming' into slide-reel-streaming 2025-02-13 14:26:53 -08:00
Ben C
d10d79719d Updated Schemas 2025-02-13 22:23:29 +00:00
JohnCorby
8b4989fbee document 2025-02-13 14:23:12 -08:00
JohnCorby
ebb1871a3a Merge remote-tracking branch 'origin/slide-reel-streaming' into slide-reel-streaming 2025-02-13 14:21:51 -08:00
xen-42
5a9b9c56ce Merge branch 'slide-reel-streaming' of https://github.com/Outer-Wilds-New-Horizons/new-horizons into slide-reel-streaming 2025-02-13 17:21:02 -05:00
xen-42
8c3649bb40 Can set which slides to display, make empty slide reels transparent (#888) 2025-02-13 17:21:00 -05:00
JohnCorby
a6c20cb231 document 2025-02-13 14:20:39 -08:00
JohnCorby
b1e64c1491 dont need to check CacheExists 2025-02-13 13:54:03 -08:00
JohnCorby
1d69fd063e Merge remote-tracking branch 'origin/slide-reel-streaming' into slide-reel-streaming 2025-02-13 13:44:03 -08:00
JohnCorby
e825882fd1 use direct cast so exception is cast exception instead of nre 2025-02-13 13:40:43 -08:00
xen-42
af98395686 Also do not doAsyncLoading on auto projector 2025-02-13 16:38:03 -05:00
xen-42
691cd8b096 Fix some checks, unload all when shiplogslideprojector says to, maybe fix vision torches 2025-02-13 16:31:04 -05:00
JohnCorby
a3f2f9fd8c document StartAsyncLoader 2025-02-13 13:08:09 -08:00
JohnCorby
28bf75d09a comment 2025-02-13 12:58:37 -08:00
JohnCorby
3e9ff8c616 comment 2025-02-13 12:55:50 -08:00
xen-42
a322c72f9f Merge branch 'slide-reel-streaming' of https://github.com/Outer-Wilds-New-Horizons/new-horizons into slide-reel-streaming 2025-02-13 15:48:34 -05:00
xen-42
daef166a39 Make slide reels work on ship log projector 2025-02-13 15:48:28 -05:00
Noah Pilarski
c483a8331c Set playWithShipLogFacts for auto projectors 2025-02-13 15:45:57 -05:00
xen-42
25fd6cd761 Make it async 2025-02-13 15:05:02 -05:00
xen-42
853e03cc99 Only unload textures once nobody is using them anymore 2025-02-13 14:54:14 -05:00
xen-42
407980f2d7 Actually always have to load raw if no cache 2025-02-13 14:36:03 -05:00
xen-42
1191cbaef8 Fix that it was always loaded the raw slides 2025-02-13 14:35:30 -05:00
xen-42
064f9ffef1 I can't tell if this works or not 2025-02-13 14:00:31 -05:00
xen-42
9f5257d087 Only correct spawn velocity when NH is handling spawn (fix archipelago incompat) 2025-02-13 08:52:40 -05:00
xen-42
cb64f79c5d Fix the EOTP ending bug (that pikpik will probably fix in EOTP) 2025-02-11 23:26:23 -05:00
xen-42
fa4e95b9b3 Update PlayerImpactAudioPatches.cs 2025-02-10 16:50:53 -05:00
xen-42
8a1fa3de97 Bring back patch to impact audio 2025-02-10 16:12:02 -05:00
xen-42
d5d9200331 Don't use patch, use invincible field on player resources 2025-02-10 16:07:02 -05:00
xen-42
d1c8d132ae Revert changes to InvulnerabilityHandler 2025-02-10 10:09:02 -05:00
xen-42
90cf5880ed Address review - use _invinicible in its own file, comment orbitlines 2025-02-10 10:01:51 -05:00
xen-42
52f164a458 Merge branch 'dev' of https://github.com/Outer-Wilds-New-Horizons/new-horizons into dev 2025-02-09 23:28:37 -05:00
xen-42
71d6f5732d Bump version 2025-02-09 23:28:36 -05:00
xen-42
0706b901cf
fix bugs for ship and vessel spawns (#1036)
## Bug fixes

- fixes
https://github.com/Outer-Wilds-New-Horizons/new-horizons/issues/1034
- might also fix
https://github.com/Outer-Wilds-New-Horizons/new-horizons/issues/975 but
i couldn't reproduce the issue to be sure.
2025-02-09 23:26:53 -05:00
xen-42
ddb1d50816 Reorganize a bit and add more comments 2025-02-09 23:26:16 -05:00
xen-42
294a709361
Custom Eye Travelers (#1031)
## Major features

- Added a new `EyeOfTheUniverse` module to the planet body config for
features specific to the Eye of the Universe scene.
- Added `eyeTravelers`, `quantumInstruments`, and `instrumentZones` to
the `EyeOfTheUniverse` module to support adding new travelers and
instrument 'puzzles' to the Eye of the Universe in a
compatibility-minded way.

## Improvements

- When custom travelers are present, a new custom audio scheduler is
used for the campfire song at the Eye of the Universe to reduce
desyncing and remove the awkward cross-fade into the finale audio clip.
2025-02-09 23:18:27 -05:00
xen-42
599b5ff808 Fix anglerfish at eye 2025-02-09 23:17:54 -05:00
xen-42
0f38b022f3 Changes I requested 2025-02-09 21:14:35 -05:00
AnonymousStrangerOW
187bf415dc fixes warping to other systems death bug
- the player no longer violently gets hurled out of the vessel when warping to custom-made system
- possible issues involving violent hurling also happening with the ship when warping into other nh systems may have been fixed as well
2025-02-09 21:08:51 -05:00
xen-42
037261ed26
Update README.md 2025-02-08 22:47:53 -05:00
xen-42
624c030889
Populates the portuguese_br.xml translation file. (#1032)
## Major features

- Translation for the Portuguese (Brazil) language based on current
English translation file.

I tried to keep game's actual context translations by extracting its
actual pt_BR file and checking translation choices made throughout the
game.

Hope this little contribution is welcome.
2025-02-08 22:46:20 -05:00
Heavenly Avenger
71050a2160 Coesion in pt_BR "gender" matching to "mod".
Elsewhere used as female gender, "a mod", from the "modificação" noun,
uses also the female gender to this message.

The "modificação" noun is a feminine noun, in Brazillian Portuguese.

The article (a/o) here is necessary.
2025-02-08 12:56:02 -03:00