Reply to Re: New File: Dink Smallwood v1.08 - Release Candidate 5
If you don't have an account, just leave the password field blank.
The test script is similar to en-pill.c from the original Dink game, with only the hit() proc and a few stats (hitpoints, touch_damage, would size matter?) modified.
void hit( void )
{
hurt(¤t_sprite, 2);
}
Crashes the game. Fix it. Now. Or later, when you have time.
Miraculously, this:
void hit( void )
{
hurt(1, 2);
}
works just fine. The thing is in the ¤t_sprite. AFAIK, hurt() doesn't call the hit-proc, so there's no infinite loop. I checked it by making a new global with the console, creating a new sprite with that global, adding the script and hurting it, but no hit() was ever executed.
Alternatives that also crash, with a few attempted work-arounds/fixes:
void hit( void )
{
//I tried this one, didn't work:
wait(1);
//Neither of these also work:
say("Hehehe",1);
say_stop("Hehehe",1);
//Neat brain-switching technique, to no avail
sp_brain(¤t_sprite, 0);
//goto-ing... crash
goto blah;
//proc() call... crash
hehehe();
//remote proc() call...
crash external("blah","hehehe",¤t_sprite);
//spawning... crash
&global = ¤t_sprite;
spawn("nooo");
//I haven't tried an &arg1-less external(), with the global
//but I guess it would crash as well...
sp_brain(¤t_sprite, 9);
}
void hehehe( void )
{
blah:
hurt(¤t_sprite, 2);
}
blah.c:
void hehehe( void )
{
hurt(&arg1, 2);
}
nooo.c:
void main( void )
{
hurt(&global, 2);
kill_this_task();
}
The brain switching doesn't prevent it from crashing, nor does the wait. The say text won't appear, but the say_stop text does. After that, it crashes in a different fashion.
Tried in windowed/truecolor and fullscreen/256.
say_stop (in windowed) crashes the game, without giving an error box, all other methods crash the game with an error box (default one with an illegal operation and a bunch of hex-numbers).This is on win98 SE.
After I was tired of freezing the game and resetting my pc in 256-fullscreen mode, I resorted to full color-windowed mode. I have only tried say, wait and the brain-switching in 256-fullscreen.
void hit( void )
{
hurt(¤t_sprite, 2);
}
Crashes the game. Fix it. Now. Or later, when you have time.
Miraculously, this:
void hit( void )
{
hurt(1, 2);
}
works just fine. The thing is in the ¤t_sprite. AFAIK, hurt() doesn't call the hit-proc, so there's no infinite loop. I checked it by making a new global with the console, creating a new sprite with that global, adding the script and hurting it, but no hit() was ever executed.
Alternatives that also crash, with a few attempted work-arounds/fixes:
void hit( void )
{
//I tried this one, didn't work:
wait(1);
//Neither of these also work:
say("Hehehe",1);
say_stop("Hehehe",1);
//Neat brain-switching technique, to no avail
sp_brain(¤t_sprite, 0);
//goto-ing... crash
goto blah;
//proc() call... crash
hehehe();
//remote proc() call...
crash external("blah","hehehe",¤t_sprite);
//spawning... crash
&global = ¤t_sprite;
spawn("nooo");
//I haven't tried an &arg1-less external(), with the global
//but I guess it would crash as well...
sp_brain(¤t_sprite, 9);
}
void hehehe( void )
{
blah:
hurt(¤t_sprite, 2);
}
blah.c:
void hehehe( void )
{
hurt(&arg1, 2);
}
nooo.c:
void main( void )
{
hurt(&global, 2);
kill_this_task();
}
The brain switching doesn't prevent it from crashing, nor does the wait. The say text won't appear, but the say_stop text does. After that, it crashes in a different fashion.
Tried in windowed/truecolor and fullscreen/256.
say_stop (in windowed) crashes the game, without giving an error box, all other methods crash the game with an error box (default one with an illegal operation and a bunch of hex-numbers).This is on win98 SE.
After I was tired of freezing the game and resetting my pc in 256-fullscreen mode, I resorted to full color-windowed mode. I have only tried say, wait and the brain-switching in 256-fullscreen.