Esplosione tab

git-svn-id: svn://10.65.10.50/trunk@4747 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-06-23 14:53:39 +00:00
parent 0bd507dd78
commit 0cc91be2e7

View File

@ -50,18 +50,18 @@ const bool TMag_livelli::enabled(int levnum)
const int TMag_livelli::code_lenght(int levnum) const int TMag_livelli::code_lenght(int levnum)
{ {
if (levnum<=MANY_MAG_LEV && levnum>0) if (levnum<=MANY_MAG_LEV && levnum>0)
return(_code_lenght[levnum-1]); return(_code_lenght[levnum-1]);
else else
return(0) ; return(0) ;
} }
const int TMag_livelli::packed_lenght(int levnum) const int TMag_livelli::packed_lenght(int levnum)
{ {
int start=0; int start=0;
for (int i=1; i<=levnum && levnum<=MANY_MAG_LEV; i++) for (int i=1; i<=levnum && levnum<=MANY_MAG_LEV; i++)
start+= _code_lenght[i-1]; start+= _code_lenght[i-1];
return start; return start;
} }
@ -83,32 +83,32 @@ const TString & TMag_livelli::picture(int levnum)
void TMag_livelli::pack_grpcode(TString & pc, const TString &codlev, const int levnum) void TMag_livelli::pack_grpcode(TString & pc, const TString &codlev, const int levnum)
{ {
pc.overwrite(codlev.left(_code_lenght[levnum-1]),packed_lenght(levnum-1)); pc.overwrite(codlev.left(_code_lenght[levnum-1]),packed_lenght(levnum-1));
} }
TString TMag_livelli::unpack_grpcode(const TString & pc, const int levnum) TString TMag_livelli::unpack_grpcode(const TString & pc, const int levnum)
{ {
int start=0; int start=0;
for (int i=1; i<levnum; i++) for (int i=1; i<levnum; i++)
start+= _code_lenght[i-1]; start+= _code_lenght[i-1];
if (start>=pc.len()) if (start>=pc.len())
return(""); return("");
else { else {
if (levnum != _last_level && !_enabled[levnum-1]) if (levnum != _last_level && !_enabled[levnum-1])
return(""); return("");
return(pc.mid(start,levnum == _last_level ? -1 : _code_lenght[levnum-1])); return(pc.mid(start,levnum == _last_level ? -1 : _code_lenght[levnum-1]));
} }
} }
TString TMag_livelli::build_tabcode(const TString & pc, const int levnum) TString TMag_livelli::build_tabcode(const TString & pc, const int levnum)
{ {
TString valore; TString valore;
valore << levnum; valore << levnum;
valore << unpack_grpcode(pc,levnum); valore << unpack_grpcode(pc,levnum);
if (valore.len()>1) if (valore.len()>1)
return valore; return valore;
else else
return ""; return "";
} }
// ******************************* // *******************************