Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

okay I got it working fairly easily. Although I’m not sure if this is a Barotrauma thing or a byproduct of my code, I am going to keep debugging this - but for some reason when I pasted the item assembly in-game it auto connected the inputs and outputs to open inputs inside of the circuit box.

Here’s CS2:

image.png

Here’s the output for the above example:

<?xml version="1.0" encoding="utf-8"?>
<ItemAssembly name="ItemAssembly" description="" hideinmenus="false">
	<Item name="" identifier="circuitbox" ID="10" markedfordeconstruction="false" rect="-16,16,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" HasBeenInstantiatedOnce="True" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
		<Holdable Attached="True" DisallowAttachingOverTags="" DisallowAttachingOverSize="0,0" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
			<requireditem items="wrench,deattachtool" type="Equipped" optional="false" ignoreineditor="false" excludebroken="true" excludedidentifiers="multitool" />
		</Holdable>
		<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
			<requireditem items="screwdriver" type="Equipped" optional="false" ignoreineditor="false" excludebroken="true" />
			<input name="signal_in1" />
			<input name="signal_in2" />
			<input name="signal_in3" />
			<input name="signal_in4" />
			<input name="signal_in5" />
			<input name="signal_in6" />
			<input name="signal_in7" />
			<input name="signal_in8" />
			<output name="signal_out1" />
			<output name="signal_out2" />
			<output name="signal_out3" />
			<output name="signal_out4" />
			<output name="signal_out5" />
			<output name="signal_out6" />
			<output name="signal_out7" />
			<output name="signal_out8" />
			<input name="signal_in0" />
			<input name="signal_in9" />
			<output name="signal_out0" />
			<output name="signal_out9" />
		</ConnectionPanel>
		<ItemContainer QuickUseMovesItemsInside="False" AutoFill="True" PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="" contained="11,12,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
		<ItemContainer QuickUseMovesItemsInside="False" AutoFill="True" PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="" contained=",,,,,,,,," ExtraStackSize="0" />
		<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
			<requireditem items="idcard" type="Picked" optional="false" ignoreineditor="true" excludebroken="true" msg="itemmsgunauthorizedaccess" />
			<InputNode pos="-747.51135,31.953491" />
			<OutputNode pos="512,0" />
			<Component id="0" position="-250,0" backingitemid="0,0" usedresource="fpgacircuit" />
			<Component id="1" position="0,0" backingitemid="1,0" usedresource="fpgacircuit" />
			<Component id="2" position="250,0" backingitemid="2,0" usedresource="fpgacircuit" />
			<Wire id="0" backingitemid="" prefab="redwire">
				<From name="signal_in0" target="" />
				<To name="signal_in" target="0" />
			</Wire>
			<Wire id="1" backingitemid="" prefab="redwire">
				<From name="signal_out" target="0" />
				<To name="signal_r" target="1" />
			</Wire>
			<Wire id="2" backingitemid="" prefab="redwire">
				<From name="signal_in1" target="" />
				<To name="signal_g" target="1" />
			</Wire>
			<Wire id="3" backingitemid="" prefab="redwire">
				<From name="signal_in2" target="" />
				<To name="signal_b" target="1" />
			</Wire>
			<Wire id="4" backingitemid="" prefab="redwire">
				<From name="signal_in3" target="" />
				<To name="signal_a" target="1" />
			</Wire>
			<Wire id="5" backingitemid="" prefab="redwire">
				<From name="signal_out" target="1" />
				<To name="signal_in" target="2" />
			</Wire>
			<Wire id="6" backingitemid="" prefab="redwire">
				<From name="signal_out" target="2" />
				<To name="signal_out0" target="" />
			</Wire>
		</CircuitBox>
		<itemstats />
	</Item>
	<Item name="" identifier="acoscomponent" ID="11" markedfordeconstruction="false" rect="0,0,16,16" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" OnInsertedEffectsApplied="True" HasBeenInstantiatedOnce="True" InvulnerableToDamage="False" Tags="circuitboxcomponent,smallitem,logic" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100" hideinassemblypreview="true">
		<FunctionComponent PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="" />
		<Holdable DisallowAttachingOverTags="" DisallowAttachingOverSize="0,0" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
			<requireditem items="wrench,deattachtool" type="Equipped" optional="false" ignoreineditor="false" excludebroken="true" excludedidentifiers="multitool" />
		</Holdable>
		<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
			<requireditem items="screwdriver" type="Equipped" optional="false" ignoreineditor="false" excludebroken="true" />
			<input name="signal_in" />
			<output name="signal_out" />
		</ConnectionPanel>
	</Item>
	<Item name="" identifier="colorcomponent" ID="12" markedfordeconstruction="false" rect="0,0,16,16" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" OnInsertedEffectsApplied="True" HasBeenInstantiatedOnce="True" InvulnerableToDamage="False" Tags="circuitboxcomponent,smallitem,logic" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100" hideinassemblypreview="true">
		<FunctionComponent PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="" />
		<Holdable DisallowAttachingOverTags="" DisallowAttachingOverSize="0,0" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
			<requireditem items="wrench,deattachtool" type="Equipped" optional="false" ignoreineditor="false" excludebroken="true" excludedidentifiers="multitool" />
		</Holdable>
		<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
			<requireditem items="screwdriver" type="Equipped" optional="false" ignoreineditor="false" excludebroken="true" />
			<input name="signal_r" />
			<input name="signal_g" />
			<input name="signal_b" />
			<input name="signal_a" />
			<output name="signal_out" />
		</ConnectionPanel>
	</Item>
	<Item name="" identifier="coscomponent" ID="13" markedfordeconstruction="false" rect="0,0,16,16" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" OnInsertedEffectsApplied="True" HasBeenInstantiatedOnce="True" InvulnerableToDamage="False" Tags="circuitboxcomponent,smallitem,logic" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100" hideinassemblypreview="true">
		<FunctionComponent PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="" />
		<Holdable DisallowAttachingOverTags="" DisallowAttachingOverSize="0,0" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
			<requireditem items="wrench,deattachtool" type="Equipped" optional="false" ignoreineditor="false" excludebroken="true" excludedidentifiers="multitool" />
		</Holdable>
		<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
			<requireditem items="screwdriver" type="Equipped" optional="false" ignoreineditor="false" excludebroken="true" />
			<input name="signal_in" />
			<output name="signal_out" />
		</ConnectionPanel>
	</Item>
</ItemAssembly>

And here’s the in-game result:

image.png

Although I kinda moved stuff around in-game because it was all piled on itself. So I am going to keep working on this but I’ll have an update for you by Sunday.

Thanks for the patience :)