Tool Rupee Replacer - Change coins into rupees (Vanilla & tModLoader)

trigger_segfault

Spazmatism
uQUPvOi.png
Terraria Rupee Replacer is a patcher for turning all aspects of coins into rupees. From sprites and sounds, to text and text color. The program also allows the user to select which color rupees to use. Supports Vanilla and tModLoader. Now includes localization support.

Note: Although a RupeeConfig.xml file is created in the Terraria executable directory, modifying this will not change rupee sprites. RupeeConfig.xml is for internal use only. Instead you can use the Update Rupees option in the patcher to only modify the content files. This way you don't need to repatch when changing rupee colors.


lAXjGYP.png


Previews

K2gA12i.gif


(Rupee Replacer does not replace any other sprites previewed in the images below)
Short Video Preview

lfWJaJK.gif
ugUOlrr.gif


Sitting Rupees.png Rupee Piles.png Picking Up.png Pickup Text.png Death Text.png Sell Price.png Reforge Cost.png Coin Gun.png Coin Ring.png Lucky Coin.png NurseHeal.png TaxCollect.png

lAXjGYP.png


Modifies

~ Changes coin sprites and animations ~
~ Recolors coin sparkles ~
~ Changes coin sounds ~
~ Changes coin pickup text and color ~
~ Changes NPC shop price text and color ~
~ Changes Nurse and Tax Collector menu text ~
~ Changes reforge cost text and color ~
~ Changes death dropped coins text ~
~ Changes coin movement glow color ~
~ Changes coin names ~
~ Changes all references to coins into rupees ~
~ Recolors Coin Gun bullets ~
~ Resprites the Coin Gun (optional) ~
~ Resprites the Lucky Coin (optional) ~
~ Resprites the Coin Ring (optional) ~
~ Resprites the Coin Portal (optional) ~

Requirements

.NET Framework 4.5.2 | Windows 7 or later
Terraria for PC

Downloads: v1.0.3.0

TerrariaRupeeReplacer-1.0.3.0.exe
Supports: Vanilla v1.3.5.3 | tModLoader v0.10.1.4 (v1.3.5.1)
(The patcher executable. Dlls in the previous downloads are no longer required)


~ Previous downloads can be found at the bottom of the page ~

lAXjGYP.png


Program Preview
JKpESdj.png

Wiki | Credits | Image Album | Source Code

Help Improve Translations

Better Animation Sprites Wanted
(If you're any good at animation and want to contribute better sprites, then I'd be happy to accept)

lAXjGYP.png


⬅ Other Information

v1.0.3.0 | Vanilla v1.3.5.3 | tModLoader v0.10.1.4 (v1.3.5.1)
  • Patcher now supports v0.10.1.4 of tModLoader.
v1.0.2.4 | Vanilla v1.3.5.3 | tModLoader v0.10.1 (v1.3.5.1)
  • Tooltip mods in tModLoader should no longer have issues or cause crashes.
v1.0.2.3 | Vanilla v1.3.5.3 | tModLoader v0.10.1 (v1.3.5.1)
  • No longer fails to extract the dust xnb file while patching.
v1.0.2.2 | Vanilla v1.3.5.3 | tModLoader v0.10.1 (v1.3.5.1)
  • No longer attempts to launch Terraria twice.
v1.0.2.1 | Vanilla v1.3.5.3 | tModLoader v0.10.1 (v1.3.5.1)
  • Now launches Terraria from the configured save folder in Terra Launcher if present on the computer.
  • Required files are now copied first so that if an error occurs at that
    point, the executable will still remain untouched.
  • Every required file and dll is now embedded into the executable.
  • Now waits half a second before making the executable large address
    aware. This should fix an issue where it couldn't write to the exe
    because it wasn't closed by the patching library yet.
  • A bit of code refactoring.
