[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15512] branches/blender-2.47: branches/ blender-2.47
Diego Borghetti
bdiego at gmail.com
Wed Jul 9 23:32:25 CEST 2008
Revision: 15512
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15512
Author: bdiego
Date: 2008-07-09 23:32:25 +0200 (Wed, 09 Jul 2008)
Log Message:
-----------
branches/blender-2.47
Merge from trunk:
Revision: 15460
Revision: 15461
Revision: 15462
Revision: 15480
Revision: 15485
Revision: 15488
Revision: 15490
Revision: 15494
Revision: 15550
Revision: 15502
Revision: 15503
Revision: 15505
Revision: 15508
Modified Paths:
--------------
branches/blender-2.47/intern/ghost/intern/GHOST_SystemWin32.cpp
branches/blender-2.47/source/blender/blenkernel/intern/DerivedMesh.c
branches/blender-2.47/source/blender/blenkernel/intern/library.c
branches/blender-2.47/source/blender/blenkernel/intern/modifier.c
branches/blender-2.47/source/blender/blenkernel/intern/particle.c
branches/blender-2.47/source/blender/blenkernel/intern/particle_system.c
branches/blender-2.47/source/blender/imbuf/intern/openexr/openexr_api.cpp
branches/blender-2.47/source/blender/nodes/intern/CMP_nodes/CMP_gamma.c
branches/blender-2.47/source/blender/radiosity/intern/source/radrender.c
branches/blender-2.47/source/blender/src/buttons_object.c
branches/blender-2.47/source/blender/src/editmesh_add.c
branches/blender-2.47/source/blender/src/edittime.c
branches/blender-2.47/source/gameengine/Expressions/PyObjectPlus.h
branches/blender-2.47/source/gameengine/Ketsji/KX_TouchEventManager.cpp
Modified: branches/blender-2.47/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- branches/blender-2.47/intern/ghost/intern/GHOST_SystemWin32.cpp 2008-07-09 21:07:02 UTC (rev 15511)
+++ branches/blender-2.47/intern/ghost/intern/GHOST_SystemWin32.cpp 2008-07-09 21:32:25 UTC (rev 15512)
@@ -302,6 +302,15 @@
{
GHOST_TSuccess success = GHOST_System::init();
+ /* Disable scaling on high DPI displays on Vista */
+ HMODULE user32 = ::LoadLibraryA("user32.dll");
+ typedef BOOL (WINAPI * LPFNSETPROCESSDPIAWARE)();
+ LPFNSETPROCESSDPIAWARE SetProcessDPIAware =
+ (LPFNSETPROCESSDPIAWARE)GetProcAddress(user32, "SetProcessDPIAware");
+ if (SetProcessDPIAware)
+ SetProcessDPIAware();
+ FreeLibrary(user32);
+
// Determine whether this system has a high frequency performance counter. */
m_hasPerformanceCounter = ::QueryPerformanceFrequency((LARGE_INTEGER*)&m_freq) == TRUE;
if (m_hasPerformanceCounter) {
Modified: branches/blender-2.47/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/DerivedMesh.c 2008-07-09 21:07:02 UTC (rev 15511)
+++ branches/blender-2.47/source/blender/blenkernel/intern/DerivedMesh.c 2008-07-09 21:32:25 UTC (rev 15512)
@@ -1052,7 +1052,7 @@
/* store vertex indices in tmp union */
for(ev = em->verts.first, i = 0; ev; ev = ev->next, ++i)
- ev->tmp.l = (long) i++;
+ ev->tmp.l = (long) i;
for( ; ee; ee = ee->next, ++edge_r) {
edge_r->crease = (unsigned char) (ee->crease*255.0f);
Modified: branches/blender-2.47/source/blender/blenkernel/intern/library.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/library.c 2008-07-09 21:07:02 UTC (rev 15511)
+++ branches/blender-2.47/source/blender/blenkernel/intern/library.c 2008-07-09 21:32:25 UTC (rev 15512)
@@ -224,48 +224,50 @@
/* note: MAX_LIBARRAY define should match this code */
int set_listbasepointers(Main *main, ListBase **lb)
{
+ int a = 0;
+
/* BACKWARDS! also watch order of free-ing! (mesh<->mat) */
- lb[0]= &(main->ipo);
- lb[1]= &(main->key);
- lb[2]= &(main->image);
- lb[3]= &(main->tex);
- lb[4]= &(main->mat);
- lb[5]= &(main->vfont);
+ lb[a++]= &(main->ipo);
+ lb[a++]= &(main->key);
+ lb[a++]= &(main->nodetree);
+ lb[a++]= &(main->image);
+ lb[a++]= &(main->tex);
+ lb[a++]= &(main->mat);
+ lb[a++]= &(main->vfont);
/* Important!: When adding a new object type,
* the specific data should be inserted here
*/
- lb[6]= &(main->armature);
- lb[7]= &(main->action);
+ lb[a++]= &(main->armature);
+ lb[a++]= &(main->action);
- lb[8]= &(main->mesh);
- lb[9]= &(main->curve);
- lb[10]= &(main->mball);
+ lb[a++]= &(main->mesh);
+ lb[a++]= &(main->curve);
+ lb[a++]= &(main->mball);
- lb[11]= &(main->wave);
- lb[12]= &(main->latt);
- lb[13]= &(main->lamp);
- lb[14]= &(main->camera);
+ lb[a++]= &(main->wave);
+ lb[a++]= &(main->latt);
+ lb[a++]= &(main->lamp);
+ lb[a++]= &(main->camera);
- lb[15]= &(main->text);
- lb[16]= &(main->sound);
- lb[17]= &(main->group);
- lb[18]= &(main->nodetree);
- lb[19]= &(main->brush);
- lb[20]= &(main->script);
- lb[21]= &(main->particle);
+ lb[a++]= &(main->text);
+ lb[a++]= &(main->sound);
+ lb[a++]= &(main->group);
+ lb[a++]= &(main->brush);
+ lb[a++]= &(main->script);
+ lb[a++]= &(main->particle);
- lb[22]= &(main->world);
- lb[23]= &(main->screen);
- lb[24]= &(main->object);
- lb[25]= &(main->scene);
- lb[26]= &(main->library);
+ lb[a++]= &(main->world);
+ lb[a++]= &(main->screen);
+ lb[a++]= &(main->object);
+ lb[a++]= &(main->scene);
+ lb[a++]= &(main->library);
- lb[27]= NULL;
+ lb[a]= NULL;
- return 27;
+ return a;
}
/* *********** ALLOC AND FREE *****************
Modified: branches/blender-2.47/source/blender/blenkernel/intern/modifier.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/modifier.c 2008-07-09 21:07:02 UTC (rev 15511)
+++ branches/blender-2.47/source/blender/blenkernel/intern/modifier.c 2008-07-09 21:32:25 UTC (rev 15512)
@@ -4727,7 +4727,7 @@
if(!wmd->texture && !wmd->defgrp_name[0] && !(wmd->flag & MOD_WAVE_NORM))
dm = derivedData;
- else if(derivedData) dm = derivedData;
+ else if(derivedData) dm = CDDM_copy(derivedData);
else dm = CDDM_from_editmesh(editData, ob->data);
if(wmd->flag & MOD_WAVE_NORM) {
Modified: branches/blender-2.47/source/blender/blenkernel/intern/particle.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/particle.c 2008-07-09 21:07:02 UTC (rev 15511)
+++ branches/blender-2.47/source/blender/blenkernel/intern/particle.c 2008-07-09 21:32:25 UTC (rev 15512)
@@ -1371,7 +1371,7 @@
/************************************************/
void psys_particle_on_emitter(Object *ob, ParticleSystemModifierData *psmd, int from, int index, int index_dmcache, float *fuv, float foffset, float *vec, float *nor, float *utan, float *vtan, float *orco, float *ornor){
if(psmd){
- if(psmd->psys->part->distr==PART_DISTR_GRID){
+ if(psmd->psys->part->distr==PART_DISTR_GRID && psmd->psys->part->from != PART_FROM_VERT){
if(vec){
VECCOPY(vec,fuv);
}
Modified: branches/blender-2.47/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/particle_system.c 2008-07-09 21:07:02 UTC (rev 15511)
+++ branches/blender-2.47/source/blender/blenkernel/intern/particle_system.c 2008-07-09 21:32:25 UTC (rev 15512)
@@ -168,7 +168,7 @@
int i, totpart, totsaved = 0;
if(new_totpart<0) {
- if(psys->part->distr==PART_DISTR_GRID) {
+ if(psys->part->distr==PART_DISTR_GRID && psys->part->from != PART_FROM_VERT) {
totpart= psys->part->grid_res;
totpart*=totpart*totpart;
}
@@ -1056,7 +1056,7 @@
dm= CDDM_from_mesh((Mesh*)ob->data, ob);
/* special handling of grid distribution */
- if(part->distr==PART_DISTR_GRID){
+ if(part->distr==PART_DISTR_GRID && from != PART_FROM_VERT){
distribute_particles_in_grid(dm,psys);
dm->release(dm);
return 0;
@@ -1600,7 +1600,7 @@
NormalQuat(pa->r_rot);
- if(part->distr!=PART_DISTR_GRID){
+ if(part->distr!=PART_DISTR_GRID && part->from != PART_FROM_VERT){
/* any unique random number will do (r_ave[0]) */
if(ptex.exist < 0.5*(1.0+pa->r_ave[0]))
pa->flag |= PARS_UNEXIST;
@@ -4515,7 +4515,7 @@
if(part->from == PART_FROM_PARTICLE) {
if(part->type != PART_REACTOR)
part->from = PART_FROM_FACE;
- if(part->distr == PART_DISTR_GRID)
+ if(part->distr == PART_DISTR_GRID && part->from != PART_FROM_VERT)
part->distr = PART_DISTR_JIT;
}
@@ -4710,7 +4710,7 @@
oldtotpart = psys->totpart;
oldtotchild = psys->totchild;
- if(part->distr == PART_DISTR_GRID)
+ if(part->distr == PART_DISTR_GRID && part->from != PART_FROM_VERT)
totpart = part->grid_res*part->grid_res*part->grid_res;
else
totpart = psys->part->totpart;
Modified: branches/blender-2.47/source/blender/imbuf/intern/openexr/openexr_api.cpp
===================================================================
--- branches/blender-2.47/source/blender/imbuf/intern/openexr/openexr_api.cpp 2008-07-09 21:07:02 UTC (rev 15511)
+++ branches/blender-2.47/source/blender/imbuf/intern/openexr/openexr_api.cpp 2008-07-09 21:32:25 UTC (rev 15512)
@@ -842,7 +842,7 @@
} RGBA;
-#if 0
+/* debug only */
static void exr_print_filecontents(InputFile *file)
{
const ChannelList &channels = file->header().channels();
@@ -853,8 +853,28 @@
printf("OpenEXR-load: Found channel %s of type %d\n", i.name(), channel.type);
}
}
-#endif
+/* for non-multilayer, map R G B A channel names to something that's in this file */
+static const char *exr_rgba_channelname(InputFile *file, const char *chan)
+{
+ const ChannelList &channels = file->header().channels();
+
+ for (ChannelList::ConstIterator i = channels.begin(); i != channels.end(); ++i)
+ {
+ const Channel &channel = i.channel();
+ const char *str= i.name();
+ int len= strlen(str);
+ if(len) {
+ if(BLI_strcasecmp(chan, str+len-1)==0) {
+ return str;
+ }
+ }
+ }
+ return chan;
+}
+
+
+
static int exr_has_zbuffer(InputFile *file)
{
const ChannelList &channels = file->header().channels();
@@ -896,7 +916,8 @@
//printf("OpenEXR-load: image data window %d %d %d %d\n",
// dw.min.x, dw.min.y, dw.max.x, dw.max.y);
- // exr_print_filecontents(file);
+ if(0) // debug
+ exr_print_filecontents(file);
is_multi= exr_is_renderresult(file);
@@ -935,11 +956,15 @@
/* but, since we read y-flipped (negative y stride) we move to last scanline */
first+= 4*(height-1)*width;
- frameBuffer.insert ("R", Slice (FLOAT, (char *) first, xstride, ystride));
- frameBuffer.insert ("G", Slice (FLOAT, (char *) (first+1), xstride, ystride));
- frameBuffer.insert ("B", Slice (FLOAT, (char *) (first+2), xstride, ystride));
- /* 1.0 is fill value */
- frameBuffer.insert ("A", Slice (FLOAT, (char *) (first+3), xstride, ystride, 1, 1, 1.0f));
+ frameBuffer.insert ( exr_rgba_channelname(file, "R"),
+ Slice (FLOAT, (char *) first, xstride, ystride));
+ frameBuffer.insert ( exr_rgba_channelname(file, "G"),
+ Slice (FLOAT, (char *) (first+1), xstride, ystride));
+ frameBuffer.insert ( exr_rgba_channelname(file, "B"),
+ Slice (FLOAT, (char *) (first+2), xstride, ystride));
+
+ frameBuffer.insert ( exr_rgba_channelname(file, "A"),
+ Slice (FLOAT, (char *) (first+3), xstride, ystride, 1, 1, 1.0f)); /* 1.0 is fill value */
if(exr_has_zbuffer(file))
{
Modified: branches/blender-2.47/source/blender/nodes/intern/CMP_nodes/CMP_gamma.c
===================================================================
--- branches/blender-2.47/source/blender/nodes/intern/CMP_nodes/CMP_gamma.c 2008-07-09 21:07:02 UTC (rev 15511)
+++ branches/blender-2.47/source/blender/nodes/intern/CMP_nodes/CMP_gamma.c 2008-07-09 21:32:25 UTC (rev 15512)
@@ -47,7 +47,7 @@
int i=0;
for(i=0; i<3; i++) {
/* check for negative to avoid nan's */
- out[i] = (in[0] > 0.0f)? pow(in[i],fac[0]): in[0];
+ out[i] = (in[i] > 0.0f)? pow(in[i],fac[0]): in[i];
}
out[3] = in[3];
}
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list