### Cookie Texture Setup for Armok Vision Shaders Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Effects/Projectors/Guidelines.txt Configures import settings for cookie textures used with Projector/Light and Projector/Shadow shaders. Ensures proper rendering by setting wrap mode, mipmaps, and texture format. ```Unity Shader Texture Wrap Mode: Clamp Border Mipmaps: Enabled Texture Format: Uncompressed Alpha Channel: Required for Projector/Shadow (e.g., Alpha from Grayscale) ``` -------------------------------- ### First Person Character Setup Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Characters/FirstPersonCharacter/FirstPersonCharacterGuidelines.txt Steps to set up the First Person Character prefab in a Unity scene. This includes placing the prefab, removing the default camera, and understanding the core components. ```csharp 1. Start with a suitable scene with flat ground. 2. Place the "FirstPersonCharacter" prefab in the scene. 3. Delete the default "Main Camera" as the prefab includes its own camera. ``` -------------------------------- ### ThirdPersonCharacter Setup Guide Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Characters/ThirdPersonCharacter/ThirdPersonCharacterGuidelines.txt Steps to replace the default character model with a custom one, including hierarchy manipulation, avatar assignment, and position adjustments. ```Unity C# 1) Start with a suitable scene. There ought to be enough flat ground to walk around on. 2) Place the "ThirdPersonCharacter" prefab in the scene. 3) Unfold the ThirdPersonCharacter hierarchy in the hierarchy window, and delete all child of "ThirdPersonController". 4) Place your own character model as a child of the ThirdPersonCharacter. 5) Drop the Avatar of your model (created by model importer, cf documentation) inside the Avatar slot of the Animator component on "ThirdPersonController" 6) Make sure your character model's position in the inspector is set to zero on X and Z, and that it's Y position is appropriately adjusted so that your character's feet are at the same position as the ThirdPersonCharacter GameObject. (if you find it easier, you could add your character first before deleting Ethan, so that you can use Ethan's feet as a guide for where your character's feet should be) 7) Hit play, and try controlling your character! ``` -------------------------------- ### Armok Vision Color Configuration Example Source: https://github.com/rosarymala/armok-vision/wiki/XML-Configuration XML files define specific configurations. This example shows the structure for defining colors, including RGB values and how they apply to different materials or sub-objects, with conditional application based on tile types. ```xml ``` -------------------------------- ### Armok Vision Installation Source: https://github.com/rosarymala/armok-vision/blob/master/ReleaseFiles/Readme.txt Instructions for installing Armok Vision, which requires a copy of Dwarf Fortress and DFHack. It also mentions the option of using an updated RemoteFortressReader plugin for a more complete experience. ```APIDOC Installation: Prerequisites: - A copy of Dwarf Fortress. - A recent build of DFHack installed on top of Dwarf Fortress. Recommended: - DFHack built after the current Armok Vision release OR an updated RemoteFortressReader plugin for your platform. Building DFHack (if necessary): - Follow instructions at https://github.com/DFHack/dfhack/blob/master/docs/Compile.rst - Build from the develop branch of DFHack. ``` -------------------------------- ### First Person Character Components Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Characters/FirstPersonCharacter/FirstPersonCharacterGuidelines.txt Overview of the scripts that make up the First Person Character, detailing their functionalities for movement, rotation, and optional effects. ```csharp FirstPersonCharacter: Handles movement, strafing, and jumping. SimpleMouseRotator: Controls horizontal body rotation (left/right). SimpleMouseRotator (on FirstPersonCamera): Controls vertical camera rotation (up/down). Head Bob (Optional): Provides head bobbing effect and synchronized footstep sounds. ``` -------------------------------- ### AI Character Control Setup Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Characters/ThirdPersonCharacter/ThirdPersonCharacterGuidelines.txt Details on how to enable AI control for characters by adding the ThirdPersonAIControl component and configuring the NavMeshAgent. ```Unity C# // Add the ThirdPersonAIControl component instead of the user control component. // Ensure the NavMeshAgent is a child object of the Character. ``` -------------------------------- ### Input System Flexibility Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Characters/ThirdPersonCharacter/ThirdPersonCharacterGuidelines.txt Explains how to switch between the provided CrossPlatformInput and Unity's built-in Input system for character control. ```Unity C# // To use Unity's built-in Input system: // Replace references to CrossPlatformInput with UnityEngine.Input ``` -------------------------------- ### Camera Rig Setup and Target Assignment Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Cameras/CameraGuidelines.txt Instructions on how to use the camera rigs by dropping them into a scene and setting the target. It also explains the automatic targeting of objects tagged 'Player'. ```Unity C# 1. Drop a Camera Rig prefab into your scene. 2. Set the 'target' field on the root of the camera rig. 3. If the player is tagged 'Player', targeting is automatic unless unchecked. 4. Delete the default 'Main Camera' in the scene. ``` -------------------------------- ### Falloff Texture Setup for Armok Vision Shaders Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Effects/Projectors/Guidelines.txt Configures import settings for falloff textures used with Armok Vision shaders. Requires data in the alpha channel and specific import settings for correct behavior. ```Unity Shader Texture Format: Alpha8 Texture Wrap Mode: Clamp Leftmost Pixel Column: Black Border Mipmaps: Enabled ``` -------------------------------- ### Physics Material Requirements Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Characters/FirstPersonCharacter/FirstPersonCharacterGuidelines.txt The FirstPersonCharacter script requires specific physics materials for proper movement and interaction. ```csharp Requires references to "zero friction" and "max friction" physics materials. ``` -------------------------------- ### Armok Vision Index File Structure Source: https://github.com/rosarymala/armok-vision/wiki/XML-Configuration TXT files in Armok Vision serve as indexes to load other configuration files. They can contain comments (lines starting with '#') and paths to other index files or XML configuration files. The loading process starts with 'index.txt' and follows the references. ```txt #This is a comment line, and is skipped. #Testfolder/index.txt Colors/index.txt MaterialTextures/index.txt TileTextures/index.txt TileMeshes/index.txt BuildingMeshes/index.txt ``` -------------------------------- ### RollerBall Prefab Setup Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/Characters/RollerBall/RollerBallGuidelines.txt Instructions for setting up the RollerBall prefab in a Unity scene. This involves placing the prefab, a camera rig, and optionally removing the default camera. ```unity-csharp 1. Start with a suitable scene with enough flat ground. 2. Place the "RollerBall" prefab in the scene. 3. Place a camera rig from the Cameras folder in the scene. 4. If present, delete the default "Main Camera" as camera rigs include their own camera. ``` -------------------------------- ### Initial Creature Graphics Configuration Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/StreamingAssets/graphics/graphics_tropical_new.txt Initial configuration for creature graphics, specifying states and biome for a creature. This entry seems to be a placeholder or an example before specific creature types are detailed. ```custom [CHILD:TROPICAL_NEW:14:4:AS_IS:DEFAULT] [ANIMATED:TROPICAL_NEW:22:4:AS_IS:DEFAULT] [TRAINED_WAR:TROPICAL_NEW:6:12:AS_IS:DEFAULT] [TRAINED_HUNTER:TROPICAL_NEW:14:12:AS_IS:DEFAULT] ``` -------------------------------- ### CrossPlatformInput API Reference Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Standard Assets/CrossPlatformInput/CrossPlatformInputGuidelines.txt This section details the core functions of the CrossPlatformInput class, which are designed to be used as replacements for Unity's standard Input class for cross-platform compatibility. ```APIDOC CrossPlatformInput: GetAxis(axisName: string): float - Returns the value of the virtual axis identified by axisName. - This value is either from Unity's Input Manager or from a mobile control rig. - Example: CrossPlatformInput.GetAxis("Horizontal") GetAxisRaw(axisName: string): float - Returns the value of the virtual axis identified by axisName, without smoothing. - Example: CrossPlatformInput.GetAxisRaw("Vertical") GetButton(buttonName: string): bool - Returns true if the virtual button identified by buttonName is held down. - Example: CrossPlatformInput.GetButton("Jump") GetButtonDown(buttonName: string): bool - Returns true during the frame the user pressed the virtual button identified by buttonName. - Example: CrossPlatformInput.GetButtonDown("Fire") GetButtonUp(buttonName: string): bool - Returns true during the frame the user released the virtual button identified by buttonName. - Example: CrossPlatformInput.GetButtonUp("Submit") ``` -------------------------------- ### Cloning Armok Vision Repository Source: https://github.com/rosarymala/armok-vision/blob/master/README.md Instructions for cloning the Armok Vision project repository using Git, including the necessary LFS extension for non-Windows users and the option to fetch the full history. ```bash git clone --recurse-submodules --depth 1 https://github.com/JapaMala/armok-vision.git ``` -------------------------------- ### Armok Vision Controls Source: https://github.com/rosarymala/armok-vision/blob/master/ReleaseFiles/Readme.txt This section details the keyboard and mouse controls for navigating and interacting with the Armok Vision overlay for Dwarf Fortress. It covers movement, camera manipulation, time controls, and display toggles. ```APIDOC Controls: Movement: W, A, S, D, Middle Click Drag: Move horizontally. Q, E: Move up and down. Camera: Mouse Wheel: Zoom in and out. Right Click Drag: Rotate the view. Time and Environment: P: Pause and resume sun movement. [: Decrease time of day (pauses sun movement). ]: Increase time of day (pauses sun movement). O: Toggle shadows from hidden Z-levels. L: Toggle scaling of creatures based on size. Display and UI: `: Toggle showing the Dwarf Fortress screen. F: Toggle following the center of the Dwarf Fortress screen. Actions: Esc: Open options menu. F9: Save screenshot. Ctrl+F9: Save minimap. ``` -------------------------------- ### Armok Vision Project Structure and Dependencies Source: https://github.com/rosarymala/armok-vision/blob/master/README.md An overview of the Armok Vision project's technical structure, highlighting its reliance on the Unity engine, DFHack's remotefortressreader plugin, and protobuf-formatted messages for data exchange. ```APIDOC Armok Vision Project Structure: - Built with Unity engine. - Connects to DFHack's remotefortressreader plugin via TCP. - Exchanges protobuf-formatted messages (see DFHack/dfhack/plugins/proto/RemoteFortressReader.proto). Key Components: - Assets/RemoteClientDF-Net: - Contains generated C# protobuf files. - Manages network connection. - DFConnection.cs (Assets/Scripts/MapGen/DFConnection.cs): - Runs the connection on a separate thread. - Exposes data collected from Dwarf Fortress. - Map Management: - GameMap.cs (Assets/Scripts/MapGen/GameMap.cs): - Manages GameObjects for map chunks. - Utilizes scripts in Assets/Scripts/MapGen/Meshing for mesh generation (on separate threads). - Asset Loading: - Assets/StreamingAssets: - Loads textures, 3D models, sprites at runtime. - Copied to the generated app folder. - ContentLoader.cs (Assets/Scripts/MapGen/ContentLoader.cs): - Handles asset loading from StreamingAssets. ``` -------------------------------- ### v0.9.1 Texture and Input Fixes Source: https://github.com/rosarymala/armok-vision/blob/master/ReleaseFiles/Changelog.txt Fixed tree foliage textures. Fixed keyboard not responding on startup. ```plaintext * Fixed tree foliage textures. * Fixed keyboard not responding on startup. ``` -------------------------------- ### hqxSharp Source Code Reference Source: https://github.com/rosarymala/armok-vision/blob/master/Assets/Scripts/hqxSharp/hqxSharp - Source.txt Provides a link to the source code repository for the hqxSharp library, which is a dependency or related project for armok-vision. ```text To get the source code for hqxSharp, please visit . ``` -------------------------------- ### v0.16.1 New Models and Help Menu Source: https://github.com/rosarymala/armok-vision/blob/master/ReleaseFiles/Changelog.txt Added new nestbox model, made by Ola Tuvesson. Added an onscreen help, togglable by F1. ```plaintext * Added new nestbox model, made by Ola Tuvesson * Added an onscreen help, togglable by F1 ```