Opened 11 years ago

Closed 9 years ago

Last modified 9 years ago

#3863 closed defect

WINCE: LOST IN TIME: Game reverts to 1x when started in 2x

Reported by: spookypeanut Owned by: DrMcCoy
Priority: normal Component: Engine: Gob
Keywords: Cc:
Game: Lost in Time

Description

Gonna have to rush this, as I'm at work, so feel free to request more info :-)

When starting LIT CD in 2x on my VGA device, the first screen (credits, etc) displays fine, but as soon as the actual game start, it pops back to 1x (WinCE menu etc are 1x too). Happens in my (couple of weeks old) static build of WinCE.

Ticket imported from: #2052796. Ticket imported from: bugs/3863.

Change History (11)

comment:1 by spookypeanut, 11 years ago

Owner: set to SF/knakos

comment:2 by DrMcCoy, 11 years ago

Oh, that seems to be connected with how Lost in Time handles the resolution changes.
Because the title screen is actually a 640x400 image, so Engine::initCommonGFX() is called with defaultTo1XScaler set to true for that image.
The rest is standard 320x200, so after the title screen, OSystem::initSize() and Engine::initCommonGFX() are called against (this time with defaultTo1XScaler = false).

comment:3 by SF/kortes, 11 years ago

The same bug in my version.How can I fix it?

comment:4 by SF/knakos, 11 years ago

I would not call this exactly a bug. I looked at this before release and I was left with a conceptual problem. At engine startup, wince scummvm will look into the user selected scaler and the resolution of the engine and set up the screen. Eg. the engine is 320x200, the display is 640x480 => a 2x scaler will be used if selected.

But with LIT, switches to 640x400. For a 640x480 device this means that the scaler is forced to 1. But when switching back to 320x200, the wince backed sees a 1x scaler being "enforced" for a game of 320x200 resolution. It cannot determine if 1) the user has requested this, 2) the engine has requested this. In the first case the 1x scaler should be respected. In the latter case, a 2x scaler should be chosen.

So it is really a matter of interpretation for the given call. I need to think about this. Note that this also happens to the desktop ports. Any way we can work around this DrMcCoy? Any ideas?

comment:5 by SF/knakos, 11 years ago

Any comments doc? :-)

comment:6 by SF/knakos, 11 years ago

Owner: changed from SF/knakos to DrMcCoy

comment:7 by DrMcCoy, 11 years ago

No idea :/
Maybe we shouldn't use defaultTo1xScaler for this at all, but add another parameter to Engine::initCommonGFX() (and OSystem::setGraphicsMode()) that handles these cases, so we can distinguish those from "normal" defaultTo1xScaler usage...

comment:8 by fingolfin, 9 years ago

What is the status of this item?

From the sound of it, I assume it still occurs in 1.1.1 ... ?

comment:9 by fingolfin, 9 years ago

Status: newpending

comment:10 by SF/sf-robot, 9 years ago

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).

comment:11 by SF/sf-robot, 9 years ago

Status: pendingclosed
Note: See TracTickets for help on using tickets.