[Bug 1.1 Beta] Shape Editor sequence editing broken - LOGGED
by Justin Knight · in Torque 3D Professional · 02/23/2010 (7:56 am) · 6 replies
System: Vista 64, 4GB RAM, GeForce GTX 260
Trying to add a sequence with a frame out of range results in a crash to desktop with the message "TSThread::advancePos(3)" and the following in the console:
Trying to create, edit and save additional sequences using the shape editor frequently fails and gives errors like these in the console log:
Trying to add a sequence with a frame out of range results in a crash to desktop with the message "TSThread::advancePos(3)" and the following in the console:
TSShape::addSequence: End keyframe (31) out of range (0-30) for sequence '__backup__mySequence11' d:torquetorque 3d 2009 pro 1.1 beta 1enginesourcetststhread.cpp(394) : Fatal - TSThread::advancePos (3)
Trying to create, edit and save additional sequences using the shape editor frequently fails and gives errors like these in the console log:
getSequenceSource: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' getSequenceSource: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' getSequenceBlend: Could not find sequence named '__proxy__ambient' getSequenceCyclic: Could not find sequence named '__proxy__ambient' getSequencePriority: Could not find sequence named '__proxy__ambient' getTriggerCount: Could not find sequence named '__proxy__ambient' getSequenceSource: Could not find sequence named '__proxy__ambient' getSequenceSource: Could not find sequence named '__proxy__ambient' TSShape::addSequence: Could not find sequence named '' getSequenceBlend: Could not find sequence named '__proxy__ambient' getSequenceCyclic: Could not find sequence named '__proxy__ambient' getSequencePriority: Could not find sequence named '__proxy__ambient' getTriggerCount: Could not find sequence named '__proxy__ambient' getSequenceSource: Could not find sequence named '__proxy__ambient' getSequenceSource: Could not find sequence named '__proxy__ambient' TSShape::addSequence: Could not find sequence named '' renameSequence: Could not find sequence named '__proxy__ambient' TSShape::addSequence: Could not find sequence named '__proxy__ambient' TSShape::addSequence: Could not find sequence named '__proxy__ambient' TSShape::addSequence: Could not find sequence named '__proxy__ambient' getSequenceSource: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' getSequenceSource: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' getSequenceSource: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' getSequenceSource: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' getSequenceSource: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' getSequenceSource: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' TSShape::addSequence: Could not find sequence named '__backup__ambient' getSequenceBlend: Could not find sequence named 'ambient' getSequenceCyclic: Could not find sequence named 'ambient' getSequencePriority: Could not find sequence named 'ambient' getTriggerCount: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' TSShape::addSequence: Could not find sequence named '' getSequenceBlend: Could not find sequence named 'ambient' getSequenceCyclic: Could not find sequence named 'ambient' getSequencePriority: Could not find sequence named 'ambient' getTriggerCount: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' TSShape::addSequence: Could not find sequence named '' TSShape::addSequence: Could not find sequence named 'ambient' getSequenceBlend: Could not find sequence named 'ambient' getSequenceCyclic: Could not find sequence named 'ambient' getSequencePriority: Could not find sequence named 'ambient' getTriggerCount: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' TSShape::addSequence: Could not find sequence named '' getSequenceBlend: Could not find sequence named 'ambient' getSequenceCyclic: Could not find sequence named 'ambient' getSequencePriority: Could not find sequence named 'ambient' getTriggerCount: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' TSShape::addSequence: Could not find sequence named '' getSequenceBlend: Could not find sequence named 'ambient' getSequenceCyclic: Could not find sequence named 'ambient' getSequencePriority: Could not find sequence named 'ambient' getTriggerCount: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' TSShape::addSequence: Could not find sequence named '' getSequenceBlend: Could not find sequence named 'ambient' getSequenceCyclic: Could not find sequence named 'ambient' getSequencePriority: Could not find sequence named 'ambient' getTriggerCount: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'ambient' TSShape::addSequence: Could not find sequence named '' Set::remove: Object "10463" does not exist in set TSShape::addSequence: Could not find sequence named 'ambient' getSequenceSource: Could not find sequence named 'mySequence1' getSequenceSource: Could not find sequence named 'mySequence1' renameSequence: Could not find sequence named 'mySequence1' renameSequence: Could not find sequence named 'mySequence1' getSequenceBlend: Could not find sequence named 'mySequence1' getSequenceCyclic: Could not find sequence named 'mySequence1' getSequencePriority: Could not find sequence named 'mySequence1' getTriggerCount: Could not find sequence named 'mySequence1' getSequenceSource: Could not find sequence named 'mySequence1' getSequenceSource: Could not find sequence named 'mySequence1' TSShape::addSequence: Could not find sequence named '' getSequenceBlend: Could not find sequence named 'mySequence1' getSequenceCyclic: Could not find sequence named 'mySequence1' getSequencePriority: Could not find sequence named 'mySequence1' getTriggerCount: Could not find sequence named 'mySequence1' getSequenceSource: Could not find sequence named 'mySequence1' getSequenceSource: Could not find sequence named 'mySequence1' TSShape::addSequence: Could not find sequence named '' getSequenceBlend: Could not find sequence named 'mySequence1' getSequenceCyclic: Could not find sequence named 'mySequence1' getSequencePriority: Could not find sequence named 'mySequence1' getTriggerCount: Could not find sequence named 'mySequence1' getSequenceSource: Could not find sequence named 'mySequence1' getSequenceSource: Could not find sequence named 'mySequence1' TSShape::addSequence: Could not find sequence named '' getSequenceSource: Could not find sequence named 'mySequence1' getSequenceSource: Could not find sequence named 'mySequence1' renameSequence: Could not find sequence named 'mySequence1'
About the author
#2
02/23/2010 (7:45 pm)
If you can find a sequence of create/edit steps to reproduce the console errors you listed above I'd greatly appreciate it. The editor has to do some messy behind-the-scenes work to make the 3space format appear to be easily editable, so it's very possible there is something going awry.
#3
I'll try again using our build to see if I can reproduce the errors. I've made some source changes but mainly just integrating webkit, database and an md5 function - nothing that should effect sequence editing.
02/24/2010 (1:33 am)
I tried to create some sequences on the same .dts this morning, but using a clean Full Template build. I didn't get the console errors or crash this time and was able to create the sequences OK. The code it creates looks a bit convoluted:singleton TSShapeConstructor(Double_doorsDAE)
{
baseShape = "./double_doors.DAE";
};
function Double_doorsDAE::onLoad(%this)
{
%this.addSequence("ambient", "__backup__ambient1");
%this.addSequence("__backup__ambient1", "open", "0", "30");
%this.addSequence("__backup__ambient1", "__proxy__open");
%this.addSequence("ambient", "__backup__ambient2");
%this.addSequence("__backup__ambient2", "close", "30", "59");
%this.addSequence("__backup__ambient2", "__proxy__close");
%this.removeSequence("__backup__ambient1");
%this.removeSequence("__backup__ambient2");
}I'll try again using our build to see if I can reproduce the errors. I've made some source changes but mainly just integrating webkit, database and an md5 function - nothing that should effect sequence editing.
#4
So I deleted the .cs and .dts files and reimported from the .dae. I was then able to create the open and close sequences correctly, ending up with this code:
Sorry can't seem to reproduce this now. If it happens again I'll reply to this post.
02/24/2010 (1:50 am)
Looking at the file I was editing yesterday again the ambient sequence wasn't there:singleton TSShapeConstructor(Double_doorsDAE)
{
baseShape = "./double_doors.DAE";
};
function Double_doorsDAE::onLoad(%this)
{
%this.renameSequence("ambient", "__backup__ambient");
%this.addSequence("__backup__ambient", "ambient", "0", "30");
%this.removeSequence("__backup__ambient");
%this.addSequence("ambient", "__backup__ambient1");
%this.removeSequence("ambient");
%this.renameSequence("mySequence1", "open");
%this.removeSequence("__backup__ambient1");
%this.addSequence("__deleted_ambient_2", "__backup____deleted_ambient_21");
%this.addSequence("__backup____deleted_ambient_21", "mySequence1", "0", "30");
%this.addSequence("mySequence1", "__backup__mySequence11");
%this.addSequence("__backup__mySequence11", "mySequence2", "0", "30");
%this.addSequence("__deleted_mySequence1_3", "__backup____deleted_mySequence1_31");
%this.removeSequence("mySequence1");
%this.addSequence("__backup____deleted_mySequence1_31", "mySequence1", "0", "30");
%this.removeSequence("__backup____deleted_ambient_21");
%this.removeSequence("__backup__mySequence11");
%this.removeSequence("__backup____deleted_mySequence1_31");
}So I deleted the .cs and .dts files and reimported from the .dae. I was then able to create the open and close sequences correctly, ending up with this code:
singleton TSShapeConstructor(Double_doorsDAE)
{
baseShape = "./double_doors.DAE";
loadLights = "0";
};
function Double_doorsDAE::onLoad(%this)
{
%this.addSequence("ambient", "__backup__ambient1");
%this.addSequence("__backup__ambient1", "open", "0", "30");
%this.addSequence("__backup__ambient1", "__proxy__open");
%this.addSequence("ambient", "__backup__ambient2");
%this.addSequence("__backup__ambient2", "mySequence1", "0", "30");
%this.addSequence("__backup__ambient2", "__proxy__mySequence1");
%this.renameSequence("mySequence1", "close");
%this.renameSequence("__proxy__mySequence1", "__proxy__close");
%this.removeSequence("__backup__ambient1");
%this.removeSequence("__backup__ambient2");
}Sorry can't seem to reproduce this now. If it happens again I'll reply to this post.
#5
08/21/2010 (5:36 am)
Logged as TQA-861.
#6
Does this still occur for you in 1.1 Beta 2? We've never been able to reproduce it in QA.
09/03/2010 (3:35 pm)
@JustinDoes this still occur for you in 1.1 Beta 2? We've never been able to reproduce it in QA.
Associate Chris Robertson
1. Select a sequence
2. Hit 'new' button to make a copy of the selected sequence
3. Edit the in/out edit box with a value outside the valid keyframe range. The edit appears to be ignored, and the value is reset back to the first/last frame respectively.
Alternatively:
1. Select a sequence
2. Change the in/out value to be outside range, but don't hit enter
3. Hit 'new' to make a copy of the selected sequence (with the new values). The 'out-of-range' console error is printed, but the sequence is still added and the in/out values are clamped to the valid range.
I did see a crash when deleting a sequence while it was playing. To fix this, change GuiShapeEdPreview::refreshThreadSequences in guiShapeEdPreview.cpp (around line 427) to this:
// Detect changed (or removed) sequence indices if ( thread.key->getSeqIndex() != mModel->getShape()->findSequence( thread.sequence ) ) {