From 12315f4d0e0ae993805f141f64cb8c73c5297311 Mon Sep 17 00:00:00 2001 From: Hans Lambermont Date: Sat, 12 Oct 2002 11:37:38 +0000 Subject: Initial revision --- source/blender/blenkernel/BKE_global.h | 224 +++++++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 source/blender/blenkernel/BKE_global.h (limited to 'source/blender/blenkernel/BKE_global.h') diff --git a/source/blender/blenkernel/BKE_global.h b/source/blender/blenkernel/BKE_global.h new file mode 100644 index 00000000000..53c71f03606 --- /dev/null +++ b/source/blender/blenkernel/BKE_global.h @@ -0,0 +1,224 @@ +/** + * blenlib/BKE_global.h (mar-2001 nzc) + * + * Global settings, handles, pointers. This is the root for finding + * any data in Blender. This block is not serialized, but built anew + * for every fresh Blender run. + * + * $Id$ + * + * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** + * + * 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. The Blender + * Foundation also sells licenses for use in proprietary software under + * the Blender License. See http://www.blender.org/BL/ for information + * about this. + * + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL/BL DUAL LICENSE BLOCK ***** + */ +#ifndef BKE_GLOBAL_H +#define BKE_GLOBAL_H + +#include "DNA_listBase.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* forwards */ +struct View3D; +struct View2D; +struct SpaceIpo; +struct SpaceButs; +struct SpaceImage; +struct SpaceOops; +struct SpaceText; +struct SpaceSound; +struct SpaceAction; +struct SpaceNla; +struct Main; +struct Scene; +struct bScreen; +struct Object; +struct bSoundListener; +struct BMF_Font; + +typedef struct Global { + + /* active pointers */ + struct View3D *vd; + struct View2D *v2d; + struct SpaceIpo *sipo; + struct SpaceButs *buts; + struct SpaceImage *sima; + struct SpaceOops *soops; + struct SpaceSound *ssound; + struct SpaceAction *saction; /* __NLA */ + struct SpaceNla *snla; + struct Main *main; + struct Scene *scene; /* denk aan file.c */ + struct bScreen *curscreen; + struct Object *obedit; + + /* fonts, allocated global data */ + struct BMF_Font *font, *fonts, *fontss; + + /* strings: lastsaved */ + char ima[160], sce[160], lib[160]; + + /* totalen */ + short totobj, totlamp, totobjsel, totcurve, totmesh, totmat; + int totvert, totface, totvertsel, totfacesel; + + short machine, afbreek, moving, colact, zbuf; + short qual, background, imagewin, animspeed; + /** + * The current version of Blender. + */ + short version; + short simulf, fields, order, rt; + int f; + + /* Editmode lists */ + struct ListBase edve; + struct ListBase eded; + struct ListBase edvl; + + float textcurs[4][2]; + + /* Frank's variables */ + int renderd; + int real_sfra, real_efra; + int save_over; + + /* Reevan's __NLA variables */ + struct Object *obpose; /* Current posable object */ + struct ListBase edbo; /* Armature Editmode bones */ + + /* this variable is written to / read from FileGlobal->fileflags */ + int fileflags; + + /* Janco's playing ground */ + struct bSoundListener* listener; + + /* Test thingy for Nzc */ + int magic; /* toggle use of experimental render pipe */ + int compat; /* toggle compatibility mode for edge rendering */ + int notonlysolid;/* T-> also edge-render transparent faces */ + int useRscale; /* bitflag for using colour scaling */ + int useGscale; /* bitflag for using colour scaling */ + int useBscale; /* bitflag for using colour scaling */ + float cscale[4]; /* sliders for colour scaling */ + int Rhisto; /* flags for making histograms */ + int Ghisto; + int Bhisto; + + /* special versions */ + short special1, special2; + + int flags; + +} Global; + +/* **************** GLOBAL ********************* */ + +/* G.f */ +#define G_DISABLE_OK 1 +#define G_PLAYANIM 2 +#define G_TEST_DUPLI 4 +#define G_SIMULATION 8 +#define G_BACKBUFSEL 16 +#define G_PICKSEL 32 +#define G_DRAWNORMALS 64 +#define G_DRAWFACES 128 +#define G_FACESELECT 256 +#define G_DRAW_EXT 512 +#define G_VERTEXPAINT 1024 +#define G_ALLEDGES 2048 +#define G_DEBUG 4096 +#define G_SCENESCRIPT 8192 +#define G_PROPORTIONAL 16384 +#define G_WEIGHTPAINT 32768 /* __NLA */ +#define G_TEXTUREPAINT 65536 +#define G_NOFROZEN (1 << 17) // frozen modules inactive + +/* G.fileflags */ + +#define G_AUTOPACK_BIT 0 +#define G_FILE_COMPRESS_BIT 1 +#define G_FILE_AUTOPLAY_BIT 2 +#define G_FILE_ENABLE_ALL_FRAMES_BIT 3 +#define G_FILE_SHOW_DEBUG_PROPS_BIT 4 +#define G_FILE_SHOW_FRAMERATE_BIT 5 +#define G_FILE_SHOW_PROFILE_BIT 6 +#define G_FILE_LOCK_BIT 7 +#define G_FILE_SIGN_BIT 8 +#define G_FILE_PUBLISH_BIT 9 + +#define G_AUTOPACK (1 << G_AUTOPACK_BIT) +#define G_FILE_COMPRESS (1 << G_FILE_COMPRESS_BIT) +#define G_FILE_AUTOPLAY (1 << G_FILE_AUTOPLAY_BIT) +#define G_FILE_ENABLE_ALL_FRAMES (1 << G_FILE_ENABLE_ALL_FRAMES_BIT) +#define G_FILE_SHOW_DEBUG_PROPS (1 << G_FILE_SHOW_DEBUG_PROPS_BIT) +#define G_FILE_SHOW_FRAMERATE (1 << G_FILE_SHOW_FRAMERATE_BIT) +#define G_FILE_SHOW_PROFILE (1 << G_FILE_SHOW_PROFILE_BIT) +#define G_FILE_LOCK (1 << G_FILE_LOCK_BIT) +#define G_FILE_SIGN (1 << G_FILE_SIGN_BIT) +#define G_FILE_PUBLISH (1 << G_FILE_PUBLISH_BIT) + +/* G.simulf */ +#define G_LOADFILE 2 +#define G_RESTART 4 +#define G_QUIT 8 +#define G_SETSCENE 16 + +/* G.flags: double? */ +#define G_FLAGS_AUTOPLAY_BIT 2 +#define G_FLAGS_AUTOPLAY (1 << G_FLAGS_AUTOPLAY_BIT) + +/* G.qual */ +#define R_SHIFTKEY 1 +#define L_SHIFTKEY 2 +#define LR_SHIFTKEY 3 +#define R_ALTKEY 4 +#define L_ALTKEY 8 +#define LR_ALTKEY 12 +#define R_CTRLKEY 16 +#define L_CTRLKEY 32 +#define LR_CTRLKEY 48 + +/* G.order: indicates what endianness the platform where the file was + * written had. */ +#define L_ENDIAN 1 +#define B_ENDIAN 0 + +/* G.special1 */ +#define G_HOLO 1 + +/* Memory is allocated where? blender.c */ +extern Global G; + +#ifdef __cplusplus +} +#endif + +#endif -- cgit v1.2.3