//Beta 1
Added new ZScript commands:
Game->CappedFPS
OverlayTile(int first, int second)
Game->GetDMapScreenDoor
Game->SetDMapScreenDoor
Game->GetDMapScreenState
Game->SetDMapScreenState
Added using bitmaps to Screen->Quad as textures.
//Beta 2
Updated Build to 30, and set version as 254
Fixed missing entry for THROTTLEFPS in the bytecode.
Tried addin additional bitmap draw mode rotate_sprite_trans: This allegro function call would not compile. We need to udate allero.
Added constant TEX_BITMAP to std_constants
Created test quests for OverlayTile, and Game->CappedFPS
//Beta 3
Fixed build ID and changed to 31.
Corrected OOverlayTile
Updated some instructions.
Fixed minor oversight in std_functions
//Beta 4
Added tilde key checking to CappedFPS
//Beta 5
Began implementing DrawBitmapEx
//Beta 6
Implemented DrawBitmapEX, with limited modes.
//Beta 7
Added additional modes to DrawBitmapEX; updated from 13 to 16 args.
Modified Quad (bitmaps as textures), so it might work now.
Updated ZScript docs to v0.7.6 to include these additions.
//Beta 8
Tried merging the script drawing changes from Gleeok. This did not go well. (WHATNO8)
//Beta 9
This is forked from Beta 7, not Beta 8.
Merged some drawing components from allegro 4.4.2 to our 4.2 build.
This adds the ability to call draw_sprite_ex, which is not ordinarily in allegro 4.2.
DrawBitmapEx now has some additional modes enabled.
Added BitmapQuad(), but it does not work rightly, and it may be unstable.
Tried to permit reading the entire screen as a render source with DrawBitmapDX, but this did not work.
Updated ZScript docs to v0.7.7 to include these additions.
//Beta 10
Added Link->Diagonal and Link>BigHitbox
Updated the ZScript docs to v0.7.8 to include these additions.
Beta 11
Added ->ID to itemdata
//Beta 12
Added an entire list of variables to itemdata, as follows:
//These correspond to the ten pulldown values on the 'data' page.
Misc1, Misc2, Misc3, Misc4, Misc5, Misc6, Misc7, Misc8, Misc9, Misc10
//These correspond to the ten pulldown values on the 'action' page.
Attribute1, Attribute2, Attribute3, Attribute4, Attribute5, Attribute6, Attribute7, Attribute8, Attribute9, Attribute10
Modifier //The Link Tile Modifier
Script //The Action Script
PScript //The Pickup Script
MagicCost //The MP Cost of the item
MinHearts //The minimum hearts to pick up the item (e.g. swords in Z1)
Tile //The tile used by the item
Flash //Flash, and two-hand.
CSet //The item CSet
AFrames //The number of animation frames
ASpeed //The animation speed
Delay //The animation delay
Updated the ZScript docs to v0.7.9 to include these additions.
//Beta 13
Added the missing itemdata flags: Combine, Downgrade, KeepOld, RupeeCost, Edible, GainLower, Flag1, lag2, Flag3, Flag4, Flag5, and 'Unused'.
Updated the ZScript docs to v0.8.0 to include these additions.
//Beta 14
Expanded Link->Misc[16] to Link->Misc[32]
Expanded lweapon->Misc[16] to lweapon->Misc[32]
Expanded eweapon->Misc[16] to eweapon->Misc[32]
Expanded item->Misc[16] to item->Misc[32]
Expanded npc->Misc[16] to npc->Misc[32]
Modified the ZQuest 'Item Editor' so that no options are greyed out (disabled), allowing the user to set values to work in conjunction with the new itemdata entries, in scripts.
Updated zscript.txt to v0.8.1 to reflect these changes.
//Beta 15
Added public link var zstringwarp , and an if(zstringwarp) statement to the Link class to support warping by string. -ZoriaRPG
Added SCCs for Warp, Warp2, and SetScreenD to zstrings. -Dimentio
Wrote functions for SCC cases MSGC_WARP, MSGC_WARPSQ, MSGC_SETSCRD. -ZoriaRPG
Added Link->UseWarpReturn to ZScript. -ZoriaRPG
Added handlers in the Link class: setWarpReturnSquare(int), getWarpReturnSquare(), getDirectItem(), getDirectItemA(), getDirectItemB(). -ZoriaRPG
Added Link->UsingItem, Link->usingItemA, Link->UsingItemB to ZScript. -ZoriaRPG
->These should return the item number being used, or -1.
->Setting these does nothing at present. The internal variables appear to never be set?!
//Beta 16
Added Link->WarpSound : The user may set this, and if it is not 0, this sound plays during Link->Warp and Link->PitWarp.-ZoriaRPG
Worked on do_warp()
Added debug info to do_warp
//Beta 17
Stopped side warps playing warp sfx. -ZoriaRPG
Added Link->PlayWarpSound : This enables/prevents a sound from playing even if set. Should override for side warps, etc.
Fixed Link->PlayWarpSound. Now it returns properly. -ZoriaRPG
Added SCC for Warp without a return square. -ZoriaRPG
How the hell do we set tmpscr->warpreturnc or why is wrindex=(tmpscr->warpreturnc>>(8+(index*2)))&3; not working?!
New SCCs are:
/23/dmap/screen - Warps to dmap, screen
/24/dmap/screen/return - Warps to dmap, screen, using return square 'return'; but the return square thing is not working.
/26/reg/value - Sets Screen->D[reg] = value.
Added bool isscriptedwarp and associated handlers to link.h and link.cpp. ( LinkClass::getScriptedWarp(), etc.)
Modified do_warp() and dowarp() to use isscriptedwarp for how warps by script set wtSCROLL warpreturnx[] and warpreturny[], thus:
if(get_bit(quest_rules,qr_NOARRIVALPOINT))
{
if ( getScriptedWarp() ){
setScriptedWarp(false);
wrx=tmpscr->warpreturnx[wrindex];
wry=tmpscr->warpreturny[wrindex];
}
else{
wrx=tmpscr->warpreturnx[0];
wry=tmpscr->warpreturny[0];
}
}
//Beta 18
Additional work on warping.
The SCC warps are buged. If the present screen is a screen 8 cave, Link warps into unknown space. -ZoriaRPG
Added checks for isscriptedwarp to LinkClass::dowarp(int,int)
//Beta 19
Added Link->WarpEffect to set an in-built effect for Link->Warp -ZoriaRPG
Added Screen->ZapIn(), Screen->ZapOut, Screen->WavyIn(), Screen->WavyOut, and Screen->OpeningWipe -ZoriaRPG
These replicate the animations from tilewarps, to call at any time (without warping).
Fixed return squares for Link->Warp
Added additional SCCs for warping, and rewrote some of the old ones.
Renumbered SCCs for warping (31, 32, 33, 34) and Scren->D (40)
//Beta 20
Partially rewrote LinkClass::dowarp() to fix sound and dest issues.
Renamed bool Link->PlayWarpSound to Link->SideWarpSounds
Added ClearSCCWarpValues and used it to clean up SCC warps.
Added LinkClass::playpitwarpsfx and bool Link->PitWarpSounds to ZScript, to determine if pit warps play a sound
Added bool LinkClass::ispit , LinkClass:: void getIsPitWarp, bool setIsPitWarp.
These are used to determine if the warp is a ptwarp after all the other vars clear.
We need to rewrite PitWarp; eh?
All new ZScript features, and warp sounds work.
SCC Warp features still require testing, and debugging.
Updated zscript.txt and 2.54_New_Zscript.txt to reflect the changes and additions.
Updated 'std_constants' with new WARPFX_* values.
PitWarpSound and SideWarpSound seem to be joined somehow. Check to see if any of the EVENTS in Link.cpp might
be causing this, such as the event that calls dowarp().
Discovered that zlaunch-w.exe will crash if zquest-w is not in its working path. -ZoriaRPG
//Beta 21
I appear to have fixed all of the warp sound conflicts, so we shall see what happens. -ZoriaRPG
//Beta 22
Saffith pointed out that SCC numbering was overflowing into ASCII escape char space.
Fixed new SCC numbering, and rearranged.-Z 15/Dec/2016
Changed the SCC IDs for new SCCs as follows:
\18 Screen->D
\19 SetScreenD(screen,reg,value)
\23 SetDmapScreenD(dmap,screen,reg,value)
\26 Warp(dmap,screen)
\27 Warp(dmap,screen,return)
\28 Warp(dmap,screen,return,sound)
\29 Warp(dmap,screen,return,sound,effect)
Added Link->Eaten, Link->Extend, Link->SetTile(int,int,int,int) -Z 15/Dec/2016
Added constants for LSPRITE_* (Link Sprite) and cleaned some things in std_constants.
//Beta 23
Added temporary stuff for Link->SetExtend(int,in6t,int), Link->GetExtend(int,int) -Z
Fixed Link->Extend not setting all dirs. -Z 15/Dec/2016
I suggest droping the SCC for GetScreenD, as Screen->D and DMapScreenD should suffice. -Z
I would also cut two of the warp functions to save space. -Z
Link->SetTile(i,i,i.i) isn't workin. Saffith says it's because of how Link is drawn. This may be true,
but I suspect that my stack functions are also rubbish. -Z 16/Dec/2016
These may need to wait until 2.55, as there are more important facets to worry about, when I'm wasting
30+ hours recompiling to test changes. -Z 16/Dec/2016
I'd still like to partially rewrite pit and side warps, and give each a unique sound var, so that I can
dispose of this boolean flag and shared soud silliness. -Z
Disabled the ability to call Link->GetExtend(i,i) and Link->SetExtend(i,i,i). -Z 16/Dec/2016
These were returning errors:
Couldn't find function label #1820
Couldn't find function label #1821
Link->SetTile started generating a SP error. Calling it would hang ZC. Tried a new fix.-Z 16/Dec/2016
Updated docs.
//Beta 24
Worked on Link->SetTile, Link->GetExtend, Link->SetExtend -Z
//Beta 25
Chaned Link->SetExtend() to Link->GetLinkExtend() and Link->GetExtend() to Link->SetLinkExtend().
This should prevent issues with internal labels. -Z
//Beta 26
Some minor opcode revisions for GetLinkExtend and SetLinkExtend. Note that they still are not correct,
but they no longer do *nothing at all*. -Z
Updated docs.
Public release.
//Beta 27
Worked on Set/GetExtend opcodes and entries. Revised get_link_extend to be a binary opcode function. -Z
Started working on ten script weapon defs. Added enedata_defense3_list, and editor panels to zq_custom.cpp and expanded the
edefd enum for all ten in addition to generic script in zdefs.h. Nothing should be different about guys./h/cpp/.
Edited the jproc dialogue boxes, and spacing for the third defs tab is less than the other two.
-->This is because the other pages fit only nine types per tab.
I should just enlarge the window. -Z
Note: I have no updated the weapon damage checking to *do anything with* these new fields, but the user should
be able to set the values.
!Adding 'Double Damage' to the list of defense effects would also be nice.
Added scriptdefense[] to npcs, and the related ZScript stuff as n->ScriptDefense[10].
Fixed npc->Misc, *weapon->Misc, item->Misc, and Link->Misc in GlobalSymbols.cpp.
->I forgot to set their size to 32 there. Fixed now. -Z
Added a bunch of stuff to zq_custom.cpp. Might work now.
Modified zq_class.cpp, zdefs.h, guys.h,
Added extra define and enum to zdefs.h for script weapon types.
Added for loops to write to the new array.
-ZoriaRPG 18-Dec-2016
For some reason, int writeguys(PACKFILE *f, zquestheader *Header) is preventing npcs from spawning
with the new scriptdefense[] values?
Something is clearly amiss in either zq_class.cpp or zq_custom.cpp, where the values are set.
//Beta 28
Disabled writing scriptdefense[] to the packfile, to allow NPCs to spawn, while we figure out why this is happening. -Z
Updated docs.
//beta 29
Added the script defs to the packfile. Saving/Reading them caused massive corruption. -Z
//Beta 30
Disabled saving script defs set from the editor.
They still work when set by script, but they are not retained with the quest (yet),.. -Z
Implemented enemy weapon checks for script types in guys.cpp with new functions checking them. -Z
Setting n->ScriptDefense[] works perfectly, although we will need to add a quest version check
to prevent older quests that used the generic defense from obeying segregated defense rules. -Z
Tested npc->ScriptDefense[] and verified that it works. -Z
Fixed the item editor field for 'Sound' to display properly. -Z
//Beta 31
Began adding Link->Action(LA_CASTING)
Worked on enemy editor stuff.
//Beta 32
Reverted the enemy editor changes.
Trying again.
//Beta 33
//Based on Beta 30 (Stable)
Added some casting routines, but these freeze Link, so I disabled them for the present. -Z
Updated zquest.txt to fix a typo in Misc. Colours. -Z
//Beta 34
Added new definitions for reading the packfile. if V_GUYS is > 24.
Updated V_GUYS to 25
Fixed the packfile issues in qst.cpp, zq_class.cpp, and finished adding the scrit defences to the ZQ Editor. -Z
Setting the ten script type defences now works as intended, both from the editor, and from scripts.
Requires testing old quests, to see if anything broke. -Z 19/Dec/2016
Added a method of checking if an old quest is running to deferr the script type defence checks to the generic edefsSCRIPT.
THis requires testing. -Z 19/Dec/2016
Merged the 2.50.3 RC1 allegro config files and such into 2.54. -Z 19/Dec/2016
New public build candidate.
Updated docs: Updated zquest.txt with enemy editor changes. -Z
//Beta 35
Modified the packfile reading so that enemies from older quests will forward their defense[edefSCRIPT]
setting to each of the ten scripdefense[n] indices. This means that in the enemy editor, loading an old
quest will push the old values to the new indices. -Z 19/Dec/2016
Renamed std_constants_2.50.2.zh to std_constants_2.54.zh -Z
Renamed std_f_2.50unctions.2.zh to std_functions_2.54.zh -Z
Added setting to std.cfg to disable mods to OnSidePlatform(), despite that the revised function isn't in this build.
Fixed AdjacentCombo(int,int,int) in std_functions. -Z
New public build candidate.