v1.0.2.0 | Vanilla v1.3.5.3 | tModLoader v0.10.1 (v1.3.5.1)
  • Nurse and Tax Collector now show Rupees instead of coins in their chat windows.
  • Restoring now asks if you'd like to clean up all of the required files.
  • Patcher now attempts to locate local variables instead of using looked up values. This may extend the life of the patcher without requiring updates. (Doesn't even distinguish between tModLoader and vanilla anymore, although the setting has been kept)
  • Major refactoring. Everything is prettier now.
v1.0.1.1 | Vanilla v1.3.5.3 | tModLoader v0.10.1 (v1.3.5.1)
  • No longer fails to initially patch due to checking the version of the backup instead of the exe.
v1.0.1.0 | Vanilla v1.3.5.3 | tModLoader v0.10.1 (v1.3.5.1)
  • Added localization. All references to coins have been changed to
    rupees. Non-english localization will need improvement.
  • Added options to resprite Coin Gun, Lucky Coin, Coin Ring, and Coin
    Portal.
  • Coin Gun bullets now rupee colored.
  • Added proper icon for error window.
  • Window now loads current Terraria rupee configuration on startup and not
    last settings in the window.
v1.0.0.0 | Vanilla v1.3.5.3 | tModLoader v0.10.1 (v1.3.5.1)

The patcher for for turning coins into rupees. Currently comes with 8 available rupee colors.
 
Last edited:
I tried to patch it but.. patcher gives me an exception that it couldn't find the executable even thou i show it to the patcher directly.
Code:
System.IO.FileNotFoundException: Nie można odnaleźć pliku 'D:\Game\STEAM\SteamApps\common\Terraria\tModLoader.exe.bak'.
Nazwa pliku: 'D:\Game\STEAM\SteamApps\common\Terraria\tModLoader.exe.bak'
   w System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   w System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   w System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   w Mono.Cecil.ModuleDefinition.GetFileStream(String fileName, FileMode mode, FileAccess access, FileShare share)
   w Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
   w TerrariaRupeeReplacer.Patching.IL.GetAssemblyVersion(String path)
   w TerrariaRupeeReplacer.MainWindow.CheckSupportedVersion(String exePath)
   w TerrariaRupeeReplacer.MainWindow.OnPatch(Object sender, RoutedEventArgs e)
   w System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   w System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   w System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   w System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   w System.Windows.Controls.Primitives.ButtonBase.OnClick()
   w System.Windows.Controls.Button.OnClick()
   w System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   w System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   w System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   w System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   w System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   w System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   w System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   w System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   w System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   w System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   w System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   w System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   w System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   w System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   w System.Windows.Input.InputManager.ProcessStagingArea()
   w System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   w System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   w System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   w System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   w System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   w MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   w MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   w System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   w System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
 
I tried to patch it but.. patcher gives me an exception that it couldn't find the executable even thou i show it to the patcher directly.

Looks like the problem is it's trying to to check the supported version of the backup executable instead of the real executable. Just a copy & paste error on my part. I'll patch this real quick, but in the meantime just manually create "tModLoader.exe.bak" in the same folder.

Edit: The hotfix is live.

Edit 2: I'd also love to hear your opinion on the Polish translation my guess is some of the grammar isn't conforming.
 
Last edited:
upload_2017-9-25_0-11-59.png
this is what happens when i try to open the .exe (windows said that opening the rupee replacer could make my pc vulnerable)


EDIT: tried installing .net framework 4.6, computer said its already installed
 
Last edited:
View attachment 184131 this is what happens when i try to open the .exe (windows said that opening the rupee replacer could make my pc vulnerable)


EDIT: tried installing .net framework 4.6, computer said its already installed

The most I can recommend is looking at the source code for malicious activity and then building yourself (Safest method).

Second option is just telling the antivirus programs to allow the file.

I'm trying to figure out why every program I write is getting flagged. I can literally make a simple Console application with nothing in it's main function and my antivirus will complain when I download it.

Edit: Looks like some antivirus software is just really picky. I'm working with a few of my programmer friends and they aren't getting any issues on their end. It just happens that Trend Micro which I use likes to flag basically every program I download.
 
Last edited:
Ahh, damn. The mod works normally for TModLoader, but whenever I mouse over something in any shop, I crash to desktop. I'd provide the crash log, but I'm not really sure where it is...
I DID test it without the rupees, btw- works normally. So it's definitely this.
I'm using a few mods to increase tooltip information -dps display, colored damage types, and one that just plain extends the shown info.
 
Ahh, damn. The mod works normally for TModLoader, but whenever I mouse over something in any shop, I crash to desktop. I'd provide the crash log, but I'm not really sure where it is...
I DID test it without the rupees, btw- works normally. So it's definitely this.
I'm using a few mods to increase tooltip information -dps display, colored damage types, and one that just plain extends the shown info.
Would you mind listing those mods you mentioned?

Edit: I think I know what the problem is. tModLoader sets an array value to the string "Price" so that the tooltip type can be identified. I didn't notice this when comparing the differences between tModLoader and Vanilla and thus did not set it. You're most likely hitting a null pointer exception. I'm writing a fix right now and will upload it as an official tool version. I'll message you when it's ready.

Edit 2: The hotfix is live. Lemme know if it fixes the issue. I'm confident it should.
 
Last edited:
Would you mind listing those mods you mentioned?

Edit: I think I know what the problem is. tModLoader sets an array value to the string "Price" so that the tooltip type can be identified. I didn't notice this when comparing the differences between tModLoader and Vanilla and thus did not set it. You're most likely hitting a null pointer exception. I'm writing a fix right now and will upload it as an official tool version. I'll message you when it's ready.

Edit 2: The hotfix is live. Lemme know how if it fixes the issue. I'm confident it should.

Sorry for the late reply! But that fixed it, thank you!
 
Back
Top Bottom