Giter Club home page Giter Club logo

c10t's People

Contributors

acleone avatar athemis avatar brettflan avatar denilsonsa avatar eisbehr avatar evildeeds avatar frozencow avatar golden-lion avatar hawk777 avatar hef avatar jnnnnn avatar larlin avatar maiki avatar mudaltsov avatar mycah avatar pantheis avatar reportingsjr avatar rmmh avatar smackysnacks avatar sn4kebite avatar tanaka141 avatar theowningone avatar uap-universe avatar udoprog avatar uristqwerty avatar wormss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c10t's Issues

GIF rendering

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.

Show-Signs suggestion

Allow for some way (possibly in the text on the sign itself) to white- or black-list signs for inclusion in --show-signs

Using -L or --limits, the south bound uses the west value.

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.

render issue

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'

Error after broad phase scan

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!).

std::length_error

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

Crop Transparent Areas

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

Implement broad phase world parsing

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:

  • Doing an incremental sweep of the world directory, by checking for existing .dat files using the base36 position format (probably faster on bigger worlds).
  • Doing a quick pass parsing of all the .dat files to get xPos, zPos and calculate min/max (slower but more accurate).

Feature request: output image showing allocated world blocks

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.

Weird command byte on windows binary integration

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).

Rendering Infinitely Large Maps by splitting into smaller files

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.

Image height exceeds user limit in IHDR

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

Does not use all cores by default

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.

Add libfreetype-dev to list of dependencies

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

--bottom splice option not fully described in help listing

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.

Implement proper rotation

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

[Linux] nbt/nbt.h:163 attempts to construct an array with negative size.

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"}}

Add libboost-filesystem1.40.0 to list of Dependencies

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!

"Assertion `file != __null' failed"

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.

cannot rotate 270 ccw

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

Add metadata to the PNG to allow automated tools to align generated images

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.

c10t aborts when changing watercolors

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

No windows download for 1.0

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.

[Linux] c10t tries to open too many files.

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?

Implement custom label procedures

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.

Assertion error: "Assertion `type >= 0 && type <= TAG_Compound' failed."

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

[branch:master, linux] Missing files.

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.

Assertion `yoffset + img.get_height() <= h' failed.

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

Caching rendering operations

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.

Allow editing of default colors

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).

Improve the shading process

The current shading process for the map is too primitive, there is need for the following shader types to make maps look more alive:

  • Blocks - Should be the reference type
  • Lights - Should be transparent and take up less space than normal blocks on oblique renderings, shadows and highlights are handled using blocklight.
  • Doors, Fences - Should not be as thick as blocks, check the mode byte to see which direction and state they are in.
  • Tracks or Flat objects - Should only color the top of the block beneath them.

edit:

  • Add lighting + shadow support depending on height and overhead coverage.

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

TAG Compound failed

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

Can't render with -y

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.

Make north point correctly by default

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.

Define players to show in show-players

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); 
+      }
       }
     }
 };

Error after broad phase scan (both in 1.0 and 1.1)

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.

Feature request: allow choosing X and Z map limits to draw

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.

Chash shortly after starting rendering

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?

Massive error causes c10t and window manager to crash in Ubuntu 10.04

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.

Releases for version 1.0

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!

Ability to define detail level or image size

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.