Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/src/usiblender.c')
-rw-r--r--source/blender/src/usiblender.c72
1 files changed, 63 insertions, 9 deletions
diff --git a/source/blender/src/usiblender.c b/source/blender/src/usiblender.c
index b0a4f53a52f..e280078e61d 100644
--- a/source/blender/src/usiblender.c
+++ b/source/blender/src/usiblender.c
@@ -34,8 +34,6 @@
#include <stdio.h>
#include <string.h>
-#include "GL/glew.h"
-
#ifdef WIN32
#include <windows.h> /* need to include windows.h so _WIN32_IE is defined */
#ifndef _WIN32_IE
@@ -69,6 +67,7 @@
#include "DNA_sound_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
+#include "DNA_text_types.h"
#include "BKE_blender.h"
#include "BKE_curve.h"
@@ -82,6 +81,7 @@
#include "BKE_multires.h"
#include "BKE_node.h"
#include "BKE_packedFile.h"
+#include "BKE_suggestions.h"
#include "BKE_texture.h"
#include "BKE_utildefines.h"
#include "BKE_pointcache.h"
@@ -135,7 +135,9 @@
#include "BDR_imagepaint.h"
#include "BDR_vpaint.h"
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
#include "blendef.h"
@@ -148,6 +150,11 @@
#include "PIL_time.h"
+#include "reeb.h"
+
+#include "GPU_extensions.h"
+#include "GPU_draw.h"
+
/***/
/* define for setting colors in theme below */
@@ -199,6 +206,9 @@ static void init_userdef_file(void)
if (U.ndof_rotate==0) {
U.ndof_rotate = 100;
}
+ if (U.gp_eraser == 0) {
+ U.gp_eraser= 25;
+ }
if(U.flag & USER_CUSTOM_RANGE)
vDM_ColorBand_store(&U.coba_weight); /* signal for derivedmesh to use colorband */
@@ -478,7 +488,34 @@ static void init_userdef_file(void)
if ((G.main->versionfile < 245) || (G.main->versionfile == 245 && G.main->subversionfile < 16)) {
U.flag |= USER_ADD_VIEWALIGNED|USER_ADD_EDITMODE;
}
-
+ if ((G.main->versionfile < 247) || (G.main->versionfile == 247 && G.main->subversionfile <= 2)) {
+ bTheme *btheme;
+
+ /* adjust themes */
+ for (btheme= U.themes.first; btheme; btheme= btheme->next) {
+ char *col;
+
+ /* IPO Editor: Handles/Vertices */
+ col = btheme->tipo.vertex;
+ SETCOL(btheme->tipo.handle_vertex, col[0], col[1], col[2], 255);
+ col = btheme->tipo.vertex_select;
+ SETCOL(btheme->tipo.handle_vertex_select, col[0], col[1], col[2], 255);
+ btheme->tipo.handle_vertex_size= btheme->tipo.vertex_size;
+
+ /* Sequence/Image Editor: colors for GPencil text */
+ col = btheme->tv3d.bone_pose;
+ SETCOL(btheme->tseq.bone_pose, col[0], col[1], col[2], 255);
+ SETCOL(btheme->tima.bone_pose, col[0], col[1], col[2], 255);
+ col = btheme->tv3d.vertex_select;
+ SETCOL(btheme->tseq.vertex_select, col[0], col[1], col[2], 255);
+ }
+ }
+ if ((G.main->versionfile < 247) || (G.main->versionfile == 247 && G.main->subversionfile <= 9)) {
+ /* define grease-pencil distances */
+ U.gp_manhattendist= 2;
+ U.gp_euclideandist= 15;
+ }
+
/* GL Texture Garbage Collection (variable abused above!) */
if (U.textimeout == 0) {
U.texcollectrate = 60;
@@ -568,8 +605,9 @@ void BIF_read_file(char *name)
if (retval!=0) G.relbase_valid = 1;
undo_editmode_clear();
+ undo_imagepaint_clear();
BKE_reset_undo();
- BKE_write_undo("original"); /* save current state */
+ BKE_write_undo("Original"); /* save current state */
refresh_interface_font();
}
@@ -641,13 +679,16 @@ int BIF_read_homefile(int from_memory)
init_userdef_file();
undo_editmode_clear();
+ undo_imagepaint_clear();
BKE_reset_undo();
- BKE_write_undo("original"); /* save current state */
-
+ BKE_write_undo("Original"); /* save current state */
+
+#ifndef DISABLE_PYTHON
/* if from memory, need to refresh python scripts */
if (from_memory) {
BPY_path_update();
}
+#endif
return success;
}
@@ -880,8 +921,10 @@ void BIF_write_file(char *target)
return;
}
+#ifndef DISABLE_PYTHON
/* send the OnSave event */
if (G.f & G_DOSCRIPTLINKS) BPY_do_pyscript(&G.scene->id, SCRIPT_ONSAVE);
+#endif
for (li= G.main->library.first; li; li= li->id.next) {
if (li->parent==NULL && BLI_streq(li->name, target)) {
@@ -1046,8 +1089,9 @@ void BIF_init(void)
BIF_filelist_init_icons();
- init_gl_stuff(); /* drawview.c, after homefile */
- glewInit();
+ GPU_state_init();
+ GPU_extensions_init();
+
readBlog();
BLI_strncpy(G.lib, G.sce, FILE_MAX);
}
@@ -1060,9 +1104,13 @@ extern ListBase editelems;
void exit_usiblender(void)
{
struct TmpFont *tf;
+ int totblock;
BIF_clear_tempfiles();
+ BIF_GlobalReebFree();
+ BIF_freeRetarget();
+
tf= G.ttfdata.first;
while(tf)
{
@@ -1095,17 +1143,20 @@ void exit_usiblender(void)
free_editArmature();
free_posebuf();
+#ifndef DISABLE_PYTHON
/* before free_blender so py's gc happens while library still exists */
/* needed at least for a rare sigsegv that can happen in pydrivers */
BPY_end_python();
+#endif
fastshade_free_render(); /* shaded view */
free_blender(); /* blender.c, does entire library */
free_matcopybuf();
free_ipocopybuf();
free_actcopybuf();
+ free_gpcopybuf();
free_vertexpaint();
- free_imagepaint();
+ free_texttools();
/* editnurb can remain to exist outside editmode */
freeNurblist(&editNurb);
@@ -1123,6 +1174,7 @@ void exit_usiblender(void)
sound_exit_audio();
if(G.listener) MEM_freeN(G.listener);
+ GPU_extensions_exit();
libtiff_exit();
@@ -1132,6 +1184,7 @@ void exit_usiblender(void)
/* undo free stuff */
undo_editmode_clear();
+ undo_imagepaint_clear();
BKE_undo_save_quit(); // saves quit.blend if global undo is on
BKE_reset_undo();
@@ -1157,6 +1210,7 @@ void exit_usiblender(void)
BLI_freelistN(&U.themes);
BIF_preview_free_dbase();
+ totblock= MEM_get_memory_blocks_in_use();
if(totblock!=0) {
printf("Error Totblock: %d\n",totblock);
MEM_printmemlist();