View a summary of what's new in 2.55.
Features
- show bottom 8 pixels
acd97ba42
The bottom 8 pixels of the screen has always been hidden. This was considered to be a universally bad thing, so they are now visible. A compat quest rule is added to control this behavior.
When the bottom 8 pixels are enabled, active subscreens are still just 168 pixels tall. Instead, active subscreens travel an extra 8 pixels when opened.
ZC Player has a setting to configure this too. By default, it defers to the QR as defined in the quest, but users can override this.
Player
- option to disable transparent darkrooms stacking multiple transparent layers
d188ece0e
Editor
- 'Reference Tiles'
42197305c
In the tile pages, 'RClick->Set as Reference'. This tile will now display on the left-hand side while editing any other tile, as a reference.
ZScript
- Allow '_' to be used as a spacer in numbers
71a1233f9
Ex. 100_000 == 100000, 2_147_483_647L = 2147483647L, 0b10_10_10_10 == 0b10101010
- add
Game->HeroScreen
cfdfc4f76
In 2.55, this is always equal to
Game->CurScreen
. In 3.0, this updates as the player moves around. Added to 2.55 for script compatability. - add
Screen->Index
136e14652
In 2.55, this is always equal to
Game->CurScreen
. In 3.0 scrolling regions, the value of this varies depending on the context (for example, an npc script will have this set to the screen the enemy spawned on). - add
itemdata::FlashCSet
, improveitemdata::CSet
7b9ed5505
itemdata::CSet
contained both the normal and flash csets, and required bitwise operations to access. It also didn't allow for setting the flash cset. Now,itemdata::CSet
is only for the normal cset, and the flash cset uses the newitemdata::FlashCSet
. - add
Viewport
4f709c1a7
This global represents the currently visible playing field. In 2.55, this is all read-only and only changes during scroll transitions. In 3.0, the visible viewport can be modified by scripts, and updates as the player moves around a scrolling region.
- add
Screen->DrawOrigin
4a1cf781c
Determines how coordinates given to Screen drawing functions are interpreted. For more, see: https://docs.zquestclassic.com/zscript/globals/screen#globals-screen-var-draworigin
- more value range types (.., =.., ..=, =..=)
7caa8a09a
- add
ComboAdjust
for getting combo position offset by some pixels799c50086
Bug Fixes
- System menu mouse responsiveness
c87cc947f
Holding left-click and dragging across menus now allows going through multiple 'submenus' at once, including going back up to clicked-on parent menus. These were features of the old menu system, which were lost during the system upgrade.
- prevent crash when loading midi with 32 tracks
b1094de6d
- actually fix loading tile data for old 1.90 quests
17d5fb84c
2.55.7 (commit be55516) attempted to fix this, but used the wrong path to the classic quest. This commit fixes the path, but uses a new qst file with only the tile data (since classic_1st.qst is going to be removed).
See: https://discord.com/channels/876899628556091432/1289597114594103378
Player
- 'Platform' ffcs teleporting the player as the screen loads
93a5429a8
- Game time shows in-game, even when you've 'cheated'
0578ac021
- show hero position in minimap for most special screens
08f27d9c9
In the original Zelda, the dot in the minimap rendered even in special screens, except for dungeon passageways. ZC was never rendering for any special screens. Now, even item cellar / guy special rooms will render the dot on the screen the player came from.
- update dmap charted state more reliably
7ee836aed
- fix bad memory access when checking for sword tap
2895858aa
- prevent OOB related to bridges in
HeroClass::checkchest
79b897537
- prevent many crashes related to sprite list being full
e4cd9b3af
- off-by-one error in y-position world bounds for a few hero attacks
Relevant changes:
- fix(zc): more off-by-one errors
73d8493c7
- fix(zc): more off-by-one errors
- F5 map snapshot works again
00824cc75
- some collision issues related to 4-way movement with no-gridlock enabled.
acc401cc9
- broken 'Z_Eventlog
output related to ExStates [
13f619b80`](https://github.com/ZQuestClassic/ZQuestClassic/commit/13f619b80794145aa36ddfeacb9cbf9eeef5cd0f) - prevent crash when loading save files from 3.0
b9f3f3184
Editor
- lockblock/chest combo wizard bad field for counter amount
52a0b3d9d
- Mixed weapon listers now show 'E ' before enemy weapons
12a65f01f
Previously, they would, ex., list 'Magic' twice, once for the lweapon and once for the eweapon. This changes it to list 'Magic' and 'E Magic' separately. This does NOT change listers showing only eweapons, such as the enemy editor's attack field.
- 'BtnCounter' subscreen widget ui was crunched
535f42a6c
ZScript Standard Library (std.zh)
- wrap angle in
AngleDir4
andAngleDir8
679ac99f4
ZScript
- keep modifications made during last frames before scrolling
b481d37f2
When scrolling between screens, scripts can run for a few frames just before scrolling begins, but modifications to the temporary screen were not persisting during the actual scroll.
- prevent many out-of-bounds reads/writes
d249a6bc3
- use correct upper limit when setting itemdata Tile
5a1f6d425
- properly revert scope when processing class
f2ec202d7
Refactors
- remove classic NES quests from release package
978bc85b3
Player
- show play time even when recording a replay
3cb36f31d
Editor
- better error messages related to loading enhanced music files
199c902a5
- drop "Load Tileset" and consolidate loading tilesets via File>New
8f83d0370
Tests
- add nargads_trail_crystal_crusades/ffc_carryover.zplay
bfc0ee182
- add freeform_shutters.zplay
e6ddc2633