Open GoogleCodeExporter opened 9 years ago
uhh ohh... tested and tested and now a error: in the game bolt, upscaler set the
width over 12000 (4x mode) for the first logo image (only that image) and then
scale
all normal... damn! change the line
int n_width = r.right * m_upscale_multiplier;
to
int n_width = min(r.right * m_upscale_multiplier, 4096);
and all is ok ;)
Original comment by dh...@gmx.de
on 13 Nov 2009 at 6:49
Alright, testing this now. Thanks for wrestling with it :p
Original comment by ramapcsx2
on 13 Nov 2009 at 9:27
This works pretty well :)
It still fails on valkyrie profile 2 (that game is evil), and sometimes it goes
to
double the horizontal resolution when it wouldn't need to. Also using the full
display rect as a base is quite a bit of overhead again (often 15xx * 9xx, when
it
should be 1280*896), so I'm attaching a patch with some changes.
Tell me what you think :p
Original comment by ramapcsx2
on 13 Nov 2009 at 11:07
Attachments:
if(n_height <= GetDeviceSize().y + n_mod) << this should probably be just < ?
Seems
to work fine now :)
Original comment by ramapcsx2
on 13 Nov 2009 at 11:45
overhead is known, i have accepted (is a little overhead) while some games set
wrong
resolution (to small)... ok, this can be fixed a first i would see whether the
way is
right. i come now from sleep and need coffee ;) i test and then give a
feedback...
Original comment by dh...@gmx.de
on 13 Nov 2009 at 3:20
ohh and the wrong double of height comes temporary when a scene changed without
output of graphic (thats what i have seen by logging)... can u confirm?
Original comment by dh...@gmx.de
on 13 Nov 2009 at 3:29
Hold on, currently trying to scale using scissoring. This would be very
correct, if
it works out :p
Original comment by ramapcsx2
on 13 Nov 2009 at 3:35
ok, i wait for it... i hope this works, otherwise i have the follow result: if
width
is corrected (with (r.right-r.left)) breaks Animaniacs - The Great Edgar Hunt.
this
game set a wrong resolution (512 is set and needed is 640). so i think we
living with
a little overhead or we check the game crc. problem: unknown which games set a
wrong
resolution (by me is Animaniacs the only at the moment). if(n_height <=
GetDeviceSize().y + n_mod) is correct with overhead, without is if(n_height <
GetDeviceSize().y + n_mod) correct... a if scissoring works then is this solved
;)
Original comment by dh...@gmx.de
on 13 Nov 2009 at 4:11
Alright, here's part 3. Could be it's a bit bloated, but it works fine for me.
Also added the ffx-2 ntsc info (the pal one might need new detection values).
Original comment by ramapcsx2
on 13 Nov 2009 at 9:36
Attachments:
ok, i test it, add the pal values...
Original comment by dh...@gmx.de
on 13 Nov 2009 at 10:14
ok rama, the negativ message is: we have overhead! overhead from exactly 1
pixel per
line ;) change this:
n_width = max( (int)m_context->SCISSOR.SCAX1 +1, (int)TEX0.TBW*64 );
to
n_width = max( (int)m_context->SCISSOR.SCAX1, (int)TEX0.TBW*64 );
and all works perfect! the only is: gabest has say, he is not sure that
(int)TEX0.TBW*64 ) is right... don't ask who, i have it seen in the code last
night
but i can't say who at the moment... fact is: the scaler works very good and i
think
we can use it ;) cool, my first achievement with c++ (not only mine, yes i
know),
nice ;) i'm a delphi programmer and c++ is a bit new for me... i think this can
into
the svn and we wait for response... what is the next? ;) on the other side:
interesting is the overhead of 1 pixel per line... in the height is all ok but
in the
width. have gabes right? is the (int)TEX0.TBW*64 ) not so correct? what will
better
work if this is corrected? hmmm, a lot of testing i can see on the horizon...
Original comment by dh...@gmx.de
on 13 Nov 2009 at 11:10
uhh ohh, i forgot: the change for pal in the ffx-2:
if (m_game.title == CRC::FFX2 && n_height == 1150 || n_height == 832) // ffx-2
video
playback hack part 1 (part 2 in GSTextureCache.cpp)
to
if (m_game.title == CRC::FFX2 && n_height == 1024 || n_height == 832) // ffx-2
video
playback hack part 1 (part 2 in GSTextureCache.cpp)
sorry ;)
Original comment by dh...@gmx.de
on 13 Nov 2009 at 11:15
Yeah well, this is all very hacky after all :p
I'll go over it once more, then put it on the svn.
The long term solution for all this is in the work (someone is rewriting the
whole
scaler, so it will always be right).
Until then, this here seems to do nicely :)
TEX0.TBW*64 *should* be right, but since some games (especially fmv) use odd
drawing
areas, it also can fail.
Original comment by ramapcsx2
on 14 Nov 2009 at 12:22
ohh, not svn! animaniacs is broken again! the start of the game is ok, game
works
good but many scenes have a to little width (many video scenes, but not all and
the
menu) :( i log and search the problem.... damn damn damn! this game is a
brother of
valkyrie, all the same evil ;)
-
and an another problem: if i play a pal game who i can select ntsc mode, the
bottom
area flickers... all this is not present in my code, i think, the overhead from
my
code is correct... u must see: a game can have a another resolution as the
resolution
from the ps2 output, the ps2 corrected this by output and my code use the output
resolution as basis for scale and so is the basis for scale always right (after
all
the tests i think so)... i have not another statement at the moment for the
problems... the only what i see is: with my code is the output correct, no to
litte
screens and no flickering and the little overhead is acceptable or even right
if the
programmer from the games have not set all correct while the ps2 it does by
output..... Tell me what you think.
Original comment by dh...@gmx.de
on 14 Nov 2009 at 12:36
Your code worked in most games, because the extra width and height were often
enough.
Not so for vp2.
I think it'll be better if you find out what animaniacs uses, and add it to the
max()
lists :p
Original comment by ramapcsx2
on 14 Nov 2009 at 1:16
hmm this solves not the other problems with your code: megaman x8 -> flickers at
bottom if i use ntsc (most pal games give this as an option at start), ico
blends
wrong graphic at bottom and left (pal and ntsc mode)... i have snapshots here:
ico with my code:
http://img188.imageshack.us/img188/3248/icomycode.jpg
the same with your:
http://img697.imageshack.us/img697/4332/icoyourcode.jpg
megaman x8 with my:
http://img188.imageshack.us/img188/4884/mx8mycode.jpg
megaman x8 with your (a video would be better a i think u can see what i will
say):
http://img258.imageshack.us/img258/8527/mx8yourcode.jpg
i think the end of way is far away ;)
Original comment by dh...@gmx.de
on 14 Nov 2009 at 3:23
Ok, more issues then :p
Using your suggestion is a speed hit, when 90% of games don't even need it.
I'd rather figure out how to cover the 10% problematic games :)
(Also, I'm currently busy trying to fix scaler issues, updated might be slow. )
Original comment by ramapcsx2
on 14 Nov 2009 at 4:13
Sorry this isn't helpful to the issue, but does this issue cover the problem
with
Gitaroo Man [PAL] being stretched off screen? r1873 of GSDX only stretches off
screen
a little bit (doesn't hinder playing) but then r2404 of GSDX stretched almost
half of
the picture off screen.
r1873 menu
http://img193.imageshack.us/img193/2055/gm1ws.jpg
r2404 menu
http://img694.imageshack.us/img694/8505/gm2lf.jpg
r1873 gameplay (see the top of the arrows on the success bar at the top of the
screen, and the score on the bottom left, along with the "attack" on the bottom
right
being slightly cut out)
http://img715.imageshack.us/img715/3084/gm3.jpg
Original comment by aj...@hotmail.com
on 3 Mar 2010 at 5:56
This is related, yeah. Although it also looks like the scissoring area is now
way off.
With some more talented coders, we might be able to tackle this bug once more :p
Original comment by ramapcsx2
on 3 Mar 2010 at 6:10
Issue 370 has been merged into this issue.
Original comment by Jake.Stine
on 28 Jun 2010 at 10:40
Original issue reported on code.google.com by
dh...@gmx.de
on 13 Nov 2009 at 12:10Attachments: