github ZQuestClassic/ZQuestClassic 2.55.2

Features

Editor

  • 'Notes' per-screen for editor use 4ed3e71bc
  • ffc editor now previews large ffcs 20ba0bc09

Bug Fixes

  • Improve dropdown numerical search e9e127f73
  • update 'default.qst' aa948b117
     

    Several default subscreen fixes (some by P-Tux7, some by myself)

  • reduce sfx buffer to decrease lag caused by e7c214e ef8ce36a9
  • removed flag that was breaking mod playback b7ac0c6a8

Player

  • hardcode 120 for zscript alpha register 80b70b43f
     

    This fixes some quests that only look at the alpha version and, seeing it was now 0 presented an error message to the user.

  • 'delete' within a destructor being buggy 3c86a76b8
  • 'Spotlight' combos on changer/ethereal ffcs still shooting light c04ea1ba6
  • fix buggy color flickering on big player sprites bb644e0c8
  • some variables being improperly reset on 'Continue' 489e32212

Editor

  • 'View Map' favorite command skipping menu 0a21ba8ff
  • avoid overwriting screen bookmarks on quest load d1386ba10
  • 'Gen Flags' being missing from combo advanced paste a50934b68
  • Crash in ZInfo menu if descriptions are long cef01b5c1
  • crash on reducing map count ba8f2dfd5
  • warp dialog selector mishandling negative dmap offsets 19917e9f7
  • upgrade tile+combo 'move' code, more things now update on moving tiles/combos 6aae56ece
     

    Also fixes some issues with 'undo'ing moves, and adds Combo Protection for in-use combos.

ZScript Standard Library (std.zh)

  • update to remove use of 'deprecated' functions/vars 61cccce71
  • 'TRIGFLAG_' constants were off-by-one at a certain point in the list f2fc4df01

ZScript

  • some array-related functions breaking for arrays >65535 in size 9c5d9aed4
  • class variables not shadowing global vars properly 8d7658367
  • some wrong error messages related to mapdata FFC access 9909f5c1b
  • disallow casting custom objects to unrelated types 8a48221a9
     

    A bug in type conversion allowed this code to compile:

    Object obj = new Object();
    int number = obj;
    int numbers[] = {obj};

    The above code now produces a compiler error.

  • handful of zasm commands using wrong name 960da1145
  • handful of zasm commands using wrong name 40537d3ab
  • Trace(string) using wrong register d845df6a8
  • wrong names for zasm npc InitD and item WeaponHitWidth 324d86cac
  • various symbols with broken compiler output 982ec4d75
     
    • npc->Attack()
    • npc->CanSlide()
    • npc->ConstantWalk(int[])
    • npc->ConstantWalk8(int[])
    • npc->FloatingWalk(int[])
    • npc->HaltingWalk(int[])
    • npc->HaltingWalk8(int[])
    • npc->isDead()
    • npc->NewDir8(int[])
    • npc->Remove()
    • npc->Slide()
    • npc->StopBGSFX()
    • npc->VariableWalk(int[])
    • npc->VariableWalk8(int[])
    • Trace(char32[])
  • remove some unimplemented symbols and correct some types fd4e4b434

Documentation

ZScript

  • add documentation regarding 'Hero->Warp()' and its return square b90683ccb

Refactors

ZScript

  • better 'read-only' compile warnings a58cf4f05
  • deprecate many getters/setters, replace with variables 7a20dab49
     

    ~40 built-in methods exist in this style:

    int Max(); // Returns the max.
    void Max(int value); // Sets the max.
    int GetCurDMapScreen();

    These have been deprecated and replaced with a variable, like so:

    int Max; // The max number.
    int CurDMapScreen;
    

Tests

  • add tests for read-only vars and deprecation d8d56745e

Misc.

Don't miss a new ZQuestClassic release

NewReleases is sending notifications on new releases.