diff --git a/.idea/Rust-for-Arduboy.iml b/.idea/Rust-for-Arduboy.iml
index 0d58e43..127d46b 100644
--- a/.idea/Rust-for-Arduboy.iml
+++ b/.idea/Rust-for-Arduboy.iml
@@ -20,6 +20,12 @@
#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_()
#[no_mangle]
+pub unsafe extern "C" fn setup()
#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_()
#[no_mangle]
+pub unsafe extern "C" fn setup()
#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_()
#[no_mangle]
+pub unsafe extern "C" fn setup()
#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_()
#[no_mangle]
+pub unsafe extern "C" fn setup()
#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_()
#[no_mangle]
+pub unsafe extern "C" fn setup()
#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_()
#[no_mangle]
+pub unsafe extern "C" fn setup()
#[no_mangle]
+loop_ in game - Rust
\ No newline at end of file
diff --git a/docs/doc/game/fn.setup.html b/docs/doc/game/fn.setup.html
index 154cba9..d271fd9 100644
--- a/docs/doc/game/fn.setup.html
+++ b/docs/doc/game/fn.setup.html
@@ -1,2 +1,2 @@
-setup in game - Rust #[no_mangle]
+setup in game - Rust
\ No newline at end of file
diff --git a/docs/doc/game/index.html b/docs/doc/game/index.html
index e0206fc..f13eb0e 100644
--- a/docs/doc/game/index.html
+++ b/docs/doc/game/index.html
@@ -1 +1 @@
-game - Rust
\ No newline at end of file
+game - Rust
\ No newline at end of file
diff --git a/docs/doc/help.html b/docs/doc/help.html
index 7663d07..97addff 100644
--- a/docs/doc/help.html
+++ b/docs/doc/help.html
@@ -1 +1 @@
-Rustdoc help Rustdoc help
Back
\ No newline at end of file
+Rustdoc help Rustdoc help
Back
\ No newline at end of file
diff --git a/docs/doc/search-index.js b/docs/doc/search-index.js
index 859056d..adc517b 100644
--- a/docs/doc/search-index.js
+++ b/docs/doc/search-index.js
@@ -14,6 +14,12 @@ var searchIndex = JSON.parse('{\
"drboy":{"doc":"","t":"DNENDNDNNMMRMMMMLLLLLLLLLMHHHLLLLLLLMMMMLLLLMMFLHHHHHHMMMMMHFRMMHLLLLLLLLLLLLLH","n":["Enemy","GameLoop","GameMode","Losescreen","Player","Reset","Scoreboard","Scoreboard","Titlescreen","active","active","arduboy","bitmap","bitmap","bitmap_frame","bitmap_frame","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_score","counter","eeprom","enemies","enemy_count","fmt","fmt","fmt","from","from","from","from","gamemode","gameover_height","immortal","immortal_frame_count","into","into","into","into","level","live","loop_","move_down","overlay_1heart","overlay_2hearts","overlay_3hearts","overlay_score","p","player","player1","player2","player3","rect","rect","scorebord","setup","sound","speed","speed_change","titlescreen","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_score","vec_enemies"],"q":[[0,"drboy"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,8,0,8,0,8,0,8,8,4,7,0,4,7,4,7,1,4,7,8,1,4,7,8,1,7,0,0,0,4,7,8,1,4,7,8,7,7,7,7,1,4,7,8,7,7,0,4,0,0,0,0,0,0,1,1,1,4,7,0,0,0,7,7,0,1,4,7,8,1,4,7,8,1,4,7,8,1,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[1,2],3],0,0,0,0,[[4,5],6],[[7,5],6],[[8,5],6],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],0,0,[[]],[4],0,0,0,0,0,0,0,0,0,0,0,0,[[]],0,0,0,0,[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[],10],[[],10],[[1,2,11]],0],"c":[],"p":[[3,"Scoreboard"],[15,"u16"],[15,"u8"],[3,"Enemy"],[3,"Formatter"],[6,"Result"],[3,"Player"],[4,"GameMode"],[4,"Result"],[3,"TypeId"],[3,"EEPROM"]]},\
"eeprom":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"eeprom"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
"eeprom_byte":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"eeprom_byte"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
+"fxbasicexample":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"fxbasicexample"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
+"fxchompies":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"fxchompies"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
+"fxdrawballs":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"fxdrawballs"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
+"fxdrawframes":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"fxdrawframes"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
+"fxhelloworld":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"fxhelloworld"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
+"fxloadgamestate":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"fxloadgamestate"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
"game":{"doc":"","t":"FF","n":["loop_","setup"],"q":[[0,"game"]],"d":["",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\
"hash32":{"doc":"32-bit hashing machinery","t":"IDDIIQDLLLLLLKLLLLLLKLLLLLLKLLLLLLLLLLLLLLKLL","n":["BuildHasher","BuildHasherDefault","FnvHasher","Hash","Hasher","Hasher","Murmur3Hasher","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","build_hasher","build_hasher","clone","default","default","default","eq","finish","finish","finish","fmt","from","from","from","hash","hash_slice","into","into","into","new","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","write","write","write"],"q":[[0,"hash32"]],"d":["See core::hash::BuildHasher
for details","See core::hash::BuildHasherDefault
for details","32-bit Fowler-Noll-Vo hasher","See core::hash::Hash
for details","See core::hash::Hasher
for details","See core::hash::BuildHasher::Hasher
","32-bit MurmurHash3 hasher","","","","","","","See core::hash::BuildHasher.build_hasher
","","","","","","","See core::hash::Hasher.finish
","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Feeds this value into the given Hasher
.","Feeds a slice of this type into the given Hasher
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","const
constructor","","","","","","","","","","See core::hash::Hasher.write
","",""],"i":[0,0,0,0,0,15,0,4,5,3,4,5,3,15,3,3,4,5,3,3,2,4,5,3,4,5,3,16,16,4,5,3,3,4,5,3,4,5,3,4,5,3,2,4,5],"f":[0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[3,[[0,[1,2]]]]]],[[[3,[[0,[1,2]]]]],[[3,[[0,[1,2]]]]]],[[],4],[[],5],[[],[[3,[[0,[1,2]]]]]],[[[3,[[0,[1,2]]]],[3,[[0,[1,2]]]]],6],[[],7],[4,7],[5,7],[[[3,[[0,[1,2]]]],8],9],[[]],[[]],[[]],[2],[[[11,[10]],2]],[[]],[[]],[[]],[[],3],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],13],[[],13],[[],13],[[[11,[14]]]],[[4,[11,[14]]]],[[5,[11,[14]]]]],"c":[],"p":[[8,"Default"],[8,"Hasher"],[3,"BuildHasherDefault"],[3,"FnvHasher"],[3,"Murmur3Hasher"],[15,"bool"],[15,"u32"],[3,"Formatter"],[6,"Result"],[8,"Sized"],[15,"slice"],[4,"Result"],[3,"TypeId"],[15,"u8"],[8,"BuildHasher"],[8,"Hash"]]},\
"heapless":{"doc":"static
friendly data structures that don’t require …","t":"CCDEGGDDDDNDDCDNDDLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDIEEDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDIDDDDDDDILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["BinaryHeap","Bucket","Deque","Entry","FnvIndexMap","FnvIndexSet","HistoryBuffer","IndexMap","IndexSet","LinearMap","Occupied","OccupiedEntry","OldestOrdered","Pos","String","Vacant","VacantEntry","Vec","as_mut","as_mut","as_mut_ptr","as_mut_slices","as_mut_str","as_mut_vec","as_ptr","as_ref","as_ref","as_ref","as_ref","as_ref","as_slice","as_slice","as_slices","as_str","back","back_mut","binary_heap","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","capacity","capacity","capacity","capacity","capacity","capacity","capacity","clear","clear","clear","clear","clear","clear","clear","clear_with","clone","clone","clone","clone","clone","clone","clone","cmp","cmp","contains","contains_key","contains_key","default","default","default","default","default","default","default","deref","deref","deref","deref_mut","deref_mut","difference","drop","drop","drop","drop","ends_with","entry","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend_from_slice","extend_from_slice","first","first","first_mut","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_slice","from_str","front","front_mut","get","get","get","get_mut","get_mut","get_mut","hash","hash","hash","hash","index","index","index_mut","index_mut","insert","insert","insert","insert","insert","insert","intersection","into","into","into","into","into","into","into","into","into","into","into","into_array","into_bytes","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_key","into_mut","is_disjoint","is_empty","is_empty","is_empty","is_empty","is_empty","is_full","is_full","is_subset","is_superset","iter","iter","iter","iter","iter_mut","iter_mut","iter_mut","key","key","keys","keys","last","last","last_mut","len","len","len","len","len","ne","ne","ne","new","new","new","new","new","new","new","new_with","next","oldest_ordered","partial_cmp","partial_cmp","pop","pop","pop_back","pop_back_unchecked","pop_front","pop_front_unchecked","pop_unchecked","push","push","push_back","push_back_unchecked","push_front","push_front_unchecked","push_str","push_unchecked","recent","remove","remove","remove","remove","remove","remove_entry","resize","resize_default","retain","retain_mut","set_len","sorted_linked_list","starts_with","swap_remove","swap_remove","swap_remove_unchecked","symmetric_difference","truncate","truncate","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","values","values","values_mut","values_mut","write","write_char","write_str","write_str","BinaryHeap","Kind","Max","Min","PeekMut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","capacity","clear","clone","default","deref","deref_mut","drop","fmt","from","from","from","from","into","into","into","into","into_iter","into_vec","is_empty","iter","iter_mut","len","new","peek","peek_mut","pop","pop","pop_unchecked","push","push_unchecked","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","FindMut","Iter","Kind","LinkedIndexU16","LinkedIndexU8","LinkedIndexUsize","Max","Min","Node","SortedLinkedList","SortedLinkedListIndex","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","cmp","cmp","cmp","deref","deref_mut","drop","drop","eq","eq","eq","find_mut","finish","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into_iter","is_empty","is_full","iter","new_u16","new_u8","new_usize","next","partial_cmp","partial_cmp","partial_cmp","peek","pop","pop","pop_unchecked","push","push_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id"],"q":[[0,"heapless"],[340,"heapless::binary_heap"],[395,"heapless::sorted_linked_list"]],"d":["","","A fixed capacity double-ended queue.","A view into an entry in the map","A heapless::IndexMap
using the default FNV hasher","A heapless::IndexSet
using the default FNV hasher. A list …","A “history buffer”, similar to a write-only ring …","Fixed capacity IndexMap
","Fixed capacity IndexSet
.","A fixed capacity map / dictionary that performs lookups …","The entry corresponding to the key K
exists in the map","An occupied entry which can be manipulated","An iterator on the underlying buffer ordered from oldest …","","A fixed capacity String
","The entry corresponding to the key K
does not exist in the …","A view into an empty slot in the underlying map","A fixed capacity Vec
","","","Returns a raw pointer to the vector’s buffer, which may …","Returns a pair of mutable slices which contain, in order, …","Converts a String
into a mutable string slice.","Returns a mutable reference to the contents of this String
.","Returns a raw pointer to the vector’s buffer.","","","","","","Returns the array slice backing the buffer, without …","Extracts a slice containing the entire vector.","Returns a pair of slices which contain, in order, the …","Extracts a string slice containing the entire string.","Provides a reference to the back element, or None if the …","Provides a mutable reference to the back element, or None …","A priority queue implemented with a binary heap.","","","","","","","","","","","","","","","","","","","","","","","Returns the maximum number of elements the deque can hold.","Returns the capacity of the buffer, which is the length of …","Returns the number of elements the map can hold","Returns the number of elements the set can hold","Returns the number of elements that the map can hold","Returns the maximum number of elements the String can hold","Returns the maximum number of elements the vector can hold.","Clears the deque, removing all values.","Clears the buffer, replacing every element with the …","Remove all key-value pairs in the map, while preserving …","Clears the set, removing all values.","Clears the map, removing all key-value pairs","Truncates this String
, removing all contents.","Clears the vector, removing all values.","Clears the buffer, replacing every element with the given …","","","","","","","","","","Returns true
if the set contains a value.","Returns true if the map contains a value for the specified …","Returns true if the map contains a value for the specified …","","","","","","","","","","","","","Visits the values representing the difference, i.e. the …","","","","","Returns true
if needle
is a suffix of the Vec.","Returns an entry for the corresponding key","","","","","","","","","","","","","","","","","","","Extends the vec from an iterator.","","","Clones and writes all elements in a slice to the buffer.","Clones and appends all elements in a slice to the Vec
.","Get the first key-value pair","Get the first value","Get the first key-value pair, with mutable access to the …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Constructs a new vector with a fixed capacity of N
and …","","Provides a reference to the front element, or None if the …","Provides a mutable reference to the front element, or None …","Gets a reference to the value associated with this entry","Returns a reference to the value corresponding to the key.","Returns a reference to the value corresponding to the key","Gets a mutable reference to the value associated with this …","Returns a mutable reference to the value corresponding to …","Returns a mutable reference to the value corresponding to …","","","","","","","","","Overwrites the underlying map’s value with this entry’…","Inserts this entry into to underlying map, yields a …","Inserts a key-value pair into the map.","Adds a value to the set.","Inserts a key-value pair into the map.","Inserts an element at position index
within the vector, …","Visits the values representing the intersection, i.e. the …","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Returns the contents of the vector as an array of length M
…","Converts a String
into a byte vector.","","","","","","","","","","","","","Consumes this entry to yield to key associated with it","Consumes this entry and yields a reference to the …","Returns true
if self
has no elements in common with other
. …","Returns whether the deque is empty.","Returns true if the map contains no elements.","Returns true
if the set contains no elements.","Returns true if the map contains no elements","Returns true if the vec is empty","Returns whether the deque is full (i.e. if …","Returns true if the vec is full","Returns true
if the set is a subset of another, i.e. other
…","Examples","Returns an iterator over the deque.","Return an iterator over the key-value pairs of the map, in …","Return an iterator over the values of the set, in their …","An iterator visiting all key-value pairs in arbitrary …","Returns an iterator that allows modifying each value.","Return an iterator over the key-value pairs of the map, in …","An iterator visiting all key-value pairs in arbitrary …","Gets a reference to the key that this entity corresponds to","Get the key associated with this entry","Return an iterator over the keys of the map, in their order","An iterator visiting all keys in arbitrary order","Get the last key-value pair","Get the last value","Get the last key-value pair, with mutable access to the …","Returns the number of elements currently in the deque.","Returns the current fill level of the buffer.","Return the number of key-value pairs in the map.","Returns the number of elements in the set.","Returns the number of elements in this map","","","","Constructs a new, empty deque with a fixed capacity of N
","Constructs a new history buffer.","Creates an empty IndexMap
.","Creates an empty IndexSet
","Creates an empty LinearMap
","Constructs a new, empty String
with a fixed capacity of N
…","Constructs a new, empty vector with a fixed capacity of N
","Constructs a new history buffer, where every element is …","","Returns an iterator for iterating over the buffer from …","","","Removes the last character from the string buffer and …","Removes the last element from a vector and returns it, or …","Removes the item from the back of the deque and returns …","Removes an item from the back of the deque and returns it, …","Removes the item from the front of the deque and returns …","Removes an item from the front of the deque and returns …","Removes the last element from a vector and returns it","Appends the given char
to the end of this String
.","Appends an item
to the back of the collection","Appends an item
to the back of the deque","Appends an item
to the back of the deque","Appends an item
to the front of the deque","Appends an item
to the front of the deque","Appends a given string slice onto the end of this String
.","Appends an item
to the back of the collection","Returns a reference to the most recently written value.","Removes this entry from the map and yields its value","Same as swap_remove
","Removes a value from the set. Returns true
if the value …","Removes a key from the map, returning the value at the key …","Removes and returns the element at position index
within …","Removes this entry from the map and yields its …","Resizes the Vec in-place so that len is equal to new_len.","Resizes the Vec
in-place so that len
is equal to new_len
.","Retains only the elements specified by the predicate.","Retains only the elements specified by the predicate, …","Forces the length of the vector to new_len
.","A fixed sorted priority linked list, similar to BinaryHeap
…","Returns true
if needle
is a prefix of the Vec.","Remove the key-value pair equivalent to key
and return its …","Removes an element from the vector and returns it.","Removes an element from the vector and returns it.","Visits the values representing the symmetric difference, …","Shortens this String
to the specified length.","Shortens the vector, keeping the first len
elements and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Visits the values representing the union, i.e. all the …","Return an iterator over the values of the map, in their …","An iterator visiting all values in arbitrary order","Return an iterator over mutable references to the the …","An iterator visiting all values mutably in arbitrary order","Writes an element to the buffer, overwriting the oldest …","","","","A priority queue implemented with a binary heap.","The binary heap kind: min-heap or max-heap","Max-heap","Min-heap","Structure wrapping a mutable reference to the greatest …","","","","","","","","","Returns the capacity of the binary heap.","Drops all items from the binary heap.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","Returns the underlying Vec<T,N>
. Order is arbitrary and …","Checks if the binary heap is empty.","Returns an iterator visiting all values in the underlying …","Returns a mutable iterator visiting all values in the …","Returns the length of the binary heap.","Creates an empty BinaryHeap as a $K-heap.","Returns the top (greatest if max-heap, smallest if …","Returns a mutable reference to the greatest item in the …","Removes the top (greatest if max-heap, smallest if …","Removes the peeked value from the heap and returns it.","Removes the top (greatest if max-heap, smallest if …","Pushes an item onto the binary heap.","Pushes an item onto the binary heap without first checking …","","","","","","","","","","","","","Comes from SortedLinkedList::find_mut
.","Iterator for the linked list.","The linked list kind: min-list or max-list","Index for the SortedLinkedList
with specific backing …","Index for the SortedLinkedList
with specific backing …","Index for the SortedLinkedList
with specific backing …","Marker for Max sorted SortedLinkedList
.","Marker for Min sorted SortedLinkedList
.","A node in the SortedLinkedList
.","The linked list.","Trait for defining an index for the linked list, never …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Find an element in the list that can be changed and …","This will resort the element into the correct position in …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","Checks if the linked list is empty.","Checks if the linked list is full.","Get an iterator over the sorted list.","Create a new linked list.","Create a new linked list.","Create a new linked list.","","","","","Peek at the first element.","Pops the first element in the list.","This will pop the element from the list.","Pop an element from the list without checking so the list …","Pushes an element to the linked list and sorts it into …","Pushes a value onto the list without checking if the list …","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,26,0,0,1,1,1,3,4,4,1,7,4,4,1,1,7,1,3,4,3,3,0,3,7,26,40,44,13,14,15,4,1,18,3,7,26,40,44,13,14,15,4,1,18,3,7,13,14,15,4,1,3,7,13,14,15,4,1,7,3,13,14,15,4,1,18,4,1,14,13,15,3,7,13,14,15,4,1,7,4,1,4,1,14,3,7,15,1,1,13,13,14,15,4,4,4,1,1,1,1,1,1,7,7,13,13,14,14,1,1,1,7,1,13,14,13,3,7,13,14,15,4,4,1,3,7,26,40,44,13,14,15,4,4,4,4,4,4,4,4,4,4,1,18,13,14,15,4,4,4,1,1,4,3,3,40,13,15,40,13,15,4,4,1,1,13,15,13,15,40,44,13,14,15,1,14,3,7,26,40,44,13,14,15,4,1,18,1,4,3,3,3,13,13,13,14,15,1,1,1,18,44,40,14,3,13,14,15,1,3,1,14,14,3,13,14,15,3,13,15,40,44,13,15,13,14,13,3,7,13,14,15,4,4,4,3,7,13,14,15,4,1,7,18,7,4,1,4,1,3,3,3,3,1,4,1,3,3,3,3,4,1,7,40,13,14,15,1,40,1,1,1,1,1,0,1,13,1,1,14,4,1,3,7,26,40,44,13,14,15,4,1,1,18,3,7,26,40,44,13,14,15,4,1,18,3,7,26,40,44,13,14,15,4,1,18,14,13,15,13,15,7,4,4,1,0,0,0,0,0,65,66,53,54,65,66,53,54,53,53,53,53,54,54,54,53,65,66,53,54,65,66,53,54,53,53,53,53,53,53,53,53,53,53,54,53,53,53,65,66,53,54,65,66,53,54,65,66,53,54,0,0,0,0,0,0,0,0,0,0,0,67,68,69,63,64,62,57,58,59,67,68,69,63,64,62,57,58,59,57,58,59,57,58,59,62,62,63,62,57,58,59,63,62,63,57,58,59,67,68,69,63,64,62,57,58,59,67,68,69,63,64,62,57,58,59,64,63,63,63,63,63,63,64,57,58,59,63,63,62,63,63,63,67,68,69,63,64,62,57,58,59,67,68,69,63,64,62,57,58,59,67,68,69,63,64,62,57,58,59],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[1,1],[1],[3],[4,5],[4,[[1,[6]]]],[1],[7,2],[4,[[2,[6]]]],[4,5],[1,1],[1,2],[7,2],[1,2],[3],[4,5],[3,8],[3,8],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[3,9],[7,9],[[[13,[[0,[10,11]],12]]],9],[[[14,[[0,[10,11]],12]]],9],[[[15,[10]]],9],[4,9],[1,9],[3],[7],[[[13,[[0,[10,11]],12]]]],[[[14,[[0,[10,11]],12]]]],[[[15,[10]]]],[4],[1],[[[7,[[0,[16,17]]]],[0,[16,17]]]],[[[3,[17]]],[[3,[17]]]],[[[13,[[0,[10,11,17]],17,17]]],[[13,[[0,[10,11,17]],17,17]]]],[[[14,[[0,[10,11,17]],17]]],[[14,[[0,[10,11,17]],17]]]],[[[15,[[0,[10,17]],17]]],[[15,[[0,[10,17]],17]]]],[4,4],[[[1,[17]]],[[1,[17]]]],[[[18,[17]]],[[18,[17]]]],[[4,4],19],[[[1,[20]],[1,[20]]],19],[[[14,[[22,[[0,[21,10,11]]]],[0,[10,11]],12]],[0,[21,10,11]]],23],[[[13,[[22,[[0,[21,10,11]]]],[0,[10,11]],12]],[0,[21,10,11]]],23],[[[15,[10]],10],23],[[],3],[[],7],[[],[[13,[[0,[10,11]],[0,[12,24]]]]]],[[],[[14,[[0,[10,11]],[0,[12,24]]]]]],[[],[[15,[10]]]],[[],4],[[],1],[7,2],[4,5],[1,2],[4,5],[1,2],[[[14,[[0,[10,11]],12]],[14,[[0,[10,11]],12]]],[[0,[[0,[10,11]],12]]]],[3],[7],[15],[1],[[[1,[25]],[2,[25]]],23],[[[13,[[0,[10,11]],12]],[0,[10,11]]],[[26,[[0,[10,11]]]]]],[[[13,[[0,[10,11]],10,12]],[13,[[0,[10,11]],10,12]]],23],[[[14,[[0,[10,11]],12]],[14,[[0,[10,11]],12]]],23],[[[15,[10,25]],[15,[10,25]]],23],[[4,5],23],[[4,4],23],[[4,5],23],[[[1,[25]],2],23],[[[1,[25]],2],23],[[[1,[25]],2],23],[[[1,[25]],27],23],[[[1,[25]],1],23],[[[1,[25]],27],23],[[7,28]],[[[7,[17]],28]],[[[13,[[0,[10,11,16]],16,12]],28]],[[[13,[[0,[10,11]],12]],28]],[[[14,[[0,[10,11,16]],12]],28]],[[[14,[[0,[10,11]],12]],28]],[[1,28]],[[[1,[16]],28]],[[1,28]],[[[7,[17]],[2,[17]]]],[[[1,[17]],[2,[17]]],29],[[[13,[[0,[10,11]],12]]],8],[[[14,[[0,[10,11]],12]]],[[8,[[0,[10,11]]]]]],[[[13,[[0,[10,11]],12]]],8],[[[3,[30]],31],32],[[[7,[30]],31],32],[[[13,[[0,[10,11,30]],30,12]],31],32],[[[14,[[0,[10,11,30]],12]],31],32],[[[15,[[0,[10,30]],30]],31],32],[[4,31],32],[[4,31],32],[[[1,[30]],31],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[33,4],[34,4],[5,4],[35,4],[6,4],[36,4],[37,4],[[]],[38,4],[39,4],[[]],[[]],[28,[[13,[[0,[10,11]],[0,[12,24]]]]]],[28,[[14,[[0,[10,11]],[0,[12,24]]]]]],[28,[[15,[10]]]],[28,4],[28,4],[28,4],[28,1],[[[2,[17]]],[[29,[[1,[17]]]]]],[5,[[29,[4]]]],[3,8],[3,8],[[[40,[[0,[10,11]]]]]],[[[13,[[22,[[0,[21,11,10]]]],[0,[10,11]],12]],[0,[21,11,10]]],8],[[[15,[[22,[[0,[10,21]]]],10]],[0,[10,21]]],8],[[[40,[[0,[10,11]]]]]],[[[13,[[22,[[0,[21,11,10]]]],[0,[10,11]],12]],[0,[21,11,10]]],8],[[[15,[[22,[[0,[10,21]]]],10]],[0,[10,21]]],8],[[4,41]],[[4,42]],[[[1,[43]],41]],[[[1,[11]],42]],[[[13,[[0,[10,11,[22,[[0,[21,10,11]]]]]],12]],[0,[21,10,11]]]],[[[15,[[0,[[22,[[0,[10,21]]]],10]]]],[0,[10,21]]]],[[[13,[[0,[10,11,[22,[[0,[21,10,11]]]]]],12]],[0,[21,10,11]]]],[[[15,[[0,[[22,[[0,[10,21]]]],10]]]],[0,[10,21]]]],[[[40,[[0,[10,11]]]]]],[[[44,[[0,[10,11]]]]],29],[[[13,[[0,[10,11]],12]],[0,[10,11]]],[[29,[8]]]],[[[14,[[0,[10,11]],12]],[0,[10,11]]],[[29,[23,[0,[10,11]]]]]],[[[15,[10]],10],[[29,[8]]]],[[1,9],29],[[[14,[[0,[10,11]],12]],[14,[[0,[10,11]],12]]],[[0,[[0,[10,11]],12]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,[[29,[27,1]]]],[4,[[1,[6]]]],[3],[3],[3],[[[13,[[0,[10,11]],12]]]],[[[13,[[0,[10,11]],12]]]],[[[13,[[0,[10,11]],12]]]],[[[14,[[0,[10,11]],12]]]],[[[15,[10]]]],[1],[1],[1],[[]],[[[44,[[0,[10,11]]]]],[[0,[10,11]]]],[[[40,[[0,[10,11]]]]]],[[[14,[[0,[10,11]],12]],[14,[[0,[10,11]],12]]],23],[3,23],[[[13,[[0,[10,11]],12]]],23],[[[14,[[0,[10,11]],12]]],23],[[[15,[10]]],23],[1,23],[3,23],[1,23],[[[14,[[0,[10,11]],12]],[14,[[0,[10,11]],12]]],23],[[[14,[[0,[10,11]],12]],[14,[[0,[10,11]],12]]],23],0,[[[13,[[0,[10,11]],12]]],[[0,[[0,[10,11]]]]]],[[[14,[[0,[10,11]],12]]],[[0,[[0,[10,11]]]]]],[[[15,[10]]],[[0,[10]]]],0,[[[13,[[0,[10,11]],12]]],[[0,[[0,[10,11]]]]]],[[[15,[10]]],[[0,[10]]]],[[[40,[[0,[10,11]]]]],[[0,[10,11]]]],[[[44,[[0,[10,11]]]]],[[0,[10,11]]]],[[[13,[[0,[10,11]],12]]],45],[[[15,[10]]],45],[[[13,[[0,[10,11]],12]]],8],[[[14,[[0,[10,11]],12]]],[[8,[[0,[10,11]]]]]],[[[13,[[0,[10,11]],12]]],8],[3,9],[7,9],[[[13,[[0,[10,11]],12]]],9],[[[14,[[0,[10,11]],12]]],9],[[[15,[10]]],9],[[4,4],23],[[4,5],23],[[4,5],23],[[],3],[[],7],[[],[[13,[46]]]],[[],[[14,[46]]]],[[],15],[[],4],[[],1],[[[0,[16,17]]],[[7,[[0,[16,17]]]]]],[18,8],[7,18],[[4,4],[[8,[19]]]],[[[1,[47]],[1,[47]]],[[8,[19]]]],[4,[[8,[48]]]],[1,8],[3,8],[3],[3,8],[3],[1],[[4,48],29],[1,29],[3,29],[3],[3,29],[3],[[4,5],29],[1],[7,8],[[[40,[[0,[10,11]]]]]],[[[13,[[22,[[0,[21,11,10]]]],[0,[10,11]],12]],[0,[21,11,10]]],8],[[[14,[[22,[[0,[21,10,11]]]],[0,[10,11]],12]],[0,[21,10,11]]],23],[[[15,[[22,[[0,[10,21]]]],10]],[0,[10,21]]],8],[[1,9]],[[[40,[[0,[10,11]]]]]],[[[1,[17]],9,17],29],[[[1,[[0,[17,24]]]],9],29],[[1,49]],[[1,49]],[[1,9]],0,[[[1,[25]],[2,[25]]],23],[[[13,[[22,[[0,[21,11,10]]]],[0,[10,11]],12]],[0,[21,11,10]]],8],[[1,9]],[[1,9]],[[[14,[[0,[10,11]],12]],[14,[[0,[10,11]],12]]],45],[[4,9]],[[1,9]],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[[2,[17]]],[[29,[[1,[17]]]]]],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[[14,[[0,[10,11]],12]],[14,[[0,[10,11]],12]]],45],[[[13,[[0,[10,11]],12]]],45],[[[15,[10]]],45],[[[13,[[0,[10,11]],12]]],45],[[[15,[10]]],45],[7],[[4,48],[[29,[51]]]],[[4,5],[[29,[51]]]],[[[1,[6]],5],32],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[53,[20,52]]],9],[[[53,[20,52]]]],[[[53,[[0,[20,17]],52]]],[[53,[[0,[20,17]],52]]]],[[],[[53,[20,52]]]],[[[54,[20,52]]],20],[[[54,[20,52]]],20],[[[54,[20,52]]]],[[[53,[[0,[20,30]],52]],31],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[53,[20,52]]]],[[[53,[20,52]]],[[1,[20]]]],[[[53,[20,52]]],23],[[[53,[20,52]]],[[55,[20]]]],[[[53,[20,52]]],[[56,[20]]]],[[[53,[20,52]]],9],[[],53],[[[53,[20,52]]],[[8,[20]]]],[[[53,[20,52]]],[[8,[[54,[20,52]]]]]],[[[53,[20,52]]],[[8,[20]]]],[[[54,[20,52]]],20],[[[53,[20,52]]],20],[[[53,[20,52]],20],[[29,[20]]]],[[[53,[20,52]],20]],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],50],[[],50],[[],50],[[],50],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[57,57],[58,58],[59,59],[[57,57],19],[[58,58],19],[[59,59],19],[[[62,[20,60,61]]]],[[[62,[20,60,61]]]],[[[63,[60]]]],[[[62,[20,60,61]]]],[[57,57],23],[[58,58],23],[[59,59],23],[[[63,[20,60,61]],49],[[8,[[62,[20,60,61]]]]]],[[[62,[20,60,61]]]],[[[63,[[0,[20,30]],60,61]],31],32],[[57,31],32],[[58,31],32],[[59,31],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[63,[20,60,61]]],23],[[[63,[20,60,61]]],23],[[[63,[20,60,61]]],[[64,[20,60,61]]]],[[],[[63,[58]]]],[[],[[63,[57]]]],[[],[[63,[59]]]],[[[64,[20,60,61]]],8],[[57,57],[[8,[19]]]],[[58,58],[[8,[19]]]],[[59,59],[[8,[19]]]],[[[63,[20,60,61]]],[[8,[20]]]],[[[63,[20,60,61]]],[[29,[20]]]],[[[62,[20,60,61]]],20],[[[63,[20,60,61]]],20],[[[63,[20,60,61]],20],[[29,[20]]]],[[[63,[20,60,61]],20]],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[],50]],"c":[],"p":[[3,"Vec"],[15,"slice"],[3,"Deque"],[3,"String"],[15,"str"],[15,"u8"],[3,"HistoryBuffer"],[4,"Option"],[15,"usize"],[8,"Eq"],[8,"Hash"],[8,"BuildHasher"],[3,"IndexMap"],[3,"IndexSet"],[3,"LinearMap"],[8,"Copy"],[8,"Clone"],[3,"OldestOrdered"],[4,"Ordering"],[8,"Ord"],[8,"Sized"],[8,"Borrow"],[15,"bool"],[8,"Default"],[8,"PartialEq"],[4,"Entry"],[15,"array"],[8,"IntoIterator"],[4,"Result"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[15,"i32"],[15,"u64"],[15,"u16"],[15,"u32"],[15,"i64"],[15,"i8"],[15,"i16"],[3,"OccupiedEntry"],[8,"Hasher"],[8,"Hasher"],[8,"Hash"],[3,"VacantEntry"],[8,"Iterator"],[3,"BuildHasherDefault"],[8,"PartialOrd"],[15,"char"],[8,"FnMut"],[3,"TypeId"],[3,"Error"],[8,"Kind"],[3,"BinaryHeap"],[3,"PeekMut"],[3,"Iter"],[3,"IterMut"],[3,"LinkedIndexU8"],[3,"LinkedIndexU16"],[3,"LinkedIndexUsize"],[8,"SortedLinkedListIndex"],[8,"Kind"],[3,"FindMut"],[3,"SortedLinkedList"],[3,"Iter"],[4,"Min"],[4,"Max"],[3,"Min"],[3,"Max"],[3,"Node"]]},\
diff --git a/docs/doc/settings.html b/docs/doc/settings.html
index 869c598..d426141 100644
--- a/docs/doc/settings.html
+++ b/docs/doc/settings.html
@@ -1 +1 @@
-Rustdoc settings Rustdoc settings
Back
\ No newline at end of file
+Rustdoc settings Rustdoc settings
Back
\ No newline at end of file
diff --git a/docs/doc/src-files.js b/docs/doc/src-files.js
index 3ed50f4..70ea1eb 100644
--- a/docs/doc/src-files.js
+++ b/docs/doc/src-files.js
@@ -14,6 +14,12 @@ var srcIndex = JSON.parse('{\
"drboy":["",[],["gameloop.rs","lib.rs"]],\
"eeprom":["",[],["lib.rs"]],\
"eeprom_byte":["",[],["lib.rs"]],\
+"fxbasicexample":["",[],["lib.rs"]],\
+"fxchompies":["",[],["lib.rs"]],\
+"fxdrawballs":["",[],["lib.rs"]],\
+"fxdrawframes":["",[],["lib.rs"]],\
+"fxhelloworld":["",[],["lib.rs"]],\
+"fxloadgamestate":["",[],["lib.rs"]],\
"game":["",[],["lib.rs"]],\
"hash32":["",[],["fnv.rs","lib.rs","murmur3.rs"]],\
"heapless":["",[],["binary_heap.rs","deque.rs","histbuf.rs","indexmap.rs","indexset.rs","lib.rs","linear_map.rs","sealed.rs","sorted_linked_list.rs","string.rs","vec.rs"]],\
diff --git a/docs/doc/src/fxbasicexample/lib.rs.html b/docs/doc/src/fxbasicexample/lib.rs.html
new file mode 100644
index 0000000..d1c55fe
--- /dev/null
+++ b/docs/doc/src/fxbasicexample/lib.rs.html
@@ -0,0 +1,41 @@
+lib.rs - source #![no_std]
+#![allow(non_upper_case_globals)]
+//Include the Arduboy Library
+//Initialize the arduboy object
+use arduboy_rust::prelude::*;
+const arduboy: Arduboy2 = Arduboy2::new();
+//The setup() function runs once when you turn your Arduboy on
+#[no_mangle]
+pub unsafe extern "C" fn setup() {
+ // put your setup code here, to run once:
+ arduboy.begin();
+ arduboy.clear();
+ arduboy.print(f!(b"Holmes is cool!\0"));
+ arduboy.display();
+}
+#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_() {
+ // put your main code here, to run repeatedly:
+}
+
\ No newline at end of file
diff --git a/docs/doc/src/fxchompies/lib.rs.html b/docs/doc/src/fxchompies/lib.rs.html
new file mode 100644
index 0000000..7d09081
--- /dev/null
+++ b/docs/doc/src/fxchompies/lib.rs.html
@@ -0,0 +1,41 @@
+lib.rs - source #![no_std]
+#![allow(non_upper_case_globals)]
+//Include the Arduboy Library
+//Initialize the arduboy object
+use arduboy_rust::prelude::*;
+const arduboy: Arduboy2 = Arduboy2::new();
+//The setup() function runs once when you turn your Arduboy on
+#[no_mangle]
+pub unsafe extern "C" fn setup() {
+ // put your setup code here, to run once:
+ arduboy.begin();
+ arduboy.clear();
+ arduboy.print(f!(b"Holmes is cool!\0"));
+ arduboy.display();
+}
+#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_() {
+ // put your main code here, to run repeatedly:
+}
+
\ No newline at end of file
diff --git a/docs/doc/src/fxdrawballs/lib.rs.html b/docs/doc/src/fxdrawballs/lib.rs.html
new file mode 100644
index 0000000..4bafac7
--- /dev/null
+++ b/docs/doc/src/fxdrawballs/lib.rs.html
@@ -0,0 +1,41 @@
+lib.rs - source #![no_std]
+#![allow(non_upper_case_globals)]
+//Include the Arduboy Library
+//Initialize the arduboy object
+use arduboy_rust::prelude::*;
+const arduboy: Arduboy2 = Arduboy2::new();
+//The setup() function runs once when you turn your Arduboy on
+#[no_mangle]
+pub unsafe extern "C" fn setup() {
+ // put your setup code here, to run once:
+ arduboy.begin();
+ arduboy.clear();
+ arduboy.print(f!(b"Holmes is cool!\0"));
+ arduboy.display();
+}
+#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_() {
+ // put your main code here, to run repeatedly:
+}
+
\ No newline at end of file
diff --git a/docs/doc/src/fxdrawframes/lib.rs.html b/docs/doc/src/fxdrawframes/lib.rs.html
new file mode 100644
index 0000000..f5a3cb9
--- /dev/null
+++ b/docs/doc/src/fxdrawframes/lib.rs.html
@@ -0,0 +1,41 @@
+lib.rs - source #![no_std]
+#![allow(non_upper_case_globals)]
+//Include the Arduboy Library
+//Initialize the arduboy object
+use arduboy_rust::prelude::*;
+const arduboy: Arduboy2 = Arduboy2::new();
+//The setup() function runs once when you turn your Arduboy on
+#[no_mangle]
+pub unsafe extern "C" fn setup() {
+ // put your setup code here, to run once:
+ arduboy.begin();
+ arduboy.clear();
+ arduboy.print(f!(b"Holmes is cool!\0"));
+ arduboy.display();
+}
+#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_() {
+ // put your main code here, to run repeatedly:
+}
+
\ No newline at end of file
diff --git a/docs/doc/src/fxhelloworld/lib.rs.html b/docs/doc/src/fxhelloworld/lib.rs.html
new file mode 100644
index 0000000..d018ed9
--- /dev/null
+++ b/docs/doc/src/fxhelloworld/lib.rs.html
@@ -0,0 +1,41 @@
+lib.rs - source #![no_std]
+#![allow(non_upper_case_globals)]
+//Include the Arduboy Library
+//Initialize the arduboy object
+use arduboy_rust::prelude::*;
+const arduboy: Arduboy2 = Arduboy2::new();
+//The setup() function runs once when you turn your Arduboy on
+#[no_mangle]
+pub unsafe extern "C" fn setup() {
+ // put your setup code here, to run once:
+ arduboy.begin();
+ arduboy.clear();
+ arduboy.print(f!(b"Holmes is cool!\0"));
+ arduboy.display();
+}
+#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_() {
+ // put your main code here, to run repeatedly:
+}
+
\ No newline at end of file
diff --git a/docs/doc/src/fxloadgamestate/lib.rs.html b/docs/doc/src/fxloadgamestate/lib.rs.html
new file mode 100644
index 0000000..848302b
--- /dev/null
+++ b/docs/doc/src/fxloadgamestate/lib.rs.html
@@ -0,0 +1,41 @@
+lib.rs - source #![no_std]
+#![allow(non_upper_case_globals)]
+//Include the Arduboy Library
+//Initialize the arduboy object
+use arduboy_rust::prelude::*;
+const arduboy: Arduboy2 = Arduboy2::new();
+//The setup() function runs once when you turn your Arduboy on
+#[no_mangle]
+pub unsafe extern "C" fn setup() {
+ // put your setup code here, to run once:
+ arduboy.begin();
+ arduboy.clear();
+ arduboy.print(f!(b"Holmes is cool!\0"));
+ arduboy.display();
+}
+#[no_mangle]
+#[export_name = "loop"]
+pub unsafe extern "C" fn loop_() {
+ // put your main code here, to run repeatedly:
+}
+
\ No newline at end of file
diff --git a/docs/doc/src/game/lib.rs.html b/docs/doc/src/game/lib.rs.html
index e9e57e8..9ff0261 100644
--- a/docs/doc/src/game/lib.rs.html
+++ b/docs/doc/src/game/lib.rs.html
@@ -48,16 +48,11 @@
48
49
50
-51
-52
-53
-54
#![no_std]
#![allow(non_upper_case_globals)]
//Include the Arduboy Library
-use arduboy_rust::arduboyfx::*;
-#[allow(unused_imports)]
+#[allow(unused_imports)]
use arduboy_rust::prelude::*;
#[allow(dead_code)]
@@ -66,12 +61,11 @@
// Progmem data
// dynamic ram variables
-const FX_DATA_PAGE: u16 = 0xfffe;
-const FX_DATA_BYTES: u32 = 329;
+const FX_DATA_PAGE: u16 = 0xffff;
+const FX_DATA_BYTES: u32 = 234;
const FXlogo: u32 = 0x000000;
const FXlogoWith: i16 = 115;
const FXlogoHeight: i16 = 16;
-const helloWorld: u32 = 0x0000EA;
static mut x: i16 = (WIDTH - FXlogoWith) / 2;
static mut y: i16 = 25;
@@ -83,7 +77,7 @@
// put your setup code here, to run once:
arduboy.begin();
arduboy.set_frame_rate(30);
- arduboyfx_begin_data(FX_DATA_PAGE);
+ FX::begin_data(FX_DATA_PAGE);
}
// The loop() function repeats forever after setup() is done
#[no_mangle]
@@ -93,7 +87,7 @@
if !arduboy.next_frame() {
return;
}
- arduboyfx_draw_bitmap(x, y, FXlogo, 0, 0);
+ FX::draw_bitmap(x, y, FXlogo, 0, 0);
x += xDir as i16;
y += yDir as i16;
if x == 0 || x == WIDTH - FXlogoWith {
@@ -102,8 +96,6 @@
if y == 0 || y == HEIGHT - FXlogoHeight {
yDir = -yDir;
}
- arduboyfx_set_cursor(10, 10);
- arduboyfx_draw_string(helloWorld);
- arduboyfx_display_clear();
+ FX::display_clear()
}