defisym/OpenFusionExamples

NeoPic negative zoom not working or crashing

Closed this issue · 3 comments

Type of issue
Extension bug

Describe the bug
Setting negative scale in the NeoPic object does not work reliably after using the Load From File action more than once. Sometimes setting negative scale causes application crashes. When the crash occurs, garbage data written to Origin Size and Current Size can sometimes be seen in the debugger.

To Reproduce
Example MFA attached: it loads the same file every 00''-30 and tries to flip the image horizontally by setting X scale to -1.

Expected behavior
Sprite flipped horizontally

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 11 22H2

Additional context
Hi, it's me again! Thank you for implementing the features I requested earlier. I've been building a character animation system using NeoPic, and I have run into an issue that I think could be a bug. I have reduced the code to a single event that doesn't work reliably and can sometimes cause crashes. I would appreciate your help in resolving this issue. Here's a test MFA:
crashtest.zip

Thank you for your time.

Hi, please pull and check if the latest version can fix it

I think it may be a bug in DX9 runtime.
I use the following codes to flip textures:

	pFlip->Clone(*pSf);
	(pFlip->*pFlipFunc)();

pFlipFunc is a member function passed in, e.g., &cSurface::ReverseX and pSf is the source surface
for some reason, the source surface is also modified in DX9 if pSf is a HWA texture, convert source to bitmap before cloning and flipping should fix it.

Oh, I see! I will try to report this to Clickteam, maybe they will fix it. Thank you very much for looking into this, and for the workaround. It works well in the latest version of the extension.