From 3bda5490f7f50a795cd8b2c3d841c9375723aee9 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 19 Dec 2008 19:11:02 +0000 Subject: 2.5: globals cleanup * G.version removed, use BLENDER_VERSION * G.order removed, ENDIAN_ORDER * G.vd, G.sipo, G.buts, G.sima, .. removed. * G.qual removed * G.simulf removed (was unused in 2.4x) * error() and some other unused stubs removed --- source/blender/blenkernel/BKE_global.h | 39 +++------------------- source/blender/blenkernel/intern/blender.c | 18 +++------- source/blender/blenkernel/intern/exotic.c | 13 ++++---- source/blender/blenkernel/intern/writeffmpeg.c | 2 +- source/blender/blenloader/intern/writefile.c | 2 +- source/blender/editors/include/BIF_glutil.h | 2 +- source/blender/editors/include/ED_util.h | 2 +- source/blender/editors/screen/glutil.c | 8 ++--- source/blender/editors/screen/stubs.c | 6 ---- source/blender/editors/space_view3d/drawmesh.c | 10 +++--- source/blender/editors/space_view3d/drawobject.c | 38 ++++++++++----------- source/blender/editors/space_view3d/view3d_view.c | 6 ++-- source/blender/editors/util/ed_markers.c | 4 +-- source/blender/editors/util/ed_util.c | 15 +++------ source/blender/gpu/GPU_draw.h | 9 ++--- source/blender/gpu/intern/gpu_draw.c | 14 +++++--- source/blender/imbuf/intern/amiga.c | 2 +- source/blender/imbuf/intern/anim.c | 2 +- source/blender/imbuf/intern/tiff.c | 2 +- source/blender/makesdna/DNA_scene_types.h | 6 ++-- source/blender/radiosity/extern/include/radio.h | 3 +- .../radiosity/intern/source/radpreprocess.c | 10 +++--- .../blender/render/extern/include/RE_render_ext.h | 4 ++- .../blender/render/intern/source/convertblender.c | 6 ++-- source/blender/yafray/intern/yafray_Render.h | 3 -- source/creator/creator.c | 8 ++--- .../BlenderRoutines/BL_KetsjiEmbedStart.cpp | 4 +-- 27 files changed, 97 insertions(+), 141 deletions(-) diff --git a/source/blender/blenkernel/BKE_global.h b/source/blender/blenkernel/BKE_global.h index 284d41e7891..2edf10f846e 100644 --- a/source/blender/blenkernel/BKE_global.h +++ b/source/blender/blenkernel/BKE_global.h @@ -66,15 +66,6 @@ struct BME_Glob; 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; @@ -99,14 +90,11 @@ typedef struct Global { int totvert, totedge, totface, totvertsel, totedgesel, totfacesel; short afbreek, moving; - short qual, background; + short background; short winpos, displaymode; /* used to be in Render */ short rendering; /* to indicate render is busy, prevent renderwindow events etc */ - /** - * The current version of Blender. - */ - short version; - short simulf, order, rt; + + short rt; int f; /* Editmode lists */ @@ -235,28 +223,11 @@ typedef struct Global { #define G_WINDOWSTATE_BORDER 1 #define G_WINDOWSTATE_FULLSCREEN 2 -/* G.simulf */ -#define G_LOADFILE 2 -#define G_RESTART 4 -#define G_QUIT 8 -#define G_SETSCENE 16 - -/* 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 -#define LR_COMMANDKEY 64 - -/* G.order: indicates what endianness the platform where the file was +/* ENDIAN_ORDER: indicates what endianness the platform where the file was * written had. */ #define L_ENDIAN 1 #define B_ENDIAN 0 +extern short ENDIAN_ORDER; /* G.moving, signals drawing in (3d) window to denote transform */ #define G_TRANSFORM_OBJ 1 diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index 2ab12c12ab8..6cadd57e390 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -94,6 +94,7 @@ Global G; UserDef U; ListBase WMlist= {NULL, NULL}; +short ENDIAN_ORDER; char versionstr[48]= ""; @@ -200,15 +201,13 @@ void initglobals(void) strcpy(G.ima, "//"); - G.version= BLENDER_VERSION; - - G.order= 1; - G.order= (((char*)&G.order)[0])?L_ENDIAN:B_ENDIAN; + ENDIAN_ORDER= 1; + ENDIAN_ORDER= (((char*)&ENDIAN_ORDER)[0])? L_ENDIAN: B_ENDIAN; if(BLENDER_SUBVERSION) - sprintf(versionstr, "www.blender.org %d.%d", G.version, BLENDER_SUBVERSION); + sprintf(versionstr, "www.blender.org %d.%d", BLENDER_VERSION, BLENDER_SUBVERSION); else - sprintf(versionstr, "www.blender.org %d", G.version); + sprintf(versionstr, "www.blender.org %d", BLENDER_VERSION); #ifdef _WIN32 // FULLSCREEN G.windowstate = G_WINDOWSTATE_USERDEF; @@ -244,13 +243,6 @@ static void clear_global(void) G.main= NULL; G.obedit= NULL; - G.saction= NULL; - G.buts= NULL; - G.v2d= NULL; - G.vd= NULL; - G.soops= NULL; - G.sima= NULL; - G.sipo= NULL; G.f &= ~(G_WEIGHTPAINT + G_VERTEXPAINT + G_FACESELECT + G_PARTICLEEDIT); } diff --git a/source/blender/blenkernel/intern/exotic.c b/source/blender/blenkernel/intern/exotic.c index 28ed74aa9db..1570f735fc5 100644 --- a/source/blender/blenkernel/intern/exotic.c +++ b/source/blender/blenkernel/intern/exotic.c @@ -105,6 +105,7 @@ #include "BLI_arithb.h" #include "BLI_editVert.h" +#include "BKE_blender.h" #include "BKE_global.h" #include "BKE_main.h" #include "BKE_mesh.h" @@ -181,7 +182,7 @@ static int is_stl(char *str) return; \ } \ else { \ - if (G.order==B_ENDIAN) { \ + if (ENDIAN_ORDER==B_ENDIAN) { \ SWITCH_INT(mvert->co[0]); \ SWITCH_INT(mvert->co[1]); \ SWITCH_INT(mvert->co[2]); \ @@ -250,7 +251,7 @@ static void read_stl_mesh_binary(char *str) fseek(fpSTL, 80, SEEK_SET); fread(&numfacets, 4*sizeof(char), 1, fpSTL); - if (G.order==B_ENDIAN) { + if (ENDIAN_ORDER==B_ENDIAN) { SWITCH_INT(numfacets); } @@ -2459,7 +2460,7 @@ static void write_vert_stl(Object *ob, MVert *verts, int index, FILE *fpSTL) VECCOPY(vert, verts[(index)].co); Mat4MulVecfl(ob->obmat, vert); - if (G.order==B_ENDIAN) { + if (ENDIAN_ORDER==B_ENDIAN) { SWITCH_INT(vert[0]); SWITCH_INT(vert[1]); SWITCH_INT(vert[2]); @@ -2564,7 +2565,7 @@ void write_stl(char *str) */ fseek(fpSTL, 80, SEEK_SET); - if (G.order==B_ENDIAN) { + if (ENDIAN_ORDER==B_ENDIAN) { SWITCH_INT(numfacets); } fwrite(&numfacets, 4*sizeof(char), 1, fpSTL); @@ -2605,7 +2606,7 @@ static void write_videoscape_mesh(Object *ob, char *str) cp[1]= (unsigned char) (255.0*ma->b); cp[2]= (unsigned char) (255.0*ma->g); cp[3]= (unsigned char) (255.0*ma->r); - if(G.order==L_ENDIAN) SWITCH_INT(kleur[a]); + if(ENDIAN_ORDER==L_ENDIAN) SWITCH_INT(kleur[a]); } else kleur[a]= 0x00C0C0C0; @@ -3026,7 +3027,7 @@ void write_vrml(char *str) /* FIRST: write all the datablocks */ - fprintf(fp, "#VRML V1.0 ascii\n\n# Blender V%d\n\n# 'Switch' is used as a hack, to ensure it is not part of the drawing\n\n", G.version); + fprintf(fp, "#VRML V1.0 ascii\n\n# Blender V%d\n\n# 'Switch' is used as a hack, to ensure it is not part of the drawing\n\n", BLENDER_VERSION); fprintf(fp, "Separator {\n"); fprintf(fp, "Switch {\n"); diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index 7008f254871..3ac3ed4f7aa 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -302,7 +302,7 @@ static AVFrame* generate_video_frame(uint8_t* pixels) /* Do RGBA-conversion and flipping in one step depending on CPU-Endianess */ - if (G.order == L_ENDIAN) { + if (ENDIAN_ORDER == L_ENDIAN) { int y; for (y = 0; y < height; y++) { uint8_t* target = rgb_frame->data[0] diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index c5fa2f8d282..eb915bb0d00 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -2071,7 +2071,7 @@ static int write_file_handle(Main *mainvar, int handle, MemFile *compare, MemFil wd= bgnwrite(handle, compare, current, write_flags); - sprintf(buf, "BLENDER%c%c%.3d", (sizeof(void*)==8)?'-':'_', (G.order==B_ENDIAN)?'V':'v', G.version); + sprintf(buf, "BLENDER%c%c%.3d", (sizeof(void*)==8)?'-':'_', (ENDIAN_ORDER==B_ENDIAN)?'V':'v', BLENDER_VERSION); mywrite(wd, buf, 12); write_renderinfo(wd, mainvar); diff --git a/source/blender/editors/include/BIF_glutil.h b/source/blender/editors/include/BIF_glutil.h index b354591fc5f..6364b8bf1af 100644 --- a/source/blender/editors/include/BIF_glutil.h +++ b/source/blender/editors/include/BIF_glutil.h @@ -210,7 +210,7 @@ void setlinestyle(int nr); /* own working polygon offset */ -void bglPolygonOffset(float dist); +void bglPolygonOffset(float viewdist, float dist); /* For caching opengl matrices (gluProject/gluUnProject) */ typedef struct bglMats { diff --git a/source/blender/editors/include/ED_util.h b/source/blender/editors/include/ED_util.h index ab09e7ff96a..93bb5ef1208 100644 --- a/source/blender/editors/include/ED_util.h +++ b/source/blender/editors/include/ED_util.h @@ -30,7 +30,7 @@ /* ************** XXX OLD CRUFT WARNING ************* */ -void apply_keyb_grid(float *val, float fac1, float fac2, float fac3, int invert); +void apply_keyb_grid(int shift, int ctrl, float *val, float fac1, float fac2, float fac3, int invert); int GetButStringLength(char *str); #endif /* ED_UTIL_H */ diff --git a/source/blender/editors/screen/glutil.c b/source/blender/editors/screen/glutil.c index f4739a218d6..d500c9f37c1 100644 --- a/source/blender/editors/screen/glutil.c +++ b/source/blender/editors/screen/glutil.c @@ -739,12 +739,8 @@ void bgl_get_mats(bglMats *mats) /* *************** glPolygonOffset hack ************* */ -// both temporal, so here for now (ton) -#include "BKE_global.h" -#include "DNA_view3d_types.h" - /* dist is only for ortho now... */ -void bglPolygonOffset(float dist) +void bglPolygonOffset(float viewdist, float dist) { static float winmat[16], offset=0.0; @@ -760,7 +756,7 @@ void bglPolygonOffset(float dist) /* dist is from camera to center point */ - if(winmat[15]>0.5) offs= 0.00001*dist*G.vd->dist; // ortho tweaking + if(winmat[15]>0.5) offs= 0.00001*dist*viewdist; // ortho tweaking else offs= 0.0005*dist; // should be clipping value or so... winmat[14]-= offs; diff --git a/source/blender/editors/screen/stubs.c b/source/blender/editors/screen/stubs.c index 1cc657be985..aca51463885 100644 --- a/source/blender/editors/screen/stubs.c +++ b/source/blender/editors/screen/stubs.c @@ -29,14 +29,8 @@ #include /* various UI stuff */ -void blender_test_break() {} -void error() {} void set_timecursor() {} -void waitcursor() {} void mainqenter() {} -void saveover() {} -void BIF_icons_free() {} -void BIF_icons_init() {} char texstr[20][12]; diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index a0a76bb6d15..58a9c126324 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -194,7 +194,7 @@ static int draw_tfaces3D__drawFaceOpts(void *userData, int index) else return 0; } -static void draw_tfaces3D(Object *ob, Mesh *me, DerivedMesh *dm) +static void draw_tfaces3D(View3D *v3d, Object *ob, Mesh *me, DerivedMesh *dm) { struct { Mesh *me; EdgeHash *eh; } data; @@ -203,7 +203,7 @@ static void draw_tfaces3D(Object *ob, Mesh *me, DerivedMesh *dm) glEnable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); - bglPolygonOffset(1.0); + bglPolygonOffset(v3d->dist, 1.0); /* Draw (Hidden) Edges */ UI_ThemeColor(TH_EDGE_FACESEL); @@ -230,7 +230,7 @@ static void draw_tfaces3D(Object *ob, Mesh *me, DerivedMesh *dm) glDisable(GL_BLEND); } - bglPolygonOffset(1.0); + bglPolygonOffset(v3d->dist, 1.0); /* Draw Stippled Outline for selected faces */ glColor3ub(255, 255, 255); @@ -240,7 +240,7 @@ static void draw_tfaces3D(Object *ob, Mesh *me, DerivedMesh *dm) dm->drawMappedEdges(dm, draw_tfaces3D__setActiveOpts, &data); - bglPolygonOffset(0.0); // resets correctly now, even after calling accumulated offsets + bglPolygonOffset(v3d->dist, 0.0); // resets correctly now, even after calling accumulated offsets BLI_edgehash_free(data.eh, NULL); } @@ -567,7 +567,7 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, Object *ob, DerivedMesh *dm, /* draw edges and selected faces over textured mesh */ if(!G.obedit && faceselect) - draw_tfaces3D(ob, me, dm); + draw_tfaces3D(v3d, ob, me, dm); /* reset from negative scale correction */ glFrontFace(GL_CCW); diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 01bdc1ba941..ca813e919fc 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -1804,7 +1804,7 @@ static void draw_em_measure_stats(View3D *v3d, Object *ob, EditMesh *em) if(v3d->zbuf && (v3d->flag & V3D_ZBUF_SELECT)==0) glDisable(GL_DEPTH_TEST); - if(v3d->zbuf) bglPolygonOffset(5.0); + if(v3d->zbuf) bglPolygonOffset(v3d->dist, 5.0); if(G.f & G_DRAW_EDGELEN) { UI_GetThemeColor3fv(TH_TEXT, col); @@ -1939,7 +1939,7 @@ static void draw_em_measure_stats(View3D *v3d, Object *ob, EditMesh *em) if(v3d->zbuf) { glEnable(GL_DEPTH_TEST); - bglPolygonOffset(0.0); + bglPolygonOffset(v3d->dist, 0.0); } } @@ -2014,7 +2014,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, Object *ob, EditMesh *em, D // write to show selected edge wires better UI_ThemeColor(TH_WIRE); - bglPolygonOffset(1.0); + bglPolygonOffset(v3d->dist, 1.0); glDepthMask(0); } else { @@ -2117,7 +2117,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, Object *ob, EditMesh *em, D if(dt>OB_WIRE) { glDepthMask(1); - bglPolygonOffset(0.0); + bglPolygonOffset(v3d->dist, 0.0); GPU_disable_material(); } @@ -2349,7 +2349,7 @@ static void draw_mesh_fancy(Scene *scene, View3D *v3d, Base *base, int dt, int f * otherwise this wire is to overlay solid mode faces so do some depth buffer tricks. */ if (dt!=OB_WIRE && draw_wire==2) { - bglPolygonOffset(1.0); + bglPolygonOffset(v3d->dist, 1.0); glDepthMask(0); // disable write in zbuffer, selected edge wires show better } @@ -2357,7 +2357,7 @@ static void draw_mesh_fancy(Scene *scene, View3D *v3d, Base *base, int dt, int f if (dt!=OB_WIRE && draw_wire==2) { glDepthMask(1); - bglPolygonOffset(0.0); + bglPolygonOffset(v3d->dist, 0.0); } } @@ -2388,7 +2388,7 @@ static int draw_mesh_object(Scene *scene, View3D *v3d, Base *base, int dt, int f if(dt>OB_WIRE) { // no transp in editmode, the fancy draw over goes bad then glsl = draw_glsl_material(scene, ob, v3d, dt); - GPU_set_object_materials(scene, ob, glsl, NULL); + GPU_set_object_materials(v3d, scene, ob, glsl, NULL); } draw_em_fancy(scene, v3d, ob, G.editMesh, cageDM, finalDM, dt); @@ -2407,7 +2407,7 @@ static int draw_mesh_object(Scene *scene, View3D *v3d, Base *base, int dt, int f check_alpha = check_material_alpha(base, ob, glsl); if(dt==OB_SOLID || glsl) { - GPU_set_object_materials(scene, ob, glsl, + GPU_set_object_materials(v3d, scene, ob, glsl, (check_alpha)? &do_alpha_pass: NULL); } @@ -2722,7 +2722,7 @@ static int drawDispList(Scene *scene, View3D *v3d, Base *base, int dt) } else { if(draw_glsl_material(scene, ob, v3d, dt)) { - GPU_set_object_materials(scene, ob, 1, NULL); + GPU_set_object_materials(v3d, scene, ob, 1, NULL); drawDispListsolid(lb, ob, 1); } else if(dt == OB_SHADED) { @@ -2730,7 +2730,7 @@ static int drawDispList(Scene *scene, View3D *v3d, Base *base, int dt) drawDispListshaded(lb, ob); } else { - GPU_set_object_materials(scene, ob, 0, NULL); + GPU_set_object_materials(v3d, scene, ob, 0, NULL); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0); drawDispListsolid(lb, ob, 0); } @@ -2760,7 +2760,7 @@ static int drawDispList(Scene *scene, View3D *v3d, Base *base, int dt) if(dl->nors==NULL) addnormalsDispList(ob, lb); if(draw_glsl_material(scene, ob, v3d, dt)) { - GPU_set_object_materials(scene, ob, 1, NULL); + GPU_set_object_materials(v3d, scene, ob, 1, NULL); drawDispListsolid(lb, ob, 1); } else if(dt==OB_SHADED) { @@ -2768,7 +2768,7 @@ static int drawDispList(Scene *scene, View3D *v3d, Base *base, int dt) drawDispListshaded(lb, ob); } else { - GPU_set_object_materials(scene, ob, 0, NULL); + GPU_set_object_materials(v3d, scene, ob, 0, NULL); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0); drawDispListsolid(lb, ob, 0); @@ -2788,7 +2788,7 @@ static int drawDispList(Scene *scene, View3D *v3d, Base *base, int dt) if(solid) { if(draw_glsl_material(scene, ob, v3d, dt)) { - GPU_set_object_materials(scene, ob, 1, NULL); + GPU_set_object_materials(v3d, scene, ob, 1, NULL); drawDispListsolid(lb, ob, 1); } else if(dt == OB_SHADED) { @@ -2797,7 +2797,7 @@ static int drawDispList(Scene *scene, View3D *v3d, Base *base, int dt) drawDispListshaded(lb, ob); } else { - GPU_set_object_materials(scene, ob, 0, NULL); + GPU_set_object_materials(v3d, scene, ob, 0, NULL); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0); drawDispListsolid(lb, ob, 0); @@ -4593,7 +4593,7 @@ static void drawWireExtra(Scene *scene, View3D *v3d, Object *ob) } } - bglPolygonOffset(1.0); + bglPolygonOffset(v3d->dist, 1.0); glDepthMask(0); // disable write in zbuffer, selected edge wires show better if (ELEM3(ob->type, OB_FONT, OB_CURVE, OB_SURF)) { @@ -4610,7 +4610,7 @@ static void drawWireExtra(Scene *scene, View3D *v3d, Object *ob) } glDepthMask(1); - bglPolygonOffset(0.0); + bglPolygonOffset(v3d->dist, 0.0); } /* should be called in view space */ @@ -5376,7 +5376,7 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, Object *ob) em_solidoffs= bbs_mesh_solid_EM(scene, v3d, dm, scene->selectmode & SCE_SELECT_FACE); - bglPolygonOffset(1.0); + bglPolygonOffset(v3d->dist, 1.0); // we draw edges always, for loop (select) tools em_wireoffs= bbs_mesh_wire(dm, em_solidoffs); @@ -5386,7 +5386,7 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, Object *ob) em_vertoffs= bbs_mesh_verts(dm, em_wireoffs); else em_vertoffs= em_wireoffs; - bglPolygonOffset(0.0); + bglPolygonOffset(v3d->dist, 0.0); dm->release(dm); @@ -5430,7 +5430,7 @@ static void draw_object_mesh_instance(Scene *scene, View3D *v3d, Object *ob, int if(dm) { glsl = draw_glsl_material(scene, ob, v3d, dt); - GPU_set_object_materials(scene, ob, glsl, NULL); + GPU_set_object_materials(v3d, scene, ob, glsl, NULL); } else { glEnable(GL_COLOR_MATERIAL); diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index f7a1206c164..9f50b75ceaa 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -921,7 +921,7 @@ void initlocalview(Scene *scene, ARegion *ar, View3D *v3d) else { base= FIRSTBASE; while(base) { - if TESTBASE(base) { + if TESTBASE(v3d, base) { minmax_object(base->object, min, max); base->lay |= locallay; base->object->lay= base->lay; @@ -1003,7 +1003,7 @@ void centerview(ARegion *ar, View3D *v3d) /* like a localview without local! */ /* this is weak code this way, we should make a generic active/selection callback interface once... */ Base *base; for(base=FIRSTBASE; base; base= base->next) { - if(TESTBASELIB(base)) { + if(TESTBASELIB(v3d, base)) { if(base->object->type==OB_ARMATURE) if(base->object->flag & OB_POSEMODE) break; @@ -1047,7 +1047,7 @@ void centerview(ARegion *ar, View3D *v3d) /* like a localview without local! */ else { Base *base= FIRSTBASE; while(base) { - if TESTBASE(base) { + if TESTBASE(v3d, base) { minmax_object(base->object, min, max); /* account for duplis */ minmax_object_duplis(base->object, min, max); diff --git a/source/blender/editors/util/ed_markers.c b/source/blender/editors/util/ed_markers.c index 96f7f15f8c9..6c27219c9c7 100644 --- a/source/blender/editors/util/ed_markers.c +++ b/source/blender/editors/util/ed_markers.c @@ -394,9 +394,9 @@ static int ed_marker_move_modal(bContext *C, wmOperator *op, wmEvent *evt) fac= ((float)(evt->x - mm->firstx)*dx); if (ELEM(mm->slink->spacetype, SPACE_TIME, SPACE_SOUND)) - apply_keyb_grid(&fac, 0.0, FPS, 0.1*FPS, 0); + apply_keyb_grid(evt->shift, evt->ctrl, &fac, 0.0, FPS, 0.1*FPS, 0); else - apply_keyb_grid(&fac, 0.0, 1.0, 0.1, U.flag & USER_AUTOGRABGRID); + apply_keyb_grid(evt->shift, evt->ctrl, &fac, 0.0, 1.0, 0.1, U.flag & USER_AUTOGRABGRID); offs= (int)fac; RNA_int_set(op->ptr, "frs", offs); diff --git a/source/blender/editors/util/ed_util.c b/source/blender/editors/util/ed_util.c index 841c5cd3cb5..5113326cff1 100644 --- a/source/blender/editors/util/ed_util.c +++ b/source/blender/editors/util/ed_util.c @@ -47,19 +47,14 @@ /* now only used in 2d spaces, like time, ipo, nla, sima... */ -/* XXX clean G.qual */ -void apply_keyb_grid(float *val, float fac1, float fac2, float fac3, int invert) +/* XXX shift/ctrl not configurable */ +void apply_keyb_grid(int shift, int ctrl, float *val, float fac1, float fac2, float fac3, int invert) { /* fac1 is for 'nothing', fac2 for CTRL, fac3 for SHIFT */ - int ctrl; + if(invert) + ctrl= !ctrl; - if(invert) { - if(G.qual & LR_CTRLKEY) ctrl= 0; - else ctrl= 1; - } - else ctrl= (G.qual & LR_CTRLKEY); - - if(ctrl && (G.qual & LR_SHIFTKEY)) { + if(ctrl && shift) { if(fac3!= 0.0) *val= fac3*floor(*val/fac3 +.5); } else if(ctrl) { diff --git a/source/blender/gpu/GPU_draw.h b/source/blender/gpu/GPU_draw.h index 2399e7b6a8c..69f44cb2566 100644 --- a/source/blender/gpu/GPU_draw.h +++ b/source/blender/gpu/GPU_draw.h @@ -37,10 +37,11 @@ extern "C" { #endif -struct MTFace; struct Image; -struct Scene; +struct MTFace; struct Object; +struct Scene; +struct View3d; /* OpenGL drawing functions related to shading. These are also * shared with the game engine, where there were previously @@ -61,8 +62,8 @@ void GPU_state_init(void); * GPU_enable_material returns 0 if drawing should be skipped * - after drawing, the material must be disabled again */ -void GPU_set_object_materials(struct Scene *scene, struct Object *ob, - int glsl, int *do_alpha_pass); +void GPU_set_object_materials(struct View3D *v3d, struct Scene *scene, + struct Object *ob, int glsl, int *do_alpha_pass); int GPU_enable_material(int nr, void *attribs); void GPU_disable_material(void); diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index 4025a12a867..237aa802ed8 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -757,6 +757,9 @@ static struct GPUMaterialState { Material *gboundmat; Object *gob; Scene *gscene; + int glay; + float (*gviewmat)[4]; + float (*gviewinv)[4]; GPUBlendMode blendmode[MAXMATBUF]; int alphapass; @@ -779,7 +782,7 @@ Material *gpu_active_node_material(Material *ma) return ma; } -void GPU_set_object_materials(Scene *scene, Object *ob, int glsl, int *do_alpha_pass) +void GPU_set_object_materials(View3D *v3d, Scene *scene, Object *ob, int glsl, int *do_alpha_pass) { extern Material defmaterial; /* from material.c */ Material *ma; @@ -796,8 +799,11 @@ void GPU_set_object_materials(Scene *scene, Object *ob, int glsl, int *do_alpha_ GMS.gob = ob; GMS.gscene = scene; GMS.totmat= ob->totcol; + GMS.glay= v3d->lay; + GMS.gviewmat= v3d->viewmat; + GMS.gviewinv= v3d->viewinv; - GMS.alphapass = (G.vd && G.vd->transp); + GMS.alphapass = (v3d && v3d->transp); if(do_alpha_pass) *do_alpha_pass = 0; @@ -918,8 +924,8 @@ int GPU_enable_material(int nr, void *attribs) gpumat = GPU_material_from_blender(GMS.gscene, mat); GPU_material_vertex_attributes(gpumat, gattribs); - GPU_material_bind(gpumat, GMS.gob->lay, G.vd->lay, 1.0); - GPU_material_bind_uniforms(gpumat, GMS.gob->obmat, G.vd->viewmat, G.vd->viewinv, GMS.gob->col); + GPU_material_bind(gpumat, GMS.gob->lay, GMS.glay, 1.0); + GPU_material_bind_uniforms(gpumat, GMS.gob->obmat, GMS.gviewmat, GMS.gviewinv, GMS.gob->col); GMS.gboundmat= mat; if(GMS.alphapass) glDepthMask(1); diff --git a/source/blender/imbuf/intern/amiga.c b/source/blender/imbuf/intern/amiga.c index 534e4945aa3..f84740826ae 100644 --- a/source/blender/imbuf/intern/amiga.c +++ b/source/blender/imbuf/intern/amiga.c @@ -532,7 +532,7 @@ struct ImBuf *imb_loadamiga(int *iffmem,int flags) if (ibuf) { if (ibuf->rect) - if (G.order == B_ENDIAN) IMB_convert_rgba_to_abgr(ibuf); + if (ENDIAN_ORDER == B_ENDIAN) IMB_convert_rgba_to_abgr(ibuf); } return (ibuf); diff --git a/source/blender/imbuf/intern/anim.c b/source/blender/imbuf/intern/anim.c index 80bf401bec0..9d70dd3fc60 100644 --- a/source/blender/imbuf/intern/anim.c +++ b/source/blender/imbuf/intern/anim.c @@ -778,7 +778,7 @@ static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) { } } - if (G.order == B_ENDIAN) { + if (ENDIAN_ORDER == B_ENDIAN) { int * dstStride = anim->pFrameRGB->linesize; uint8_t** dst = anim->pFrameRGB->data; diff --git a/source/blender/imbuf/intern/tiff.c b/source/blender/imbuf/intern/tiff.c index 194082d3e19..b2465d6cc2f 100644 --- a/source/blender/imbuf/intern/tiff.c +++ b/source/blender/imbuf/intern/tiff.c @@ -410,7 +410,7 @@ struct ImBuf *imb_loadtiff(unsigned char *mem, int size, int flags) /* close the client layer interface to the in-memory file */ libtiff_TIFFClose(image); - if (G.order == B_ENDIAN) IMB_convert_rgba_to_abgr(ibuf); + if (ENDIAN_ORDER == B_ENDIAN) IMB_convert_rgba_to_abgr(ibuf); /* return successfully */ return (ibuf); diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 859b3abd7e2..9157475c331 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -721,9 +721,9 @@ typedef struct Scene { #define MINFRAME 1 #define MINFRAMEF 1.0 -#define TESTBASE(base) ( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0) ) -#define TESTBASELIB(base) ( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) -#define BASE_SELECTABLE(base) ((base->lay & G.vd->lay) && (base->object->restrictflag & (OB_RESTRICT_SELECT|OB_RESTRICT_VIEW))==0) +#define TESTBASE(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0) ) +#define TESTBASELIB(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) +#define BASE_SELECTABLE(v3d, base) ((base->lay & v3d->lay) && (base->object->restrictflag & (OB_RESTRICT_SELECT|OB_RESTRICT_VIEW))==0) #define FIRSTBASE G.scene->base.first #define LASTBASE G.scene->base.last #define BASACT (G.scene->basact) diff --git a/source/blender/radiosity/extern/include/radio.h b/source/blender/radiosity/extern/include/radio.h index b50560438fb..847d2fb1ae9 100644 --- a/source/blender/radiosity/extern/include/radio.h +++ b/source/blender/radiosity/extern/include/radio.h @@ -41,6 +41,7 @@ #include "radio_types.h" extern RadGlobal RG; +struct View3D; /* radfactors.c */ extern float calcStokefactor(RPatch *shoot, RPatch *rp, RNode *rn, float *area); @@ -111,7 +112,7 @@ extern void splitconnected(void); extern int vergedge(const void *v1,const void *v2); extern void addedge(float *v1, float *v2, EdSort *es); extern void setedgepointers(void); -extern void rad_collect_meshes(void); +extern void rad_collect_meshes(struct View3D *v3d); extern void countelem(RNode *rn); extern void countglobaldata(void); extern void addelem(RNode ***el, RNode *rn, RPatch *rp); diff --git a/source/blender/radiosity/intern/source/radpreprocess.c b/source/blender/radiosity/intern/source/radpreprocess.c index eec75942da0..30d2e000bb7 100644 --- a/source/blender/radiosity/intern/source/radpreprocess.c +++ b/source/blender/radiosity/intern/source/radpreprocess.c @@ -293,7 +293,7 @@ static int materialIndex(Material *ma) return -1; } -void rad_collect_meshes() +void rad_collect_meshes(View3D *v3d) { extern Material defmaterial; Base *base; @@ -309,7 +309,7 @@ void rad_collect_meshes() float *vd, *v1, *v2, *v3, *v4 = NULL; int a, b, offs, index, mfdatatot; - if (G.vd==NULL) { + if (v3d==NULL) { printf("Error, trying to collect radiosity meshes with no 3d view\n"); return; } @@ -330,7 +330,7 @@ void rad_collect_meshes() RG.totface= 0; base= (G.scene->base.first); while(base) { - if(((base)->flag & SELECT) && ((base)->lay & G.vd->lay) ) { + if(((base)->flag & SELECT) && ((base)->lay & v3d->lay) ) { if(base->object->type==OB_MESH) { base->flag |= OB_RADIO; me= base->object->data; @@ -353,7 +353,7 @@ void rad_collect_meshes() /* min-max and material array */ base= (G.scene->base.first); while(base) { - if( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) ) { + if( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) ) { if(base->object->type==OB_MESH) { me= base->object->data; mvert= me->mvert; @@ -420,7 +420,7 @@ void rad_collect_meshes() base= (G.scene->base.first); while(base) { - if( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) ) { + if( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) ) { if(base->object->type==OB_MESH) { ob= base->object; me= ob->data; diff --git a/source/blender/render/extern/include/RE_render_ext.h b/source/blender/render/extern/include/RE_render_ext.h index e61de5bc3e6..08df53221c8 100644 --- a/source/blender/render/extern/include/RE_render_ext.h +++ b/source/blender/render/extern/include/RE_render_ext.h @@ -35,7 +35,9 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* called by meshtools */ -void RE_make_sticky(void); +struct View3D; + +void RE_make_sticky(struct View3D *v3d); /* for radiosity module */ struct RadView; diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index e2692113d16..e24748fecff 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -5512,7 +5512,7 @@ void RE_Database_Baking(Render *re, Scene *scene, int type, Object *actob) /* Sticky texture coords */ /* ------------------------------------------------------------------------- */ -void RE_make_sticky(void) +void RE_make_sticky(View3D *v3d) { Object *ob; Base *base; @@ -5523,7 +5523,7 @@ void RE_make_sticky(void) float ho[4], mat[4][4]; int a; - if(G.vd==NULL) { + if(v3d==NULL) { printf("Need a 3d view to make sticky\n"); return; } @@ -5549,7 +5549,7 @@ void RE_make_sticky(void) RE_SetView(re, mat); for(base= FIRSTBASE; base; base= base->next) { - if TESTBASELIB(base) { + if TESTBASELIB(v3d, base) { if(base->object->type==OB_MESH) { ob= base->object; diff --git a/source/blender/yafray/intern/yafray_Render.h b/source/blender/yafray/intern/yafray_Render.h index 43d2c6c602a..165cfefdbd0 100644 --- a/source/blender/yafray/intern/yafray_Render.h +++ b/source/blender/yafray/intern/yafray_Render.h @@ -34,9 +34,6 @@ extern "C" { #include "BLI_blenlib.h" -/* need error(), so extern declare here */ -extern void error (char *fmt, ...); - #ifdef __cplusplus } #endif diff --git a/source/creator/creator.c b/source/creator/creator.c index f96edf99029..471ea6bbe5b 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -144,20 +144,20 @@ static void blender_esc(int sig) static void print_version(void) { #ifdef BUILD_DATE - printf ("Blender %d.%02d (sub %d) Build\n", G.version/100, G.version%100, BLENDER_SUBVERSION); + printf ("Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION); printf ("\tbuild date: %s\n", build_date); printf ("\tbuild time: %s\n", build_time); printf ("\tbuild revision: %s\n", build_rev); printf ("\tbuild platform: %s\n", build_platform); printf ("\tbuild type: %s\n", build_type); #else - printf ("Blender %d.%02d (sub %d) Build\n", G.version/100, G.version%100, BLENDER_SUBVERSION); + printf ("Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION); #endif } static void print_help(void) { - printf ("Blender %d.%02d (sub %d) Build\n", G.version/100, G.version%100, BLENDER_SUBVERSION); + printf ("Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION); printf ("Usage: blender [args ...] [file] [args ...]\n"); printf ("\nRender options:\n"); printf (" -b \tRender in background (doesn't load the user defaults .B.blend file)\n"); @@ -429,7 +429,7 @@ int main(int argc, char **argv) break; case 'd': G.f |= G_DEBUG; /* std output printf's */ - printf ("Blender %d.%02d (sub %d) Build\n", G.version/100, G.version%100, BLENDER_SUBVERSION); + printf ("Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION); MEM_set_memory_debug(); #ifdef NAN_BUILDINFO printf("Build: %s %s %s %s\n", build_date, build_time, build_platform, build_type); diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp index 6c2e110db76..01eedc68964 100644 --- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp +++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp @@ -210,7 +210,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area, int tmp_lay= G.scene->lay; Object *tmp_camera = G.scene->camera; - if (G.vd->scenelock==0){ + if (v3d->scenelock==0){ G.scene->lay= v3d->lay; G.scene->camera= v3d->camera; } @@ -477,7 +477,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area, gameLogic_keys = NULL; } //lock frame and camera enabled - restoring global values - if (G.vd->scenelock==0){ + if (v3d->scenelock==0){ G.scene->lay= tmp_lay; G.scene->camera= tmp_camera; } -- cgit v1.2.3