July 13, 2015

If you are still crashing with resolutions higher than 4096 pixels in any one direction (for example, 5760x1080) after updating to 1.3.0.5, I'm sorry. I've put in as much troubleshooting as possible without being able to reproduce the issue in-house...which is my next step.

Right now, I'm running on a 2560x1440 monitor with a GeForce GTX 760. I'm going to see if I can get another two monitors attached to this guy this week in hopes of breaking the ultra-wide resolution barrier and I'll see if I can reproduce the issue under a debugger then.

It's currently looking like a write-after-free bug with a render target.

If anyone can attach a debugger to their Terraria.exe process patched to 1.3.0.5 with v0.7 before then and can get me any detail, I can work on patching it, but until then, I'm stuck.

July 10, 2015

Almost done getting RomTerraria's code cleaned up for release on GitHub, but may not have it done tonight. The only issues that I'm aware of right now are that people who are using RomTerraria on certain multimonitor configurations are crashing out without a stack trace. Enabling the legacy corrupted state exception mechanism should have worked to let me diagnose that, but it turns out that it didn't. I'm now looking into injecting exception handlers into methods to try to help with diagnosing.

I've got an unexpected trip down to Yosemite tomorrow morning, but I'll be back on Sunday.

July 9, 2015

Updated patcher to work with Terraria 1.3.0.4. They renamed InternalMain to LaunchGame and it broke the patcher.

Added a new flag to Terraria.config to allow Terraria to catch CorruptedStateExceptions and report the stack trace. This will not fix the weird multimonitor crashes that some of you are getting, but should allow you to get the stack trace so I know where I need to patch stuff up.

If you get a stack trace, you can email it to romterraria -at- romsteady.net.

July 6, 2015

At work, I was working on an OpenCV project that utilized warpPerspective quite extensively for real-time perspective correction. It worked great, but it was slow. When I profiled my solution, warpPerspective was taking ~20% of the CPU on my MacBook Pro.

I use the following code to calculate the map that is generated by warpPerspective up front so I can use it in a remap call later to get the same results for less than half the CPU cost. I store the final map in cv::Mats named transformation_x and transformation_y.

July 2, 2015

If you are crashing after an alt-tab or changing from windowed mode to full screen or back, RomTerraria may spit out some crash information into a text file in your save game folder called CrashInInitTargets.txt.

General logging support into RomTerrariaDebug.txt in your save game folder.

If you have been experiencing flickering or missing textures, I've got a potential fix in to work around a race condition in Terraria.Graphics.TextureManager.Load.

About Me

Currently Sr. Software Engineer in Test at Netflix. Formerly Sr. Quality Engineer on Firefly at Amazon, QA Manager at Ritual Entertainment, Software Test Lead at Microsoft Game Studios, Director of IT for Meeting Professionals International.

Opinions expressed are my own and do not necessarily represent those of any current, former, or future employer.