• Stars
    star
    225
  • Rank 177,187 (Top 4 %)
  • Language
    C++
  • License
    Other
  • Created about 14 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A minecraft cartography tool

c10t - a cartography tool for Minecraft

I wrote c10t entirely because i liked the tool Cartograph by ZomBuster, but I wasn't too fond of a couple of aspects about how rendering was performed.

Requirements

  • libz (?)
  • libpng (>= 1.2)
  • libfreetype (>= 2)
  • libboost (thread, filesystem, system and test) (>= 1.46)

Features

  • Pipelined rendering process (using image compositioning) which allows for multithreaded rendering.
  • Very memory friendly, you can specify a memory limit and it will switch caching to file.
  • Uses proper command line options.
  • Clean code, for easing further development.
  • Multiplatform - yes, it does compile properly on windows and mac.
  • A gui wrapper, see: http://github.com/udoprog/c10t-swt (native gui with java bindings)

I would not have done this were it not for the excellent inspiration by ZomBuster and Firemark (the linux port of cartograph). Thank you for the inspiration.

Building from Source (using cmake)

Ubuntu

  1. Install dependencies:

    $ sudo apt-get install build-essential cmake libpng-dev zlib1g-dev libboost-all-dev libfreetype6-dev
    

    If libboost >= 1.46 is not available by using your package manager, you need to install it from source. To do so download and untar it from www.boost.org and perform the following operations as root:

    $ ./bootstrap --prefix=/usr
    $ ./b2 install
    

    If you have troubles installing boost, consult the Getting Started Guide on the website of the boost library.

  2. Clone repository

    $ git clone git://github.com/udoprog/c10t.git
    $ cd c10t
    

    You need to clone the repository in order to successfully execute the commands in step three. You can get support for git on the following web page: http://schacon.github.com/git/gittutorial.html Just scroll to the section "Using git for collaboration".

  3. Update submodules which contains some required dependencies (./libs):

    $ git submodule init
    $ git submodule update
    
  4. Run:

    $ mkdir build
    $ cd build
    $ cmake ..
    $ make c10t
    
  • CMake should generate a file called src/config.h from the input file src/config.h.cmake

  • There are several targets you can make. c10t, c10t-lib, c10t-debug, and c10t-test.

    • If you wish to build all of these simply run make which defaults to target all.
    • If you wish to build any individual one run make <target> e.g. make c10t-test.
  1. The executable c10t should be in the current directory.

There are a couple of available targets

  • c10t-debug - debug build with symbols, nice for debugging
  • c10t-lib - library that contains all c10t functions not in main or nbt_inspect
  • nbt-inspect - dumps the content of an nbt data file (basically anything in the world directory). Useful for writing tools.
  • region-inspect - dumps the content of a mcr region file.

Issues

  • Issues should be posted on http://github.com/udoprog/c10t/issues
  • Run the program in debug mode (c10t --debug), this will print useful information, but be much slower.
  • ALWAYS include c10t --version information when posting issues, that way it can be determined weither the issue already has been resolved or not, if this information is missing, the issue probably cannot be resolved.
  • ALWAYS include the following information: Platform (e.g. Windows, Linux, Mac) and Architecture (x86, x86_64)
  • IF POSSIBLE include information which can help us reproduce the problem.

Contributors

UniversE - for epic center calculation, and saving the api!

Contributions

ZomBuster and Firemark - for their original work
Guardian9979 - for his continual nagging for improvements
acleone - for his work with cmake [85e980a]
j005u - for explaining how cocoa works
jnnnnn - for limit options which are helpful when debugging (and quite cool)
mudaltsov - for mapping out the Mac OS X building process and creating a splendid package!
frozencow - for fixing boost_thread configuration for cmake
reportingjsr - for pointing out build issues
Dim-Dul - for providing a nice map to render
vostok4 - for implementing google API support
rmmh - for figuring out png compression and encouraging people to build properly.
Athemis - for fixing beta 1.2 compatibility.
sn4kebite - for implementing Wool colors.
ekryyn - for implementing the altitude graph!

