Hello 3.0.4603! New dormant plugin mode, improved search for members and more


#1

Here’s another quick update with more improvements and fixes!

What’s new?

In a nutshell

  • new dormant plugin mode that will not launch the IDE on projects that don’t use SkookumScript (unless the IDE was open the last time you worked on that project) - for improved workflow with non-SkookumScript projects
  • improved search for members - now you can type in the original Blueprint function name to find the SkookumScript equivalent
  • minor Sk syntax change: changed named argument specifier to : from # to match bind, future Map literal and Swift - if this affects your code, all you need to do is change # to :
  • fixed a number of issues, including game module hot loading

Detailed release notes

SkookumIDE

  • IDE member list widget now uses new case-insensitive and special-character agnostic string comparison during search (FSkMemberListFilter::is_string_matching)
  • member search now also looks at new &aka strings for result filtering
  • new command line parameter -m which forces the IDE to start up minimzied
  • fixed bug where a recently deleted class could not be re-added in the IDE

Skookum UE4 Plugin

  • dormant/REPL/read-only + gameplay/editable plugin mode
  • implemented the following modes into the runtime plugin:
    1. SkProjectMode_read_only (dormant/REPL mode):
    • Does nothing when not connected to IDE (dormant)
    • Plugin connects to IDE when (a) SkookumIDE button is pressed, (b) upon startup, if plugin was connected to IDE when last shut down
    • Upon connection with IDE, plugin wipes and regenerates all project-specific Sk files
    • Plugin silently ignores and skips all errors
    1. SkProjectMode_editable (gameplay scripting mode):
    • Plugin always connects to IDE upon startup
    • Plugin communicates to IDE to startup minimized if plugin was disconnected from IDE when last shut down
  • SkookumScriptGenerator generates new &aka annotations
  • fixed hot loading issue with new project generated binding system
  • fixed memory leak when methods are invoked from Blueprint interface
  • brings available operands for RotationAngles up to parity with FRotator
  • also added existing FRotator to Vector3 conversion for convenience
  • removed some obsolete code

SkookumScript

  • new &aka annotation adds additional optional names to invokables that are used during symbol search in the IDE
  • changed name argument specifier to : from # to match bind, future Map literal and Swift
  • added clarification to invalid method error if called on a class and the method exists as an instance method
  • fixed bug in method/coroutine binding where user data was lost during reconstruction
  • fixed memory leak
  • added sanity check refcounting to SkClass in debug builds
  • added extra cleaning code to SkClass::clear_members()
  • fixed memory leak in SkClassUnion::merge_class()
  • added override keyword to overriding virtual functions to fix Clang warnings
  • fixed Clang compiler errors and warnings

AgogCore

  • added override keyword to overriding virtual functions
  • added move constructor
  • fixed bug in copy constructor
  • removed A_INT_AS_DIFF32 macro and replaced instances with simple cast to integer for (a) efficiency and (b) to fix Clang warnings on Mac

Get the new plugin from our GitHub repository or as a good old precompiled zip file for Epic Games Launcher users.

As usual, don’t hesitate to ask us for help if you encounter any issues!

Enjoy!!


Will "&aka annotation" work for autocomplete in future updates?
Dormant IDE Mode