0 Members and 1 Guest are viewing this topic.

.Uncompressed (each tile is a half-byte)[567222220874999F[033AAAAAAAAAAAAA[AAA23279BBBBB8FF.24 bytes.Compressed[567F520874999F1F[033F0A23279F5B8F[2F.17 bytes

.ROUTINE0->C->D"0123456789ABCDE0->Str1 .Make sure you have 0 at the end, not F.For(Y,0,S .Replace S with the height of your uncompressed map minus 1For(X,0,T .Replace T with the width of your uncompressed map minus 1If {T+1*Y+X+GDB1}->A={T+1*Y+X+GDB1+1} and (C!=14)C+1->CElseIf C>370->{L1+D}{Str1+C+1}->{L1+D+1}{Str1+A}->{L1+D+2}D+3->DElseFor(Z,0,C{Str1+A}->{L1+D}D+1->DEnd:End:0->C:End:End:EndGetCalc("Str4",D^2+D)->IFor(Z,0,D-1{L1+Z}->{I+Z}EndIf D^270->{I+Z+1}End

.BB[F71011011100F810]->GDB1Zeroes(8)->Pic1[FFFFFFFFFFFFFFFF]0->X->YFor(Z,0,15 If sub(GN,Z)->N=15 For(U,1,sub(GN,Z+1) Pt-On(X*8,Y*8,sub(GN,Z+2)*8+Pic1 !If X+1->X^6 0->X:Y+1->Y End End Z+2->Z Else Pt-On(X*8,Y*8,N*8+Pic1 !If X+1->X^6 0->X:Y+1->Y End EndEndDispGraphLbl GN{r1/2+GDB1}->TIf r1^2 T^16Else T/16End

.Returns an element of OS matrix (pointer to matrix, 0-based column, 0-based row)Lbl M float{r₃*{r₁-2}+r₂*9+r₁}Return

.Returns an element of OS matrix (pointer to matrix, 1-based column, 1-based row)Lbl M float{r₃-1*{r₁-2}+(r₂-1)*9+r₁}Return

.Returns an element of OS list (pointer to list, 0-based entry)Lbl L float{r₂*9+r₁}Return

.Returns an element of OS list (pointer to list, 1-based entry)Lbl L float{r₂-1*9+r₁}Return

darn, I am really out of the loop on new functions, I really need to re-read the command index when I get some time (I last did on 0.2.6)