More Repositories

1

musli

MΓΌsli is a flexible and generic binary serialization framework
Rust
336
star
2

genco

A whitespace-aware quasiquoter for beautiful code generation.
Rust
176
star
3

OxidizeBot

High performance Twitch bot in Rust
Rust
151
star
4

relative-path

Portable relative UTF-8 paths for Rust.
Rust
92
star
5

leaky-bucket

A token-based rate limiter based on the leaky bucket algorithm.
Rust
88
star
6

unicycle

A futures abstraction that runs a set of futures which may complete in any order.
Rust
88
star
7

audio

A crate for working with audio in Rust
Rust
75
star
8

bittle

Zero-cost bitsets over native Rust types
Rust
72
star
9

borrowme

The missing compound borrowing for Rust.
Rust
56
star
10

checkers

A sanity checker for global allocations in Rust
Rust
48
star
11

syntree

A memory efficient syntax tree for language developers
Rust
44
star
12

fixed-map

A map implementation that relies on fixed-size storage derived by a procedural macro
Rust
42
star
13

kernelstats

Calculate Statistics about the Linux Kernel
Jupyter Notebook
40
star
14

async-injector

Reactive dependency injection for Rust.
Rust
40
star
15

asteroids-amethyst

An asteroids clone written in the Amethyst Game Engine
Rust
26
star
16

winctx

A minimal window context for Rust on Windows.
Rust
20
star
17

ontv

A rich desktop application for tracking tv shows
Rust
19
star
18

ptscan

A pointer scanner for Windows written in Rust
Rust
18
star
19

async-oauth2

A simple async OAuth 2.0 library for Rust
Rust
18
star
20

quickcfg

Apply a base system configuration, quickly!
Rust
16
star
21

fixed-vec-deque

A fixed-size, zero-allocation circular buffer for Rust
Rust
15
star
22

tiny-async-java

A tiny async library for Java
Java
14
star
23

tigertree

A C port of the Tiger Tree hash implementation used at dcplusplus.sf.net
C
12
star
24

anything

Rust
12
star
25

codeviz

Flexible code generator for Rust
Rust
11
star
26

pusher

Simple project for handling application deployment to many servers
Python
11
star
27

aoc2022

My own personal overengineered helpers to solve AoC problems in Rust
Rust
10
star
28

gabriel

Gabriel, the Process Guardian Angel
Haskell
10
star
29

nondestructive

Nondestructive editing of various formats
Rust
9
star
30

futures-cache

Futures-aware cache backed by sled
Rust
9
star
31

serde-hashkey

Space efficient, in-memory serde serialization which supports hashing.
Rust
9
star
32

cr

A simple challenge response tool (or sign-verify) using openssl.
C
8
star
33

cartography

A cartography rewrite for minecraft devinf (map generator)
C++
7
star
34

unc

A lightweight c++ unicode library
C++
7
star
35

bgrep2

An alternative binary grep utility.
C
7
star
36

uniset

A hierarchical growable bitset which supports in-place atomic operations
Rust
6
star
37

unsync

Unsynchronized synchronization primitives for async Rust
Rust
6
star
38

argwerk

Rust
6
star
39

jpv

My personal Japanese dictionary based on JMdict
Rust
6
star
40

hodoku

A simple set of macros to aid testing with try operations
Rust
5
star
41

patterns

Showcasing simple programming patterns in Rust
LLVM
5
star
42

3dge

Game Experiment to learn Vulkan on Rust
Rust
4
star
43

ChaosMod

ChaosMod for GTA V
C#
4
star
44

c10t-swt

Native SWT Java Gui for c10t
Java
4
star
45

elfdb

Help save Christmas with ELFDB - the interactive debugger for ELF code.
Rust
4
star
46

python-adc

A python implementation for the ADC (Advanced Direct Connect) protocol
Python
4
star
47

async-fuse

Extension traits for dealing with optional futures and streams
Rust
4
star
48

