diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-04-16 15:07:42 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-04-17 18:51:28 +0300 |
commit | 159806140fd33e6ddab951c0f6f180cfbf927d38 (patch) | |
tree | da076be3baa4d987fb5935e220a3d901c926e0e7 /source/blender/blenloader/intern | |
parent | 28b996a9d2090efdd74115a653629ef9d7d871f7 (diff) |
Removing Blender Game Engine from Blender 2.8
Folders removed entirely:
* //extern/recastnavigation
* //intern/decklink
* //intern/moto
* //source/blender/editors/space_logic
* //source/blenderplayer
* //source/gameengine
This includes DNA data and any reference to the BGE code in Blender itself.
We are bumping the subversion.
Pending tasks:
* Tile/clamp code in image editor draw code.
* Viewport drawing code (so much of this will go away because of BI removal
that we can wait until then to remove this.
Diffstat (limited to 'source/blender/blenloader/intern')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 294 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_250.c | 256 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_260.c | 162 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_270.c | 47 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 33 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_defaults.c | 3 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_legacy.c | 465 | ||||
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 186 |
8 files changed, 24 insertions, 1422 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index f2f5dd2d27b..dad9d92225f 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -61,12 +61,10 @@ #include "DNA_anim_types.h" #include "DNA_armature_types.h" -#include "DNA_actuator_types.h" #include "DNA_brush_types.h" #include "DNA_camera_types.h" #include "DNA_cachefile_types.h" #include "DNA_cloth_types.h" -#include "DNA_controller_types.h" #include "DNA_constraint_types.h" #include "DNA_dynamicpaint_types.h" #include "DNA_effect_types.h" @@ -91,12 +89,10 @@ #include "DNA_packedFile_types.h" #include "DNA_particle_types.h" #include "DNA_lightprobe_types.h" -#include "DNA_property_types.h" #include "DNA_rigidbody_types.h" #include "DNA_text_types.h" #include "DNA_view3d_types.h" #include "DNA_screen_types.h" -#include "DNA_sensor_types.h" #include "DNA_sdna_types.h" #include "DNA_scene_types.h" #include "DNA_sequence_types.h" @@ -152,7 +148,6 @@ #include "BKE_particle.h" #include "BKE_pointcache.h" #include "BKE_report.h" -#include "BKE_sca.h" // for init_actuator #include "BKE_scene.h" #include "BKE_screen.h" #include "BKE_sequencer.h" @@ -4980,144 +4975,7 @@ static void lib_link_object(FileData *fd, Main *main) paf->group = newlibadr_us(fd, ob->id.lib, paf->group); } } - - for (bSensor *sens = ob->sensors.first; sens; sens = sens->next) { - for (a = 0; a < sens->totlinks; a++) - sens->links[a] = newglobadr(fd, sens->links[a]); - if (sens->type == SENS_MESSAGE) { - bMessageSensor *ms = sens->data; - ms->fromObject = - newlibadr(fd, ob->id.lib, ms->fromObject); - } - } - - for (bController *cont = ob->controllers.first; cont; cont = cont->next) { - for (a=0; a < cont->totlinks; a++) - cont->links[a] = newglobadr(fd, cont->links[a]); - - if (cont->type == CONT_PYTHON) { - bPythonCont *pc = cont->data; - pc->text = newlibadr(fd, ob->id.lib, pc->text); - } - cont->slinks = NULL; - cont->totslinks = 0; - } - - for (bActuator *act = ob->actuators.first; act; act = act->next) { - switch (act->type) { - case ACT_SOUND: - { - bSoundActuator *sa = act->data; - sa->sound = newlibadr_us(fd, ob->id.lib, sa->sound); - break; - } - case ACT_GAME: - /* bGameActuator *ga= act->data; */ - break; - case ACT_CAMERA: - { - bCameraActuator *ca = act->data; - ca->ob = newlibadr(fd, ob->id.lib, ca->ob); - break; - } - /* leave this one, it's obsolete but necessary to read for conversion */ - case ACT_ADD_OBJECT: - { - bAddObjectActuator *eoa = act->data; - if (eoa) - eoa->ob = newlibadr(fd, ob->id.lib, eoa->ob); - break; - } - case ACT_OBJECT: - { - bObjectActuator *oa = act->data; - if (oa == NULL) { - init_actuator(act); - } - else { - oa->reference = newlibadr(fd, ob->id.lib, oa->reference); - } - break; - } - case ACT_EDIT_OBJECT: - { - bEditObjectActuator *eoa = act->data; - if (eoa == NULL) { - init_actuator(act); - } - else { - eoa->ob = newlibadr(fd, ob->id.lib, eoa->ob); - eoa->me = newlibadr(fd, ob->id.lib, eoa->me); - } - break; - } - case ACT_SCENE: - { - bSceneActuator *sa = act->data; - sa->camera = newlibadr(fd, ob->id.lib, sa->camera); - sa->scene = newlibadr(fd, ob->id.lib, sa->scene); - break; - } - case ACT_ACTION: - { - bActionActuator *aa = act->data; - aa->act = newlibadr_us(fd, ob->id.lib, aa->act); - break; - } - case ACT_SHAPEACTION: - { - bActionActuator *aa = act->data; - aa->act = newlibadr_us(fd, ob->id.lib, aa->act); - break; - } - case ACT_PROPERTY: - { - bPropertyActuator *pa = act->data; - pa->ob = newlibadr(fd, ob->id.lib, pa->ob); - break; - } - case ACT_MESSAGE: - { - bMessageActuator *ma = act->data; - ma->toObject = newlibadr(fd, ob->id.lib, ma->toObject); - break; - } - case ACT_2DFILTER: - { - bTwoDFilterActuator *_2dfa = act->data; - _2dfa->text = newlibadr(fd, ob->id.lib, _2dfa->text); - break; - } - case ACT_PARENT: - { - bParentActuator *parenta = act->data; - parenta->ob = newlibadr(fd, ob->id.lib, parenta->ob); - break; - } - case ACT_STATE: - /* bStateActuator *statea = act->data; */ - break; - case ACT_ARMATURE: - { - bArmatureActuator *arma= act->data; - arma->target = newlibadr(fd, ob->id.lib, arma->target); - arma->subtarget = newlibadr(fd, ob->id.lib, arma->subtarget); - break; - } - case ACT_STEERING: - { - bSteeringActuator *steeringa = act->data; - steeringa->target = newlibadr(fd, ob->id.lib, steeringa->target); - steeringa->navmesh = newlibadr(fd, ob->id.lib, steeringa->navmesh); - break; - } - case ACT_MOUSE: - /* bMouseActuator *moa = act->data; */ - break; - } - } - { FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(ob, eModifierType_Fluidsim); @@ -5542,10 +5400,6 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb) static void direct_link_object(FileData *fd, Object *ob) { PartEff *paf; - bProperty *prop; - bSensor *sens; - bController *cont; - bActuator *act; /* weak weak... this was only meant as draw flag, now is used in give_base_to_objects too */ ob->flag &= ~OB_FROMGROUP; @@ -5667,7 +5521,6 @@ static void direct_link_object(FileData *fd, Object *ob) direct_link_pointcache_list(fd, &sb->ptcaches, &sb->pointcache, 0); } - ob->bsoft = newdataadr(fd, ob->bsoft); ob->fluidsimSettings= newdataadr(fd, ob->fluidsimSettings); /* NT */ ob->rigidbody_object = newdataadr(fd, ob->rigidbody_object); @@ -5686,44 +5539,9 @@ static void direct_link_object(FileData *fd, Object *ob) link_list(fd, &ob->particlesystem); direct_link_particlesystems(fd, &ob->particlesystem); - - link_list(fd, &ob->prop); - for (prop = ob->prop.first; prop; prop = prop->next) { - prop->poin = newdataadr(fd, prop->poin); - if (prop->poin == NULL) - prop->poin = &prop->data; - } - - link_list(fd, &ob->sensors); - for (sens = ob->sensors.first; sens; sens = sens->next) { - sens->data = newdataadr(fd, sens->data); - sens->links = newdataadr(fd, sens->links); - test_pointer_array(fd, (void **)&sens->links); - } direct_link_constraints(fd, &ob->constraints); - link_glob_list(fd, &ob->controllers); - if (ob->init_state) { - /* if a known first state is specified, set it so that the game will start ok */ - ob->state = ob->init_state; - } - else if (!ob->state) { - ob->state = 1; - } - for (cont = ob->controllers.first; cont; cont = cont->next) { - cont->data = newdataadr(fd, cont->data); - cont->links = newdataadr(fd, cont->links); - test_pointer_array(fd, (void **)&cont->links); - if (cont->state_mask == 0) - cont->state_mask = 1; - } - - link_glob_list(fd, &ob->actuators); - for (act = ob->actuators.first; act; act = act->next) { - act->data = newdataadr(fd, act->data); - } - link_list(fd, &ob->hooks); while (ob->hooks.first) { ObHook *hook = ob->hooks.first; @@ -6042,9 +5860,6 @@ static void lib_link_scene(FileData *fd, Main *main) fls->group = newlibadr_us(fd, sce->id.lib, fls->group); } } - /*Game Settings: Dome Warp Text*/ - sce->gm.dome.warptext = newlibadr(fd, sce->id.lib, sce->gm.dome.warptext); - /* Motion Tracking */ sce->clip = newlibadr_us(fd, sce->id.lib, sce->clip); @@ -6664,7 +6479,7 @@ static void direct_link_area(FileData *fd, ScrArea *area) area->type = NULL; /* spacetype callbacks */ area->region_active_win = -1; - /* if we do not have the spacetype registered (game player), we cannot + /* if we do not have the spacetype registered we cannot * free it, so don't allocate any new memory for such spacetypes. */ if (!BKE_spacetype_exists(area->spacetype)) { area->spacetype = SPACE_EMPTY; @@ -6692,7 +6507,7 @@ static void direct_link_area(FileData *fd, ScrArea *area) for (sl = area->spacedata.first; sl; sl = sl->next) { link_list(fd, &(sl->regionbase)); - /* if we do not have the spacetype registered (game player), we cannot + /* if we do not have the spacetype registered we cannot * free it, so don't allocate any new memory for such spacetypes. */ if (!BKE_spacetype_exists(sl->spacetype)) sl->spacetype = SPACE_EMPTY; @@ -6810,15 +6625,6 @@ static void direct_link_area(FileData *fd, ScrArea *area) SpaceTime *stime = (SpaceTime *)sl; BLI_listbase_clear(&stime->caches); } - else if (sl->spacetype == SPACE_LOGIC) { - SpaceLogic *slogic = (SpaceLogic *)sl; - - /* XXX: this is new stuff, which shouldn't be directly linking to gpd... */ - if (slogic->gpd) { - slogic->gpd = newdataadr(fd, slogic->gpd); - direct_link_gpencil(fd, slogic->gpd); - } - } else if (sl->spacetype == SPACE_SEQ) { SpaceSeq *sseq = (SpaceSeq *)sl; @@ -7085,13 +6891,6 @@ static void lib_link_area(FileData *fd, bScreen *sc, ScrArea *area) sclip->mask_info.mask = newlibadr_real_us(fd, sc->id.lib, sclip->mask_info.mask); break; } - case SPACE_LOGIC: - { - SpaceLogic *slogic = (SpaceLogic *)sl; - - slogic->gpd = newlibadr_us(fd, sc->id.lib, slogic->gpd); - break; - } default: break; } @@ -7563,11 +7362,6 @@ static void lib_link_workspace_layout_restore(struct IDNameLib_Map *id_map, Main sclip->scopes.ok = 0; } - else if (sl->spacetype == SPACE_LOGIC) { - SpaceLogic *slogic = (SpaceLogic *)sl; - - slogic->gpd = restore_pointer_by_name(id_map, (ID *)slogic->gpd, USER_REAL); - } } } } @@ -9794,9 +9588,6 @@ static void expand_object_expandModifiers( static void expand_object(FileData *fd, Main *mainvar, Object *ob) { ParticleSystem *psys; - bSensor *sens; - bController *cont; - bActuator *act; bActionStrip *strip; PartEff *paf; int a; @@ -9853,84 +9644,6 @@ static void expand_object(FileData *fd, Main *mainvar, Object *ob) for (psys = ob->particlesystem.first; psys; psys = psys->next) expand_doit(fd, mainvar, psys->part); - for (sens = ob->sensors.first; sens; sens = sens->next) { - if (sens->type == SENS_MESSAGE) { - bMessageSensor *ms = sens->data; - expand_doit(fd, mainvar, ms->fromObject); - } - } - - for (cont = ob->controllers.first; cont; cont = cont->next) { - if (cont->type == CONT_PYTHON) { - bPythonCont *pc = cont->data; - expand_doit(fd, mainvar, pc->text); - } - } - - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_SOUND) { - bSoundActuator *sa = act->data; - expand_doit(fd, mainvar, sa->sound); - } - else if (act->type == ACT_CAMERA) { - bCameraActuator *ca = act->data; - expand_doit(fd, mainvar, ca->ob); - } - else if (act->type == ACT_EDIT_OBJECT) { - bEditObjectActuator *eoa = act->data; - if (eoa) { - expand_doit(fd, mainvar, eoa->ob); - expand_doit(fd, mainvar, eoa->me); - } - } - else if (act->type == ACT_OBJECT) { - bObjectActuator *oa = act->data; - expand_doit(fd, mainvar, oa->reference); - } - else if (act->type == ACT_ADD_OBJECT) { - bAddObjectActuator *aoa = act->data; - expand_doit(fd, mainvar, aoa->ob); - } - else if (act->type == ACT_SCENE) { - bSceneActuator *sa = act->data; - expand_doit(fd, mainvar, sa->camera); - expand_doit(fd, mainvar, sa->scene); - } - else if (act->type == ACT_2DFILTER) { - bTwoDFilterActuator *tdfa = act->data; - expand_doit(fd, mainvar, tdfa->text); - } - else if (act->type == ACT_ACTION) { - bActionActuator *aa = act->data; - expand_doit(fd, mainvar, aa->act); - } - else if (act->type == ACT_SHAPEACTION) { - bActionActuator *aa = act->data; - expand_doit(fd, mainvar, aa->act); - } - else if (act->type == ACT_PROPERTY) { - bPropertyActuator *pa = act->data; - expand_doit(fd, mainvar, pa->ob); - } - else if (act->type == ACT_MESSAGE) { - bMessageActuator *ma = act->data; - expand_doit(fd, mainvar, ma->toObject); - } - else if (act->type==ACT_PARENT) { - bParentActuator *pa = act->data; - expand_doit(fd, mainvar, pa->ob); - } - else if (act->type == ACT_ARMATURE) { - bArmatureActuator *arma = act->data; - expand_doit(fd, mainvar, arma->target); - } - else if (act->type == ACT_STEERING) { - bSteeringActuator *sta = act->data; - expand_doit(fd, mainvar, sta->target); - expand_doit(fd, mainvar, sta->navmesh); - } - } - if (ob->pd) { expand_doit(fd, mainvar, ob->pd->tex); expand_doit(fd, mainvar, ob->pd->f_source); @@ -10040,9 +9753,6 @@ static void expand_scene(FileData *fd, Main *mainvar, Scene *sce) } } - if (sce->r.dometext) - expand_doit(fd, mainvar, sce->gm.dome.warptext); - if (sce->gpd) expand_doit(fd, mainvar, sce->gpd); diff --git a/source/blender/blenloader/intern/versioning_250.c b/source/blender/blenloader/intern/versioning_250.c index f5a4a33860f..e7f448f6a86 100644 --- a/source/blender/blenloader/intern/versioning_250.c +++ b/source/blender/blenloader/intern/versioning_250.c @@ -39,7 +39,6 @@ #include "DNA_anim_types.h" #include "DNA_armature_types.h" -#include "DNA_actuator_types.h" #include "DNA_brush_types.h" #include "DNA_camera_types.h" #include "DNA_cloth_types.h" @@ -84,7 +83,6 @@ #include "BKE_sequencer.h" #include "BKE_texture.h" #include "BKE_sound.h" -#include "BKE_sca.h" #include "NOD_socket.h" @@ -610,13 +608,7 @@ static void do_version_constraints_radians_degrees_250(ListBase *lb) bConstraint *con; for (con = lb->first; con; con = con->next) { - if (con->type == CONSTRAINT_TYPE_RIGIDBODYJOINT) { - bRigidBodyJointConstraint *data = con->data; - data->axX *= (float)(M_PI / 180.0); - data->axY *= (float)(M_PI / 180.0); - data->axZ *= (float)(M_PI / 180.0); - } - else if (con->type == CONSTRAINT_TYPE_KINEMATIC) { + if (con->type == CONSTRAINT_TYPE_KINEMATIC) { bKinematicConstraint *data = con->data; data->poleangle *= (float)(M_PI / 180.0); } @@ -750,7 +742,6 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) bSound *sound; Sequence *seq; - bActuator *act; int a; for (sound = main->sound.first; sound; sound = sound->id.next) { @@ -760,33 +751,6 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) } } - for (ob = main->object.first; ob; ob = ob->id.next) { - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_SOUND) { - bSoundActuator *sAct = (bSoundActuator*) act->data; - if (sAct->sound) { - sound = blo_do_versions_newlibadr(fd, lib, sAct->sound); - sAct->flag = (sound->flags & SOUND_FLAGS_3D) ? ACT_SND_3D_SOUND : 0; - sAct->pitch = sound->pitch; - sAct->volume = sound->volume; - sAct->sound3D.reference_distance = sound->distance; - sAct->sound3D.max_gain = sound->max_gain; - sAct->sound3D.min_gain = sound->min_gain; - sAct->sound3D.rolloff_factor = sound->attenuation; - } - else { - sAct->sound3D.reference_distance = 1.0f; - sAct->volume = 1.0f; - sAct->sound3D.max_gain = 1.0f; - sAct->sound3D.rolloff_factor = 1.0f; - } - sAct->sound3D.cone_inner_angle = 360.0f; - sAct->sound3D.cone_outer_angle = 360.0f; - sAct->sound3D.max_distance = FLT_MAX; - } - } - } - for (scene = main->scene.first; scene; scene = scene->id.next) { if (scene->ed && scene->ed->seqbasep) { SEQ_BEGIN (scene->ed, seq) @@ -1034,93 +998,12 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) ts->uv_selectmode = UV_SELECT_VERTEX; ts->vgroup_weight = 1.0f; } - - /* Game Settings */ - /* Dome */ - sce->gm.dome.angle = sce->r.domeangle; - sce->gm.dome.mode = sce->r.domemode; - sce->gm.dome.res = sce->r.domeres; - sce->gm.dome.resbuf = sce->r.domeresbuf; - sce->gm.dome.tilt = sce->r.dometilt; - sce->gm.dome.warptext = sce->r.dometext; - - /* Stand Alone */ - sce->gm.playerflag |= (sce->r.fullscreen ? GAME_PLAYER_FULLSCREEN : 0); - sce->gm.xplay = sce->r.xplay; - sce->gm.yplay = sce->r.yplay; - sce->gm.freqplay = sce->r.freqplay; - sce->gm.depth = sce->r.depth; - sce->gm.attrib = sce->r.attrib; - - /* Stereo */ - sce->gm.stereomode = sce->r.stereomode; - /* reassigning stereomode NO_STEREO and DOME to a separeted flag*/ - if (sce->gm.stereomode == 1) { // 1 = STEREO_NOSTEREO - sce->gm.stereoflag = STEREO_NOSTEREO; - sce->gm.stereomode = STEREO_ANAGLYPH; - } - else if (sce->gm.stereomode == 8) { // 8 = STEREO_DOME - sce->gm.stereoflag = STEREO_DOME; - sce->gm.stereomode = STEREO_ANAGLYPH; - } - else - sce->gm.stereoflag = STEREO_ENABLED; - - /* Framing */ - sce->gm.framing = sce->framing; - sce->gm.xplay = sce->r.xplay; - sce->gm.yplay = sce->r.yplay; - sce->gm.freqplay = sce->r.freqplay; - sce->gm.depth = sce->r.depth; - - /* Physic (previously stored in world) */ - sce->gm.gravity =9.8f; - sce->gm.physicsEngine = WOPHY_BULLET; /* Bullet by default */ - sce->gm.mode = WO_DBVT_CULLING; /* DBVT culling by default */ - sce->gm.occlusionRes = 128; - sce->gm.ticrate = 60; - sce->gm.maxlogicstep = 5; - sce->gm.physubstep = 1; - sce->gm.maxphystep = 5; } } if (main->versionfile < 250 || (main->versionfile == 250 && main->subversionfile < 2)) { - Scene *sce; Object *ob; - for (sce = main->scene.first; sce; sce = sce->id.next) { - if (fd->fileflags & G_FILE_ENABLE_ALL_FRAMES) - sce->gm.flag |= GAME_ENABLE_ALL_FRAMES; - if (fd->fileflags & G_FILE_SHOW_DEBUG_PROPS) - sce->gm.flag |= GAME_SHOW_DEBUG_PROPS; - if (fd->fileflags & G_FILE_SHOW_FRAMERATE) - sce->gm.flag |= GAME_SHOW_FRAMERATE; - if (fd->fileflags & G_FILE_SHOW_PHYSICS) - sce->gm.flag |= GAME_SHOW_PHYSICS; - if (fd->fileflags & G_FILE_GLSL_NO_SHADOWS) - sce->gm.flag |= GAME_GLSL_NO_SHADOWS; - if (fd->fileflags & G_FILE_GLSL_NO_SHADERS) - sce->gm.flag |= GAME_GLSL_NO_SHADERS; - if (fd->fileflags & G_FILE_GLSL_NO_RAMPS) - sce->gm.flag |= GAME_GLSL_NO_RAMPS; - if (fd->fileflags & G_FILE_GLSL_NO_NODES) - sce->gm.flag |= GAME_GLSL_NO_NODES; - if (fd->fileflags & G_FILE_GLSL_NO_EXTRA_TEX) - sce->gm.flag |= GAME_GLSL_NO_EXTRA_TEX; - if (fd->fileflags & G_FILE_GLSL_NO_ENV_LIGHTING) - sce->gm.flag |= GAME_GLSL_NO_ENV_LIGHTING; - if (fd->fileflags & G_FILE_IGNORE_DEPRECATION_WARNINGS) - sce->gm.flag |= GAME_IGNORE_DEPRECATION_WARNINGS; - - if (fd->fileflags & G_FILE_GAME_MAT_GLSL) - sce->gm.matmode = GAME_MAT_GLSL; - else if (fd->fileflags & G_FILE_GAME_MAT) - sce->gm.matmode = GAME_MAT_MULTITEX; - else - sce->gm.matmode = GAME_MAT_TEXFACE; - } - for (ob = main->object.first; ob; ob = ob->id.next) { if (ob->flag & 8192) // OB_POSEMODE = 8192 ob->mode |= OB_MODE_POSE; @@ -1565,16 +1448,10 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) } if (main->versionfile < 250 || (main->versionfile == 250 && main->subversionfile < 12)) { - Scene *sce; Object *ob; Brush *brush; Material *ma; - /* game engine changes */ - for (sce = main->scene.first; sce; sce = sce->id.next) { - sce->gm.eyeseparation = 0.10f; - } - /* anim viz changes */ for (ob = main->object.first; ob; ob = ob->id.next) { /* initialize object defaults */ @@ -2195,7 +2072,6 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) Brush *br; ParticleSettings *part; bScreen *sc; - Object *ob; for (br = main->brush.first; br; br = br->id.next) { if (br->ob_mode == 0) @@ -2235,41 +2111,6 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) } } } - - /* fix rotation actuators for objects so they use real angles (radians) - * since before blender went opensource this strange scalar was used: (1 / 0.02) * 2 * math.pi/360 */ - for (ob = main->object.first; ob; ob = ob->id.next) { - bActuator *act = ob->actuators.first; - while (act) { - if (act->type == ACT_OBJECT) { - /* multiply velocity with 50 in old files */ - bObjectActuator *oa = act->data; - mul_v3_fl(oa->drot, 0.8726646259971648f); - } - act = act->next; - } - } - } - - /* init facing axis property of steering actuators */ - { - Object *ob; - for (ob = main->object.first; ob; ob = ob->id.next) { - bActuator *act; - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_STEERING) { - bSteeringActuator *stact = act->data; - if (stact == NULL) {//HG1 - init_actuator(act); - } - else { - if (stact->facingaxis == 0) { - stact->facingaxis = 1; - } - } - } - } - } } if (main->versionfile < 255 || (main->versionfile == 255 && main->subversionfile < 3)) { @@ -2562,21 +2403,6 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) } { - /* add default value for behind strength of camera actuator */ - Object *ob; - bActuator *act; - for (ob = main->object.first; ob; ob = ob->id.next) { - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_CAMERA) { - bCameraActuator *ba = act->data; - - ba->damping = 1.0/32.0; - } - } - } - } - - { ParticleSettings *part; for (part = main->particle.first; part; part = part->id.next) { /* Initialize particle billboard scale */ @@ -2667,50 +2493,6 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) } } } - - { - /* convert fcurve and shape action actuators to action actuators */ - Object *ob; - bActuator *act; - bIpoActuator *ia; - bActionActuator *aa; - - for (ob = main->object.first; ob; ob = ob->id.next) { - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_IPO) { - /* Create the new actuator */ - ia = act->data; - aa = MEM_callocN(sizeof(bActionActuator), "fcurve -> action actuator do_version"); - - /* Copy values */ - aa->type = ia->type; - aa->flag = ia->flag; - aa->sta = ia->sta; - aa->end = ia->end; - BLI_strncpy(aa->name, ia->name, sizeof(aa->name)); - BLI_strncpy(aa->frameProp, ia->frameProp, sizeof(aa->frameProp)); - if (ob->adt) - aa->act = ob->adt->action; - - /* Get rid of the old actuator */ - MEM_freeN(ia); - - /* Assign the new actuator */ - act->data = aa; - act->type = act->otype = ACT_ACTION; - - /* Fix for converting 2.4x files: if we don't have an action, but we have an - * object IPO, then leave the actuator as an IPO actuator for now and let the - * IPO conversion code handle it */ - if (ob->ipo && !aa->act) - act->type = ACT_IPO; - } - else if (act->type == ACT_SHAPEACTION) { - act->type = act->otype = ACT_ACTION; - } - } - } - } } if (main->versionfile < 259 || (main->versionfile == 259 && main->subversionfile < 2)) { @@ -2758,41 +2540,5 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *main) part->time_flag &= ~PART_TIME_AUTOSF; } } - - { - /* set defaults for obstacle avoidance, recast data */ - Scene *sce; - for (sce = main->scene.first; sce; sce = sce->id.next) { - if (sce->gm.levelHeight == 0.f) - sce->gm.levelHeight = 2.f; - - if (sce->gm.recastData.cellsize == 0.0f) - sce->gm.recastData.cellsize = 0.3f; - if (sce->gm.recastData.cellheight == 0.0f) - sce->gm.recastData.cellheight = 0.2f; - if (sce->gm.recastData.agentmaxslope == 0.0f) - sce->gm.recastData.agentmaxslope = (float)M_PI/4; - if (sce->gm.recastData.agentmaxclimb == 0.0f) - sce->gm.recastData.agentmaxclimb = 0.9f; - if (sce->gm.recastData.agentheight == 0.0f) - sce->gm.recastData.agentheight = 2.0f; - if (sce->gm.recastData.agentradius == 0.0f) - sce->gm.recastData.agentradius = 0.6f; - if (sce->gm.recastData.edgemaxlen == 0.0f) - sce->gm.recastData.edgemaxlen = 12.0f; - if (sce->gm.recastData.edgemaxerror == 0.0f) - sce->gm.recastData.edgemaxerror = 1.3f; - if (sce->gm.recastData.regionminsize == 0.0f) - sce->gm.recastData.regionminsize = 8.f; - if (sce->gm.recastData.regionmergesize == 0.0f) - sce->gm.recastData.regionmergesize = 20.f; - if (sce->gm.recastData.vertsperpoly<3) - sce->gm.recastData.vertsperpoly = 6; - if (sce->gm.recastData.detailsampledist == 0.0f) - sce->gm.recastData.detailsampledist = 6.0f; - if (sce->gm.recastData.detailsamplemaxerror == 0.0f) - sce->gm.recastData.detailsamplemaxerror = 1.0f; - } - } } } diff --git a/source/blender/blenloader/intern/versioning_260.c b/source/blender/blenloader/intern/versioning_260.c index 023bd7fe809..89577c7b7d1 100644 --- a/source/blender/blenloader/intern/versioning_260.c +++ b/source/blender/blenloader/intern/versioning_260.c @@ -31,7 +31,6 @@ #define DNA_DEPRECATED_ALLOW #include "DNA_anim_types.h" -#include "DNA_actuator_types.h" #include "DNA_brush_types.h" #include "DNA_camera_types.h" #include "DNA_cloth_types.h" @@ -43,11 +42,9 @@ #include "DNA_meshdata_types.h" #include "DNA_object_fluidsim_types.h" #include "DNA_object_types.h" -#include "DNA_property_types.h" #include "DNA_text_types.h" #include "DNA_view3d_types.h" #include "DNA_screen_types.h" -#include "DNA_sensor_types.h" #include "DNA_sdna_types.h" #include "DNA_smoke_types.h" #include "DNA_space_types.h" @@ -67,7 +64,6 @@ #include "BKE_modifier.h" #include "BKE_particle.h" #include "BKE_pointcache.h" -#include "BKE_property.h" // for BKE_bproperty_object_get #include "BKE_scene.h" #include "BKE_screen.h" #include "BKE_sequencer.h" @@ -432,25 +428,6 @@ static void do_versions_nodetree_frame_2_64_6(bNodeTree *ntree) } } -static void do_version_logic_264(ListBase *regionbase) -{ - ARegion *ar; - - /* view settings for logic changed */ - for (ar = regionbase->first; ar; ar = ar->next) { - if (ar->regiontype == RGN_TYPE_WINDOW) { - if (ar->v2d.keeptot == 0) { - ar->v2d.maxzoom = 1.5f; - - ar->v2d.keepzoom = V2D_KEEPZOOM | V2D_LIMITZOOM | V2D_KEEPASPECT; - ar->v2d.keeptot = V2D_KEEPTOT_BOUNDS; - ar->v2d.align = V2D_ALIGN_NO_POS_Y | V2D_ALIGN_NO_NEG_X; - ar->v2d.keepofs = V2D_KEEPOFS_Y; - } - } - } -} - static void do_versions_affine_tracker_track(MovieTrackingTrack *track) { int i; @@ -900,14 +877,6 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) } } { - /* Initialize BGE exit key to esc key */ - Scene *scene; - for (scene = main->scene.first; scene; scene = scene->id.next) { - if (!scene->gm.exitkey) - scene->gm.exitkey = 218; // Blender key code for ESC - } - } - { MovieClip *clip; Object *ob; @@ -943,45 +912,10 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) } } } - { - /* Warn the user if he is using ["Text"] properties for Font objects */ - Object *ob; - bProperty *prop; - - for (ob = main->object.first; ob; ob = ob->id.next) { - if (ob->type == OB_FONT) { - prop = BKE_bproperty_object_get(ob, "Text"); - if (prop) { - blo_reportf_wrap(fd->reports, RPT_WARNING, - TIP_("Game property name conflict in object '%s': text objects reserve the " - "['Text'] game property to change their content through logic bricks"), - ob->id.name + 2); - } - } - } - } } if (main->versionfile < 261 || (main->versionfile == 261 && main->subversionfile < 2)) { { - /* convert Camera Actuator values to defines */ - Object *ob; - bActuator *act; - for (ob = main->object.first; ob; ob = ob->id.next) { - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_CAMERA) { - bCameraActuator *ba = act->data; - - if (ba->axis == (float) 'x') ba->axis = OB_POSX; - else if (ba->axis == (float)'y') ba->axis = OB_POSY; - /* don't do an if/else to avoid imediate subversion bump*/ -// ba->axis=((ba->axis == (float)'x') ? OB_POSX_X : OB_POSY); - } - } - } - } - - { /* convert deprecated sculpt_paint_unified_* fields to * UnifiedPaintSettings */ Scene *scene; @@ -1316,19 +1250,6 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) } } - - if (main->versionfile < 263 || (main->versionfile == 263 && main->subversionfile < 8)) { - /* set new deactivation values for game settings */ - Scene *sce; - - for (sce = main->scene.first; sce; sce = sce->id.next) { - /* Game Settings */ - sce->gm.lineardeactthreshold = 0.8f; - sce->gm.angulardeactthreshold = 1.0f; - sce->gm.deactivationtime = 2.0f; - } - } - if (main->versionfile < 263 || (main->versionfile == 263 && main->subversionfile < 9)) { FOREACH_NODETREE(main, ntree, id) { if (ntree->type == NTREE_SHADER) { @@ -1738,24 +1659,6 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) } FOREACH_NODETREE_END } - if (main->versionfile < 264 || (main->versionfile == 264 && main->subversionfile < 6)) { - bScreen *sc; - - for (sc = main->screen.first; sc; sc = sc->id.next) { - ScrArea *sa; - for (sa = sc->areabase.first; sa; sa = sa->next) { - SpaceLink *sl; - if ( sa->spacetype == SPACE_LOGIC) - do_version_logic_264(&sa->regionbase); - - for (sl = sa->spacedata.first; sl; sl = sl->next) { - if (sl->spacetype == SPACE_LOGIC) - do_version_logic_264(&sl->regionbase); - } - } - } - } - if (main->versionfile < 264 || (main->versionfile == 264 && main->subversionfile < 7)) { /* convert tiles size from resolution and number of tiles */ { @@ -1809,17 +1712,6 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) } } - if (main->versionfile < 265) { - Object *ob; - for (ob = main->object.first; ob; ob = ob->id.next) { - if (ob->step_height == 0.0f) { - ob->step_height = 0.15f; - ob->jump_speed = 10.0f; - ob->fall_speed = 55.0f; - } - } - } - if (main->versionfile < 265 || (main->versionfile == 265 && main->subversionfile < 3)) { bScreen *sc; for (sc = main->screen.first; sc; sc = sc->id.next) { @@ -2335,32 +2227,6 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) } } } - - for (ob = main->object.first; ob; ob = ob->id.next) { - bSensor *sens; - bTouchSensor *ts; - bCollisionSensor *cs; - Material *ma; - - for (sens = ob->sensors.first; sens; sens = sens->next) { - if (sens->type == SENS_TOUCH) { - ts = sens->data; - cs = MEM_callocN(sizeof(bCollisionSensor), "touch -> collision sensor do_version"); - - if (ts->ma) { - ma = blo_do_versions_newlibadr(fd, ob->id.lib, ts->ma); - BLI_strncpy(cs->materialName, ma->id.name + 2, sizeof(cs->materialName)); - } - - cs->mode = SENS_COLLISION_MATERIAL; - - MEM_freeN(ts); - - sens->data = cs; - sens->type = sens->otype = SENS_COLLISION; - } - } - } } if (!MAIN_VERSION_ATLEAST(main, 268, 5)) { @@ -2514,10 +2380,6 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) if (ts->sculpt) ts->sculpt->flags |= SCULPT_DYNTOPO_SUBDIVIDE; - /* single texture mode removed from game engine */ - if (scene->gm.matmode == GAME_MAT_TEXFACE) - scene->gm.matmode = GAME_MAT_MULTITEX; - /* 'Increment' mode disabled for nodes, use true grid snapping instead */ if (scene->toolsettings->snap_node_mode == SCE_SNAP_MODE_INCREMENT) scene->toolsettings->snap_node_mode = SCE_SNAP_MODE_GRID; @@ -2544,8 +2406,6 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) for (ob = main->object.first; ob; ob = ob->id.next) { ModifierData *md; - bSensor *bs; - bActuator *ba; for (md = ob->modifiers.first; md; md = md->next) { if (md->type == eModifierType_EdgeSplit) { @@ -2557,28 +2417,6 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main) bmd->bevel_angle = DEG2RADF(bmd->bevel_angle); } } - - for (bs = ob->sensors.first; bs; bs = bs->next) { - if (bs->type == SENS_RADAR) { - bRadarSensor *brs = bs->data; - brs->angle = DEG2RADF(brs->angle); - } - } - - for (ba = ob->actuators.first; ba; ba = ba->next) { - if (ba->type == ACT_CONSTRAINT) { - bConstraintActuator *bca = ba->data; - if (bca->type == ACT_CONST_TYPE_ORI) { - bca->minloc[0] = DEG2RADF(bca->minloc[0]); - bca->maxloc[0] = DEG2RADF(bca->maxloc[0]); - } - } - else if (ba->type == ACT_SOUND) { - bSoundActuator *bsa = ba->data; - bsa->sound3D.cone_outer_angle = DEG2RADF(bsa->sound3D.cone_outer_angle); - bsa->sound3D.cone_inner_angle = DEG2RADF(bsa->sound3D.cone_inner_angle); - } - } } for (scene = main->scene.first; scene; scene = scene->id.next) { diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index 7228c3522f0..e72ed9a41fd 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -52,7 +52,6 @@ #include "DNA_modifier_types.h" #include "DNA_particle_types.h" #include "DNA_linestyle_types.h" -#include "DNA_actuator_types.h" #include "DNA_view3d_types.h" #include "DNA_smoke_types.h" #include "DNA_rigidbody_types.h" @@ -554,29 +553,6 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } - if (!MAIN_VERSION_ATLEAST(main, 271, 2)) { - /* init up & track axis property of trackto actuators */ - Object *ob; - - for (ob = main->object.first; ob; ob = ob->id.next) { - bActuator *act; - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_EDIT_OBJECT) { - bEditObjectActuator *eoact = act->data; - eoact->trackflag = ob->trackflag; - /* if trackflag is pointing +-Z axis then upflag should point Y axis. - * Rest of trackflag cases, upflag should be point z axis */ - if ((ob->trackflag == OB_POSZ) || (ob->trackflag == OB_NEGZ)) { - eoact->upflag = 1; - } - else { - eoact->upflag = 2; - } - } - } - } - } - if (!MAIN_VERSION_ATLEAST(main, 271, 3)) { Brush *br; @@ -857,13 +833,6 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } } - - if (!DNA_struct_elem_find(fd->filesdna, "GameData", "int", "scehysteresis")) { - Scene *scene; - for (scene = main->scene.first; scene; scene = scene->id.next) { - scene->gm.scehysteresis = 10; - } - } } if (!MAIN_VERSION_ATLEAST(main, 274, 2)) { @@ -1092,16 +1061,6 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } #undef LA_YF_PHOTON } - - { - Object *ob; - for (ob = main->object.first; ob; ob = ob->id.next) { - if (ob->body_type == OB_BODY_TYPE_CHARACTER && (ob->gameflag & OB_BOUNDS) && ob->collision_boundtype == OB_BOUND_TRIANGLE_MESH) { - ob->boundtype = ob->collision_boundtype = OB_BOUND_BOX; - } - } - } - } if (!MAIN_VERSION_ATLEAST(main, 276, 3)) { @@ -1212,12 +1171,6 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) else gpd->flag &= ~GP_DATA_SHOW_ONIONSKINS; } - - if (!DNA_struct_elem_find(fd->filesdna, "Object", "unsigned char", "max_jumps")) { - for (Object *ob = main->object.first; ob; ob = ob->id.next) { - ob->max_jumps = 1; - } - } } if (!MAIN_VERSION_ATLEAST(main, 276, 5)) { ListBase *lbarray[MAX_LIBARRAY]; diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 50b7f736a67..71074aef9b6 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -38,6 +38,7 @@ #include "DNA_object_types.h" #include "DNA_camera_types.h" +#include "DNA_constraint_types.h" #include "DNA_gpu_types.h" #include "DNA_group_types.h" #include "DNA_lamp_types.h" @@ -53,6 +54,7 @@ #include "DNA_workspace_types.h" #include "BKE_collection.h" +#include "BKE_constraint.h" #include "BKE_customdata.h" #include "BKE_freestyle.h" #include "BKE_group.h" @@ -314,7 +316,7 @@ void do_versions_after_linking_280(Main *main) scene->active_view_layer = 0; /* Handle legacy render layers. */ - if (!BKE_scene_uses_blender_game(scene)) { + { for (SceneRenderLayer *srl = scene->r.layers.first; srl; srl = srl->next) { ViewLayer *view_layer = BKE_view_layer_add(scene, srl->name); @@ -419,15 +421,6 @@ void do_versions_after_linking_280(Main *main) scene->active_view_layer = scene->r.actlay; } } - else { - for (SceneRenderLayer *srl = scene->r.layers.first; srl; srl = srl->next) { - if (srl->prop) { - IDP_FreeProperty(srl->prop); - MEM_freeN(srl->prop); - } - BKE_freestyle_config_free(&srl->freestyleConfig, true); - } - } BLI_freelistN(&scene->r.layers); ViewLayer *view_layer = BKE_view_layer_add(scene, "Viewport"); @@ -900,7 +893,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main) } } - { + if (!MAIN_VERSION_ATLEAST(main, 280, 6)) { if (DNA_struct_elem_find(fd->filesdna, "SpaceOops", "int", "filter") == false) { bScreen *sc; ScrArea *sa; @@ -932,11 +925,27 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main) } } - { + if (!MAIN_VERSION_ATLEAST(main, 280, 6)) { if (!DNA_struct_elem_find(fd->filesdna, "LightProbe", "float", "intensity")) { for (LightProbe *probe = main->lightprobe.first; probe; probe = probe->id.next) { probe->intensity = 1.0f; } } } + + if (!MAIN_VERSION_ATLEAST(main, 280, 6)) { + for (Object *ob = main->object.first; ob; ob = ob->id.next) { + bConstraint *con, *con_next; + con = ob->constraints.first; + while (con) { + con_next = con->next; + if (con->type == 17) { /* CONSTRAINT_TYPE_RIGIDBODYJOINT */ + BLI_remlink(&ob->constraints, con); + BKE_constraint_free_data(con); + MEM_freeN(con); + } + con = con_next; + } + } + } } diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c index b09c7d77e59..74becdc67da 100644 --- a/source/blender/blenloader/intern/versioning_defaults.c +++ b/source/blender/blenloader/intern/versioning_defaults.c @@ -210,9 +210,6 @@ void BLO_update_defaults_startup_blend(Main *bmain) pset->brush[PE_BRUSH_CUT].strength = 1.0f; } - scene->gm.lodflag |= SCE_LOD_USE_HYST; - scene->gm.scehysteresis = 10; - scene->r.ffcodecdata.audio_mixrate = 48000; } diff --git a/source/blender/blenloader/intern/versioning_legacy.c b/source/blender/blenloader/intern/versioning_legacy.c index b8744b71812..b1b24b8d0e6 100644 --- a/source/blender/blenloader/intern/versioning_legacy.c +++ b/source/blender/blenloader/intern/versioning_legacy.c @@ -45,7 +45,6 @@ #define DNA_DEPRECATED_ALLOW #include "DNA_armature_types.h" -#include "DNA_actuator_types.h" #include "DNA_camera_types.h" #include "DNA_constraint_types.h" #include "DNA_effect_types.h" @@ -60,10 +59,8 @@ #include "DNA_node_types.h" #include "DNA_object_fluidsim_types.h" #include "DNA_object_types.h" -#include "DNA_property_types.h" #include "DNA_view3d_types.h" #include "DNA_screen_types.h" -#include "DNA_sensor_types.h" #include "DNA_sdna_types.h" #include "DNA_sequence_types.h" #include "DNA_sound_types.h" @@ -90,7 +87,6 @@ #include "BKE_modifier.h" #include "BKE_particle.h" #include "BKE_pointcache.h" -#include "BKE_property.h" // for BKE_bproperty_object_get #include "BKE_scene.h" #include "BKE_sequencer.h" @@ -128,38 +124,6 @@ static void vcol_to_fcol(Mesh *me) me->mcol = (MCol *)mcolmain; } -static int map_223_keybd_code_to_224_keybd_code(int code) -{ - switch (code) { - case 312: - return 311; /* F12KEY */ - case 159: - return 161; /* PADSLASHKEY */ - case 161: - return 150; /* PAD0 */ - case 154: - return 151; /* PAD1 */ - case 150: - return 152; /* PAD2 */ - case 155: - return 153; /* PAD3 */ - case 151: - return 154; /* PAD4 */ - case 156: - return 155; /* PAD5 */ - case 152: - return 156; /* PAD6 */ - case 157: - return 157; /* PAD7 */ - case 153: - return 158; /* PAD8 */ - case 158: - return 159; /* PAD9 */ - default: - return code; - } -} - static void do_version_bone_head_tail_237(Bone *bone) { Bone *child; @@ -833,7 +797,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } if (main->versionfile <= 191) { - Object *ob = main->object.first; Material *ma = main->mat.first; /* let faces have default add factor of 0.0 */ @@ -842,121 +805,10 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) ma->add = 0.0; ma = ma->id.next; } - - while (ob) { - ob->mass = 1.0f; - ob->damping = 0.1f; - /*ob->quat[1] = 1.0f;*/ /* quats arnt used yet */ - ob = ob->id.next; - } - } - - if (main->versionfile <= 193) { - Object *ob = main->object.first; - while (ob) { - ob->inertia = 1.0f; - ob->rdamping = 0.1f; - ob = ob->id.next; - } - } - - if (main->versionfile <= 200) { - Object *ob = main->object.first; - while (ob) { - ob->scaflag = ob->gameflag & (OB_DO_FH|OB_ROT_FH|OB_ANISOTROPIC_FRICTION|OB_GHOST|OB_RIGID_BODY|OB_BOUNDS); - /* 64 is do_fh */ - ob->gameflag &= ~(OB_ROT_FH|OB_ANISOTROPIC_FRICTION|OB_GHOST|OB_RIGID_BODY|OB_BOUNDS); - ob = ob->id.next; - } - } - - if (main->versionfile <= 201) { - /* add-object + end-object are joined to edit-object actuator */ - Object *ob = main->object.first; - bProperty *prop; - bActuator *act; - bIpoActuator *ia; - bEditObjectActuator *eoa; - bAddObjectActuator *aoa; - while (ob) { - act = ob->actuators.first; - while (act) { - if (act->type == ACT_IPO) { - ia = act->data; - prop = BKE_bproperty_object_get(ob, ia->name); - if (prop) { - ia->type = ACT_IPO_FROM_PROP; - } - } - else if (act->type == ACT_ADD_OBJECT) { - aoa = act->data; - eoa = MEM_callocN(sizeof(bEditObjectActuator), "edit ob act"); - eoa->type = ACT_EDOB_ADD_OBJECT; - eoa->ob = aoa->ob; - eoa->time = aoa->time; - MEM_freeN(aoa); - act->data = eoa; - act->type = act->otype = ACT_EDIT_OBJECT; - } - else if (act->type == ACT_END_OBJECT) { - eoa = MEM_callocN(sizeof(bEditObjectActuator), "edit ob act"); - eoa->type = ACT_EDOB_END_OBJECT; - act->data = eoa; - act->type = act->otype = ACT_EDIT_OBJECT; - } - act = act->next; - } - ob = ob->id.next; - } - } - - if (main->versionfile <= 202) { - /* add-object and end-object are joined to edit-object - * actuator */ - Object *ob = main->object.first; - bActuator *act; - bObjectActuator *oa; - while (ob) { - act = ob->actuators.first; - while (act) { - if (act->type == ACT_OBJECT) { - oa = act->data; - oa->flag &= ~(ACT_TORQUE_LOCAL|ACT_DROT_LOCAL); /* this actuator didn't do local/glob rot before */ - } - act = act->next; - } - ob = ob->id.next; - } } if (main->versionfile <= 204) { - /* patches for new physics */ - Object *ob = main->object.first; - bActuator *act; - bObjectActuator *oa; bSound *sound; - while (ob) { - - /* please check this for demo20 files like - * original Egypt levels etc. converted - * rotation factor of 50 is not workable */ - act = ob->actuators.first; - while (act) { - if (act->type == ACT_OBJECT) { - oa = act->data; - - oa->forceloc[0] *= 25.0f; - oa->forceloc[1] *= 25.0f; - oa->forceloc[2] *= 25.0f; - - oa->forcerot[0] *= 10.0f; - oa->forcerot[1] *= 10.0f; - oa->forcerot[2] *= 10.0f; - } - act = act->next; - } - ob = ob->id.next; - } sound = main->sound.first; while (sound) { @@ -967,120 +819,8 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } } - if (main->versionfile <= 205) { - /* patches for new physics */ - Object *ob = main->object.first; - bActuator *act; - bSensor *sens; - bEditObjectActuator *oa; - bRaySensor *rs; - bCollisionSensor *cs; - while (ob) { - /* Set anisotropic friction off for old objects, - * values to 1.0. */ - ob->gameflag &= ~OB_ANISOTROPIC_FRICTION; - ob->anisotropicFriction[0] = 1.0; - ob->anisotropicFriction[1] = 1.0; - ob->anisotropicFriction[2] = 1.0; - - act = ob->actuators.first; - while (act) { - if (act->type == ACT_EDIT_OBJECT) { - /* Zero initial velocity for newly - * added objects */ - oa = act->data; - oa->linVelocity[0] = 0.0; - oa->linVelocity[1] = 0.0; - oa->linVelocity[2] = 0.0; - oa->localflag = 0; - } - act = act->next; - } - - sens = ob->sensors.first; - while (sens) { - /* Extra fields for radar sensors. */ - if (sens->type == SENS_RADAR) { - bRadarSensor *s = sens->data; - s->range = 10000.0; - } - - /* Pulsing: defaults for new sensors. */ - if (sens->type != SENS_ALWAYS) { - sens->pulse = 0; - sens->freq = 0; - } - else { - sens->pulse = 1; - } - - /* Invert: off. */ - sens->invert = 0; - - /* Collision and ray: default = trigger - * on property. The material field can - * remain empty. */ - if (sens->type == SENS_COLLISION) { - cs = (bCollisionSensor*) sens->data; - cs->mode = 0; - } - if (sens->type == SENS_RAY) { - rs = (bRaySensor*) sens->data; - rs->mode = 0; - } - sens = sens->next; - } - ob = ob->id.next; - } - /* have to check the exact multiplier */ - } - - if (main->versionfile <= 211) { - /* Render setting: per scene, the applicable gamma value - * can be set. Default is 1.0, which means no - * correction. */ - bActuator *act; - bObjectActuator *oa; - Object *ob; - - /* added alpha in obcolor */ - ob = main->object.first; - while (ob) { - ob->col[3] = 1.0; - ob = ob->id.next; - } - - /* added alpha in obcolor */ - ob = main->object.first; - while (ob) { - act = ob->actuators.first; - while (act) { - if (act->type == ACT_OBJECT) { - /* multiply velocity with 50 in old files */ - oa = act->data; - if (fabsf(oa->linearvelocity[0]) >= 0.01f) - oa->linearvelocity[0] *= 50.0f; - if (fabsf(oa->linearvelocity[1]) >= 0.01f) - oa->linearvelocity[1] *= 50.0f; - if (fabsf(oa->linearvelocity[2]) >= 0.01f) - oa->linearvelocity[2] *= 50.0f; - if (fabsf(oa->angularvelocity[0]) >= 0.01f) - oa->angularvelocity[0] *= 50.0f; - if (fabsf(oa->angularvelocity[1]) >= 0.01f) - oa->angularvelocity[1] *= 50.0f; - if (fabsf(oa->angularvelocity[2]) >= 0.01f) - oa->angularvelocity[2] *= 50.0f; - } - act = act->next; - } - ob = ob->id.next; - } - } - if (main->versionfile <= 212) { bSound *sound; - bProperty *prop; - Object *ob; Mesh *me; sound = main->sound.first; @@ -1097,21 +837,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) sound = sound->id.next; } - ob = main->object.first; - - while (ob) { - prop = ob->prop.first; - while (prop) { - if (prop->type == GPROP_TIME) { - // convert old GPROP_TIME values from int to float - *((float *)&prop->data) = (float) prop->data; - } - - prop = prop->next; - } - ob = ob->id.next; - } - /* me->subdiv changed to reflect the actual reparametization * better, and smeshes were removed - if it was a smesh make * it a subsurf, and reset the subdiv level because subsurf @@ -1134,29 +859,8 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } if (main->versionfile <= 220) { - Object *ob; Mesh *me; - ob = main->object.first; - - /* adapt form factor in order to get the 'old' physics - * behavior back... - */ - - while (ob) { - /* in future, distinguish between different - * object bounding shapes - */ - ob->formfactor = 0.4f; - /* patch form factor, note that inertia equiv radius - * of a rotation symmetrical obj - */ - if (ob->inertia != 1.0f) { - ob->formfactor /= ob->inertia * ob->inertia; - } - ob = ob->id.next; - } - /* Began using alpha component of vertex colors, but * old file vertex colors are undefined, reset them * to be fully opaque. -zr @@ -1214,7 +918,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) if (main->versionfile <= 223) { VFont *vf; Image *ima; - Object *ob; for (vf = main->vfont.first; vf; vf = vf->id.next) { if (STREQ(vf->name + strlen(vf->name) - 6, ".Bfont")) { @@ -1226,21 +929,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) for (ima = main->image.first; ima; ima = ima->id.next) { ima->animspeed = 25; } - - /* Zr remapped some keyboard codes to be linear (stupid zr) */ - for (ob = main->object.first; ob; ob = ob->id.next) { - bSensor *sens; - - for (sens = ob->sensors.first; sens; sens = sens->next) { - if (sens->type == SENS_KEYBOARD) { - bKeyboardSensor *ks = sens->data; - - ks->key = map_223_keybd_code_to_224_keybd_code(ks->key); - ks->qual = map_223_keybd_code_to_224_keybd_code(ks->qual); - ks->qual2 = map_223_keybd_code_to_224_keybd_code(ks->qual2); - } - } - } } if (main->versionfile <= 224) { @@ -1284,14 +972,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } } - if (main->versionfile <= 225) { - World *wo; - /* Use Sumo for old games */ - for (wo = main->world.first; wo; wo = wo->id.next) { - wo->physicsEngine = 2; - } - } - if (main->versionfile <= 227) { Scene *sce; Material *ma; @@ -1469,9 +1149,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) sbuts->mainb = CONTEXT_SCENE; //sbuts->tab[CONTEXT_SCENE] = TAB_SCENE_RENDER; } - else if (sbuts->mainb == BUTS_GAME) { - sbuts->mainb = CONTEXT_LOGIC; - } else if (sbuts->mainb == BUTS_FPAINT) { sbuts->mainb = CONTEXT_EDITING; } @@ -1729,15 +1406,8 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } if (main->versionfile <= 234) { - World *wo; bScreen *sc; - /* force sumo engine to be active */ - for (wo = main->world.first; wo; wo = wo->id.next) { - if (wo->physicsEngine == 0) - wo->physicsEngine = 2; - } - for (sc = main->screen.first; sc; sc = sc->id.next) { ScrArea *sa; for (sa = sc->areabase.first; sa; sa = sa->next) { @@ -2122,10 +1792,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) bNodeTree *ntree; for (wo = main->world.first; wo; wo = wo->id.next) { - /* Migrate to Bullet for games, except for the NaN versions */ - /* People can still explicitly choose for Sumo (after 2.42 is out) */ - if (main->versionfile > 225) - wo->physicsEngine = WOPHY_BULLET; if (WO_AODIST == wo->aomode) wo->aocolor = WO_AOPLAIN; } @@ -3163,25 +2829,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) idproperties_fix_group_lengths(main->particle); } - /* sun/sky */ - if (main->versionfile < 246) { - Object *ob; - bActuator *act; - - /* dRot actuator change direction in 2.46 */ - for (ob = main->object.first; ob; ob = ob->id.next) { - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_OBJECT) { - bObjectActuator *ba = act->data; - - ba->drot[0] = -ba->drot[0]; - ba->drot[1] = -ba->drot[1]; - ba->drot[2] = -ba->drot[2]; - } - } - } - } - /* convert fluids to modifier */ if (main->versionfile < 246 || (main->versionfile == 246 && main->subversionfile < 1)) { Object *ob; @@ -3211,25 +2858,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } } - if (main->versionfile < 247 || (main->versionfile == 247 && main->subversionfile < 2)) { - Object *ob; - for (ob = main->object.first; ob; ob = ob->id.next) { - ob->gameflag |= OB_COLLISION; - ob->margin = 0.06f; - } - } - - if (main->versionfile < 247 || (main->versionfile == 247 && main->subversionfile < 3)) { - Object *ob; - for (ob = main->object.first; ob; ob = ob->id.next) { - /* Starting from subversion 3, ACTOR is a separate feature. - * Before it was conditioning all the other dynamic flags */ - if (!(ob->gameflag & OB_ACTOR)) - ob->gameflag &= ~(OB_GHOST|OB_DYNAMIC|OB_RIGID_BODY|OB_SOFT_BODY|OB_COLLISION_RESPONSE); - /* suitable default for older files */ - } - } - if (main->versionfile < 247 || (main->versionfile == 247 && main->subversionfile < 5)) { Lamp *la = main->lamp.first; for (; la; la = la->id.next) { @@ -3261,23 +2889,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } } - /* direction constraint actuators were always local in previous version */ - if (main->versionfile < 247 || (main->versionfile == 247 && main->subversionfile < 7)) { - bActuator *act; - Object *ob; - - for (ob = main->object.first; ob; ob = ob->id.next) { - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_CONSTRAINT) { - bConstraintActuator *coa = act->data; - if (coa->type == ACT_CONST_TYPE_DIST) { - coa->flag |= ACT_CONST_LOCAL; - } - } - } - } - } - if (main->versionfile < 247 || (main->versionfile == 247 && main->subversionfile < 9)) { Lamp *la = main->lamp.first; for (; la; la = la->id.next) { @@ -3285,28 +2896,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } } - /* BGE message actuators needed OB prefix, very confusing */ - if (main->versionfile < 247 || (main->versionfile == 247 && main->subversionfile < 10)) { - bActuator *act; - Object *ob; - - for (ob = main->object.first; ob; ob = ob->id.next) { - for (act = ob->actuators.first; act; act = act->next) { - if (act->type == ACT_MESSAGE) { - bMessageActuator *msgAct = (bMessageActuator *) act->data; - - if (BLI_strnlen(msgAct->toPropName, 3) > 2) { - /* strip first 2 chars, would have only worked if these were OB anyway */ - memmove(msgAct->toPropName, msgAct->toPropName + 2, sizeof(msgAct->toPropName) - 2); - } - else { - msgAct->toPropName[0] = '\0'; - } - } - } - } - } - if (main->versionfile < 248) { Lamp *la; @@ -3400,60 +2989,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main) } } - if (main->versionfile < 248 || (main->versionfile == 248 && main->subversionfile < 3)) { - Object *ob; - - /* Adjustments needed after Bullets update */ - for (ob = main->object.first; ob; ob = ob->id.next) { - ob->damping *= 0.635f; - ob->rdamping = 0.1f + (0.8f * ob->rdamping); - } - } - - if (main->versionfile < 248 || (main->versionfile == 248 && main->subversionfile < 4)) { - Scene *sce; - World *wrld; - - /* Dome (Fisheye) default parameters */ - for (sce = main->scene.first; sce; sce = sce->id.next) { - sce->r.domeangle = 180; - sce->r.domemode = 1; - sce->r.domeres = 4; - sce->r.domeresbuf = 1.0f; - sce->r.dometilt = 0; - } - /* DBVT culling by default */ - for (wrld = main->world.first; wrld; wrld = wrld->id.next) { - wrld->mode |= WO_DBVT_CULLING; - wrld->occlusionRes = 128; - } - } - - if (main->versionfile < 248 || (main->versionfile == 248 && main->subversionfile < 5)) { - Object *ob; - World *wrld; - for (ob = main->object.first; ob; ob = ob->id.next) { - if (ob->parent) { - /* check if top parent has compound shape set and if yes, set this object - * to compound shaper as well (was the behavior before, now it's optional) */ - Object *parent = blo_do_versions_newlibadr(fd, lib, ob->parent); - while (parent && parent != ob && parent->parent != NULL) { - parent = blo_do_versions_newlibadr(fd, lib, parent->parent); - } - if (parent) { - if (parent->gameflag & OB_CHILD) - ob->gameflag |= OB_CHILD; - } - } - } - for (wrld = main->world.first; wrld; wrld = wrld->id.next) { - wrld->ticrate = 60; - wrld->maxlogicstep = 5; - wrld->physubstep = 1; - wrld->maxphystep = 5; - } - } - /* correct introduce of seed for wind force */ if (main->versionfile < 249 && main->subversionfile < 1) { Object *ob; diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index c1c165bb523..c6523dc99e2 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -109,13 +109,11 @@ #include "DNA_anim_types.h" #include "DNA_armature_types.h" -#include "DNA_actuator_types.h" #include "DNA_brush_types.h" #include "DNA_cachefile_types.h" #include "DNA_camera_types.h" #include "DNA_cloth_types.h" #include "DNA_constraint_types.h" -#include "DNA_controller_types.h" #include "DNA_dynamicpaint_types.h" #include "DNA_genfile.h" #include "DNA_group_types.h" @@ -136,12 +134,10 @@ #include "DNA_packedFile_types.h" #include "DNA_particle_types.h" #include "DNA_lightprobe_types.h" -#include "DNA_property_types.h" #include "DNA_rigidbody_types.h" #include "DNA_scene_types.h" #include "DNA_sdna_types.h" #include "DNA_sequence_types.h" -#include "DNA_sensor_types.h" #include "DNA_smoke_types.h" #include "DNA_space_types.h" #include "DNA_screen_types.h" @@ -1466,180 +1462,6 @@ static void write_particlesystems(WriteData *wd, ListBase *particles) } } -static void write_properties(WriteData *wd, ListBase *lb) -{ - bProperty *prop; - - prop = lb->first; - while (prop) { - writestruct(wd, DATA, bProperty, 1, prop); - - if (prop->poin && prop->poin != &prop->data) { - writedata(wd, DATA, MEM_allocN_len(prop->poin), prop->poin); - } - - prop = prop->next; - } -} - -static void write_sensors(WriteData *wd, ListBase *lb) -{ - bSensor *sens; - - sens = lb->first; - while (sens) { - writestruct(wd, DATA, bSensor, 1, sens); - - writedata(wd, DATA, sizeof(void *) * sens->totlinks, sens->links); - - switch (sens->type) { - case SENS_NEAR: - writestruct(wd, DATA, bNearSensor, 1, sens->data); - break; - case SENS_MOUSE: - writestruct(wd, DATA, bMouseSensor, 1, sens->data); - break; - case SENS_KEYBOARD: - writestruct(wd, DATA, bKeyboardSensor, 1, sens->data); - break; - case SENS_PROPERTY: - writestruct(wd, DATA, bPropertySensor, 1, sens->data); - break; - case SENS_ARMATURE: - writestruct(wd, DATA, bArmatureSensor, 1, sens->data); - break; - case SENS_ACTUATOR: - writestruct(wd, DATA, bActuatorSensor, 1, sens->data); - break; - case SENS_DELAY: - writestruct(wd, DATA, bDelaySensor, 1, sens->data); - break; - case SENS_COLLISION: - writestruct(wd, DATA, bCollisionSensor, 1, sens->data); - break; - case SENS_RADAR: - writestruct(wd, DATA, bRadarSensor, 1, sens->data); - break; - case SENS_RANDOM: - writestruct(wd, DATA, bRandomSensor, 1, sens->data); - break; - case SENS_RAY: - writestruct(wd, DATA, bRaySensor, 1, sens->data); - break; - case SENS_MESSAGE: - writestruct(wd, DATA, bMessageSensor, 1, sens->data); - break; - case SENS_JOYSTICK: - writestruct(wd, DATA, bJoystickSensor, 1, sens->data); - break; - default: - ; /* error: don't know how to write this file */ - } - - sens = sens->next; - } -} - -static void write_controllers(WriteData *wd, ListBase *lb) -{ - bController *cont; - - cont = lb->first; - while (cont) { - writestruct(wd, DATA, bController, 1, cont); - - writedata(wd, DATA, sizeof(void *) * cont->totlinks, cont->links); - - switch (cont->type) { - case CONT_EXPRESSION: - writestruct(wd, DATA, bExpressionCont, 1, cont->data); - break; - case CONT_PYTHON: - writestruct(wd, DATA, bPythonCont, 1, cont->data); - break; - default: - ; /* error: don't know how to write this file */ - } - - cont = cont->next; - } -} - -static void write_actuators(WriteData *wd, ListBase *lb) -{ - bActuator *act; - - act = lb->first; - while (act) { - writestruct(wd, DATA, bActuator, 1, act); - - switch (act->type) { - case ACT_ACTION: - case ACT_SHAPEACTION: - writestruct(wd, DATA, bActionActuator, 1, act->data); - break; - case ACT_SOUND: - writestruct(wd, DATA, bSoundActuator, 1, act->data); - break; - case ACT_OBJECT: - writestruct(wd, DATA, bObjectActuator, 1, act->data); - break; - case ACT_PROPERTY: - writestruct(wd, DATA, bPropertyActuator, 1, act->data); - break; - case ACT_CAMERA: - writestruct(wd, DATA, bCameraActuator, 1, act->data); - break; - case ACT_CONSTRAINT: - writestruct(wd, DATA, bConstraintActuator, 1, act->data); - break; - case ACT_EDIT_OBJECT: - writestruct(wd, DATA, bEditObjectActuator, 1, act->data); - break; - case ACT_SCENE: - writestruct(wd, DATA, bSceneActuator, 1, act->data); - break; - case ACT_GROUP: - writestruct(wd, DATA, bGroupActuator, 1, act->data); - break; - case ACT_RANDOM: - writestruct(wd, DATA, bRandomActuator, 1, act->data); - break; - case ACT_MESSAGE: - writestruct(wd, DATA, bMessageActuator, 1, act->data); - break; - case ACT_GAME: - writestruct(wd, DATA, bGameActuator, 1, act->data); - break; - case ACT_VISIBILITY: - writestruct(wd, DATA, bVisibilityActuator, 1, act->data); - break; - case ACT_2DFILTER: - writestruct(wd, DATA, bTwoDFilterActuator, 1, act->data); - break; - case ACT_PARENT: - writestruct(wd, DATA, bParentActuator, 1, act->data); - break; - case ACT_STATE: - writestruct(wd, DATA, bStateActuator, 1, act->data); - break; - case ACT_ARMATURE: - writestruct(wd, DATA, bArmatureActuator, 1, act->data); - break; - case ACT_STEERING: - writestruct(wd, DATA, bSteeringActuator, 1, act->data); - break; - case ACT_MOUSE: - writestruct(wd, DATA, bMouseActuator, 1, act->data); - break; - default: - ; /* error: don't know how to write this file */ - } - - act = act->next; - } -} - static void write_motionpath(WriteData *wd, bMotionPath *mpath) { /* sanity checks */ @@ -1954,10 +1776,6 @@ static void write_object(WriteData *wd, Object *ob) writedata(wd, DATA, sizeof(void *) * ob->totcol, ob->mat); writedata(wd, DATA, sizeof(char) * ob->totcol, ob->matbits); /* write_effects(wd, &ob->effect); */ /* not used anymore */ - write_properties(wd, &ob->prop); - write_sensors(wd, &ob->sensors); - write_controllers(wd, &ob->controllers); - write_actuators(wd, &ob->actuators); if (ob->type == OB_ARMATURE) { bArmature *arm = ob->data; @@ -1978,7 +1796,6 @@ static void write_object(WriteData *wd, Object *ob) write_pointcaches(wd, &ob->soft->ptcaches); writestruct(wd, DATA, EffectorWeights, 1, ob->soft->effector_weights); } - writestruct(wd, DATA, BulletSoftBody, 1, ob->bsoft); if (ob->rigidbody_object) { /* TODO: if any extra data is added to handle duplis, will need separate function then */ @@ -3089,9 +2906,6 @@ static void write_area_regions(WriteData *wd, ScrArea *area) writestruct(wd, DATA, bNodeTreePath, 1, path); } } - else if (sl->spacetype == SPACE_LOGIC) { - writestruct(wd, DATA, SpaceLogic, 1, sl); - } else if (sl->spacetype == SPACE_CONSOLE) { SpaceConsole *con = (SpaceConsole *)sl; ConsoleLine *cl; |