anchor.diff:  
   procedure TRender.ResizeGameArea(Width,Height:integer; aRenderMode:TRenderMode);
   begin
  -  if Height=0 then Height:=1;
  -  if Width=0  then Width :=1;
  -  glViewport(0, 0, Width, Height);
  -  glMatrixMode(GL_PROJECTION);        // Change Matrix Mode to Projection
  -  glLoadIdentity;                   // Reset View
  -  if aRenderMode=rm2D then
  -    gluOrtho2D(0,Width,Height,0)
  -  else
  -    gluPerspective(80, -Width/Height, 0.1, 5000.0);
  -  glMatrixMode(GL_MODELVIEW);         // Return to the modelview matrix
  -  glLoadIdentity;                   // Reset View
  -  fRenderAreaSize.X := Width;
  -  fRenderAreaSize.Y := Height;
  +  fRenderAreaSize.X := max(Width, 1);
  +  fRenderAreaSize.Y := max(Height, 1);
  +  glViewport(0, 0, fRenderAreaSize.X, fRenderAreaSize.Y);
  +  glMatrixMode(GL_PROJECTION); //Change Matrix Mode to Projection
  +  glLoadIdentity; //Reset View
  +  case aRenderMode of
  +    rm2D: gluOrtho2D(0, fRenderAreaSize.X, fRenderAreaSize.Y, 0);
  +    rm3D: gluPerspective(80, -fRenderAreaSize.X/fRenderAreaSize.Y, 0.1, 5000.0);
  +  end;
  +  glMatrixMode(GL_MODELVIEW); //Return to the modelview matrix
  +  glLoadIdentity; //Reset View
   end;
   
   
  
positive.code: 
    BuildFont(h_DC, 16, FW_BOLD);
  
    setlength(RenderList,512);
    {$ENDIF}
    {$IFDEF Unix}
      MessageBox(Form1.Handle,'Trender.Create not working', 'Error', MB_OK);
    {$ENDIF}
  end;
  
  
  destructor TRender.Destroy;
  begin
    setlength(RenderList,0);
    {$IFDEF MSWindows}
    wglMakeCurrent(h_DC, 0);
    wglDeleteContext(h_RC);
  
negative.code:           glTexCoord2fv(@TexC[TexO[3]]); glvertex3f(k  ,i  ,-Land[i+1,k+1].Height/CELL_HEIGHT_DIV);
            glTexCoord2fv(@TexC[TexO[4]]); glvertex3f(k  ,i-1,-Land[i,k+1].Height/CELL_HEIGHT_DIV);
          end else begin
            if Lay2 then glColor4f(1,1,1,Land[i,k].Height/CELL_HEIGHT_DIV+0.5)
            else glColor4f(1,1,1,1);
              glTexCoord2fv(@TexC[TexO[1]]); glvertex2f(k-1,i-1-Land[i,k].Height/CELL_HEIGHT_DIV);
            if Lay2 then glColor4f(1,1,1,Land[i+1,k].Height/CELL_HEIGHT_DIV+0.5)
            else glColor4f(1,1,1,1);
              glTexCoord2fv(@TexC[TexO[2]]); glvertex2f(k-1,i  -Land[i+1,k].Height/CELL_HEIGHT_DIV);
            if Lay2 then glColor4f(1,1,1,Land[i+1,k+1].Height/CELL_HEIGHT_DIV+0.5)
            else glColor4f(1,1,1,1);
              glTexCoord2fv(@TexC[TexO[3]]); glvertex2f(k  ,i  -Land[i+1,k+1].Height/CELL_HEIGHT_DIV);
            if Lay2 then glColor4f(1,1,1,Land[i,k+1].Height/CELL_HEIGHT_DIV+0.5)
            else glColor4f(1,1,1,1);
              glTexCoord2fv(@TexC[TexO[4]]); glvertex2f(k  ,i-1-Land[i,k+1].Height/CELL_HEIGHT_DIV);
          end;
        end;
      glEnd;
  