#3625 closed defect (fixed)
AGI: Texts messed out in Naturette 1
Reported by: | (none) | Owned by: | bluegr |
---|---|---|---|
Priority: | normal | Component: | Engine: AGI |
Version: | Keywords: | ||
Cc: | Game: | AGI Fanmade |
Description
Hi
After intro, in Naturette screen, the preview message in the intro at the bottom of the screen didn't disappear completely with copyright messages.
It happened both in English and French.
scummvm 0.11.0 and 0.12
win scumm
win 98.
You will find Naturette at: http://membres.lycos.fr/agisite/rette.htm
Ticket imported from: #1893564. Ticket imported from: bugs/3625.
Change History (6)
comment:1 by , 17 years ago
Summary: | Texts messed out in Naturette 1 → AGI: Texts messed out in Naturette 1 |
---|
comment:2 by , 17 years ago
Owner: | set to |
---|---|
Status: | new → closed |
comment:3 by , 17 years ago
comment:4 by , 17 years ago
Hm, I was wrong in my previous comment, that line in AgiEngine::writeStatus() *was* correct. I've made AgiEngine::writeStatus() clear the user input line as well when there is no status line, which seems to have fixed this issue (which is, in fact, a script bug in Naturette itself)
comment:5 by , 9 years ago
Resolution: | → fixed |
---|
comment:6 by , 9 years ago
At least after the AGI graphics rewrite, this looks fine. Although I'm not sure which exact message was staying on screen. I just tried, everything looks fine. Closing.
This should be fixed now in the latest SVN version
The relevant logic script for this scene is 243, part of which is the following:
(...) if (isset(f5)) { v255 = 0; load.pic(v254); draw.pic(v254); discard.pic(v254); set.horizon(1); status.line.off(); <---------- this is the line we're interested in show.pic(); (...) display(22,16,"Freeware"); display(23,4,"(c)1999,2000,2001 by Robin Gravel"); } (...) clear.lines(22,24,0); (...) =============
The logo screen in Naturette erases the status text using status.line.off() and then it clears it normally via clear.lines(). status.line.off calls AgiEngine::writeStatus(), which is where the problem was. writeStatus() was clearing line _game.lineStatus (which is 0 in most games), which means that it was trying to clear the text line at the very top of the screen, which is obviously wrong. This has not been observed in other games, as most of them clear the status text normally via clear.lines()
I've changed writeStatus() to clear _game.lineStatus + _game.lineUserInput, which has fixed this glitch
Closing