Skip to content

Releases: NarcoMarshDev/Enforce-Script-Extensions

v0.2.2

24 Dec 14:18

Choose a tag to compare

v0.2.2 Pre-release
Pre-release

Summary

This update has many assorted things, mostly the things done while taking breaks from losing my mind trying to implement reflection in a language not made for it (still not working :c)

Additions

Classes

  • ESE_GetComponent<T> - Template wrapper of long type obj = type.Cast(something.FindComponent(type)) lines
  • ESE_InventoryHelper - Helper functions for working with the inventory system
  • Tuple7, 8, 9 - Larger size versions of the default Tuple classes.

Methods

  • ESE_Entities.CanPickUpEntity() - Checks if entity can be picked up by player by looking for its actions
  • ESE_Entities.IsEntityWeapon() - Looks for WeaponComponent on given entity, returns result

Plugins

  • DiscordRP - Discord rich presence integration for the workbench, current only really works in script editor. Disabled by default
  • Generate New Workbench Plugin - Creates a new file with a basic template for a workbench plugin based on some settings
  • Read-Only File Exporter - Creates a writeable copy of a given file, basically only useful for messing with prefabs
  • ESE Configuration - Config menu for all things ESE, currently only controls the DiscordRP settings, more to come though
  • View Documentation - Opens the ESE wiki page in your browser

Other

  • Added static references to the function library classes, so ESE can be used as a pseudo namespace like ESE.Math.FixInt180()

Fixes & Tweaks

  • Fixed ESE_Entities.SpawnPrefabOnPlayer() not actually spawning the prefab on the player after game update 0.9.7
  • Collections now explicitly inherit from Managed to fix bugs with reference passing
  • Collections now support direct indexing, e.g auto x = queue[3] is now valid instead of having to use auto x = queue.Raw[3]

v0.2.1

22 Oct 17:00

Choose a tag to compare

v0.2.1 Pre-release
Pre-release

Summary:

Mainly a tidying up update, added new ways of snapping entities to the ground and some improvements to collections

Additions:

Methods

  • Added ESE_Entities.SnapToGround()
  • Added ESE_Entities.SnapAndOrientToGround()
  • Added ESE_Queue.PrintRaw()
  • Added ESE_Stack.PrintRaw()
  • Added ESE_DynamicQueue.PrintRaw()
  • Added ESE_DynamicStack.PrintRaw()

Tweaked:

Methods

  • ESE_Entities.EnableCollisions() & ESE_Entities.DisableCollisions() now both have an applyToChildren parameter for also updating the collisions on all children in the hierarchy under the entity.
  • ESE.Init() now prints information on the currently active #define statements enabled in the ESE config.

Files

  • ESE_Queue.c, ESE_Stack.c, ESE_DynamicQueue.c, ESE_DynamicStack.c all moved to scripts/Game/Collections
  • scripts/Game/Global removed

v0.2.0

05 Oct 12:07

Choose a tag to compare

v0.2.0 Pre-release
Pre-release

Summary:

Started the process of adding new data structures with queues and stacks, and some assorted new class methods.

Additions:

Classes

  • Added class ESE_Queue
  • Added class ESE_DynamicQueue
  • Added class ESE_Stack
  • Added class ESE_DynamicStack

Methods

  • Added ESE_Math.CeilToNearestMultiple()
  • Added ESE_IO.ReadSpaceDelimitedFileAsArray()
  • Added ESE_Entities.GetMaterial()

Removed:

Classes

  • Removed experimental class ESE_array

Files

  • Removed ESE_CoreTypes.c

Tweaked:

Methods

  • ESE_Entities.SpawnPrefab() now takes a vector[4] transform as a position input instead of a single vector

v0.1.2

28 Sep 19:27

Choose a tag to compare

v0.1.2 Pre-release
Pre-release

Summary:

General tidying up in a couple of places

Changes:

  • Removed ESE.IsEntityAlive() and moved it to ESE_Entities.IsEntityAlive() (Better fit here)
  • Removed ESE_ALIASES_MATH (Unused)

Fixes:

  • Updated ESE_Config.c comments for new alias types
  • Fixed various typos in comments

v0.1.1

28 Sep 13:49

Choose a tag to compare

v0.1.1 Pre-release
Pre-release

Summary:

First public pre-release, all main functionality added.

Additions:

  • Classes
    • ESE
    • ESE_Aliases
    • ESE_Entities
    • ESE_IO
    • ESE_Math