Skip to content

Changelog

0.3.5.0

[BREAKING-CHANGE][UPDATED] Squirrel enum will use previous integer value incremented by one to assign next value.
[BREAKING-CHANGE][RENAMED] Server-side event onPlayerShoot to onPlayerShot.

[UPDATED] Removed banning players by nickname.

[ADDED] Client-side event onPlayerShot.
[ADDED] G2O Loader now supports loading dlls early from Game/Multiplayer/plugins/ subfolder.
[ADDED] Optional multiplayer parameter support --load-plugins.

[ADDED] Server --version argument support (for printing current server version).

[FIXED] Memory leak while pushing zengin objects to squirrel vm.
[FIXED] Visual FX invalid hierarchy due to bug in game code, which lead to crash.
[FIXED] Potential crash during scripts cleanup (due to improper cleanup order).
[FIXED] disableKey(KEY_CAPITAL, true) not disabling capslock key.
[FIXED] disableLogicalKey(GAME_SLOW, true) not disabling capslock key.
[FIXED] Ranged weapon projectiles not being spawned when remote player is shooting near us.
[FIXED] Bug where remote players could end up in an invalid animation state. Which sometimes caused sliding movement or missing animations.
[FIXED] Weapon trails not appearing when using attack-move while running.
[FIXED] Client-side event onAnim event not triggering for certain animations.
[FIXED] Collision issues while npc/player is interacting with MobInter and there are objects near it that could block the position change.
[FIXED] Client-side field Vob.cdStatic not preventing the game from re-enabling the collision.
[FIXED] Client-side field Vob.cdDynamic not preventing the game from re-enabling the collision.
[FIXED] Possible crashes when nullptr game objects were passed in to g2o events, now they will be properly passed as null squirrel type.
[FIXED] Client-side function readySpellQueued not working on hero character.
[FIXED] Falling animation after remote player/NPC was spawned.

[FIXED] CEF launcher crashes when using JSPromise::resolve with squirrel table.
[FIXED] CEF module game crash while hot reloading a script with focused/active Browser.
[FIXED] CEF module cef:// not being properly registered.
[FIXED] CEF module url spaces not being decoded for cef:// and vdfs:// protocols.
[FIXED] CEF module issue where, after activation, the browser cursor reported an invalid position until mouse was moved.
[FIXED] CEF module multiple popup issues where they failed to appear or displayed visual artifacts.
[FIXED] CEF module crashes triggered by window resizing.
[ADDED] CEF module onCursorChange callback for handling cursor changes.
[ADDED] CEF module CursorType constants for squirrel.
[ADDED] CEF module accelerated mode support for improved overall performance.

0.3.5.1

[FIXED] Game crash while focusing MobInter objects with name longer than 32 characters.

[ADDED] Server-side module prepending ./ path prefix if isn't present, so that modules can be loaded uniformly the same way on each platform.

0.3.5.2

[FIXED] Client-side event onPlayerShot always receiving arrow argument as null.

[FIXED] Direct Music VDFS support not working, due to too early patch application.
[FIXED] Prevented world mismatch when changing maps during player connection.
[FIXED] Added restoring played face animations on npc during npc model reload.

[FIXED] CEF module not emitting key down/up events for certain keyboard keys.

[FIXED] Squirrel function clock behaving differently across the platforms (returning different results), now the behaviour is the same.
[FIXED] Squirrel function dump causing crashes due to lack of ref incrementation while traversing through printed object.
[FIXED] Squirrel skipping certain members while iterating over class instance.

[ADDED] Squirrel operator classof.

[ADDED] Launcher DPI Scaling support (NOTE! you might need to restart the launcher if you change it at runtime).
[ADDED] Removal of utf-8 emoji characters from server hostname (this also affects getHostname function) and ingame prints.

[ADDED] Client-side event onPlayerHitVobMelee.

[ADDED] Client-side constant VOB_ANIMATE.
[ADDED] Client-side constant MATERIAL_GROUP_UNDEF.
[ADDED] Client-side constant MATERIAL_GROUP_METAL.
[ADDED] Client-side constant MATERIAL_GROUP_STONE.
[ADDED] Client-side constant MATERIAL_GROUP_WOOD.
[ADDED] Client-side constant MATERIAL_GROUP_EARTH.
[ADDED] Client-side constant MATERIAL_GROUP_WATER.
[ADDED] Client-side constant MATERIAL_GROUP_SNOW.
[ADDED] Client-side constant WAVE_ANI_MODE_NONE.
[ADDED] Client-side constant WAVE_ANI_MODE_GROUND_AMBIENT.
[ADDED] Client-side constant WAVE_ANI_MODE_GROUND.
[ADDED] Client-side constant WAVE_ANI_MODE_WALL_AMBIENT.
[ADDED] Client-side constant WAVE_ANI_MODE_WALL.
[ADDED] Client-side constant WAVE_ANI_MODE_ENV.
[ADDED] Client-side constant WAVE_ANI_MODE_AMBIENT.
[ADDED] Client-side constant WAVE_ANI_MODE_WIND.
[ADDED] Client-side constant FFT_NONE.
[ADDED] Client-side constant FFT_SLOW.
[ADDED] Client-side constant FFT_NORMAL.
[ADDED] Client-side constant FFT_FAST.
[ADDED] Client-side constant MATERIAL_USAGE_LEVEL.
[ADDED] Client-side constant MATERIAL_USAGE_OTHER.

