Skip to content

Commit

Permalink
reduce code size in remove fancybtn logic
Browse files Browse the repository at this point in the history
  • Loading branch information
ericoporto committed Apr 21, 2024
1 parent 1987e5b commit 47f450b
Showing 1 changed file with 10 additions and 16 deletions.
26 changes: 10 additions & 16 deletions fancy_demo/fancy.asc
Original file line number Diff line number Diff line change
Expand Up @@ -81,31 +81,25 @@ int _get_new_fancybtn_index(int id) {
return index;
}

void _set_fancybtn(int index, int id, DynamicSprite* normal, DynamicSprite* over, DynamicSprite* pushed)
{
_fancybtn[index].ID = id;
_fancybtn[index].Normal = normal;
_fancybtn[index].Over = over;
_fancybtn[index].Pushed = pushed;
}

void _remove_fancybtn(int id)
{
int index = _get_fancybtn_index(id);
if(index != -1) return; // already removed
for(int i=index; i<_fancybtn_count-1; i++) {
_fancybtn[i].ID = _fancybtn[i+1].ID;
_fancybtn[i].Normal = _fancybtn[i+1].Normal;
_fancybtn[i].Over = _fancybtn[i+1].Over;
_fancybtn[i].Pushed = _fancybtn[i+1].Pushed;
_set_fancybtn(i, _fancybtn[i+1].ID, _fancybtn[i+1].Normal, _fancybtn[i+1].Over, _fancybtn[i+1].Pushed);
}
_fancybtn[_fancybtn_count-1].ID = -1;
_fancybtn[_fancybtn_count-1].Normal = null;
_fancybtn[_fancybtn_count-1].Over = null;
_fancybtn[_fancybtn_count-1].Pushed = null;
_set_fancybtn(_fancybtn_count-1, -1, null, null, null);
_fancybtn_count--;
}

void _set_fancybtn(int index, int id, DynamicSprite* normal, DynamicSprite* over, DynamicSprite* pushed)
{
_fancybtn[index].ID = id;
_fancybtn[index].Normal = normal;
_fancybtn[index].Over = over;
_fancybtn[index].Pushed = pushed;
}

#region TEXT_TOKEN_REG
managed struct TokenState {
int color;
Expand Down

0 comments on commit 47f450b

Please sign in to comment.