5447 Commits

Author SHA1 Message Date
xen-42
4499bc3312 Document double fog tint 2025-02-15 02:13:50 -05:00
xen-42
4e982f6460 Merge branch 'dev' of https://github.com/Outer-Wilds-New-Horizons/new-horizons into dev 2025-02-15 02:11:43 -05:00
xen-42
964a4b2d60 Comment explaining #831 2025-02-15 02:11:20 -05:00
xen-42
2a1b2484cb
Do the thing where the screen fades out on black holes only (#1046)
## Improvements

- Screen fades out faster now on system-changing black hole. Fixes #783.
2025-02-15 01:54:49 -05:00
xen-42
93a61da2f8 Do the thing where the screen fades out on black holes only 2025-02-15 01:43:38 -05:00
xen-42
698e35733a
Improve credit volumes (#837)
## Minor features
- Reworked game over screens. Can now either use credits volumes as
before, or set `gameOver` in the addon manifest where you can define a
dialogue condition which will then trigger a game over sequence the next
time you die (displaying a message and/or triggering the credits). Fixes
#832
- Allowed game over to trigger flashback without resetting to menu
(credits type `none`).
- Allowed game over to fade to black instead of causing death (leave
death type field empty)
- Allowed game over to set credits volume text colour.
2025-02-14 23:14:14 -05:00
Ben C
8f9440bf1a Updated Schemas 2025-02-15 03:38:18 +00:00
xen-42
73d84898c1 Merge branch 'improve-credit-volumes' of https://github.com/Outer-Wilds-New-Horizons/new-horizons into improve-credit-volumes 2025-02-14 22:32:53 -05:00
xen-42
929b463c47 Add support to addon manifest 2025-02-14 22:32:52 -05:00
Ben C
d957540fbd Updated Schemas 2025-02-15 02:54:28 +00:00
xen-42
37c43d0104 Merge branch 'improve-credit-volumes' of https://github.com/Outer-Wilds-New-Horizons/new-horizons into improve-credit-volumes 2025-02-14 21:51:47 -05:00
xen-42
0dfc2381a3 Move game over stuff to its own module, add condition 2025-02-14 21:51:37 -05:00
Ben C
7567ec7a4d Updated Schemas 2025-02-15 02:27:17 +00:00
xen-42
392fc404f4 Fix no audio and eye closing effect 2025-02-14 21:25:10 -05:00
xen-42
1b1bf47266 Merge branch 'dev' into improve-credit-volumes 2025-02-14 20:20:07 -05:00
xen-42
a55a7d451e
Reorganize a bit and add more docs (#1043)
Improved dialogue documentation by writing some more guides (Fixes #833)

I checked through the dialogue and nomai text schemas and I don't see
anything missing when compared to base game code.
2025-02-14 20:16:34 -05:00
xen-42
d27f075b81 Add the special name fields to FAQ 2025-02-14 20:05:35 -05:00
xen-42
1d0c1662ab Explain condition 2025-02-14 19:58:44 -05:00
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