21 pub extern "C" fn land_get(game_field: &mut GameField, x: i32, y: i32) -> u16 { |
21 pub extern "C" fn land_get(game_field: &mut GameField, x: i32, y: i32) -> u16 { |
22 game_field.collision.map(y, x, |p| *p) |
22 game_field.collision.map(y, x, |p| *p) |
23 } |
23 } |
24 |
24 |
25 #[no_mangle] |
25 #[no_mangle] |
|
26 pub extern "C" fn land_set(game_field: &mut GameField, x: i32, y: i32, value: u16) { |
|
27 game_field.collision.map(y, x, |p| *p = value); |
|
28 } |
|
29 |
|
30 #[no_mangle] |
|
31 pub extern "C" fn land_row(game_field: &mut GameField, row: i32) -> *mut u16 { |
|
32 game_field.collision[row as usize].as_mut_ptr() |
|
33 } |
|
34 |
|
35 #[no_mangle] |
26 pub extern "C" fn land_fill( |
36 pub extern "C" fn land_fill( |
27 game_field: &mut GameField, |
37 game_field: &mut GameField, |
28 x: i32, |
38 x: i32, |
29 y: i32, |
39 y: i32, |
30 border_value: u16, |
40 border_value: u16, |
34 .collision |
44 .collision |
35 .fill(Point::new(x, y), border_value, fill_value) |
45 .fill(Point::new(x, y), border_value, fill_value) |
36 } |
46 } |
37 |
47 |
38 #[no_mangle] |
48 #[no_mangle] |
39 pub extern "C" fn land_set(game_field: &mut GameField, x: i32, y: i32, value: u16) { |
|
40 game_field.collision.map(y, x, |p| *p = value); |
|
41 } |
|
42 |
|
43 #[no_mangle] |
|
44 pub extern "C" fn land_pixel_get(game_field: &mut GameField, x: i32, y: i32) -> u32 { |
49 pub extern "C" fn land_pixel_get(game_field: &mut GameField, x: i32, y: i32) -> u32 { |
45 game_field.pixels.map(y, x, |p| *p) |
50 game_field.pixels.map(y, x, |p| *p) |
46 } |
51 } |
47 |
52 |
48 #[no_mangle] |
53 #[no_mangle] |
49 pub extern "C" fn land_pixel_set(game_field: &mut GameField, x: i32, y: i32, value: u32) { |
54 pub extern "C" fn land_pixel_set(game_field: &mut GameField, x: i32, y: i32, value: u32) { |
50 game_field.pixels.map(y, x, |p| *p = value); |
55 game_field.pixels.map(y, x, |p| *p = value); |
51 } |
56 } |
52 |
57 |
53 #[no_mangle] |
58 #[no_mangle] |
|
59 pub extern "C" fn land_pixel_row(game_field: &mut GameField, row: i32) -> *mut u32 { |
|
60 game_field.pixels[row as usize].as_mut_ptr() |
|
61 } |
|
62 |
|
63 #[no_mangle] |
54 pub extern "C" fn dispose_game_field(game_field: *mut GameField) { |
64 pub extern "C" fn dispose_game_field(game_field: *mut GameField) { |
55 unsafe { drop(Box::from_raw(game_field)) }; |
65 unsafe { drop(Box::from_raw(game_field)) }; |
56 } |
66 } |