rust/lib-hedgewars-engine/src/lib.rs
changeset 14373 4409344db447
parent 14370 ef2fc0210362
child 14702 29dbe9ce8b7d
equal deleted inserted replaced
14372:b6824a53d4b1 14373:4409344db447
    40 pub extern "C" fn generate_preview(engine_state: &mut EngineInstance, preview: &mut PreviewInfo) {
    40 pub extern "C" fn generate_preview(engine_state: &mut EngineInstance, preview: &mut PreviewInfo) {
    41     (*engine_state).process_ipc_queue();
    41     (*engine_state).process_ipc_queue();
    42 
    42 
    43     (*engine_state).world.generate_preview();
    43     (*engine_state).world.generate_preview();
    44 
    44 
    45     let land_preview = (*engine_state).world.preview();
    45     if let Some(land_preview) = (*engine_state).world.preview() {
       
    46         *preview = PreviewInfo {
       
    47             width: land_preview.width() as u32,
       
    48             height: land_preview.height() as u32,
       
    49             hedgehogs_number: 0,
       
    50             land: land_preview.raw_pixels().as_ptr(),
       
    51         };
       
    52     }
       
    53 }
    46 
    54 
    47     *preview = PreviewInfo {
    55 #[no_mangle]
    48         width: land_preview.width() as u32,
    56 pub extern "C" fn dispose_preview(engine_state: &mut EngineInstance, preview: &mut PreviewInfo) {
    49         height: land_preview.height() as u32,
    57     (*engine_state).world.dispose_preview();
    50         hedgehogs_number: 0,
       
    51         land: land_preview.raw_pixels().as_ptr(),
       
    52     };
       
    53 }
    58 }
    54 
    59 
    55 #[no_mangle]
    60 #[no_mangle]
    56 pub extern "C" fn send_ipc(engine_state: &mut EngineInstance, buf: *const u8, size: usize) {
    61 pub extern "C" fn send_ipc(engine_state: &mut EngineInstance, buf: *const u8, size: usize) {
    57     unsafe {
    62     unsafe {