Is count_magic() broken in Freedink?
In FreeDink count_magic() seems to return 1 when there are no free magic slots.
HD and 1.08 return 0 in this case.
Is this a bug or am I missing something?
Test code:
Output in FreeDink:
1.08 output:
HD and 1.08 return 0 in this case.
Is this a bug or am I missing something?
Test code:
void main ( void ) { int &i = 0; int &free; int &balls; loop: &free = free_magic(); &balls = count_magic("item-fb"); debug("Total fireballs: &balls"); debug("Total free slots: &free"); add_magic("item-fb",437, 1); if(&i < 8) { &i += 1; goto loop; } kill_this_task(); }
Output in FreeDink:
Total fireballs: 0 Total free slots: 8 Total fireballs: 1 Total free slots: 7 Total fireballs: 2 Total free slots: 6 Total fireballs: 3 Total free slots: 5 Total fireballs: 4 Total free slots: 4 Total fireballs: 5 Total free slots: 3 Total fireballs: 6 Total free slots: 2 Total fireballs: 7 Total free slots: 1 Total fireballs: 8 Total free slots: 1
1.08 output:
Dink:Total fireballs: 0 Dink:Total free slots: 8 Dink:Total fireballs: 1 Dink:Total free slots: 7 Dink:Total fireballs: 2 Dink:Total free slots: 6 Dink:Total fireballs: 3 Dink:Total free slots: 5 Dink:Total fireballs: 4 Dink:Total free slots: 4 Dink:Total fireballs: 5 Dink:Total free slots: 3 Dink:Total fireballs: 6 Dink:Total free slots: 2 Dink:Total fireballs: 7 Dink:Total free slots: 1 Dink:Total fireballs: 8 Dink:Total free slots: 0
Indeed it is, nice find. It's missing a <= on the loop that iterates over all the slots meaning it misses one of them. I'll patch it in the next yedink.