H3lp Yours3lf Changelog
Latest:
69a2b4e9 - FEAT: Merge all the functions from openmw_aux.util for tables into the big tableUtil also00642980 - FEAT: Add __name and __metatable fields to s3lfobject for identifiability
78145bc3 - FEAT: Add getBoundingBox to s3lf and fix sendObjectEvent
f9a6f8d9 - FIX: Update all the H3 consumers for the new version /w fixed sendEvent and renamed gameObject to object
48ce0a4a - FEAT: Add another field to `s3lf` which refers to the local object
48dab92a - Revert "CLEANUP: Always assign the `object` field of the `s3lf` to the LObject variant"
be65baa0 - CLEANUP: Always assign the `object` field of the `s3lf` to the LObject variant
9d61dd49 - FIX: Call realTime instead of doing math on the function! :sob:
cb767802 - FEAT: Add a table clear function
b520057d - CLEANUP: Localize type in RandomGen
5c58212c - FEAT: Add a main.lua for H3 to be used in MWSE
194400a4 - CLEANUP: Remove double quotes
bd1491ac - FEAT: Make randomGen.lua MWSE-ready
a9afe80a - FEAT: Add isOpenMW module to H3
a6c0d1ba - CLEANUP: Run formatter on spellUtil
7a8d1e3a - CLEANUP: Combine the require and assert lines
fec0bdc9 - FEAT: Just make whole-ass replacement modules for `math` and `table`
50f85630 - CLEANUP: Further localizations of vars and more rawset/rawget action
a05184e0 - CLEANUP: Use rawget/rawset when checking if a cell has already been visited or not
6c4d7175 - CLEANUP: Also use rawget in targetData
bf58489e - CLEANUP: use rawget in sendEvent
1ff4fe36 - CLEANUP: Shuffle around branching a little bit so the more common case is checked for first
09150735 - CLEANUP: But only do that if we need to fall through to a non-cached value since these lookups are rarer than cached ones but more common than uncached ones
b38c5d2a - CLEANUP: Localize combatTargetTracker further to players only, and restore the impliedFields section of the __index handler
efbad8af - CLEANUP: Remove `knownKeys` and instead make those functions direct fields of the instance table if the instance refers to a player
f61043ba - CLEANUP: Merge handling of already-cached and uncacheable keys into the main s3lf __index
20bba07c - CLEANUP: We don't need to check if this was called by a player because we know only players call it now
db0a2c4b - CLEANUP: Remove the cached fields from the handler chain and run those directly
9fbd3f17 - CLEANUP: use rawget for ignoredBaseKeys
c4a579bb - CLEANUP: Rename knownKeys to KnownKeys and only add that field to the lookup table for players
bd22a4b7 - CLEANUP: Rename `instance.gameObject` back to `instance.object`; remove GameObjectKeyHandlers and bake those fields directly into the table. Use rawget for pulling values from `UncacheableKeys`
7e1073c3 - CLEANUP: Remove bad sendEvent impl
a5f8b77e - FIX: `cell` and `position` are still uncacheable, so, we have to check the cache first, then uncacheable fields, for it to work properly
2535439e - CLEANUP: Don't do weird unnecessary stuff when constructing a cellInfo
36714648 - FIX: Use rawset when assigning fields of `CellInfo`
4f6ca8e9 - CLEANUP: Don't clear `S3lfCache`s on death
cd16c7cc - FEAT: Add a nullFunction module
54163d10 - CLEANUP: Rename `instance` to `Instance`
387425a9 - CLEANUP: Prebake all `stat` fields for actor types
dacf9375 - FEAT: Actually we CAN cache the cell and position, and will do so now
ed865359 - CLEANUP: Document the __instance thing
c1e1a61f - CLEANUP: Don't even tell people this one exists
32ef6c71 - CLEANUP: `nearby.players` is a thing, so use it instead of `nearby.actors` to make instanceDisplay much cheaper
4012c51b - CLEANUP: Reformat and generally clean up s3/lf.lua
4be09fd5 - CLEANUP: Don't do the concatenation if the assert fails
d1d48175 - CLEANUP: Throw if s3lf is used in a global script
cdd43e4a - CLEANUP: Only index for gameObject IDs once
267eb8e5 - FIX: Search for uncacheable keys first so those lookups are performed faster
3a914c36 - CLEANUP: Remove objectType for memory savings
4ade36f6 - CLEANUP: Misc optimization improvements to s3lf.lua
a869eabf - FEAT: Covert all template content to st4sh content. Based on old squashed commits
f432a618 - CLEANUP: Migrate to zola site structure
Version 0.6:
7e786657 - CLEANUP: Fix issue when invalidating cached settings and make the default subscribeHandler not loop over the entire group every single time a setting updatesfe2b33f7 - CLEANUP: Minor refactor of protectedTable innards
ad389251 - CLEANUP: Be more explicit if no name is provided, and we do an unauthorized write to a protected table. Maybe handle this differently, some other time.
11e70697 - CLEANUP: Fix a stupid throw in protectedTable
cc79dff5 - FIX: Actually update the current tile when cycling
31d22416 - CLEANUP: Rearrange param order in getSpellCastChance
1abaa354 - FEAT: Port spellUtil.cpp to lua. Note that potion value does not work properly due to the autocalc flag of potion records not yet being exposed
0fcdcd6c - FEAT: Initial implementation of H4ND
1af04260 - FEAT: Add a dedicated function to get the next frame in imageAtlas and pass some more params we didn't before
3c5e46cb - FEAT: Add an atlas generation script to H3
6a4c1654 - FEAT: Allow writing to the storage groups owned by protectedtables, if the group is actually writable
ad19becb - cleanup: Migrate camera helper module into H3
0202a916 - FEAT: Allow providing a storage section directly to a protectedTable
28e7b37b - FEAT: Add a dedicated function for spawning interfaces through protectedtables
61f25158 - FEAT: Update protectedtable so its state is directly readable and writable instead of manually indexing into .state
88810dcc - CLEANUP: Modify randomgen API to allow getting integers
055b8b37 - FEAT: Add a random number generator and additional setting renderers to H3 (renderers by Urm)
a537f678 - FEAT: Migrate H3 to an ESP
345ff6ea - FIX: Add more uncacheable keys
0c083d88 - CLEANUP: Fiix indexing of the `type` field of object records and add some miscellaneous optimizations
2ce02d26 - FIX: Don't cache gameObject cells because that's a very bad time
7804a0ea - FIX: Remove missing bones from animation references
01220552 - CLEANUP: Fix formatting in H3 readme