You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(Error appears with Windows XP. Using precompiled binaries.)
Using the Shape Editor tool, animation triggers can't correctly be added to new sequences created from a longer sequence if the starting point ("in" value) isn't zero.
How to reproduce:
Create a project from the Full template.
Open the world editor and enter the Shape Editor() tab.
Open Library->art/shapes/weapons/Lurker/FP_Lurker (for example)
In "Properties", in the "Seq" tab, select "reload" (highlight it). That sequence was created from between the frames 460 and 550 of the source sequence called "timeline".
Now, for example, place the frame marker (of the VCR-like thing) at around the frame 500. That's correctly inside "reload" boundaries.
Try to add a new trigger (press the paper icon at the side of "Triggers").
You get the error: "Add trigger failed. Check the console for error messages."
The error message of the console says:"TSShape::addTrigger: Keyframe out of range (0-90 for sequence 'reload')".
But if the frame marker (of the VCR-like thing) is in the frame 10 -for example-, that's outside the boundaries of "reload" and it's the start of "timeline", and try to add the trigger again you get a correctly defined trigger for "reload" at frame 10.
The issue comes from ShapeEdSequences::onAddTrigger not taking in account the starting point of the sequence.
An example of how to fix it:
Change the "function ShapeEdSequences::onAddTrigger( %this ){...}" that you can see inside ShapeEditor.ed.cs from the line 2205 with:
function ShapeEdSequences::onAddTrigger( %this )
{
// Can only add triggers if a sequence is selected
%seqName = ShapeEdSequenceList.getSelectedName();
if ( %seqName !$= "" )
{
// Add a new trigger at the current frame
%frame = mRound( ShapeEdSeqSlider.getValue() ) - %this-->startFrame.getText();
if ((%frame < 0) || (%frame > %this-->endFrame.getText() - %this-->startFrame.getText()))
{
MessageBoxOK( "Error", "Trigger out of range of the selected animation." );
}
else
{
%state = ShapeEdTriggerList.rowCount() % 30;
ShapeEditor.doAddTrigger( %seqName, %frame, %state );
}
}
}
(Error appears with Windows XP. Using precompiled binaries.)
Using the Shape Editor tool, animation triggers can't correctly be added to new sequences created from a longer sequence if the starting point ("in" value) isn't zero.
How to reproduce:
Create a project from the Full template.
Open the world editor and enter the Shape Editor() tab.
Open Library->art/shapes/weapons/Lurker/FP_Lurker (for example)
In "Properties", in the "Seq" tab, select "reload" (highlight it). That sequence was created from between the frames 460 and 550 of the source sequence called "timeline".
Now, for example, place the frame marker (of the VCR-like thing) at around the frame 500. That's correctly inside "reload" boundaries.
Try to add a new trigger (press the paper icon at the side of "Triggers").
You get the error: "Add trigger failed. Check the console for error messages."
The error message of the console says:"TSShape::addTrigger: Keyframe out of range (0-90 for sequence 'reload')".
But if the frame marker (of the VCR-like thing) is in the frame 10 -for example-, that's outside the boundaries of "reload" and it's the start of "timeline", and try to add the trigger again you get a correctly defined trigger for "reload" at frame 10.
The issue comes from ShapeEdSequences::onAddTrigger not taking in account the starting point of the sequence.
An example of how to fix it:
Change the "function ShapeEdSequences::onAddTrigger( %this ){...}" that you can see inside ShapeEditor.ed.cs from the line 2205 with:
function ShapeEdSequences::onAddTrigger( %this )
{
// Can only add triggers if a sequence is selected
%seqName = ShapeEdSequenceList.getSelectedName();
if ( %seqName !$= "" )
{
// Add a new trigger at the current frame
%frame = mRound( ShapeEdSeqSlider.getValue() ) - %this-->startFrame.getText();
if ((%frame < 0) || (%frame > %this-->endFrame.getText() - %this-->startFrame.getText()))
{
MessageBoxOK( "Error", "Trigger out of range of the selected animation." );
}
else
{
%state = ShapeEdTriggerList.rowCount() % 30;
ShapeEditor.doAddTrigger( %seqName, %frame, %state );
}
}
}
Note that in the repository there are two ShapeEditor.ed.cs (one for each default template):
https://github.com/GarageGames/Torque3D/blob/development/Templates/Empty/game/tools/shapeEditor/scripts/shapeEditor.ed.cs
https://github.com/GarageGames/Torque3D/blob/development/Templates/Full/game/tools/shapeEditor/scripts/shapeEditor.ed.cs
The text was updated successfully, but these errors were encountered: