diff --git a/client/graphics/src/context.rs b/client/graphics/src/context.rs index 0938bbf5..3ec4cd2a 100644 --- a/client/graphics/src/context.rs +++ b/client/graphics/src/context.rs @@ -8,8 +8,8 @@ use rask_wasm_shared::sprite::Frame; lazy_static! { pub static ref RESOURCE_TABLE: ResourceTable = unsafe { - let mut table = ResourceTable::new(mem::RESOURCE_TABLE, mem::RESOURCE_TABLE_ELEMENT_COUNT); - table.init(); + let mut table = ResourceTable::from_memory(mem::RESOURCE_TABLE, mem::RESOURCE_TABLE_ELEMENT_COUNT); + table.clear(); table }; } diff --git a/client/logic/src/game_context.rs b/client/logic/src/game_context.rs index 8b011964..154b3f26 100644 --- a/client/logic/src/game_context.rs +++ b/client/logic/src/game_context.rs @@ -21,7 +21,7 @@ impl GameContext { state: State::default(), tick_nr: 0, resource_table: unsafe { - ResourceTable::new(RESOURCE_TABLE, RESOURCE_TABLE_ELEMENT_COUNT) + ResourceTable::from_memory(RESOURCE_TABLE, RESOURCE_TABLE_ELEMENT_COUNT) }, }) } diff --git a/client/shared/src/double_buffer.rs b/client/shared/src/double_buffer.rs index f3425b15..bf767c19 100644 --- a/client/shared/src/double_buffer.rs +++ b/client/shared/src/double_buffer.rs @@ -72,26 +72,18 @@ impl DoubleBuffer { } } - #[allow(unused_attributes)] - #[inline(always)] pub extern "C" fn set_reading_at(&mut self, reading_at: Flag) { unsafe { mem::atomic_write_u8(&mut self.reading_at, reading_at) } } - #[allow(unused_attributes)] - #[inline(always)] pub extern "C" fn get_reading_at(&self) -> Flag { unsafe { mem::atomic_read_u8(&self.reading_at) } } - #[allow(unused_attributes)] - #[inline(always)] pub extern "C" fn set_provided(&mut self, provided: Flag) { unsafe { mem::atomic_write_u8(&mut self.provided, provided) } } - #[allow(unused_attributes)] - #[inline(always)] pub extern "C" fn get_provided(&self) -> Flag { unsafe { mem::atomic_read_u8(&self.provided) } } diff --git a/client/shared/src/mem.rs b/client/shared/src/mem.rs index a9878912..2f7891ae 100644 --- a/client/shared/src/mem.rs +++ b/client/shared/src/mem.rs @@ -50,8 +50,7 @@ pub const MESSAGE_QUEUE: usize = 0; #[from_env] pub const MESSAGE_QUEUE_SIZE: usize = 0; pub const MESSAGE_QUEUE_ELEMENT_COUNT: usize = (MESSAGE_QUEUE_SIZE as i64 - - size_of::>>() as i64) - as usize + - size_of::>() as i64) as usize / size_of::>(); #[from_env] @@ -89,7 +88,6 @@ impl SynchronizationMemory { } #[repr(align(4))] -#[derive(Clone)] struct MessageQueueElement { reading: u8, writing: u8, @@ -127,7 +125,7 @@ pub struct MessageQueue { impl MessageQueue { pub fn length() -> usize { - MESSAGE_QUEUE + MESSAGE_QUEUE_ELEMENT_COUNT } fn mem_size() -> usize { diff --git a/rask-engine/src/resources/library.rs b/rask-engine/src/resources/library.rs index 5b1c9054..1a64615b 100644 --- a/rask-engine/src/resources/library.rs +++ b/rask-engine/src/resources/library.rs @@ -43,14 +43,14 @@ impl ResourceTable { /// # Safety /// /// The function is safe as long as the memory from memory_offset to memory_offset + CATALOG_SIZE * sizeof(Resource) - pub unsafe fn new(memory_offset: usize, catalog_size: usize) -> Self { + pub unsafe fn from_memory(memory_offset: usize, catalog_size: usize) -> Self { ResourceTable(core::slice::from_raw_parts_mut( memory_offset as *mut Resource, catalog_size, )) } - pub unsafe fn init(&mut self) { + pub fn clear(&mut self) { for i in 0..self.0.len() { self.0[i] = Resource::None; } diff --git a/rask-engine/src/resources/mod.rs b/rask-engine/src/resources/mod.rs index 72ec8a1a..a6454f7f 100644 --- a/rask-engine/src/resources/mod.rs +++ b/rask-engine/src/resources/mod.rs @@ -8,7 +8,7 @@ use lazy_static::lazy_static; # use rask_engine::resources::*; lazy_static! { - static ref TABLE: ResourceTable = unsafe { ResourceTable::new(0, 0) }; + static ref TABLE: ResourceTable = unsafe { ResourceTable::from_memory(0, 0) }; } fn test() {