Cut-scene bug (freedink-specific?)
Quest for Dorinthia: Special Edition
July 29th 2012, 06:54 AM
shevek
I've previously finished the normal version of the quest for Dorinthia, so I know the story (what I remember of it anyway). I was just checking this out, but I found two bugs, which block all progress. Since others are reporting events after this, I think it might be related to my engine (freedink). Anyway, the two bugs both happen after meeting the knights at Milder's forging hammer screen.
1. When fighting them, I got them to hit each other. Unlike most other knights, these would continue hitting each other (turning their attention away from Dink). Since I'm still a wuss, that was a good idea for me (but not for the game). Given the insane amount of damage they took before dying, this was obviously not intended. In the end, just one very weak knight remained. I finished him off easily. The screen lock didn't go away. I suppose this should be fixed by two things: always keep the knights focussed on Dink, and give them a "restore health after hitting" script, so they really cannot die.
2. When running away, the cut-scene goes crazy. First, when leaving the screen on the left, I enter the same screen again, and the cut-scene ends. When walking out on the left again, the same happens. When walking out on the bottom, the cut-scene continues (I think. perhaps I walked left after that). Anyway, after some running, I pass the house with the guy who gave me the king's scroll. Walking towards the screen with the savebot, the same happens again. But this time, the animation continues, so it loops over Dink running past that house and warping to the top of the same screen.
I think this could be because Dink is moved to a pixel which is (just) outside the screen, triggering a "move to next screen" action. The obvious solution would be to set dink_can_walk_off_screen(1).
1. When fighting them, I got them to hit each other. Unlike most other knights, these would continue hitting each other (turning their attention away from Dink). Since I'm still a wuss, that was a good idea for me (but not for the game). Given the insane amount of damage they took before dying, this was obviously not intended. In the end, just one very weak knight remained. I finished him off easily. The screen lock didn't go away. I suppose this should be fixed by two things: always keep the knights focussed on Dink, and give them a "restore health after hitting" script, so they really cannot die.
2. When running away, the cut-scene goes crazy. First, when leaving the screen on the left, I enter the same screen again, and the cut-scene ends. When walking out on the left again, the same happens. When walking out on the bottom, the cut-scene continues (I think. perhaps I walked left after that). Anyway, after some running, I pass the house with the guy who gave me the king's scroll. Walking towards the screen with the savebot, the same happens again. But this time, the animation continues, so it loops over Dink running past that house and warping to the top of the same screen.
I think this could be because Dink is moved to a pixel which is (just) outside the screen, triggering a "move to next screen" action. The obvious solution would be to set dink_can_walk_off_screen(1).
I did read this message but apologize for not getting back to you. Been dealing with a host of personal issues which has had me away. Someone had emailed me last week in regards to FreeDink getting upset over dink_can_walk missing. Windows and iPad versions don't care. Not a problem as I've not only removed the QUESTION about fighting them but added the dink_can_walk script in.
New Version
If you could re-download and check it out I would appreciate it.
New Version
If you could re-download and check it out I would appreciate it.
August 9th 2012, 05:12 PM
shevek
If you could re-download and check it out I would appreciate it.
I just did. It didn't change anything though (except the question was no longer asked).
I just did. It didn't change anything though (except the question was no longer asked).
I've just encountered this as well. I am using an older 2010 release of Freedink as I don't think Beuc has made a windows build of the most recent release. The offending script in this case seems to be "capture_s5.c". Which build are you using, shevek?
I would appreciate anyone's help on this, as I do not use Linux and have no way to test.
Freedink does work on Windows, you know.
If you drop freedink.exe into the same folder as dink.exe you can easily switch between the two in the DFarc options to launch your Dmods. That's how I run it on Windows anyway. But you probably already knew that.
I got FreeDink working AND fixed the bug. Will everyone using Freedink try this new version? If it works, I'll get it uploaded to The Dink Network.
Click here!
Click here!
August 10th 2012, 03:36 PM
shevek
It works now, except for one thing: when the cut-scene is done, dink can still walk off-screen without triggering a screen change. In other words, the game now effectively locks up directly after the cut-scene.
August 10th 2012, 07:32 PM
shevek
The new link has a save file immediately after the cut scene. Loading that works, but when I play up to that point myself, I still can walk off screen without anything happening.
August 11th 2012, 08:47 AM
shevek
Ha, I found the problem! Yes, this was in the cave.
Dink can already be controlled, but he still needs to say two lines. If he activates the save machine before saying the second line, his script is aborted and the walk_off_screen (0) is never called (I suppose). Anyway, if I don't activate the save machine the moment I arrive there, everything is fine. If I do, I can walk off screen in the cave. I think dink should be frozen until he is done saying those lines.
Dink can already be controlled, but he still needs to say two lines. If he activates the save machine before saying the second line, his script is aborted and the walk_off_screen (0) is never called (I suppose). Anyway, if I don't activate the save machine the moment I arrive there, everything is fine. If I do, I can walk off screen in the cave. I think dink should be frozen until he is done saying those lines.
Hi Bill - and btw kudos for the QFD series!
What is the deal with "dink_can_walk" and FreeDink?
Is there's a bug in FreeDink, well that's something I can fix, preferrably I'd like a savegame right before it happens
If that's not a bug in FreeDink - well don't mind me and fix the dmod
What is the deal with "dink_can_walk" and FreeDink?
Is there's a bug in FreeDink, well that's something I can fix, preferrably I'd like a savegame right before it happens
If that's not a bug in FreeDink - well don't mind me and fix the dmod
Thanks Beuc. I don't know whether you'd call it a bug BUT I did not have to call dink_can_walk in the regular version but was forced to in FreeDink. This cut scene worked fine in Dink 1.08 and DinkHD without the FreeDink changes... whatever that means.
Thanks for your compliments on QFD. I'm not quite done with it yet....
Thanks for your compliments on QFD. I'm not quite done with it yet....
Hi - I can investigate but I need a savegame where this difference happens + how to reproduce it.
August 13th 2012, 03:56 PM
shevek
I think dink should be frozen until he is done saying those lines.
Looking at capture_s7.c, this is correct: it needs freeze(1) after draw_screen, and unfreeze(1) before kill_this_task.
According to the docs, this should not be freedink-specific. They say that dink is automatically unfrozen at draw_screen. I suppose this is true. Does the save machine script not kill capture_s7 on dink.exe? Why is it killed anyway? Perhaps the say() will fail during a choice?
Looking at capture_s7.c, this is correct: it needs freeze(1) after draw_screen, and unfreeze(1) before kill_this_task.
According to the docs, this should not be freedink-specific. They say that dink is automatically unfrozen at draw_screen. I suppose this is true. Does the save machine script not kill capture_s7 on dink.exe? Why is it killed anyway? Perhaps the say() will fail during a choice?
I can see WHY it should be that way - I do agree. Dink.exe is "forgiving" though and it works without it. I put a new version of capture_07 in this new version I uploaded. Give it a shot.
This time!
This time!