Originally Posted by
Saffith
I don't see it working in the older versions. Could you make a quest?
action is set back to none if no magic item has been used, and that's always been the case. I don't see why it would ever have worked.
I saw that in link.cpp. i was going to go in and try to fix it, but I don't see what could have caused it to work. I had some files from 2.50.1, and even there, I see nothing.
Alucard claims it did, and I'm waiting for a reply. I feel as if I have set it before, back in 2.50.0, but IDK if it worked or not. I suppose I could make a patch to make it work, but I have no idea if the result would be useful, because without a clk value to control it, there isn't much for it to do. The magic items all have a clock for their animation, so I guess a generic clock would work, that has a 100 frame count, or something.
Code:
if(magicitem==-1)
{
if ( --castclock <= 0 ) { action = none; castclock = 90; }
}
break;
Something like that.
Adding that var to the class shouldn't affect much in 2.50.3, AFAIK, but this is speculative in general. I'll test that next build and see if it works at all.
I'll wait for is reply, but I'm still trying to sort out the flipping npc script defs. IDK if you checked in on that thread, but after adding the code to the loader, everything is going mad. I'm uploading that source and bins, and I'll post them in that thread, if you want to have a look while I check into this LA_CASTING business.
------------------
Edit: Hmph. In link.cpp, switch(new_action), i did:
Code:
case casting:
if ( !magiccastclk ) magiccastclk = 96;
action = casting;
break;
and in switch(action)
Code:
case casting:
if(magicitem==-1)
{
if ( --magiccastclk <= 0 ) { action = none; }
}
break;
Doing that froze link for the 96 frames that I specified, but it didn't change his sprite. If I can get his sprite to change to the casting sprite, that will work; so I suppose that counts as progress?
------
When determining what version of ZC a quest was mad ein, should I be using one of these:
Code:
//Version number of the different section types
#define V_HEADER 3
#define V_RULES 13
#define V_STRINGS 5
#define V_MISC 7
#define V_TILES 1
#define V_COMBOS 7
#define V_CSETS 4
#define V_MAPS 18
#define V_DMAPS 9
#define V_DOORS 1
#define V_ITEMS 25
#define V_WEAPONS 6
#define V_COLORS 2
#define V_ICONS 1
#define V_GRAPHICSPACK 1
#define V_INITDATA 18
#define V_GUYS 25
#define V_MIDIS 4
#define V_CHEATS 1
#define V_SAVEGAME 11
#define V_COMBOALIASES 2
#define V_LINKSPRITES 5
#define V_SUBSCREEN 6
#define V_ITEMDROPSETS 2
#define V_FFSCRIPT 6
#define V_SFX 6
#define V_FAVORITES 1
...or
Code:
#define ZELDA_VERSION 0x0254 //version of the program
#define VERSION_BUILD 32 //build number of this version
or something else?
If I knew where the check for how bitmap placement is handled was located, that would be a good template.
I need to set up a check to determine if a quest was made in 2.50.3 or earlier, versus this, so that checking edefSCRIPT for all types still occurs in quests designed with that in mind.