Skip to content

Changelog

0.3.4.0

[BREAKING-CHANGE][REMOVED] Ikarus support for g2o client.
[BREAKING-CHANGE][REMOVED] <modification> tag from config.xml
[BREAKING-CHANGE][RENAMED] Client-side class Texture to Sprite.
[BREAKING-CHANGE][RENAMED] Client-side class Draw to Label.
[BREAKING-CHANGE][UPDATED] Label.text is now limited to 10000 characters due to introduced optimalization for text rendering (rendering text in one draw call, instead of calling draw call per each letter).
[BREAKING-CHANGE][REMOVED] Client-side class Draw3d, use Projector3d in conjuction with Label instead, you can also checkout examples/draw3d.nut from default server package.

[BREAKING-CHANGE][REMOVED] Support for arm server architecture, use arm64 instead.
[BREAKING-CHANGE][UPDATED] Linux binaries will now use GLIBC 2.36 (previous used version was 2.31).
[BREAKING-CHANGE][UPDATED] Linux binaries will now require at least OpenSSL 3.0.7 to be installed on the host system.

[BREAKING-CHANGE][UPDATED] Shared function setTimer might return null if you pass interval argument as negative value.

[FIXED] Issues with not shooting from ranged weapon by npc, when game for some reason didn't insert the munition to hand.
[FIXED] Music volume not being properly set initially (if music was muted, it could still be played after initial launch).
[FIXED] Client-side function readySpell now swaps the active spell for player/NPC already in magic weapon mode, instead of unnecessarily hiding and re-readying it.
[FIXED] Client-side event onSink not respecting eventValue.
[FIXED] Client-side function useClosestMobQueued triggering unnecessary onMobInterStartInteraction event.
[FIXED] Client-side function useClosestMobQueued not finishing action while ending interaction.

[ADDED] Client-side class Vertex2d.
[ADDED] Client-side field Vertex2d.pos.
[ADDED] Client-side field Vertex2d.uv.
[ADDED] Client-side field Vertex2d.color.
[ADDED] Client-side field Label.letterSpacing.
[ADDED] Client-side field Label.vertices.
[ADDED] Client-side field Label.linearFilterEnabled.
[ADDED] Client-side field Label.autoUpdateViewport.
[ADDED] Client-side field Label.viewportMin.
[ADDED] Client-side field Label.viewportMax.
[ADDED] Client-side field Label.alphaFunc.
[ADDED] Client-side method Label::getLetterColor.
[ADDED] Client-side method Label::setLetterColor.
[ADDED] Sprite.vertices is now limited to 60000 vertices.
[ADDED] Client-side field Sprite.vertices.
[ADDED] Client-side field Sprite.linearFilterEnabled.
[ADDED] Client-side field Sprite.autoUpdateViewport.
[ADDED] Client-side field Sprite.viewportMin.
[ADDED] Client-side field Sprite.viewportMax.
[ADDED] Client-side field Sprite.alphaFunc.
[ADDED] Client-side method Sprite::pushVertex.
[ADDED] Client-side method Sprite::pushVertexPx.
[ADDED] Client-side method Sprite::popVertex.
[ADDED] Client-side class Projector3d.
[ADDED] Client-side field Projector3d.position.
[ADDED] Client-side field Projector3d.distance.
[ADDED] Client-side field Projector3d.visible.
[ADDED] Client-side callbackProjector3d::onVisibilityChange.
[ADDED] Client-side callbackProjector3d::onUpdate.
[ADDED] Client-side class BinkPlayer.
[ADDED] Client-side field BinkPlayer.loop.
[ADDED] Client-side field BinkPlayer.paused.
[ADDED] Client-side field BinkPlayer.alphaSupported.
[ADDED] Client-side field BinkPlayer.volume.
[ADDED] Client-side field BinkPlayer.duration.
[ADDED] Client-side field BinkPlayer.remainingTime.
[ADDED] Client-side field BinkPlayer.currentTime.
[ADDED] Client-side method BinkPlayer::play.
[ADDED] Client-side method BinkPlayer::stop.
[ADDED] Client-side constant ALPHA_FUNC_MAT_DEFAULT.
[ADDED] Client-side constant ALPHA_FUNC_NONE.
[ADDED] Client-side constant ALPHA_FUNC_BLEND.
[ADDED] Client-side constant ALPHA_FUNC_ADD.
[ADDED] Client-side constant ALPHA_FUNC_SUB.
[ADDED] Client-side constant ALPHA_FUNC_MUL.
[ADDED] Client-side constant ALPHA_FUNC_MUL2.
[ADDED] Client-side constant ALPHA_FUNC_TEST.
[ADDED] Client-side constant ALPHA_FUNC_BLEND_TEST.