gta-v-scripts

Scripts imported for the latest version available on https://www.gta5-mods.com/tools/decompiled-scripts-b757
C
4
star
49

musync

Music Syncronizing Tool
Python
4
star
50

unlock

Instrumented synchronization primitives helping you to unlock performance issues
Rust
4
star
51

tiny-serializer-java

A tiny serialization framework for Java
Java
4
star
52

rust-advent-of-code-2017

Rust solutions to Advent of Code 2017
Rust
3
star
53

svz

Supervizor Written in C which easilly does checks for running pids and is able to respond to logical statements.
C
3
star
54

tessie

An ffmpeg transcoding wrapper
Rust
3
star
55

aiocp

Rust
3
star
56

rust-advent-of-code-2018

Solutions to Advent of Code 2018 in Rust
Rust
3
star
57

selectme

A fast and fair select! macro for async Rust.
Rust
3
star
58

dotfiles

Dot files for personal stuff
Vim Script
3
star
59

trunk-action

Github action to install and run a custom trunk command
TypeScript
2
star
60

firewall

Bash scripts for setting up your firewall
Shell
2
star
61

udoprog-heroic-datasource

Heroic Datasource for Grafana
TypeScript
2
star
62

packeteer

Simple C program to inject frames directly into a Linux interface.
C
2
star
63

dclite

A simple direct connect client based on python-adc
Python
2
star
64

bsa

Offline unit testing for BIND
Python
2
star
65

bits

Meta-package management
Ruby
2
star
66

momd

Modular media daemon in c++11
C++
2
star
67

pytermcaps

Python terminal capabilities OO wrapper
Python
2
star
68

c-whisper

A C implementation of the whisper database format.
C
2
star
69

idalloc

A library for different methods of allocating unique identifiers efficiently.
Rust
2
star
70

tl

A small script to calculate time left for a flow of many unit types to fill a Β»bucketΒ«
Python
2
star
71

requests-lb

A load-balancing wrapper around requests
Python
2
star
72

metap2p

A P2P Framework for sharing information.
Python
1
star
73

thenetwork

A hacker oriented strategy game
Lua
1
star
74

evedb

Eve online database conversion tool
Python
1
star
75

fosslint

A linting tool for open source projects
Python
1
star
76

upload-app

Python
1
star
77

GTAV-SpeedPractice

Speedrun Practice mod for GTA V
C++
1
star
78

kick

The omnibus project management tool
Rust
1
star
79

metalang

Language neutral message generator
Python
1
star
80

dsh

distributed sharing protocol
Python
1
star
81

udoprog.github.io

https://udoprog.github.io
HTML
1
star
82

exposr

Dirt simple build and deployment system.
Java
1
star
83

blog

Code samples used at my blog
C
1
star
84

battleplan

Eve Intelligence Hub
Python
1
star
85

aoc2019

Solutions to Advent of Code 2019 in Rust
Rust
1
star
86

localbackup

A set of small and easily configurable local backup scripts implemented in bash using rsync
Shell
1
star
87

ratewatch

A buffer program like 'pv' to measure throughput, using it to check user bandwidth on sftp
C
1
star
88

tiny-rs

A tiny restful compiler for Java
Java
1
star
89

gorilla

Gorilla Time Series Compression
Rust
1
star
90

forkexec

A development tool to tame wild processes
Python
1
star
91

aoc2020

Solutions to Advent of Code 2020 in the Rune programming language
Rust
1
star
92

hashparity

Bash script which recursively checks directory for integrity
1
star
93

rubycss

A small and pure ruby css generator with advanced features
Ruby
1
star
94

dctools

DC++ Auxilliary Tools
Python
1
star
95

spp

C++
1
star
96

dynlib

A C library for creating continous (fast) dynamically growing space for alot of small objects. Focus on usability, not conformity.
C
1
star
97

iplook

Simple IP->Host lookup utility, useful when there is a lack of reverse DNS:es.
Python
1
star