From 998ff3f26ebf7b19b34e85008cef37efe35085bf Mon Sep 17 00:00:00 2001 From: curt Date: Thu, 31 Jul 1997 23:19:33 +0000 Subject: [PATCH] Initial revision. --- Scenery/chunkmgr.c | 53 +++++++++++++++++++++++++++++++++ Scenery/chunkmgr.h | 73 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 Scenery/chunkmgr.c create mode 100644 Scenery/chunkmgr.h diff --git a/Scenery/chunkmgr.c b/Scenery/chunkmgr.c new file mode 100644 index 000000000..b8ee95cba --- /dev/null +++ b/Scenery/chunkmgr.c @@ -0,0 +1,53 @@ +/************************************************************************** + * chunkmgr.c -- top level scenery chunk management system. + * + * Written by Curtis Olson, started July 1997. + * + * Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id$ + * (Log is kept at end of this file) + **************************************************************************/ + + +#include "chunkmgr.h" + + +/* we'll use a fixed sized chunk list for now */ +static struct chunk chunk_list[MAX_CHUNK_LIST]; + +/* ... and a fixed sized chunk cache */ +static struct chunk chunk_cache[MAX_CHUNK_CACHE]; + + +/* initialize the chunk management system */ +void chunk_init() { +} + + +/* load all chunks within radius distance of the specified point if + * they are not already loaded or cached. Remove or cache any chunks that are + * out of range. */ +void chunk_update(double lat, double lon, double radius) { +} + + +/* $Log$ +/* Revision 1.1 1997/07/31 23:19:33 curt +/* Initial revision. +/* + */ diff --git a/Scenery/chunkmgr.h b/Scenery/chunkmgr.h new file mode 100644 index 000000000..a4f32fa43 --- /dev/null +++ b/Scenery/chunkmgr.h @@ -0,0 +1,73 @@ +/************************************************************************** + * chunkmgr.h -- top level scenery chunk management system. + * + * Written by Curtis Olson, started July 1997. + * + * Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id$ + * (Log is kept at end of this file) + **************************************************************************/ + + +#ifndef CHUNKMGR_H +#define CHUNKMGR_H + + +#include "mesh.h" + + +#define MAX_CHUNK_LIST 1000 +#define MAX_CHUNK_CACHE 100 + + +struct chunk { + /* path name to the data file for this chunk */ + char path[1024]; + + /* coordinates (in arc seconds) */ + double lon, lat; + + /* coordinates (cartesian, units = km) */ + double x, y, z; + + /* last calculated distance from current viewpoint */ + double dist; + + /* pointer to elevation grid array for this chunk*/ + struct mesh *terrain_ptr; +}; + + +/* initialize the chunk management system */ +void chunk_init(); + + +/* load all chunks within radius distance of the specified point if + * they are not already loaded or cached. Remove or cache any chunks that are + * out of range. */ +void chunk_update(double lat, double lon, double radius); + + +#endif /* CHUNKMGR_H */ + + +/* $Log$ +/* Revision 1.1 1997/07/31 23:19:34 curt +/* Initial revision. +/* + */ -- 2.39.2