404 Commits

Author SHA1 Message Date
FreezeDriedMangos
b325f87f5f
Auto spiral placement 2 electric boogaloo (#519)
<!-- A new module or something else important -->
## Major features
- NOTE: "nomaiText" has been deprecated in order to preserve the legacy
nomai text generation. Please use "translatorText" in the future, it is
exactly the same except it lets you use the new automatic spiral
placement, caching, and so on
- Caching! 
   - Lots to say about this, both for nh devs and addon devs
   - Addon Devs:
- This feature introduces new .nhcache files, which New Horizons will
generate automatically. One nhcache file will be generated per planet
- Make sure to include these files when releasing your addon. This will
allow your players to have fast loading times on their first loop. If
you forget to include them, no worries, their first loop will be slow to
load but every following loop will be fast.
- ~~WARNING: before releasing, delete all your cache files and
regenerate them by opening the game~~
- ~~the reason for this is that as you develop, your caches will get
filled up with old data. Deleting them and letting them regenerate keeps
your release light~~
- Cache files automatically clear unused entries, so there's no need for
you to manage them, they should stay minimal on their own
   - NH Devs:
- Checkout the Cache property on NewHorizonBody. Use it how you want,
whether that's storing procedurally generated meshes or the private key
you brute forced using a botnet you embedded in new horizons.
- Actually scratch that second usecase. Caching doesn't support illegal
activity
- For an example of an actual use of caching, check out
NomaiTextBuilder.MakeArc()
      - Also read the section for Addon Devs if you haven't
   - How does auto spirals use the cache?
- When building a wall text, the cache is checked to see if it has been
built before, and if so, is loaded from there
- Whenever a NomaiTextArcInfo in the json is changed, the corresponding
wall text generates a new entry in the cache
- Also, whenever an xml file used by a wall text is changed, that wall
text will generate a new entry in the cache
- These old entries do accumulate during development of an addon, so
please make sure to check the note above for addon devs for how to deal
with that
- New Horizon's Nomai text arcs are now procedurally generated 
- Automatic Nomai text arc placement! 
- Nomai wall text is now automatically arranged to fit on a whiteboard,
no need to place text manually anymore!
   - Manual placement is still supported if you want it
- If you want to specify certain arcs to be written by children (or
strangers) instead of adults without requiring manual placement, use the
"keepAutoPlacement" property of ArcInfo
- I hope this feature makes wall text less intimidating to include in
addons, I know it'll save me literal hours
- Despite being listed last here, this is the actual main feature of
this PR


<!-- A new parameter added to a module, or API feature -->
## Minor features
-

<!-- Some improvement that requires no action on the part of add-on
creators i.e., improved star graphics -->
## Improvements
- Everything technically goes here too, except maybe caching. Auto
spiral placement is automatic unless overriden by specifying arcInfo
(without using the "keepAutoPlacement" property)

<!-- Be sure to reference the existing issue if it exists -->
## Bug fixes
-
2023-02-21 18:11:37 -05:00
FreezeDriedMangoes
8c1032e67a reintroduced legacy NomaiTextBuilder and put new code under the name (and module) of TranslatorTextBuilder 2023-02-04 14:47:58 -05:00
JohnCorby
024bdf167d change default mass value 2023-02-03 21:55:01 -08:00
JohnCorby
0c72348acd MORE doc 2023-02-03 13:57:43 -08:00
JohnCorby
e33fe1823f doc 2023-02-03 13:52:01 -08:00
JohnCorby
e45a4d1c3c finalize 2023-02-03 13:40:21 -08:00
JohnCorby
d11c998dd6 more tweaking 2023-02-03 13:27:22 -08:00
JohnCorby
7ca84069df Merge branch 'dev' into zero-g-props 2023-02-03 12:58:27 -08:00
JohnCorby
e0dd75d310 restructure how physics object is created 2023-02-03 12:58:22 -08:00
Noah Pilarski
2e502e0da8
Merge branch 'dev' into flashlight 2023-01-30 23:15:41 -05:00
FreezeDriedMangoes
151d935b59 Merge branch 'caching' into auto-spiral-placement-2-electric-boogaloo 2023-01-30 22:54:40 -05:00
FreezeDriedMangoes
1f91e2e57b forgot to commit the module change 2023-01-27 14:20:46 -05:00
Nick
f1097a65d5 Add volumes for changing star system and triggering credits 2023-01-21 23:35:13 -05:00
Nick
b0fbf56882
More remote dialogue stuff (#493)
## Improvements
- Add `remoteTriggerPrereqCondition` to only show a remote dialogue
trigger once a condition has been met.

## Bug fixes
- Stop RemoteDialogueTrigger from softlocking you if you disable its
CharacterDialogueTree.
2023-01-18 01:11:27 -05:00
Nick
fb0d9e30f6 Get rid of enter conditions, just one prereq, clean up patch 2023-01-18 00:12:58 -05:00
Nick
a4bb3896c8 Expose prereqConditions and onTriggerEnterConditions 2023-01-17 23:45:21 -05:00
Noah Pilarski
250d51abf4 Add buoyancy and density properties 2023-01-14 23:21:29 -05:00
TerrificTrifid
dca5636480 Manual recursion fix 2023-01-01 20:05:32 -06:00
Nick
6ace48dd43 Add FacePlayerWhenTalking if it isn't there 2022-12-28 17:02:27 -05:00
JohnCorby
ea7d04da52 Merge branch 'dev' into traveler-anim-fixes 2022-12-28 13:54:18 -08:00
Noah Pilarski
d843cd17aa Set dialogue for FacePlayerWhenTalkings 2022-12-28 04:31:09 -05:00
Noah Pilarski
6dba33f256 Set dialogue for TravelerEyeControllers 2022-12-28 04:06:59 -05:00
Noah Pilarski
7f3e36dd0a typo 2022-12-27 21:31:48 -05:00
Nick
5581a71727 Set dialogue for TravelerControllers 2022-12-27 20:54:54 -05:00
Noah Pilarski
56d52bd5cd Add parentPath and isRelativeToParent 2022-12-24 13:33:13 -05:00
Noah Pilarski
fa8b1249e8 Add renames 2022-12-24 13:19:01 -05:00
TerrificTrifid
60dee93792 Add vinePrefab option 2022-11-26 15:01:44 -06:00
Noah
88663f7935
why did i make it 9 2022-11-25 21:39:32 -05:00
Noah Pilarski
8ad674b643 Add timber hearth cairn variant 2022-11-25 21:31:54 -05:00
Will Corby
62fec9dc68
Add more volumes (#451)
- Destruction Volumes (destroys planets, kills the player, and recalls
the probe)
- Oxygen Volumes
- Fluid Volumes
- Probe Destruction Volumes (destroys the probe)
- Anti Travel Music Rulesets
- Player Impact Rulesets
- Probe Rulesets
- Thrust Rulesets
- Reference Frame Blocker Volumes
- Speed Trap Volumes
- Light Source Volumes
- Added a few audio volume options
- Added isRelativeToParent option to all volumes
- Added river heat hazard type
- Have some hazard types use their special volume
2022-11-25 18:17:55 -08:00
Noah Pilarski
76a02d9fa2 Add light source volumes 2022-11-25 20:35:39 -05:00
Noah Pilarski
db8a9e73a9 Add speed trap volumes 2022-11-25 20:27:55 -05:00
Noah Pilarski
66fa54426a Match frost defaults with ghost matter values 2022-11-25 19:50:29 -05:00
Noah Pilarski
22775d1de9 Add river heat hazard 2022-11-25 19:48:48 -05:00
Noah Pilarski
2800c2cb3f Add reference frame blocker volumes 2022-11-25 19:22:44 -05:00
Noah Pilarski
7cae3805ff Add rulesets 2022-11-25 18:51:49 -05:00
Noah Pilarski
d34534f9ea reorder 2022-11-25 18:16:02 -05:00
Noah Pilarski
c2e3bd65cf Add isRelativeToParent option 2022-11-25 18:04:55 -05:00
Noah Pilarski
11d0980153 Add visor effect volumes 2022-11-25 17:58:53 -05:00
Noah Pilarski
f7066781eb Add clip selection option 2022-11-25 17:44:35 -05:00
Noah Pilarski
3dd77773ec Add more audio volume properties 2022-11-25 17:32:22 -05:00
TerrificTrifid
703be3a4e1 Add option to remove bramble vines 2022-11-25 16:26:00 -06:00
Noah Pilarski
49996e5f48 Add probe volumes 2022-11-25 17:23:13 -05:00
Noah Pilarski
4754dfe043 Add fluid volumes 2022-11-25 17:13:13 -05:00
Noah Pilarski
439eebd2b5 Add oxygen volumes 2022-11-25 16:35:59 -05:00
Noah Pilarski
c4a256bd20 Add defaults 2022-11-25 16:35:36 -05:00
Noah Pilarski
4742139408 Add layer 2022-11-25 16:35:16 -05:00
Noah Pilarski
0819a4216e notification 2022-11-25 16:18:22 -05:00
Noah Pilarski
0763b306c5 Add destruction volumes 2022-11-25 13:42:22 -05:00
Noah Pilarski
cad9b2e3b5 Merge branch 'dev' into zero-g-props 2022-11-23 22:14:32 -05:00