Repository navigation
Yu-Gi-Oh! GX Tag Force Card summoning (card cut-off / cropped) #7124
Description
Activity
I'm curious why you closed this. For me these issues still exist. The missing text one is especially annoying.
Do the errors happen only on Android or also on Windows, for example?
They happen on Windows too.
@hrydgard @syrobee The text doesn't show up on the Duel Bonus and New High Score Bonus screen if you use the fonts that come with PPSSPP. If you use the PSP fonts, the text does show up on those screens on Windows (don't have an Android to test with).
@DragonNeos Oh okay, I didn't know that was a thing. Thanks.
i also got some problem here, for Yu Gi Oh Tag Force
when i save the game via the map it stuck in "checking memory card..."
others,like sound,animation, is still working normally, only the checking memory card screen just stuck there,also when i want to change my deck name it didn't show the alphabet keyboard on gray-background,so i just press change deck name and nothing happenedand also here is the log,
if i save via map,it stopped in "...wrong dialog type"
http://pastebin.com/0LHfj30b -->save via map
http://pastebin.com/gb31gANS -->deck namesorry for the long post and my english
i don't know how to fix it
Thank youi'm using ppsspp for windows
A little change since #8130 ,the card is moving to the top,not in the centre.

Okay. Now that really explains why the top is cut off, right? It's right up against the edge. So clearly something about being flipped was happening wrong here - maybe it still is positioning it wrong.
In Core/Reporting.cpp, find:
bool ShouldLogOnce(const char *identifier) { // True if it wasn't there already -> so yes, log. return logOnceUsed.insert(identifier).second; }
Change to:
bool ShouldLogOnce(const char *identifier) { return true; }
Also please change this:
bool IsEnabled() { if (g_Config.sReportHost.empty() || (!currentSupported && PSP_IsInited())) return false; // Disabled by default for now. if (g_Config.sReportHost.compare("default") == 0) return false; return true; }
To:
bool IsEnabled() { return false; }
To avoid spamming it, heh, with that change.
Then, what does it log as far as any transfers during this?
-[Unknown]
just spamming this
38:38:664 user_main W[G3D]: GLES\StateMapping.cpp:908 Unsupported depth range test - depth range: 50000.000000-10000.000000, test: 0.152590-0.76295 1Oh, sorry, well in that case try changing all the WARN_LOG_REPORT_ONCE and WARN_LOG_ONCE in GPU/Common/FramebufferCommon.cpp to just WARN_LOG. You'll have to remove the first argument too, like before.
-[Unknown]
Still don't see it log other things
the log.
https://gist.github.com/daniel229/ef9d884f5dbf7abaa9ffRelevant lines:
49:48:880 user_main I[SCEGE]: Common\FramebufferCommon.cpp:417 Creating FBO for 00088000 : 480 x 272 x 3 49:48:880 user_main W[G3D]: Common\FramebufferCommon.cpp:608 Memcpy fbo upload 04488000 -> 04088000 49:48:989 user_main I[SCEGE]: Common\FramebufferCommon.cpp:417 Creating FBO for 00160000 : 128 x 272 x 3 49:48:989 user_main W[G3D]: Common\FramebufferCommon.cpp:608 Memcpy fbo upload 04560000 -> 04160000 49:48:989 user_main W[SCEGE]: Common\FramebufferCommon.cpp:453 FBO reusing depthbuffer, 00160000/00110000 and 00088000/00110000 49:49:055 user_main I[SCEGE]: Common\FramebufferCommon.cpp:417 Creating FBO for 00000000 : 480 x 272 x 3 49:49:056 user_main W[G3D]: Common\FramebufferCommon.cpp:608 Memcpy fbo upload 04400000 -> 04000000I hope it's not an effect from before that save state. Does disabling the block transfer setting have any effect? If it doesn't, I guess it must be render-to-texture.
There are three textures after all so that does seem likely. I guess the 128 x 272 x 3 one is likely being used for the card.
-[Unknown]
Those lines is from loading savestate.Disabling the block transfer not affect anything.
15 remaining items
I can't believe my eyes, after all those years it's finally FIXED! Great job team, another long-standing issue gone.
I've tested it in all backends and all were fixed except Direct3D 11, which got worse, but hey, the game has reached 100% compatibility now 👍@Anuskuss could you screenshot it on Direct3D 11?
- added a commit that references this issue
on Aug 6, 2020 I think I got it, committed a fix to master.
Confirmed! Issue can be closed.
I still don't really understand fully the interaction between scissor and region here, and if one of them should apply over the other. Glad it's fixed.
-[Unknown]
@unknownbrackets Here's my understanding:
The viewport is really just a scale and an offset, even on PC GPUs (the center and scale are computed by the driver from the viewport rectangle you pass in). However, in the traditional GL model, clipping to the frustrum is specified to happen, which is tight enough that no triangles (or post-clip more-sided polygons) extend beyond the viewport rectangle when rasterized.
Now, correct 3D triangle clipping is kind of expensive, so the "guardband" was invented. This simply extends the coordinate system for triangle rasterization outwards, allowing the GPU to actually do clipping work only when vertices are far away (or behind the camera, in which case you really do need to clip). Thus, to simulate the old behavior of the viewport acting as a scissor, drivers simply use the minimum of the viewport rectangle and the scissor to set the scissor, resulting in identical behavior but a lot less clipping work. There have been driver bugs where this didn't happen, resulting in rendering outside the viewport but inside the scissor, see "Viewports do not clip at clip-space boundaries" on https://community.arm.com/developer/tools-software/graphics/f/discussions/9344/vulkan-driver-issues---workaround-collection-thread
On the PSP, no real triangle clipping on the sides is performed by the hardware. The guardband is the 4096x4096 coordinate system that we all know and love, and instead of clipping, triangles are simply discarded outside. Since no 3D clipping is performed, the viewport rectangle (which never exists here) doesn't apply, so to simulate it correctly on PC APIs, we need to extend the viewport rectangle out to the scissor, adjusting the projection appropriately.
Yeah, that makes sense. I just don't really understand what the "region" is...
Also, I do think it may do "real" clipping when clamping depth. Which I still think is weird. I wonder if region or scissor interacts with that in ways I haven't tested...
-[Unknown]
Yeah the "region" is a bit of a mystery to me too. Could it be what screen rectangle GE_CMD_BOUNDINGBOX checks boxes against maybe? Or something with spline culling?
And indeed it does seem to do real clipping in Z. At least having a single clip plane limits the number of corners the output polygon can have to 4, which might simplify the hardware...
Yeah we still do clipping against all six planes in the software renderer. Should probably remove all but the front and back planes.
- added a commit that references this issue
on Aug 16, 2020

When the card is summoned, its appeared that the head of the card is disappear as in #5470 and the duel point table's text is also missing. I was trying to find the solution already but it seems that I cannot find anything that can solve my problem. Sorry if this post was annoying but I don't know how to do as I am a very newbie.
Thank you
I use Samsung Galaxy S III (GT-i9300)
http://www.gsmarena.com/samsung_i9300_galaxy_s_iii-4238.php
latest build PPSSPP v0.9.9.1-1042-gff68e32