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:
authorJoerg Mueller <nexyon@gmail.com>2011-07-22 01:11:58 +0400
committerJoerg Mueller <nexyon@gmail.com>2011-07-22 01:11:58 +0400
commit4532bd731d5edbe348d4df810856f6bdfdea705c (patch)
tree778fdcd594b5f384eacf5cd82f50afc10bbed513 /source/blender/blenkernel
parentcf34f7509f4ea8c3f0c92045933f089c72de5313 (diff)
parentbbfe3c9c49523d3987a3144da119d8f6afd09cf9 (diff)
Merge with trunk up to r38584.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/CMakeLists.txt55
-rw-r--r--source/blender/blenkernel/SConscript2
-rw-r--r--source/blender/blenkernel/intern/image.c3
-rw-r--r--source/blender/blenkernel/intern/particle_system.c2
-rw-r--r--source/blender/blenkernel/intern/pointcache.c6
-rw-r--r--source/blender/blenkernel/intern/sequencer.c3
-rw-r--r--source/blender/blenkernel/intern/smoke.c17
-rw-r--r--source/blender/blenkernel/intern/sound.c7
8 files changed, 74 insertions, 21 deletions
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index a19d48daa75..9a384c40e24 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -32,8 +32,10 @@ endif()
set(INC
.
../avi
+ ../blenfont
../blenlib
../blenloader
+ ../editors/include
../gpu
../ikplugin
../imbuf
@@ -41,18 +43,19 @@ set(INC
../makesrna
../modifiers
../nodes
- ../editors/include
../render/extern/include
- ../../../intern/bsp/extern ../blenfont
+ ../../../intern/bsp/extern
../../../intern/decimation/extern
../../../intern/elbeem/extern
../../../intern/guardedalloc
../../../intern/iksolver/extern
../../../intern/memutil
+ ../../../intern/mikktspace
../../../intern/opennl/extern
../../../intern/smoke/extern
- ../../../intern/mikktspace
- ../../../source/blender/windowmanager # XXX - BAD LEVEL CALL WM_api.h
+
+ # XXX - BAD LEVEL CALL WM_api.h
+ ../windowmanager
)
set(INC_SYS
@@ -243,12 +246,16 @@ if(WITH_AUDASPACE)
endif()
if(WITH_BULLET)
- list(APPEND INC ../../../extern/bullet2/src)
+ list(APPEND INC
+ ../../../extern/bullet2/src
+ )
add_definitions(-DUSE_BULLET)
endif()
if(WITH_MOD_CLOTH_ELTOPO)
- list(APPEND INC ../../../extern/eltopo)
+ list(APPEND INC
+ ../../../extern/eltopo
+ )
add_definitions(-DWITH_ELTOPO)
endif()
@@ -277,20 +284,32 @@ if(WITH_IMAGE_HDR)
endif()
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime)
- list(APPEND INC_SYS ${QUICKTIME_INCLUDE_DIRS})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC ../../../intern/ffmpeg)
- list(APPEND INC_SYS ${FFMPEG_INCLUDE_DIRS})
+ list(APPEND INC
+ ../../../intern/ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_PYTHON)
- list(APPEND INC ../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_SECURITY)
@@ -306,17 +325,25 @@ if(NOT WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM)
endif()
+if(WITH_MOD_SMOKE)
+ add_definitions(-DWITH_SMOKE)
+endif()
+
if(WITH_JACK)
add_definitions(-DWITH_JACK)
endif()
if(WITH_LZO)
- list(APPEND INC_SYS ../../../extern/lzo/minilzo)
+ list(APPEND INC_SYS
+ ../../../extern/lzo/minilzo
+ )
add_definitions(-DWITH_LZO)
endif()
if(WITH_LZMA)
- list(APPEND INC_SYS ../../../extern/lzma)
+ list(APPEND INC_SYS
+ ../../../extern/lzma
+ )
add_definitions(-DWITH_LZMA)
endif()
diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript
index b5f845acacb..36afce7946c 100644
--- a/source/blender/blenkernel/SConscript
+++ b/source/blender/blenkernel/SConscript
@@ -21,6 +21,8 @@ incs += ' ' + env['BF_ZLIB_INC']
defs = [ 'GLEW_STATIC' ]
+defs.append('WITH_SMOKE') # TODO, make optional
+
if env['WITH_BF_PYTHON']:
incs += ' ../python'
incs += ' ' + env['BF_PYTHON_INC']
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index c48497c45a1..ab67d7e3f25 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -432,6 +432,7 @@ Image *BKE_add_image_size(unsigned int width, unsigned int height, const char *n
ima->gen_x= width;
ima->gen_y= height;
ima->gen_type= uvtestgrid;
+ ima->gen_flag |= (floatbuf ? IMA_GEN_FLOAT : 0);
ibuf= add_ibuf_size(width, height, name, depth, floatbuf, uvtestgrid, color);
image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0);
@@ -2172,7 +2173,7 @@ ImBuf *BKE_image_acquire_ibuf(Image *ima, ImageUser *iuser, void **lock_r)
/* UV testgrid or black or solid etc */
if(ima->gen_x==0) ima->gen_x= 1024;
if(ima->gen_y==0) ima->gen_y= 1024;
- ibuf= add_ibuf_size(ima->gen_x, ima->gen_y, ima->name, 24, 0, ima->gen_type, color);
+ ibuf= add_ibuf_size(ima->gen_x, ima->gen_y, ima->name, 24, (ima->gen_flag & IMA_GEN_FLOAT) != 0, ima->gen_type, color);
image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0);
ima->ok= IMA_OK_LOADED;
}
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index 63a9c224971..1423f520b95 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -3987,7 +3987,7 @@ static void system_step(ParticleSimulationData *sim, float cfra)
BKE_ptcache_id_time(pid, sim->scene, 0.0f, &startframe, &endframe, NULL);
/* clear everythin on start frame */
- if((int)cfra == startframe) {
+ if(cfra == startframe) {
BKE_ptcache_id_reset(sim->scene, pid, PTCACHE_RESET_OUTDATED);
BKE_ptcache_validate(cache, startframe);
cache->flag &= ~PTCACHE_REDO_NEEDED;
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 6b92c6e9540..b8f4b2d302f 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -516,6 +516,7 @@ static int ptcache_cloth_totpoint(void *cloth_v, int UNUSED(cfra))
return clmd->clothObject ? clmd->clothObject->numverts : 0;
}
+#ifdef WITH_SMOKE
/* Smoke functions */
static int ptcache_smoke_totpoint(void *smoke_v, int UNUSED(cfra))
{
@@ -652,6 +653,11 @@ static void ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
}
}
}
+#else // WITH_SMOKE
+static int ptcache_smoke_totpoint(void *UNUSED(smoke_v), int UNUSED(cfra)) { return 0; };
+static void ptcache_smoke_read(PTCacheFile *UNUSED(pf), void *UNUSED(smoke_v)) {}
+static int ptcache_smoke_write(PTCacheFile *UNUSED(pf), void *UNUSED(smoke_v)) { return 0; }
+#endif // WITH_SMOKE
/* Creating ID's */
void BKE_ptcache_id_from_softbody(PTCacheID *pid, Object *ob, SoftBody *sb)
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index 8f7076c3374..5da70f97314 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -3233,9 +3233,10 @@ int seq_swap(Sequence *seq_a, Sequence *seq_b, const char **error_str)
{
char name[sizeof(seq_a->name)];
- if(seq_a->len != seq_b->len)
+ if(seq_a->len != seq_b->len) {
*error_str= "Strips must be the same length";
return 0;
+ }
/* type checking, could be more advanced but disalow sound vs non-sound copy */
if(seq_a->type != seq_b->type) {
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index 4405bce3d51..6ab1574ca80 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -140,6 +140,19 @@ static void fill_scs_points(Object *ob, DerivedMesh *dm, SmokeCollSettings *scs)
#define TRI_UVOFFSET (1./4.)
+/* Stubs to use when smoke is disabled */
+#ifndef WITH_SMOKE
+struct WTURBULENCE *smoke_turbulence_init(int *UNUSED(res), int UNUSED(amplify), int UNUSED(noisetype)) { return NULL; }
+struct FLUID_3D *smoke_init(int *UNUSED(res), float *UNUSED(p0)) { return NULL; }
+void smoke_free(struct FLUID_3D *UNUSED(fluid)) {}
+void smoke_turbulence_free(struct WTURBULENCE *UNUSED(wt)) {}
+void smoke_initWaveletBlenderRNA(struct WTURBULENCE *UNUSED(wt), float *UNUSED(strength)) {}
+void smoke_initBlenderRNA(struct FLUID_3D *UNUSED(fluid), float *UNUSED(alpha), float *UNUSED(beta), float *UNUSED(dt_factor), float *UNUSED(vorticity), int *UNUSED(border_colli)) {}
+long long smoke_get_mem_req(int UNUSED(xres), int UNUSED(yres), int UNUSED(zres), int UNUSED(amplify)) { return 0; }
+void smokeModifier_do(SmokeModifierData *UNUSED(smd), Scene *UNUSED(scene), Object *UNUSED(ob), DerivedMesh *UNUSED(dm)) {}
+#endif // WITH_SMOKE
+
+
static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, DerivedMesh *dm)
{
if((smd->type & MOD_SMOKE_TYPE_DOMAIN) && smd->domain && !smd->domain->fluid)
@@ -805,6 +818,9 @@ void smokeModifier_copy(struct SmokeModifierData *smd, struct SmokeModifierData
// forward decleration
static void smoke_calc_transparency(float *result, float *input, float *p0, float *p1, int res[3], float dx, float *light, bresenham_callback cb, float correct);
static float calc_voxel_transp(float *result, float *input, int res[3], int *pixel, float *tRay, float correct);
+
+#ifdef WITH_SMOKE
+
static int get_lamp(Scene *scene, float *light)
{
Base *base_tmp = NULL;
@@ -1646,3 +1662,4 @@ static void smoke_calc_transparency(float *result, float *input, float *p0, floa
}
}
+#endif // WITH_SMOKE
diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c
index 2e517b0a9af..493dfa09a65 100644
--- a/source/blender/blenkernel/intern/sound.c
+++ b/source/blender/blenkernel/intern/sound.c
@@ -36,9 +36,6 @@
#include "BKE_animsys.h"
-static int force_device = -1;
-
-
struct bSound* sound_new_file(struct Main *bmain, const char *filename)
{
bSound* sound = NULL;
@@ -98,6 +95,8 @@ void sound_free(struct bSound* sound)
#ifdef WITH_AUDASPACE
+static int force_device = -1;
+
#ifdef WITH_JACK
static void sound_sync_callback(void* data, int mode, float time)
{
@@ -581,7 +580,7 @@ void sound_play_scene(struct Scene *UNUSED(scene)) {}
void sound_stop_scene(struct Scene *UNUSED(scene)) {}
void sound_seek_scene(struct bContext *UNUSED(C)) {}
float sound_sync_scene(struct Scene *UNUSED(scene)) { return 0.0f; }
-int sound_scene_playing(struct Scene *UNUSED(scene)) { return 0; }
+int sound_scene_playing(struct Scene *UNUSED(scene)) { return -1; }
int sound_read_sound_buffer(struct bSound* UNUSED(sound), float* UNUSED(buffer), int UNUSED(length), float UNUSED(start), float UNUSED(end)) { return 0; }
int sound_get_channels(struct bSound* UNUSED(sound)) { return 1; }