udoprog / c10t Goto Github PK
View Code? Open in Web Editor NEWA minecraft cartography tool
License: Other
A minecraft cartography tool
License: Other
The branch for version 1.0 is here:
http://github.com/udoprog/c10t/tree/v1.0
The following releases needs to be done:
Windows x86, x86-64
Linux x86, x86-64
Mac OS X x86, x86_64
The releases should be self-contained, either use statically compiled binaries or bundle all the libraries.
Each release should contain the following structure (replace with 1.0):
c10t-<version>/
c10t-<version>/c10t (binary, suffix with anything applicable, e.g. *.exe*)
c10t-<version>/README (README, suffix and convert newlines where applicable, e.g. *.txt*)
Building instructions should start popping up in the wiki.
If you build a release, link/send it to me and I will host it at:
http://toolchain.eu/minecraft/c10t/
Happy tracking!
This is the last piece of the puzzle for a 1.0 release.
The calculations involve:
version: 1efad57
by: Udoprog [email protected]
site: http://github.com/udoprog/c10t
linux, centos5 32bit
no matter what i do, i cannot make c10t render the map with north pointing up (north is left by default). the readme says do -f and -r, but that doesn't work. -r will rotate it 180 ccw, but if -f is included it only rotates 90 ccw. i ended up just installing imagemagick to rotate with convert map.png -rotate 90 map.png
A proper system for rotation is necessary, but there is currently no non-obtrusive way to implement this, therefore it is re-scheduled into the 1.1 release.
As per mudaltsov's recommendation, the rotation will be handled by specifying a degree if rotation as a multiple of 90, this could theoretically handle both positive and negative rotations, in the set [-360, +360]. This is more intiutive than "flip or invert" : P
Show-players shows all players, which ever visited the server.
For a better overview i like to define, which players should be printet to the map.
I just took a free input-command. :-)
The parameter -I sets the playername. Now i can track with a little parameter generator script the logged in players.
Here is my code modification. It's not clean, but it works.
diff --git src/global.h src/global.h
index d123448..cdc01ad 100644
--- src/global.h
+++ src/global.h
@@ -8,6 +8,7 @@
#endif
#include <string>
+#include <vector>
#include "blocks.h"
#include "color.h"
@@ -36,6 +37,7 @@ struct settings_t {
bool has_sign_color;
bool has_player_color;
bool has_coordinate_color;
+ std::vector<std::string> player_list;
int split;
// top/bottom used for slicing
int top;
@@ -102,7 +104,8 @@ struct settings_t {
}
~settings_t() {
- delete [] this->excludes;
+ delete [] this->excludes;
+ this->player_list.clear();
}
};
diff --git src/main.cpp src/main.cpp
index 2a3dacd..1711a45 100644
--- src/main.cpp
+++ src/main.cpp
@@ -9,6 +9,7 @@
#include <sstream>
#include <string>
#include <list>
+#include <vector>
#include <iostream>
#include <iomanip>
#include <fstream>
@@ -556,7 +557,7 @@ bool do_world(settings_t& s, fs::path world_path, string output) {
}
}
- players_db pdb(world_path / "players");
+ players_db pdb(s, world_path / "players");
if (!s.silent) cout << "Working on " << s.threads << " thread(s)... " << endl;
@@ -677,6 +678,7 @@ int do_help() {
<< " not ignoring bad chunks" << endl
<< " --show-players - Will draw out player position and names from the" << endl
<< " players database in <world>/players" << endl
+ << " -I, --player - include only this player in show-players" << endl
<< " --show-signs - Will draw out signs from all chunks" << endl
<< " --show-coordinates - Will draw out each chunks expected coordinates" << endl
<< " -M, --memory-limit <MB> - Will limit the memory usage caching operations to" << endl
@@ -852,6 +854,16 @@ bool do_side_color_set(const char *set_str) {
return true;
}
+
+bool do_add_player(settings_t& s, string playername) {
+ if (s.show_players) {
+ cout << "Add player " << playername << endl;
+ s.player_list.push_back(playername);
+ }
+ return true;
+}
+
+
// Convert a string such as "-30,40,50,30" to the corresponding N,S,E,W integers,
// and fill in the min/max settings.
void parse_limits(const string& limits_str, settings_t& s) {
@@ -921,6 +933,7 @@ int main(int argc, char *argv[]){
{"sign-color", required_argument, &flag, 8},
{"player-color", required_argument, &flag, 9},
{"coordinate-color", required_argument, &flag, 10},
+ {"player", required_argument, 0, 'I'},
{0, 0, 0, 0}
};
@@ -933,7 +946,7 @@ int main(int argc, char *argv[]){
includes[i] = false;
}
- while ((c = getopt_long(argc, argv, "DNvxcnqzyalshM:C:L:w:o:e:t:b:i:m:r:W:P:B:S:p:", long_options, &option_index)) != -1)
+ while ((c = getopt_long(argc, argv, "DNvxcnqzyalshM:C:L:w:o:e:t:b:i:m:r:W:P:B:S:p:I:", long_options, &option_index)) != -1)
{
blockid = -1;
@@ -1067,7 +1080,7 @@ int main(int argc, char *argv[]){
if (!(s.top > s.bottom && s.top < mc::MapY)) {
error << "Top limit must be between `<bottom limit> - " << mc::MapY << "', not " << s.top;
goto exit_error;
- }
+ }
break;
case 'L':
@@ -1102,6 +1115,9 @@ int main(int argc, char *argv[]){
case 'S':
if (!do_side_color_set(optarg)) goto exit_error;
break;
+ case 'I':
+ if (!do_add_player(s, optarg)) goto exit_error;
+ break;
case '?':
if (optopt == 'c')
error << "Option -" << optopt << " requires an argument";
diff --git src/players.h src/players.h
index 092f183..23a747e 100644
--- src/players.h
+++ src/players.h
@@ -12,6 +12,10 @@
#include <boost/filesystem.hpp>
#include "nbt/nbt.h"
+#include "global.h"
+
+#include <iostream>
+using namespace std;
namespace fs = boost::filesystem;
@@ -32,26 +36,46 @@ class players_db {
public:
std::vector<player> players;
- players_db(const fs::path path) {
+ players_db(settings_t &s, const fs::path path) {
fs::path full_path = fs::system_complete( path );
if (!fs::is_directory(full_path)) {
return;
}
- fs::directory_iterator end_iter;
+ if (s.player_list.empty()) {
- for ( fs::directory_iterator dir_itr( full_path );
- dir_itr != end_iter;
- ++dir_itr )
- {
- player p(dir_itr->path());
+ fs::directory_iterator end_iter;
- if (p.grammar_error) {
- continue;
+ for ( fs::directory_iterator dir_itr( full_path );
+ dir_itr != end_iter;
+ ++dir_itr )
+ {
+ player p(dir_itr->path());
+
+
+ if (p.grammar_error) {
+ continue;
+ }
+
+ players.push_back(p);
}
+ }
+ else {
+ unsigned int i;
- players.push_back(p);
+ for (i=0; i < s.player_list.size(); i++) {
+ fs::path player_file(s.player_list[i] + ".dat");
+ player_file = fs::complete(player_file, full_path);
+
+ player p(player_file);
+
+ if (p.grammar_error) {
+ continue;
+ }
+
+ players.push_back(p);
+ }
}
}
};
Rendering operations are now cached in the separate directory 'cache', caching is used by specifying the option --cache-key. These are recorded image_operations classes, and still need some optimization, but it is currently in a usable state.
Implement post-processing which will remove the transparent areas on the edges of the image.
It is recommended that this is done during (or before) write_image, possible implemented in the Image class.
The behaviour should be governed by an optional setting (see src/global.h) and getopt in src/main.cpp
Currently almost all new computers that come out have more than one core and many programs are not taking advantage of this. It would be really easy to add in support to just detect the number of cores a computer have and then set s->threads to that so people wouldn't have to deal with setting this by command line options. A lot of people who use this program may not know any better about this and thus not set the flag.
This line will give you the number of cores a computer has via boost::thread:
unsigned numCores = boost::thread::hardware_concurrency();
I think the old option should be kept, but to add this one a flag such as manualThreads or something would just need to be set true when a person uses the -m/--threads option.
Problem: I can't render maps with -y. Running CentOS 5.5 x86
Version:
c10t - a cartography tool for minecraft
version: SNAPSHOT
by: Udoprog <[email protected]>
site: http://github.com/udoprog/c10t
Error:
[...] 2471 done!
Compositioning image... png will be 1520x2048 and required approx. 24903680 bytes of memory ... c10t: /tmp/udoprog-c10t-b9d8b12/src/Image.cpp:52: void Image::composite(int, int, Image&): Assertion `xoffset >= 0' failed.
Aborted
Ran it in --debug and got no extra information. Rendering maps in any other mode, including -q, has worked fine (thus far.) Dependencies are current versions as of today.
It would be nice to have another output method that would draw a simple overhead image showing 1 pixel per block, along with the spawn point and current player position in different colors. This would need the world parsing phase from issue 14.
This could be used by GUI wrappers to show a quick view of the allocated map, and potentially allow selecting a region that should be rendered instead of the whole map.
Starting c10t with parameters to change the color of block 8 or 9 (Ex.: -B 9=103,141,255,208) results in an immediate abort. Changing other blocks works fine.
On our server we actually spawn a lot of water with the ID 8 perhaps this is a helpful information, I don't know.
System:
Debian lenny
Linux 2.6.26-2-openvz-amd64
x86_64 GNU/Linux
Version of 'c10t --version':...
SNAPSHOT
Command used:
./bin/c10t -B 9=103,141,255,208 -w /home/minecraft/server -r 270 -o test.png -D
Output:
*** glibc detected *** ./bin/c10t: double free or corruption (fasttop): 0x00000000014f0e20 ***
======= Backtrace: =========
/lib/libc.so.6[0x7f90289cb9a8]
/lib/libc.so.6(cfree+0x76)[0x7f90289cdab6]
./bin/c10t(_Z17do_base_color_setPKc+0x67)[0x410817]
./bin/c10t(main+0x338)[0x413448]
/lib/libc.so.6(__libc_start_main+0xe6)[0x7f90289761a6]
./bin/c10t(_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl+0x41)[0x40ed09]
======= Memory map: ========
00400000-0043e000 r-xp 00000000 09:03 29795132 /home/minecraft/bin/c10t
0063d000-0063f000 rw-p 0003d000 09:03 29795132 /home/minecraft/bin/c10t
014ef000-01510000 rw-p 014ef000 00:00 0 [heap]
7f9024000000-7f9024021000 rw-p 7f9024000000 00:00 0
7f9024021000-7f9028000000 ---p 7f9024021000 00:00 0
7f902854c000-7f9028554000 r-xp 00000000 09:03 29926690 /lib/librt-2.7.so
7f9028554000-7f9028753000 ---p 00008000 09:03 29926690 /lib/librt-2.7.so
7f9028753000-7f9028755000 rw-p 00007000 09:03 29926690 /lib/librt-2.7.so
7f9028755000-7f9028758000 r-xp 00000000 09:03 2859159 /usr/lib/libboost_system-mt.so.1.35.0
7f9028758000-7f9028957000 ---p 00003000 09:03 2859159 /usr/lib/libboost_system-mt.so.1.35.0
7f9028957000-7f9028958000 rw-p 00002000 09:03 2859159 /usr/lib/libboost_system-mt.so.1.35.0
7f9028958000-7f9028aa2000 r-xp 00000000 09:03 29926689 /lib/libc-2.7.so
7f9028aa2000-7f9028ca1000 ---p 0014a000 09:03 29926689 /lib/libc-2.7.so
7f9028ca1000-7f9028ca4000 r--p 00149000 09:03 29926689 /lib/libc-2.7.so
7f9028ca4000-7f9028ca6000 rw-p 0014c000 09:03 29926689 /lib/libc-2.7.so
7f9028ca6000-7f9028cab000 rw-p 7f9028ca6000 00:00 0
7f9028cab000-7f9028cc1000 r-xp 00000000 09:03 29925755 /lib/libgcc_s.so.1
7f9028cc1000-7f9028ec1000 ---p 00016000 09:03 29925755 /lib/libgcc_s.so.1
7f9028ec1000-7f9028ec2000 rw-p 00016000 09:03 29925755 /lib/libgcc_s.so.1
7f9028ec2000-7f9028f44000 r-xp 00000000 09:03 29926681 /lib/libm-2.7.so
7f9028f44000-7f9029143000 ---p 00082000 09:03 29926681 /lib/libm-2.7.so
7f9029143000-7f9029145000 rw-p 00081000 09:03 29926681 /lib/libm-2.7.so
7f9029145000-7f9029236000 r-xp 00000000 09:03 29934008 /usr/lib/libstdc++.so.6.0.10
7f9029236000-7f9029435000 ---p 000f1000 09:03 29934008 /usr/lib/libstdc++.so.6.0.10
7f9029435000-7f902943b000 r--p 000f0000 09:03 29934008 /usr/lib/libstdc++.so.6.0.10
7f902943b000-7f902943e000 rw-p 000f6000 09:03 29934008 /usr/lib/libstdc++.so.6.0.10
7f902943e000-7f9029451000 rw-p 7f902943e000 00:00 0
7f9029451000-7f902945f000 r-xp 00000000 09:03 2859162 /usr/lib/libboost_filesystem-mt.so.1.35.0
7f902945f000-7f902965f000 ---p 0000e000 09:03 2859162 /usr/lib/libboost_filesystem-mt.so.1.35.0
7f902965f000-7f9029660000 rw-p 0000e000 09:03 2859162 /usr/lib/libboost_filesystem-mt.so.1.35.0
7f9029660000-7f9029670000 r-xp 00000000 09:03 2859435 /usr/lib/libboost_thread-mt.so.1.35.0
7f9029670000-7f9029870000 ---p 00010000 09:03 2859435 /usr/lib/libboost_thread-mt.so.1.35.0
7f9029870000-7f9029871000 rw-p 00010000 09:03 2859435 /usr/lib/libboost_thread-mt.so.1.35.0
7f9029871000-7f9029887000 r-xp 00000000 09:03 29926700 /lib/libpthread-2.7.so
7f9029887000-7f9029a87000 ---p 00016000 09:03 29926700 /lib/libpthread-2.7.so
7f9029a87000-7f9029a89000 rw-p 00016000 09:03 29926700 /lib/libpthread-2.7.so
7f9029a89000-7f9029a8d000 rw-p 7f9029a89000 00:00 0
7f9029a8d000-7f9029ab2000 r-xp 00000000 09:03 29934970 /usr/lib/libpng12.so.0.27.0
7f9029ab2000-7f9029cb1000 ---p 00025000 09:03 29934970 /usr/lib/libpng12.so.0.27.0
7f9029cb1000-7f9029cb2000 rw-p 00024000 09:03 29934970 /usr/lib/libpng12.so.0.27.0
7f9029cb2000-7f9029cc8000 r-xp 00000000 09:03 29934079 /usr/lib/libz.so.1.2.3.3
7f9029cc8000-7f9029ec8000 ---p 00016000 09:03 29934079 /usr/lib/libz.so.1.2.3.3
7f9029ec8000-7f9029ec9000 rw-p 00016000 09:03 29934079 /usr/lib/libz.so.1.2.3.3
7f9029ec9000-7f9029ee5000 r-xp 00000000 09:03 29926696 /lib/ld-2.7.so
7f902a0cc000-7f902a0d2000 rw-p 7f902a0cc000 00:00 0
7f902a0e1000-7f902a0e4000 rw-p 7f902a0e1000 00:00 0
7f902a0e4000-7f902a0e6000 rw-p 0001b000 09:03 29926696 /lib/ld-2.7.so
7fff7ee8e000-7fff7eea3000 rw-p 7ffffffe9000 00:00 0 [stack]
7fff7efff000-7fff7f000000 r-xp 7fff7efff000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted
Allow for some way (possibly in the text on the sign itself) to white- or black-list signs for inclusion in --show-signs
Ubuntu 10.04, boost 1.40 etc.
j@j-laptop:~/minecraft/c10t$ ./c10t -w ~/.minecraft/saves/World1 type '-h' for help world: /home/j/.minecraft/saves/World1 output: out.png Performing broad phase scan of world directory... found 1541 files! Reading and projecting blocks on 2 thread(s)... png will be 704x672 and required approx. 3784704 bytes of memory ... 100 200 300c10t: /home/j/minecraft/c10t/src/Image.cpp:55: void Image::composite(int, int, ImageBuffer&): Assertion `yoffset + img.get_height() <= h' failed. Aborted j@j-laptop:~/minecraft/c10t$ ./c10t -version c10t - a cartography tool for minecraft version: dd814eea874ef1a2a349ceb66f70e1a387b319bc by: Udoprog site: http://github.com/udoprog/c10t
The default colors are too ad-hoc, at the time I set them, i didn't give much thought to the final composition, which is way too pastel.
system:
debian x86_64 lenny
command:
c10t -w ~/web-maps/world -o map.png
error:
Reading and projecting blocks on 2 thread(s)...
c10t: src/nbt/nbt.h:302: nbt::Byte nbt::Parser::read_tagType(void*): Assertion `type >= 0 && type <= TAG_Compound' failed.
Aborted
map is about 338mb big
Me thinks you forgot to commit a few files, as cmake is complaining about them during config.
src/world.cpp and src/nbt/nbt-inspect.cpp are a few examples.
I was required to install these packages too:
libboost-filesystem1.40-dev libboost-system1.40-dev
This is on 10.04
c10t is attempting to construct an array of uint8_t with a negative size. The exception occurs at src/nbt/nbt.h:163, which reads "uint8_t *str = new uint8_t[s + 1];". The value of s is -25096. This value comes from the previous line which reads "Short s = read_short(file);"
Perhaps s should be an unsigned short? I'll test with this and see if the render is affected. Debug information is below. This is being run on a Debian GNU/Linux 5 x86_64 system.
Stack Trace:
#0 0x0000000000544025 in raise ()
#1 0x000000000050a473 in abort ()
#2 0x00000000004ee6c4 in __gnu_cxx::__verbose_terminate_handler ()
#3 0x00000000004ee1d6 in __cxxabiv1::__terminate ()
#4 0x00000000004ee203 in std::terminate ()
#5 0x00000000004ee17a in __cxa_throw ()
#6 0x00000000004f3731 in operator new ()
#7 0x00000000004ee2a9 in operator new
#8 0x0000000000404d2d in nbt::Parser<level_file>::read_string (this=0x4251bc60, file=0x0) at src/nbt/nbt.h:163
#9 0x00000000004053bc in nbt::Parser<level_file>::parse_file (this=0x4251bc60, path=0x7ff190295ad8 "../../world.offline/u/1p/c.u.-3.dat") at src/nbt/nbt.h:363
#10 0x0000000000400ddf in level_file (this=0x7ff1902dd5b0, path=0x7ff190295ad8 "../../world.offline/u/1p/c.u.-3.dat") at src/level.cpp:97
#11 0x000000000042dfc7 in PartialRenderer::work (this=0x7fffbc838100, job= {path = {static npos = 18446744073709551615, _M_dataplus = {std::allocator = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x4251be10 "รZ)\220รฑ\177"}}, xPos = -1132232448, zPos = 32767}) at src/main.cpp:109
#12 0x000000000042fa34 in threadworker<render_job, Partial*>::run (this=0x7fffbc838100, id=1) at src/threads/threadworker.h:95
Source Code:
String read_string(gzFile file) {
Short s = read_short(file);
uint8_t str = new uint8_t[s + 1]; // This line results in the exception
assert_error(file, gzread(file, str, s) == s, "Buffer to short to read String");
String so((const char)str, s);
delete [] str;
return so;
}
Locals:
so = {static npos = 18446744073709551615, _M_dataplus = {std::allocator = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x4258aae0 "ร\221\177"}}
s = -25096
str = (uint8_t *) 0x4258ac60 ""
so = {static npos = 18446744073709551615, _M_dataplus = {std::allocator = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x56f91d "Expected TAG_Compound at root"}}
Currently under the downloads section there is no 1.0 version for any windows platform. Considering most minecraft users are windows I think there should be windows downloads. I know you have snapshot builds in the thread on minecraftforums.net, but no 1.0 builds.
It should be possible to modify the color map by adding a configuration file
c10t version: 776a651
Server: Ubuntu 10.10
I attempted to build c10t on a fresh server install using the provided instructions. However, when running
cmake .
I got this error:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
FREETYPE_INCLUDE_DIR_freetype2
used as include directory in directory /home/gloryfish/git/c10t
used as include directory in directory /home/gloryfish/git/c10t/src
used as include directory in directory /home/gloryfish/git/c10t/test
FREETYPE_INCLUDE_DIR_ft2build
used as include directory in directory /home/gloryfish/git/c10t
used as include directory in directory /home/gloryfish/git/c10t/src
used as include directory in directory /home/gloryfish/git/c10t/test
FREETYPE_LIBRARY
linked by target "c10t" in directory /home/gloryfish/git/c10t/src
linked by target "c10t-debug" in directory /home/gloryfish/git/c10t/src
linked by target "c10t-test" in directory /home/gloryfish/git/c10t/test
-- Configuring incomplete, errors occurred!
Running this command allowed cmake to complete successfully:
apt-get install libfreetype6-dev
Edit: correct lib name
Hiho,
OS: Still Debian Lenny
2.6.26-2-openvz-amd64 #1 SMP Thu Sep 16 16:09:07 UTC 2010 x86_64 GNU/Linux
c10t version:
SNAPSHOT (10:57, 9. Sept 2010)
Our map got bigger, perhaps too big?
After the whole render process, c10t tries to save the map as a png and throws the following error:
done!
Saving image...
libpng warning: Image height exceeds user limit in IHDR
libpng warning: Invalid image height in IHDR
libpng error: Invalid IHDR data
/home/minecraft/bin/c10t: Success
I have no clue about libpng but might that "user limit" be hardcoded in c10t?
Greetings
Ataman
Got a pm on minecraftforum from the user "protected", thought it was neat:
Hey. I run a private Minecraft server. I use c10t and just noticed you added player positions. I'd like to request (in case it isn't yet planned) also a mechanism to add custom labels to the map by specifying a group of in-world coordinates and text. This would use the same font attributes that are used for player positions, possibly a different color. Usage would be something like:
--label X,Z TEXT
or
--label X,Y,Z TEXT
where --label can be used any amount of times, or read from a text file and just specify
--labels FILENAME.TXT
When Y is not specified the position of the highest block from that X,Z column that is visible on the map (usually, but not always, the surface floor) should be used.
I'm not sure if this is something I'm doing wrong, something that's wrong with my computer, or a bug with c10t. Every time I try to render a map (and I have tried both 1.0 and the SNAPSHOT versions) I get this error:
Got exception while trying to execute command:
eu.toolchain.c10t.DetachedProcessException: 4040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404001404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040400140404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040400210001000100010001000100010001000100010001000100010001001100110011001100110011001100110011001100110011002100210021002100210021002100210021002100210021002100310031003100310031003100310031003100310031003100410041004100410041004100410041004100410041004100410051005100510051005100510051005100510051005100510061006100610061006100610061006100610061006100610061007100710071007100710071007100710071007100710071008100810081008100810081008100810081008100810081009100910091009100910091009100910091009100910091009100a100a100a100a100a100a100a100a100a100a100a100a100b100b100b100b100b100b100b100b100b100b100b100b100b100c100c100c100c100c100c100c100c100c100c100c100c100d100d100d100d100d100d100d100d100d100d100d100d100d100e100e100e100e100e100e100e100e100e100e100e100e100f100f100f100f100f100f100f100f100f100f100f100f100f1010101010101010101010101010101010101010101010101011101110111011101110111011101110111011101110111012101210121012101210121012101210121012101210121012101310131013101310131013101310131013101310131013101410141014101410141014101410141014101410141014101410151015101510151015101510151015101510151015101510161016101610161016101610161016101610161016101610161017101710171017101710171017101710171017101710171018101810181018101810181018101810181018101810181019101910191019101910191019101910191019101910191019101a101a101a101a101a101a101a101a101a101a101a101a101b101b101b101b101b101b101b101b101b101b101b101b101b101c101c101c101c101c101c101c101c101c101c101c101c101d101d101d101d101d101d101d101d101d101d101d101d101d101e101e101e101e101e101e101e101e101e101e101e101e101f101f101f101f101f101f101f101f101f101f101f101f101f1020102010201020102010201020102010201020102010201021102110211021102110211021102110211021102110211022102210221022102210221022102210221022102210221022102310231023102310231023102310231023102310231023102410241024102410241024102410241024102410241024102410251025102510251025102510251025102510251025102510261026102610261026102610261026102610261026102610261027102710271027102710271027102710271027102710271028102810281028102810281028102810281028102810281028102910291029102910291029102910291029102910291029102a102a102a102a102a102a102a102a102a102a102a102a102b102b102b102b102b102b102b102b102b102b102b102b102b102c102c102c102c102c102c102c102c102c102c102c102c102d102d102d102d102d102d102d102d102d102d102d102d102d102e102e102e102e102e102e102e102e102e102e102e102e102f102f102f102f102f102f102f102f102f102f102f102f102f1030103010301030103010301030103010301030103010301031103110311031103110311031103110311031103110311032103210321032103210321032103210321032103210321032103310331033103310331033103310331033103310331033103410341034103410341034103410341034103410341034103410351035103510351035103510351035103510351035103510361036103610361036103610361036103610361036103610361037103710371037103710371037103710371037103710371038103810381038103810381038103810381038103810381038103910391039103910391039103910391039103910391039103a103a103a103a103a103a103a103a103a103a103a103a103b103b103b103b103b103b103b103b103b103b103b103b103b103c103c103c103c103c103c103c103c103c103c103c103c103d103d103d103d103d103d103d103d103d103d103d103d103d103e103e103e103e103e103e103e103e103e103e103e103e103f103f103f103f103f103f103f103f103f103f103f103f103f1040104010401040104010401040104010401040104010401041104110411041104110411041104110411041104110411042104210421042104210421042104210421042104210421042104310431043104310431043104310431043104310431043104410441044104410441044104410441044104410441044104410451045104510451045104510451045104510451045104510461046104610461046104610461046104610461046104610461047104710471047104710471047104710471047104710471048104810481048104810481048104810481048104810481048104910491049104910491049104910491049104910491049104a104a104a104a104a104a104a104a104a104a104a104a104b104b104b104b104b104b104b104b104b104b104b104b104b104c104c104c104c104c104c104c104c104c104c104c104c104d104d104d104d104d104d104d104d104d104d104d104d104d104e104e104e104e104e104e104e104e104e104e104e104e104f104f104f104f104f104f104f104f104f104f104f104f104f1050105010501050105010501050105010501050105010501051105110511051105110511051105110511051105110511051105210521052105210521052105210521052105210521052105310531053105310531053105310531053105310531053105410541054105410541054105410541054105410541054105410551055105510551055105510551055105510551055105510561056105610561056105610561056105610561056105610561057105710571057105710571057105710571057105710571058105810581058105810581058105810581058105810581058105910591059105910591059105910591059105910591059105a105a105a105a105a105a105a105a105a105a105a105a105b105b105b105b105b105b105b105b105b105b105b105b105b105c105c105c105c105c105c105c105c105c105c105c105c105d105d105d105d105d105d105d105d105d105d105d105d105d105e105e105e105e105e105e105e105e105e105e105e105e105f105f105f105f105f105f105f105f105f105f105f105f105f1060106010601060106010601060106010601060106010601061106110611061106110611061106110611061106110611061106210621062106210621062106210621062106210621062106310631063106310631063106310631063106310631063106410641064106410641064106410641064106410641064106410651065106510651065106510651065106510651065106510661066106610661066106610661066106610661066106610661067106710671067106710671067106710671067106710671068106810681068106810681068106810681068106810681068106910691069106910691069106910691069106910691069106a106a106a106a106a106a106a106a106a106a106a106a106b106b106b106b106b106b106b106b106b106b106b106b106b106c106c106c106c106c106c106c106c106c106c106c106c106d106d106d106d106d106d106d106d106d106d106d106d106d106e106e106e106e106e106e106e106e106e106e106e106e106f106f106f106f106f106f106f106f106f106f106f106f106f1070107010701070107010701070107010701070107010701071107110711071107110711071107110711071107110711071107210721072107210721072107210721072107210721072107310731073107310731073107310731073107310731073107410741074107410741074107410741074107410741074107410751075107510751075107510751075107510751075107510761076107610761076107610761076107610761076107610761077107710771077107710771077107710771077107710771078107810781078107810781078107810781078107810781078107910791079107910791079107910791079107910791079107a107a107a107a107a107a107a107a107a107a107a107a107a107b107b107b107b107b107b107b107b107b107b107b107b107c107c107c107c107c107c107c107c107c107c107c107c107d107d107d107d107d107d107d107d107d107d107d107d107d107e107e107e107e107e107e107e107e107e107e107e107e107f107f107f107f107f107f107f107f107f107f107f107f107f1080108010801080108010801080108010801080108010801081108110811081108110811081108110811081108110811081108210821082108210821082108210821082108210821082108310831083108310831083108310831083108310831083108410841084108410841084108410841084108410841084108410851085108510851085108510851085108510851085108510861086108610861086108610861086108610861086108610861087108710871087108710871087108710871087108710871088108810881088108810881088108810881088108810881088108910891089108910891089108910891089108910891089108a108a108a108a108a108a108a108a108a108a108a108a108a108b108b108b108b108b108b108b108b108b108b108b108b108c108c108c108c108c108c108c108c108c108c108c108c108d108d108d108d108d108d108d108d108d108d108d108d108d108e108e108e108e108e108e108e108e108e108e108e108e108f108f108f108f108f108f108f108f108f108f108f108f108f1090109010901090109010901090109010901090109010901091109110911091109110911091109110911091109110911091109210921092109210921092109210921092109210921092109310931093109310931093109310931093109310931093109310941094109410941094109410941094109410941094109410951095109510951095109510951095109510951095109510961096109610961096109610961096109610961096109610961097109710971097109710971097109710971097109710971098109810981098109810981098109810981098109810981098109910991099109910991099109910991099109910991099109a109a109a109a109a109a109a109a109a109a109a109a109a109b109b109b109b109b109b109b109b109b109b109b109b109c109c109c109c109c109c109c109c109c109c109c109c109d109d109d109d109d109d109d109d109d109d109d109d109d109e109e109e109e109e109e109e109e109e109e109e109e109f109f109f109f109f109f109f109f109f109f109f109f109f10a010a010a010a010a010a010a010a010a010a010a010a010a110a110a110a110a110a110a110a110a110a110a110a110a110a210a210a210a210a210a210a210a210a210a210a210a210a310a310a310a310a310a310a310a310a310a310a310a310a310a410a410a410a410a410a410a410a410a410a410a410a410a510a510a510a510a510a510a510a510a510a510a510a510a610a610a610a610a610a610a610a610a610a610a610a610a610a710a710a710a710a710a710a710a710a710a710a710a710a810a810a810a810a810a810a810a810a810a810a810a810a810a910a910a910a910a910a910a910a910a910a910a910a910aa10aa10aa10aa10aa10aa10aa10aa10aa10aa10aa10aa10aa10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ac10ac10ac10ac10ac10ac10ac10ac10ac10ac10ac10ac10ad10ad10ad10ad10ad10ad10ad10ad10ad10ad10ad10ad10ad10ae10ae10ae10ae10ae10ae10ae10ae10ae10ae10ae10ae10af10af10af10af10af10af10af10af10af10af10af10af10af10b010b010b010b010b010b010b010b010b010b010b010b010b110b110b110b110b110b110b110b110b110b110b110b110b110b210b210b210b210b210b210b210b210b210b210b210b210b310b310b310b310b310b310b310b310b310b310b310b310b310b410b410b410b410b410b410b410b410b410b410b410b410b510b510b510b510b510b510b510b510b510b510b510b510b610b610b610b610b610b610b610b610b610b610b610b610b610b710b710b710b710b710b710b710b710b710b710b710b710b810b810b810b810b810b810b810b810b810b810b810b810b810b910b910b910b910b910b910b910b910b910b910b910b910ba10ba10ba10ba10ba10ba10ba10ba10ba10ba10ba10ba10ba10bb10bb10bb10bb10bb10bb10bb10bb10bb10bb10bb10bb10bc10bc10bc10bc10bc10bc10bc10bc10bc10bc10bc10bc10bc10bd10bd10bd10bd10bd10bd10bd10bd10bd10bd10bd10bd10be10be10be10be10be10be10be10be10be10be10be10be10bf10bf10bf10bf10bf10bf10bf10bf10bf10bf10bf10bf10bf10c010c010c010c010c010c010c010c010c010c010c010c010c110c110c110c110c110c110c110c110c110c110c110c110c110c210c210c210c210c210c210c210c210c210c210c210c210c310c310c310c310c310c310c310c310c310c310c310c310c310c410c410c410c410c410c410c410c410c410c410c410c410c510c510c510c510c510c510c510c510c510c510c510c510c610c610c610c610c610c610c610c610c610c610c610c610c610c710c710c710c710c710c710c710c710c710c710c710c710c810c810c810c810c810c810c810c810c810c810c810c810c810c910c910c910c910c910c910c910c910c910c910c910c910ca10ca10ca10ca10ca10ca10ca10ca10ca10ca10ca10ca10ca10cb10cb10cb10cb10cb10cb10cb10cb10cb10cb10cb10cb10cc10cc10cc10cc10cc10cc10cc10cc10cc10cc10cc10cc10cc10cd10cd10cd10cd10cd10cd10cd10cd10cd10cd10cd10cd10ce10ce10ce10ce10ce10ce10ce10ce10ce10ce10ce10ce10cf10cf10cf10cf10cf10cf10cf10cf10cf10cf10cf10cf10cf10d010d010d010d010d010d010d010d010d010d010d010d010d110d110d110d110d110d110d110d110d110d110d110d110d110d210d210d210d210d210d210d210d210d210d210d210d210d310d310d310d310d310d310d310d310d310d310d310d310d310d410d410d410d410d410d410d410d410d410d410d410d410d510d510d510d510d510d510d510d510d510d510d510d510d610d610d610d610d610d610d610d610d610d610d610d610d610d710d710d710d710d710d710d710d710d710d710d710d710d810d810d810d810d810d810d810d810d810d810d810d810d810d910d910d910d910d910d910d910d910d910d910d910d910da10da10da10da10da10da10da10da10da10da10da10da10da10db10db10db10db10db10db10db10db10db10db10db10db10dc10dc10dc10dc10dc10dc10dc10dc10dc10dc10dc10dc10dc10dd10dd10dd10dd10dd10dd10dd10dd10dd10dd10dd10dd10de10de10de10de10de10de10de10de10de10de10de10de10df10df10df10df10df10df10df10df10df10df10df10df10df10e010e010e010e010e010e010e010e010e010e010e010e010e110e110e110e110e110e110e110e110e110e110e110e110e110e210e210e210e210e210e210e210e210e210e210e210e210e310e310e310e310e310e310e310e310e310e310e310e310e310e410e410e410e410e410e410e410e410e410e410e410e410e510e510e510e510e510e510e510e510e510e510e510e510e510e610e610e610e610e610e610e610e610e610e610e610e610e710e710e710e710e710e710e710e710e710e710e710e710e810e810e810e810e810e810e810e810e810e810e810e810e810e910e910e910e910e910e910e910e910e910e910e910e910ea10ea10ea10ea10ea10ea10ea10ea10ea10ea10ea10ea10ea10eb10eb10eb10eb10eb10eb10eb10eb10eb10eb10eb10eb10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10ed10ed10ed10ed10ed10ed10ed10ed10ed10ed10ed10ed10ee10ee10ee10ee10ee10ee10ee10ee10ee10ee10ee10ee10ef10ef10ef10ef10ef10ef10ef10ef10ef10ef10ef10ef10ef10f010f010f010f010f010f010f010f010f010f010f010f010f110f110f110f110f110f110f110f110f110f110f110f110f110f210f210f210f210f210f210f210f210f210f210f210f210f310f310f310f310f310f310f310f310f310f310f310f310f310f410f410f410f410f410f410f410f410f410f410f410f410f510f510f510f510f510f510f510f510f510f510f510f510f510f610f610f610f610f610f610f610f610f610f610f610f610f710f710f710f710f710f710f710f710f710f710f710f710f810f810f810f810f810f810f810f810f810f810f810f810f810f910f910f910f910f910f910f910f910f910f910f910f910fa10fa10fa10fa10fa10fa10fa10fa10fa10fa10fa10fa10fa10fb10fb10fb10fb10fb10fb10fb10fb10fb10fb10fb10fb10fc10fc10fc10fc10fc10fc10fc10fc10fc10fc10fc10fc10fc10fd10fd10fd10fd10fd10fd10fd10fd10fd10fd10fd10fd10fe10fe10fe10fe10fe10fe10fe10fe10fe10fe10fe10fe10ff3000300030003000300130013001300230023002300330033003300330043004300430053005300530063006300630063007300730073008300830083009300930093009300a300a300a300b300b300b300c300c300c300c300d300d300d300e300e300e300f300f300f300f301030103010301130113011301230123012301230133013301330143014301430153015301530153016301630163017301730173018301830183018301930193019301a301a301a301b301b301b301b301c301c301c301d301d301d301e301e301e301e301f301f301f302030203020302130213021302130223022302230233023302330243024302430243025302530253026302630263027302730273027302830283028302930293029302a302a302a302b302b302b302b302c302c302c302d302d302d302e302e302e302e302f302f302f303030303030303130313031303130323032303230333033303330343034303430343035303530353036303630363037303730373037303830383038303930393039303a303a303a303a303b303b303b303c303c303c303d303d303d303d303e303e303e303f303f303f3040304030403040304130413041304230423042304330433043304330443044304430453045304530463046304630463047304730473048304830483049304930493049304a304a304a304b304b304b304c304c304c304c304d304d304d304e304e304e304f304f304f304f305030503050305130513051305230523052305230533053305330543054305430553055305530563056305630563057305730573058305830583059305930593059305a305a305a305b305b305b305c305c305c305c305d305d305d305e305e305e305f305f305f305f306030603060306130613061306230623062306230633063306330643064306430653065306530653066306630663067306730673068306830683068306930693069306a306a306a306b306b306b306b306c306c306c306d306d306d306e306e306e306e306f306f306f307030703070307130713071307130723072307230733073307330743074307430743075307530753076307630763077307730773077307830783078307930793079307a307a307a307a307b307b307b307c307c307c307d307d307d307d307e307e307e307f307f307f308030803080308130813081308130823082308230833083308330843084308430843085308530853086308630863087308730873087308830883088308930893089308a308a308a308a308b308b308b308c308c308c308d308d308d308d308e308e308e308f308f308f3090309030903090309130913091309230923092309330933093309330943094309430953095309530963096309630963097309730973098309830983099309930993099309a309a309a309b309b309b309c309c309c309c309d309d309d309e309e309e309f309f309f309f30a030a030a030a130a130a130a230a230a230a230a330a330a330a430a430a430a530a530a530a530a630a630a630a730a730a730a830a830a830a830a930a930a930aa30aa30aa30ab30ab30ab30ac30ac30ac30ac30ad30ad30ad30ae30ae30ae30af30af30af30af30b030b030b030b130b130b130b230b230b230b230b330b330b330b430b430b430b530b530b530b530b630b630b630b730b730b730b830b830b830b830b930b930b930ba30ba30ba30bb30bb30bb30bb30bc30bc30bc30bd30bd30bd30be30be30be30be30bf30bf30bf30c030c030c030c130c130c130c130c230c230c230c330c330c330c430c430c430c430c530c530c530c630c630c630c730c730c730c730c830c830c830c930c930c930ca30ca30ca30ca30cb30cb30cb30cc30cc30cc30cd30cd30cd30cd30ce30ce30ce30cf30cf30cf30d030d030d030d030d130d130d130d230d230d230d330d330d330d330d430d430d430d530d530d530d630d630d630d730d730d730d730d830d830d830d930d930d930da30da30da30da30db30db30db30dc30dc30dc30dd30dd30dd30dd30de30de30de30df30df30df30e030e030e030e030e130e130e130e230e230e230e330e330e330e330e430e430e430e530e530e530e630e630e630e630e730e730e730e830e830e830e930e930e930e930ea30ea30ea30eb30eb30eb30ec30ec30ec30ec30ed30ed30ed30ee30ee30ee30ef30ef30ef30ef30f030f030f030f130f130f130f230f230f230f230f330f330f330f430f430f430f530f530f530f530f630f630f630f730f730f730f830f830f830f830f930f930f930fa30fa30fa30fb30fb30fb30fb30fc30fc30fc30fd30fd30fd30fe30fe30fe30ff
at eu.toolchain.c10t.C10tDetachedProcess.run(C10tDetachedProcess.java:92)
at eu.toolchain.c10t.CommandExecutionThread.run(CommandExecutionThread.java:18)
and my window manager crashes. I have tried running it with OpenJDK and Sun... I get the same error either way.
EDIT: I should also mention... I'm using the Linux x86_64 version.
system:
debian x86_64
error:
Compositioning image... png will be 12369x12530 and required approx. 1239868560 bytes of memory ... c10t: src/Image.cpp:40: void Image::composite(int, int, Image&): Assertion `xoffset + img.get_width() <= w' failed.
Aborted
command i ran
./c10t -y -m 2 -w /home/mine/web-maps/world -o /home/mine/web-maps/test.png
for some reason i get invalid option whenever i try to get version ./c10t --version
./c10t: unrecognized option '--version'
Using the latest code (as of 10/1/2010) on a Debian GNU/Linux x86_64 system. Rendering using the command './maps/c10t --world world.offline --limits -20,5,-25,45 --threads 5'. The resulting map extends 45 chunks in both the west and south directions. Debugging shows that the values are being parsed correctly (min_x = -20, max_x = 5, min_z = -25, max_z = 45).
Executing c10t with different values for south has no effect on the map. Using different values for west affects both west and south.
Since images change dimensions based on how much people on the server explore it's near impossible to line up subsequent images (for a time lapse, for example) without doing some sort of graphical comparison and lining up based on chunks that match. It would be nice if c10t added a PNG tEXt chunk to specify the pixel coordinates of the world's spawn point so the images can be aligned based on that. Something like:
"c10t-spawn-point" "800 600" for a spawn point at (800, 600) in the image.
Large maps take a long time to load, and users may be interested in seeing only a portion of the map. There should be additional switches for specifying the range of X and Z map coordinates to limit the drawing to.
Angled oblique maps would result in a diamond shape with a lot of empty space in the corners, so it may be nice to still draw blocks outside the specified region as long as they are visible in the resulting image. This would allow filling a complete image using an angled view.
There must be a solution to the theoretical problem of rendering near infinite maps, my Idea is to split the map into smaller files and arrange them in their own coordinate grid.
Like: c10t --split 10 -w /path/to/world -o test/
Where --split
specifies the number of chunks to include in any axis.
Output must in this case be a folder into which files like the following are written:
test/0.0.png
test/0.1.png
test/0.2.png
test/1.0.png
test/1.1.png
test/1.2.png
test/size.txt
size.txt contains the following:
1 2
This is <x-size> <y-size>
of the entire map, which can be easily mapped to all the parts.
When ./c10t -h is run the end of the description for --bottom is cut off. Line 491 in src/main.cpp. Figured it would be easier for you to edit it than to make another clean fork and make a pull request when you probably would edit the wording. :P
Also I've noticed that with the sheer number of options that the single letter options are getting kind of crowded. I think it might be a better idea to only use single letter options for the more common options (outfile, world, etc), and to stick with full options for the more uncommon options (threads, binary output, no-check, etc). I noticed that before the auto detection of threads was implemented a lot of people were mixing the single letter and full commands up as well as mixing up lower case and upper case.
What do you think about adding an option to define a level of detail or image sizes so if people wish they can generate larger images. My computer has no issue handling images that are several 10s of Mbs so size isn't an issue to me and I wish to view more detail. I think it would be a nice edition to add on. I don't think this would require a huge rewrite. Instead of writing a pixel per block (in top down) just make it a variable width block size.
North should point upwards by default, this involves proper iteration of the map, one idea is to create an iterator which handles all transformation automagically independent of mode. This could also be helpful when doing things like mapping player positions.
Would be nice if c10t could output a greyscale height map. Contour maps would be super nice too, but I have a feeling I could derive one myself if I just had a height map.
got the following error message:
minecraft@rollup:~/udoprog-c10t-07c14db$ ./c10t -w ../minecraft-smp/world/ -o asdf.png -m 4
type '-h' for help
world: ../minecraft-smp/world/
output: asdf.png
Reading and projecting blocks on 4 thread(s)...
c10t: /home/minecraft/udoprog-c10t-07c14db/src/nbt/nbt.cpp:86: void nbt::Parser::parse_file(const char*): Assertion `file != __null' failed.
Aborted
minecraft@rollup:~/udoprog-c10t-07c14db$ ./c10t --version
c10t - a cartography tool for minecraft
version: SNAPSHOT
by: Udoprog [email protected]
site: http://github.com/udoprog/c10t
I'd like to be able to post the map somewhere, but it's a 420 megabyte compressed tarball. :/ If the program reported which files it was choking on I could forward those along.
Edit: Debian Lenny, x86-32.
Very hard to see any detail, have to use oblique to to be of any use :)
i am running Win 7 64bit, Ultimate. 2.4 Ghz quad core Q6600, with 6 Gb of ram @ 1066 Mhz
when i try to render my 283mb map with the 32bit windows Gui(64bit does not work for some reason, no error message) i get this error:
"
eu.toolchain.c10t.C10tDetachedProcess.run(C10tDetachedProcess.java:92)
at
eu.toolchain.c10t.CommandExecutionThread.run(CommandExeCutionThread.java:18
"
it works on my smaller maps, (4mb-146mb) any clues?
PNG rendering is excessive for the task here. Any way it could be replaced with GIFs? Since we're dealing with single pixels here, there aren't too many colours used, so it should look fine. If I save one of these PNG maps as GIF, I use half the disk space and it looks exactly the same.
Hey, might be a good idea to add libboost-filesystem1.40.0-dev and libboost-filesystem1.40.0 to the list of dependencies for Ubuntu. Just tried compiling, and I was missing this after installing the dependencies. Don't know if it didn't get picked up or not, oh well!
The following does not seem to work properly under windows:
uint8_t b = ((y * 0xff) / img->get_height());
cout << IMAGE_BYTE << b << flush;
When the b is within a specific range the output would be 0x100aXX (three bytes).
The current shading process for the map is too primitive, there is need for the following shader types to make maps look more alive:
edit:
For 1.1 it's time to enable rendering of beautiful or functional maps by specifying a shader.
The shaders get height, blocklight and skylight as input, from these you can modify the default colors of the pixels. I will be implementing an extension model which will ease further development of these to make it easier for people to implement their own shaders.
This is the main blocker for 1.1
Allow editing of default color by a --colors option or something similar, might also be nice to be able to temporarily edit just a single color using --color = where is a hexadecimal set, like: cdcdcdff (rgba).
OS: Windows 2008 Server (via Remote Desktop) x64 VMWare guest
Command Line: c10t.exe -w World1 -o map1-normal-day.png -m 2 (World1 is a directory symlink in the c10t folder; using 2 out of the 4 cores assigned to the guest)
Error: http://c.imagehost.org/0743/waaah.png
Notes: The very same command, which I have in a batch file, worked just fine before I updated to the 1.1 snapshot with the fast broad phase scan (this works fine by the way!).
c10t: src/image.cpp:236: virtual void cached_image::get_pixel_rgba(int, int, uint8_t&, uint8_t&, uint8_t&, uint8_t&): Assertion `fread(cb, sizeof(cb), 1, f) == 1' failed.
I started getting this error 3 days ago on a 300MB map that I am generating an image for. I launched it with: ./c10t -w /home/minecraft/worldtemp -m 3 -o /home/minecraft/www/archive/brbminecrafting-obliqueangle-"$IMAGETIME".png --oblique-angle -M 1024 -C /home/minecraft/imagecache.dat $IMAGETIME was set earlier in the script to the moment that the worldtemp was created (cp the world directory and render from the copy). I tried upgrading to 1.1 and the exact same error message stops it.
If -a is specified after the last -i, no blocks are shown.
On my gentoo box, there's a ulimit -n (open files) of 1024 by default (via pam, since increased to around 4k). When it performs the initial directory scan, it craps out once it hits this limit. Is there a workaround?
The INSTALL file gives completely incorrect instructions for c10t. They give instructions for the other cartographer port you were working on.
This patch changes the INSTALL file to correctly reflect the current build instructions:
http://dl.dropbox.com/u/9135021/INSTALL.patch
Daily Snapshots seam to not be generating.
system:
debian x86_64 lenny
version:
SNAPSHOT last modified 29.09.2010 00:00
error:
mine@INS4NE:~/bin/test$ ./c10t -w /home/mine/web-maps/world -q
Type `-h' for help
Working on 2 thread(s)...
world: /home/mine/web-maps/world
output: out.png
Performing broad phase scan of world directory... terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Aborted
Latest head, checked out and compiled on Ubuntu 10.04 x86_64 on a quad-core Opteron machine. Build process completes fine, but whenever I try to generate, I get the following error:
root@leftovers:/opt/minecraft-smp/maps# ./c10t -w /opt/minecraft-smp/world.1 -o /var/www/minecraft-map.png
type '-h' for help
world: /opt/minecraft-smp/world.1
output: /var/www/minecraft-map.png
Reading and projecting blocks on 1 thread(s)...
c10t: /opt/c10t/c10t/src/nbt/nbt.h:304: nbt::Byte nbt::Parser::read_tagType(void*): Assertion `type >= 0 && type <= TAG_Compound' failed.
Aborted
An initial parsing phase is necessary which only calculates limits of the world being rendered (max_x, max_z, min_x, min_z) to allow for future features like projecting positions (based on x,z,y) for player tagging, position tagging (anything involving coordinates).
This should be generalized in a class called World
Could be implemented in two ways:
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.