July 1, 2015

RomTerraria 4 v0.4 Released

Link back to main blog post.

Rendering issues with missing transparent surfaces, missing items, and some rendering crashes should be fixed now.

Last update for the night.  I have work in the morning.

RomTerraria 4 v0.3 Released

Fixed a crash issue that would happen if you patched Terraria more than once.

Get it here.

RomTerraria 4 v0.2 Released

Wow...3,200 downloads in less than 24 hours.  Nuts.
  • Found the issue with the crashes in single- and multiplayer on x64 boxes.  Turns out there is a knowledge base article about it.  The Terraria.exe.config file now included should take care of it, whether you use RomTerraria or not.
  • Added "Disable Achievements" per request.
Get it now.

June 30, 2015

Productive Evening

By the time this post goes live, I'll have had over 500 downloads of RomTerraria 4 in just under three hours.  Not too bad.

That said, I've got a full day at the office tomorrow and need at least eight hours of sleep.  Have to keep at the full-time job because making mods doesn't pay bills.  I'll try to answer questions every evening (Pacific time) for the next bit, and if I have to release a patch, will do so as quickly as possible.

RomTerraria 4 Released

(7/1 10:52pm) Download RomTerraria 4 v0.4 Preview Release here.

This release allows you to do the following:
  • Increase the maximum resolution of the Terraria client beyond 1920x1200.
  • Enable cooperative fullscreen mode.
  • Fixed transparent rendering issues/items not rendering/some rendering crashes after switching to/from fullscreen mode or task switching.  (new for v0.4)
  • Fix crash that could happen if Terraria was patched twice or more in a row without the cache being validated.  (new for v0.3)
  • Fix crashes on x64 machines due to ExecutionEngineExceptions.  (new for v0.2)
  • Disable achievements (if you want).  (new for v0.2)
Issues left to resolve:
  • Not all ExecutionEngineExceptions are handled.  Specifically, still finding some crashes due to massive parts of Terraria being rewritten as "unsafe code."  This doesn't mean that the code in Terraria is unsafe.  It means that the code can't be "verified" by .NET, so a lot of the safety checks that exist in normal XNA games are absent now.  At the moment, I'm focusing on Terraria.Graphics.TileBatch.InternalDraw/RenderBatch.


Terraria 1.3.0.2 at 2560x1440

To use:
  1. Unzip to somewhere other than where Terraria is installed.
  2. Right-click on Terraria in Steam, go to Properties, go to Local Files, and then Verify Integrity of Game Cache.  Every crash I've looked at so far has been caused either by the game itself or a bad file somewhere.  This also resets your Terraria installation to the latest version of the game.
  3. Run Terraria once to make sure it runs for you.
  4. Run RomTerraria 4.0.
  5. Only select "Enable Cooperative Fullscreen" if you are running a multimonitor solution or know what this is.
  6. Click "Open Terraria Save Game Folder."
  7. Click "Update Terraria." A Terraria.exe file and an RTHooks.dll file will appear in your save game folder.
  8. Open your Terraria folder on Steam.
  9. Rename Terraria.exe to Terraria.Original.exe.
  10. Copy Terraria.exe, Terraria.exe.config, and RTHooks.dll from your Terraria save game folder to your Terraria folder.
  11. Launch the game from Steam. 
If you select a higher resolution and it won't go above 1920x1200, go into windowed mode, change the resolution, then pick "Go Fullscreen" from the options menu.

Please note that if the game is updated, you'll have to repeat the above steps.

One note: the best thing that could ever happen to this mod would be for its main reason for existing (resolutions greater than 1920x1200) to cease to exist.  If Re-Logic would like the code to enable resolutions up to 8192x8192, just let me know.  It's yours for free, and would take very little time to implement.

If you like it, and want to tip in Dogecoin, here's someplace you can send them:
DMVNZDrDxqygKg92v7KjbgJPrDz6cseWF3

FAQ:

I'm not able to go above 1920x1200.
I'm looking into each of these reports.  If you can't go higher than 1920x1200, enable cooperative fullscreen.  When cooperative fullscreen is enabled, I set the screen size to the size of the default display adapter (monitor 1), set full screen to false, and set the window style to "none," meaning it hides the border and widgets.

I can't get the game to run after this, I'm running Windows Vista/7/8/8.1, and my copy of Terraria is installed under C:\Program Files.
Please install the game to a different Steam install location (like C:\Steam) or run Windows Explorer as an administrator.  Windows Vista and above created a great security mechanism called VirtualStore which can make it look like you are mucking around inside C:\Program Files, but are actually working against a folder in your User folder.  The way Steam works, it won't like having the replacement Terraria.exe or RTHooks.dll in the VirtualStore folder.

How does this find my copy of Terraria?
I use .NET's Process.GetProcesses() function to get a list of all processes on your machine that have "steam" in the name.
If I find one named "steam.exe," I look for Terraria in [that file's folder]/SteamApps/Common/Terraria.
If I don't find it there, I assume that it's in a different Steam install folder, so I open your config/config.vdf file and look for the path in InstallConfigStore/Software/Valve/Steam/apps/105600/installdir.
If I don't find it there, or if I don't find Steam.exe, I look for the GOG version by checking the registry key HKEY_LOCAL_MACHINE\SOFTWARE\re-logic\terraria\install_path.

Old versions of RomTerraria patched out the need for Steam.  Will you do that in RT4?
No.  It works fine under Steam now due to how they handled Steamworks this time.

When can I expect a response to my questions?
I'll respond as quickly as I can, but the most likely time periods are between 7-8am Pacific and 7-10pm Pacific daily.

Older Version Archive:

v0.3 Download (works for 1.3.0.2)
v0.2 Download (works for 1.3.0.2)
v0.1 Download (works for 1.3.0.2)