The Dink Network

FB1 Bugs - specifically screenlock issues

Friends Beyond 1

January 17th 2006, 12:15 AM
duck.gif
wesley
Peasant Male United States
 
Over the next few days I am hopefully going to be able to fix at least the screenlock issues with this mod. Or you can use a "cheat" program to get around these bugs. Get the cheat prog from the downloads section.
January 17th 2006, 08:10 AM
fairy.gif
Arik
Peasant Male
 
That's really great news. If you want any help testing, let me know - I've delved into the scripts to fix a few things myself before. Off the top of my head, the screenlock stuff can be fixed just by searching the script files for
sp_disabled(&current_sprite, 1);
and replacing it with
sp_active(&current_sprite, 0);

There is also a major warp problem in the underground place and some issues with the run system, but stop me if I'm just telling you stuff you already know
January 17th 2006, 11:06 AM
duck.gif
wesley
Peasant Male United States
 
its been a long time since I have touched anything to do with Dink so I am trying to relearn a lot of stuff. I know the screenlock issue was a problem to do with the randomly appearing enemies. The quick fix (and the one I will most likely take) is to remove the randomness of the enemies. I tried just doing an sp_kill() on the ones that were disabled, but that didn't work, so I may look into it further or just remove the random at least for these patches. I will get the random working for later releases though as I like how it looks better than the same enemies appearing all the time.
January 17th 2006, 12:13 PM
anon.gif
Arik
Ghost
 
I figured that you'd be relearning stuff - it only takes a couple of months before you go back to look at your own scripts and think "buh?", I find

I like the random enemies too. I'm pretty sure the problem is in the use of sp_disabled to stop the sprite. Disabling the sprite will it from moving, but according the the DinkC reference the script still runs, which means they're still brain 9 and they're still counted as live enemies by the screenlock script. Seriously, try replacing the sp_disabled commands with
sp_active(&current_sprite, 0);
That'll remove the sprite entirely, so I'm 99% sure that will work. Although if using an sp_kill command didn't work then maybe not. Hmm.

I'll have a quick run through the game either tonight or tomorrow. If you don't mind being harassed a little with more bugs, that is
January 18th 2006, 01:36 AM
duck.gif
wesley
Peasant Male United States
 
yeah, using the sp_active() worked. I actually had seen that in the Dink C ref and tried it earlier today and got it working. I played through it and found several bugs that I fixed. I am sending version 2.0 to Tal tonight, but any other bugs you find can be addressed through a patch. I will fix probably anything that is major (forces you to quit/reload a game) but probably won't take the time to fix any cosmetic changes.
January 18th 2006, 07:16 AM
duck.gif
Tal
Noble Male United States xbox steam
Super Sexy Tal Pal 
Hm, if you're sending it to me tonight and want it up pretty quickly, better send it to my Hotmail address for now... dark_inchworm at hotmail dot com
January 18th 2006, 07:55 AM
fairy.gif
Arik
Peasant Male
 
As long as you sorted the freeze bug on the warp points, I'm ecstatic.
January 18th 2006, 04:10 PM
duck.gif
wesley
Peasant Male United States
 
eep, sorry, tal, I saw this too late. I sent it to the email address on your profile. I can resend it to hotmail if you want.

Yeah, I definitely fixed the screenlocks and the warp points... I don't know why they didn't work. the freeze(1) for some reason stopped the screenloads from happening so I just removed the freeze.
January 18th 2006, 09:52 PM
duck.gif
Tal
Noble Male United States xbox steam
Super Sexy Tal Pal 
Don't worry about it - thanks to my medical woes I had to return to my Clifton home for tonight anyway, where my non-web-based email accounts (redrecondite and such) are already configured and ready for me to fool around with. I'll attend to your file shortly.
January 19th 2006, 07:31 AM
fairy.gif
Arik
Peasant Male
 
I think the problem with the warp points was that the "touch" procedure is restarted if Dink stays in contact with the warp point for any period of time. So when the warp point uses the "wait" command the whole procedure restarts without executing anything after the wait.

This also creates the interesting phenomenom where the statue will teleport Dink only after he stops touching the statue, because while he stays in contact it runs over and over. I thought this was quite a cool effect, actually ("One touch and you're on your way").

So yeah, removing the freeze will work, as will removing the wait before the teleport. If you want to put the freeze back in at any point, then just put

sp_touch_damage(&current_sprite, 0);

At the start of the touch procedure - that way it will only run once for every time Dink is on that screen.
January 19th 2006, 10:10 AM
duck.gif
wesley
Peasant Male United States
 
all very helpful stuff Arik. Thanks
January 19th 2006, 10:11 AM
custom_magicman.gif
magicman
Peasant Netherlands steam duck
Mmmm, pizza. 
That cool effect can also be accomplished by using the button procs. Forgot their name, but I think it was something like void button_on( void ) and void button_off( void )