-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
7812 lines (5554 loc) · 512 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
ChangeLog for 2.53.1
//Beta 56
Correct scaling for 256 increments of resx.
Allow resx of 256 for CRTs.
( ZoriaRPG, 18th march, 2021 )
//Beta 55
Updated allegro to v4.4.4
Added a special colour (teal) to water combos when drowning is off
when viewing combo solidity.
( ZoriaRPG, 16th October, 2020 )
//Beta 54
Fix Linux Console
( ZoriaRPG, 19th September, 2020 )
//Beta 53
<Classic.zh 1.13> Fixed an identifier error that prevented compiling.
( ZoriaRPG, 6th September, 2020 )
Add forced NULL terminator to pointers passed to TraceS(),
to prevent crashes in the event that the user passes
an ZScript client array w/o a NULL terminator.
( ZoriaRPG, 6th September, 2020 )
Added 'Snap to Grid' to FFC Right Click contextual menu.
( ZoriaRPG, 5th September, 2020 )
Raised max deaths count from 999 to 65535.
Requested by zcfan27330 on AGN as he hit 999 deaths in Gleeok's 6th.
( ZoriaRPG, 4th September, 2020 )
//Beta 52
Added Quest->Rules->Pick Ruleset to ZQ menus.
( ZoriaRPG, 2nd September, 2020 )
Updated classic.zh to v 1.12. The 'ChangeRoomGuy' script now
ignores NPC_FIRE.
( ZoriaRPG, 14th August, 2020 )
<std 1.5013>
Added sanity guard on SetLayerCombo/GetLayerCombo functions.
These now check to ensure that the layer is configured.
( ZoriaRPG, 7th August, 2020 )
Rewrote the MIDI Patch Fix to work properly on modern (Post-XP) Windows.
( ZoriaRPG, 2nd August, 2020 )
Added Fullsceen confirmation warning, backported from 2.55.
( ZoriaRPG, 25th July, 2020 )
Fixed error messages for invald GOTO type instructions.
( ZoriaRPG, 9th July, 2020 )
Fixed possible crash on invalid gotos from logging args order.
( ZoriaRPG, 7th July, 2020 )
Epilepsy Protection is now set when you launch a NEW INSTALL of ZC,
immediately prior to loaing the player interface.
If the zc.cfg value 'checked_epilepsy' is not present, or is set
to '0', then ZC will ask the user if they want this enabled
and set this config value so that it is not re-checked:
1. If there is no valid .sav file, then this will appear prior
to the .sa file creation dialogue.
2. If a .sav file exists, this will occur prior to the title
screen, if the config int 'checked_epilepsy' is not present
or is set to 0 in zc.cfg.
3. If 'checked_epilepsy' is in zc.cfg and is set to '1', then
this dilogue will not open, and the user's epilepsy protection
settings are used as normal.
4. The dialogue defaults to NO.
Reduced the amplitude of screen wave effects when epilepsy protection is enabled.
( ZoriaRPG, 17th June, 2020 )
Added a ZQE hotkey for '?' that opens the version info display.
( ZoriaRPG, 13th June, 2020 )
Added an emulation flag '2.10 Hammer Upward Reach' that extends
the vertical reach of the Hamer weapon by four pixels
when the player is facing up.
This is automatically enabled for 2.10 and earlier quests.
( ZoriaRPG, 12th June, 2020 )
Implemented a request from ShadowTiger, whereby when you edit a
DMap, and select a map tile, when you go to edit further
DMap map tiles within the same session, the DMap editor will
remember the last tile that you used.
This will clear on loading any quest, but it remains static
while working on a quest in memory, updating each time that
the user selects a different tile in this editor.
( ZoriaRPG, 11th June, 2020 )
Header Guard for the ZScript compiler is now defaulted to off.
Added the following configs to ZQuest:
PreFillTileEditorPage = (0|1)
If set to 1, the page field of the Goto Page dialogue in
the Tile Editor will be populated with the current page.
If set to 0, the page field of the Goto Page dialogue in
the Tile Editor will be populated '0', as was always
the case in the past.
If unset, the default value for this config is '0'.
PreFillComboEditorPage = (0|1)
If set to 1, the page field of the Goto Page dialogue in
the Combo Page Editor will be populated with the current page,
as was always the case in the past..
If set to 0, the page field of the Goto Page dialogue in
the Combo Page Editor will be populated '0', like the prior
behaviour of the Tile Editor's Goto Page function.
If unset, the default value for this config is '0'.
PreFillMapTilePage = (0|1)
Reserved for a feature request regarding the DMap Editor, when setting
Map Tile values for DMaps.
The desired outcome is that, if set to '1', that the DMap editor will
memorise the last used tile page when selecting Map Tiles.
The internal ZQE global variable 'DMapEditorLastMaptileUsed' is
reserved for this purpose.
( ZoriaRPG, 10th June, 2020 )
Don't allow taking ZC GUI snapshot, with menu open, with wonky colours.
Use only the tre screen colour with shaded effect.
ZC GUI snapshot (Shift+F12) uses correct ame colours, as long as the
menu isn't active.
Added a way to detect if the system menu is open (bool MenuOpen).
This is enabled and disabled exclusively in System() and
writing to it elsewhere is **unefined**.
In theory, alt+tab could call System() to force-pause ZC Player,
but win32.cpp cannot access System() during its callbacks.
Allow taking a screenshot in ZC that shows the subscreen area
when the NOSUBSCREEN flag is enabled, by holding the
ALT key when taking the snapshot.
Preserve the quest colours when taking a GUI snapshot in ZC Player
unless the user holds the CONTROL key when taking the snapshot.
Fixed a crash reported by ywkls,that when trying to use the
tile grabber on .qst and .qsu files, where the tile
grabber would allow the user to scroll outside the
bounds of the .qst tile buffer.
It is now clamped to MAXTILEROWS.
( ZoriaRPG, 6th June, 2020 )
//Beta 51
Te old water emulation flag is now enabled whenever loading a quest
oolder than 2.50.
( ZoriaRPG, 4th June, 2020 )
Added 'Old 2.10 Water' emulation to ZC Player.
This is intended as a patch for old 2.10 quests that have
very-specific water combo placement where you are expected
to use the ladder (while you have the flippers), but the flippers
engage.
( ZoriaRPG, 26th May, 2020 )
//Beta 50
Try to properly initialise directItem and directItemA.
( ZoriaRPG, 23rd May, 2020 )
//Beta 49
Slight changes to the directItem init when loading quests, that
now checks if the prior quest was a B+A subscreen type.
( ZoriaRPG, 23rd May, 2020 )
//Beta 48
Fixed a memory leak when compiling scripts and exiting out of
the assign scripts dialogue with Cancel.
( ZoriaRPG, 16th May, 2020 )
//Beta 47
Added sanity guard to inline bool get_item(int id).
( ZoriaRPG, 12th May, 2020 )
//Beta 46
Fixed possible crash and bad error message for Screen->Combo[] errors.
//Beta 45
Slight timing fix to directItemA, for B-only quests.
( ZoriaRPG, 30th April, 2020 )
//Beta 44
You can now press C in the Tile Editor to copy a tile, then
select a range of tiles and press F to FLOODFILL paste the copied
tile to every position.
In the Tile Editor, electing multiple tiles, pressing C,
then selecting multiple tiles and pressing O will now overlay
the copied selection tot he dest selection, triming overflow.
Mass Overlay now works properly, overlaying to each tile space, rather
than overlaying to the first tile and copying the result of that
overlay to the remaining spaces.
//Beta 43
Make default cheat modkeys SHIFT, not CTL+SHIFT.
( ZoriaRPG, 26th April, 2020 )
//Beta 42: The Meaning of Life, the Universe, and Everything.
Added a new Quest Report type: Bugged Next-> Combos.
This will scan a quest for any Next-> combo type that also has a secret
flag on it, and report that this may be erroneous. (It is legal to
place these flags, but they must be EXTERNALLY triggered. They no
longer trigger when the Next-> combo is activated.)
Added extra sanity guards and reports to Link->Warp, PitWarp, and WarpEx.
( ZoriaRPG, 22nd April, 2020 )
//Beta 41
Intermediate changes included in the 40 and 42 sections to do with Quest Reports.
//Beta 40
Fixed a bug where finishing a custom quest advanted to 1st.qst.
Added Game->IncrementQuest().
Backported Rob's fixes for abc list size from 2.55.
( ZoriaRPG, 19th April, 2020 )
//Beta 39
Backported the Linux console from 2.55 to 2.53.1.
( ZoriaRPG, 19th April, 2020 )
//Beta 38
Fixed the initialisation of forced_awpn and forced_bwpn on firstplay.
Fixed a bug where exiting a quest with an A+B subscreen, and starting
to play a B-only subscreen quest preventing using the A-item.
( ZoriaRPG, 19th April, 2020 )
//Beta 37
Clear forced_wpn if setting an item slot from the real subscreen.
If the user config for ZC Player speifies a custom SAVEFILE
filename, and that file is absent, create it. (Don't try creating
a .sav with a different filename!)
Values set when writing Link->Equipment now write to
gamedata->forced_awpn and gamedata->forced_bwpn.
These values are saved with the quest, and restored on load, so
that the items set to the A/B slots remain corret.
Witing -1 to an item with Link-Equipment sets gamedata->fored_
to -1, and if the gamedata strut value is -1, then nothing
special happens.
If the values of these gamedata (signed short) variables != -1,
then calls to update A/B weapon (speific to the non -1 value)
return early.
If a forced item is removed from inventory (with a script, or with
a string), then its forced value is set to -1.
( ZoriaRPG, 25th March, 2020 )
//Beta 36
Backport ZQ Minimap Enhancements from 2.55
Backported non-rect minimap frame from 2.55.
Backport ZQuest ABCList Options in Settings Dialogue from 2.55
Backport all JWin Enhancements to this date and time from 2.55.
( ZoriaRPG, 23rd March, 2020 )
Backported updates to JWin abclist procs.
( Venrob, 23rd March, 2020 )
Fix crash in filelisters and optimise abclist_proc.
( ZoriaRPG, 22nd March, 2020 )
Fix backslash in IMPORTSTRING
( Venrob, 22nd March, 2020 )
No-matter what colour you set as trans, the unused tile spots in
the tile editor are now always black with a grey X. They no longer
use the colour assigned to the 0th index of their cset.
InvalidStatic mode is unchanged.
ZVersion 0.7.3: Fixed missing lessthan token.
Sort lowest match in ABC List Search and jump to it, not highest.
You can now type more than one character in any alphabetic
droplist, including file listers. You can press backspace to change
the current text, and the search term is displayed on the dialogue UI
panel.
Prior to this change, if the user were to set the 'Use Pal CSet'
tickbox in the Enemy Editor, they could not un-set it without mucking
about with the CSet on the tile. This change fixes this issue, and
un-ticking the box will now revert rhe CSet of the enemy from '14' to '8'.
( ZoriaRPG, 20th March, 2020 )
The emulation option for Old / Bugged Bush->Next+Flag is on by default for 2.50.3 or earlier.
( ZoriaRPG, 19th March, 2020 )
Add H, S, L Hotkeys (Shift or Control) to Colour Picker
Fix include paths ordering grabbing incorrect files.
File: Unimplemented AST Expressions
( ZoriaRPG, 9th March, 2020 )
File: Import/Export Hero Sprites
( ZoriaRPG, 6th March, 2020 )
Updated cset.txt
( ZoriaRPG, 5th March, 2020 )
Optimize arithmetic in 2.53 parser
( Venrob, 4th March, 2020 )
Optimize comparisons to '0' in 2.53 parser
( Venrob, 3rd March, 2020 )
Updated ZScript.txt
Update Linux Build Requirements List
Added additional PC < 0 check.
Prevent crash, and log issue, on ZASM overflow.
( ZoriaRPG, 2nd March, 2020 )
We now have a viable Linux build environment and preliminary 2.53.1 Linux builds thanks to the trio of
Peter Hull, roracle, and ZoriaRPG. Teamwork.
//Beta 35
Added the .zdoors file type.
Added Import Doorsets: You can set a desired first destination,
first source, and count fro the first source. This will load
doorsets starting at src, ending at src+count, to dest, ending at
dest+count-1.
Overflow beyond the current doorcount is skipped, displaying
a dialogue that it overflowed.
Added Export Doorsets: You can specify a starting doorset, and a
count (min 1), exporting doorset 'first' through 'first+count-1'.
Added a contextual menu to the Edit Door Set list dialogue with
the options 'Save' and 'Load'.
Saving will save that doorset only; while loading loads
the first doorset from a .zdoors file to the selected index
of the lister.
( ZoriaRPG, 2nd March, 2020 )
Fixed crashes with long filenames overflowing the char buffers[]
on some save and load routines.
( ZoriaRPG, 1st March, 2020 )
Fixed issues compiling on Linux/g++.
( ZoriaRPG, roracle, 27th February, 2020 )
//Beta 34
Fixed a crash when using header guards and also declaring
constants in the buffer.
( ZoriaRPG, 16th February, 2020 )
//Beta 33
Disable anti-cheating memory nobfustification to see if it
is the cause of virus scanner red flags.
Added ASCII Art Logo to Console
Quest [METADATA] is now shown in the console, and I added
logging for older formats (back to 1.80) along with build, gamma,
and beta metadata, as much as possible with known variables and the
available source allows.
Added zprint2(). This ALWAYS prints, with no regard to log level settings, to
be used for critical metadata displays and special system messages
such as holiday greetings (e.g. terminal motd).
Added colour console andzprint to Zuest to matchh 2.55.
Added byte __isZQuest to both programmes.
If the editor is running, it has a value of 1, otherwise 0, so that
shared functionscan reference this to know which of the two components
is calling the function.
( ZoriaRPG, 15th February, 2020 )
//Beta 32
Added Link->Eaten, backported from 2.55.
Init Bwpn andAwpn to 0 on start and on game select.
Added sanity bounds and error logging to Screen->Combo*[pos].
Assigning an illegal alue, or accessing an inalid
index will now generate errors instead of crashing ZC.
( ZoriaRPG, 12th February, 2020 )
//Beta 31
Probably fixed clash between tile warp and warp ring dialogues.
( ZoriaRPG, 6th February, 2020 )
//Beta 30
Added fire/animation to the new AGN logo. It's done. Please...No more.
( ZoriaRPG, 4th February, 2020 )
//Beta 29
Added new splash logo theme, by stk13, resequenced into a shorter loop.
( ZoriaRPG, 4th February, 2020 )
Packaged nom-UPD'd bins; added UPX'd bins to ./upx
Fixed title screen copyright years. They are now automated at compilation.
Added new AGN Splash Screen and Audio
( ZoriaRPG, 3rd February, 2020 )
//Beta 28
Fixed vine tiles in story scroll; updated qst.dat.
( ZoriaRPG, 1st February, 2020 )
//Beta 27
Disabled a trace on dustpile creation.
( ZoriaRPG, 30th January, 2020 )
All roomtypes now allow a 'Generic Catchall' set via the menus.
( ZoriaRPG, 27th January, 2020 )
//Beta 26
The Item 2 and Item 3 counters of subscreen objects are intended
to stack with counter 0, but someone disabled that to prevent stacking
values with Life at all times.
I corrected the issue by making '0' for item2 and item3 an ignored
field.
Further, if item 2 == item 1, or item 3 == either item1 or item 2,
then they will not stack. This will prevent having all
three at the same ID from tripling, or two or more of the same
ID from doubling the true count.
Quests saed in versions < 2.53.1 ignore this.
( ZoriaRPG, 26th January, 2020 )
Fixed an unintentional fallthrough in switch(itemtype) inside subscr.cpp
where there is a missing break instruction after all script cases.
Should someone have added anything after those, then script counters
would fall through to the newly added counter.
( ZoriaRPG, 26th January, 2020 )
//Beta 25
Experimentally Allow setting all item pickup flags. None are blocked.
Unblocked some item pickup flags in ffscript.cpp, that were
blocked--probably by L or Joe123?--until it causes some old quest
to break.
In quests last saved in 2.50.x Build 32 or lower, it remains blocked.
( ZoriaRPG, 21st January, 2020 )
//Beta 24
Reset combo anims before importing or exporting .ZCOMBO files
as otherwise they will be corrupted by offsets.
( ZoriaRPG, 19th January, 2020 )
Make ZASM errors for scommand printf format %lu, not %ld.
Fixed the DMap Selection window not drawing a preview or other data.
The array passed to dlg->dp3 was passing invalid data, but it is hardcoded
to specific values, so I coded it into the function as
nothing else uses this jwin proc type.
( ZoriaRPG, 18th January 2020 )
//Beta 23
Made header guards strict to the filename, instead of the
quotedstring. They are still case-insensitive.
Disabled compiler import/include logging. Re-enable by setting LOGLEVEL
to '1' in ffscript.ypp.
( ZoriaRPG, 16th January, 2020 )
//Beta 22
Updated ghost.zh to v2.8.8
Correct std.zh file date.
<std> 1.5011 : Add missing remchr(ptr) to string.zh.
Also removed 'string' as identifiers; replacing it with 'ptr'.
( ZoriaRPG, 12th January, 2020 )
Updated year to 2020 for copyright and file dates.
Added IsValidArray(int) to ZScript + Docs
TheRandoHmeader is now in ./headers, updated to v2.1, optimised for 2.53.1
( ZoriaRPG, 10th January, 2020 )
Add TheRandomHeader, Optimised for 2.53.x to ./headers
( ZoriaRPG, 9th January, 2020 )
//Beta 21
nly set map flag mTMPNORET for traps if it is not already set
on the current screen. This prevents logging slowdown from setting
it every frame.
For some reason, D_REFRESH isn't occurring on the first time
that the user sets a KB button. This circumvents text errors
by padding both key strings and key/button integers.
( ZoriaRPG, 4th January, 2020 )
Decimal map number was too large to fit in small mode. Removed.
( Venrob, 3rd January, 2020 )
std.zh Version 1.5010
Fix a sanity check in float Distance(int x1, int y1, int x2, int y2, int scale)
Convert import to #include for 2.53.1
Old format is in std_imports for legacy versions.
( ZoriaRPG, 2nd January, 2020 )
Report script exiting on command 0xFFFF.
( ZoriaRPG, 28th December, 2019 )
//Beta 20
The #include directive now scans all include paths first, root last,
while the import directive scans root first; to match 2.55.
( ZoriaRPG, 23rd December, 2019 )
//Beta 19
Fixed animation type on Daira enemy in qst.dat.
Fix line numbers being literal, not *10000. They need to be *10000
in 2.53.1.
Optimised ZScript compiler function calls to use PUSHV, instead of SETV, then PUSHR.
Added OPushImmediate opcode to the parser.
Added an emulation flag for buggy ->Next combo behaviour.
Fixed the issue reported by Matthew, where a Slash->Next combo
that transformed into a Step->Secrets combo would immediately transform
into the secret combo of the step combo, without being stepped upon,
immediately after being slashed.
( ZoriaRPG, 17th December, 2019 )
//Beta 18
Fix and clean up Compiler dialoge.
Added Menu: Tools->ZQuest Settings->Compiler, with option to set
header guard value.
Note how to cause header guards to match the filename instead of quotedstrings.
Make header guard tokens case-insensitive.
Added zquest.cfg option HEADER_GUARD. At present, this matches
the full quoted string, but should we ever want to match the
filename only, I added a note in ffscript.ypp, line 680
on how to revert to doing that.
( ZoriaRPG, 10th December, 2019 )
Fixed illegal ternary token error on ':'
( ZoriaRPG, 8th December, 2019 )
//Beta 17
Fixed a possible crash when saving MIDI files from ZC Player.
( ZoriaRPG, 8th December, 2019 )
//Beta 16
Clear the panel recent screen buttons when creating a new quest.
Clear the panel recent screen buttons to prevent crashes from invalid maps.
( ZoriaRPG, 26th November, 2019 )
ZQ now displays the decimal value of a screen number in parentheses
next to the hex value in ZQ.
( Venrob, 26th November, 2019 )
ZScript Dialogue: Import is now Load (hotkey 'L'), to match 2.55.
( ZoriaRPG, 25th November, 2019 )
//Beta 15
Display colour in tile editor as hex.
( Venrob, 24th November, 2019 )
//Beta 14
Changed menu entry 'The Travels of Link' to 'Ambient Music'.
Fixed ambient and boss sounds being killed when using potions.
The prior fix did not work.
Fix Memory Leak from Mirrors: This commit should remove a memory leak when
reflecting weapons off of mirrors caused by creating a new weapon,
then not using it.
Notably:
weapon *w = new weapon(*this);
if ( a ) { Lwpns.add(w); } // Safe, because the sprite_list will destroy it.
else w = this;
// Memory leak happens here, because the weapon we added to the heap above
// isn't added to sprite_list. It is a dangling piece on the heap.
Changed to:
weapon *w = NULL;
if ( a )
{
w = new weapon(*this);
Lwpns.add(w); // This should have the same effect as above, but
// the weapon is not being allocated to the heap,
// UNTIL it is NEEDED.
}
else w = this; // Now, we assign the NULL pointer to *this.
// Thus, no heap allocation occurs.
Fix: Potion Kills Ambient SFX
This fix should pause sfx when refilling (potion, magic, hearts
or both, including from refill combos; then resume them when the potion
effect ends, matching the NES behaviour.
( ZoriaRPG, 20th November, 2019 )
Added zc.cfg section [ZSCRIPT] with config int ZASM_Hangcount.
This is used in place of the hardcoded number of instructions to
wait, ere checking quit keys. It defaults to 1000.
Check for hangs every 1000 ZScript instructions, instead of 100,000.
( ZoriaRPG, 19th November, 2019 )
//Beta 13
Added Strings Help to the Help submenu.
Changed 'ZQuest Editor Help' to 'Editor Help'.
Edited the item help info for shields to reference ZQ Shield Help
instead of the ZC.com Wiki.
Changed 'Shield Block Flags' in the Help submenu to 'Shield Help'.
Allow zstrings.txt to be in root or in ./docs
Changed the menu entry for ZQuest>>>Help to a 'Help' submenu.
Added ZQuest Help, Shield Block Flag Help, and ZScript Help to
the new submenu. These require zquest.txt, shield_block_flags.txt,
and zscript.txt, respectively.
( ZoriaRPG, 17th November, 2019 )
Added 'skip_layer_warning' config int, under '[zquest]'
If non-zero, the warning message when trying to place flags
on layers they don't work on, is not displayed. This is helpful
for scripts which read flags off of layers.
Changed the level palette editor, so that it starts with the
palette of the current screen selected, instead of
level palette 0.
( Venrob, 16th November, 2019 )
Fixed the error messages for Screen->LoadItem, LoadNPC, LoadLWeapom
and load EWeapon to return a 1-indexed value.
( ZoriaRPG, 15th November, 2019 )
//Beta 12
Because 'particle' and 'decoration' are potentially already common
identifiers in scripts, I have reversed the reservation of these
tokens, changing them to 'decorationsprite' and 'particlesprite'.
We can add user typedefs to <std> if we want, later, to shorten
the datatype to something like 'particles' or 'deco'.
( ZoriaRPG, 13th November, 2019 )
Reserved 'particle' and 'decoration' as datatypes.
( ZoriaRPG, 12th November, 2019 )
//Beta 11
Updated qst.dat so that the script buffer uses '#include', not 'import'.
Classic.zh: v1.12. Use '#include', not 'import'.
( ZoriaRPG, 9th November, 2019 )
Fixed instability and improper offsets from Import/Export tiles.
( ZoriaRPG, 8th November, 2019 )
Fixed the .cfg file to read monochrome_debuggers = 1 under [CONSOLE]
Add zc.cfg value monochrome_debuggers = 1 to display the new
ZScript Debugger in monochrome (white).
Added a menu option in ZC Player under Game to toggle the
Windows MIDI patch.
MIDI patch now defaults to 1 if you don't have it in your zc.cfg.
Added additional include paths:
./include
./headers
./scripts
When #including or importing a file, the parser
will not scan root first, then scan (in order) include, headers, and scripts.
It will error only if the file is not in any of these
paths, and it will select the first instance of the file
that it finds.
Thus, if you have foo.zh in both ./include and in ./headers,
the parser will select the file in ./include.
( ZoriaRPG, 7th November, 2019 )
//Beta 10
Fixed quest templates so that when creating a new quest, qr_LOG is on by default,
and needlessly updated qst.dat.
( ZoriaRPG, 5th November, 2019 )
The build date in ZC Player/ZQ About strings is now in a
format of: 0th Month, 9999
Thus, 4th November, 2019, not 4-11-2019.
This avoids day/month transposition, and is for clarity.
The datestamp remains auto-generated.
If you load a ZDMAP file made in this build, in the Import Dialogue containing a single, or
a small number of DMaps, they will load into the slots that they
occupied in the quest from whence they were exported.
ONLY the DMap Editor selects a specific slot, but DMaps are NOT
LOADED into slot 0 from the Import menu, as the previous commit stated!
Refactored .zdmap, removing .zdmapset and merging both types
into one file.
You can now import from the dmap editor (single dmap) or from the
Import menu (multiple dmaps.)
If a file contains a single dmap, the import menu will load it to
index 0.
If a file contains multiple dmaps, the DMap Editor will load the
FIRST dmap in the file, into the selected slot.
Begin Adding Datatype Versioning
Moved all graphical Import options to new Graphics submenu.
Added a new All Combo Table Import and added overwrite protection
to all import combo options.
Moved old Import Combos to the 2.50.x memnu subsection.
Moved old Combo export to 2.50 subsection along with some
other broken types.
We need to fix the others with new versions soon.
Vers: All files now rely only on metadata/versionsig.h
( ZoriaRPG, 4th November, 2019 )
Fix: BG Layer stuff in ZQ
Hiding layer 0 no longer hides BG layers
Next-screen previews now draw BG layers properly
( Venrob, 3rd November, 2019 )
Fixed the Goto Page Hotkey (P) in the ZQ main editor view to
jump to the specified page for combo aliases. Each page is 256
alias swatches tall (one full bank), and the last quarter page
cannot be jumped into without overflow, but that tiny limitation
is, IMO better than not being able to do this, at all, at all.
Temp: A possible fix for Ganon reappearing in deongeons after death.
his SHOULD fix Ganon respawning after collecting the big TF
in dungeons or screens set with a boss flag, but if quests rely on
the bugged behaviour, it needs an enemy flag.
**UNVERIFIED FIX**
Ported item->linked_parent from 2.55, to 2.53.1, moving the
check for eeGANON off of Misc15 and using the new var to determine
if a dustpile item was created by Ganon.
Fixed the drop of the large TF (relly, and trully), to spawn over
the ASHES if they have moved.
( ZoriaRPG, 3rd November, 2019 )
The little arrows above the combo alias banks now work as intended.
Added Notes on fixing bug where potions kill sfx.
( ZoriaRPG, 2nd November, 2019 )
//Beta 9
Fix: Item 0 issue
(None) in listers was not sorting properly for items.
( Venrob, 2nd November, 2019 )
Feat: Active layer button is highlighted
( Venrob, 1st November, 2019 )
Parser: Added a few more guards against reserved tokens.
( ZoriaRPG, 1st November, 2019 )
std_zh: Fix GetHighestLevelItemOwned
Now no longer has a critical bug, and is much faster.
Now works the same way 'current_item_id()' does internally.
( Venrob, 31st October, 2019 )
Updated ghost/other.zh and tango/1.2/user.zh to remove 'default' and 'bitmap' identifiers
Added error for logical xor.
The parser now errors, and reports that the user must use ZSxript v14/2.55
if the user tries to code with datatypes, pointers, tokens, or
directives that require 2.55+.
Updated std.zh, tango.zh, and ghost.zh to call '#include', not 'import'.
Updated ZScript_Changes.txt
Updated all .ztheme files, and added dark.ztheme, and ruby.ztheme by Shadowblitz.
Made the default cursor size for ZQ large mode match 2.50, again.
Added '#include# as an alternate to 'import' in the parser
so that simple scripts (ffc, global, item) can be more-easily shared
shared between 2.53.1 and 2.55.
2.53.1 uses the standard import behaviour for this token,
not the improved behaviour from 2.55.
This is purely a semantical addition.
( ZoriaRPG, 29th October, 2019 )
//Beta 8
Allow block comments and some alternative tokens.
( ZoriaRPG, 28th October, 2019 )
//Beta 7
Fix crash if compiler sounds are set to 0 and vbound them between 0 and 255.
( ZoriaRPG, 28th October, 2019 )
//Beta 6
Fixed errors in zscript.txt, now v0.7.6.
Fixed crashes when saving files with very long paths.
Fixed an off-by-one error in .ztile and in .ztileset load/write.
( ZoriaRPG, 27th October. 2019 )
//Beta 5
.zmod: Add classic.zmod to 2.53.1 and update zc.cfg to use it.
.zmod: Minor fixes.
.zmod: Fix the default module file from default.zmod to classic.zmod
.zmod: Use moduledats for quests, skipnames, starting dmaps, starting screens,
and ZC Player datafiles (not for ZQ Editor datafiles!!)
.zmod: Add .zmod (light) format to zelda.exe
( ZoriaRPG, 24th October, 2019 )
Refactor: Replaced .dmp with .zdmapset
Deprecated the old Export DMaps format (.dmp).
The user can still IMPORT that format via Import->2.50.x->DMaps in
THIS VERSION only.
Added the new .zdmapset format, to replace this feature, which is future-safe
for 2.55 and above.
( ZoriaRPG, 23rd October, 2019 )
Pressing F12 now captures screenshots in the Enemy, Item,
and the Weapon Sprite Editors.
( ZoriaRPG, 22nd October, 2019 )
//Beta 4
Refacrored the old 2.50 tileset import/export from .TIL to .ZTILESET
I rewrote the full tileset import/export so that it will be futureproof.
The user can import the old .til files in this version (but not 2.55!!)
using a new submenu: File->Import->2.50.x Files.
It is mechanically identical to the user, otherwise.
( ZoriaRPG, 22nd October, 2019 )
//Beta 3
Added spacer in Export submenus.
Fixed some wrong dialogue titles for Combo Alias Packs
Cleaned up old export saving success messages, and added saving success
messages to .zalias, .zcombo, and .ztile file saving.
The Z Hotkey works again in the tile editor and the visible hitkey in the
Etc menu is again there.
( ZoriaRPG, 22nd October, 2019 )
//Beta 2
Added the ability to save and load Combo Alias files in the format
of .zalias, with the same GUI options and mechanics as .ZCOMBO and .ZTILE.
( ZoriaRPG, 21st October, 2019 )
//Beta 1
Fix .ZCOMBO Off By One Error and Wrong Version ID
Fix .ZCOMBO off by 1 error.
Added .ZCOMBO, identical to .ZTILE
All About Version dialogues now exlusively pull data from the
new metadata header, metadata/versionsig.h
( ZoriaRPG, 21st October, 2019 )
Remove Lunaria Brick from 2.53. -Z
Etc>>Take Screen Snapshot
Takes a screenshot of JUST the current screen, not including GUI elements.
This captures at proper-scale; i.e. 1 combo is 16x16, regardless of gui scaling.
If holding CTRL, things such as walkability and flags will appear (if you have them
visible); if not holding CTRL these will be hidden as well.
This allows easy capturing of an entire screen, at 1:1 scale.
Renamed `Take Snapshot` to `Take ZQ Snapshot` to help prevent confusion.
( Venrob, 20th October, 2019 )
Bind .rc files to metadata/resourcesig.h
Timezone for datestamps is now set in ./metadata/sigs/devsig.h.sig
Blot out Lunaria comments in logfile.
Build date and timestamps are not autogenerated at compile time.
( ZoriaRPG, 20th October, 2019 )
Fix: Don't alphabetize '(None)'
( Venrob, 19th October, 2019 )
Remove Lunaria Brick from 2.53. -Z
Vers: Update to 2.53.1 Beta 1
( ZoriaRPG, 19th October, 2019 )
//2.53.0
//Release 3
Better tile image export
Fixed - selector no longer shows
Added - instead of static or X's, it will display color 0 for hidden tiles
Internal: draw_tiles() has new params, and an overload for default params.
( Venrob, 19th October, 2019 )
Added Export and Import .ZTILE files.
You can save a series of tiles, in mixed format to a .ZTILE file,
and load them into any quest, either in the exact position in
which they were located in the source quest, or starting at a
position that you specify.
Fixed some error messages on modular object file loading.
Fixed the sanity checks for section_version and section_cversion on modular
object file loading.
Added the ability to save and load weapon sprites as .ZWPNSPR files.
Added a contextual (right-click) menu to the Weapon Sprites
dialogue, allowing the user to copy and paste weapon sprites.
Changed the error message titlebar text a bit for all .Z*struct files.
Save, Load, Copy, paste DMaps
Added a contextual (right-click) menu to the DMap Editor.
You can now Copy/paste DMaps from this, and you can Save and Load DMaps
to and from .ZDMAP files, as .ZITEM and .ZNPC.
The user can now save individual npcs from the Enemy Editor
in the format of .ZNPC, identical to how .ZITEM works.
Updated icon resource scripts for ZC, ZQ, and ZCL.
( ZoriaRPG, 19th October, 2019 )
Add 'Hide 8-bit Marker' to the 'View' menu, with the hotkey '8' to toggle it.
This hides the small '8' in the corner of 8-bit tiles.
Fix Ctrl+U long-standing issue: It was meant to cycle through different sets
of 'Hide' settings, but, it would always turn off 'Hide Blank', and
could not turn it back on. Now, it will NOT modify 'Hide Blank' at all.
( Venrob, 19th October, 2019 )
Fix default cursor scale. Was 1.5, should be 1.
Added file VERSION metadata to EXE files via MSVC VERSION resource script.
This prevents warnings by Malwarebytes on UPD's binaries.
( ZoriaRPG, 18th October, 2019 )
Added cursor scaling option:
Config options 'cursor_scale_large' and 'cursor_scale_small', to scale the cursor
added to zquest.cfg and zc.cfg. Range 1 to 5, decimal allowed.
( Venrob, 17th October, 2019 )
Replaced 'new quest' in qst.dat with Classic 1st 2.50 v1.10.
Added v_build to ZITEM format.
The mapscr selection marker rect is now red in InvalidStatic mode,
as not to blend in (grey).
Changing the screen colour with hotkeys now allows F2/Memu to save.
Fixed a Crash due to placement of multi-instance code prior to allegro init.
Add Right Click Load/Save Options to Item Editor
You can now save single items in the item editor as .ZITEM files,
and load .ZITEM files into the item editor. Uses the contextual menu only,
Ported from 2.55.
( ZoriaRPG, 17th October, 2019 )
ZCL 2.8.0
Convert ZC Player options 'Skip Logo' and 'Multiple Instances'
to run off of zc.cfg and new ZC Player configs instead of using
command line switches.
Requires ZC Player builds after 16th October, 2019.
( ZoriaRPG, 16th October, 2019 )
You can now set -fast and -multiple CLI flags in zc.cfg:
multiple_instances : 0 by default; set to 1 to permit multiple instances.
skiplogo: 0 by default; set to 1 to skip the AGN startup banner.
Update ZQuest.dat with new mouse pointers.
( ZoriaRPG, 16th October, 2019 )
Now, instead of 3 separate keyboard control menus, and 2 separate gamepad menus,
now there is one menu of each.
This makes unique control conflicts less difficult to deal with, and
overall makes more sense.
( Venrob, 13th October, 2019 )
RomView loads again,but only small mode.
DAT: Fix mouse cursors for themes.
Fix a bug where init_game() as cllearing the current rendertarget to
0, instead of -1 (screen), that was causing old ghosted
enemies to be invisible.
( ZoriaRPG, 12th October, 2019 )
Fix: Misalign arrows hardcoded colors
They now load similarly to cursors.
Fix: advpaste_dlg always small
Was missing 'is_large' check to upscale the dlg.
Fix: Forgot to rename .ztheme config names
( Venrob, 12th October, 2019 )
Enlarge layer checkboxes.
Added the ability to set cursor colours in themes.
( Venrob, 11th October, 2019 )
Implement DEVLEVEL logging.
If DEVLEVEL > 0 logging is forced on for Events and Script Errors.
( ZoriaRPG, 10th October, 2019 )
ZCL 2.7.7
Move RomView into a sub-directory and bundle old fonts.dat
and allegro.lib with it so that it runs in 2,55.
Change code from commandlibe process to exec process.
( ZoriaRPG, 10th October, 2019 )
Fix: Don't eat preexisting zc.sav if the zc.cfg file line is blank!
Sorry all users. :/
( ZoriaRPG, 10th October, 2019 )
ZCL 2.7.6
Added Load Module (.zmod) butons to both the ZC Player and
the ZQuest Editor config tabs.
( ZoriaRPG, 9th October, 2019 )
Add error on missing 6th.qst, but do not quit ZC.
Add quest file sanity check to OMNIUS skip.
Added OMNIUS to skip to 6th.qst.
Add shield tile 20327 to 6th.qst on title screen (title.cpp).
We will update this with a shield that has a 6 inside it in
the final build, on tile page 1 of the qst.dat.
Prepare ZC Player for 6th quest, and add Linear Quest Progression menu option
to play quests n the order of 1->2->3->4->5->6.
If that is DISABLED:
if you beat the 5th but died, go back to the 4th AS BEFORE,
or move on to 6th NOW, if it exists.
I will redact this and use the ZC2.55 modules method if I backport that.
( ZoriaRPG, 9th October, 2019 )
ZCL 2.7.5
Split up Theme/Colour settings for ZC Player and ZQuest
Added / replaced some tab icons (drivers, colours tabs, notes tab).
( ZoriaRPG, 9th October, 2019 )
ZCL v2.7.4
Added User Theme Load Button, User Theme lister selection,
and User theme preview image (using Legacy theme, small mode).
( ZoriaRPG, 9th October, 2019 )
Added numpad PLUS and numpad MINUS with CONTROL or SHIFT to the last commit.
The keys used to change the current CSet (- and =, but let's call them MINUS and PLUS)
now allow changing the Level Palette by +/-1 or +/-16, in addition
to working on CSet as before.
Unmodified Minus: Reduce CSet by One
Unmodified Plus: Increase CSet by One
Shift Modified Minus: Reduce Level Palette By One
Shift Modified Plus: Increase Level Palette By One
Control Modified Minus: Reduce Level Palette by 16
Control Modified Plus: Increase Level Palette by 16
Added the following hotkeys:
% :Set Current Level palette to 15 (0 to 14 were previously possible).
( ZoriaRPG, 9th October, 2019 )
Fixed lvl colours not pulling an average for palettes enfing in E or F.
( Venrob, implemented by ZoriaRPG, 9th October, 2019 )
Fix: Clear RenderTargets set by Previous Quest
( ZoriaRPG, 9th October, 2019 )
Theme: Added theme files:
MooshMood: themes/mooshmood.ztheme
Ice : themes/ice.ztheme
Legacy : themes/legacy192.ztheme
DarkBlue : themes/darkblue.ztheme
Hotdog : themes/hotdog.ztheme
Feat: Allow .ztheme File to be Separate
Added theme_filename string to [Theme] section in zc.cfg and in
zquest.cfg. If set to a valid configuration file, the theme configs will
load from the specified file.
I'm reserving '.ztheme' and '.zskin' for this file type, ZC Theme skins.
Added User Themes
Added the ability for the user to define custom GUI themes for
ZC Player, and for ZQuest. The GUI set for the user theme is '99'.
The values for the theme are set in zc.cfg under [Theme] for ZC Player, and
in zquest.cfg under [Theme] for ZQ Editor.
Updated Classic.zh to v1.11
Added ffc script ScreenGuyMusic and fuction: bool __classic_zh_ScreenGuyAlive()
Added arg for BossExplode ffc for enemy ID override as D7
( ZoriaRPG, 8th October, 2019 )
Display a grid in the mapscreen selector box in ZQ if the current
map is an overworld palette rank (0x00, 0x10, 0x20 ...).
( ZoriaRPG, 6th October, 2019 )
Fix: Revert a Check for .SAV File Filenames
Fixed incorrect handling of save file filename checking
that caused a bug where the save file was always loading the hardcode again.
Added ZCL-changelog.txt to packages.
Included ZCL v2.7.3, with a new button to select the .SAV FILE.
Added a config string for the filename of the SAVE file to zc.cfg.
( ZoriaRPG, 3rd October, 2019 )
Allow viewing CSets 12, 13, 14, and 15 in the tile editor.
( ZoriaRPG, 2nd October, 2019 )