May 28, 2011

RomTerraria FAQ

This is a list of frequently asked questions about RomTerraria, along with hopefully some answers.

[Update 11/9 1:25p] Most of this FAQ is out of date due to Terraria being upgraded to v1.2.  Preview releases of RomTerraria 3.0 are located here.
What is RomTerraria?

RomTerraria is a launcher for Terraria, a new indie game being distributed via Steam.

How does RomTerraria work?

RomTerraria takes advantage of a feature of the .NET Framework where every .NET executable is also a class. When RomTerraria is launched, it instantiates a copy of the game class inside Terraria.exe, modifies some internal variables inside the class using either direct access or reflection, and then fires the appropriate methods once you hit the launch button. It also uses the GameComponent architecture inside of XNA games to hook into the Update events, but because of where base.Draw(GameTime) is called inside Terraria, an alternate solution had to be used for where I'm doing rendering.

Why does RomTerraria have to be in the same folder as Terraria.exe?

The way I'm currently binding to Terraria.exe demands it. For awhile, I was working on separating the two, but given recent interactions with the community, I'm binding it tighter to the original game executable and to Steam.

Why did you release the source code?

I wanted to show that you could modify the game without cracking the executable, decompiling it, modifying the disassembled code, then illegally distributing their code. (Note: The source is occasionally one or two minor bug-fix updates behind.)

Why do fewer enemies spawn during gameplay when I'm using widescreen resolutions?

Terraria uses the screen dimensions to determine where to spawn enemies. For stock spawn rates, launch a local multiplayer server, then connect to that server.

When will the new HUD be complete?

No current estimate. The air conditioning in my apartment went out, and even with a 20" box fan blasting my box, it still gets too hot if I use it for long periods of time. Replacement parts have been ordered, but are backordered. My A/C should be fixed by June 4.

What does "Enable Pony" do?

I've been asked this from nineteen separate countries. First, read this thread over at Shacknews. Second, realize that had been a horrible day. Third, epic troll is epic.

I'm using a pirated version of Terraria, and your launcher won't work.

Boo hoo. Buy the game. Even if I was to grant the asinine assertion that piracy for evaluation purposes was acceptable (which I'm not), the moment you start looking for enhancements, evaluation time is over.

The launcher is crashing. What should I do?

First, make sure that you have the latest version of the launcher. Second, make sure all the files are in the same folder as Terraria.exe. Third, make sure Steam is running. If all of those conditions are met, the launcher should pop up a stack trace on the screen. Hit Control-C, reply to this post, and then hit Control-V to paste the stack trace into the comment.

I turned on Infinite Goblin Invasion. After turning it off, they're still coming. What should I do?

The Infinite Goblin Invasion option keeps firing the trigger to bring on new invasions. Each invasion contains at least 100 goblins. Unfortunately, that means you'll have to kill to the end of the current invasion. Good luck.

I'm using your launcher and I'm getting an error about fontCombatText.

Upgrade to the 2.0 launcher series.

May 21, 2011

Weekend

It's been far too long since I've done some code for me. I've missed it.

My personal project I was working on back in December got back-burnered to the point where it's hard to get back into it, so I'm taking some time to get into other code so when I do get back to my project, I'll be ready for it.

May 18, 2011

Terraria Trainer/Resolution Launcher

Update: 6/30/2015:

Preview version of RomTerraria 4.0 (for Terraria 1.3.x) is now available at this post.

---


Well, staring at JavaScript for a week drove me cross-eyed, so I spent an hour weekend or so and built a simple trainer/resolution launcher for Terraria. Requires Steam and Terraria 1.0.6. Not a source hack...wraps and calls into Terraria.

Install Launcher | Download Source | FAQs

Welcome to Shacknews, SomethingAwful, ArsTechnica, Quarter To Three, Reddit, PC Gamer, and GameFront. I can't believe over 13,000 people are using this launcher...

Screenshots: Normal Mini-map | Full World Mini-map

Note for those of you on Windows Vista/Windows 7: If you are being told that you may have an illegal copy when you don't AND you've installed Steam into Program Files AND Steam is running, right-click on the executable and run as administrator. The reason why this is happening is that when you just copy it over, it doesn't go into that folder. It goes into VirtualStore. Sorry for the extra security...blame TPB.

March 1, 2011

Sitefinity 4.0: Bring Back The Breadcrumbs

You may have noticed that the breadcrumb bar is missing from Sitefinity 4.0. Here's how to use the stock one from ASP.NET 4.0 until it comes back.

Go to Administration > Settings.

Click "Advanced."

Drill down to Toolboxes > Toolboxes > PageControls > Sections.

Create a new section if wanted. I named mine AspNetToolboxSection.

Inside where you want it created, drill down to Tools.

Click "Create New."

Under Control Type, enter:
System.Web.UI.WebControls.SiteMapPath

Under Name, enter:
System.Web.UI.WebControls.SiteMapPath

Under Title, enter:
SiteMapPath

Save changes.

January 20, 2011

What's Not Complete In Sitefinity 4.0

I had an ulterior motive for participating in this past weekend's GiveCamp. We use Sitefinity 3.7 SP4 as our primary CMS at work, and we've been planning on moving to Sitefinity 4.0 in March even after the licensing brouhaha. Participating would not only allow me to give something back to the community, but also use the new version in a production environment and get some initial learnings.

What we found was an alpha product with a 4.0 version number. Advertised features like localization and custom fields weren't working. Multiple teams got bit by template issues that caused their entire sites to vanish. Performance was abysmal.

We also found many features "in process of implementation," i.e. not done. Here's a short incomplete list.

Definitions on Blogs, Events, Generic Content, Documents, Images, Videos and News.
Paging on Generic Content.
Updating your profile through the backend.
Advanced filters on Blogs, Generic Content.
Image gallery: Thumbnail sizes, large image sizes.
Image library, video library: Thumbnail sizes and resizing.
Libraries: Caching.
Parts of the Download List Selector Designer.
The "Create New Library" portion of the Media Content Uploader view.
Batch editing in the Upload dialog.
Navigating to the parent, owner, page properties, reordering pages or publishing pages from certain toolbars.
In the page view, showing scheduled pages, pages pending approval, custom fields.
In some areas, creating child pages or sibling pages isn't implemented, even though it's set up right in other areas.
Comments: Blocking IP addresses, e-mail addresses, or marking comments as favorites.
Tags and category filters.
Resolving resource URL's against libraries.
Searching through users.
Advanced filtering of Events.
Replacing images in the Image library.

I really hope that we get SP1 by the end of February.