Opened 13 years ago

Closed 13 years ago

Last modified 5 years ago

#3625 closed defect (fixed)

AGI: Texts messed out in Naturette 1

Reported by: (none) Owned by: bluegr
Priority: normal Component: Engine: AGI
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 fingolfin, 13 years ago

Summary: Texts messed out in Naturette 1AGI: Texts messed out in Naturette 1

comment:2 by bluegr, 13 years ago

Owner: set to bluegr
Status: newclosed

comment:3 by bluegr, 13 years ago

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

comment:4 by bluegr, 13 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 m-kiewitz, 5 years ago

Resolution: fixed

comment:6 by m-kiewitz, 5 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.

Note: See TracTickets for help on using tickets.