PDA

View Full Version : The List of FF Script Commands/Variables:



ShadowTiger
08-23-2006, 06:48 PM
Taken from a Private Session DN and I hadon IRC:


Commands:

SETV, //0x0000
SETR, //0x0001
ADDR, //0x0002
ADDV, //0x0003
SUBR, //0x0004
SUBV, //0x0005
MULTR, //0x0006
MULTV, //0x0007
DIVR, //0x0008
DIVV, //0x0009
WAITFRAME, //0x000A
GOTO, //0x000B
CHECKTRIG, //0x000C
WARP, //0x000D
COMPARER, //0x000E
COMPAREV, //0x000F
GOTOTRUE, //0x0010
GOTOFALSE, //0x0011
GOTOLESS, //0x0012
GOTOMORE, //0x0013
LOAD1, //0x0014
LOAD2, //0x0015
SETA1, //0x0016
SETA2, //0x0017
QUIT, //0x0018
SINR, //0x0019
SINV, //0x001A
COSR, //0x001B
COSV, //0x001C
TANR, //0x001D
TANV, //0x001E
MODR, //0x001F
MODV, //0x0020
ABSR, //0x0021
MINR, //0x0022
MINV, //0x0023
MAXR, //0x0024
MAXV, //0x0025
RNDR, //0x0026
RNDV, //0x0027
FACTORIAL, //0x0028
POWERR, //0x0029
POWERV, //0x002A
IPOWERR, //0x002B
IPOWERV, //0x002C
ANDR, //0x002D
ANDV, //0x002E
ORR, //0x002F
ORV, //0x0030
XORR, //0x0031
XORV, //0x0032
NANDR, //0x0033
NANDV, //0x0034
NORR, //0x0035
NORV, //0x0036
XNORR, //0x0037
XNORV, //0x0038
NOT, //0x0039
LSHIFTR, //0x003A
LSHIFTV, //0x003B
RSHIFTR, //0x003C
RSHIFTV, //0x003D
TRACER, //0x003E
TRACEV, //0x003F
TRACENL, //0x0040
DUMMYCOMMAND4, //0x0041
PUSHR, //0x0042
PUSHV, //0x0043
POP, //0x0044
ENQUEUER, //0x0045
ENQUEUEV, //0x0046
DEQUEUE, //0x0047
PLAYSOUNDR, //0x0048
PLAYSOUNDV, //0x0049
LOADWEAPONR, //0x004A
LOADWEAPONV, //0x004B
LOADITEMR, //0x004C
LOADITEMV, //0x004D
LOADNPCR, //0x004E
LOADNPCV, //0x004F
CREATEWEAPONR, //0x0050
CREATEWEAPONV, //0x0051
CREATEITEMR, //0x0052
CREATEITEMV, //0x0053
CREATENPCR, //0x0054
CREATENPCV, //0x0055
ignore everything after the commas

Variables...
{ "D", D(0), 8, 0 },
{ "A", A(0), 2, 0 },
{ "DATA", DATA, 0, 0 },
{ "FCSET", FCSET, 0, 0 },
{ "DELAY", DELAY, 0, 0 },
{ "FX", FX, 0, 0 },
{ "FY", FY, 0, 0 },
{ "XD", XD, 0, 0 },
{ "YD", YD, 0, 0 },
{ "XD2", XD2, 0, 0 },
{ "YD2", YD2, 0, 0 },
{ "FLAG", FLAG, 0, 0 },
{ "WIDTH", WIDTH, 0, 0 },
{ "HEIGHT", HEIGHT, 0, 0 },
{ "LINK", LINK, 0, 0 },
{ "COMBOD", COMBOD(0), 176, 3 },
{ "COMBOC", COMBOC(0), 176, 3 },
{ "COMBOF", COMBOF(0), 176, 3 },



{ "INPUTSENABLED", INPUTSENABLED, 0, 0 },
{ "FORCEDUP", FORCEDUP, 0, 0 },
{ "FORCEDDOWN", FORCEDDOWN, 0, 0 },
{ "FORCEDLEFT", FORCEDLEFT, 0, 0 },
{ "FORCEDRIGHT", FORCEDRIGHT, 0, 0 },
{ "FORCEDA", FORCEDA, 0, 0 },
{ "FORCEDB", FORCEDB, 0, 0 },
{ "FORCEDL", FORCEDL, 0, 0 },
{ "FORCEDR", FORCEDR, 0, 0 },
{ "LINKX", LINKX, 0, 0 },
{ "LINKY", LINKY, 0, 0 },
{ "LINKDIR", LINKDIR, 0, 0 },
{ "LINKHP", LINKHP, 0, 0 },
{ "LINKMP", LINKMP, 0, 0 },
{ "LINKMAXHP", LINKMAXHP, 0, 0 },
{ "LINKMAXMP", LINKMAXMP, 0, 0 },
{ "LINKACTION", LINKACTION, 0, 0 },


{ "WPNX", WPNX, 0, 0 },
{ "WPNY", WPNY, 0, 0 },
{ "WPNDIR", WPNDIR, 0, 0 },
{ "WPNSTEP", WPNSTEP, 0, 0 },
{ "WPNANGULAR", WPNANGULAR, 0, 0 },
{ "WPNANGLE", WPNANGLE, 0, 0 },
{ "WPNDRAWTYPE", WPNDRAWTYPE, 0, 0 },
{ "WPNPOWER", WPNPOWER, 0, 0 },
{ "WPNDEAD", WPNDEAD, 0, 0 },
{ "WPNID", WPNID, 0, 0 },
{ "WPNTILE", WPNTILE, 0, 0 },
{ "WPNCSET", WPNCSET, 0, 0 },
{ "WPNFLASHCSET", WPNFLASHCSET, 0, 0 },
{ "WPNFRAMES", WPNFRAMES, 0, 0 },
{ "WPNFRAME", WPNFRAME, 0, 0 },
{ "WPNASPEED", WPNASPEED, 0, 0 },
{ "WPNFLASH", WPNFLASH, 0, 0 },
{ "WPNFLIP", WPNFLIP, 0, 0 },
{ "WPNCOUNT", WPNCOUNT, 0, 0 },

