source: cpp/frams/param/paramtabobj.cpp @ 311

Last change on this file since 311 was 286, checked in by Maciej Komosinski, 10 years ago

Updated headers

  • Property svn:eol-style set to native
File size: 877 bytes
Line 
1// This file is a part of Framsticks SDK.  http://www.framsticks.com/
2// Copyright (C) 1999-2015  Maciej Komosinski and Szymon Ulatowski.
3// See LICENSE.txt for details.
4
5#include "paramtabobj.h"
6
7int ParamTab::measureTab(const ParamEntry *pe)
8{
9int i=0;
10while(pe->id) {i++;pe++;}
11return i;
12}
13
14void ParamTab::resize(int s)
15{
16if (s==siz) return;
17tab=(ParamEntry*)realloc(tab,sizeof(ParamEntry)*(s+1));
18siz=s;
19}
20
21int ParamTab::add(const ParamEntry* p,int count)
22{
23if (count<0) count=measureTab(p);
24resize(siz+count);
25memmove(tab+siz-count,p,sizeof(ParamEntry)*count);
26memset(tab+siz,0,sizeof(ParamEntry));
27if (siz>0) tab[0].flags=(short)(siz-tab[0].group);
28return siz-1;
29}
30
31void ParamTab::remove(int i,int count)
32{
33memmove(tab+i,tab+i+count,sizeof(ParamEntry)*count);
34resize(siz-count);
35memset(tab+siz,0,sizeof(ParamEntry));
36if (siz>0) tab[0].flags=(short)(siz-tab[0].group);
37}
38
Note: See TracBrowser for help on using the repository browser.