GearBlocks 0.7.9153

Hey all, just another small update!

New Flat Map

There’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 Duplication

You 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 Parts

The 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 Scripting

There’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.html

Also, 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.