Skip to content
Dav1dde edited this page Jan 22, 2013 · 9 revisions

Development

Folder Structure

/
|-- brala/
|     |-- dine/
|     |     |-- chunk.d – contains the chunk class, which takes care of memory allocated for blocks
|     |     |-- util.d – only a few math helper function
|     |     |-- world. – holds every chunk of the current world, generates vertices and renders each chunk
|     |     |-- builder/
|     |           |-- vertices_/ – contains vertex-data for all (implemented) blocks
|     |           |-- biomes.d – contains biome specific code, like humidity/rainfall values and functions to retrieve the actual color
|     |           |-- blocks.d – contains information about blocks, like opacity or relevant information for the tessellator
|     |           |-- builder.d – generates the blocks vertices and writes them into the tessellation buffer
|     |           |-- constants.d – contains general constants, like directions or biomes (might change)
|     |           |-- tessellator.d – handles block-vertex generation (mixes in builder.d)
|     |           |-- vertices.d – module to access vertices_ folder
|     |
|     |-- gfx/
|     |     |-- gl.d – relativly empty, contains OpenGL helpers/abstractions
|     |     |-- palette.d – merges grasscolor.png, leavecolor.png and watercolor.png into one image/texture
|     |     |-- terrain.d – sets up terrain.png as BraLa needs it (Future?: stiches the terrain.png), also contains code to extract terrain.png from minecraft.jar
|     |     |-- text.d – parses chat messages
|     |
|     |-- network/
|     |     |-- connection.d – takes care of the connection (sockets etc.) and encryption
|     |     |-- crypto.d – helpers to implement OpenSSL encryption and lastlogin decryption
|     |     |-- session.d – handles sessions with the minecraft website, also loads minecrafts lastlogin file
|     |     |-- stream.d – contains AESStream implementation and a debugging logger-stream
|     |     |-- util.d – handles every read and write to the stream also contains some needed helpers
|     |     |-- packets/
|     |           |-- client.d – contains all packets a client sends
|     |           |-- server.d – contains all packets a server sends
|     |           |-- types.d – special types, like Chunk or EntityMetadata are handled here
|     |           |-- util.d – mostly packet-generation code
|     |
|     |-- utils/ – contains generally useful and amazing code, completly undependant on BraLa's other code
|     |     |-- config.d – a config parser
|     |     |-- console.d – implements colors for a linux console, provides windows stubs
|     |     |-- ctfe.d – generally useful templates for CTFE
|     |     |-- dargs.d – easy and CTFE using commandline parser
|     |     |-- defaultaa.d – contains a default AA implementation
|     |     |-- exception.d – every exception thrown by brala.utils is stored here
|     |     |-- image.d – contains code to load images and manipulate them (uses stbi)
|     |     |-- memory.d – (c/m)alloc, realloc functions, also contains memory counter (used for vram counter in world)
|     |     |-- queue.d – contains a threadsafe queue implementation
|     |     |-- stdio.d – provides std.stdio functionallity, but allows to hook on file-descriptors
|     |     |-- thread.d – contains VerboseThread, a timer and a threadsafe event class
|     |     |-- openssl/
|     |           |-- encrypt.d – abstracts: [EVP_Encrypt](http://www.openssl.org/docs/crypto/EVP_EncryptInit.html)
|     |           |-- exception.d – contains openssl specific exception code
|     |           |-- hash.d – abstracts all OpenSSL hashes
Clone this wiki locally