Git Product home page Git Product logo

tcod-rs's Introduction

Warning: Not Maintained

This project is no longer actively developed or maintained. Please accept our apologies.

Open pull requests may still get merged, but we don't expect to investigate or fix open issues.

Alternatives

There are two great alternatives to check out! They are both written in pure Rust (fewer chances of library linking or dependency issues, easier to deploy) and target the web browsers as well.

libtcod bindings for Rust Build Status

libtcod a.k.a. "The Doryen Library" is a smallish library designed for writing roguelikes. It provides a bunch of useful functionality such as:

  • Text-based graphics API that doesn't suck as much as Curses or OpenGL
  • Colours! (like, more than 16)
  • Keyboard and mouse input
  • Path finding
  • Field of view
  • Portable (works on linux, windows and mac)
  • Lots of other stuff

This project provides Rust bindings for libtcod v1.6.3.

This project follows Semantic Versioning. Since we're under 1.0.0 anything goes. The API can change at any time.

Indeed, it probably should change! If you have better ideas on how it make it safer or more familiar to Rust developers, please let us know.

Documentation

We run rustdoc on every new commit:

http://tomassedovic.github.io/tcod-rs/tcod/index.html

But that's mostly useful for types, function signatures, etc. We don't have much in term of actual docs, but you can always check the official ones:

https://libtcod.readthedocs.io/en/stable/

Current status

All raw tcod bindings are available via the tcod-sys crate. In addition we want to provide safe (and more in line with the Rust style) wrappers -- if you can segfault outside of unsafe blocks, that's a bug. The safe bindings are not yet complete, however.

Already Implemented

  • Colors
  • Console
  • Most of the System layer (FPS, time, fullscreen, screenshots)
  • Field of view
  • Map
  • Path finding (both A* and Dijkstra)
  • Pseudorandom number generator (prefer the rand crate, except for places where the API requires the built-in generators)
  • Name generator
  • Image toolkit
  • Line toolkit
  • Noise
  • BSP toolkit

Probably Won't Ever Be Implemented Because Rust Provides This Already

  • Filesystem utilities
  • Containers
  • Compression toolkit (there will probably be a better Rust library for this)

Not Implemented Yet But Should Happen At Some Point In The Future

  • Everything else!

How to use this

tcod-rs depends on libtcod so you need to build or download the official version. The libtcod version known to work is bundled with tcod-sys and Cargo will build it for you, but you need the build dependencies installed.

Alternatively, you can provide the precompiled libtcod library to override the building process. See below.

To use tcod-rs, add this to your game's Cargo.toml:

[dependencies]
tcod = "0.15"

Building on Linux

Run the equivalent of:

$ sudo apt-get install gcc g++ make libsdl2-dev
$ cd yourgame
$ cargo build --release
$ cargo run --release

on your distro.

Building a dynamic library

By default, tcod-rs will build the library statically on Linux as including the code into the executable is usually more convenient. To build a dynamic library specify the dynlib feature for tcod-sys in Cargo.toml

[dependencies.tcod-sys]
version = "*"
features = ["dynlib"]

Building on Windows (with MSVC)

Make sure you have Visual Studio 2013 or later with the C++ tools option installed. You also need the "MSVC ABI" version of the Rust compiler (as opposed to the "GNU ABI" one).

Then, set up the compilation environment, make sure Rust is in your PATH and run Cargo:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat amd64
set PATH=%PATH%;C:\Program Files (x86)\Rust\bin
cd yourgame
cargo build --release
cargo run --release

Building on Windows (with MinGW)

You have to download and install MinGW. Then, add Rust's and MinGW's bin directories to your path and compile your game:

set PATH=%PATH%;C:\Program Files (x86)\Rust\bin;C:\MinGW\bin
cd yourgame
cargo build --release
cargo run --release

Building on Mac OS X

  1. Install Homebrew
  2. Run:
$ brew install pkg-config sdl2
$ cd yourgame
$ cargo build --release
$ cargo run --release

This is based on the instructions from Jared McFarland's roguelike tutorial.


To test this, you can clone this repository directly and run the one of the provided examples:

$ git clone https://github.com/tomassedovic/tcod-rs.git
$ cd tcod-rs
$ cargo run --example keyboard

Using existing binary distribution

If you don't want to build libtcod yourself, you can instruct Cargo to override the build script. See .cargo/config from the repository for an example.

NOTE: The official MinGW pre-built libraries (for Windows) don't seem to work with tcod-rs. We're not sure exactly why this is so we'd appreciate anyone's help!

Contributing

The raw bindings were generated using rust-bindgen and are located at src/ffi.rs. The safe (hopefully?) wrapper was built on top of them at src/lib.rs.

This is far from done, patches to missing functionality wrappers, documentation and examples are very much appreciated. If your patch (any patch -- including typos) gets accepted, you'll get a commit access if you want it.

We accept GitHub as well as regular pull requests (i.e. emailing or tweeting the URL of your feature branch works).

You can regenerate the raw bindings by running:

bindgen -builtins -l tcod include/libtcod.h -o src/ffi.rs

Contributors

License

tcod-rs is licensed under WTFPL v2. See COPYING.txt for the full text of the license (don't worry -- it's really short and to the point).

tcod-rs's People

Contributors

abesto avatar arcnor avatar bastienleonard avatar dkaste avatar electriccoffee avatar ggalizzi avatar huhlig avatar ilyvion avatar indiv0 avatar jaredonline avatar jgilchrist avatar kesinger avatar l3nn0x avatar laanwj avatar lucanlepus avatar mbgg avatar moredread avatar muhuk avatar nsmryan avatar ojhp avatar pmsanford avatar pranz avatar tomassedovic avatar tomob avatar tyruiop avatar zsparal 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  avatar  avatar  avatar  avatar

tcod-rs's Issues

Operators for wrapper types

I started working on the heightmap wrapper and noticed that a large portion of the operations are basic arithmetic functions. In the current library Color has all its operations defined via member functions. We could move a lot of them out into std::ops implementations and free functions. Is this something we should do? If yes, should we still keep the explicit functions?

wait_for_keypress as static?

So, I'm no expert so this is just a question rather than a suggestion.

It has been a while since I touched my roguelike, and noticed there was a big rewrite on how Console works in tcod-rs.

The question is: Why can't wait_for_keypress be a static method of Root? Similar as before, since the function never uses self.

Passing around root can be very inconvenient sometimes (and needs a considerable rewrite of functions in my game).

I made it static in my fork and it works fine, so what are the reasons for the way it is now?

Concurrency Bugs

Any of the following loops causes segfaults in safe code:

use tcod::system as system;
use tcod::input as input;

for i in 0..10 {
    thread::spawn(move || {
        system::set_clipboard((system::get_clipboard() + i.to_string().as_str()).as_str());
    }); 
}

for i in 0..10 {
    thread::spawn(move || {
        input::show_cursor(if i % 2 == 0 { true } else { false });
    });
}


for i in 0..10 {
    thread::spawn(move || {
        input::move_cursor(i, i);
    });
}

This is because we try to mutate global state from multiple threads, but the solution is not that apparent as in #137. Creating a separate object for the Clipboard might be feasible, but one for the cursor seems like a bit of an overkill.

Also note that this is not a shortcoming of libtcod, the segfault actually comes back with OS specific code. This might just make this a wontfix, if there isn't a good solution.

Panic when closing window

  • cargo run --example example1
  • Close the window using mouse
task '<main>' panicked at 'assertion failed: tcod_key.vk != ffi::TCODK_NONE', src/lib.rs:174

No error when you quit by pressing Esc.

repro on commit d1b3647

$ rustc -v verbose
rustc 0.13.0-nightly (3327ecca4 2014-11-01 22:41:48 +0000)
binary: rustc
commit-hash: 3327ecca422046699315122345c6c050ab73804b
commit-date: 2014-11-01 22:41:48 +0000
host: x86_64-unknown-linux-gnu
release: 0.13.0-nightly

Modules

I think it would be beneficial to split the project into modules for two reasons:

  • if there'll be safe safe wrappers around everything in libtcod then a single .rs file will be really hard to handle
  • it would probably make the life of new contributors easier
  • the module structure is already pretty well defined on the main project page, an example split:
Name Name Name
chars input system
colors map
console pathfinding

If we still want to have everything available from the top module we can just reexport the necessary structs, traits and functions.

Duplicating tcod header files

What is the reasoning behind having two copies of the libtcod header files in the repository? One is located at include/ and one is in tcod-sys/libtcod/include/. Is one of these redundant, or do we need both?

Keyboard structs reform

I think I've screwed up the design of the keyboard structs. Observe what happens when you press the number 4 on the US keyboard layout alone and with shift:

$ cargo run --example minimal
Pressed key: KeyState { key: Special(Number4), pressed: true, left_alt: false, left_ctrl: false, right_alt: false, right_ctrl: false, shift: false }
Pressed key: KeyState { key: Special(Number4), pressed: true, left_alt: false, left_ctrl: false, right_alt: false, right_ctrl: false, shift: true }

The latter case should give us some way of knowing that the $ character was entered. There are cases (especially on the number row) where libtcod returns both a printable character and keycode.

So here's how we could fix it:

struct Key {
    code: KeyCode,
    printable: Option<char>,  // None if TCOD_key_t.c == 0
    left_alt, right_alt, left_ctrl, right_ctrl, shift, // unchanged
    alt: bool,  // proposed for easier matching: true if left_alt || right_alt
    ctrl: bool,  // proposed for easier matching: true if left_ctrl || right_ctrl
}

Questions:

  1. Am I just missing something obvious that would not require the rewrite of every codebase using tcod?
  2. Do we want Option<char> or just char with a potential 0 value? (the latter is what libtcod does)
  3. alt/ctrl convenience fields: yay or nay? We could have them as methods instead, but that would make for a more verbose matching.

Here's how the new struct could be used:

