Skip to content

Hologram Projector

Neronix17 edited this page Mar 21, 2023 · 1 revision

The Hologram Projector comp is a simple way to display a variety of customizable holograms from a building. As an example this is from my Outer Rim - Furniture and Decor mod.

<comps>
    <li Class="TabulaRasa.CompProperties_HologramProjection">
	<!-- Size of the displayed hologram -->
	<size>(1, 1)</size>
	<!-- Offset from the buildings position -->
	<offset>(0, 1, 0.85)</offset>
	<!-- Tags used to define which holograms can be displayed on it -->
	<hologramTags>
		<li>OuterRimHoloSmall</li>
	</hologramTags>
	<!-- Additional layer for a fake lightbeam to be displayed -->
	<holobeam>OuterRim/Building/Projectors/Small/HoloProjector_Small_Holobeam</holobeam>
	<!-- Radius of special effects (recreation and certainty) -->
	<radius>4</radius>
	<!-- Recreation gained from being around the hologram -->
	<recreationPerDay>0.05</recreationPerDay>
	<!-- Certainty gained if the pawns Ideo matches the overall colony Ideo -->
	<certaintyPerDay>0.02</certaintyPerDay>
	<!-- Standard glower radius and colour, same as vanilla light sources -->
	<glowRadius>2</glowRadius>
	<glowColor>(255, 255, 255)</glowColor>
    </li>
</comps>

This comp is used in combination with the TabulaRasa.ITab_Hologram inspectorTab which controls the customization in-game, without it the hologram will always be the default def and colours. Speaking of the def here's an example from the same mod:

<TabulaRasa.HologramDef>
	<defName>OuterRim_Hologram_Credits</defName>
	<label>credit sign</label>
	<!-- Tags must match what is in the comp above if you want this to be able to 
             display on that projector. -->
	<hologramTags>
		<li>OuterRimHoloSmall</li>
	</hologramTags>
	<!-- First item in hologramLayers dictates the current glower colour 
             for the projector. -->
	<hologramLayers>
		<li>
	                <!-- Path is obvious, default colour is just what it'll be if the player does 
                             not change it, which they can do per-layer. -->
			<texPath>OuterRim/Building/Projectors/Small/Holo_Credits0</texPath>
			<defaultColor>(217, 177, 76)</defaultColor>
		</li>
		<li>
	                <!-- Layers are rendered one on top of another, I made this with the intention 
                             of being able to have inlays and outlines that are different colours, I'm 
                             not sure what other uses there could be for it yet but I'm sure people 
                             will find some in time. -->
			<texPath>OuterRim/Building/Projectors/Small/Holo_Credits1</texPath>
			<defaultColor>(69, 186, 104)</defaultColor>
		</li>
	</hologramLayers>
</TabulaRasa.HologramDef>

Clone this wiki locally