<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CMAPUMODULE :: Catur Documentation</title>
    <link>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/index.html</link>
    <description>Overview The CMAPUMODULE is a procedural minimap builder that generates a hexagonal tile-based map representation of the world at runtime. It reads room and cluster layout from CROOMUMODULE, projects them onto a scaled-down hex grid using UInstancedStaticMeshComponent, and encodes cluster/room identity into per-instance custom data for material-driven coloring.&#xA;Depends on CCOREUMODULE.&#xA;Do not confuse with the minimap display chain CMAPUMODULE only builds the hex grid ISM in the 3D world. It does not handle capturing or displaying the minimap in the HUD. The display chain is handled by separate, independent components in other modules: UCMinimapComponent (CCHARUMODULE — USceneCaptureComponent2D that captures the scene from above) and UCMinimapWidget (CWIDGETUMODULE — UMG widget that displays the render target in the HUD).</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 20 Jul 2024 21:09:28 +0200</lastBuildDate>
    <atom:link href="https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Diagrams</title>
      <link>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/diagrams/index.html</link>
      <pubDate>Sat, 20 Jul 2024 21:09:28 +0200</pubDate>
      <guid>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/diagrams/index.html</guid>
      <description>Overview Visual diagrams illustrating the internal architecture and runtime behavior of CMAPUMODULE.&#xA;1. Map Visual Behavior What the map module produces, how mapScale and mapResolution affect the result, and how tile coloring works via closest-room assignment (implicit Voronoi partition). The visual behavior SVG is the most important diagram for understanding the module.</description>
    </item>
    <item>
      <title>Data Structures</title>
      <link>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/data/index.html</link>
      <pubDate>Sat, 20 Jul 2024 21:09:28 +0200</pubDate>
      <guid>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/data/index.html</guid>
      <description>FCMapMakerStruct Configuration structure for map generation parameters. Used as a FTableRowBase row in a DataTable, referenced by ACMapSpawner via FDataTableRowHandle.&#xA;Name Description tileMesh Static mesh used for each hex tile instance tileMeshSize Base size of a tile mesh in world units (default 100.0) splineMesh Static mesh used for spline-based border rendering splineMeshSize Size of the spline mesh (default 100) tangentForce Tangent strength for spline curves, best between 1 and 3 (default 1.0) FCMapMakerStruct mapStruct; mapStruct.tileMesh = myHexMesh; mapStruct.tileMeshSize = 100.0; mapStruct.splineMesh = mySplineMesh; mapStruct.splineMeshSize = 100; mapStruct.tangentForce = 2.0; FCMapDataQueue Internal queue structure used by UCMapMaker to batch async build results.</description>
    </item>
    <item>
      <title>CMapSpawner</title>
      <link>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/cmapspawner/index.html</link>
      <pubDate>Sat, 20 Jul 2024 21:09:28 +0200</pubDate>
      <guid>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/cmapspawner/index.html</guid>
      <description>Overview ACMapSpawner is the main actor to place in a level for minimap generation. It inherits from ACAbstractSpawner and implements ICMapData. It reads its configuration from a DataTable row (FCMapMakerStruct), instantiates UCMapMaker and drives the build loop on tick.&#xA;Properties Name Description mapMakerRH FDataTableRowHandle pointing to a FCMapMakerStruct row (RowType = CMapStruct) mapMaker Transient reference to the instantiated UCMapMaker Lifecycle Name Description init Reads the DataTable row, validates data, instantiates UCMapMaker Tick Calls mapMaker-&gt;buildASync when room is built and actor is ready. Stops ticking once the map is built clean Destroys the map maker and its resources storeSpawnerSingleton Registers this spawner as CNAME_Singleton_MapSpawner // ACMapSpawner is placed in the level. // Configure mapMakerRH to point to a DataTable row of type FCMapMakerStruct. // init() is called by the spawner system (ACAbstractSpawner). // It reads the row and instantiates UCMapMaker: FCMapMakerStruct* data = getRowFromRH&lt;FCMapMakerStruct&gt;(mapMakerRH); UCMapMaker::instantiate(GetRootComponent(), mapMaker, stream, *data); // On Tick, the spawner waits for room data and actor readiness, // then delegates to the map maker: if (IsValid(mapMaker) &amp;&amp; RoomUtility::roomBuilt() &amp;&amp; ActorUtility::actorReady()) { if (!mapMaker-&gt;built) { mapMaker-&gt;buildASync(this); } else { SetActorTickEnabled(false); } }</description>
    </item>
    <item>
      <title>CMapMaker</title>
      <link>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/cmapmaker/index.html</link>
      <pubDate>Sat, 20 Jul 2024 21:09:28 +0200</pubDate>
      <guid>https://doc.cdryx.net/CdryxAIOUPlugin/modules/cmapumodule/cmapmaker/index.html</guid>
      <description>Overview UCMapMaker is the core object responsible for building the minimap. It computes a hexagonal tile grid scaled down from the world room layout, creates an UInstancedStaticMeshComponent with one instance per hex tile, and encodes cluster/room identity into per-instance custom data for material-driven rendering.&#xA;The build pipeline is asynchronous: drawMap runs off the game thread, enqueues results, and updateMap_sync dequeues and creates ISM instances on the game thread.</description>
    </item>
  </channel>
</rss>