{ "ITEMX", ITEMX, 0, 0 },
{ "ITEMY", ITEMY, 0, 0 },
{ "ITEMDRAWTYPE", ITEMDRAWTYPE, 0, 0 },
{ "ITEMID", ITEMID, 0, 0 },
{ "ITEMTILE", ITEMTILE, 0, 0 },
{ "ITEMCSET", ITEMCSET, 0, 0 },
{ "ITEMFLASHCSET", ITEMFLASHCSET, 0, 0 },
{ "ITEMFRAMES", ITEMFRAMES, 0, 0 },
{ "ITEMFRAME", ITEMFRAME, 0, 0 },
{ "ITEMASPEED", ITEMASPEED, 0, 0 },
{ "ITEMDELAY", ITEMDELAY, 0, 0 },
{ "ITEMFLASH", ITEMFLASH, 0, 0 },
{ "ITEMFLIP", ITEMFLIP, 0, 0 },
{ "ITEMCOUNT", ITEMCOUNT, 0, 0 },

{ "NPCX", NPCX, 0, 0 },
{ "NPCY", NPCY, 0, 0 },
{ "NPCDIR", NPCDIR, 0, 0 },
{ "NPCRATE", NPCRATE, 0, 0 },
{ "NPCFRAMERATE", NPCFRAMERATE, 0, 0 },
{ "NPCHALTRATE", NPCHALTRATE, 0, 0 },
{ "NPCDRAWTYPE", NPCDRAWTYPE, 0, 0 },
{ "NPCHP", NPCHP, 0, 0 },
{ "NPCID", NPCID, 0, 0 },
{ "NPCDP", NPCDP, 0, 0 },
{ "NPCWDP", NPCWDP, 0, 0 },
{ "NPCTILE", NPCTILE, 0, 0 },
{ "NPCENEMY", NPCENEMY, 0, 0 },
{ "NPCWEAPON", NPCWEAPON, 0, 0 },
{ "NPCITEMSET", NPCITEMSET, 0, 0 },
{ "NPCCSET", NPCCSET, 0, 0 },
{ "NPCBOSSPAL", NPCBOSSPAL, 0, 0 },
{ "NPCBGSFX", NPCBGSFX, 0, 0 },
{ "NPCCOUNT", NPCCOUNT, 0, 0 },
{ "SD", SD(0), 8, 0 },
{ "GD", GD(0), 256, 0 },




(My comments are preceeded by a >)

If there is a number in the third column, then there are that many of
the variable on that line
For instance...
D
There is an 8 in column 3
So, the variables are d0, d1, d2, d3, ... d7

And, almost all of the commands are finished and working.
Everything before and including the link variables are working
As well as sd and gd

item, wpn, and npc ones aren't finished yet
I'm also going to add a loop command
LOOP where,counter
> So LINKACTION ..
> Is the B Button?
> Can you make Link fire his weapon?
no.
and yes
linkaction is an internal... id of what Link is doing
attacking, walking, pushing, swimming
> So it's the condition.
setting it is probably not going to be very useful for anything
basically
> Sweet. o.o So you can make a FFC do nothing until Link is swimming,
you can make link do stuff, though
yeah!
> so when he gets in the water, it'll spread flames all over the screen, for example.
exactly
bingo
so, no coordinates needed
just check the action
as for controlling link, start off by turning INPUTSENABLED off
> Right, that much, I saw from the conversations with _L_.
that disables all user control except for the escape key
and F6,F7,F8, etc.
system stuff
then, you set FORCEDB to 1
SETV FORCEDB,1

_L_
08-23-2006, 11:05 PM
* Does FLAG stack with a combo's inherent flag?
* Maybe LOADWEAPON and such should be renamed LOADWPN, for naming consistency with WPNX and such?
* Can you make a script that reads the combo data for the combo at x,y? Because I've been insisting on it for awhile now!
* I want the ability to turn off Link's collision detection (SETV LINKCOLL, 0), without physically removing Link and putting a duplicate of his sprite in his place. Could you make that? It'd make implementing a Roc's Feather that works in every room easier.
* Also, how about the ability to replace Link's sprite - for just one frame? (SETV LINKTILE, 150). We could make Link walk up staircases, make faces, wear masks and such!

jman2050
08-23-2006, 11:13 PM
gah, I forgot about inherent flags... combos at x,y will come by beta 13... te rest sound like good suggestions,we'll look into those.

_L_
08-24-2006, 03:59 AM
Also, I'd very much appreciate the ability to read the player's input using something like "SETV d0,INPUTRIGHT" or "COMPAREV INPUTB,1". The new variables would function like LINKACTION, returning 1 when their respective button is pressed - even when INPUTSENABLED is 0.

EDIT: Ooh! I also need the ability to read the walkability of a location. I don't want to have to compare Link's present location to that of 2000 different combos just to see if he can jump over it!

OR, barring that, the ability to determine the type of a combo, given its number.

Rakki
08-28-2006, 04:59 AM
More good suggestions there, _L_. :D

And, this thread needs to be stickied. It took me a few minutes to find it because it was lost in the clutter of the other topics. >_>;

ShadowTiger
08-28-2006, 10:42 AM
I was actually hoping This (http://www.armageddongames.net/showthread.php?t=93104) would go through. At a (very) quick glance at the forums, I'm not seeing one yet. If / When this forum is created, this would undoubtedly be at the very top.