3.0.2234 Beta brings SkookumScript to your Android device!


#1

Watch out - beginning today, even Android devices are no longer safe from our bezerk robots!

SkookumDemo running on an nVidia Shield K1

New in this release

In a nutshell

  • Android support, yay! (ARM, ARM64, x86, x64)
  • Massive refactor with SkookumScript now source-level integrated into UE4 build system (for pro-licensees)
  • New DLL archtecture allows using SkookumScript in game DLL or any other DLL
  • Lots of small improvements such as better memory management, 4.11 compatibility, improved debug functionality

All the detail

Here’s everything we did since the last update (and more since coding is not all we do :-))

  1. Skookum UE4 Plugin
  • support for four Android platforms: ARM, ARM64, x86, x64
  • code tweaks to support Android platform
  • AgogCore and SkookumScript now build from source in UE4 using UE4 build system
  • AgogCore and SkookumScript now provide DLL linkage mechanism
  • changed initialization from static “back-linking” of “vals” structure to dynamic setting of app interface pointer
  • to allow this fundamentally and pervasively changed memory allocation mechanism from static/ad-hoc to controlled via initialize/deinitialize methods for each class
  • added code in numerous places to properly free objects
  • implemented DLL build architecture for standard edition
  • new DLL build targets in SkookumBinaries solution build DLL and import lib for SkookumScript & AgogCore
  • modified build/download system to switch based on DLL/monolithic build configuration, download DLL as well as lib
  • separation of SkookumScriptEditor module into functional and GUI component (created new editor plugin module for GUI functionality due to timing changes in latest UE4 engine code - so that the two editor plugins can be launched at different initialization times)
  • refactored project path determination code for (a) simplicity and (b) proper function in absence of SkookumIDE (e.g. on Mac)
  • fixed GUI icon folder path
  • added reserved words (random, rush, skip, split) so that no code uses them before the future commands are implemented
  • don’t look for default project file in cooked builds
  • ensured proper ref counting when UE4 result list is assigned back to Sk list instance
  • fixed SkInstance leak caused by missing dereference
  • fixed path error caused by back-porting of 4.11 changes
  • fixed bad path qualification if path is empty
  • fixed bad preprocessor switch
  • fixed improper loading phase for editor GUI module
  • added last minute initialization code if by the time the engine starts updating SkookumScript has not been initialized yet
  1. SkookumScript
  • added reserved words (random, rush, skip, split) so that no code uses them before the future commands are implemented
  • adjusted scripts so that none of these reserved words are used
  • fixed bad assert condition on 32-bit systems
  • tweaks to symbol binary loading code
  • fix invoked expression leak by sending full fail notification when clearing coroutines
  • added stale caller check for SkInvokedCoroutine::reset() due to branch
  • ensured that SkDebug::print_ide() still works when shutting down
  • removed a number of tests checking this for nullptr
  • added override to a number of virtual function declarations based on clang compiler errors
  • more consistent & robust recovery from errors
  • more tweaks to make clang happy
  1. AgogCore
  • added support for detecting Xcode debugger and debug printing to Xcode
  • set error level to internal on unimportant asserts
  • removed printfs from debug printing pipeline as they can cause crashing on Windows
  • refined assert message
  • auto-detect Android 64-bit architecture
  • Android endian switch based on __ARMEB__
  • streamlined Android debug printing
  • modified default ADebug::determine_choice() to cause a user break if during a debugging session
  • removed A_NOTE mechanism, replaced with $Revisit [A_NOTE]
  • merged minor tweak in tvOS settings back from 4.11 to 4.10
  • number of fixes & tweaks to get code to compile on OS X
  • bug fix in AMemory using wrong allocator
  • added set_app_info() function
  • moved AAppInfoCoreDefault into AgogCore.hpp so everyone can use it if they wish
  • tweaked app info class names
  • added ACallStack object for gathering a callstack anywhere in code (e.g. for debugging memory leaks)
  • leak debugging feature for AObjReusePool (adds callstack to each allocation and remembers in a linked list)
  • added DLL linkage macro A_API to support AgogCore living in a DLL
  • updated copyright notice
  1. Skookum IDE
  • crash fix for autocomplete
  • relaxed on_disconnect assert to allow disconnection after error when both socket pointers have been set to null
  • ensured that error dialog is not displayed when GUI system has shut down
  1. Under the hood
  • 15+ internal tweaks, fixes and improvements

How to get your hands on it

If you are signed up for our closed beta, simply click here for further download instructions. If you are not signed up yet, join our closed beta now!

And of course, if you want to try out SkookumScript without having to install Unreal Engine first, get our latest greatest standalone demo from our public download page.

Again, please tell us (on this forum) if you encounter any glitches or have trouble setting up or running this update!

Enjoy!