diff options
author | Ton Roosendaal <ton@blender.org> | 2009-01-19 19:54:41 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-01-19 19:54:41 +0300 |
commit | bc63213844e723b0c552da446fb7fa9f9e7ea5f6 (patch) | |
tree | 433519ee3526536032e62226a058f6ec4fd17a1a /source/gameengine | |
parent | 9b049d89a1bc36534875c67e097415e034d0624d (diff) |
2.5
View3D has been split now in a local part (RegionView3D) and a
per-area part (old View3D). Currently local is:
- view transform
- camera zoom/offset
- gpencil (todo)
- custom clipping planes
Rest is in Area still, like active camera, draw type, layers,
localview, custom centers, around-settings, transform widget,
gridlines, and so on (mostly stuff as available in header).
To see it work; also added new feature for region split,
press SHIFT+ALT+CTRL+S for four-split.
The idea is to make a preset 4-split, configured to stick
to top/right/front views for three views.
Another cool idea to explore is to then box-clip all drawing
based on these 3 views.
Note about the code:
- currently view3d still stores some depricated settings, to
convert from older files. Not all settings are copied over
though, like custom clip planes or the 'lock view to object'.
- since some view3d ops are now on area level, the operators
for it should keep track of that.
Bugfix in transform: quat initialize in operator-invoke missed
one zero.
Als brought back GE to compile for missing Ipos and channels.
Diffstat (limited to 'source/gameengine')
4 files changed, 14 insertions, 11 deletions
diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp index d5eaeb34f1b..7f9165b0cfb 100644 --- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp +++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp @@ -111,6 +111,7 @@ static BlendFileData *load_game_data(char *filename) } extern "C" void StartKetsjiShell(struct ScrArea *area, + struct ARegion *ar, char* scenename, struct Main* maggie1, struct SpaceIpo *sipo, @@ -140,6 +141,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area, do { View3D *v3d= (View3D*) area->spacedata.first; + RegionView3D *rv3d= ar->regiondata; // get some preferences SYS_SystemHandle syshandle = SYS_GetSystem(); @@ -224,7 +226,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area, for (i = 0; i < 16; i++) { - float *viewmat_linear= (float*) v3d->viewmat; + float *viewmat_linear= (float*) rv3d->viewmat; viewmat.setElem(i, viewmat_linear[i]); } for (i = 0; i < 16; i++) @@ -234,7 +236,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area, } if(v3d->persp==V3D_CAMOB) { - camzoom = (1.41421 + (v3d->camzoom / 50.0)); + camzoom = (1.41421 + (rv3d->camzoom / 50.0)); camzoom *= camzoom; } else @@ -541,6 +543,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area, } extern "C" void StartKetsjiShellSimulation(struct ScrArea *area, + struct ARegion *ar, char* scenename, struct Main* maggie, struct SpaceIpo *sipo, diff --git a/source/gameengine/Converter/BL_ShapeActionActuator.cpp b/source/gameengine/Converter/BL_ShapeActionActuator.cpp index 46f3141be29..09cc9120e6a 100644 --- a/source/gameengine/Converter/BL_ShapeActionActuator.cpp +++ b/source/gameengine/Converter/BL_ShapeActionActuator.cpp @@ -380,9 +380,9 @@ bool BL_ShapeActionActuator::Update(double curtime, bool frame) m_blendstart = curtime; } // only interested in shape channel - extract_ipochannels_from_action(&tchanbase, &key->id, m_action, "Shape", m_localtime); + // XXX extract_ipochannels_from_action(&tchanbase, &key->id, m_action, "Shape", m_localtime); - if (!execute_ipochannels(&tchanbase)) { + if (0) { // XXX !execute_ipochannels(&tchanbase)) { // no update, this is possible if action does not match the keys, stop the action keepgoing = false; } diff --git a/source/gameengine/Converter/BL_ShapeDeformer.cpp b/source/gameengine/Converter/BL_ShapeDeformer.cpp index fc6498579ad..8be612503bc 100644 --- a/source/gameengine/Converter/BL_ShapeDeformer.cpp +++ b/source/gameengine/Converter/BL_ShapeDeformer.cpp @@ -116,11 +116,11 @@ bool BL_ShapeDeformer::ExecuteShapeDrivers(void) for (it=m_shapeDrivers.begin(); it!=m_shapeDrivers.end(); it++) { // no need to set a specific time: this curve has a driver - IpoCurve *icu = *it; - calc_icu(icu, 1.0f); - poin = get_ipo_poin((ID*)m_bmesh->key, icu, &type); - if (poin) - write_ipo_poin(poin, type, icu->curval); + // XXX IpoCurve *icu = *it; + //calc_icu(icu, 1.0f); + //poin = get_ipo_poin((ID*)m_bmesh->key, icu, &type); + //if (poin) + // write_ipo_poin(poin, type, icu->curval); } ForceUpdate(); diff --git a/source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp b/source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp index 4d79febb7b4..17bb3dedd36 100644 --- a/source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp +++ b/source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp @@ -36,7 +36,7 @@ extern "C" { static const int BL_MAX_CHANNELS = 32; float BL_ScalarInterpolator::GetValue(float currentTime) const { - return IPO_GetFloatValue(m_blender_ipo, m_channel, currentTime); + return 0; // XXX IPO_GetFloatValue(m_blender_ipo, m_channel, currentTime); } @@ -44,7 +44,7 @@ float BL_ScalarInterpolator::GetValue(float currentTime) const { BL_InterpolatorList::BL_InterpolatorList(struct Ipo *ipo) { IPO_Channel channels[BL_MAX_CHANNELS]; - int num_channels = IPO_GetChannels(ipo, channels); + int num_channels = 0; // XXX IPO_GetChannels(ipo, channels); int i; |