GearBlocks 0.7.9153Hey all, just another small update!
New Flat MapThere's now a new "Concrete Pad" map:

It's just another boring flat map, but hopefully a bit easier on the eye for long building sessions than the "Flat Plane" map, plus it has no environmental audio.
Part Selection DuplicationYou can now duplicate your current part selection.
Select some parts:

Then open the
SELECTION menu and click
Duplicate Selected (or just press
Left Ctrl + D):

This will duplicate the parts into new construction(s), with attachments, links, etc. intact:
NOTE: To implement this, I had to change the save format slightly. Any "part intersections" (the red crosses you get after deleting attachments between intersecting parts) from existing saves will be lost.
Deprecated PartsThe engine "front crank" parts are now deprecated, as the "crank nose" part makes them redundant. I can't remove them without possibly breaking existing creations, so they're still in the game, just hidden in the part spawner UI.
NOTE: If you need to get access to these deprecated parts in the spawner UI again, type
ShowDeprecatedParts true in the debug console.
Lua ScriptingThere's now some additional physics functionality available from Lua scripting, you can now do stuff like:
function FixedUpdate()
if Physics.RayCast( Vector3.__new( 0, 10, 0 ), Vector3.Forward, 1000 ) then
local distance, position, normal, colliderInstanceID = Physics.QueryCastHit( 0 )
local part = PartColliderRegistry.GetPart( colliderInstanceID )
if part then
print( 'Part: ' .. part.FullDisplayName )
end
end
end
See the API documentation for more details:
https://www.gearblocksgame.com/apidoc/class_smash_hammer_1_1_scripting_1_1_physics_proxy.htmlAlso, typing "LogKeyNames" or "LogAxisNames" in the debug console now lists all available input key and axis names respectively. This allows you to more easily find out what key names can be used in
Input.GetKey() etc.
Release notes:-
- NOTE: Changed save format, any "part intersections" from existing saves will be lost.
- Implemented part selection duplication. To duplicate the currently selected parts, click Duplicate Selected in the SELECTION menu, or press Left Ctrl + D.
- Torsion springs now have an option to turn off angle clamping.
- Engine "front crank" parts are now deprecated and hidden in the spawner UI (given that the "crank nose" part makes them redundant).
- Modified the EngineTool script mod to allow choice between showing engine head's timing angle or current crank angle.
- Lua scripting:-
- Added Physics module with methods for raycasts, spherecasts, etc.
- Added PartColliderRegistry, with a method for retrieving a part from the ID of one of its colliders.
- Added an overload of CreateAttachment() in IAttachmentOperations that takes a separate search position and normal for the owner and connected parts.
- Typing "LogKeyNames" or "LogAxisNames" in the debug console now lists all available input key and axis names respectively (to be used in Input.GetKey() etc. for Lua scripting).
- Added "Concrete Pad" map.
- Bug fixes.