Rust bindings for libtcod 1.6.3 (the Doryen library/roguelike toolkit)

Overview

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

Comments
  • libtcod 1.6 support

    libtcod 1.6 support

    Please see Gustorn/tcod-rs#1 for a pretty annoying warning message that I don't know how to get rid of. Also this is - as of yet - untested on Windows and OS X.

    • [x] The library builds on Travis under Linux
    • [x] The library builds on Travis under OS X
    • [x] The library builds on AppVeyor under Windows with the MSVC toolchain
    • [x] The library builds on AppVeyor under Windows with the GNU toolchain
    • [x] Fix undefined symbols warnings when running a built application

    Closes #249

    opened by zsparal 36
  • segmentation fault 11 on key press Mac OSX 10.10 Rustc 0.13-nightly

    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

    opened by alexispurslane 35
  • Line toolkit

    Line toolkit

    Line sample – along with Line API.

    The original API for drawing lines with a callback practically requires maintaining some global (static) state. This makes passing something reasonable, like a Rust closure, impossible. I'm contemplating adding a piece of C code to wrap line API with a C function that would take some user data, and in result allow for some tricks to pass rust closure or object.

    opened by tomob 19
  • tcod-sys doesn't build on OSX

    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.

    opened by isobel-cullen 17
  • Black screen on OSX Mojave

    Black screen on OSX Mojave

    Hi,

    I'm using (learning, really) tcod-rs on OSX.

    Everything was working fine until I updated to Mojave. After that, all I see is an empty black screen.

    I have tried tcod-rs/examples/text.rs too in order to discard problems in my code and I confirm that I also see a black screen when I run it.

    I have installed libtcod using brew install libtcod. Here's what brew says about it:

    $ brew info libtcod
    libtcod: stable 1.6.4 (bottled)
    API for roguelike developers
    http://roguecentral.org/doryen/libtcod/
    Conflicts with:
      libzip (because both install `zip.h` header)
    /usr/local/Cellar/libtcod/1.6.4 (141 files, 2MB) *
      Poured from bottle on 2018-10-15 at 11:29:03
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/libtcod.rb
    ==> Dependencies
    Build: autoconf ✔, automake ✘, libtool ✔, pkg-config ✔
    Required: sdl2 ✔
    ==> Analytics
    install: 19 (30d), 59 (90d), 330 (365d)
    install_on_request: 19 (30d), 51 (90d), 275 (365d)
    build_error: 0 (30d)
    
    opened by kikito 13
  • Use `u8` and `[u8]`, not `char` and `str` for printing methods on `Console`

    Use `u8` and `[u8]`, not `char` and `str` for printing methods on `Console`

    Console’s printing methods don’t work with Unicode strings or characters, so it doesn’t make sense to use the char (Unicode scalar value) and str (UTF-8 string) types. This changes these methods to use u8 and [u8] instead. The ergonomic impact of this is minimal (although it breaks just about all code, unfortunately), due to the existence of byte string and character literals (b"foo" and b'c'), and additionally, this makes it possible to specify special characters directly inside byte strings (e.g., printing b"90\xf8" (0xf8 is chars::GRADE) now displays 90°, but previously displayed 90├© due to the fact that strings are UTF-8).

    opened by ftxqxd 13
  • Documentation

    Documentation

    Some work on the console module documentation. I tried to proofread it a few times, but might've missed a few mistakes here and there. Also, I don't know if you want to have excessive documentation in the main developement branch. If not, then just create a new branch and I'll resubmit the PR. The docs could use some more examples for the individual methods (printing, etc.), but this is all I had time for now.

    Also I tried to mirror libtcod's style of "comment even the most obviously named function", even though I kind of disagree with the concept: set_fullscreen is pretty self-explanatory for example. So if you'd prefer it that way, I'll happily remove the redundant comments.

    EDIT: So, #80 is still not fixed in cargo upstream, so we cannot do doctests if we want to have a documentation with examples. After the More example fixes commit, the only errors I was getting were the linker ones, so the examples should not have any bugs in them.

    opened by zsparal 12
  • Added Root console initializer

    Added Root console initializer

    This implementation matches the latest version discussed in #137 with two modifications:

    1. newtype introduced for font paths, which makes all font-related arguments in the raw Root initializer explicit
    2. added Root::initializer() static function to Root. This is to avoid an unnecessary import for RootInitializer. The downside is that init and initializer are fairly similarly named.

    Since this is a one-time function call, I don't think the added verbosity is too bad, and it's much nicer to work with.

    Closes #137 Closes #146

    opened by zsparal 12
  • Console API

    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.

    enhancement 
    opened by zsparal 12
  • Upgrade libtcod to 1.12.3

    Upgrade libtcod to 1.12.3

    Things to note:

    • The source tree layout of libtcod has changed between releases
    • I'll clean up the .idea stuff, sorry about that
    • I only tested with MSVC, but took my best guess at how to make stuff work on the other platforms as well
    • I did not write safe wrappers for new functionality added in libtcod, or even FFI definitions
    • Compiles, I've been developing against it for a few hours now, and nothing blew up yet
    opened by abesto 11
  • Cannot build tcod-rs on OS X 10.11 - as_ref(), as_bytes() errors

    Cannot build tcod-rs on OS X 10.11 - as_ref(), as_bytes() errors

    Putting in place the workaround described in my earlier 'SDL include' issue (https://github.com/tomassedovic/tcod-rs/issues/204) yields a different error:

    ➜  tcod-rs git:(master) cargo build
       Compiling tcod-sys v3.0.0 (file:///Users/ysgard/Dropbox/Rust/tcod-rs)
       Compiling tcod v0.8.0 (file:///Users/ysgard/Dropbox/Rust/tcod-rs)
    src/console.rs:479:39: 479:62 error: mismatched types:
     expected `&std::path::Path`,
        found `&core::convert::AsRef<std::path::Path>`
    (expected struct `std::path::Path`,
        found trait core::convert::AsRef) [E0308]
    src/console.rs:479                 Root::set_custom_font(self.font_path.as_ref(),
                                                             ^~~~~~~~~~~~~~~~~~~~~~~
    src/console.rs:479:39: 479:62 help: run `rustc --explain E0308` to see a detailed explanation
    src/console.rs:486:60: 486:70 error: no method named `as_bytes` found for type `&core::convert::AsRef<str>` in the current scope
    src/console.rs:486             let c_title = CString::new(self.title.as_ref().as_bytes()).unwrap();
                                                                                  ^~~~~~~~~~
    error: aborting due to 2 previous errors
    Could not compile `tcod`.
    
    To learn more, run the command again with --verbose.
    

    This is being built against the Rust nightly line:

    ➜  tcod-rs git:(master) rustc -V
    rustc 1.5.0-nightly (81b3b27cf 2015-10-11)
    
    opened by ysgard 11
  • Panic when using check_for_event

    Panic when using check_for_event

    I tried to use the check_for_event function, but got this error:

    32bits font... checking for alpha layer... not present
    key color : 0 0 0
    thread 'main' panicked at 'attempted to leave type `bindings::ffi::TCOD_key_t` uninitialized, which is invalid', /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/core/src/mem/mod.rs:659:9
    stack backtrace:
       0: rust_begin_unwind
                 at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/std/src/panicking.rs:483:5
       1: core::panicking::panic_fmt
                 at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/core/src/panicking.rs:85:14
       2: core::panicking::panic
                 at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/core/src/panicking.rs:50:5
       3: core::mem::uninitialized
                 at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/core/src/mem/mod.rs:659:9
       4: tcod::input::check_for_event
                 at [..]/.cargo/registry/src/github.com-1ecc6299db9ec823/tcod-0.15.0/src/input.rs:193:53
       5: rustrogue::handle_keys
                 at ./src/main.rs:70:21
       6: rustrogue::main
                 at ./src/main.rs:48:20
       7: core::ops::function::FnOnce::call_once
                 at [..]/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    

    I am using the Rust nightly toolchain, if that's somehow related.

    opened by Soupstraw 11
  • Document dependencies for Fedora

    Document dependencies for Fedora

    While the documented dependencies work on Ubuntu 20.04, the Fedora (32) dependencies look a bit different:

    # dnf install SDL2-devel gcc g++ make zlib-devel
    

    We should add this to the readme.

    NOTE: zlib-devel is not necessary with the 0.15.0 release of tcod-rs, but it will need to be added once this pull request merges:

    https://github.com/tomassedovic/tcod-rs/pull/309

    In my testing it doesn't need to be added to Ubuntu, I'm assuming the package is already installed there.

    opened by tomassedovic 0
  • Upgrade libtcod to 1.16.0-alpha.12

    Upgrade libtcod to 1.16.0-alpha.12

    Okay, so... this PR is quite large, and I've made some pretty deep changes to this library, particularly to the build system, so let me just enumerate those real quick:

    First and foremost, I've upgraded to libtcod to version 1.16.0-alpha.12. I also did a minor code change, such that those functions/methods that wrap functions that return TCOD_Error now return Result<T, Error> where Error is my Rust-wrapped error type. I have otherwise not really added any new wrappers or functionality.

    Next, in the course of my upgrading the bindings, I learned that it's not sound to use the same generated bindings file for every platform. One should generate bindings per platform. I realize this is tedious and can also be a quite the burden on end-users, so I added a feature to tcod_sys called generate_bindings, and only with that feature enabled will it try to run bindgen. If the feature is not enabled, it will instead look for a pre-generated binding for the given $TARGET and use that instead (and panic otherwise); meaning that it's possible to pre-generate bindings for all the popular targets. I noticed that this project uses both Travis and Appveyor, and so it shouldn't be too difficult to have those generate and commit bindings automatically whenever they change, if desirable. I have not added this (yet, anyway). Since I mainly work on Windows, and have an up and running Ubuntu virtual machine, I have pre-generated bindings for x86_64-pc-windows-msvc and x86_64-unknown-linux-gnu.

    At this point, I'm curious to see if the CI accepts my code, so let's give it a whirl.

    opened by alexschrod 12
  • Upgrade tcod

    Upgrade tcod

    Please upgrade tcod_sys to use libtcod 1.9+ (last stable version for now 1.15) with new renderer OPENGL2 and many improvements. 1.6.3 is completely outdated today.

    opened by Tairesh 1
  • Segmentation fault on Image creation

    Segmentation fault on Image creation

    Running on OSX 10.14 (Mojave)

    Creation of image from console segfaults on this line when dereferencing the pixel pointer.

    Minimalistic example that reproduces the error (happens on both Offscreen and Root):

    let console = Offscreen::new(100, 100);
    let image = Image::from_console(&console);
    
    opened by svenknobloch 3
  • Switching to fullscreen doesn't work on Ubuntu

    Switching to fullscreen doesn't work on Ubuntu

    Originally reported by u/PollenX on Reddit:

    https://www.reddit.com/r/rust_gamedev/comments/e9v0x0/tcod_fullscreen_toggle_not_working/

    Calling set_fullscreen(true) after the root console has been initialised does not have any effect. This seems to have something to do with the size call in the root console initialiser. When they remove it, they are able to toggle fullscreen.

    Here is the root console initialisation code they use:

    let mut root = Root::initializer().font("terminal16x16_gs_ro.png", FontLayout::AsciiInRow)
    .font_type(FontType::Greyscale)
    .size(SCREEN_WIDTH, SCREEN_HEIGHT)
    .title("SssBall")
    .init();
    

    tcod-rs version: v0.15.0 OS: Ubuntu Linux 19.04

    opened by tomassedovic 9
Releases(v0.15.0)
  • v0.15.0(Jun 9, 2019)

    tcod provides Rust bindings to libtcod -- a library for writing roguelikes.

    Changes

    • Fixed blank screen with SDL2 on Mojave macOS
    • Added Send and Clone implementations for Map
    • Fixed building issues on Rust 1.35
    • Made Color::new a const fn

    Thanks

    • @lucanLepus
    • @nsmryan
    • @abesto
    • @rjungemann
    Source code(tar.gz)
    Source code(zip)
  • v0.14.0(Apr 23, 2019)

    tcod provides Rust bindings to libtcod -- a library for writing roguelikes.

    Changes

    • Add Send trait to console::Offscreen
    • Fixed links and SDL version in README

    Thanks

    • @muhuk
    • @RantingBob
    Source code(tar.gz)
    Source code(zip)
  • v0.13.0(Dec 19, 2018)

    tcod provides Rust bindings to libtcod -- a library for writing roguelikes.

    Changes

    • Switched to libtcod 1.6.3
    • Linux: build libtcod as a static library by default (use the tcod_sys/dynlib feature to create a dynamic library instead)
    • tcod::bsp::Bsp::split_recursive now takes tcod::random::Rng by reference instead of by value

    Thanks

    This release was made possible by the following amazing people:

    • @Gustorn
    • @L3nn0x
    • @laanwj
    • @lucanLepus
    • @Tyruiop
    Source code(tar.gz)
    Source code(zip)
  • v0.12.1(Nov 12, 2017)

  • v0.12.0(Sep 4, 2017)

    tcod provides Rust bindings to libtcod -- a library for writing roguelikes.

    Changes

    • Added the map_*_to_font functions
    • Added an example that uses graphical tiles
    • Updated to Serde 1.0
    • Fixed memory safety issue with print_frame
    Source code(tar.gz)
    Source code(zip)
  • v0.11.0(Mar 9, 2017)

    tcod provides Rust bindings to libtcod -- a library for writing roguelikes.

    Breaking change

    • Renamed the serde feature to serialize. This was necessary because we needed two crates under the serde feature -- serde and serde_derive. But because a Cargo feature cannot have the same name as an existing dependency, we could not create a "serde" feature that would pull in both dependencies. Hence the rename.

    Deprecation notice

    • The rustc-serialize feature is now deprecated and will be removed from the next release. To update, change your code to using the new serialization feature which uses Serde in the background

    Other changes

    Source code(tar.gz)
    Source code(zip)
  • v0.10.0(Jun 21, 2016)

    • Fixed visibility issues with newer Rust
    • Updated libc use on newer Rust
    • Added missing asserts to the FOV functions
    • Fixed the SDL linking issue on pc-windows-gnu
    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Feb 24, 2016)

    Minor fixes and a new build script based on the GCC crate.

    We now support OSX and the 32 and 64 bit versions of Linux, Windows with MinGW and Windows with Visual Studio.

    Nothing should break but since the build process is entirely new, we've bumped the major version of tcod_sys and the minor version of tcod.

    Source code(tar.gz)
    Source code(zip)
  • v0.8.0(Oct 1, 2015)

    Huge thanks to Gustorm and tomob! We're almost on parity with libtcod. Unfortunately, we've introduced some breaking changes.

    Breaking changes

    • Made the tree field of TCOD_bsp_t in tcod_sys private and added an unsafe method to access it
    • Changed mut * to const * in signatures of various BSP methods in tcod_sys
    • Changed the tcod::input::Key struct to allow handling special keys such as $ and #.
    • Replaced time::Duration from the third-party time to std::time::Duration available in Rust 1.3 and newer

    See the bottom of the notes for guides on how to port your code over.

    Other changes

    • Dijkstra pathfinding now passes Valgrind
    • Implemented rustc-serialize for Color
    • Implemented serde for Color
    • Added the pseudorandom number generator bindings
    • Added the name generator bindings
    • Added the image toolkit bindings
    • Added the line toolkit bindings
    • Added the noise bindings
    • Addeb the BSP toolkit bindings
    • Ported the C++ libtcod samples code to Rust (see the samples example)
    • Implemented the Default and Debug traits to various structs
    • implemented operator overloading traits for std::colors::Color
    • Added non-consuming iterators for pathfinding

    Migrating from tcod 0.7.x to 0.8.0

    Rust 1.3

    First and foremost, you will need to update to Rust 1.3 or newer because we use the newly-stabilised std::time::Duration. In general, tcod-rs tracks the stable track of Rust rather than any specific version. We aren't going to require the newest versions frivolously, but when there is a language feature or a stdlib utility we want to adopt, we will do so once it becomes stable.

    Duration

    Currently, std::time::Duration has fewer utility methods. If you want to operate with the values returned by get_elapsed_time etc. you will have to either do it yourself or convert it to time::Duration if you want that dependency.

    Keyboard handling

    The previous keyboard handling didn't allow handling of certain special characters and we had to change the layout of the tcod::input::Key struct to fix it.

    In general, you'll need to modify your keyboard handling from:

    match keypress.key {
        Special(Enter) if keypress.left_alt => { // fullscreen }
        Special(Escape) => { // exit game }
        Key::Printable('>') => { // descend }
    }
    

    to:

    match keypress {
        Key { code: Enter, alt: true, .. } => { // fullscreen }
        Key { code: Escape, .. } => { // exit game }
        Key { printable: '>', .. } => { // descend }
    }
    

    See issue #184 and implementation #187.

    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Jun 15, 2015)

    • Functions taking a filesystem path now accept &str, Path and String
    • Added funcitons for drawing rectangles, horizontal and vertical lines, window frame and getting hight of wrapped text
    • Added support for ASCII literals (b'c' and b"hello")
    • Support for non-ASCII values in strings
    • Transparetly dispatch between ASCII and _utf variants of the libtcod printing functions
    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(May 5, 2015)

    • Rust beta compatible
    • Switched to builder pattern for root console initialisation
    • Additional printing functions
    • Printing macros
    • Fixed issue with projects that have space in their path
    • Improved documentation
    • Switched to uppercase for the exported Colours (in line with Rust's naming style for constants)
    • Split code into multiple modules
    • Added AsNative and FromNative traits for converting between safe wrappers and the original FFI variants
    Source code(tar.gz)
    Source code(zip)
  • v0.5.5(Apr 4, 2015)

  • v0.5.4(Apr 2, 2015)

  • v0.5.2(Mar 25, 2015)

  • v0.5.1(Mar 22, 2015)

    • Updates to latest Rustc
    • Remove features that have been stabilised
    • Switch to the new Path & IO APIs
    • Added check_for_events
    • Added support for special characters
    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Feb 20, 2015)

    • Removed lifetime parameters for our path-finding structs

    • Implemented most Color methods:

      • RGB and HSV constructors
      • multiply, multiply scalar, add, subtract, lerp,
      • shift hue / scale hsv
    • Filled in most of the missing methods for Console get/set pairs:

      • get/set alignment
      • get char background/foreground
      • get/set background flag
      • get/set char
      • set char foreground

      - print

    • Added a few more static Console functions:

      • is_fullscreen / set_fullscreen
      • get/set fade
      • disable_keyboard_repeat
      • is_active
    Source code(tar.gz)
    Source code(zip)
  • v0.4.7(Feb 6, 2015)

    Changes:

    • Use the #![feature()] way of opting into unstable stuff
    • Rename Show to Debug, path to old_path
    • Use the .. syntax for ranges
    • Moved rand from examples to the external crate
    Source code(tar.gz)
    Source code(zip)
  • v0.4.6(Jan 29, 2015)

  • v0.4.5(Jan 24, 2015)

  • v0.4.4(Jan 20, 2015)

  • v0.4.3(Jan 18, 2015)

    • Updated to a newer version of Rust: bitflags! moved from Rust to its own crate
    • Added example showing off the mouse interface
    • Moved mouse-specific functions to a separate module
    Source code(tar.gz)
    Source code(zip)
  • v0.4.2(Jan 14, 2015)

  • v0.4.1(Jan 14, 2015)

  • v0.4.0(Jan 14, 2015)

    • Added mouse support (mouse_show_cursor(), mouse_is_cursor_visible(), mouse_move() and sys_check_for_event())
    • Converted from using isize to i32 to conform with Rust best practices
    Source code(tar.gz)
    Source code(zip)
  • v0.3.3(Jan 14, 2015)

    Upgrade to a new version of Rust

    • Convert all int and uint values to the new isize and usize types
    • Use Box::new(value) instead of box value
    Source code(tar.gz)
    Source code(zip)
  • v0.3.2(Jan 14, 2015)

    Upgrade to a new version of Rust

    • Converts c_string conversions to use the new CString::from_slice method
    • Removes feature gates which became redundant
    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Jan 14, 2015)

Owner
Tomas Sedovic
Hobyist gamedev. Feel free to ping me on Freenode or Mozilla's IRC. I'm `shadower` on both.
Tomas Sedovic
Roguelike Game in Rust using macroquad.rs

Roguelike Game in Rust using macroquad.rs Introduction Welcome to our roguelike game developed in Rust! This project aims to provide an engaging gamin

Andrea Pollini 11 Aug 1, 2023
POC for a Roguelike UI/Window Manager

Minimal POC for a Roguelike UI Manager This repo is a proof of concept for a roguelike UI and a generally expandable template for a rogue/df-like. Use

null 3 Oct 16, 2023
Renderer-agnostic toolkit for Indie Game Developers

Indie Toolkit Renderer-agnostic toolkit for Indie Game Developers Features Not yet implemented: app_kit debug_kit input_kit asset_kit audio_kit Implem

null 2 May 25, 2022
koe's Bevy toolkit

Koe's Bevy toolkit A collection of tools. Contents UI Interactive element builder for [bevy_lunex], with a robust backend for handling arbitrary inter

null 4 Oct 12, 2023
A Rust wrapper and bindings of Allegro 5 game programming library

RustAllegro A thin Rust wrapper of Allegro 5. Game loop example extern crate allegro; extern crate allegro_font; use allegro::*; use allegro_font::*;

null 80 Dec 31, 2022
Rust bindings for GDNative

GDNative bindings for Rust Rust bindings to the Godot game engine. Website | User Guide | API Documentation Stability The bindings cover most of the e

null 3.2k Jan 9, 2023
SDL bindings for Rust

Rust-SDL Bindings for SDL in Rust Overview Rust-SDL is a library for talking to SDL from Rust. Low-level C components are wrapped in Rust code to make

Brian Anderson 174 Nov 22, 2022
SDL2 bindings for Rust

Rust-SDL2 Bindings for SDL2 in Rust Changelog for 0.34.2 Overview Rust-SDL2 is a library for talking to the new SDL2.0 libraries from Rust. Low-level

null 2.2k Jan 5, 2023
SFML bindings for Rust

rust-sfml Rust bindings for SFML, the Simple and Fast Multimedia Library. Requirements Linux, Windows, or OS X Rust 1.42 or later SFML 2.5 CSFML 2.5 D

Jeremy Letang 567 Jan 7, 2023
Some Rust bindings for Binary Ninja

Binary Ninja Rust Bindings Work in progress Rust bindings geared towards analysis. Features added as they come up. No promises anything works at this

Cory Duplantis 21 May 5, 2022
Qt Quick / QML bindings for Rust

qmlrsng Qt Quick bindings for Rust, based on libqmlbind. The crate libqmlbind-sys wraps libqmlbind C library in Rust and exposes an unsafe API. The go

Nicolas Bigaouette 5 Jul 13, 2017
Idiomatic Rust bindings for Pdfium

Idiomatic Rust bindings for Pdfium pdfium-render provides an idiomatic high-level Rust interface around the low-level bindings to Pdfium exposed by th

Alastair Carey 65 Jan 8, 2023
Wein2D.js bindings for creating browser games in Rust using WebAssembly.

Wein2D.js-WASM Wein2D.js bindings for creating browser games in Rust using WebAssembly. Wein2D.js-WASM requires Wein2d.js to be loaded in the same doc

DevTaube 1 Apr 14, 2022
A simple Verlet integration solver written using the Rust SDL2 bindings.

Rust Verlet Solver A simple Verlet integration solver written using the Rust SDL2 bindings. Where's the friction?! Building cargo-vcpkg is required in

Will 8 Jun 6, 2022
MMDeploy bindings for Rust.

rust-mmdeploy-sys MMDeploy bindings for Rust. ?? THIS REPO IS STILL UNDER CONSTRUCTION! Prerequisites NOTICE: Linux only. Onnxruntime only. In order t

梦阳 2 Sep 29, 2022
Rust bindings for googleprojectzero/TinyInst

tinyinst-rs FFI to TinyInst. Created for LibAFL. Dependencies cxxbridge cargo-make python3 git Running the test Open a terminal and set up your build

Advanced Fuzzing League ++ 12 Jan 20, 2023
Rust bindings for entity-gym.

EntityGym for Rust EntityGym is a Python library that defines a novel entity-based abstraction for reinforcement learning environments which enables h

null 18 Apr 15, 2023
A simple Verlet integration solver written using the Rust SDL2 bindings.

Rust Verlet Solver A simple Verlet integration solver written using the Rust SDL2 bindings. Where's the friction?! Building cargo-vcpkg is required in

Will 8 Jun 6, 2022
corange-rs CorangeCorange lucidscape/corange-rs — Corange bindings

CORANGE-RS This crate provides an interface to the Corange game engine, written in Pure C, SDL and OpenGL by Daniel Holden. Features include: deferred

null 43 Jul 22, 2022