forked from ZQuestClassic/ZQuestClassic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchangelog.txt
7486 lines (5195 loc) · 504 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
//2.55 and 2.54 Changes
//2.55 Alpha 1 (Candidates)
//PureZC 2018 Fall Expo Build
Added code for Graphics->Tint(), Graphics->MonochromeHue() and
Graphics->ClearTint(), and renamed dummy function identifiers.
( Venrob, 21st October, 2018 )
Begin adding user/script-created bitmaps to ZScript.
( ZoriaRPG, 21st october, 2018 )
Fixed Lens QR/Flag inclusive ORs
Fix script input setting being overriden by drunk:
When an input which has a drunk state is written to, tell the drunk code not to change that input.
( Venrob, 20th October, 2018 )
Added dummy functions to ZScript so that Venrob can make the Zelda side of them:
Graphics->Tint(int,int,int),
Graphics->MonochromeHue(int,int,int,bool) and
Graphics->ClearTint
These can be adapted to user palettes, later.
Added Graphics->Monochrome(int mode) to ZScript.
This allows setting a monochrome state in a number of hues, with two chroma
luma distribution patterns.
Modes:
const int TINT_NONE = 0;
const int TINT_GREY = 1;
const int TINT_RED = 2;
const int TINT_GREEN = 3;
const int TINT_BLUE = 4;
const int TINT_VIOLET = 5;
const int TINT_TEAL = 6;
const int TINT_AMBER = 7;
const int TINT_CYAN = 8;
const int TINT_MODE_UNIFORM = 0;
const int TINT_MODE_DISTRIBUTED = 1000;
Usage:
Graphics->Monochrome(TINT_MODE_DISTRIBUTED+TINT_AMBER); //Set amber, distribuyted
Graphics->Monochrome(TINT_NONE); //Restore colour palette.
( ZoriaRPG, 20th October, 2018 )
Properly make Ganon invisible again.
( ZoriaRPG, 20th October, 2018 )
Fix Item QRs Not Selecting:
Moved all d_dummy_procs in the item rules dialogue to +500, to move their hitbox out
of the way
( Venrob, 20th October, 2018 )
All major game_loop() events will be now logged to allegro.log if LOGGAMELOOP = 1
( ZoriaRPG, 20th October, 2018 )
Added qr_NEVERDISABLEAMMOONSUBSCREEN
If enabled, inventory items with ammo costs will not vanish on subscreens,
even if Link is out of ammo, or otherwise cannot pay the cost.
Possible fixes for ZScript:
Link->SetItemSlot()
Link->Equipment
Link->ItemA
Link->ItemB
Fixed crash when calling getWpnPressed for items with subscreen overrides.
Updated build data.
Fixed Init Data not using new zinit members.
( ZoriaRPG, 20th October. 2018 )
Remove 214747 limit on asm script length. Done with two changes:
Make OSetImmediate divide any label arguments by 10000 before printing them.
Adds the RETURN opcode which pops directly from the stack and jumps to
it, without multiplying by 10000.
( grayswandir, 20th October, 2018 )
Changed colors coded for jwin_radio_proc, jwin_check_proc, and draw_checkbox
These were hard-coded to use jcDARK for the foreground and jcLIGHT for the background and
I changed this to jcTEXTFG and jcTEXTBG respectively.
I changed the "shadow" on jwin_radio_proc from jcMEDDARK/jcDARK to a hard-coded vc(0) (Black).
This is so that it looks proper in both "Light" and "Dark" themes.
( Venrob, 20th October, 2018 )
Fixed crashes of enemies of type Other, Other(float), Ghini, Peahat, Zora, and Spintile
Gave these gui handlers for BFlags/Attributes pages (identical to eeNONE)
The crash was being caused by unhandled cases.
Fixed Dark and Expo theme text unreadable against background.
( Venrob, 19th October, 2018 )
Fixed Tile editor EXTREME lag issues:
Stopped tracing a message 214500 times per pressing anything in the tile editor.
( Venrob, 18th October, 2018 )
Added DARK theme to ZC and ZQuest (gui_colorset = 2019)
Temporarily disable Peahat L2
Added a UI colourset for the PureZC Fall Expo of 2018.
The UI case label is 201018 (20th October, 2018) and the GUI colours are
Samhain themed.
( ZoriaRPG, 18th October, 2018 )
//Preliminary 16 (17th October, 2018)
Fixed Dodongo death sfx in 3rd, 5th, and 4th quests.
Rebuilt clean, fixing some stability issues when ZC and ZQ were running as
background processes.
( ZoriaRPG, 17th October, 2018 )
Fixed Dodongo death sound in 1st.qst and 2nd.qst.
( NightmareJames, 17th October, 2018 )
Re-fixed the sound that 2.10 Dodongos (and BS Dodongos) make when they die.
The prior patch didn't work, but this one seems fine.
( ZoriaRPG, 14th October, 2018 )
Fixed UI responsoveness to mouse input caused by not listing some d_dummy_proc elements on tabs.
( ZoriaRPG, 14th October, 2018 )
Re-order Item QR dialog, update V_ITEMS to 43
Port qr_WHIRLWINDMIRROR to Whistles ITEM_FLAG3
Updated V_ITEMS to 43
Ported QR to flags
QR renamed to reflect that it still is needed for scripted whirlwinds
Named flag in zq_custom.cpp
Ported qr_SLOWCHARGINGWALK to ITEM_FLAG10 of swords
Named ITEM_FLAG10 in zq_custom.cpp
Set qr_SLOWCHARGINGWALK's checkbox type to dummy
Ported the flag for V_ITEMS<41
Marked qr /*DEPRECATED*/ in zq_rules.cpp
Ported qr_SWORDMIRROR to ITEM_FLAG9 of swords …
Renamed QR to reflect its' effect on enemies/scripted sword beams
Named flag in zq_custom.cpp
Renamed "Sword Beams reflect off mirrors" to "Sword Beams Reflect off Prism/Mirror Combos"
This required expanding spacing for the items table under the flag 9 column,
thus why the entire section is "changed"
qr_SLOWCHARGEWALK and qr_SWORDMIRROR ports
Moved candle porting for FIREPROOF and TEMPCANDLE to be identical to book/dins
( Venrob, 12th October, 2018 )
Fixed inf magic preventing rupee drain from items, and added compat QR for this.
Port qr_MELEEMAGICCOST to Swords, Wands, and CByrnas ITEM_FLAG6
Named flags in zq_custom
Marked the qr /*DEPRECATED*/ in zdefs.h
Forwarded to flags in qst.cpp, including forcing default states
Made new qr_OLDINFMAGIC, which re-enables inf magic preventing items from draining rupees
Set QR to on when loading any pre-2.55 quest
QR was added to Compatibility, taking the last slot on the first tab.
Byrna given "No Melee" flag, now can do melee damage and fixed qr_MELEEMAGICCOST.
Byrna now does damage equivalent to Attributes[3] (item.misc4)
It will do no damage if "No Melee" is checked, which is the default.
MELEEMAGICCOST would not charge magic if you could not shoot a sword beam!
Now it does, using a new flagset `misc_internal_link_flags`.
Ported qr_NOWANDMELEE to wands, and added the same flag to hammers - ITEM_FLAG3
Wands + Hammers functional
Flag named for Wands + Hammers in zq_custom.cpp
These things set up for CByrna, but commented out; cbyrna is not ready yet
( Venrob, 11th October, 2018 )
Corrected position of `if(tempitem.fam_type==0)tempitem.fam_type=1;` in readitems()
( Venrob, 10th October, 2018 )
Added UI text for additional Ganon Behaviour covering:
Using normal Enemy Editor Defences
Using a custom kill shot item.
Put new Ganon code in a comment block, and reinstituted old code for now.
( ZoriaRPG, 9th October, 2018 )
Renamed "Sword Beams reflect off mirrors" to "Sword Beams Reflect off Prism/Mirror Combos"
This required expanding spacing for the items table under the flag 9 column,
thus why the entire section is "changed"
( Venrob, 9th October, 2018 )
Added flags to all enemies (except Ganon):
Enemy is Completely Invisible
Enemy Is Revealed by Item Specified in dmisc13
---> This eventually needs to be a class when positive, and a specific item when negative.
Draw Invisible as Cloaked
Render Cloaked Instead of VISIBLE
All of the above seem to work.
For GANON:
Visible if the player has Level 2 Amulet or higher.
Specific item dispels invisibility (dmisc13)
When not invisible, show shots.
Draw cloaked when not invisible.
This is only PARTLY working. Ganon's shots render, but Ganon does not.
On the Attributes tab for all enemies, Attributes[12] (misc13) is now
for the item that removes invisibility from that enemy, and is listed accordingly.
( ZoriaRPG, 9th October, 2018 )
Reworded Enemy Editor BFlag[8]:
Denoted that a nagative value for invisibility item is its class.
Changed the datatype on itemdata.flags to long.
Bumpted V_Items to 41, and updated quest save/load.
( ZoriaRPG, 9th October, 2018 )
Ported qr_SLOWCHARGINGWALK to ITEM_FLAG10 of swords:
Named ITEM_FLAG10 in zq_custom.cpp
Set qr_SLOWCHARGINGWALK's checkbox type to dummy
Ported the flag for V_ITEMS<41
Marked qr /*DEPRECATED*/ in zq_rules.cpp
( Venrob, 9th October, 2018 )
-V_ITEMS has yet to be updated; this branch is not ready for merge at this time.
//Preliminary 15 (rolled into 16)
//Preliminary 14 (8th Oct, 2018)
Reworded text on Enemy Editor Flags (Is Invisible):
With full invisibility now an option, I changed the old text to
read: Is Invisible (Cloaked).
Changelog: Added fields for Attributes tabs inthe Enemy Editor, for Attributes 11 throug 32..
Moved 'Misc Attrib 11' and 'Misc Attrib 12' from Data 2, to Attributes.
Added automatic string handling insetEnemyLabels()
Set default labels for invisibility-dispelling item.
Set default BFlags for invisibility, plus special flags on Ganon.
Fix: Read guys.misc13, misc14, misc15. I somehow missed these when I edxpanded enemy attributes.
( ZoriaRPG, 8th October, 2018 )
Fixed death sound for Dodongos.
( ZoriaRPG, 4th October, 2018 )
//2.55 ALphsa 1, Preliminary 13
Rewrote the onSaveMapPic() function to fix issues with it causing
random glitches, including screen drawing glitches while scrolling and other
issues.
( ZoriaRPG, 4th october, 2018 )
//2.55 Alpha 1, Preliminary 12
Adjusted the UI for the Item Editor and the Enemy Editor, justifying the sixteen miscellaneous
flag tick boxes to the left of each pane.
Fixed two errors in the setter for itemdata->Flags[16]:
The logic was incorrect for setting flag or ~flag.
The label block lacked breaks at each case!
Added npc->BFlags[16] and npcdata->BFlags[16] to ZScript.
Added auto-label code to the new flags in zq_custom.cpp (seek token `BFlags`).
Added a new 'Behaviour' panel to the Enemy Editor Flags tabset.
This contains sixteen multipurpose flags, to match those in the item editor, for use in
porting quest rules to individual enemies.
Added a new npc variable, `editorflags` to guydata, and to the guy class.
( ZoriaRPG, 4th October, 2018 )
//2.55 Alpha 1, Preliminary 11
Added constants for MIN_COMBO_POS, MAX_COMBO_POS, and NUM_COMBO_POS to std.zh.
Rewrote all SetLayerCombo*() and GetlayerCombo*() functions in std.zh:
All of these functions now have the option to use `mapdata` instead of old
Game-> functions, and options to use either the screen Combo*[] arrays, or
to use mapdata->Combo*[] arrays, for layer 0.
They also return errors if layer < 0 or layer > 6.
Added std.cfg flag: SETLAYERCOMBO_ALWAYS_USE_SETCOMBO
Setting this to '1' will force using Set/GetCombo on maps instead
of setting or getting Screen->Combo*[] for layer 0, but only
if SETLAYERCOMBO_USE_MAPDATAis false.
Added flag SETLAYERCOMBO_USE_MAPDATA to std.cfg.
Setting this to '1' will always use mapdata, rather than the old Game->GetCombo and
Game->SetCombo funcvtions. This is the default for 2.55.
Added flag SETLAYERCOMBO_ONLY_USE_MAPDATA to std.cfg.
Setting this will force using mapdata on layer 0.
Added error logging to these functions.
Added TraceError() to string_functions.zh.
( ZoriaRPG, 4th October, 2018 )
Fix dodongos using the wwrong sound in 2.10 and earlier quests.
( ZoriaRPG, 3rd October 2018 )
Ported qrSLASHFLIPFIX to item editor flags for candles, canes, and swords.
( Venrob, 10th October, 2018 )
Fixed improper warp points in 2nd.qst.
( NightmareJames, 29th September, 2018 )
Ported qrNOITEMMELEE to item editor flags for swords, wands, and canes as ITEM_FLAG7.
( Venrob, 28th September, 2018 )
Marked deprectaed QRs in qst.cpp.
Remove extraneous inclusive ORs on QRs qr_QUICKSWORD, and qr_NODIVING in link.cpp.
Ported qrRINGAFFECTDAMAGE to an item flag on rings.
( Venrob, 28th September, 2018 )
Added two additional levels of key files:
.cheat: This is a ketyfile that only enables cheats for the player in ZC, but does not allow
opening the quest in ZQuest. The questb password is hashed so that it is not visible as
plain ASCII text in the .cheat keyfile.
.zpwd: This is a keyfile that only allows editing the quest in ZQuest, but it DOES NOT enable cheats.
( ZoriaRPG, 28th September, 2018 )
Fixed sideview spike combos and ffcs in quests made iin 2.50.1RC2 and earlier.
Added a QR to enable the old behaviour for any quest under Compatibility rules.
( ZoriaRPG, 26th September, 2018 )
Require using Alt+Shift modifier keys in conjunction with cheat hotkeys.
Fixed hard crash when loading an ASM script if the filename is invalid.
( ZoriaRPG, 25th September 2018 )
Fixed input getting stuuck as if buttons were being hel down, when released.
( ZoriaRPG, 25th September, 2018 )
( credit also: Venrob for think-tank.)
( credit also: Russ for testing.)
Fixed the Cheat Menu 'Max Bombs' so that it is possible to set
any value from 0 to 0xFFFF.
Fixed and improved the Init Data max starting values. Now all counter items have a starting max amount
and a starting amount cap of 0xFFFF.
( ZoriaRPG, 25th September 2018 )
Allow setting the Catchall on a room with a type of 'None'. The catchall type is 'Generic Catchall'.
Minor touch-up on qrNOGANONINTRO
Should fix: Nayru's Love decorations do not die, and will eventually wrap the screen.
Should fix: Vires freeze when struck, without split-on-hit.
( ZoriaRPG, 24th September, 2018 )
Should fix: Lens costs rupees with infinite wallet.
Should fix: Diagonal left-down sprites on 8-way shots are mis-oriented.
Should fix: Charged hammer doesn't strike pound blocks.
Should fix: Ganon Triforce holdup when Link is jumping.
Should fix: Ganon's ashes don't fall in sideview.
Expanded QRs from char[20] (160 max rules) to char[100] (800 max rules).
Added a mechanic to determine if a weapon is script generated.
You can now check: *weapon->isScriptGenerated().
Changed Set/GetLayerCombo*() in std_functions to allow setting or checking on layer 0.
( ZoriaRPG, 23rd September, 2018 )
Ported 'Temporary Light' and all rules regarding bubbles to item flags:
Ported qr_NONBUBBLEMEDICINE, qr_NONBUBBLETRIFORCE, and qr_ITEMBUBBLE to Triforce/Potion ITEM_FLAG3 and ITEM_FLAG4.
Ported qr_TEMPCANDLELIGHT to ITEM_FLAG5 of Din's Fire, Candles, and Books.
New variable stayLit in pal.cpp for keeping track of permanent light; this fixes a major bug with temp and non-temp light on the same screen.
Reworked how `lighting()` works (part of the bug fix)
Scripted and Enemy fire still relies on the QR; do not remove the QR!
The QR has been renamed to reflect this; "Scripted and Enemy Fire Lights Temporarily"
Updated V_ITEMS to 39; changes in the next commit will also fall under V_ITEMS 39.
( Venrob, 23rd September, 2018 )
Fix: Scripted Fire/Bombs obey QRs, updated zq_rules names
( Venrob, 23rd September, 2018 )
Store ffcore.quest_format[vHeader] properly.
Added +15 Scipt Combo Types, fixed storing vCSets
( ZoriaRPG, 23rd September, 2018 )
Apply new QRs for broken mirror combos, magic book costs, and
melee weapon magic requirements to their respective components.
QRs are auto-set for quests < 0x250 or 0x250.build < 31 in qst.cpp.
Add QRs to the system for new Wand/Book and other things.
Attempted fix for two Ganon Room issues:
Dust Pile does not fall in Sideview
Triforce hold-up animation is incorrect if Link is Jumping.
2.10 quests will now again use the old 2.10 lens code. --Should we do this, though?
Store all quest header version details in FFCore on quest load, under:
ffcore.quest_format, with a getter getQuestHeaderInfo() as a universal
way to read this data at any time.
( ZoriaRPG, 22nd September, 2018 )
Added 'Picks up keys' to the boomerang, arrows, and the hookshot in the item editor.
Port qr_BRANGPICKUP and qr_Z3BRANG_HSHOT to the item editor.
Updated V_ITEMS to 38 (zdefs.h)
Forwarded QRs to item flags, on arrows, brang, and hshot (qst.cpp)
Gave flags names in the item editor (zq_custom.cpp)
Port qr_Z3BRANG_HSHOT to the item editor.
Changed check from qr_Z3BRANG_HSHOT to ITEM_FLAG6 (brang/hookshot)
( Venrob, 22nd September, 2018 )
Expand Item Flags from 5 to 16 and added those flags to the Item Editor.
All item flags are now on their own tab with plenty of room for flavour text.
Added additional fields to the item in zq_custom.cpp, and the code to aut-name item flags 6 to 16.
Fix crash on subscreen and loading invalid weapon data.
( ZoriaRPG, 21st September, 2018 )
Fixed Sword beam grid-snapping error with Mirror Combos
( Venrob, 21st September 2018 )
Added entry for itype_flippers to zq_custom labels for item editor.
Ported new item flags from QRs on reading quests.
Added and modified labels for the new flags in the item editor.
Added entry for itype_flippers to zq_custom labels for item editor.
Ported new item flags from QRs on reading quests.
Added and modified labels for the new flags in the item editor.
Fixed new fonts looping infinitely on subscreens.
( ZoriaRPG, 20th September 2018 )
Fixed bug with Wand/Book Fire
Ported qr_NODIVING to the item editor as item flags.
Ported qr_FIREPROOFLINK to the item editor as item flags.
Ported qr_OUCHBOMBS to the item editor as item flags.
Fixed Link Drunk code to only rand() once.
( Venrob, 20th September 2018 )
Ported qr_FIREPROOFLIN to the item editor as item flags as ITEM_FLAG3.
( Venrob, 17th September 2018 )
Ported qr_BRANGPICKUP to item editor as ITEM_FLAG4.
Ported qr_QUICKSWORD to wand and sword as ITEM_FLAG5.
Ported qr_NODIVING to flippers in item editor.
( Venrob, 15th September, 2018 )
Fix Tile Page cap in editors when reloading entries that have been set to a tile on page 252 or higher.
Expanded max tiles to 214500.
( ZoriaRPG, 14th September, 2018 )
Drunk RNG now only runs once per frame.
( Venrob, 13th September 2018 )
Finish porting old lens Quest Rules to Item Editor:
V_ITEMS is now 35
Deprecated the QRs: qr_LENSHINTS, qr_RAFTLENS, qr_LENSSEESENEMIES.
Quests with V_ITEMS < 35 will port their QRs to the item editor flags.
Removed display of old rules (they won't do anything when a quest is saved as V_ITEMS >= 35.
Added flag descriptions for flags 4 and 5 to the Item Editor.
( ZoriaRPG, 13th September, 2018 )
Fixed boomerangs with levels greater than 3, triggering inappropriate
map flags. ( ZoriaRPG, 18th September, 2018 )
Added typedef for script type tokens.
(e.g. [ script typedef ffc scrweapon ] )
( grayswandir, 11th September, 2018 )
Fixed Persisting old, and new Lens of Truth bugs:
Changed do_lens() to no longer use directWpn for finding the current used item
Added `getWpnPressed(int itype)` in the same style as isWpnPressed, instead
of returning bool it returns the item ID that is pressed.
These prevent the lens from 'stealing' properties of other items that are used
at the same time.
( Venrob, 9th September, 2018 )
Re-fixed Link->Invisible. It's now a trinary state, with 0 == off, 1 == engine,
and 2 == script_set.
( ZoriaRPG, 8th September, 2018 )
Use array init code even if not declared an array.
Fixes issues with some array types not being validated for size.
( grayswandir, 8th September, 2018 )
Added Flags 4 and 5 to the Lens of Truth item class.
Lens Flag 4 now enables "Show Raft Paths"
Lens Flag 5 now enables "Show Invisible Enemies"
( Venrob, 8th September, 2018 )
//2.55 Preliminary 10
Moved strFormat() into a new class, XTableHelper--rename it later if you don't like it--,
and fixed ordering of module files to fix compiling on MSVC:
The new cpp file, src/parser/CompilerUtils.cpp, was being added to
the ZScript objects *after* src/parser/CompileError.cpp, which needed
to access an external reference from CompilerUtils.
In order for MSVC to be able to Link the objects properly, the file
order must be arranged so that CompilerUtils is before CompileError.
( ZoriaRPG, 7th September, 2018 )
Added strings for the three new lens flags to the Item Editor.
( ZoriaRPG, 7th September, 2018 )
Fixed crash on writing to void types.
( grayswandir, 7th September, 2018 )
Removed duplicate tokens from flex.
Split Graphics-> and bitmap-> into two tables.
Removed warning for script-level variables.
You can now declare script-scope variables, constants, and arrays.
These are global, but their identifiers are in the script's namespace,
so accessing them would use the dot scope resolution token:
scriptname.variable
scriptname.CONSTANT
scriptname.array[index]
( grayswandir, 6th September, 2018 )
Add type checking to compiler error messages
This should prevent any more blank error messages popping up. These
were mainly do to passing a std::string into the format function,
instead of a c string. Now the error code arguments are type properly
checked.
All compile error codes are now generated from the CompileError.xtable
file. Adding a new line is all that's needed for a new error
code. Currently it is only set up for up to 2 arguments per
code. Adding more will require some rewriting.
CompileError is now an actual value type object that holds onto the
source AST node and other information when constructed, instead of
just being the enum-type object it was before.
Added box_out_err for directly printing out error messages.
Added a general string format function to CompilerUtils.
( grayswandir, 5th September, 2018 )
Added three flags to lens items:
Setting Lens Flag 1 is equivalent to qr_LENSHINTS being set for that item
Setting Lens Flag 2 will prevent secret combos as well as qr_LENSHINTS hints from being shown by that item
Setting Lens Flag 3 will prevent Armos/Chest -> Item and Dive -> Item items from being shown.
The lens item ID is tracked by Link.setLastLensID(id) and Link.getLastLensID().
( Venrob, 4th September, 2018 )
//2.55 Preliminary 9
Fixed Link->Action[dying] being set at the incorrect frame during Link.gameover().
( grayswandir, 4th September, 2018 )
Fixed issues with ZScript namespace compiling on MSVC.
( grayswandir, 3rd September, 2018 )
Fixed Link being drawn before running the OnContinue script.
Fixed various issues with Link->Action being set improperly.
Fix Lens of Truth showing all new combo flags as secrets.
Fix Greyscale modes causing inproper writes of CSet6 colours to other CSets.
( ZoriaRPG, 3rd September, 2018 )
Moved ZScript into its own namespace.
( grayswandir, 2nd September, 2018 )
Fixed Game->Misc[] not working on array indices higher than 0.
( ZoriaRPG, 2nd September, 2018 )
Added a nop to switch statements, to fix while and other loops in switch statements.
Directly assigning string and array literals now works regardless of
the declaration type.
( grayswandir, 1st September, 2018 )
Added constants for GetScreenEFlags()
( venrob, 31st August, 2018 )
//2.55 Preliminary 8
Fixed issues with global array pointers.
( grayswandir, 31st August, 2018 )
Further refactor string.zh for performance.
Corrected value for DIR16_RADS_RIGHTRIGHTUP.
Added additional defence types and outcomes to NPCD_* and NPCDT_*. ( ZoriaRPG, 31st August, 2018 )
( ZoriaRPG, 31st August, 2018 )
Added NPCD_Scriptweapon types to std_constants.
( Venrob, 30th August, 2018 )
Fix crash when using Game->Misc[] and shopdata. ( ZoriaRPG, 31st August, 2018 )
Fix Link->Misc multiplying/diving by 10000. ( ZoriaRPG, 30th August, 2018 )
//2.55 Preliminary 7
Added npc->HitBy[LW_TYPE] : This stores the lweapon type (ID) that struck an npc.
Added npc->HitBy[LW_PARENTITEM] : This stores the parent Item ID that generated a weapon that struck the npc.
( ZoriaRPG, 29th August, 2018 )
Fixed values for new combo flag constants, starting with 106.
( VenRob, 29th August, 2018 )
//2.55 Preliminary 6
Fixed the `this->` pointer being pushed last instead of first. ( grayswandir, 28th August, 2018 )
//2.55 Preliminary 5
Fix parser function overload typecasting logic. ( grayswandir, 25th August, 2018 )
//2.55 Preliminary 4
Fix switch-case.
( grayswandir, 24th August, 2018 )
//2.55 Preliminary 3
Parser Fixes:
Let you use indexed arrays as left side of pointers.
Re-Add in missing lexer tokens (mapdata, messagedata, ponddata, rgbdata, shopdata, spritedata), (lost in refactor)
Re-Add in proper casting to/from untyped (lost in refactor)
Fix pointer for GetPixel().
Allow type names as identifiers
Add back in missing tokens to scanner (lost in refactor)
( grayswandir, 22nd August, 2018 )
//Alpha 35
Changed the enemy editor default for hitsound from 0 (None)
to 11 (Enemy is Hit) in the quest loader for older quests.
Now if hitsfx is set to 0 (none), the hit will be silent.
The hardcoded enemy hit sound was playing OVER user-set sounds,
causing both sounds to play at the same time on a hit, and if an enemy
died on the same frame that it was hit, all three sounds would play that frame.
[Applied also to 2.53.0, Beta 16]
( ZoriaRPG, 22nd August, 2018 )
Fixed Link's hurt sfrx not being initialised to the old default.
Fixed npc weapon sprites being read from guysbuf[] instead of the individual enemy.
Fixed an issue where setting npc->Weapon in older quests did not update its sprite.
( ZoriaRPG, 22nd August, 2018 )
Fixed const float not casting to float.
Fixed function overloads being confused by constants.
Fixed array initialisation with constants.
( grayswandir, 21st August, 2018 )
//Alpha 34
Redacted some changes, and re=implemented new features from Alpha 32, and 33
into the new parser branch. (This fixed some instability in Alpha 32 and 33.)
Fixed a bug where Link->Action would not return swimming, charging, or diving.
( ZoriaRPG, 21st August, 2018 )
Add escape sequences to string literals
Added:
- \a\b\f\n\r\t\v for the standard values,
- \" for quotes
- You can escape a newline to make it not appear in the string
Additionally, adjacent strings are merged by the compiler.
This also fixed a bug where multiline string literals would count as
one line.
( grayswandir, 20th August, 2018 )
Add column numbers to compile error messages
Most compilation error messages should now properly report the file,
line, and column numbers.
Rewrote the scanner to track the line and column numbers. It's
theoretically faster as well.
Add #option trace for disabling tracing calls
A call to "#option trace off" will disable all "tracing" function
calls.
Currently, "tracing" functions are defined as those which return void
and start with "Trace" or "print". Later we should change this out to
a specific designation we can attach to a function.
fix: Make truncation error show properly
fix: Let compile options count in function scope
Add on/off as aliases for true/false in #option
Add inheritance directives for compile options
Add file-scope compile options
Add option support to scopes and OPTION_VALUE expr
Scopes now maintain their own map of set option values, and the value
of an option under a scope can be looked up.
The OPTION_VALUE(option_name) expression returns the current value of
a given option in the current scope.
Make each imported file have its own scope
Renamed ASTProgram to ASTFile.
Renamed GlobalScope to RootScope. Introduced FileScope. RootScope now
pretends to locally have all objects that its FileScope children
register in it, except for options.
Add setting options to scripts and statement blocks
The syntax is:
\#option name value_expr.
The parser will give a warning if anything comes before the options in
the blocks.
Global or file level options are currently not allowed.
( grayswandir, 19th August, 2018 )
//Alpha 33
Fixed *bitmap->GetPixel(int x, int y). It now work swith the screen (and offset flags),
and with off-screen bitmaps. ( ZoriaRPG, 18th August, 2018 )
Fixed Untype(), moved Null() to Debug-> pointer as:
Debug->NULL(), Debug->Null(), Debug->NULL, and Debug->Null ( ZoriaRPG, 18th August, 2018 )
Allow global level compile errors
Allow script level compiler errors
Can now insert a compile_error statement inside of script definitions.
Add Array Literals
Of the following forms:
- {0, 1, 2}
- (int[]){0, 1, 2}
- (int[3]){}
- (int[3]){4}
Currently broken in the global scope, but the existing string literals
are also broken in the same way, so both will be fixed later in the same
commit.
( grayswandir, 23rd July, 2018 )
//Alpha 32
npc->Attributes[32], itemdata->Attributes[32], and npcdata->Attributes[32] are now untyped, for the same reason as Misc[].
npc->HitBy[10] now has indices for object UIDs. The valid indices are:
#define HIT_BY_NPC 0
#define HIT_BY_EWEAPON 1
#define HIT_BY_LWEAPON 2
#define HIT_BY_FFC 3
#define HIT_BY_NPC_UID 4
#define HIT_BY_EWEAPON_UID 5
#define HIT_BY_LWEAPON_UID 6
#define HIT_BY_FFC_UID 7
#define HIT_BY_COMBO 8
#define HIT_BY_MAPFLAG 9
Obviously, only indices 2, and 6 are in use at this time.
Some melee weapons do not register a hit at this time.
When a weapon hits an npc, both the screen index, and the script UID are stored in npc->HitBy[], in indices
2 and 6 respectively. I tried to apply a similar change to Link, but this wasn't stable, so I reverted it for now.
( ZoriaRPG, 16th August, 2018 )
Resized npc->HitBy[] and Link->HitBy[] to a size of [10] each. ( ZoriaRPG, 16th August, 2018 )
Temporarily rename some internal allegro functions so they don't
conflict with some new functions that glibc defines. ( grayswandir, 15th August, 2018 )
Fixed return values and setter values (div/mult by 10000) for npc->HitBy[] and Link->HitBy[] based on index of the array. ( 15th August, 2018 )
Fixed npc->Attributes. it was a size of 14, not 32. ( 15th August, 2018 )
Fixed datatype->Misc[]. The values above index 15 weren't set up properly, or initialised. ( 15th August, 2018 )
Fixed typecast for npc->HitBy[]. It's now 'untyped'. ( 15th August, 2018 )
Revised Untype() function, and NULL() function. ( ZoriaRPG, 11th August, 2018 )
Added NULL, Null, and Null() as alternatives to NULL() ( ZoriaRPG, 11th August, 2018 )
Added expanded ZScript docs. ( ZoriaRPG, 10th August, 2018 )
Added bitmap->Getpixel(x,y) ( ZoriaRPG, 10th August, 2018 )
Removed deprecated functions carried over from '2.future' and old 2.54 alphas that
have been replaced by datatype members. ( ZoriaRPG, 10th August, 2018 )
//Alpha 31
Added mock-up layout for revised Enemy Editor ( ZoriaRPG, 65th April, 2018 )
Segregated Enemy Editor Defences ( ZoriaRPG, 16th April, 2018 )
Moved Enemy Size tab into basic properties tab as a sub-tab. ( ZoriaRPG, 15th April, 2018 )
Fixed enemy editor defence sub-tabs. ( ZoriaRPG, 15th April, 2018 )
Fixed default enemy sounds. ( ZoriaRPG, 15th April, 2018 )
//Alpha 30
Added cascading tabs to the Enemy Editor:
The Defs 1, Defs 2, and Defs 3 tabs have been moved
into a *nested* tab interface.
The new tab, `Defenses`, has three tabs that cascade
below it.
This will save some room and remove some UI clutter. ( ZoriaRPG, 14th April, 2018 )
//Alpha 29
Fix: Fix enemies not seeking link at some angles. ( Tamamo, 13th April, 2018 )
Added a heap of variables to npcs:
misc16 -> misc32
npcscript, initD[8], intiA[2]
movement[32] (for patterns, args)
new_weapon[32] (for weapon movement patterns and args)
firesfx
//Alpha 28
Added whistle defence to enemies.
Added whistle Can Damage flag, and a damage attribute field to
the whistle item (in the Item Editor). ( ZoriaRPG, 10th April 2018 )
//Alpha 27
Added bool dmapdata->Sideview to ZScript.
The user may now enable the following effects on DMap-Basis, in
addition to a per-screen basis (as DMap flags, instead of as Screen Flags):
1. Sideview Gravity on All Screens (uses Dmaps[].sideview, new var.
2. Layer 3 is Background on All Screens (uses DMaps[].flgs&dmfLAYER3BG)
3. Layer 2 is Background on All Screens (uses DMaps[].flgs&dmfLAYER2BG
This works in ZC, but does not yet display properly in ZQuest.
I am not sure how to best do this, as the ZQ screen has no way to tell
to what DMap it is bound.
It may need to be a view option, as `View Layer 3 as Bckground` and
`View Layer 2 as Background` via the menus.
Fixed size of tabs in DMap editor to fit additional flags.
Added DMap flags `Treat Layer 2 as Background on all Screens` and
`Treat Layer 3 as Background on All Screens` to the DMap Editor (Flags).
These use Dmaps[].flags
This works in ZC, but does not yet display properly in ZQuest.
Im not sure how to best do this, as the ZQ screen has no way to tell to what DMap it is bound.
Changed wording for DMap sideview (DMaps Editor, Flags) to `Enable Sideview on All Screens`.
All screens of that DMap will be treated as sideview.
This is NOT Xor`d with the screen flag!
This uses a new vriable, DMaps[].sideview
( ZoriaRPG, 8th April, 2018 )
Added byte sideview to struct dmaps and updated V_DMAPS to 10.
Updated quest loading and saving. ( ZoriaRPG, 7th April 2018 )
//Alpha 26
Class FFScript is now shared between zc and ZQuest
NPCs, Items, and Weapons now have special UIDs (in class FFScript) that can be used
to track them either in-engine, or by script.
Added lweapon->UID, eweapon->UID, npc->UID, and item->UID to ZScript
( ZoriaRPG, 7th April, 2018 )
//Alpha 25
Added a compatibility fix for DrawInteger() and DrawCharacter() for quests made
using the old (broken) scaling factors. ( ZoriaRPG, 4th April, 2018 )
* Also implemented in 2.53.0 Beta 15
//Alpha 24
Added byte ScriptGeneratd param to weapon.add()
Fixed default weapon sprites for Gleeok, Fire Gleeok, Gohma, and Aquamentus
Added bool EnemiesAlive() and int NumberEnemies() to std_functions.zh.
( ZoriaRPG, 1st April, 2018 )
//Alpha 23
Added Extra Rule for older quests so that swords with a magic cost only apply it to beams,
and backported it to 2.53.0.
!! This needs to be an item editor flagset: Beams use Magic, Blade Uses Magic
Added a QR No Intro String in Ganon Rooms and backported it to 2.53.0 (beta 14)
Made all enemies, including unimplemented types, visible in the Enemy Editor for Tamamo.
Moved the code that sets default weapon sprites for NPCs (for old quests) from the Enemy Editor
and into quest loading code ( qst.cpp, readguys() ).
This should have fixed a bug with fire gleeoks in old quests. ( ZoriaRPG, 28th March, 2018 )
//Alpha 22
Fixed arrows not working; and making sword sprites. ( ZoriaRPG, 3rd March, 2018 )
Fixed swords not obeying magic costs. ( ZoriaRPG, 15th January, 2018 )
Added tooltips to the 'Quest Rev' and 'Min Rev' fields in the
Quest Header dialogue.
Cleaned up Header dialogue and made the quest number visible (but disabled)
by default. Holding Right Shift while opening the dialogue makes it an editable field.
* Also applied to 2.53.0 Beta 12 at this date. ( ZoriaRPG, 14th January, 2018 )
MISSING: npcdata->FireSound; npc->FireSound
NEEDED: npc-Defence for LW_SPARKLE.
NEEDED npc->FrozenTile offsets for facing dir, or something so that ZC chooses the
tile based on the same tile offset as the npc has before being frozen.
e.g. If they are facing left, on the third tile of a 4-tile animation,
the frozen tile should be the same offset.
NOT simply setting a static tile.
Reserved some mapscreen variables for future use.
Corrected the tooltip for Slash->Item combos (zq_misc.cpp).
Improved efficiency of string.zh functions, and updated the docs.
( ZoriaRPG, 10th January, 2018 )
Fixed swords and melee weapons conflicting with npc->HitBy[LWEAPON].
Added preliminary bool npc->Core. Cores of segmented enemies should set this true, segments false.
parentCore will be a bit trickier, and I'll add it only once I verify that this component works.
Added npc->HitBy[4]. Only lweapons attempt to set this at present, and link class weapons (e.g. swords) are, for some
reason, not doing it, but other lweapons work fine.
( ZoriaRPG, 5th January, 2018 )
Link->HitBy[] is set non-zero, and only persists for one frame.
Because it is set by Link.checkhit(), the timing is a bit bonkers...
Link->HitBy[] is valid AFTER WAITDRAW through to the next WAITDRAW.
Why is ZC timing so bonkers?!
Fixed Link->Misc[] not being divided or multiplied (internally) by 10000.
--also applied to 2.53.0b12 at this date.
Fixed Link->HitBy[] and Link->Defense[], which were copy/pasted from Misc[]
and thus, were not doing div/mult by 1000.
( ZoriaRPG, 4th January., 2018 )
! This should be set when damage is applied to Link ! --Now I forgot what this was intended to mean. -Z
Added a pair of Link class arrays. The first, stores the last weapon or npc that hit Link.
This is not yet cleared every frame. The values only change when Link is hit.
The ZScript interface for this is Link->HitBy[4], where index 0 is the last npc screen index that
hit him, and index [1] is the last eweapon.
The second, is Link->Defense[256], and while the ZScript array is r/w.
there is no code to swet up defences in the quest, nor anything that makes use of them.
They are not yet saved at all, and this will need an Init Data panel, plus code to save it
with the quest, and to load it. Heck, it'll need new section info. :(
It will also need code to modify the damage value of weapons that hit Link.
( ZoriaRPG, 3rd January, 2018 )
Fixed a bug where the return for Link->Action when rafting was only returning
LA_RAFTING on the first frame of the action, and LA_SWIMMING during the rafting animation.
( 31st December, 2017 )
Applied Item Editor fix for InitD values. (They were clamped from -31768 to 327678, and
now they are clamped between -214748.3647 and 214748.3647.
Applied to 2.54 Alpha 22, and 2.53 Beta 12.
Added the following datatypes:
dropdata, ponddata, warpring, doorset, misccolors,
rgbdata, palette, zcmidi, palcycle, gamedata, cheats
NOTE: None of these have any variables at this time.
Some of these may later be discarded, or repurposed; or they
may not be used in 2,54, but instead will be implemented fully
in 2.55, or later.
Trace() now supports any datatype. (If you trace a bool, false will trace 0
and true will trace 0.0001.)
//Alpha 21
Fixed a bug in Game->LoadComboData that could crash ZC, and copied
the fix to all of the other, new Game->Load functions, in the event that
they also have this issue.
The problem was caused by setting their ref to LONG_MAX, which could
cause memory corruption; trying to access invalid memory areas.
Added combodata variables and arrays:
Type, Tile, Flip, Walk, CSet, Foo, Frames, NextData,
NextCSet, Flag, SkipAnim, NextTimer, SkipAnimY, AnimFlags,
Expansion[6], Attributes[4], TriggerFlags[3], UserFlags,
TriggerLevel, BlockNPC, BlockHole, BlockTrigger, BlockWeapon[32],
ConveyorSpeedX, ConveyorSpeedY, SpawnNPC, SpawnNPCWhen, SpawnNPCChange,
DirChange, DistanceChangeTiles, DiveItem, Dock, Fairy,
FFCAttributeChange, DecorationTile, DecorationType, Hookshot,
Ladder, LockBlock, LockBlockChange, Mirror, DamageAmount, DamageDelay,
DamageType, MagicAmount, MagicDelay, MagicType, NoPushBlocks,
Overhead, PlaceNPC, PushDir, PushDelay, PushHeavy, Pushed, Raft,
ResetRoom, SavePoint, FreezeScreen, SecretCombo, Singular (self-only),
SlowWalk, Statue, Step, StepChange, Strike[32], StrikeRemnants,
StrikeRemnantsType, StrikeChange, StrikeItem, TouchItem,
TouchStairs, TriggerType, TriggerSensitivity, Warp, WarpSensitivity,
WarpDirect, WarpLocation, Water, Whistle, WinGame, BlockWeaponLevel.
Fixed TypingMode not cleared on 'Reset System' from FKeys/menus.
( ZoriaRPG, 26th December, 2017 )
Added Game->TypingMode : This sets a flag in FFCore that disables KB input from
moving Link, or using his button items, and so forth, to ensure that all keypresses
are read as char keys, instead of controller keys.
It is reset to false on every quest load, and on F6 (or death, save, etc.)
Fixed a packfile error with loading combos (V_COMBOS was not set to 10).
Renamed 'Script n' counters to 'Custom n'.
Changed how item 'magic cost' works, allowing the user to set it to any counter.
Added this to ZScript as itemdata->CostCounter.
itemdata->MagicCost still exists, but I have added a second interface to it as itemdata->Cost
to reflect that Cost is no longer tied to magic.
( ZoriaRPG, 25th December, 2017 )
Expanded triggerflags[2] to triggerflags[3] so that there is enough room for more weapons
that we will be adding. V_COMBOS is now 10, and V9 only uses the lowest two.
Added UI links to set the triggerflags[] and triggerlevel values from the Combo Editor.
Added combo vars long triggerflags[2] and long triggerlevel.
Finished the 'Attributes' tab of the Combo Editor.
Added mock-up 'Triggered by' (1) and (2) tabs for all weapon types, with a level requirement field.
Added mock-up 'Attributes' tab to the Combo Editor. (The fields are in place, but they do nothing.)
Moved the ZASM label for Version (ZELDAVERSION) to a code that was accessible by 2.50.3 and earlier.
Changed combo editor dialogue to add tabs 'Data' and 'Attributes'
Added long Attributes[4] and long usrflags to *newcombo
combodata->Attributes[] and Screen->GetComboAttribute(pos, indx) / SetComboAttribute(pos, indx)
combodata->Flags and Screen->ComboFlags[pos] -- Maybe ComboMisc[pos] to avoid confusion?
Combo QR rules will become ComboMisc[] !
( ZoriaRPG, 18th December, 2017 )
Added Link->Stun (When Link is stunned he cannot move, or attack, but he can change direction)
Added a 32-index array of questmisc[] to the misc struct.
This is to be used in quest Init Data, to set up global quest
values for use by scripts. The Init Data dialogue is not yet done,
but the ZScript interface is, under Game->Misc[32].
Added char questmisc_strings[32][128] to store the user-defined names of each of the Game->Misc[] fields.
Added subscreen counters Life, Max Life, Magic, Max Magic. ( ZoriaRPG, 12th December, 2017 )
Added Graphics->Wavy(bool), Zap(bool), Greyscale(bool).
These replace Screen->WavyIn(), WavyOut(), ZapIn(), ZapOut()
GreyscaleOn(), and GreyscaleOff().
Added Link->Pushing. This returns the number of frames for which Link has been
walking in place, pushing on a solid object.
Note: I decided that this was better than hacking
a real pushing action in, or adding a fake action, as the latter would conflict
with existing scripts that use LA_WALKING for /n/ frames, to determine if
Link is walking in place, and thus, pushing on an object.
Link.cpp now sets script-engine only actions. Reading Link->Action reads these
rather than the actual, internal 'action' variable.
( ZoriaRPG, 9th December, 2017 )
This allows setting actions arbitrarily in Link.cpp to give scripts more useful access,
or adding arbitrary script actions, without affecting the hardcoded action stuff and
general frame timing.
I would prefer these set action bits, but then clearing them would be a mess.
Link->Action == DYING is still never set, despite setting (the fake ffcore) var earlier
than the engine variable. :(
( ZoriaRPG, 7th December, 2017 )