use tcod::input::KeyCode::*;
match root.wait_for_keypress(false) {
    Key { code: Enter, alt: true, .. } => { // maximise the window }
    Key { printable: '$', .. } => { // pay for items in a shop }
    Key { printable: 'w', .. } | Key { code: NumPad5, .. } => { // wait a turn }
}

What do you folks think?

Doesn't build tcod-sys on OSX

Failed to run custom build command for `tcod-sys v1.5.2 (https://github.com/tomassedovic/tcod-rs.git#100ec460)`
Process didn't exit successfully: `/Users/pzol/Dropbox/src/rust/rogue/target/build/tcod-sys-b0a1142e48454a13/build-script-build` (status=101)
--- stderr
\rm -f /tmp/libtcod/release/bresenham_c.o /tmp/libtcod/release/bsp_c.o /tmp/libtcod/release/color_c.o /tmp/libtcod/release/console_c.o /tmp/libtcod/release/fov_c.o /tmp/libtcod/release/fov_circular_raycasting.o /tmp/libtcod/release/fov_diamond_raycasting.o /tmp/libtcod/release/fov_recursive_shadowcasting.o /tmp/libtcod/release/fov_permissive2.o /tmp/libtcod/release/fov_restrictive.o /tmp/libtcod/release/heightmap_c.o /tmp/libtcod/release/image_c.o /tmp/libtcod/release/lex_c.o /tmp/libtcod/release/list_c.o /tmp/libtcod/release/mersenne_c.o /tmp/libtcod/release/noise_c.o /tmp/libtcod/release/parser_c.o /tmp/libtcod/release/path_c.o /tmp/libtcod/release/sys_c.o /tmp/libtcod/release/sys_opengl_c.o /tmp/libtcod/release/sys_sdl_c.o /tmp/libtcod/release/sys_sdl_img_bmp.o /tmp/libtcod/release/sys_sdl_img_png.o /tmp/libtcod/release/tree_c.o /tmp/libtcod/release/txtfield_c.o /tmp/libtcod/release/wrappers.o /tmp/libtcod/release/zip_c.o /tmp/libtcod/release/namegen_c.o /tmp/libtcod/release/png/lodepng.o /tmp/libtcod/release/bresenham.o /tmp/libtcod/release/bsp.o /tmp/libtcod/release/color.o /tmp/libtcod/release/console.o /tmp/libtcod/release/fov.o /tmp/libtcod/release/heightmap.o /tmp/libtcod/release/image.o /tmp/libtcod/release/lex.o /tmp/libtcod/release/mersenne.o /tmp/libtcod/release/mouse.o /tmp/libtcod/release/noise.o /tmp/libtcod/release/parser.o /tmp/libtcod/release/path.o /tmp/libtcod/release/sys.o /tmp/libtcod/release/txtfield.o /tmp/libtcod/release/zip.o /tmp/libtcod/release/namegen.o /tmp/libtcod/release/gui/button.o /tmp/libtcod/release/gui/container.o /tmp/libtcod/release/gui/flatlist.o /tmp/libtcod/release/gui/hbox.o /tmp/libtcod/release/gui/image.o /tmp/libtcod/release/gui/label.o /tmp/libtcod/release/gui/radiobutton.o /tmp/libtcod/release/gui/slider.o /tmp/libtcod/release/gui/statusbar.o /tmp/libtcod/release/gui/textbox.o /tmp/libtcod/release/gui/togglebutton.o /tmp/libtcod/release/gui/toolbar.o /tmp/libtcod/release/gui/vbox.o /tmp/libtcod/release/gui/widget.o /tmp/libtcod/debug/bresenham_c.o /tmp/libtcod/debug/bsp_c.o /tmp/libtcod/debug/color_c.o /tmp/libtcod/debug/console_c.o /tmp/libtcod/debug/fov_c.o /tmp/libtcod/debug/fov_circular_raycasting.o /tmp/libtcod/debug/fov_diamond_raycasting.o /tmp/libtcod/debug/fov_recursive_shadowcasting.o /tmp/libtcod/debug/fov_permissive2.o /tmp/libtcod/debug/fov_restrictive.o /tmp/libtcod/debug/heightmap_c.o /tmp/libtcod/debug/image_c.o /tmp/libtcod/debug/lex_c.o /tmp/libtcod/debug/list_c.o /tmp/libtcod/debug/mersenne_c.o /tmp/libtcod/debug/noise_c.o /tmp/libtcod/debug/parser_c.o /tmp/libtcod/debug/path_c.o /tmp/libtcod/debug/sys_c.o /tmp/libtcod/debug/sys_opengl_c.o /tmp/libtcod/debug/sys_sdl_c.o /tmp/libtcod/debug/sys_sdl_img_bmp.o /tmp/libtcod/debug/sys_sdl_img_png.o /tmp/libtcod/debug/tree_c.o /tmp/libtcod/debug/txtfield_c.o /tmp/libtcod/debug/wrappers.o /tmp/libtcod/debug/zip_c.o /tmp/libtcod/debug/namegen_c.o /tmp/libtcod/debug/png/lodepng.o /tmp/libtcod/debug/bresenham.o /tmp/libtcod/debug/bsp.o /tmp/libtcod/debug/color.o /tmp/libtcod/debug/console.o /tmp/libtcod/debug/fov.o /tmp/libtcod/debug/heightmap.o /tmp/libtcod/debug/image.o /tmp/libtcod/debug/lex.o /tmp/libtcod/debug/mersenne.o /tmp/libtcod/debug/mouse.o /tmp/libtcod/debug/noise.o /tmp/libtcod/debug/parser.o /tmp/libtcod/debug/path.o /tmp/libtcod/debug/sys.o /tmp/libtcod/debug/txtfield.o /tmp/libtcod/debug/zip.o /tmp/libtcod/debug/namegen.o /tmp/libtcod/debug/gui/button.o /tmp/libtcod/debug/gui/container.o /tmp/libtcod/debug/gui/flatlist.o /tmp/libtcod/debug/gui/hbox.o /tmp/libtcod/debug/gui/image.o /tmp/libtcod/debug/gui/label.o /tmp/libtcod/debug/gui/radiobutton.o /tmp/libtcod/debug/gui/slider.o /tmp/libtcod/debug/gui/statusbar.o /tmp/libtcod/debug/gui/textbox.o /tmp/libtcod/debug/gui/togglebutton.o /tmp/libtcod/debug/gui/toolbar.o /tmp/libtcod/debug/gui/vbox.o /tmp/libtcod/debug/gui/widget.o libtcod.a libtcodxx.a libtcod.dylib libtcodxx.dylib libtcodgui.dylib libtcod_debug.dylib libtcodxx_debug.dylib libtcodgui_debug.dylib libtcodpy.pyc
Compiling debug src/bresenham_c.c
thread '<main>' panicked at 'assertion failed: make.stdout(InheritFd(1)).stdout(InheritFd(2)).status().unwrap().success()', build.rs:29

Weird colours with some libtcod versions on Windows

Running cargo run --example colors on my 32bit Windows 7 VM produces incorrect values for the predefined colours:

This is what the window should look like:

tcod-colors-good

(and it does look like that on Linux and with precompiled libtcod-1.5.2-mingw32.tar.gz from http://roguecentral.org/doryen/libtcod/download/)

This is what it looks like on precompiled libtcod-1.5.1-mingw32.zip and also with the libtcod 1.5.x checkout bundled with tcod-sys:

tcod-colors-bad

Colours specified by their values (e.g. tcod::Color{r: 12, g: 14, b: 128}) display correctly, but the ones exported by name (e.g. tcod::colors::darkest_green) appear to return wrong values.

tcod-sys doesn't build on OSX

Hey, having some trouble building tcod on OSX.

anathema@Adorjan ~/C/r/ferl> cargo build
   Compiling tcod-sys v2.0.11
failed to run custom build command for `tcod-sys v2.0.11`
Process didn't exit successfully: `/Users/anathema/Code/rust/ferl/target/debug/build/tcod-sys-2a137dae9d1f93a4/build-script-build` (exit code: 101)
--- stdout
STDOUT: \rm -f /tmp/libtcod/release/bresenham_c.o /tmp/libtcod/release/bsp_c.o /tmp/libtcod/release/color_c.o /tmp/libtcod/release/console_c.o /tmp/libtcod/release/fov_c.o /tmp/libtcod/release/fov_circular_raycasting.o /tmp/libtcod/release/fov_diamond_raycasting.o /tmp/libtcod/release/fov_recursive_shadowcasting.o /tmp/libtcod/release/fov_permissive2.o /tmp/libtcod/release/fov_restrictive.o /tmp/libtcod/release/heightmap_c.o /tmp/libtcod/release/image_c.o /tmp/libtcod/release/lex_c.o /tmp/libtcod/release/list_c.o /tmp/libtcod/release/mersenne_c.o /tmp/libtcod/release/noise_c.o /tmp/libtcod/release/parser_c.o /tmp/libtcod/release/path_c.o /tmp/libtcod/release/sys_c.o /tmp/libtcod/release/sys_opengl_c.o /tmp/libtcod/release/sys_sdl_c.o /tmp/libtcod/release/sys_sdl_img_bmp.o /tmp/libtcod/release/sys_sdl_img_png.o /tmp/libtcod/release/tree_c.o /tmp/libtcod/release/txtfield_c.o /tmp/libtcod/release/wrappers.o /tmp/libtcod/release/zip_c.o /tmp/libtcod/release/namegen_c.o /tmp/libtcod/release/png/lodepng.o /tmp/libtcod/release/bresenham.o /tmp/libtcod/release/bsp.o /tmp/libtcod/release/color.o /tmp/libtcod/release/console.o /tmp/libtcod/release/fov.o /tmp/libtcod/release/heightmap.o /tmp/libtcod/release/image.o /tmp/libtcod/release/lex.o /tmp/libtcod/release/mersenne.o /tmp/libtcod/release/mouse.o /tmp/libtcod/release/noise.o /tmp/libtcod/release/parser.o /tmp/libtcod/release/path.o /tmp/libtcod/release/sys.o /tmp/libtcod/release/txtfield.o /tmp/libtcod/release/zip.o /tmp/libtcod/release/namegen.o /tmp/libtcod/release/gui/button.o /tmp/libtcod/release/gui/container.o /tmp/libtcod/release/gui/flatlist.o /tmp/libtcod/release/gui/hbox.o /tmp/libtcod/release/gui/image.o /tmp/libtcod/release/gui/label.o /tmp/libtcod/release/gui/radiobutton.o /tmp/libtcod/release/gui/slider.o /tmp/libtcod/release/gui/statusbar.o /tmp/libtcod/release/gui/textbox.o /tmp/libtcod/release/gui/togglebutton.o /tmp/libtcod/release/gui/toolbar.o /tmp/libtcod/release/gui/vbox.o /tmp/libtcod/release/gui/widget.o /tmp/libtcod/debug/bresenham_c.o /tmp/libtcod/debug/bsp_c.o /tmp/libtcod/debug/color_c.o /tmp/libtcod/debug/console_c.o /tmp/libtcod/debug/fov_c.o /tmp/libtcod/debug/fov_circular_raycasting.o /tmp/libtcod/debug/fov_diamond_raycasting.o /tmp/libtcod/debug/fov_recursive_shadowcasting.o /tmp/libtcod/debug/fov_permissive2.o /tmp/libtcod/debug/fov_restrictive.o /tmp/libtcod/debug/heightmap_c.o /tmp/libtcod/debug/image_c.o /tmp/libtcod/debug/lex_c.o /tmp/libtcod/debug/list_c.o /tmp/libtcod/debug/mersenne_c.o /tmp/libtcod/debug/noise_c.o /tmp/libtcod/debug/parser_c.o /tmp/libtcod/debug/path_c.o /tmp/libtcod/debug/sys_c.o /tmp/libtcod/debug/sys_opengl_c.o /tmp/libtcod/debug/sys_sdl_c.o /tmp/libtcod/debug/sys_sdl_img_bmp.o /tmp/libtcod/debug/sys_sdl_img_png.o /tmp/libtcod/debug/tree_c.o /tmp/libtcod/debug/txtfield_c.o /tmp/libtcod/debug/wrappers.o /tmp/libtcod/debug/zip_c.o /tmp/libtcod/debug/namegen_c.o /tmp/libtcod/debug/png/lodepng.o /tmp/libtcod/debug/bresenham.o /tmp/libtcod/debug/bsp.o /tmp/libtcod/debug/color.o /tmp/libtcod/debug/console.o /tmp/libtcod/debug/fov.o /tmp/libtcod/debug/heightmap.o /tmp/libtcod/debug/image.o /tmp/libtcod/debug/lex.o /tmp/libtcod/debug/mersenne.o /tmp/libtcod/debug/mouse.o /tmp/libtcod/debug/noise.o /tmp/libtcod/debug/parser.o /tmp/libtcod/debug/path.o /tmp/libtcod/debug/sys.o /tmp/libtcod/debug/txtfield.o /tmp/libtcod/debug/zip.o /tmp/libtcod/debug/namegen.o /tmp/libtcod/debug/gui/button.o /tmp/libtcod/debug/gui/container.o /tmp/libtcod/debug/gui/flatlist.o /tmp/libtcod/debug/gui/hbox.o /tmp/libtcod/debug/gui/image.o /tmp/libtcod/debug/gui/label.o /tmp/libtcod/debug/gui/radiobutton.o /tmp/libtcod/debug/gui/slider.o /tmp/libtcod/debug/gui/statusbar.o /tmp/libtcod/debug/gui/textbox.o /tmp/libtcod/debug/gui/togglebutton.o /tmp/libtcod/debug/gui/toolbar.o /tmp/libtcod/debug/gui/vbox.o /tmp/libtcod/debug/gui/widget.o libtcod.a libtcodxx.a libtcod.dylib libtcodxx.dylib libtcodgui.dylib libtcod_debug.dylib libtcodxx_debug.dylib libtcodgui_debug.dylib libtcodpy.pyc
Compiling debug src/bresenham_c.c
Compiling debug src/bsp_c.c
Compiling debug src/color_c.c
Compiling debug src/console_c.c
Compiling debug src/fov_c.c
Compiling debug src/fov_circular_raycasting.c
Compiling debug src/fov_diamond_raycasting.c
Compiling debug src/fov_recursive_shadowcasting.c
Compiling debug src/fov_permissive2.c
Compiling debug src/fov_restrictive.c
Compiling debug src/heightmap_c.c
Compiling debug src/image_c.c
Compiling debug src/lex_c.c
Compiling debug src/list_c.c
Compiling debug src/mersenne_c.c
Compiling debug src/noise_c.c
Compiling debug src/parser_c.c
Compiling debug src/path_c.c
Compiling debug src/sys_c.c
Compiling debug src/sys_opengl_c.c
Compiling debug src/sys_sdl_c.c
Compiling debug src/sys_sdl_img_bmp.c
Compiling debug src/sys_sdl_img_png.c
Compiling debug src/tree_c.c
Compiling debug src/txtfield_c.c
Compiling debug src/wrappers.c
Compiling debug src/zip_c.c
Compiling debug src/namegen_c.c
Compiling debug src/png/lodepng.c
Linking libtcod_debug.dylib

STDERR: In file included from src/sys_c.c:41:
include/libtcod.h:172:9: warning: 'MAX' macro redefined [-Wmacro-redefined]
#define MAX(a,b) ((a)<(b)?(b):(a))
        ^
/usr/include/sys/param.h:218:9: note: previous definition is here
#define MAX(a,b) (((a)>(b))?(a):(b))
        ^
In file included from src/sys_c.c:41:
include/libtcod.h:173:9: warning: 'MIN' macro redefined [-Wmacro-redefined]
#define MIN(a,b) ((a)>(b)?(b):(a))
        ^
/usr/include/sys/param.h:215:9: note: previous definition is here
#define MIN(a,b) (((a)<(b))?(a):(b))
        ^
src/sys_c.c:373:13: warning: 'sem_init' is deprecated [-Wdeprecated-declarations]
        if ( ret ) sem_init(ret,0,initVal);
                   ^
/usr/include/sys/semaphore.h:55:5: note: 'sem_init' has been explicitly marked deprecated here
int sem_init(sem_t *, int, unsigned int) __deprecated;
    ^
src/sys_c.c:403:3: warning: 'sem_destroy' is deprecated [-Wdeprecated-declarations]
                sem_destroy((sem_t *)sem);
                ^
/usr/include/sys/semaphore.h:53:5: note: 'sem_destroy' has been explicitly marked deprecated here
int sem_destroy(sem_t *) __deprecated;
    ^
4 warnings generated.
src/zip_c.c:87:30: warning: cast to 'void *' from smaller integer type 'int' [-Wint-to-void-pointer-cast]
                TCOD_list_push(zip->buffer,(void *)val);
                                           ^
1 warning generated.
osx/macsupport.m:17:22: warning: unused variable 'pool' [-Wunused-variable]
        NSAutoreleasePool  *pool = [[NSAutoreleasePool alloc] init];
                            ^
1 warning generated.
ld: warning: ignoring file lib/libz.a, file was built for archive which is not the architecture being linked (x86_64): lib/libz.a
Undefined symbols for architecture x86_64:
  "_gzclose", referenced from:
      _TCOD_zip_save_to_file in zip_c.o
      _TCOD_zip_load_from_file in zip_c.o
  "_gzopen", referenced from:
      _TCOD_zip_save_to_file in zip_c.o
      _TCOD_zip_load_from_file in zip_c.o
  "_gzread", referenced from:
      _TCOD_zip_load_from_file in zip_c.o
  "_gzwrite", referenced from:
      _TCOD_zip_save_to_file in zip_c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libtcod_debug.dylib] Error 1


--- stderr
thread '<main>' panicked at '`make` returned: exit code: 2', /Users/anathema/.cargo/registry/src/github.com-1ecc6299db9ec823/tcod-sys-2.0.11/build.rs:39

I cloned the tcod-rs repository and ran cargo run --example keyboard though and it worked.

Cheers.

Crashes with precompiled libtcod-migw on Windows

This is on a 32bit version of Windows 7 with MinGW and MSYS (dependencies for building libtcod) installed.

When using tcod-rs with the libtcod compiled as part of tcod-sys, none of the examples crash. But when I download the precompiled libtcod-1.5.2-mingw32.tar.gz library from:

http://roguecentral.org/doryen/libtcod/download/

and run e.g. the minimal example, I get a panic unwrapping the Option here:

Key::Special(FromPrimitive::from_u32(tcod_key.vk).unwrap())

The tcod_key.vk values appear to be 256 or greater (hence the failure although this shouldn't ever happen) and when I try to inspect it, I end up with weird crashes (segfaults?) which seem to depend on things such as having a println!(tcod_key.vk) line in there or not.

I'll try to investigate this further but it seems like some sort of memory layout issue or something like that.

Build failure on Ubuntu

Trying to build tcod-rs as a dependency in my project, I get an error.

rustc -V gives
rustc 0.13.0-nightly (96a3c7c6a 2014-12-23 22:21:10 +0000)

error message:
Compiling tcod-sys v1.5.2 (https://github.com/tomassedovic/tcod-rs.git#100ec460)
Failed to run custom build command for tcod-sys v1.5.2 (https://github.com/tomassedovic/tcod-rs.git#100ec460)
Process didn't exit successfully: /home/drkwint/Desktop/royalty-rs/target/build/tcod-sys-b0a1142e48454a13/build-script-build (status=101)
--- stderr
\rm -f /tmp/libtcod/release/bresenham_c.o /tmp/libtcod/release/bsp_c.o /tmp/libtcod/release/color_c.o /tmp/libtcod/release/console_c.o /tmp/libtcod/release/fov_c.o /tmp/libtcod/release/fov_circular_raycasting.o /tmp/libtcod/release/fov_diamond_raycasting.o /tmp/libtcod/release/fov_recursive_shadowcasting.o /tmp/libtcod/release/fov_permissive2.o /tmp/libtcod/release/fov_restrictive.o /tmp/libtcod/release/heightmap_c.o /tmp/libtcod/release/image_c.o /tmp/libtcod/release/lex_c.o /tmp/libtcod/release/list_c.o /tmp/libtcod/release/mersenne_c.o /tmp/libtcod/release/noise_c.o /tmp/libtcod/release/parser_c.o /tmp/libtcod/release/path_c.o /tmp/libtcod/release/sys_c.o /tmp/libtcod/release/sys_opengl_c.o /tmp/libtcod/release/sys_sdl_c.o /tmp/libtcod/release/sys_sdl_img_bmp.o /tmp/libtcod/release/sys_sdl_img_png.o /tmp/libtcod/release/tree_c.o /tmp/libtcod/release/txtfield_c.o /tmp/libtcod/release/wrappers.o /tmp/libtcod/release/zip_c.o /tmp/libtcod/release/namegen_c.o /tmp/libtcod/release/png/lodepng.o /tmp/libtcod/release/bresenham.o /tmp/libtcod/release/bsp.o /tmp/libtcod/release/color.o /tmp/libtcod/release/console.o /tmp/libtcod/release/fov.o /tmp/libtcod/release/heightmap.o /tmp/libtcod/release/image.o /tmp/libtcod/release/lex.o /tmp/libtcod/release/mersenne.o /tmp/libtcod/release/mouse.o /tmp/libtcod/release/noise.o /tmp/libtcod/release/parser.o /tmp/libtcod/release/path.o /tmp/libtcod/release/sys.o /tmp/libtcod/release/txtfield.o /tmp/libtcod/release/zip.o /tmp/libtcod/release/namegen.o /tmp/libtcod/release/gui/button.o /tmp/libtcod/release/gui/container.o /tmp/libtcod/release/gui/flatlist.o /tmp/libtcod/release/gui/hbox.o /tmp/libtcod/release/gui/image.o /tmp/libtcod/release/gui/label.o /tmp/libtcod/release/gui/radiobutton.o /tmp/libtcod/release/gui/slider.o /tmp/libtcod/release/gui/statusbar.o /tmp/libtcod/release/gui/textbox.o /tmp/libtcod/release/gui/togglebutton.o /tmp/libtcod/release/gui/toolbar.o /tmp/libtcod/release/gui/vbox.o /tmp/libtcod/release/gui/widget.o /tmp/libtcod/debug/bresenham_c.o /tmp/libtcod/debug/bsp_c.o /tmp/libtcod/debug/color_c.o /tmp/libtcod/debug/console_c.o /tmp/libtcod/debug/fov_c.o /tmp/libtcod/debug/fov_circular_raycasting.o /tmp/libtcod/debug/fov_diamond_raycasting.o /tmp/libtcod/debug/fov_recursive_shadowcasting.o /tmp/libtcod/debug/fov_permissive2.o /tmp/libtcod/debug/fov_restrictive.o /tmp/libtcod/debug/heightmap_c.o /tmp/libtcod/debug/image_c.o /tmp/libtcod/debug/lex_c.o /tmp/libtcod/debug/list_c.o /tmp/libtcod/debug/mersenne_c.o /tmp/libtcod/debug/noise_c.o /tmp/libtcod/debug/parser_c.o /tmp/libtcod/debug/path_c.o /tmp/libtcod/debug/sys_c.o /tmp/libtcod/debug/sys_opengl_c.o /tmp/libtcod/debug/sys_sdl_c.o /tmp/libtcod/debug/sys_sdl_img_bmp.o /tmp/libtcod/debug/sys_sdl_img_png.o /tmp/libtcod/debug/tree_c.o /tmp/libtcod/debug/txtfield_c.o /tmp/libtcod/debug/wrappers.o /tmp/libtcod/debug/zip_c.o /tmp/libtcod/debug/namegen_c.o /tmp/libtcod/debug/png/lodepng.o /tmp/libtcod/debug/bresenham.o /tmp/libtcod/debug/bsp.o /tmp/libtcod/debug/color.o /tmp/libtcod/debug/console.o /tmp/libtcod/debug/fov.o /tmp/libtcod/debug/heightmap.o /tmp/libtcod/debug/image.o /tmp/libtcod/debug/lex.o /tmp/libtcod/debug/mersenne.o /tmp/libtcod/debug/mouse.o /tmp/libtcod/debug/noise.o /tmp/libtcod/debug/parser.o /tmp/libtcod/debug/path.o /tmp/libtcod/debug/sys.o /tmp/libtcod/debug/txtfield.o /tmp/libtcod/debug/zip.o /tmp/libtcod/debug/namegen.o /tmp/libtcod/debug/gui/button.o /tmp/libtcod/debug/gui/container.o /tmp/libtcod/debug/gui/flatlist.o /tmp/libtcod/debug/gui/hbox.o /tmp/libtcod/debug/gui/image.o /tmp/libtcod/debug/gui/label.o /tmp/libtcod/debug/gui/radiobutton.o /tmp/libtcod/debug/gui/slider.o /tmp/libtcod/debug/gui/statusbar.o /tmp/libtcod/debug/gui/textbox.o /tmp/libtcod/debug/gui/togglebutton.o /tmp/libtcod/debug/gui/toolbar.o /tmp/libtcod/debug/gui/vbox.o /tmp/libtcod/debug/gui/widget.o libtcod.a libtcodxx.a libtcod.so libtcodxx.so libtcodgui.so libtcod_debug.so libtcodxx_debug.so libtcodgui_debug.so libtcodpy.pyc
Compiling debug src/bresenham_c.c
Compiling debug src/bsp_c.c
Compiling debug src/color_c.c
Compiling debug src/console_c.c
Compiling debug src/fov_c.c
Compiling debug src/fov_circular_raycasting.c
Compiling debug src/fov_diamond_raycasting.c
Compiling debug src/fov_recursive_shadowcasting.c
Compiling debug src/fov_permissive2.c
Compiling debug src/fov_restrictive.c
Compiling debug src/heightmap_c.c
Compiling debug src/image_c.c
Compiling debug src/lex_c.c
Compiling debug src/list_c.c
Compiling debug src/mersenne_c.c
Compiling debug src/noise_c.c
Compiling debug src/parser_c.c
Compiling debug src/path_c.c
Compiling debug src/sys_c.c
thread '

' panicked at 'assertion failed: make.stdout(InheritFd(1)).stdout(InheritFd(2)).status().unwrap().success()', build.rs:29

Replace bools with enums where appropriate

Things like setting fullscreen/windowed mode or whether path.walk should recalculate or not should use aptly-named enums instead of an opaque boolean that you have to dig into docs to figure out.

Update to rust-beta

If at all possible, tcod should work with Rust 1.0.0 (which means updating it to the just-released beta).

That's what rustup.sh installs by default now so doing that will also fix the failing build.

If that turns out to be not feasible for whatever reason, we'll have to explicitly opt-in to the nightly channel in .travis.yml

Warnings from tcod-sys

I'm getting warnings from tcod-sys about using int and uint. rust-bindgen was just updated to use isize and usize so now might be a good time to re-run it and update the bindings.

Write a getting started guide

Document everything from getting the libtcod library, building tcod-rs, writing an app, building the binary (that links agaings libtcod and tcod-rs) and setting up rpath (so it can be distributed in the way games usually are).

Another error while compiling

lib.rs:9:44: 9:45 error: expected one of (, +, ::, ;, or ], found ,
lib.rs:9 pub type __builtin_va_list = [__va_list_tag, ..1u];

Fix our use of integer types

We're currently using the old int / isize types for everything. This is causing a lot of casts throughout the codebase and is probably not the correct choice semanticaly.

I think that switching to i32 makes the greatest amount of sense (and seems to be what most other gamedev libs are using).

[Question] Root instance methods instead of static?

Consider method like this:

    /// Returns true if the `Root` console is currently active.
    pub fn is_active(&self) -> bool {
        unsafe {
            ffi::TCOD_console_is_active() != 0
        }
    }

Why this function takes &self? It would make equally much sense for it to take no parameters and be invoked as Root::is_active(). What is the reason to drag a pointer to root instance around?

There a number of function that never use self in Root, and the question concerns them as well.

segmentation fault 11 on key press Mac OSX 10.10 Rustc 0.13-nightly

Process:               RuRougeI [59675]
Path:                  /Users/USER/*/RuRougeI
Identifier:            RuRougeI
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        cargo [59672]
Responsible:           Terminal [702]
User ID:               502

Date/Time:             2014-12-06 16:22:38.648 -0800
OS Version:            Mac OS X 10.10.1 (14B25)
Report Version:        11
Anonymous UUID:        AFD22876-86F7-1F5F-DB9A-C22B557A5A06

Sleep/Wake UUID:       5E34ADDE-7F46-45B2-B31F-EFDCD17958DA

Time Awake Since Boot: 150000 seconds
Time Since Wake:       3000 seconds

Crashed Thread:        1  Dispatch queue: com.apple.libdispatch-manager

Exception Type:        EXC_CRASH (SIGSEGV)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Thread 0:: Dispatch queue: com.apple.main-thread
0   RuRougeI                        0x000000010f265bcb stack_overflow::imp::signal_handler::term::hcc8d6f06c1bbdf74APa + 59
1   RuRougeI                        0x000000010f265b85 stack_overflow::imp::signal_handler::h8ed9b8efd7b637f4hPa + 101
2   libsystem_platform.dylib        0x00007fff90441f1a _sigtramp + 26
3   libtcod.dylib                   0x000000010f2de937 TCOD_sys_wait_for_keypress + 55
4   libtcod.dylib                   0x000000010f2ba41e TCOD_console_wait_for_keypress + 14
5   RuRougeI                        0x000000010f2581ce Console::wait_for_keypress::h2e8817cebc0655645Tf + 78
6   RuRougeI                        0x000000010f256890 main::hbeb7e0d63e1ece31kaa + 272
7   RuRougeI                        0x000000010f264a1a rt::start::closure.32781 + 138
8   RuRougeI                        0x000000010f267acc rust_try_inner + 12
9   RuRougeI                        0x000000010f267ab6 rust_try + 6
10  RuRougeI                        0x000000010f2665d7 unwind::try::hfb7519b30b452502Exc + 71
11  RuRougeI                        0x000000010f2664ac task::Task::run::h986874b42196d947rMb + 124
12  RuRougeI                        0x000000010f264854 rt::start::hb7a779eacfee4f3fQJy + 500
13  RuRougeI                        0x000000010f264649 rt::lang_start::h5f6fd7e552c1eb229Iy + 121
14  RuRougeI                        0x000000010f2569ef main + 79
15  libdyld.dylib                   0x00007fff889ab5c9 start + 1

Thread 1 Crashed:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x00007fff8570a22e kevent64 + 10
1   libdispatch.dylib               0x00007fff83d08a6a _dispatch_mgr_thread + 52

Thread 2:
0   libsystem_kernel.dylib          0x00007fff85709946 __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff8b8444a1 start_wqthread + 13

Thread 3:
0   libsystem_kernel.dylib          0x00007fff85709946 __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff8b8444a1 start_wqthread + 13

Thread 4:
0   libsystem_kernel.dylib          0x00007fff85709946 __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff8b8444a1 start_wqthread + 13

Thread 5:
0   libsystem_kernel.dylib          0x00007fff85709946 __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff8b8444a1 start_wqthread + 13

Thread 6:
0   libsystem_kernel.dylib          0x00007fff85709486 __semwait_signal + 10
1   libSDL-1.2.0.dylib              0x000000010f358185 SDL_Delay + 84
2   libSDL-1.2.0.dylib              0x000000010f358200 RunTimer + 45
3   libSDL-1.2.0.dylib              0x000000010f332cf6 SDL_RunThread + 53
4   libSDL-1.2.0.dylib              0x000000010f3542e2 RunThread + 9
5   libsystem_pthread.dylib         0x00007fff8b8462fc _pthread_body + 131
6   libsystem_pthread.dylib         0x00007fff8b846279 _pthread_start + 176
7   libsystem_pthread.dylib         0x00007fff8b8444b1 thread_start + 13

Thread 1 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000004  rbx: 0x0000000000000000  rcx: 0x000000010f3fb5b8  rdx: 0x0000000000000000
  rdi: 0x0000000000000003  rsi: 0x0000000000000000  rbp: 0x000000010f3fb640  rsp: 0x000000010f3fb5b8
   r8: 0x0000000000000001   r9: 0x0000000000000000  r10: 0x000000010f3fb5d0  r11: 0x0000000000000246
  r12: 0x00007fff83d28258  r13: 0x00007fff726daec0  r14: 0x000000010f3fb5d0  r15: 0x000000010f3fb600
  rip: 0x00007fff8570a22e  rfl: 0x0000000000000247  cr2: 0x00007fff725c0de0

Logical CPU:     0
Error Code:      0x02000171
Trap Number:     133


Binary Images:
       0x10f255000 -        0x10f290fe7 +RuRougeI (0) <BAEC4CA8-E74A-3442-816F-9605A3873C47> /Users/USER/*/RuRougeI
       0x10f2b7000 -        0x10f30bff7 +libtcod.dylib (0) <A37F71A9-D356-38B4-8C38-D8EE09E96E73> /Users/USER/*/libtcod.dylib
       0x10f325000 -        0x10f35eff7 +libSDL-1.2.0.dylib (0) <9A6000F0-2EEF-3BC2-AE63-0DFA60D0BCCB> /usr/local/lib/libSDL-1.2.0.dylib
    0x7fff67ea7000 -     0x7fff67edd837  dyld (353.2.1) <4696A982-1500-34EC-9777-1EF7A03E2659> /usr/lib/dyld
    0x7fff82a83000 -     0x7fff82aa6fff  com.apple.Sharing (328.3 - 328.3) <FDEE49AD-8804-3760-9C14-8D1D10BBEA37> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
    0x7fff83199000 -     0x7fff8319ffff  com.apple.speech.recognition.framework (5.0.9 - 5.0.9) <BB2D573F-0A01-379F-A2BA-3C454EDCB111> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff836ce000 -     0x7fff837e0ff7  libvDSP.dylib (512) <DD5517F5-F7F7-3AA1-B6FA-CD98DBC3C651> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff837e1000 -     0x7fff839c6ff3  libicucore.A.dylib (531.30) <EF0E7544-E317-3550-A962-6AE65E78AF17> /usr/lib/libicucore.A.dylib
    0x7fff839c7000 -     0x7fff83a65fff  com.apple.Metadata (10.7.0 - 916.1) <CD389631-0F23-3A29-B43A-E3FFB5BC9438> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff83aa7000 -     0x7fff83ae2fff  com.apple.QD (301 - 301) <C4D2AD03-B839-350A-AAF0-B4A08F8BED77> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff83ce3000 -     0x7fff83ce6fff  com.apple.help (1.3.3 - 46) <CA4541F4-CEF5-355C-8F1F-EA65DC1B400F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff83cff000 -     0x7fff83d03fff  libpam.2.dylib (20) <E805398D-9A92-31F8-8005-8DC188BD8B6E> /usr/lib/libpam.2.dylib
    0x7fff83d04000 -     0x7fff83d2eff7  libdispatch.dylib (442.1.4) <502CF32B-669B-3709-8862-08188225E4F0> /usr/lib/system/libdispatch.dylib
    0x7fff83d2f000 -     0x7fff83d2fff7  liblaunch.dylib (559.1.22) <8A988924-8BE7-35FE-BF7D-322E90EFE49E> /usr/lib/system/liblaunch.dylib
    0x7fff83d30000 -     0x7fff83d42ff7  com.apple.ImageCapture (9.0 - 9.0) <7FB65DD4-56B5-35C4-862C-7A2DED991D1F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff83d43000 -     0x7fff83d84fff  libGLU.dylib (11.0.7) <8037342E-1ECD-385F-B4C3-545CE97B76AE> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff83da4000 -     0x7fff83e63fff  com.apple.backup.framework (1.6.1 - 1.6.1) <A7BBE57D-D5E7-39DD-812C-31190159F679> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff83efc000 -     0x7fff83f0aff7  com.apple.opengl (11.0.7 - 11.0.7) <B5C4DF85-37BD-3984-98D1-90A5043DA984> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff83f0b000 -     0x7fff83f10ff7  libmacho.dylib (862) <126CA2ED-DE91-308F-8881-B9DAEC3C63B6> /usr/lib/system/libmacho.dylib
    0x7fff83f11000 -     0x7fff83f31fff  com.apple.IconServices (47.1 - 47.1) <E83DFE3B-6541-3736-96BB-26DC5D0100F1> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
    0x7fff83f37000 -     0x7fff83f62fff  libc++abi.dylib (125) <88A22A0F-87C6-3002-BFBA-AC0F2808B8B9> /usr/lib/libc++abi.dylib
    0x7fff83f63000 -     0x7fff83fc2ff3  com.apple.AE (681 - 681) <7F544183-A515-31A8-B45F-89A167F56216> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff8426b000 -     0x7fff84293fff  libxpc.dylib (559.1.22) <9437C02E-A07B-38C8-91CB-299FAA63083D> /usr/lib/system/libxpc.dylib
    0x7fff843b9000 -     0x7fff843b9fff  com.apple.audio.units.AudioUnit (1.12 - 1.12) <76EF1C9D-DEA4-3E55-A134-4099B2FD2CF2> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff84478000 -     0x7fff8447affb  libCGXType.A.dylib (772) <7CB71BC6-D8EC-37BC-8243-41BAB086FAAA> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
    0x7fff8447b000 -     0x7fff84495ff7  com.apple.AppleVPAFramework (1.0.30 - 1.0.30) <D47A2125-C72D-3298-B27D-D89EA0D55584> /System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA
    0x7fff84496000 -     0x7fff84588ff7  libiconv.2.dylib (42) <2A06D02F-8B76-3864-8D96-64EF5B40BC6C> /usr/lib/libiconv.2.dylib
    0x7fff84724000 -     0x7fff84764ff7  libGLImage.dylib (11.0.7) <7CBCEB4B-D22F-3116-8B28-D1C22D28C69D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff84765000 -     0x7fff84766fff  liblangid.dylib (117) <B54A4AA0-2E53-3671-90F5-AFF711C0EB9E> /usr/lib/liblangid.dylib
    0x7fff84767000 -     0x7fff8476fff7  com.apple.AppleSRP (5.0 - 1) <01EC5144-D09A-3D6A-AE35-F6D48585F154> /System/Library/PrivateFrameworks/AppleSRP.framework/Versions/A/AppleSRP
    0x7fff8479a000 -     0x7fff847e0ffb  libFontRegistry.dylib (134) <01B8034A-45FD-3360-A347-A1896F591363> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff847ee000 -     0x7fff8480afff  com.apple.GenerationalStorage (2.0 - 209.11) <9FF8DD11-25FB-3047-A5BF-9415339B3EEC> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
    0x7fff848a2000 -     0x7fff848a3ff7  libsystem_blocks.dylib (65) <9615D10A-FCA7-3BE4-AA1A-1B195DACE1A1> /usr/lib/system/libsystem_blocks.dylib
    0x7fff848a4000 -     0x7fff84915ff7  com.apple.framework.IOKit (2.0.2 - 1050.1.21) <ED3B0B22-AACC-303B-BFC8-20ECD1AF6BA2> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff84930000 -     0x7fff85169ff3  com.apple.CoreGraphics (1.600.0 - 772) <936D081F-37B3-3DA3-B725-118D0B07DDD2> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff8516d000 -     0x7fff851d4ff7  com.apple.framework.CoreWiFi (3.0 - 300.4) <19269C1D-EB29-384A-83F3-7DDDEB7D9DAD> /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
    0x7fff85253000 -     0x7fff8526dff3  com.apple.Ubiquity (1.3 - 313) <DF56A657-CC6E-3BE2-86A0-71F07127724C> /System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity
    0x7fff85279000 -     0x7fff85282ff3  com.apple.CommonAuth (4.0 - 2.0) <F4C266BE-2E0E-36B4-9DE7-C6B4BF410FD7> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff85294000 -     0x7fff85299ffb  libheimdal-asn1.dylib (398.1.2) <F9463B34-AAF5-3488-AD0C-85937C81FC5E> /usr/lib/libheimdal-asn1.dylib
    0x7fff8529a000 -     0x7fff8529afff  libOpenScriptingUtil.dylib (162) <EFD79173-A9DA-3AE6-BE15-3948938204A6> /usr/lib/libOpenScriptingUtil.dylib
    0x7fff852a4000 -     0x7fff8550cffb  com.apple.security (7.0 - 57031.1.35) <96141D1F-614E-32C4-8AC2-F47481F23F43> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff8559f000 -     0x7fff85634ff7  com.apple.ColorSync (4.9.0 - 4.9.0) <F06733BD-A10C-3DB3-B050-825351130392> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff85636000 -     0x7fff85671fff  com.apple.Symbolication (1.4 - 56045) <D64571B1-4483-3FE2-BD67-A91360F79727> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
    0x7fff856f3000 -     0x7fff85710fff  libsystem_kernel.dylib (2782.1.97) <93E0E0A9-75B6-3904-BB4E-4BC7C05F4B6B> /usr/lib/system/libsystem_kernel.dylib
    0x7fff85d04000 -     0x7fff85d29fff  libPng.dylib (1231) <759DF465-B08C-3E97-9A07-3CD447F84F78> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff85d2e000 -     0x7fff85d5bfff  com.apple.Accounts (113 - 113) <3145FCC2-D297-3DD1-B74B-9E7DBB0EE33C> /System/Library/Frameworks/Accounts.framework/Versions/A/Accounts
    0x7fff85d5c000 -     0x7fff85d8cfff  libsystem_m.dylib (3086.1) <1E12AB45-6D96-36D0-A226-F24D9FB0D9D6> /usr/lib/system/libsystem_m.dylib
    0x7fff85df1000 -     0x7fff85ed4fff  libcrypto.0.9.8.dylib (52) <7208EEE2-C090-383E-AADD-7E1BD1321BEC> /usr/lib/libcrypto.0.9.8.dylib
    0x7fff85efa000 -     0x7fff85f19fff  com.apple.CoreDuet (1.0 - 1) <36AA9FD5-2685-314D-B364-3FA4688D86BD> /System/Library/PrivateFrameworks/CoreDuet.framework/Versions/A/CoreDuet
    0x7fff85f1a000 -     0x7fff85fa3fff  com.apple.CoreSymbolication (3.1 - 56072) <8CE81C95-49E8-389F-B989-67CC452C08D0> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
    0x7fff85fb0000 -     0x7fff8601ffff  com.apple.SearchKit (1.4.0 - 1.4.0) <BFD6D876-36BA-3A3B-9F15-3E2F7DE6E89D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff8610b000 -     0x7fff8611cff7  libz.1.dylib (55) <88C7C7DE-04B8-316F-8B74-ACD9F3DE1AA1> /usr/lib/libz.1.dylib
    0x7fff8616c000 -     0x7fff86170fff  libsystem_stats.dylib (163.1.4) <1DB04436-5974-3F16-86CC-5FF5F390339C> /usr/lib/system/libsystem_stats.dylib
    0x7fff86171000 -     0x7fff86356267  libobjc.A.dylib (646) <3B60CD90-74A2-3A5D-9686-B0772159792A> /usr/lib/libobjc.A.dylib
    0x7fff86399000 -     0x7fff863a6ff7  libbz2.1.0.dylib (36) <2DF83FBC-5C08-39E1-94F5-C28653791B5F> /usr/lib/libbz2.1.0.dylib
    0x7fff863a7000 -     0x7fff8641fff7  com.apple.SystemConfiguration (1.14 - 1.14) <C269BCFD-ACAB-3331-BC7C-0430F0E84817> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff868df000 -     0x7fff8692bff7  libcups.2.dylib (408) <9CECCDE3-51D7-3028-830C-F58BD36E3317> /usr/lib/libcups.2.dylib
    0x7fff8692c000 -     0x7fff86957ff3  libarchive.2.dylib (30) <8CBB4416-EBE9-3574-8ADC-44655D245F39> /usr/lib/libarchive.2.dylib
    0x7fff86958000 -     0x7fff86972ff7  liblzma.5.dylib (7) <1D03E875-A7C0-3028-814C-3C27F7B7C079> /usr/lib/liblzma.5.dylib
    0x7fff86973000 -     0x7fff869f5fff  com.apple.PerformanceAnalysis (1.0 - 1) <2FC0F303-B672-3E64-A978-AB78EAD98395> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
    0x7fff869f6000 -     0x7fff86b18ff7  com.apple.LaunchServices (644.12 - 644.12) <D7710B20-0561-33BB-A3C8-463691D36E02> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff86b1c000 -     0x7fff86b36ff7  libextension.dylib (55.1) <ECBDCC15-FA19-3578-961C-B45FCC994BAF> /usr/lib/libextension.dylib
    0x7fff86b37000 -     0x7fff86b39fff  libsystem_configuration.dylib (699.1.5) <9FBA1CE4-97D0-347E-A443-93ED94512E92> /usr/lib/system/libsystem_configuration.dylib
    0x7fff86b3a000 -     0x7fff86e68ff7  com.apple.Foundation (6.9 - 1151.16) <18EDD673-A010-3E99-956E-DA594CE1FA80> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff86ede000 -     0x7fff86ee0fff  com.apple.loginsupport (1.0 - 1) <35A2A071-606C-39A5-8C11-E4CAF98D934C> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
    0x7fff86ee1000 -     0x7fff86ee3ff7  libsystem_coreservices.dylib (9) <41B7C578-5A53-31C8-A96F-C73E030B0938> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff86ee4000 -     0x7fff86f3eff7  com.apple.LanguageModeling (1.0 - 1) <ACA93FE0-A0E3-333E-AE3C-8EB7DE5F362F> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x7fff86f3f000 -     0x7fff86f41fff  libRadiance.dylib (1231) <BDD94A52-DE53-300C-9180-5D434272989F> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff86f42000 -     0x7fff86f5cff7  com.apple.Kerberos (3.0 - 1) <7760E0C2-A222-3709-B2A6-B692D900CEB1> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff86f68000 -     0x7fff86f73ff7  com.apple.speech.synthesis.framework (5.2.6 - 5.2.6) <9434AA45-B6BD-37F7-A866-172196A7F91B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff86f9b000 -     0x7fff86f9cfff  libSystem.B.dylib (1213) <DA954461-EC6A-3DF0-8551-6FC810627627> /usr/lib/libSystem.B.dylib
    0x7fff86f9d000 -     0x7fff8726cff3  com.apple.CoreImage (10.0.33) <6E3DDA29-718B-3BDB-BFAF-F8C201BF93A4> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x7fff87289000 -     0x7fff873a1ffb  com.apple.CoreText (352.0 - 454.1) <AB07DF12-BB1F-3275-A8A3-45F14BF872BF> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff8745f000 -     0x7fff87467fff  libsystem_dnssd.dylib (561.1.1) <62B70ECA-E40D-3C63-896E-7F00EC386DDB> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff87468000 -     0x7fff874b1ff3  com.apple.HIServices (1.22 - 519) <59D78E07-C3F1-3272-88F1-876B836D5517> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff874b2000 -     0x7fff87ff3fff  com.apple.AppKit (6.9 - 1343.16) <C98DB43F-4245-3E6E-A4EE-37DAEE33E174> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff88047000 -     0x7fff8804bff7  com.apple.TCC (1.0 - 1) <AFC32F8F-BCD5-313C-B66E-5AB8591EC066> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff881d9000 -     0x7fff881e1ffb  libcopyfile.dylib (118.1.2) <0C68D3A6-ACDD-3EF3-991A-CC82C32AB836> /usr/lib/system/libcopyfile.dylib
    0x7fff881fa000 -     0x7fff88202ffb  com.apple.CoreServices.FSEvents (1210 - 1210) <782A9C69-7A45-31A7-8960-D08A36CBD0A7> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x7fff88793000 -     0x7fff887c0fff  com.apple.CoreVideo (1.8 - 145.1) <18DB07E0-B927-3260-A234-636F298D1917> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff887f3000 -     0x7fff888e5fff  libxml2.2.dylib (26) <B834E7C8-EC3E-3382-BC5A-DA38DC4D720C> /usr/lib/libxml2.2.dylib
    0x7fff888e6000 -     0x7fff888e8fff  com.apple.OAuth (25 - 25) <EE765AF0-2BB6-3689-9EAA-689BF1F02A0D> /System/Library/PrivateFrameworks/OAuth.framework/Versions/A/OAuth
    0x7fff888e9000 -     0x7fff88902fff  com.apple.openscripting (1.4 - 162) <80DFF366-B950-3F79-903F-99DA0FFDB570> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff889a8000 -     0x7fff889abff7  libdyld.dylib (353.2.1) <19FAF435-C165-3374-9DEF-D7BBA7D61DB6> /usr/lib/system/libdyld.dylib
    0x7fff88a07000 -     0x7fff88a24ffb  libresolv.9.dylib (57) <26B38E61-298A-3C3A-82C1-3B5E98AD5E29> /usr/lib/libresolv.9.dylib
    0x7fff88aea000 -     0x7fff88b76fff  libsystem_c.dylib (1044.1.2) <C185E862-7424-3210-B528-6B822577A4B8> /usr/lib/system/libsystem_c.dylib
    0x7fff88c67000 -     0x7fff88cddfe7  libcorecrypto.dylib (233.1.2) <E1789801-3985-3949-B736-6B3378873301> /usr/lib/system/libcorecrypto.dylib
    0x7fff88cee000 -     0x7fff88d09ff7  com.apple.aps.framework (4.0 - 4.0) <9955CAFD-D56B-36E9-BB41-6F7F73317EB5> /System/Library/PrivateFrameworks/ApplePushService.framework/Versions/A/ApplePushService
    0x7fff88d0a000 -     0x7fff88d15fff  libcommonCrypto.dylib (60061) <D381EBC6-69D8-31D3-8084-5A80A32CB748> /usr/lib/system/libcommonCrypto.dylib
    0x7fff88d16000 -     0x7fff88d1fff7  libsystem_notify.dylib (133.1.1) <61147800-F320-3DAA-850C-BADF33855F29> /usr/lib/system/libsystem_notify.dylib
    0x7fff88da8000 -     0x7fff89054fff  com.apple.GeoServices (1.0 - 982.4.10) <8A7FE04A-2785-30E7-A6E2-DC15D170DAF5> /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/GeoServices
    0x7fff8913e000 -     0x7fff8915ffff  com.apple.framework.Apple80211 (10.0.1 - 1001.57.4) <E449B57F-1AC3-3DF1-8A13-4390FB3A05A4> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x7fff89167000 -     0x7fff891a1ffb  com.apple.DebugSymbols (115 - 115) <6F03761D-7C3A-3C80-8031-AA1C1AD7C706> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
    0x7fff891a2000 -     0x7fff891a4fff  com.apple.CoreDuetDebugLogging (1.0 - 1) <9A6E5710-EA99-366E-BF40-9A65EC1B46A1> /System/Library/PrivateFrameworks/CoreDuetDebugLogging.framework/Versions/A/CoreDuetDebugLogging
    0x7fff8a14a000 -     0x7fff8a14bfff  com.apple.TrustEvaluationAgent (2.0 - 25) <2D61A2C3-C83E-3A3F-8EC1-736DBEC250AB> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff8a14c000 -     0x7fff8a174ffb  libRIP.A.dylib (772) <9262437A-710A-397D-8E34-1CBFEA1FC5E1> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
    0x7fff8a225000 -     0x7fff8a231ff7  com.apple.OpenDirectory (10.10 - 187) <1D0066FC-1DEB-381B-B15C-4C009E0DF850> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff8a261000 -     0x7fff8a267ff7  libsystem_networkextension.dylib (167.1.10) <29AB225B-D7FB-30ED-9600-65D44B9A9442> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff8a268000 -     0x7fff8a268ff7  libkeymgr.dylib (28) <77845842-DE70-3CC5-BD01-C3D14227CED5> /usr/lib/system/libkeymgr.dylib
    0x7fff8a269000 -     0x7fff8a676ff7  libLAPACK.dylib (1128) <F9201AE7-B031-36DB-BCF8-971E994EF7C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff8a677000 -     0x7fff8a767fef  libJP2.dylib (1231) <FEAF6F38-736E-35A8-A983-F4531C8A821C> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x7fff8a768000 -     0x7fff8a76cfff  libcache.dylib (69) <45E9A2E7-99C4-36B2-BEE3-0C4E11614AD1> /usr/lib/system/libcache.dylib
    0x7fff8a7b8000 -     0x7fff8a9bbff3  com.apple.CFNetwork (720.1.1 - 720.1.1) <A82E71B3-2CDB-3840-A476-F2304D896E03> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff8a9fe000 -     0x7fff8aa05fff  libCGCMS.A.dylib (772) <E64DC779-A6CF-3B1F-8E57-C09C0B10670F> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGCMS.A.dylib
    0x7fff8aa06000 -     0x7fff8aa1cff7  libsystem_asl.dylib (267) <F153AC5B-0542-356E-88C8-20A62CA704E2> /usr/lib/system/libsystem_asl.dylib
    0x7fff8aa9a000 -     0x7fff8ae30fff  com.apple.CoreFoundation (6.9 - 1151.16) <F2B088AF-A5C6-3FAE-9EB4-7931AF6359E4> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff8b843000 -     0x7fff8b84cfff  libsystem_pthread.dylib (105.1.4) <26B1897F-0CD3-30F3-B55A-37CB45062D73> /usr/lib/system/libsystem_pthread.dylib
    0x7fff8b84d000 -     0x7fff8b95cffb  com.apple.desktopservices (1.9 - 1.9) <6EDAC73F-C42C-3FF7-B67D-FCCA1CFC5405> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff8b99b000 -     0x7fff8b9c6fff  com.apple.DictionaryServices (1.2 - 229) <6789EC43-CADA-394D-8FE8-FC3A2DD136B9> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff8ba4c000 -     0x7fff8ba7eff3  com.apple.frameworks.CoreDaemon (1.3 - 1.3) <C6DB0A07-F8E4-3837-BCA9-225F460EDA81> /System/Library/PrivateFrameworks/CoreDaemon.framework/Versions/B/CoreDaemon
    0x7fff8ba84000 -     0x7fff8bab2fff  com.apple.CoreServicesInternal (221.1 - 221.1) <51BAE6D2-84F3-392A-BFEC-A3B47B80A3D2> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
    0x7fff8bde8000 -     0x7fff8bdecff7  libGIF.dylib (1231) <B3D2DF96-A67D-31EA-9A1B-E870B54855EE> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff8bded000 -     0x7fff8bdfaff7  libxar.1.dylib (254) <CE10EFED-3066-3749-838A-6A15AC0DBCB6> /usr/lib/libxar.1.dylib
    0x7fff8beb2000 -     0x7fff8beb7fff  com.apple.DiskArbitration (2.6 - 2.6) <0DFF4D9B-2AC3-3B82-B5C5-30F4EFBD2DB9> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff8bf06000 -     0x7fff8bf5afff  libc++.1.dylib (120) <1B9530FD-989B-3174-BB1C-BDC159501710> /usr/lib/libc++.1.dylib
    0x7fff8bfa0000 -     0x7fff8c034fff  com.apple.ink.framework (10.9 - 213) <8E029630-1530-3734-A446-13353F0E7AC5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff8c035000 -     0x7fff8c09cff7  com.apple.datadetectorscore (6.0 - 396.1) <5D348063-1528-3E2F-B587-9E82970506F9> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff8c0c9000 -     0x7fff8c101ffb  libsystem_network.dylib (411) <C0B2313D-47BE-38A9-BEE6-2634A4F5E14B> /usr/lib/system/libsystem_network.dylib
    0x7fff8c102000 -     0x7fff8c102fff  com.apple.Accelerate (1.10 - Accelerate 1.10) <C7278843-2462-32F6-B0E3-D33C681399A2> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff8c53e000 -     0x7fff8c58fff7  com.apple.audio.CoreAudio (4.3.0 - 4.3.0) <AF72B06E-C6C1-3FAE-8B47-AF461CAE0E22> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff8c59d000 -     0x7fff8c5a2ff7  libunwind.dylib (35.3) <BE7E51A0-B6EA-3A54-9CCA-9D88F683A6D6> /usr/lib/system/libunwind.dylib
    0x7fff8c5e4000 -     0x7fff8c74fff7  com.apple.audio.toolbox.AudioToolbox (1.12 - 1.12) <5C6DBEB4-F2EA-3262-B9FC-AFB89404C1DA> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff8c750000 -     0x7fff8c88aff7  com.apple.ImageIO.framework (3.3.0 - 1038) <AB3C40DB-FCBE-3315-B7B2-4E16522E20CB> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff8c88b000 -     0x7fff8c8a7ff7  libsystem_malloc.dylib (53.1.1) <19BCC257-5717-3502-A71F-95D65AFA861B> /usr/lib/system/libsystem_malloc.dylib
    0x7fff8c99f000 -     0x7fff8ca13fff  com.apple.ApplicationServices.ATS (360 - 375) <62828B40-231D-3F81-8067-1903143DCB6B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff8ca14000 -     0x7fff8ca3dffb  libxslt.1.dylib (13) <AED1143F-B848-3E73-81ED-71356F25F084> /usr/lib/libxslt.1.dylib
    0x7fff8ca3e000 -     0x7fff8cbeeff7  com.apple.QuartzCore (1.10 - 361.11) <7382E4A9-10B0-3877-B9D7-FA84DC71BA55> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff8d478000 -     0x7fff8d488ff7  libbsm.0.dylib (34) <A3A2E56C-2B65-37C7-B43A-A1F926E1A0BB> /usr/lib/libbsm.0.dylib
    0x7fff8d4ad000 -     0x7fff8d4d3ff7  com.apple.ChunkingLibrary (2.1 - 163.1) <3514F2A4-38BD-3849-9286-B3B991057742> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
    0x7fff8d4d4000 -     0x7fff8d4d7fff  com.apple.xpc.ServiceManagement (1.0 - 1) <7E9E6BB7-AEE7-3F59-BAC0-59EAF105D0C8> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff8d52e000 -     0x7fff8d53bfff  com.apple.ProtocolBuffer (1 - 225.1) <2D502FBB-D2A0-3937-A5C5-385FA65B3874> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
    0x7fff8d53c000 -     0x7fff8d857fcf  com.apple.vImage (8.0 - 8.0) <1183FE6A-FDB6-3B3B-928D-50C7909F2308> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff8d858000 -     0x7fff8d898fff  com.apple.CloudDocs (1.0 - 280.1.2) <49E75BC1-6556-36B4-804A-E49BC41241CF> /System/Library/PrivateFrameworks/CloudDocs.framework/Versions/A/CloudDocs
    0x7fff8d899000 -     0x7fff8d9c0fff  com.apple.coreui (2.1 - 305) <BB430677-D1F7-38DD-8F05-70E54352B8B5> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff8d9d9000 -     0x7fff8da78df7  com.apple.AppleJPEG (1.0 - 1) <9BB3D7DF-630A-3E1C-A124-12D6C4D0DE70> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
    0x7fff8da79000 -     0x7fff8da7ffff  libsystem_trace.dylib (72.1.3) <A9E6B7D8-C327-3742-AC54-86C94218B1DF> /usr/lib/system/libsystem_trace.dylib
    0x7fff8da80000 -     0x7fff8da8aff7  com.apple.CrashReporterSupport (10.10 - 629) <EC97EA5E-3190-3717-A4A9-2F35A447E7A6> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x7fff8daab000 -     0x7fff8db5afe7  libvMisc.dylib (512) <AFBA45DE-7F55-3E4E-B8DF-5E8E21C407AD> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff8db83000 -     0x7fff8db84ffb  libremovefile.dylib (35) <3485B5F4-6CE8-3C62-8DFD-8736ED6E8531> /usr/lib/system/libremovefile.dylib
    0x7fff8db85000 -     0x7fff8dc16fff  com.apple.cloudkit.CloudKit (259.2.3 - 259.2.3) <6F955140-D522-32B3-B34B-BD94C5D94E7A> /System/Library/Frameworks/CloudKit.framework/Versions/A/CloudKit
    0x7fff8dc17000 -     0x7fff8dc30ff7  com.apple.CFOpenDirectory (10.10 - 187) <0ECA5D80-A045-3A2C-A60C-E1605F3AB6BD> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff8dc31000 -     0x7fff8dc3efff  com.apple.SpeechRecognitionCore (2.0.32 - 2.0.32) <87F0C88D-502D-3217-8B4A-8388288568BA> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
    0x7fff8dc64000 -     0x7fff8e094fff  com.apple.vision.FaceCore (3.1.6 - 3.1.6) <C3B823AA-C261-37D3-B4AC-C59CE91C8241> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
    0x7fff8e0a1000 -     0x7fff8e1d1fff  com.apple.UIFoundation (1.0 - 1) <8E030D93-441C-3997-9CD2-55C8DFAC8B84> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
    0x7fff8e1e6000 -     0x7fff8e1f7ff7  libsystem_coretls.dylib (35.1.2) <EBBF7EF6-80D8-3F8F-825C-B412BD6D22C0> /usr/lib/system/libsystem_coretls.dylib
    0x7fff8e405000 -     0x7fff8e451fff  com.apple.corelocation (1486.17 - 1615.21) <DB68CEB9-0D51-3CB9-86A4-B0400CE6C515> /System/Library/Frameworks/CoreLocation.framework/Versions/A/CoreLocation
    0x7fff8e452000 -     0x7fff8e498ff7  libauto.dylib (186) <A260789B-D4D8-316A-9490-254767B8A5F1> /usr/lib/libauto.dylib
    0x7fff8e898000 -     0x7fff8e8acff7  com.apple.MultitouchSupport.framework (260.30 - 260.30) <28728A7D-E048-3B14-9932-839A87D381FE> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff8e8ad000 -     0x7fff8e8bfff7  com.apple.CoreDuetDaemonProtocol (1.0 - 1) <CE9FABB4-1C5D-3F9B-9BB8-5CC50C3E5E31> /System/Library/PrivateFrameworks/CoreDuetDaemonProtocol.framework/Versions/A/CoreDuetDaemonProtocol
    0x7fff8e8c0000 -     0x7fff8e8c2ff7  com.apple.securityhi (9.0 - 55006) <B1E09986-7AF0-3BD1-BAA1-B5514DFB7CD1> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff8e8c7000 -     0x7fff8e8cbfff  com.apple.CommonPanels (1.2.6 - 96) <F9ECC8AF-D9CA-3350-AFB4-5113A9B789A5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff8ea0f000 -     0x7fff8ed11fff  com.apple.HIToolbox (2.1.1 - 756) <9DD121B5-B7EB-3C43-8155-61A4417F8E9A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff8ed15000 -     0x7fff8effcffb  com.apple.CoreServices.CarbonCore (1108.1 - 1108.1) <55A16172-ACC0-38B7-8409-3CB92AF33973> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff8effd000 -     0x7fff8f02dffb  com.apple.GSS (4.0 - 2.0) <D033E7F1-2D34-339F-A814-C67E009DE5A9> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff8f02e000 -     0x7fff8f02ffff  libDiagnosticMessagesClient.dylib (100) <2EE8E436-5CDC-34C5-9959-5BA218D507FB> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff8f093000 -     0x7fff8f094ff7  com.apple.print.framework.Print (10.0 - 265) <3BC4FE7F-78A0-3E57-8F4C-520E7EFD36FA> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff8f095000 -     0x7fff8f095fff  com.apple.Cocoa (6.8 - 21) <EAC0EA1E-3C62-3B28-A941-5D8B1E085FF8> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff8f532000 -     0x7fff8f58dfef  libTIFF.dylib (1231) <115791FB-8C49-3410-AC23-56F4B1CFF124> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff8f58e000 -     0x7fff8f5a9ff7  libCRFSuite.dylib (34) <D64842BE-7BD4-3D0C-9842-1D202F7C2A51> /usr/lib/libCRFSuite.dylib
    0x7fff8f60f000 -     0x7fff8f618fff  libGFXShared.dylib (11.0.7) <EC449E3A-D9D2-3494-8B6C-DEB7B11EEDAB> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff8f653000 -     0x7fff8f65efff  libGL.dylib (11.0.7) <C53344AD-8CE6-3111-AB94-BD4CA89ED84E> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff8f65f000 -     0x7fff8f672ff7  com.apple.CoreBluetooth (1.0 - 1) <FA9B43B3-E183-3040-AE25-66EF9870CF35> /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
    0x7fff8f6da000 -     0x7fff8f6dcff7  libquarantine.dylib (76) <DC041627-2D92-361C-BABF-A869A5C72293> /usr/lib/system/libquarantine.dylib
    0x7fff8f6dd000 -     0x7fff8f6ddfff  com.apple.CoreServices (62 - 62) <9E4577CA-3FC3-300D-AB00-87ADBDDA2E37> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff8f6de000 -     0x7fff8f6defff  com.apple.Accelerate.vecLib (3.10 - vecLib 3.10) <01E92F9F-EF29-3745-8631-AEA692F7F29C> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff8f6e3000 -     0x7fff8f6edff7  com.apple.NetAuth (5.0 - 5.0) <B9EC5425-D38D-308C-865F-207E0A98BAC7> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x7fff8f7b6000 -     0x7fff8f7b6fff  com.apple.Carbon (154 - 157) <6E3AEB9D-7643-36BE-A7E5-D08886649257> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff8f7e4000 -     0x7fff8f7ebfff  com.apple.NetFS (6.0 - 4.0) <1581D25F-CC07-39B0-90E8-5D4F3CF84EBA> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff8f7ec000 -     0x7fff8f7effff  com.apple.IOSurface (97 - 97) <D4B4D2B2-7B16-3174-9EA6-55E0A10B452D> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff8f7f0000 -     0x7fff8f83dff3  com.apple.print.framework.PrintCore (10.0 - 451) <3CA58254-D14F-3913-9DFB-CAC499570CC7> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff8f8e7000 -     0x7fff8f91ffff  com.apple.RemoteViewServices (2.0 - 99) <C9A62691-B0D9-34B7-B71C-A48B5F4DC553> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
    0x7fff8f920000 -     0x7fff8f937ff7  libLinearAlgebra.dylib (1128) <E78CCBAA-A999-3B65-8EC9-06DB15E67C37> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff902f9000 -     0x7fff90365fff  com.apple.framework.CoreWLAN (5.0 - 500.35.2) <ACBAAB0A-BCC7-37CF-AAFB-2DA1733F2682> /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
    0x7fff90366000 -     0x7fff903e3fff  com.apple.CoreServices.OSServices (640.3 - 640.3) <28445162-08E9-3E24-84E4-617CE5FE1367> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff9043d000 -     0x7fff90445fff  libsystem_platform.dylib (63) <64E34079-D712-3D66-9CE2-418624A5C040> /usr/lib/system/libsystem_platform.dylib
    0x7fff90446000 -     0x7fff9044dff7  libcompiler_rt.dylib (35) <BF8FC133-EE10-3DA6-9B90-92039E28678F> /usr/lib/system/libcompiler_rt.dylib
    0x7fff9044e000 -     0x7fff90781ff7  libmecabra.dylib (666.1) <CAFBC813-4894-3352-9B22-FFF116773A06> /usr/lib/libmecabra.dylib
    0x7fff90782000 -     0x7fff90791fff  com.apple.LangAnalysis (1.7.0 - 1.7.0) <D1E527E4-C561-352F-9457-E8C50232793C> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff90792000 -     0x7fff908d8fef  libsqlite3.dylib (168) <8B78BED1-7B9B-3943-80DC-0871015AEAC4> /usr/lib/libsqlite3.dylib
    0x7fff90c2d000 -     0x7fff90c2fff7  libsystem_sandbox.dylib (358.1.1) <DB9962EF-8898-31CC-9B87-E01F8CE74C9D> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff90d47000 -     0x7fff90d48fff  libsystem_secinit.dylib (18) <581DAD0F-6B63-3A48-B63B-917AF799ABAA> /usr/lib/system/libsystem_secinit.dylib
    0x7fff90d9b000 -     0x7fff91015fff  com.apple.CoreData (110 - 526) <AEEDAF00-D38F-3A15-B3C9-73732940CC55> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff911c5000 -     0x7fff91353fff  libBLAS.dylib (1128) <497912C1-A98E-3281-BED7-E9C751552F61> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff9137e000 -     0x7fff91380fff  libCVMSPluginSupport.dylib (11.0.7) <29D775BB-A11D-3140-A478-2A0DA1A87420> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x7fff91381000 -     0x7fff913f5ff3  com.apple.securityfoundation (6.0 - 55126) <E7FB7A4E-CB0B-37BA-ADD5-373B2A20A783> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff913f6000 -     0x7fff91445ff7  com.apple.opencl (2.4.2 - 2.4.2) <6AE26E08-6EFC-3E1B-B202-EFA9C3E5B9D4> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff915b7000 -     0x7fff91658ff7  com.apple.Bluetooth (4.3.1 - 4.3.1f2) <EDC78AEE-28E7-324C-9947-41A0814A8154> /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
    0x7fff91663000 -     0x7fff916d1ffb  com.apple.Heimdal (4.0 - 2.0) <B852ACA1-4C64-3E2A-A9D3-6D4C80AD9429> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff91721000 -     0x7fff9172cff7  libkxld.dylib (2782.1.97) <CB1A1B57-54BE-3573-AE0C-B90ED6BAEEE2> /usr/lib/system/libkxld.dylib
    0x7fff9185b000 -     0x7fff9185ffff  libCoreVMClient.dylib (79) <FC4E08E3-749E-32FF-B5E9-211F29864831> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff91860000 -     0x7fff91860fff  com.apple.ApplicationServices (48 - 48) <5BF7910B-C328-3BF8-BA4F-CE52B574CE01> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff91abf000 -     0x7fff91ad0fff  libcmph.dylib (1) <46EC3997-DB5E-38AE-BBBB-A035A54AD3C0> /usr/lib/libcmph.dylib
    0x7fff91ad1000 -     0x7fff91ad1ff7  libunc.dylib (29) <5676F7EA-C1DF-329F-B006-D2C3022B7D70> /usr/lib/system/libunc.dylib
    0x7fff91ad2000 -     0x7fff91af6fef  libJPEG.dylib (1231) <3F87A0CA-14FA-3034-A332-DD57A092B08F> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff91af7000 -     0x7fff91b1ffff  libsystem_info.dylib (459) <B85A85D5-8530-3A93-B0C3-4DEC41F79478> /usr/lib/system/libsystem_info.dylib
    0x7fff91b20000 -     0x7fff91c14ff7  libFontParser.dylib (134) <506126F8-FDCE-3DE1-9DCA-E07FE658B597> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 1
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 118399
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=177.4M resident=120.1M(68%) swapped_out_or_unallocated=57.3M(32%)
Writable regions: Total=87.7M written=4416K(5%) resident=11.6M(13%) swapped_out=4K(0%) unallocated=76.1M(87%)

REGION TYPE                      VIRTUAL
===========                      =======
CG backing stores                  4220K
CG image                             60K
CG shared images                    176K
CoreAnimation                        56K
CoreServices                        128K
CoreUI image data                   164K
Dispatch continuations             8192K
Foundation                            4K
Kernel Alloc Once                     8K
MALLOC                             39.3M
MALLOC (admin)                       32K
Memory Tag 242                       12K
STACK GUARD                          24K
Stack                              66.6M
VM_ALLOCATE                        25.3M
__DATA                             15.0M
__IMAGE                             528K
__LINKEDIT                         70.3M
__TEXT                            107.1M
__UNICODE                           544K
mapped file                        61.3M
shared memory                         4K
===========                      =======
TOTAL                             398.7M

Here is the code:


```rust
extern crate tcod;
use tcod::{Console, BackgroundFlag, KeyCode, Key};
fn main() {
    let mut con = Console::init_root(80, 50, "Rust Rouge I", false);
    while !Console::window_closed() {
        con.clear();
        con.put_char(40, 25, '@', BackgroundFlag::None);
        Console::flush();

        let keypress = Console::wait_for_keypress(true);
        println!("{}", keypress.key);
        match keypress.key {
            Key::Special(KeyCode::Escape) => break,
            _ => {}
        }
    }
}

My computer:

Model: MacBookPro11,1, BootROM MBP111.0138.B11, 2 processors, Intel Core i5, 2.4 GHz, 16 GB, SMC 2.16f68
Graphics: Intel Iris, Intel Iris, Built-In

It gets to the screen with the '@', but once I press any key, it crashes!
Pic:
screen shot 2014-12-06 at 4 27 21 pm

Blit macro

I though about how we could make the usage of blit a little more user friendly. There are two distinct ways: we could declare more types (Point, Region, etc.) or use macros. The types have the drawback of only being used in this one place, and we would be exporting them into the public API. If we introduced macros the crate would have to be imported with #[macro_use] (if you wanted to use the macros, of course). I prefer the macro solution, so I came up with the following macro:

macro_rules! blit_console {
    (Src($source: expr, TopLeft($sx: expr, $sy: expr), Size($width: expr, $height: expr)),
     Dst($dest: expr, TopLeft($dx: expr, $dy: expr)),
     Alpha { fg: $fg: expr, bg: $bg: expr }) => (
        blit($source, $sx, $sy, $width, $height, $dest, $dx, $dy, $fg, $bg);
    );
}

This makes the following example:

console::blit(&direct, 0, 0, 20, 20, &mut root, 0, 0, 1.0, 1.0);

Into this:

blit_console!(Src(&direct, TopLeft(0, 0), Size(20, 20)),
              Dst(&root, TopLeft(0, 0)),
              Alpha { fg: 1.0, bg: 1.0 });

Now this obviously tries to emulate custom types, but it's a fairly nice API to use nonetheless. Should we do something like this? If yes, any suggestions on changing/improving the macro?

Doesn't compile with latest rust nightlies

src/lib.rs:363:63: 363:84 error: mismatched types: expected core::option::Option<extern "C" fn(i32, i32, i32, i32, *mut libc::types::common::c95::c_void) -> f32>, found core::option::Option<extern "C" fn(i32, i32, i32, i32, *mut libc::types::common::c95::c_void) -> f32 {c_path_callback}> (expected fn pointer, found fn item)
src/lib.rs:363 Some(c_path_callback),
^~~~~~~~~~~~~~~~~~~~~
src/lib.rs:508:67: 508:88 error: mismatched types: expected core::option::Option<extern "C" fn(i32, i32, i32, i32, *mut libc::types::common::c95::c_void) -> f32>, found core::option::Option<extern "C" fn(i32, i32, i32, i32, *mut libc::types::common::c95::c_void) -> f32 {c_path_callback}> (expected fn pointer, found fn item)
src/lib.rs:508 Some(c_path_callback),
^~~~~~~~~~~~~~~~~~~~~

As I'm new to rust (and tcod..) I don't have a clue what it means

Console API

While working on my project I noticed a few things about the Console API: the Root and Offscreen consoles seem to be clearly distinct concepts with some shared common functionality. The current API doesn't really reflect this: all functionality is implemented under the Console enum. Examples:

  • init_root is only applicable to Root
  • new is only applicable to Offscreen
  • all static methods could be either free functions or under RootConsole. Having them as free functions would probably provide a nicer API, while having them under RootConsole would match the libtcod documentation (which is why I'm more in favor of the 2nd option)

My suggestion would be the following: split Console into two structs and a trait:

  • OffscreenConsole: struct for offscreen console functionality
  • RootConsole: struct for the root console funcionality
  • Console: trait for the shared functionality

In practice all trait methods except for con(&self) can be implemented in the Console trait itself, so OffscreenConsole and RootConsole would only have to provide con(&self).

Advantages:

  • You can still use &Console or Box<Console> to have a collection of consoles, if you truly do not want to have distinctions between Root and Offscreen consoles.
  • Type specific functionality will not bleed through to an other type (new and init_root).

Disadvantages:

  • Breaking change
  • More import statements (explicit Console trait import)

I'm only making these suggestions, because there's an open invitation on the main project page, if you want me to stop, please just say so.

Failure to compile tcod-sys

failed to run custom build command for `tcod-sys v1.5.2 (https://github.com/tomassedovic/tcod-rs.git#100ec460)`
Process didn't exit successfully: `/home/npm/Dropbox/home/Documents/Workspace/Rust/Games/roguelike-rs/target/build/tcod-sys-d56b0e9808a0075f/build-script-build` (status=101)
--- stderr
\rm -f /tmp/libtcod/release/bresenham_c.o /tmp/libtcod/release/bsp_c.o /tmp/libtcod/release/color_c.o /tmp/libtcod/release/console_c.o /tmp/libtcod/release/fov_c.o /tmp/libtcod/release/fov_circular_raycasting.o /tmp/libtcod/release/fov_diamond_raycasting.o /tmp/libtcod/release/fov_recursive_shadowcasting.o /tmp/libtcod/release/fov_permissive2.o /tmp/libtcod/release/fov_restrictive.o /tmp/libtcod/release/heightmap_c.o /tmp/libtcod/release/image_c.o /tmp/libtcod/release/lex_c.o /tmp/libtcod/release/list_c.o /tmp/libtcod/release/mersenne_c.o /tmp/libtcod/release/noise_c.o /tmp/libtcod/release/parser_c.o /tmp/libtcod/release/path_c.o /tmp/libtcod/release/sys_c.o /tmp/libtcod/release/sys_opengl_c.o /tmp/libtcod/release/sys_sdl_c.o /tmp/libtcod/release/sys_sdl_img_bmp.o /tmp/libtcod/release/sys_sdl_img_png.o /tmp/libtcod/release/tree_c.o /tmp/libtcod/release/txtfield_c.o /tmp/libtcod/release/wrappers.o /tmp/libtcod/release/zip_c.o /tmp/libtcod/release/namegen_c.o /tmp/libtcod/release/png/lodepng.o /tmp/libtcod/release/bresenham.o /tmp/libtcod/release/bsp.o /tmp/libtcod/release/color.o /tmp/libtcod/release/console.o /tmp/libtcod/release/fov.o /tmp/libtcod/release/heightmap.o /tmp/libtcod/release/image.o /tmp/libtcod/release/lex.o /tmp/libtcod/release/mersenne.o /tmp/libtcod/release/mouse.o /tmp/libtcod/release/noise.o /tmp/libtcod/release/parser.o /tmp/libtcod/release/path.o /tmp/libtcod/release/sys.o /tmp/libtcod/release/txtfield.o /tmp/libtcod/release/zip.o /tmp/libtcod/release/namegen.o /tmp/libtcod/release/gui/button.o /tmp/libtcod/release/gui/container.o /tmp/libtcod/release/gui/flatlist.o /tmp/libtcod/release/gui/hbox.o /tmp/libtcod/release/gui/image.o /tmp/libtcod/release/gui/label.o /tmp/libtcod/release/gui/radiobutton.o /tmp/libtcod/release/gui/slider.o /tmp/libtcod/release/gui/statusbar.o /tmp/libtcod/release/gui/textbox.o /tmp/libtcod/release/gui/togglebutton.o /tmp/libtcod/release/gui/toolbar.o /tmp/libtcod/release/gui/vbox.o /tmp/libtcod/release/gui/widget.o /tmp/libtcod/debug/bresenham_c.o /tmp/libtcod/debug/bsp_c.o /tmp/libtcod/debug/color_c.o /tmp/libtcod/debug/console_c.o /tmp/libtcod/debug/fov_c.o /tmp/libtcod/debug/fov_circular_raycasting.o /tmp/libtcod/debug/fov_diamond_raycasting.o /tmp/libtcod/debug/fov_recursive_shadowcasting.o /tmp/libtcod/debug/fov_permissive2.o /tmp/libtcod/debug/fov_restrictive.o /tmp/libtcod/debug/heightmap_c.o /tmp/libtcod/debug/image_c.o /tmp/libtcod/debug/lex_c.o /tmp/libtcod/debug/list_c.o /tmp/libtcod/debug/mersenne_c.o /tmp/libtcod/debug/noise_c.o /tmp/libtcod/debug/parser_c.o /tmp/libtcod/debug/path_c.o /tmp/libtcod/debug/sys_c.o /tmp/libtcod/debug/sys_opengl_c.o /tmp/libtcod/debug/sys_sdl_c.o /tmp/libtcod/debug/sys_sdl_img_bmp.o /tmp/libtcod/debug/sys_sdl_img_png.o /tmp/libtcod/debug/tree_c.o /tmp/libtcod/debug/txtfield_c.o /tmp/libtcod/debug/wrappers.o /tmp/libtcod/debug/zip_c.o /tmp/libtcod/debug/namegen_c.o /tmp/libtcod/debug/png/lodepng.o /tmp/libtcod/debug/bresenham.o /tmp/libtcod/debug/bsp.o /tmp/libtcod/debug/color.o /tmp/libtcod/debug/console.o /tmp/libtcod/debug/fov.o /tmp/libtcod/debug/heightmap.o /tmp/libtcod/debug/image.o /tmp/libtcod/debug/lex.o /tmp/libtcod/debug/mersenne.o /tmp/libtcod/debug/mouse.o /tmp/libtcod/debug/noise.o /tmp/libtcod/debug/parser.o /tmp/libtcod/debug/path.o /tmp/libtcod/debug/sys.o /tmp/libtcod/debug/txtfield.o /tmp/libtcod/debug/zip.o /tmp/libtcod/debug/namegen.o /tmp/libtcod/debug/gui/button.o /tmp/libtcod/debug/gui/container.o /tmp/libtcod/debug/gui/flatlist.o /tmp/libtcod/debug/gui/hbox.o /tmp/libtcod/debug/gui/image.o /tmp/libtcod/debug/gui/label.o /tmp/libtcod/debug/gui/radiobutton.o /tmp/libtcod/debug/gui/slider.o /tmp/libtcod/debug/gui/statusbar.o /tmp/libtcod/debug/gui/textbox.o /tmp/libtcod/debug/gui/togglebutton.o /tmp/libtcod/debug/gui/toolbar.o /tmp/libtcod/debug/gui/vbox.o /tmp/libtcod/debug/gui/widget.o libtcod.a libtcodxx.a libtcod.so libtcodxx.so libtcodgui.so libtcod_debug.so libtcodxx_debug.so libtcodgui_debug.so libtcodpy.pyc
Compiling debug src/bresenham_c.c
Compiling debug src/bsp_c.c
Compiling debug src/color_c.c
Compiling debug src/console_c.c
Compiling debug src/fov_c.c
Compiling debug src/fov_circular_raycasting.c
Compiling debug src/fov_diamond_raycasting.c
Compiling debug src/fov_recursive_shadowcasting.c
Compiling debug src/fov_permissive2.c
Compiling debug src/fov_restrictive.c
Compiling debug src/heightmap_c.c
Compiling debug src/image_c.c
Compiling debug src/lex_c.c
Compiling debug src/list_c.c
Compiling debug src/mersenne_c.c
Compiling debug src/noise_c.c
Compiling debug src/parser_c.c
Compiling debug src/path_c.c
Compiling debug src/sys_c.c
Compiling debug src/sys_opengl_c.c
makefiles/makefile-linux:36: recipe for target '/tmp/libtcod/debug/sys_opengl_c.o' failed
thread '<main>' panicked at 'assertion failed: make.stdout(InheritFd(1)).stdout(InheritFd(2)).status().unwrap().success()', build.rs:29

Creating and destroying Namegen causes segfault

Consider the following code:

extern crate tcod;
use tcod::namegen::Namegen;

fn main() {
    let namegen = Namegen::new();
}

Running it causes a segfault. It can be trivially fixed with a patch namegen_c.c in the tcod_sys (see https://dl.dropboxusercontent.com/u/311875/namegen_c.c.patch) but:

  1. I'm very hesitant to do any monkey-patching in external (not owned) code, and
  2. It is not a libtcod bug; if I understand correctly, the only way to start using Namegen in C is to call it's parse function.

Maybe Namegen should have a flag set when parse(_with_rng) is called and call TCOD_name_destroy only when this flag is set?

Add a minimal example

We should ship an example with the smallest amount of code that actually does anything (even if it's just starting the console and quitting immediately).

This would be included it in the getting-started walkthrough and people could also use it to test that their linking is set up correctly, etc.

Breaking under rust nightly

 Compiling tcod v0.1.0 (https://github.com/tomassedovic/tcod-rs.git#d042491c)
   Compiling dwemthys v0.0.1 (file:///Users/jmcfarland/code/rust/dwemthys)
src/lib.rs:342:51: 342:52 error: expected `,`, found `:`
src/lib.rs:342     pub fn new_from_callback<T: 'static+FnMut(from: (int, int), to: (int, int)) -> f32>(
                                                                 ^
Could not compile `tcod`.

To learn more, run the command again with --verbose.
cargo 0.0.1-pre-nightly (537b43c 2014-11-06 00:02:30 +0000)

Needs to be updated to rust-alpha

src/lib.rs:1:12: 1:28 warning: feature has been added to Rust, directive not necessary
src/lib.rs:1 #![feature(associated_types, globs, unboxed_closures)]
                        ^~~~~~~~~~~~~~~~
src/lib.rs:1:30: 1:35 warning: feature has been added to Rust, directive not necessary
src/lib.rs:1 #![feature(associated_types, globs, unboxed_closures)]
                                          ^~~~~
src/lib.rs:1:12: 1:28 warning: feature has been added to Rust, directive not necessary
src/lib.rs:1 #![feature(associated_types, globs, unboxed_closures)]
                        ^~~~~~~~~~~~~~~~
src/lib.rs:1:30: 1:35 warning: feature has been added to Rust, directive not necessary
src/lib.rs:1 #![feature(associated_types, globs, unboxed_closures)]
                                          ^~~~~
src/lib.rs:12:5: 12:23 error: unresolved import `std::c_str::ToCStr`. Could not find `c_str` in `std`
src/lib.rs:12 use std::c_str::ToCStr;

cargo test gives linker errors

For example:

---- engine::actor::Actor_0 stdout ----
    error: linking with `cc` failed: exit code: 1
note: cc '-Wl,--as-needed' '-m64' '-L' '/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib' '-o' '/tmp/rustdoctest.r1BGY18VAAb0/rust-out' '/tmp/rustdoctest.r1BGY18VAAb0/rust_out.o' '-Wl,--whole-archive' '-lmorestack' '-Wl,--no-whole-archive' '-Wl,--gc-sections' '-pie' '-nodefaultlibs' '/home/jonny/code/rslike/target/librslike-33665a348a9c0d5a.rlib' '/home/jonny/code/rslike/target/deps/libtcod-835af025147faddf.rlib' '/home/jonny/code/rslike/target/deps/libtcod-sys-8caba187ba4adc8b.rlib' '-L' '/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib' '-lstd-4e7c5e5c' '-L' '/home/jonny/code/rslike/target' '-L' '/home/jonny/code/rslike/target/deps' '-L' '/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib' '-L' '/home/jonny/code/rslike/.rust/lib/x86_64-unknown-linux-gnu' '-L' '/home/jonny/code/rslike/lib/x86_64-unknown-linux-gnu' '-Wl,--whole-archive' '-Wl,-Bstatic' '-Wl,--no-whole-archive' '-Wl,-Bdynamic' '-ltcod' '-ltcod' '-ltcod' '-ldl' '-lpthread' '-lrt' '-lgcc_s' '-lpthread' '-lc' '-lm' '-lcompiler-rt'
note: /usr/bin/ld: cannot find -ltcod
/usr/bin/ld: cannot find -ltcod
/usr/bin/ld: cannot find -ltcod
collect2: error: ld returned 1 exit status

error: aborting due to previous error
thread 'engine::actor::Actor_0' panicked at 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libsyntax/diagnostic.rs:144

For some reason, it's passing the flag -ltcod to the linker three times. This doesn't happen when building, only when testing.

0.7.0 does not build

error (on osx)

src/console.rs:511:31: 511:39 error: the trait `core::convert::AsRef<[u8]>` is not implemented for the type `str` [E0277]
src/console.rs:511             true => Some(self.as_ref()),

Add a text output example

Something that fills the screen with characters of different colours and exits on when the window gets closed (no forever-hanging infinite loop).

With Rust 0.13.0, FFI Compilation Errors.

Error message for every enum: error: expected constant: non-constant path in constant expr.

An example full error message

src/lib.rs:770:16: 770:43 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:770         Burn = ffi::TCOD_BKGND_BURN as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~

Add a keyboard-handling example

Just display an empty screen with the @ symbol in the middle that can be moved around with arrow keys and exits when pressing Esc.

tcod-sys version in Cargo.lock is only 2.0.0

For some reason, the tcod-sys Cargo.lock file is not updated if tcod-rs is compiled from the top directory. This means that the version listed for tcod-sys in its Cargo.lock is still 2.0.0 even though the crate is on version 2.0.5.

Auto-build documentation

My roguelike repository is set up so that every time a commit is pushed to master, Travis builds the docs and puts them on the Github Page for the repository.

Would you like me to set this up for tcod-rs? People would be able to access the latest docs at tomassedovic.github.io/tcod-rs.

Windows builds

This question is to anyone, who managed to build this on Windows previously: what setup did you use? Does it still work? The MinGW distro advertised on the main project page was broken by the addition of the time crate dependency I think. Even when removing the references to time it still doesn't want to compile for me. I tried with:

  1. The original MinGW + MSYS
  2. MSYS2 with mingw-w64-x86_64/i686 with rebuilt SDL dependencies.
  3. TDM-GCC 32/64 bit toolchain.

All of these failed at some point of the compilation (I had all the dependencies).

Rust used: the beta, downloaded today from the official site (tried both i686 and x86_64).
gcc: various, from 4.8.2 - 4.9.1 I think

Sorry for no concrete error messages, but I'm writing this on the go. I'll post some results when I get home.

Investigate the root console destructor

We now run TCOD_console_delete for every console object -- including the root one. This may either be okay or could cause trouble. Need to figure out which is it.

Compile errors on latest rust nightly

$ rustc --version
rustc 0.13.0-nightly (99d6956c3 2014-12-18 20:32:07 +0000)
$ cargo build
   Compiling tcod v0.3.0 (https://github.com/tomassedovic/tcod-rs.git#73b0eef9)
src/lib.rs:350:6: 350:8 help: shadowed lifetime `'a` declared here
src/lib.rs:350 impl<'a> AStarPath<'a> {
                    ^~
src/lib.rs:406:17: 406:19 help: shadowed lifetimes are deprecated and will become a hard error before 1.0
src/lib.rs:406     pub fn walk<'a>(&'a mut self) -> AStarPathIterator<'a> {
                               ^~
src/lib.rs:350:6: 350:8 help: shadowed lifetime `'a` declared here
src/lib.rs:350 impl<'a> AStarPath<'a> {
                    ^~
src/lib.rs:410:29: 410:31 help: shadowed lifetimes are deprecated and will become a hard error before 1.0
src/lib.rs:410     pub fn walk_recalculate<'a>(&'a mut self) -> AStarPathIterator<'a> {
                                           ^~
src/lib.rs:495:6: 495:8 help: shadowed lifetime `'a` declared here
src/lib.rs:495 impl<'a> DijkstraPath<'a> {
                    ^~
src/lib.rs:553:17: 553:19 help: shadowed lifetimes are deprecated and will become a hard error before 1.0
src/lib.rs:553     pub fn walk<'a>(&'a mut self) -> DijkstraPathIterator<'a> {
                               ^~
src/lib.rs:167:44: 167:59 error: cannot move out of captured outer variable in an `FnOnce` closure
src/lib.rs:167                                            background_flag as u32,
                                                          ^~~~~~~~~~~~~~~
src/lib.rs:168:44: 168:53 error: cannot move out of captured outer variable in an `FnOnce` closure
src/lib.rs:168                                            alignment as u32,
                                                          ^~~~~~~~~
error: aborting due to 2 previous errors
Could not compile `tcod`.

Setting custom fonts [regression]

As of #140 it is impossible to set a custom font for the console, since set_custom_font was converted to a method, but has to be called before we could possibly have an instance of the Root console.

Use a new Github API key for pushing docs

Currently, as I set up the automatic pushing of the documentation, Github sees me as having pushed to this repository whenever the documentation is updated (that is, whenever something is committed to master) - see this.

@tomassedovic is it possible we could switch to use an API key under your account? This will also prevent any breakage if for whatever reason I don't have contributor rights to this repository in future.

error: expected constant: non-constant path in constant expr

Heya!

Have you seen this? I just copied my code to a new computer, installed libtcod and am trying to build my Game:

jmcfarland@Jareds-MacBook-Pro ~/code/rust/dwemthys(master)$ cargo build
    Updating git repository `https://github.com/tomassedovic/tcod-rs.git`
   Compiling tcod v0.1.0 (https://github.com/tomassedovic/tcod-rs.git#2f72b1d8)
src/lib.rs:512:16: 512:43 error: expected constant: non-constant path in constant expr
src/lib.rs:512         None = ffi::TCOD_BKGND_NONE as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:513:15: 513:41 error: expected constant: non-constant path in constant expr
src/lib.rs:513         Set = ffi::TCOD_BKGND_SET as int,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:514:20: 514:51 error: expected constant: non-constant path in constant expr
src/lib.rs:514         Multiply = ffi::TCOD_BKGND_MULTIPLY as int,
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:515:19: 515:49 error: expected constant: non-constant path in constant expr
src/lib.rs:515         Lighten = ffi::TCOD_BKGND_LIGHTEN as int,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:516:18: 516:47 error: expected constant: non-constant path in constant expr
src/lib.rs:516         Darken = ffi::TCOD_BKGND_DARKEN as int,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:517:18: 517:47 error: expected constant: non-constant path in constant expr
src/lib.rs:517         Screen = ffi::TCOD_BKGND_SCREEN as int,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:518:22: 518:56 error: expected constant: non-constant path in constant expr
src/lib.rs:518         ColorDodge = ffi::TCOD_BKGND_COLOR_DODGE as int,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:519:21: 519:54 error: expected constant: non-constant path in constant expr
src/lib.rs:519         ColorBurn = ffi::TCOD_BKGND_COLOR_BURN as int,
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:520:15: 520:41 error: expected constant: non-constant path in constant expr
src/lib.rs:520         Add = ffi::TCOD_BKGND_ADD as int,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:521:16: 521:43 error: expected constant: non-constant path in constant expr
src/lib.rs:521         AddA = ffi::TCOD_BKGND_ADDA as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:522:16: 522:43 error: expected constant: non-constant path in constant expr
src/lib.rs:522         Burn = ffi::TCOD_BKGND_BURN as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:523:19: 523:49 error: expected constant: non-constant path in constant expr
src/lib.rs:523         Overlay = ffi::TCOD_BKGND_OVERLAY as int,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:524:16: 524:43 error: expected constant: non-constant path in constant expr
src/lib.rs:524         Alph = ffi::TCOD_BKGND_ALPH as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:525:19: 525:49 error: expected constant: non-constant path in constant expr
src/lib.rs:525         Default = ffi::TCOD_BKGND_DEFAULT as int
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:502:12: 502:33 error: expected constant: non-constant path in constant expr
src/lib.rs:502     Left = ffi::TCOD_LEFT as int,
                          ^~~~~~~~~~~~~~~~~~~~~
src/lib.rs:503:13: 503:35 error: expected constant: non-constant path in constant expr
src/lib.rs:503     Right = ffi::TCOD_RIGHT as int,
                           ^~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:504:14: 504:37 error: expected constant: non-constant path in constant expr
src/lib.rs:504     Center = ffi::TCOD_CENTER as int,
                            ^~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:388:24: 388:64 error: expected constant: non-constant path in constant expr
src/lib.rs:388     LayoutAsciiIncol = ffi::TCOD_FONT_LAYOUT_ASCII_INCOL as int,
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:389:24: 389:64 error: expected constant: non-constant path in constant expr
src/lib.rs:389     LayoutAsciiInrow = ffi::TCOD_FONT_LAYOUT_ASCII_INROW as int,
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:390:21: 390:57 error: expected constant: non-constant path in constant expr
src/lib.rs:390     TypeGreyscale = ffi::TCOD_FONT_TYPE_GREYSCALE as int,
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:391:18: 391:51 error: expected constant: non-constant path in constant expr
src/lib.rs:391     LayoutTcod = ffi::TCOD_FONT_LAYOUT_TCOD as int,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:381:12: 381:42 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:381     GLSL = ffi::TCOD_RENDERER_GLSL as int,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:382:14: 382:46 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:382     OpenGL = ffi::TCOD_RENDERER_OPENGL as int,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:383:11: 383:40 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:383     SDL = ffi::TCOD_RENDERER_SDL as int,
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:388:24: 388:64 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:388     LayoutAsciiIncol = ffi::TCOD_FONT_LAYOUT_ASCII_INCOL as int,
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:389:24: 389:64 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:389     LayoutAsciiInrow = ffi::TCOD_FONT_LAYOUT_ASCII_INROW as int,
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:390:21: 390:57 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:390     TypeGreyscale = ffi::TCOD_FONT_TYPE_GREYSCALE as int,
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:391:18: 391:51 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:391     LayoutTcod = ffi::TCOD_FONT_LAYOUT_TCOD as int,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:502:12: 502:33 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:502     Left = ffi::TCOD_LEFT as int,
                          ^~~~~~~~~~~~~~~~~~~~~
src/lib.rs:503:13: 503:35 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:503     Right = ffi::TCOD_RIGHT as int,
                           ^~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:504:14: 504:37 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:504     Center = ffi::TCOD_CENTER as int,
                            ^~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:512:16: 512:43 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:512         None = ffi::TCOD_BKGND_NONE as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:513:15: 513:41 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:513         Set = ffi::TCOD_BKGND_SET as int,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:514:20: 514:51 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:514         Multiply = ffi::TCOD_BKGND_MULTIPLY as int,
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:515:19: 515:49 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:515         Lighten = ffi::TCOD_BKGND_LIGHTEN as int,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:516:18: 516:47 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:516         Darken = ffi::TCOD_BKGND_DARKEN as int,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:517:18: 517:47 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:517         Screen = ffi::TCOD_BKGND_SCREEN as int,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:518:22: 518:56 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:518         ColorDodge = ffi::TCOD_BKGND_COLOR_DODGE as int,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:519:21: 519:54 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:519         ColorBurn = ffi::TCOD_BKGND_COLOR_BURN as int,
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:520:15: 520:41 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:520         Add = ffi::TCOD_BKGND_ADD as int,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:521:16: 521:43 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:521         AddA = ffi::TCOD_BKGND_ADDA as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:522:16: 522:43 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:522         Burn = ffi::TCOD_BKGND_BURN as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:523:19: 523:49 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:523         Overlay = ffi::TCOD_BKGND_OVERLAY as int,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:524:16: 524:43 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:524         Alph = ffi::TCOD_BKGND_ALPH as int,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib.rs:525:19: 525:49 error: expected constant: non-constant path in constant expr [E0080]
src/lib.rs:525         Default = ffi::TCOD_BKGND_DEFAULT as int
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to 45 previous errors
Could not compile `tcod`.

To learn more, run the command again with --verbose.

Have you seen this?

Upload package to crates.io

Is it worth uploading an initial release to crates.io?

This would enable people to put the following in their Cargo.toml file and have everything work automatically:

[dependencies]
tcod = "*"

SIGSEGV on exit

I get a SIGSEGV on exiting the minimal example. This is on mac os X:

Process:         roguelike [9584]
Path:            /Users/USER/*/roguelike
Identifier:      roguelike
Version:         0
Code Type:       X86-64 (Native)
Parent Process:  cargo [9562]
Responsible:     iTerm [268]
User ID:         501

Date/Time:       2014-11-15 13:28:28.659 +0100
OS Version:      Mac OS X 10.9.5 (13F34)
Report Version:  11
Anonymous UUID:  C73C6736-CE3C-1156-6160-8F15F1D61BF6

Sleep/Wake UUID: BAE80195-8F6C-4C74-9BF8-F0A1D6DAC9BF

Crashed Thread:  1

Exception Type:  EXC_CRASH (SIGSEGV)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Thread 0:: Dispatch queue: com.apple.main-thread
0   roguelike                       0x000000010c95b25b stack_overflow::imp::signal_handler::term::h382e64494cf8073f1Oa + 59
1   roguelike                       0x000000010c95b1f7 stack_overflow::imp::signal_handler::hffef1e7ebd98eb42IOa + 263
2   libsystem_platform.dylib        0x00007fff8bc9e5aa _sigtramp + 26
3   libtcod.dylib                   0x000000010c9f9937 TCOD_sys_wait_for_keypress + 55
4   libtcod.dylib                   0x000000010c9d541e TCOD_console_wait_for_keypress + 14
5   roguelike                       0x000000010c91ac6e Console::wait_for_keypress::h15fd9f1ce32a28c7TTf + 78 (lib.rs:185)
6   roguelike                       0x000000010c919524 roguelike::main + 276 (main.rs:11)
7   roguelike                       0x000000010c94f06a start::closure.8601 + 138
8   roguelike                       0x000000010c95edfc rust_try_inner + 12
9   roguelike                       0x000000010c95ede6 rust_try + 6
10  roguelike                       0x000000010c95c287 unwind::try::hab84862d0081b274cyd + 71
11  roguelike                       0x000000010c95c15c task::Task::run::h39093ecd59554b49ZJc + 124
12  roguelike                       0x000000010c94eec6 start::hce3eee37e6b12aa7eke + 422
13  roguelike                       0x000000010c94ed09 lang_start::h562a90e697402eb8xje + 121
14  roguelike                       0x000000010c9195af main + 79
15  libdyld.dylib                   0x00007fff95fdb5fd start + 1

Thread 1 Crashed:
0   libsystem_kernel.dylib          0x00007fff95394e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff8cbcaf08 _pthread_wqthread + 330
2   libsystem_pthread.dylib         0x00007fff8cbcdfb9 start_wqthread + 13

Thread 2:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x00007fff95395662 kevent64 + 10
1   libdispatch.dylib               0x00007fff8c04f421 _dispatch_mgr_invoke + 239
2   libdispatch.dylib               0x00007fff8c04f136 _dispatch_mgr_thread + 52

Thread 3:
0   libsystem_kernel.dylib          0x00007fff95394e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff8cbcaf08 _pthread_wqthread + 330
2   libsystem_pthread.dylib         0x00007fff8cbcdfb9 start_wqthread + 13

Thread 4:
0   libsystem_kernel.dylib          0x00007fff95394e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff8cbcaf08 _pthread_wqthread + 330
2   libsystem_pthread.dylib         0x00007fff8cbcdfb9 start_wqthread + 13

Thread 5:
0   libsystem_kernel.dylib          0x00007fff95394e6a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff8cbcaf08 _pthread_wqthread + 330
2   libsystem_pthread.dylib         0x00007fff8cbcdfb9 start_wqthread + 13

Thread 6:
0   libsystem_kernel.dylib          0x00007fff95394a3a __semwait_signal + 10
1   libsystem_c.dylib               0x00007fff8b35edc0 nanosleep + 200
2   libSDL-1.2.0.dylib              0x000000010ca701f8 SDL_Delay + 92
3   libSDL-1.2.0.dylib              0x000000010ca70270 RunTimer + 42
4   libSDL-1.2.0.dylib              0x000000010ca4bc01 SDL_RunThread + 53
5   libSDL-1.2.0.dylib              0x000000010ca6c402 RunThread + 9
6   libsystem_pthread.dylib         0x00007fff8cbc9899 _pthread_body + 138
7   libsystem_pthread.dylib         0x00007fff8cbc972a _pthread_start + 137
8   libsystem_pthread.dylib         0x00007fff8cbcdfc9 thread_start + 13

Thread 1 crashed with X86 Thread State (64-bit):
  rax: 0x0000000002000170  rbx: 0x000000010cb84000  rcx: 0x000000010cb83f28  rdx: 0x0000000000000000
  rdi: 0x0000000000000004  rsi: 0x0000000000000000  rbp: 0x000000010cb83f50  rsp: 0x000000010cb83f28
   r8: 0x0000000000070001   r9: 0x0000000000000000  r10: 0x0000000000000000  r11: 0x0000000000000246
  r12: 0x0000000000000000  r13: 0x0000000000000000  r14: 0x0000000000070001  r15: 0x0000000000001003
  rip: 0x00007fff95394e6a  rfl: 0x0000000000000246  cr2: 0x0000000109d04000

Logical CPU:     0
Error Code:      0x02000170
Trap Number:     133


Binary Images:
       0x10c918000 -        0x10c99afe7 +roguelike (0) <8DEDC19E-3EC1-31A5-91B0-A967A5A1BEC0> /Users/USER/*/roguelike
       0x10c9d2000 -        0x10ca26ff7 +libtcod.dylib (0) <C997F627-7428-3A51-A721-3D7429BC3C29> /Users/USER/*/libtcod.dylib
       0x10ca3e000 -        0x10ca76fff +libSDL-1.2.0.dylib (0) <CF1DEB71-EB08-3C22-8CEF-0FBD342F02D5> /usr/local/lib/libSDL-1.2.0.dylib
    0x7fff65ae7000 -     0x7fff65b1a817  dyld (239.4) <7AD43B9B-5CEA-3C7E-9836-A06909F9CA56> /usr/lib/dyld
    0x7fff8abf2000 -     0x7fff8ac16fff  libxpc.dylib (300.90.2) <AB40CD57-F454-3FD4-B415-63B3C0D5C624> /usr/lib/system/libxpc.dylib
    0x7fff8b013000 -     0x7fff8b2bdff5  com.apple.HIToolbox (2.1.1 - 698) <26FF0E2C-1CD7-311F-ACF0-84F3D5273AD6> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff8b2ca000 -     0x7fff8b2e2ff7  com.apple.openscripting (1.4 - 157) <B3B037D7-1019-31E6-9D17-08E699AF3701> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff8b2e3000 -     0x7fff8b36cff7  libsystem_c.dylib (997.90.3) <6FD3A400-4BB2-3B95-B90C-BE6E9D0D78FA> /usr/lib/system/libsystem_c.dylib
    0x7fff8bc9b000 -     0x7fff8bca1ff7  libsystem_platform.dylib (24.90.1) <3C3D3DA8-32B9-3243-98EC-D89B9A1670B3> /usr/lib/system/libsystem_platform.dylib
    0x7fff8bca2000 -     0x7fff8bca5ffa  libCGXType.A.dylib (599.35.4) <A2B493FD-2EDE-3BC2-A281-2381E0156411> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
    0x7fff8bca6000 -     0x7fff8bd6aff7  com.apple.backup.framework (1.5.4 - 1.5.4) <195DA868-47A5-37E6-8CF0-9BCF11846899> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff8bdda000 -     0x7fff8be35ffb  com.apple.AE (665.5 - 665.5) <3558CC9A-FD30-3DAD-AB40-FE6828E76FE1> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff8be82000 -     0x7fff8be8fff4  com.apple.Librarian (1.2 - 1) <2F677B44-BCA3-313B-881E-EE322E865100> /System/Library/PrivateFrameworks/Librarian.framework/Versions/A/Librarian
    0x7fff8c04c000 -     0x7fff8c066fff  libdispatch.dylib (339.92.1) <C4E4A18D-3C3B-3C9C-8709-A4270D998DE7> /usr/lib/system/libdispatch.dylib
    0x7fff8c199000 -     0x7fff8c19aff7  libsystem_blocks.dylib (63) <FB856CD1-2AEA-3907-8E9B-1E54B6827F82> /usr/lib/system/libsystem_blocks.dylib
    0x7fff8c3d6000 -     0x7fff8c3defff  libsystem_dnssd.dylib (522.92.1) <17B03FFD-92C5-3282-9981-EBB28B456207> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff8c425000 -     0x7fff8c429ff7  libGIF.dylib (1044) <7E51DFC3-740A-3CD3-98A1-1EC510A4A055> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff8c94e000 -     0x7fff8ca32ff7  com.apple.coreui (2.2 - 231.1) <187DF89C-8A64-366D-8782-F90315FA3CD7> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff8cb28000 -     0x7fff8cb29ff7  com.apple.print.framework.Print (9.0 - 260) <C4C40E2E-6130-3D73-B1EF-97FF3F70CF2C> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff8cbc8000 -     0x7fff8cbcfff7  libsystem_pthread.dylib (53.1.4) <9DA50FD0-D9AC-3051-AD4B-BA0D745BC49C> /usr/lib/system/libsystem_pthread.dylib
    0x7fff8cbd0000 -     0x7fff8cc1efff  libcorecrypto.dylib (161.1) <F3973C28-14B6-3006-BB2B-00DD7F09ABC7> /usr/lib/system/libcorecrypto.dylib
    0x7fff8cc23000 -     0x7fff8cc24fff  libsystem_sandbox.dylib (278.11.1) <0D0B13EA-6B7A-3AC8-BE60-B548543BEB77> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff8cd67000 -     0x7fff8cd83fff  libresolv.9.dylib (54) <11C2C826-F1C6-39C6-B4E8-6E0C41D4FA95> /usr/lib/libresolv.9.dylib
    0x7fff8ce1a000 -     0x7fff8ce5bfff  com.apple.PerformanceAnalysis (1.47 - 47) <5E045817-0C84-341A-9B33-74CF1324FA70> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
    0x7fff8cea6000 -     0x7fff8cef3ff2  com.apple.print.framework.PrintCore (9.0 - 428) <A2F7B9D2-7907-31D8-8462-E2E2E7C3AF2E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff8cef4000 -     0x7fff8cef7fff  com.apple.TCC (1.0 - 1) <F25B5875-081A-3877-B70E-374D54B54C5F> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff8cf18000 -     0x7fff8cf87ff1  com.apple.ApplicationServices.ATS (360 - 363.3) <546E89D9-2AE7-3111-B2B8-2366650D22F0> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff8d22c000 -     0x7fff8d22efff  libRadiance.dylib (1044) <461482C9-CADB-3B36-B023-597C64AD4B00> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff8d8bc000 -     0x7fff8d8e0ff7  libJPEG.dylib (1044) <BE0ED4E1-F7FC-3038-86D3-0456DD173FCB> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff8d8e1000 -     0x7fff8d8e3ff3  libsystem_configuration.dylib (596.15) <4998CB6A-9D54-390A-9F57-5D1AC53C135C> /usr/lib/system/libsystem_configuration.dylib
    0x7fff8d8e4000 -     0x7fff8dcc5ffe  libLAPACK.dylib (1094.5) <7E7A9B8D-1638-3914-BAE0-663B69865986> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff8dd49000 -     0x7fff8dd4efff  com.apple.DiskArbitration (2.6 - 2.6) <A4165553-770E-3D27-B217-01FC1F852B87> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff8dd4f000 -     0x7fff8dd50fff  com.apple.TrustEvaluationAgent (2.0 - 25) <334A82F4-4AE4-3719-A511-86D0B0723E2B> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff8ddb8000 -     0x7fff8df0cff3  com.apple.audio.toolbox.AudioToolbox (1.10 - 1.10) <69B273E8-5A8E-3FC7-B807-C16B657662FE> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff8df0d000 -     0x7fff8df19ffb  com.apple.AppleFSCompression (56.92.1 - 1.0) <066255FD-DBD1-3041-8DDA-7AFC41C9096D> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
    0x7fff8df4c000 -     0x7fff8df65ff7  com.apple.Kerberos (3.0 - 1) <59427E11-37D6-34C9-95BB-D4438BFACA5B> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff8e3c5000 -     0x7fff8e3ecffb  libsystem_info.dylib (449.1.3) <395D8CD6-616A-3BD3-A195-C6D68EB9AB22> /usr/lib/system/libsystem_info.dylib
    0x7fff8e3ed000 -     0x7fff8e4dcfff  libFontParser.dylib (111.1) <835A8253-6AB9-3AAB-9CBF-171440DEC486> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
    0x7fff8e536000 -     0x7fff8e79affd  com.apple.security (7.0 - 55471.14.18) <83A9E8C8-06A1-3F6D-8514-C35CD0DBD370> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff8e79b000 -     0x7fff8e7aaff8  com.apple.LangAnalysis (1.7.0 - 1.7.0) <2777524A-E7EF-3B7B-B15D-F58CDEEFC736> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff8e7fb000 -     0x7fff8eae5fff  com.apple.CoreServices.CarbonCore (1077.17 - 1077.17) <3A2E92FD-DEE2-3D45-9619-11500801A61C> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff8efc7000 -     0x7fff8f17fffb  libicucore.A.dylib (511.35) <6F097DA7-147C-32A1-93D2-728A64CF0DC2> /usr/lib/libicucore.A.dylib
    0x7fff8f2df000 -     0x7fff8f2e7ffc  libGFXShared.dylib (9.6.1) <25BBF325-AC57-3BAA-9427-2D14CC243AE6> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff8f2ea000 -     0x7fff8f2f2ff7  com.apple.speech.recognition.framework (4.2.4 - 4.2.4) <A816D8B1-6B7B-3E5B-9FAE-CBDA70192E7E> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff8f2f3000 -     0x7fff8f358ffb  com.apple.Heimdal (4.0 - 2.0) <F34D6627-9F80-3823-8B57-DB629307DF87> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff8f359000 -     0x7fff8f39eff6  com.apple.HIServices (1.23 - 468) <E06287C4-1534-3D46-B099-3DF8B8EE4EB5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff8f4e2000 -     0x7fff8f4e5fff  com.apple.help (1.3.3 - 46) <6D71C959-D421-372B-A160-5317B4921F4D> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff8f4e6000 -     0x7fff8f919ffb  com.apple.vision.FaceCore (3.0.0 - 3.0.0) <30FD8146-D6EB-3588-A7E5-ADC3110B3DCC> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
    0x7fff8f91a000 -     0x7fff8f97efff  com.apple.datadetectorscore (5.0 - 354.5) <0AE9749A-6BFC-3032-B802-210DF59AEDB0> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff8fa08000 -     0x7fff8fa34fff  com.apple.CoreServicesInternal (184.9 - 184.9) <4DEA54F9-81D6-3EDB-AA3C-1F9C497B3379> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
    0x7fff8fa5c000 -     0x7fff8fb1eff5  com.apple.CoreText (367.20 - 367.20) <B80D086D-93A9-3C35-860E-9C3FDD027F3B> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff8fb42000 -     0x7fff8fb4ffff  com.apple.Sharing (132.2 - 132.2) <3DFB1133-8FD3-3B60-8E9C-0FE62AACFD7B> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
    0x7fff8fb50000 -     0x7fff8fb6bff7  libsystem_malloc.dylib (23.10.1) <A695B4E4-38E9-332E-A772-29D31E3F1385> /usr/lib/system/libsystem_malloc.dylib
    0x7fff8fdd7000 -     0x7fff8fde4ff7  libxar.1.dylib (202) <5572AA71-E98D-3FE1-9402-BB4A84E0E71E> /usr/lib/libxar.1.dylib
    0x7fff9047b000 -     0x7fff9047fff7  libheimdal-asn1.dylib (323.92.1) <CAE21FFF-5763-399C-B7C5-EEBFFEEF2242> /usr/lib/libheimdal-asn1.dylib
    0x7fff90893000 -     0x7fff90898ff7  libunwind.dylib (35.3) <95D4D118-3368-3474-989D-271DE18C8365> /usr/lib/system/libunwind.dylib
    0x7fff908c0000 -     0x7fff908e9fff  com.apple.DictionaryServices (1.2 - 208) <A4E4EA9E-08A1-3F77-8B57-A5A1ADD70B52> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff909c4000 -     0x7fff909fcff7  com.apple.RemoteViewServices (2.0 - 94) <B17FAA76-61DB-33D0-90B7-4117A72A2B28> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
    0x7fff90b6a000 -     0x7fff90b6bfff  liblangid.dylib (117) <9546E641-F730-3AB0-B3CD-E0E2FDD173D9> /usr/lib/liblangid.dylib
    0x7fff90f05000 -     0x7fff90f05fff  com.apple.CoreServices (59 - 59) <67A369BA-2326-383F-995B-853DAD7BFF43> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff90f1a000 -     0x7fff911ebff4  com.apple.CoreImage (9.4.0) <2C636ECD-0F1A-357C-9EFF-0452476FDDF5> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x7fff911ec000 -     0x7fff911ecfff  com.apple.Accelerate (1.9 - Accelerate 1.9) <CFEF9CBE-4A1A-33FD-9174-D44314BB28F3> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff911ed000 -     0x7fff9126efff  com.apple.CoreSymbolication (3.0.1 - 141.0.5) <20E484C4-9F0E-3DF6-BB27-D509859FF57A> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
    0x7fff9126f000 -     0x7fff9127ffff  libbsm.0.dylib (33) <2CAC00A2-1352-302A-88FA-C567D4D69179> /usr/lib/libbsm.0.dylib
    0x7fff91282000 -     0x7fff9128cff7  com.apple.CrashReporterSupport (10.9 - 539) <B25A09EC-A021-32EC-86F8-05B4837E0EDE> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x7fff9128d000 -     0x7fff912c6ff7  com.apple.QD (3.50 - 298) <5343278D-47B7-3AF2-9B4B-4B8B0F942CD1> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff916b0000 -     0x7fff916b0fff  com.apple.Accelerate.vecLib (3.9 - vecLib 3.9) <F8D0CC77-98AC-3B58-9FE6-0C25421827B6> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff916b1000 -     0x7fff916caff7  com.apple.Ubiquity (1.3 - 289) <664F5B33-708D-33E9-81E1-C45CBE9AAB6E> /System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity
    0x7fff916cb000 -     0x7fff916d5fff  libcommonCrypto.dylib (60049) <79B8E80F-E596-3302-8243-EC479B9546CA> /usr/lib/system/libcommonCrypto.dylib
    0x7fff916d6000 -     0x7fff916fbff7  com.apple.CoreVideo (1.8 - 117.2) <FE12553A-9B5A-337E-92BD-EA8A8194C91A> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff916fc000 -     0x7fff91769fff  com.apple.SearchKit (1.4.0 - 1.4.0) <33298263-5B12-340D-BB9D-D52303849561> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff91770000 -     0x7fff91787ff7  com.apple.CFOpenDirectory (10.9 - 173.90.1) <7BC0194E-1B40-3FCA-ACD2-235CE5D65DFA> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff91827000 -     0x7fff91828ff7  libSystem.B.dylib (1197.1.1) <E6BCC031-4342-318C-A1AD-A8E9AEAE716F> /usr/lib/libSystem.B.dylib
    0x7fff91829000 -     0x7fff9183bfff  com.apple.ImageCapture (9.0 - 9.0) <D9269440-8E56-3C03-88F5-F8AD662D17DB> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff9185c000 -     0x7fff9194afff  libJP2.dylib (1044) <BE5FF765-5ECE-38B5-BF5D-BE806F5CAD18> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x7fff91960000 -     0x7fff91969ffb  libsystem_notify.dylib (121.20.1) <9B34B4FE-F5AD-3F09-A5F0-46AFF3571323> /usr/lib/system/libsystem_notify.dylib
    0x7fff9196a000 -     0x7fff92289797  com.apple.CoreGraphics (1.600.0 - 599.35.4) <C8CBC664-0CD2-3C7D-A301-9B3BA731250C> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff9228a000 -     0x7fff9228cff7  libquarantine.dylib (71) <973BE51D-6465-392F-9099-D4AB21BF0D25> /usr/lib/system/libquarantine.dylib
    0x7fff9228d000 -     0x7fff92e03ff7  com.apple.AppKit (6.9 - 1265.21) <9DC13B27-841D-3839-93B2-3EDE66157BDE> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff92e0e000 -     0x7fff92e19fff  libGL.dylib (9.6.1) <4B65BF9F-F34A-3CD1-94E8-DB26DAA0A59D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff92e1a000 -     0x7fff92e1afff  com.apple.Carbon (154 - 157) <14069023-0BBB-3925-9BA9-EB2C9E9B8C75> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff92e1b000 -     0x7fff92e42ff7  libsystem_network.dylib (241.3) <A499D688-9165-3776-8C8E-C018897B5B13> /usr/lib/system/libsystem_network.dylib
    0x7fff92e44000 -     0x7fff92e8bff7  libcups.2.dylib (372.4) <36EA4350-43B4-3A5C-9904-10685BFDA7D4> /usr/lib/libcups.2.dylib
    0x7fff92e9d000 -     0x7fff92eccff9  com.apple.GSS (4.0 - 2.0) <44E914BE-B0D0-3E05-9451-CA9E539AFA52> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff93d22000 -     0x7fff93e90ff7  libBLAS.dylib (1094.5) <D862E2B7-91FA-3704-8F62-C1B65D381A84> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff93e91000 -     0x7fff93eb6ff7  com.apple.ChunkingLibrary (2.0 - 155.1) <B49408CD-ECE8-3785-84A4-45B03882574A> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
    0x7fff93eb7000 -     0x7fff93ebbff7  libsystem_stats.dylib (93.90.3) <337946FC-B2E1-3DFA-A8B5-30DA8D584D75> /usr/lib/system/libsystem_stats.dylib
    0x7fff93ebc000 -     0x7fff93f15fff  libTIFF.dylib (1044) <FBC5800B-7F34-3755-A44E-7B37B3E0B32E> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff93fc3000 -     0x7fff9404cfff  com.apple.ColorSync (4.9.0 - 4.9.0) <E7E0D542-D77A-3E32-B146-4D0FEAF282D3> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff9404d000 -     0x7fff94050ffc  com.apple.IOSurface (91.1 - 91.1) <D00EEB0C-8AA8-3986-90C1-C97B2486E8FA> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff94051000 -     0x7fff94051fff  com.apple.ApplicationServices (48 - 48) <F250170A-8805-3731-9097-78CAD04481F0> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff94149000 -     0x7fff94184fff  com.apple.bom (14.0 - 193.1) <EF24A562-6D3C-379E-8B9B-FAE0E4A0EF7C> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
    0x7fff94185000 -     0x7fff9418cfff  libcompiler_rt.dylib (35) <2A890004-0A78-3E33-9AC5-A7D63BD4F879> /usr/lib/system/libcompiler_rt.dylib
    0x7fff94216000 -     0x7fff9423effb  libRIP.A.dylib (599.35.4) <F3C60582-1F27-335D-9C97-8CF307670F7B> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
    0x7fff9436e000 -     0x7fff94375ffb  libcopyfile.dylib (103.92.1) <CF29DFF6-0589-3590-834C-82E2316612E8> /usr/lib/system/libcopyfile.dylib
    0x7fff94376000 -     0x7fff943c7ff7  com.apple.audio.CoreAudio (4.2.1 - 4.2.1) <BE13E840-FB45-3BC2-BCF5-031629754FD5> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff943c8000 -     0x7fff9441afff  libc++.1.dylib (120) <2CB96D10-1E3E-39B1-B90D-C56C3818321E> /usr/lib/libc++.1.dylib
    0x7fff9441b000 -     0x7fff944abff7  com.apple.Metadata (10.7.0 - 800.28) <CB43AF4C-F5DE-3161-B7D7-540DF9718EAD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff944ac000 -     0x7fff944b0fff  com.apple.CommonPanels (1.2.6 - 96) <5744A1F1-1FA5-35DD-B924-F8983E81FC76> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff944bb000 -     0x7fff944bcff7  libDiagnosticMessagesClient.dylib (100) <4CDB0F7B-C0AF-3424-BC39-495696F0DB1E> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff945f0000 -     0x7fff945fcff7  com.apple.OpenDirectory (10.9 - 173.90.1) <F08601E8-F7E8-3222-AD05-6A26003779CF> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff949f0000 -     0x7fff949f1ffb  libremovefile.dylib (33) <26266E3F-FDDC-3CFC-B27F-78B49BDC9BDC> /usr/lib/system/libremovefile.dylib
    0x7fff94b16000 -     0x7fff94b46fff  com.apple.IconServices (25 - 25.17) <36811973-8777-3211-863A-76B2C20B0ED0> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
    0x7fff94b47000 -     0x7fff94ce3ff3  com.apple.QuartzCore (1.8 - 332.3) <D6285800-F386-3E6B-84F2-A62F9029D95F> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff94ce4000 -     0x7fff94d13fd2  libsystem_m.dylib (3047.16) <9D96AACD-5870-3A5C-B849-7F9C0F6EBB09> /usr/lib/system/libsystem_m.dylib
    0x7fff94d14000 -     0x7fff94d56ff7  libauto.dylib (185.5) <F45C36E8-B606-3886-B5B1-B6745E757CA8> /usr/lib/libauto.dylib
    0x7fff94d57000 -     0x7fff94d5afff  libCoreVMClient.dylib (58.1) <EBC36C69-C896-3C3D-8589-3E9023E7E56F> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff94d6f000 -     0x7fff94d7cff0  libbz2.1.0.dylib (29) <0B98AC35-B138-349C-8063-2B987A75D24C> /usr/lib/libbz2.1.0.dylib
    0x7fff94e16000 -     0x7fff94e3fff7  libc++abi.dylib (49.1) <21A807D3-6732-3455-B77F-743E9F916DF0> /usr/lib/libc++abi.dylib
    0x7fff94e40000 -     0x7fff94e52ff7  com.apple.MultitouchSupport.framework (245.13.1 - 245.13.1) <38262B92-C63F-35A0-997D-AD2EBF2F8338> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff95194000 -     0x7fff9519bff8  liblaunch.dylib (842.92.1) <A40A0C7B-3216-39B4-8AE0-B5D3BAF1DA8A> /usr/lib/system/liblaunch.dylib
    0x7fff9519c000 -     0x7fff951a1fff  libmacho.dylib (845) <B2BE3C25-CF1F-309B-AB99-1F0B54621445> /usr/lib/system/libmacho.dylib
    0x7fff951a2000 -     0x7fff9528cfff  libsqlite3.dylib (158) <447AA928-BCF7-3779-A7E5-210F264E0316> /usr/lib/libsqlite3.dylib
    0x7fff952b3000 -     0x7fff952fafff  libFontRegistry.dylib (127) <A77A0480-AA5D-3CC8-8B68-69985CD546DC> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff952fb000 -     0x7fff95367fff  com.apple.framework.IOKit (2.0.1 - 907.100.13) <057FDBA3-56D6-3903-8C0B-849214BF1985> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff95368000 -     0x7fff95379ff7  libz.1.dylib (53) <4C5FA1A5-4471-398E-9543-2E54D46E63E9> /usr/lib/libz.1.dylib
    0x7fff9537a000 -     0x7fff9537efff  libpam.2.dylib (20) <A63D4DA2-06A4-3FB8-AC3F-BDD69694EE5E> /usr/lib/libpam.2.dylib
    0x7fff9537f000 -     0x7fff9539bff7  libsystem_kernel.dylib (2422.115.4) <9EDE872E-2A9E-3A78-8E1D-AB790794A098> /usr/lib/system/libsystem_kernel.dylib
    0x7fff953d7000 -     0x7fff953efff7  com.apple.GenerationalStorage (2.0 - 160.3) <64749B08-0212-3AC8-9B49-73D662B09304> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
    0x7fff95e6f000 -     0x7fff95f75ff7  com.apple.ImageIO.framework (3.3.0 - 1044) <3BCCF2AE-CF1F-3324-A371-DF0A42C841A2> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff95f76000 -     0x7fff95f81ff7  com.apple.NetAuth (5.0 - 5.0) <C811E662-9EC3-3B74-808A-A75D624F326B> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x7fff95f82000 -     0x7fff95fc0ff7  libGLImage.dylib (9.6.1) <5E02B38C-9F36-39BE-8746-724F0D8BBFC0> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff95fd8000 -     0x7fff95fdbff7  libdyld.dylib (239.4) <A1273A02-4928-3BAC-A846-6C069DC1A0A6> /usr/lib/system/libdyld.dylib
    0x7fff95ffb000 -     0x7fff960e2ff7  libxml2.2.dylib (26) <A1DADD11-89E5-3DE4-8802-07186225967F> /usr/lib/libxml2.2.dylib
    0x7fff960ea000 -     0x7fff962cffff  com.apple.CoreFoundation (6.9 - 855.17) <729BD6DA-1F63-3E72-A148-26F21EBF52BB> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff9631e000 -     0x7fff9644eff7  com.apple.desktopservices (1.8.3 - 1.8.3) <225BEC20-F8E0-3F22-9560-890A1A5B9050> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff9644f000 -     0x7fff96458ffd  com.apple.CommonAuth (4.0 - 2.0) <32BA436F-6319-3A0B-B5D2-2EB75FF36B5B> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff96459000 -     0x7fff96460fff  com.apple.NetFS (6.0 - 4.0) <D4FE0F16-3085-34AF-B860-3D46B98FAD2A> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff96461000 -     0x7fff9647cff7  libPng.dylib (1044) <151BA92C-6E7C-3B69-8024-FDD1E2C89DD3> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff96619000 -     0x7fff9666cfff  com.apple.ScalableUserInterface (1.0 - 1) <19D73C6D-CA0A-3230-9644-7F01364137ED> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface
    0x7fff966d5000 -     0x7fff9672dff7  com.apple.Symbolication (1.4 - 129.0.2) <56F5E42C-4A23-3D0C-A830-616A03C16725> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
    0x7fff9672e000 -     0x7fff96a02fc7  com.apple.vImage (7.0 - 7.0) <1DDB8AB7-03D5-3D20-9D77-C69074C6FD26> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff96c4d000 -     0x7fff96d3eff9  libiconv.2.dylib (41) <BB44B115-AC32-3877-A0ED-AEC6232A4563> /usr/lib/libiconv.2.dylib
    0x7fff96d3f000 -     0x7fff96db6fff  com.apple.CoreServices.OSServices (600.4 - 600.4) <B9436B61-0885-3EF6-B981-EB77C325F745> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff96dc0000 -     0x7fff96dfffff  libGLU.dylib (9.6.1) <AE032555-3E2F-3DBF-A26D-EA4576061605> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff96e03000 -     0x7fff96e03ffd  libOpenScriptingUtil.dylib (157) <19F0E769-0989-3062-9AFB-8976E90E9759> /usr/lib/libOpenScriptingUtil.dylib
    0x7fff971c6000 -     0x7fff971c8fff  libCVMSPluginSupport.dylib (9.6.1) <FB37F4C4-1E84-3349-BB03-92CA0A5F6837> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x7fff971c9000 -     0x7fff97217ff7  com.apple.opencl (2.3.59 - 2.3.59) <9F43F471-C3C3-352D-889D-EC418DC1F5B2> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff972b2000 -     0x7fff97362ff7  libvMisc.dylib (423.32) <049C0735-1808-39B9-943F-76CB8021744F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff97363000 -     0x7fff97374ff7  libsystem_asl.dylib (217.1.4) <B983CA60-F418-317B-B142-48A6376564FC> /usr/lib/system/libsystem_asl.dylib
    0x7fff973d8000 -     0x7fff973e3fff  libkxld.dylib (2422.115.4) <3C678B75-F7C5-3DBB-8DBD-48483AD54D5C> /usr/lib/system/libkxld.dylib
    0x7fff9749d000 -     0x7fff974b8ff7  libCRFSuite.dylib (34) <FFAE75FA-C54E-398B-AA97-18164CD9789D> /usr/lib/libCRFSuite.dylib
    0x7fff975d3000 -     0x7fff9781bff7  com.apple.CoreData (107 - 481.3) <E78734AA-E3D0-33CB-A014-620BBCAB2E96> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff9781c000 -     0x7fff9788ffff  com.apple.securityfoundation (6.0 - 55122.3) <0FDC8F53-104C-3938-A852-5B33C30BAAD5> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff97890000 -     0x7fff9795bfff  libvDSP.dylib (423.32) <3BF732BE-DDE0-38EB-8C54-E4E3C64F77A7> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff9795c000 -     0x7fff9795dfff  libunc.dylib (28) <C3737C9A-C06F-310C-B78C-7D8D882A35DE> /usr/lib/system/libunc.dylib
    0x7fff97963000 -     0x7fff97967ff7  libcache.dylib (62) <8C1EFC4F-3F51-3DE9-A973-360B461F3D65> /usr/lib/system/libcache.dylib
    0x7fff97968000 -     0x7fff97b03ff8  com.apple.CFNetwork (673.3 - 673.3) <4375B7CB-34B6-3A26-99AC-2D2404AD9C9B> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff97b04000 -     0x7fff97b0dfff  com.apple.speech.synthesis.framework (4.7.1 - 4.7.1) <383FB557-E88E-3239-82B8-15F9F885B702> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff97ba6000 -     0x7fff97bb0ff7  com.apple.bsd.ServiceManagement (2.0 - 2.0) <9556885C-22DD-3392-ACCB-2B413434D8D3> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff97bb1000 -     0x7fff97bbffff  com.apple.opengl (9.6.1 - 9.6.1) <B22FA400-5824-36AF-9945-5FEC31995A0E> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff97bc0000 -     0x7fff97c23ffb  com.apple.SystemConfiguration (1.13.1 - 1.13.1) <2C8E1A73-5AD6-3A7D-8ED8-D6755555A993> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff97c24000 -     0x7fff97dd1f27  libobjc.A.dylib (551.1) <F21C5742-7B9C-31F1-BBAE-1717BC6C2F1B> /usr/lib/libobjc.A.dylib
    0x7fff97dd2000 -     0x7fff97e9cff7  com.apple.LaunchServices (572.28 - 572.28) <FC72C089-A069-3374-B80A-E041AF149F24> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff97e9d000 -     0x7fff97e9dffd  com.apple.audio.units.AudioUnit (1.10 - 1.10) <68B21135-55A6-3563-A3D6-3E692A7DEB7F> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff97ea0000 -     0x7fff97ea0fff  com.apple.Cocoa (6.8 - 20) <1482E95B-0C26-38AF-9A44-50ADE6C0876C> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff97eae000 -     0x7fff97f3aff7  com.apple.ink.framework (10.9 - 207) <96A56EAC-B4AC-3C9A-8C40-64E6196753CC> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff98313000 -     0x7fff98342fff  com.apple.DebugSymbols (106 - 106) <9F66640E-277C-317E-A01E-A1E5B13E2592> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
    0x7fff9838c000 -     0x7fff9868cff7  com.apple.Foundation (6.9 - 1056.16) <24349208-3603-3F5D-95CC-B379616FBEF8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff98869000 -     0x7fff98871ff3  libCGCMS.A.dylib (599.35.4) <67AD122A-B8DA-3C05-8B8C-1939F5064FAE> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGCMS.A.dylib
    0x7fff98872000 -     0x7fff98874ff7  com.apple.securityhi (9.0 - 55005) <446BE1A5-F65F-3ACB-8F33-A8EBFE0D0BD4> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff98875000 -     0x7fff9889dffb  libxslt.1.dylib (13) <C9794936-633C-3F0C-9E71-30190B9B41C1> /usr/lib/libxslt.1.dylib
    0x7fff9889e000 -     0x7fff9889eff7  libkeymgr.dylib (28) <D7045F25-BFA4-3840-847D-AF95DF8B6CCA> /usr/lib/system/libkeymgr.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 1
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 39153
    thread_create: 2
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=155.3M resident=174.0M(112%) swapped_out_or_unallocated=16777216.0T(11326390796288%)
Writable regions: Total=85.3M written=3084K(4%) resident=8664K(10%) swapped_out=4940K(6%) unallocated=76.9M(90%)

REGION TYPE                      VIRTUAL
===========                      =======
CG backing stores                  4220K
CG image                             12K
CG raster data                       96K
CG shared images                    180K
Dispatch continuations             8192K
Kernel Alloc Once                     8K
MALLOC                             38.1M
MALLOC (admin)                       32K
Memory Tag 242                       12K
STACK GUARD                          24K
Stack                              66.6M
VM_ALLOCATE                        24.5M
__DATA                             19.2M
__IMAGE                             528K
__LINKEDIT                         66.4M
__TEXT                             88.9M
__UNICODE                           544K
mapped file                        63.9M
shared memory                         4K
===========                      =======
TOTAL                             381.1M

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.