[ADDED] Client-side class VobModelLimbColl.
[ADDED] Client-side field VobModelLimbColl.hitVob.
[ADDED] Client-side field VobModelLimbColl.approxCollisionPos.
[ADDED] Client-side class VobAnimate.
[ADDED] Client-side field VobAnimate.startOn.
[ADDED] Client-side field VobAnimate.isRunning.
[ADDED] Client-side class Polygon.
[ADDED] Client-side field Polygon.material.
[ADDED] Client-side field Polygon.portalPoly.
[ADDED] Client-side field Polygon.occluder.
[ADDED] Client-side field Polygon.sectorPoly.
[ADDED] Client-side field Polygon.mustRelight.
[ADDED] Client-side field Polygon.portalIndoorOutdoor.
[ADDED] Client-side field Polygon.ghostOccluder.
[ADDED] Client-side field Polygon.noDynLightNear.
[ADDED] Client-side field Polygon.sectorIndex.
[ADDED] Client-side class Material.
[ADDED] Client-side field Material.name.
[ADDED] Client-side field Material.texture.
[ADDED] Client-side field Material.color.
[ADDED] Client-side field Material.smoothAngle.
[ADDED] Client-side field Material.matGroup.
[ADDED] Client-side field Material.detailObjectVisualName.
[ADDED] Client-side field Material.kambient.
[ADDED] Client-side field Material.kdiffuse.
[ADDED] Client-side field Material.environmentalMappingStrength.
[ADDED] Client-side field Material.smooth.
[ADDED] Client-side field Material.dontUseLightmaps.
[ADDED] Client-side field Material.texAniMap.
[ADDED] Client-side field Material.lodDontCollapse.
[ADDED] Client-side field Material.noCollDet.
[ADDED] Client-side field Material.forceOccluder.
[ADDED] Client-side field Material.environmentalMapping.
[ADDED] Client-side field Material.polyListNeedsSort.
[ADDED] Client-side field Material.matUsage.
[ADDED] Client-side field Material.libFlag.
[ADDED] Client-side field Material.rndAlphaBlendFunc.
[ADDED] Client-side field Material.ignoreSun.
[ADDED] Client-side field Material.waveAniMode.
[ADDED] Client-side field Material.waveAniSpeed.
[ADDED] Client-side field Material.waveMaxAmplitude.
[ADDED] Client-side field Material.waveGridSize.
[ADDED] Client-side field Material.detailTextureScale.
[ADDED] Client-side field Material.detailTexture.
[ADDED] Client-side field Material.texAniMapDelta.
[ADDED] Client-side field Material.defaultMapping.
[ADDED] Client-side field Material.texScale.
[ADDED] Client-side field Material.matGroupString.
[ADDED] Client-side field Material.isPortal.
[ADDED] Client-side method Material::getTextureName.
[ADDED] Client-side static method Material::getMatGroupString.
[ADDED] Client-side static method Material::searchByName.
[ADDED] Client-side field TraceRayReport.poly.

[ADDED] Server-side method Packet::sendStreamed.

0.3.5.3

[FIXED] CEF module possible GPU adapter mismatch between game and cef launcher in accelerated mode.
[ADDED] CEF module support for squirrel blob instance type, that maps to JS ArrayBuffer.

[FIXED] Teleportation issues during animation play for scaled npcs.

[ADDED] Squirrel .toblob conversion method for default delegates.
[ADDED] Shared method Mat4::setScaling.
[ADDED] Client-side function getWaypoints.
[ADDED] Client-side method Vob::getScale.
[ADDED] Client-side method Vob::setScale.

0.3.5.4

[FIXED] Possible crash while manipulating Label on the screen with no vertices.
[FIXED] Possible crash while manipulating Sprite on the screen with no vertices.
[FIXED] Wrong addon hash calculation in server.

[FIXED] CEF module possible crash while passing instance to JS via Browser::call.

0.3.5.5

[UPDATED] CEF module squirrel instance will now be converted to js object instead of js Map.
[REMOVED] CEF module disableControls call when calling Browser:setActive.
[ADDED] CEF module automatic toggling of g2o events: onKeyDown, onKeyUp, onKeyInput via toggleEvent function, when html input element focus gets changed.

[UPDATED] Client-side function spawnNpc can now also be used with heroId.
[UPDATED] Client-side function unspawnNpc can now also be used with heroId.

[ADDED] Squirrel function runningthread.

[ADDED] Wildcard matching support for <script src=""/> attribute, e.g: <script src="*.nut" />.
[ADDED] Shared function isEventToggled.
[ADDED] Shared function wildcardMatch.
[ADDED] Client-side function getPlayerModelTimeScale.
[ADDED] Client-side function setPlayerModelTimeScale.

0.3.5.6

[FIXED] CEF module mouse drag incorrect behaviour (especially noticeable on <input type="range">.
[UPDATED] CEF module won't toggle onKeyDown & onKeyUp events (only onKeyInput will be toggled).
[ADDED] CEF module squirrel class conversion to js object.
[ADDED] CEF module whitelisting http://127.0.0.1:9222 address to connect to devtools directly.
[ADDED] CEF module Browser::getElementFocused static method.
[ADDED] CEF module Browser::onElementFocusChange callback.
[ADDED] CEF module Browser::getTableToMap static method.
[ADDED] CEF module Browser::setTableToMap static method.

[FIXED] Issues with rendering textures that are using RGB_565 image format.

[ADDED] Client-side method Material::setTexture.
[ADDED] Client-side field Camera.nearClipZ.
[ADDED] Client-side field Camera.farClipZ.