[FIXED] CEF module Fixed autofocus not being respected.
[FIXED] CEF module Disable keyboard event processing when any HTML UI control is focused.
[FIXED] CEF module Crash caused by out-of-bounds buffer write when resizing the texture buffer.
[ADDED] CEF module Browser.fps field.
[ADDED] CEF module Browser::getActive static method.
[ADDED] CEF module Browser::setActive static method.
[ADDED] CEF module JSPromise class.

[ADDED] Server-side munition field to Daedalus instance

[ADDED] Squirrel function tostring for converting values to string without calling _tostring metamethod.
[ADDED] <debug log_level="level"> optional attribute in config.xml for controlling which g2o logs should be displayed in debug client console & saved to log file.
[ADDED] <log_level>level</log_level> setting in config.xml for controlling which g2o logs should be displayed in server console & saved to log file.
[ADDED] Squirrel foreach is now able to iterate over instance fields.
[ADDED] Squirrel function dump for pretty printing object.

[UPDATED] Client console commands generate will now display a warning if server isn't launched with <debug>true</debug>.
[UPDATED] Printing Vec2 will now display it's values pretty formatted, instead of (instance : 0xDEADBEEF).
[UPDATED] Printing Vec2i will now display it's values pretty formatted, instead of (instance : 0xDEADBEEF).
[UPDATED] Printing Vec3 will now display it's values pretty formatted, instead of (instance : 0xDEADBEEF).
[UPDATED] Printing Vec4 will now display it's values pretty formatted, instead of (instance : 0xDEADBEEF).
[UPDATED] Printing Mat3 will now display it's values pretty formatted, instead of (instance : 0xDEADBEEF).
[UPDATED] Printing Mat4 will now display it's values pretty formatted, instead of (instance : 0xDEADBEEF).
[UPDATED] Printing Quat will now display it's values pretty formatted, instead of (instance : 0xDEADBEEF).
[UPDATED] Printing Color will now display it's values pretty formatted, instead of (instance : 0xDEADBEEF).

[UPDATED] Removed minimum interval 50ms limit from shared function setTimer.
[UPDATED] Event handler runtime errors will now display the script path and line where addEventHandler was being called instead of function name & address.
[UPDATED] Squirrel function error will now colorize the error message the same way as runtime error does.
[UPDATED] From now on importing empty .xml file will not prevent server from starting up.

0.3.4.1

[FIXED] Label not supporting line break via\n character.
[FIXED] Setting Sprite.rotation behaving incorrectly.
[FIXED] attackNpcMeleeQueued unnecesarily blocking attacking player due to extending collision range.

0.3.4.2

[FIXED] Client-side function equipItem not properly handling automatic spell slot assignment if slotId optional argument was not given.
[FIXED] Server-side function equipItem not properly handling automatic spell slot assignment if slotId optional argument was not given.
[FIXED] Client-side function useClosestMobQueued not stopping mob interaction properly.
[FIXED] Regression in autopatcher (it stopped working due to issues with cmake minizip-ng dependency).

0.3.4.3

[FIXED] Possible crashes in client npc action queue.
[FIXED] Client-side field Label.color not always updating all of the letters.
[FIXED] Client-side field Label.rotation not properly setting viewport.
[FIXED] Client-side field Sprite.rotation not properly setting viewport.

[ADDED] Client-side function getBloodMode.