mrkite / terrafirma Goto Github PK
View Code? Open in Web Editor NEWMapping for Terraria
Home Page: http://seancode.com/terrafirma
License: BSD 2-Clause "Simplified" License
Mapping for Terraria
Home Page: http://seancode.com/terrafirma
License: BSD 2-Clause "Simplified" License
I put Terrafirma.exe in same directory with Terraria.exe or install it in different directories. "Use Textures", "Show NPC Houses" and "Show Wires" are still gray :(
How to make Terrafirma.exe "find my Terraria directory"?
Windows 7,
Terrafirma 2.0.3
Ok, so where do I find the textures for Terraria, since the screen is greyed out and I need to find the files/folder
So, I originally had an issue running the qmake command, but after the inclusion of the icns file, that error has been resolved, and it is now replaced by:
/usr/local/Cellar/qt5/5.5.1_2/bin/uic mainwindow.ui -o ui_mainwindow.h
/usr/local/Cellar/qt5/5.5.1_2/bin/uic settingsdialog.ui -o ui_settingsdialog.h
/usr/local/Cellar/qt5/5.5.1_2/bin/uic infodialog.ui -o ui_infodialog.h
/usr/local/Cellar/qt5/5.5.1_2/bin/uic killdialog.ui -o ui_killdialog.h
/usr/local/Cellar/qt5/5.5.1_2/bin/uic chestview.ui -o ui_chestview.h
/usr/local/Cellar/qt5/5.5.1_2/bin/uic signview.ui -o ui_signview.h
/usr/local/Cellar/qt5/5.5.1_2/bin/uic findchests.ui -o ui_findchests.h
/usr/local/Cellar/qt5/5.5.1_2/bin/uic hilitedialog.ui -o ui_hilitedialog.h
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -std=c++11 -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.7 -Wall -W -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I/usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers -I/usr/local/Cellar/qt5/5.5.1_2/lib/QtGui.framework/Headers -I/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I/usr/local/Cellar/qt5/5.5.1_2/mkspecs/macx-clang -F/usr/local/Cellar/qt5/5.5.1_2/lib -o main.o main.cpp
In file included from main.cpp:7:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers/QApplication:1:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers/qapplication.h:37:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qcoreapplication.h:38:
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:739:55: error: no type named 'u16string' in namespace 'std'
static inline QString fromStdU16String(const std::u16string &s);
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:740:17: error: no type named 'u16string' in namespace 'std'
inline std::u16string toStdU16String() const;
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:741:55: error: no type named 'u32string' in namespace 'std'
static inline QString fromStdU32String(const std::u32string &s);
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:742:17: error: no type named 'u32string' in namespace 'std'
inline std::u32string toStdU32String() const;
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1307:53: error: no type named 'u16string' in namespace 'std'
inline QString QString::fromStdU16String(const std::u16string &s)
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1310:13: error: no type named 'u16string' in namespace 'std'
inline std::u16string QString::toStdU16String() const
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1311:15: error: no member named 'u16string' in namespace 'std'
{ return std::u16string(reinterpret_cast<const char16_t*>(utf16()), length()); }
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1313:53: error: no type named 'u32string' in namespace 'std'
inline QString QString::fromStdU32String(const std::u32string &s)
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1316:13: error: no type named 'u32string' in namespace 'std'
inline std::u32string QString::toStdU32String() const
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1318:19: error: expected ';' after expression
std::u32string u32str(length(), char32_t(0));
^
;
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1318:10: error: no member named 'u32string' in namespace 'std'
std::u32string u32str(length(), char32_t(0));
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1318:20: error: use of undeclared identifier 'u32str'
std::u32string u32str(length(), char32_t(0));
^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1319:75: error: use of undeclared identifier 'u32str'
int len = toUcs4_helper(d->data(), length(), reinterpret_cast<uint*>(&u32str[0]));
^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1320:5: error: use of undeclared identifier 'u32str'
u32str.resize(len);
^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qstring.h:1321:12: error: use of undeclared identifier 'u32str'
return u32str;
^
In file included from main.cpp:7:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers/QApplication:1:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers/qapplication.h:45:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtGui.framework/Headers/qguiapplication.h:40:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qlocale.h:37:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qvariant.h:41:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qmap.h:40:
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qpair.h:62:44: error: no member named 'declval' in namespace 'std'
Q_DECL_NOEXCEPT_EXPR(noexcept(std::declval<T1&>() = p.first) && noexcept(std::declval<T2&>() = p.second))
~~~~~^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qcompilerdetection.h:1027:43: note: expanded from macro 'Q_DECL_NOEXCEPT_EXPR'
# define Q_DECL_NOEXCEPT_EXPR(x) noexcept(x)
^
In file included from main.cpp:7:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers/QApplication:1:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers/qapplication.h:45:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtGui.framework/Headers/qguiapplication.h:40:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qlocale.h:37:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qvariant.h:41:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qmap.h:40:
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qpair.h:62:52: error: 'T1' does not refer to a value
Q_DECL_NOEXCEPT_EXPR(noexcept(std::declval<T1&>() = p.first) && noexcept(std::declval<T2&>() = p.second))
^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qcompilerdetection.h:1027:43: note: expanded from macro 'Q_DECL_NOEXCEPT_EXPR'
# define Q_DECL_NOEXCEPT_EXPR(x) noexcept(x)
^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qpair.h:42:17: note: declared here
template <class T1, class T2>
^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qpair.h:62:55: error: expected expression
Q_DECL_NOEXCEPT_EXPR(noexcept(std::declval<T1&>() = p.first) && noexcept(std::declval<T2&>() = p.second))
^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qcompilerdetection.h:1027:43: note: expanded from macro 'Q_DECL_NOEXCEPT_EXPR'
# define Q_DECL_NOEXCEPT_EXPR(x) noexcept(x)
^
In file included from main.cpp:7:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers/QApplication:1:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtWidgets.framework/Headers/qapplication.h:45:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtGui.framework/Headers/qguiapplication.h:40:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qlocale.h:37:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qvariant.h:41:
In file included from /usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qmap.h:40:
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qpair.h:62:57: error: expected expression
Q_DECL_NOEXCEPT_EXPR(noexcept(std::declval<T1&>() = p.first) && noexcept(std::declval<T2&>() = p.second))
^
/usr/local/Cellar/qt5/5.5.1_2/lib/QtCore.framework/Headers/qcompilerdetection.h:1027:43: note: expanded from macro 'Q_DECL_NOEXCEPT_EXPR'
# define Q_DECL_NOEXCEPT_EXPR(x) noexcept(x)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [main.o] Error 1
So, as I said in the title, I installed qmake via homebrew instead of the recommended way of compiling it myself. Can you tell from this error message if that is the problem?
I get the message "This app can't run on your PC" when trying to run it on Windows 10 32 bit.
Fixes:
Sugestions:
3. There is no "About us" screen! (Would be very nice, including licensing and stuff)
4. Would be nice to add a feature like some kind of ruler... to measure in tiles in a line, or something like that...
5. Same kind of item 4, you click on the map, and it gives you the coordinate compatible with GPS ingame...
Again 3.0.9.
Switching the maps doesn't seem to reset chest search data - search dialog contains data from the first map the dialog was opened on.
Hi, I've just updatet TerraFirma to 2.0 but still use Terraria 1.1. When I load a map it's just a big black box. The status bar runs through different stages like lighting but after all it shows nothing.
It would be nice if there would be at least an alert mentioning that it's not a compatible map format. Of course I'd like it better if it would support both map formats.
/usr/lib/i386-linux-gnu/qt4/bin/uic mainwindow.ui -o ui_mainwindow.h
/usr/lib/i386-linux-gnu/qt4/bin/uic settingsdialog.ui -o ui_settingsdialog.h
/usr/lib/i386-linux-gnu/qt4/bin/uic infodialog.ui -o ui_infodialog.h
/usr/lib/i386-linux-gnu/qt4/bin/uic killdialog.ui -o ui_killdialog.h
/usr/lib/i386-linux-gnu/qt4/bin/uic chestview.ui -o ui_chestview.h
/usr/lib/i386-linux-gnu/qt4/bin/uic signview.ui -o ui_signview.h
/usr/lib/i386-linux-gnu/qt4/bin/uic findchests.ui -o ui_findchests.h
/usr/lib/i386-linux-gnu/qt4/bin/uic hilitedialog.ui -o ui_hilitedialog.h
g++ -c -pipe -std=c++11 -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp
main.cpp:9:26: fatal error: QSurfaceFormat: No such file or directory
#include
^
compilation terminated.
make: *** [main.o] Error 1
So when I try to launch TerraFirma it shows up for a split second in the activity handler and then it dissapears. I have used both the .exe and the .msi, nothing works. I have already tried running in admin mode and with compatability settings, nothing happens. Any Ideas?
After making the necessary changes to enable the project to compile on El Capitan, the program displays nothing once the world is loaded.
The key, I think, is the shaders are not linked and texture2D is undeclared. (possibly the cause of the shaders not being compiled/linked)
Hi, amazing work with that update!
I helped to update Berserker66/omnitool and we found that on linux, terraria uses
~/.local/share/Terraria/Worlds
~/.steam/steam/userdata/*/105600/remote/worlds
(thatβs one folder per steam user on that machine)Should be similar on windows and OSX!
Version 3.0.9 (explicitly tagging versions in public git would be recommended).
It would seem the highlight function is somehow off-by-one - not sure if this affects all of the blocks, but the easiest testable (Crimson Heart) doesn't highlight the leftmost heart on one map.
Hi! it's so awesome how you adapted my amateurish code. that's how i would have written it if i knew anything about WPF/C# :)
I have two minor suggestions, though:
I use TerraFirma on my Mac and Linux desktops, and I'm not a Windows guy at all. I noticed that some files have been checked in recently with MS-DOS CRLF line endings. I could just convert them to LF format, but that makes merging upstream changes tedious.
Thankfully Git makes it easy to auto-convert, depending on your platform, although it does require creating a .gitattributes file and/or setting the core.autocrlf
attribute to true
if you're a Windows person, or input
if you're a Mac/UNIX person.
Example:
# Mac or UNIX
git config --global core.autocrlf input
# Windows
git config --global core.autocrlf true
The .gitattributes file can be used for people who have not explicitly set the core.autocrlf
attribute in their Git config.
I'm about to submit a pull request that will hopefully address this issue. This StackOverflow question was very useful in figuring this out.
Also, somewhat related - I thought none of the dungeon chests were working because selecting "Crimson Chest" wasn't showing anything. Then I scrolled down and found "Locked Crimson Chest". Perhaps those should be combined.
Unrelated - it'd be nice to be able to search for "Crimson" and see "Crimson Chest", as an example, instead of needing to first expand the Chest category. There's a lot of items inside categories that can't be searched for because of this limitation.
Well, i'm on a I5 with a GTX 550ti and my Terrafirma lags a lot, it hit 25~40% of CPU, i was think about change map processing with XNA, or some way to use less CPU and more GPU. I don't know how rendering works, it's not my work area, but i would help within my area. Nice work at all, i'm glad helping it π
Since there is no linux package for the latest version of Terrafirma, I decided to try building it myself. However, the build immediately failed, with the following output:
zauber@daedalusMK3:/tmp/TerraFirma-3.0.15$ debuild
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package Terrafirma
dpkg-buildpackage: source version 3.0.15
dpkg-buildpackage: source distribution vivid
dpkg-buildpackage: source changed by Sean Kasun <[email protected]>
dpkg-source --before-build TerraFirma-3.0.15
dpkg-buildpackage: host architecture amd64
dpkg-source: error: source package name 'Terrafirma' is illegal: character 'T' not allowed
dpkg-buildpackage: error: dpkg-source --before-build TerraFirma-3.0.15 gave error exit status 2
debuild: fatal error at line 1376:
dpkg-buildpackage -rfakeroot -D -us -uc failed
I recently downloaded this software and immediately experienced a problem. When I opened my world I got this error: Couldn't read Tiles_73. I have no experience and require help, and all help is greatly appreciated. -necrocakes
When setting Terrafirma to highlight demon altars or crimson altars, it will not highlight them if they are underwater (or, presumably, submerged in other liquids). IIRC, MoreTerra had this same problem as well.
When I open any world with TerraFirma it crashes the moment it starts trying to load the npc's, I have tried reinstalling terrafirma and tried reinstalling terraria but it still doesn't work.
It would be neat if pyramids were detectable and accounted in the world stats. e.g. when one clicks on World Information...
.
Opening a map on a dedicated Terraria server is successful but obviously the textures are missing (without the client, which in turn would require Steam, Client and graphics adapter), could this be somehow improved in the future? Maybe copy the texture files to the server and add the path to Terrafirma.
Hi, I can't seem to find a way to make the position X,Y reflect the position related to the point 0,0 of the WORLD instead of the leftmost topmost position of the screen.
This way I am forced to keep counting tiles when I use terrafirma (instead of at a glance).
TY :)
Please add in the OpenFileDialog the File Show options:
All Files (.)
Terraria Worlds (*.wld.bak | *.wld)
Thanks :)
(Clouded Worlds are packed into bak files i think) (you can open renamed .bak files soo)
hi! it works pretty awesomely, apart from one problem: when moving the mouse over the map, the application freezes and i see the statusbar changing for quite some time (basically retracing my mouse movement) before things become responsive again.
i think there should be a way to do this asynchronously or and/or debouncing it.
PS: tag the 3.0.2 release, please π
I have the following issues with both the installed and binary without installer version of TerraFirma 2.1.
The only way to view a map is by exporting it as PNG. I'm willing to assist debugging any way I can if you could walk me through it. I mostly debug Linux software normally.
Some system information:
Not sure what else I could give you that would be useful.
SAM
Opening a .wld file (in Terrafirma) saved today results in an error on load: "Unsupported map version: 188"
Please
At that instant the program locks in ''reading the end of the flow'' (This is in any map viewer)
On the terrafirma problem is '' unsupported map version: 192 "
Hitting any letter on the keyboard while the drop down box is active will jump to the first item starting with that letter. However WASD is reserved for panning making it impossible to jump to items starting with W, A, S, or D.
Disabling panning when the drop down box is selected would be awesome.
I've just installed Terrafirma (downloaded three days ago), and it simply doesn't start. There are no error messages or anything; the desktop (or Explorer window) just loses focus for a few seconds, as if an application were opening, but then regains it. Terrafirma might appear in Task Manager, but has never been there long enough for me to spot it.
I've tried without compatibility settings and with compatibility modes for Win 8 and Win 7. I've also tried with and without Run As Admin.
Terrafirma is installed in the default location, and I'm running the latest version of Terraria through Steam.
Any idea what the problem could be and how I might make it go?
Please? It's a few minor versions behind - enough to not support the current map format. ^_^
Unsupported map version: 193
Any chance of an update? This is by far my favorite map viewer.
add some version information to the program somehwere. like an about menu.
Using qt 5.5 installed from homebrew.
$ qmake
Info: creating stash file /Users/rando/Code/vendor/TerraFirma/.qmake.stash
$ make
make: *** No rule to make target `icon.icns', needed by `terrafirma.app/Contents/Resources/icon.icns'. Stop.
$ qmake --version
QMake version 3.0
Using Qt version 5.5.0 in /usr/local/Cellar/qt5/5.5.0/lib
On Ubuntu. I know you're learning to love me.
New package worked fine to install and load, fog of war included.
When handlers function are used there is no verification about where you are in the byte array which may cause read out of the array !
For example :
https://github.com/mrkite/TerraFirma/blob/master/handle.cpp#L46
How install terrafirma? i'm new here so, i don't know to install for 32 or 86 bit, if there is, please! :')
It's been a while searching for Terraria Map Editor, and I just found TEdit, but I don't have PC/Windows.
π if you add Editor in Terrafirma
When i open terrafirma, it is just a blackscreen with nothing in. Pls help
So I just downloaded Terrafirma, and it's not finding Terraria through auto-detecting the directory. And I thought I was setting it right to steam/steamapps/common/terraria but now I'm getting that error for every map I try to open. And it goes away if I turn off textures. I'm running v3.0.19 of Terrafirma and v1.3.5.3 of Terraria
When I open TerraFirma a grey screen appears and nothing happens.
Im using MAC
My newest created world gets that error message when attempting to load with Terrafirma 2.2.2. I'm using Terraria 1.2.4 from Steam
Terrafirma can use so much RAM after few map loads !
After just viewing my 10 maps Terrafirma's RAM usage was over 2GB of RAM !
After the recent fix from @biouxtai (thanks!) I can now build TerraFirma successfully with El Capitan. There was still an issue loading the textures, however, but I was able to work around it with a hack.
I'll be the first person to say my fix is not worthy of a pull request, but should illustrate the problem. Time permitting, I will work on a more elegant and portable solution, but my feelings won't be hurt if someone beats me to it.
Here's a link to the commit on my fork:
Code diff:
$ git diff HEAD^
diff --git a/settingsdialog.cpp b/settingsdialog.cpp
index 35804f4..ea5cae0 100644
--- a/settingsdialog.cpp
+++ b/settingsdialog.cpp
@@ -46,7 +46,12 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent),
defaultTextures = "";
if (terrariaDir.exists())
+#if 0
defaultTextures = terrariaDir.absoluteFilePath("Content/Images");
+#else
+ // For MacOS
+ defaultTextures = terrariaDir.absoluteFilePath("Terraria.app/Contents/MacOS/Content/Images");
+#endif
QDir worldDir = QDir(
QStandardPaths::standardLocations(QStandardPaths::DocumentsLocation)
Selecting "Demon Altar" from the drop down field and clicking highlight will not highlight Crimson Altars.
"Crimson Altar" is not listed in the drop down field.
Hovering over Crimson Altars yields "Demon Altar" as sprite.
Whenever I open a new map and attempt to render it in Terrafirma it always gives me the error: "Unsupported map version: 177".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.