rust/hedgewars-engine/src/main.rs
author S.D.
Tue, 06 Sep 2022 22:08:27 +0300
branch1.0.0
changeset 15853 fcea0f51d94f
parent 14166 7d3b94cdc3c4
child 15802 d5c37e78ab83
permissions -rw-r--r--
Fix the sound issues and crashes on some platforms This commit updates misc/libphyslayer/physfsrwops.* files to the latest versions provided by PhysFS project (https://github.com/icculus/physfs/tree/main/extras/).

extern crate libloading;

use libloading::{Library, Symbol};
use std::ops::Deref;

struct EngineInstance {}

struct Engine<'a> {
    protocol_version: Symbol<'a, unsafe fn() -> u32>,
    start_engine: Symbol<'a, unsafe fn() -> *mut EngineInstance>,
    cleanup: Symbol<'a, unsafe fn(engine_state: *mut EngineInstance)>,
}

fn main() {
    let hwlib = Library::new("libhedgewars_engine.so").unwrap();

    unsafe {
        let engine = Engine {
            protocol_version: hwlib.get(b"protocol_version").unwrap(),
            start_engine: hwlib.get(b"start_engine").unwrap(),
            cleanup: hwlib.get(b"cleanup").unwrap(),
        };

        println!("Hedgewars engine, protocol version {}", engine.protocol_version.deref()());
    }
}