09-14-2013, 10:46 AM (This post was last modified: 09-28-2014, 05:35 PM by Tabman.)
Title: Ore no Dungeon Disc ID: ULJM05167 Genre: RPG, Dungeon crawler Region: JPN Format: ISO Version: PPSSPP 0.9.9.1 - 541 x64 OS: Windows 7 x64 Compatibility: Playable Notes: Apart from some minor GFX glitches, this seems to be completely playable.
I'm sorry, but I can't constantly keep an eye on all the game compatibility threads I started.
Please send a Private Message if you need some more information.
56:06:190 streamReadTh I[ME]: HW\MediaEngine.cpp:101 FF: Header missing
56:06:190 streamReadTh I[ME]: HW\MediaEngine.cpp:101 FF: Could not find codec parameters for stream 0 (Audio: mp3, 0 channels, s16p): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
07-09-2016, 07:17 PM (This post was last modified: 07-09-2016, 08:58 PM by LunaMoo.)
This glitch is kind of weird. The game tries to draw red background where empty HP and POW bars are, however UV is getting outside of the texture ~ U is 0xFFB0:
Subtracting 0xFF00 kind of fixes it, however it also has messed up X and draws it in incorrect places:
The interesting part is the fact that on screenshots from PSP there is no red background at all neither on HP nor pow bars. So this whole thing seems to be a game bug and real hardware just skips it, possibly due to UV being outside of the texture?
Edit:
I tried to make it work for HP background, but realized when maxing out POW the glitch turns into POW bar background so maybe it's not a game bug, but planned(althrough weird) way of hiding it before it's needed.
07-10-2016, 01:06 AM (This post was last modified: 07-10-2016, 02:03 AM by LunaMoo.)
Don't thinks so, it uses the texture with lots of different elements treated with same settings and they work fine.
Code:
Flags:
Name Value
Lighting enable 0
Light 0 enable 0
Light 1 enable 0
Light 2 enable 0
Light 3 enable 0
Clip enable 1
Cullface enable 1
Texture map enable 1
Fog enable 0
Dither enable 1
Alpha blend enable 1
Alpha test enable 1
Depth test enable 0
Stencil test enable 0
Antialias enable 0
Patch cull enable 1
Color test enable 0
Logic op enable 0
Depth write disable 1
Lightning:
Name Value
Ambient color 808080
Ambient alpha 0000ff
Material update ambient, diffuse, specular
Material emissive 000000
Material ambient 0000ff
Material diffuse 0000ff
Material alpha 0000ff
Material specular 0000ff
Mat. specular coef 0.000000
Reverse normals 0
Shade model gouraud
Light mode separate specular (disabled)
Light type 0 type: directional, comp: diffuse + spec (disabled)
Light type 1 type: directional, comp: diffuse (disabled)
Light type 2 type: directional, comp: diffuse (disabled)
Light type 3 type: directional, comp: diffuse (disabled)
Light pos 0 0.000000, 1.000000, 0.000000 (disabled)
Light pos 1 0.000000, 0.000000, 0.000000 (disabled)
Light pos 2 0.000000, 0.000000, 0.000000 (disabled)
Light pos 3 0.000000, 0.000000, 0.000000 (disabled)
Light dir 0 0.000000, 0.000000, 0.000000 (disabled)
Light dir 1 0.000000, 0.000000, 0.000000 (disabled)
Light dir 2 0.000000, 0.000000, 0.000000 (disabled)
Light dir 3 0.000000, 0.000000, 0.000000 (disabled)
Light att 0 0.000000, 0.000000, 0.000000 (disabled)
Light att 1 0.000000, 0.000000, 0.000000 (disabled)
Light att 2 0.000000, 0.000000, 0.000000 (disabled)
Light att 3 0.000000, 0.000000, 0.000000 (disabled)
Lightspot coef 0 0.000000 (disabled)
Lightspot coef 1 0.000000 (disabled)
Lightspot coef 2 0.000000 (disabled)
Lightspot coef 3 0.000000 (disabled)
Light angle 0 0.000000 (disabled)
Light angle 1 0.000000 (disabled)
Light angle 2 0.000000 (disabled)
Light angle 3 0.000000 (disabled)
Light ambient 0 404040 (disabled)
Light diffuse 0 ffffff (disabled)
Light specular 0 ffffff (disabled)
Light ambient 1 000000 (disabled)
Light diffuse 1 000000 (disabled)
Light specular 1 000000 (disabled)
Light ambient 2 000000 (disabled)
Light diffuse 2 000000 (disabled)
Light specular 2 000000 (disabled)
Light ambient 3 000000 (disabled)
Light diffuse 3 000000 (disabled)
Light specular 3 000000 (disabled)
Texture:
Name Value
Tex U scale 1.000000
Tex V scale 1.000000
Tex U offset 0.000000
Tex V offset 0.000000
Tex mapping mode gen: tex coords, proj: pos
Tex shade srcs s: 0, t: 0
Tex mode swizzled, 1 levels
Tex format CLUT8
Tex filtering min: nearest, mag: nearest
Tex wrapping wrap s, wrap t
Tex level/bias auto
Tex lod slope 0.000000
Tex func modulate, RGBA
Tex env color 000000
CLUT 08a2e080, w=0
CLUT format ABGR 8888 ind & ff
Texture L0 addr 08a1e080, w=256
Texture L1 addr 00000000, w=0
Texture L2 addr 00000000, w=0
Texture L3 addr 00000000, w=0
Texture L4 addr 00000000, w=0
Texture L5 addr 00000000, w=0
Texture L6 addr 00000000, w=0
Texture L7 addr 00000000, w=0
Texture L0 size 256x256
Texture L1 size 1x1
Texture L2 size 1x1
Texture L3 size 1x1
Texture L4 size 1x1
Texture L5 size 1x1
Texture L6 size 1x1
Texture L7 size 1x1
Settings:
Name Value
Clear mode 0
Framebuffer 00000000, w=512
Framebuffer format 5551
Depthbuffer 00088000, w=512
Vertex type through, u16 texcoords, s16 positions
Offset addr 08000000
Vertex addr 0897ce40
Index addr 0948fa38
Region 0,0 - 479,271
Scissor 0,0 - 479,271
Min Z 000000
Max Z 00ffff
Viewport Scale 288.000000, -176.000000, -32768.000000
Viewport Offset 2144.000000, 2072.000000, 32767.000000
Offset 1904.000000x1936.000000
Cull mode front (CW)
Color test pass if (c & 000000) NEVER (000000 & 000000) (disabled)
Alpha test pass if (a & ff) > (00 & ff)
Stencil test pass if (00 & 00) NEVER (a & 00) (disabled)
Stencil test op fail=KEEP, pass/depthfail=KEEP, pass=KEEP (disabled)
Depth test pass if src ALWAYS dst (disabled)
Alpha blend mode add: src.a, 1.0 - src.a
Blend color A 000000
Blend color B 000000
Logic Op clear (disabled)
Fog 1 800.000000 (disabled)
Fog 2 0.002000 (disabled)
Fog color 000000 (disabled)
RGB mask 000000
Stencil/alpha mask 000000
Morph Weight 0 0.000000
Morph Weight 1 0.000000
Morph Weight 2 0.000000
Morph Weight 3 0.000000
Morph Weight 4 0.000000
Morph Weight 5 0.000000
Morph Weight 6 0.000000
Morph Weight 7 0.000000
Patch division 000404
Patch primitive triangles
Patch facing 000001
Dither 0 001d0c
Dither 1 00f3e2
Dither 2 000c1d
Dither 3 00e2f3
Transfer src 00000000, w=0
Transfer src pos 0,0
Transfer dst 00000000, w=0
Transfer dst pos 0,0
Transfer size 0,0
The only weird thing I see is that U is getting increased by huge offset and maybe also that X starts from bigger number followed by smaller when usually it's the opposite.
Edit: I think animation will show why I think this is intentional, but doesn't show on psp:
(click to see)
the glitch disappears completely when powering up into red bar, this is also when coordinates get inside the 256x256 texture. /Might not be clear due to gif compression, but when the red bar shows up, everything looks fine.
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Tex wrapping wrap s, wrap t
Vertex type through, u16 texcoords, s16 positions
Region 0,0 - 479,271
Scissor 0,0 - 479,271
Alpha test pass if (a & ff) > (00 & ff)
Texture L0 size 256x256
This should mean that 0xFFB0 wraps around - it should be the same as 0x00B0. I doubt the alpha test is meant to be doing anything here, and there's no scissor. Hmm...
Well it definitely doesn't look same in here, when I change it to 0xB0 it has a solid red gradient - draws correct texture(but still not really since it shows it when it should not), with 0xFFB0 it looks like it was going through the whole 256 width of the texture like 255 times and having parts of other things placed in this line including empty space and the gray sprite on the left of it which makes it appear as stripes.
I wonder about X coordinate as well, when games draws a rectangle I always see a pair of smaller X, followed by pair of larger X, with this element it behaves that way from the moment it should show up, but all the time earlier when the glitch appears it starts from pair of larger X followed by pair of smaller X, so maybe on real hardware such inverted coordinates results in texture being drawn from the other side/not visible from the front?
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
07-11-2016, 01:38 AM (This post was last modified: 07-11-2016, 04:02 AM by LunaMoo.)
Well if that's the type - "patch primitive" as noted above says "triangles", but looks like rectangle and uses 4 vertices through.
Settings doesn't change at all when secondary pair of X coordinates changes from being lower to higher than primary pair of that rectangle, so if culling should cause it to be only visible from the front, yeah it doesn't work here.
Edit: ~ removing "!gstate.isModeThrough() &&" fixes this, but since it shows vertex type as "through", I assume that's wrong. Oh well going back to nothing. At least the cwcheat hack was easy to make.
Another edit: Followed the through mode this time, game sets 00800102 for all vertices(lui a1,0x80 followed by addiu a1,a1,0x102 for everything) where as I understand 0x00800000 means through mode, however I followed that and later it sets it to 12800102 right before saving it somewhere around 0x48900920, not even sure what that high address means(google says uncached space:3), but maybe 0x12800000 is some "non-through" mode? ~ GE debugger still shows 00800102 through, even after manually trying to set it to 12800102
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.