diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..5458e3230 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,45 @@ +name: FGD Build and Folder Copy +on: + push: + branches: [ master, dev ] + pull_request: + branches: [ master, dev ] +jobs: + build-windows: + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install srctools + run: .\install_srctools.bat + - name: FGD build and folder copy + run: .\build.bat all + - name: Artifact upload + uses: actions/upload-artifact@v2 + with: + name: build_${{ runner.os }}-${{ github.sha }} + path: ./build/*.fgd + if-no-files-found: error + build-linux: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install srctools + run: bash ./install_srctools.sh + - name: FGD build and folder copy + run: bash ./build.sh all + - name: Artifact upload + uses: actions/upload-artifact@v2 + with: + name: build_${{ runner.os }}-${{ github.sha }} + path: ./build/*.fgd + if-no-files-found: error diff --git a/README.md b/README.md index 81020865a..d2e1812d0 100644 --- a/README.md +++ b/README.md @@ -7,15 +7,6 @@
-[releases]: https://github.com/TeamSpen210/HammerAddons/releases -[installationwiki]: https://github.com/TeamSpen210/HammerAddons/wiki/Installation -[unifiedfgd]: https://github.com/TeamSpen210/HammerAddons/wiki/Unified-FGD -[skotty]: http://forums.thinking.withportals.com/downloads.php?view=detail&df_id=507 -[tf2]: http://forums.tf2maps.net/showthread.php?t=4674 -[ts2do]: http://halflife2.filefront.com/file/HalfLife_2_Upgraded_Base_FGDs;48139 -[zps]: http://www.necrotalesgames.com/tools/index.php - - ## Features * Auto-packing - Automatically packs non-stock game files into the bsp. Filtered based on search paths in the included custom gameinfo and FGD database. Assets can also be packed manually with `comp_pack` entities. @@ -29,26 +20,28 @@ * In addition to the normal `Entity Scripts` section, a new `Init Code` field can be used to write code that's packed and added to those scripts. Useful for setting configuration options etc. Backticks can be used here too. * New `comp_` entities. These are mainly intended for use in instances, allowing modifying entities outside of the instance to conform or doing normally impossible things like positioning things in the void: -| Entity | Description | -|------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `comp_choreo_sceneset` | Chains a set of choreographed scenes together. | -| `comp_entity_finder` | Finds the closest entity of a given type, then applies various transformations. Outputs from this entity will be moved to the found entity. Further keyvalues can be set manually with SmartEdit off. | -| `comp_entity_mover` | Shift an entity by a given amount. This is useful to place entities into the void, for example. | -| `comp_kv_setter` | Sets a keyvalue on an entity to a new value. This is useful to compute spawnflags, or to adjust keyvalues when the target entity's options can't be set to a fixup variable. | -| `comp_numeric_transtition` | When triggered, animates a keyvalue/input over time with various options. | -| `comp_pack` | Explicitly identify resources to pack into the map. If more are needed, add additional keyvalues with SmartEdit off. | -| `comp_pack_rename` | Pack a file into the BSP, under a different name than it starts with. | -| `comp_pack_replace_soundscript` | Replace a soundscript with a different one. | -| `comp_precache_model` | Force a specific model to load, for runtime switching. Duplicates will be removed. | -| `comp_precache_sound` | Force a specific sound to load, for runtime switching. Duplicates will be removed. More keyvalues can be added. | -| `comp_prop_cable`/`comp_prop_rope` | Generates cables using a static prop. | -| `comp_propcombine_set` | Specifies a group of props that will be combined together. | -| `comp_relay` | Simplified version of `logic_relay` which is able to be optimised away by the compiler. The various inputs and outputs are useful for bundling commands together, or using more appopriate verbs. Inputs only work if given directly from entities (or via instance redirection), not in-game or dynamically. All inputs/outputs may pass through any parameter, if no override is specified. | -| `comp_scriptvar_setter` | Assigns data or a group of data to a variable in an entity's VScript scope on spawn. To set an array, provide an index in the variable name in the form 'varname[4]'. All the comp_scriptvars pointing to that variable will be collected into a single array literal, with holes filled by *null*. If the brackets are empty, these values will fill those holes and then append to the end in an arbitrary order. | -| `comp_vactube_end` | Marks the end point of a vactube. Objects reaching here will be cleaned up. | -| `comp_vactube_juntion` | Marks a junction in a vactube, where they're forced to change direction. Scanner models near straight nodes will be detected automatically. | -| `comp_vactube_object` | Registers objects that can appear in the tubing. | -| `comp_vactube_start` | Marks the start point of a vactube. This is where they spawn. | +| Entity | Description | +|----------------------------------------------------|-------------| +| `comp_choreo_sceneset` | Chains a set of choreographed scenes together. | +| `comp_entity_finder` | Finds the closest entity of a given type, then applies various transformations. Outputs from this entity will be moved to the found entity. Further keyvalues can be set manually with SmartEdit off. | +| `comp_entity_mover` | Shift an entity by a given amount. This is useful to place entities into the void, for example. | +| `comp_kv_setter` | Sets a keyvalue on an entity to a new value. This is useful to compute spawnflags, or to adjust keyvalues when the target entity's options can't be set to a fixup variable. | +| `comp_numeric_transtition` | When triggered, animates a keyvalue/input over time with various options. | +| `comp_pack` | Explicitly identify resources to pack into the map. If more are needed, add additional keyvalues with SmartEdit off. | +| `comp_pack_rename` | Pack a file into the BSP, under a different name than it starts with. | +| `comp_pack_replace_soundscript` | Replace a soundscript with a different one. | +| `comp_precache_model` | Force a specific model to load, for runtime switching. Duplicates will be removed. | +| `comp_precache_sound` | Force a specific sound to load, for runtime switching. Duplicates will be removed. More keyvalues can be added. | +| `comp_prop_cable`/`comp_prop_rope` | Generates 3D cables using a static prop. | +| `comp_prop_cable_dynamic`/`comp_prop_rope_dynamic` | Modifies the above to generate a dynamic prop, instead. | +| `comp_propcombine_set`/`comp_propcombine_volume` | Specifies a group of props that will be combined together, so they more efficiently render. | +| `comp_relay` | Simplified version of `logic_relay` which is able to be optimised away by the compiler. The various inputs and outputs are useful for bundling commands together, or using more appopriate verbs. Inputs only work if given directly from entities (or via instance redirection), not in-game or dynamically. All inputs/outputs may pass through any parameter, if no override is specified. | +| `comp_scriptvar_setter` | Assigns data or a group of data to a variable in an entity's VScript scope on spawn. To set an array, provide an index in the variable name in the form `varname[4]`. All the comp_scriptvars pointing to that variable will be collected into a single array literal, with holes filled by *null*. If the brackets are empty, these values will fill those holes and then append to the end in an arbitrary order. | +| `comp_vactube_end` | Marks the end point of a vactube. Objects reaching here will be cleaned up. | +| `comp_vactube_junction` | Marks a junction in a vactube, where they're forced to change direction. Scanner models near straight nodes will be detected automatically. | +| `comp_vactube_spline` | Generates a dynamic vactube model following a set of points. | +| `comp_vactube_object` | Registers objects that can appear in the tubing. | +| `comp_vactube_start` | Marks the start point of a vactube. This is where they spawn. | ## Installation @@ -65,3 +58,11 @@ * [The TF2 Ultimate Mapping Resource Pack][tf2] * [ZPS: Supplemental Hammer Icons][zps] * [ts2do's HL FGDs][ts2do] + +[releases]: https://github.com/TeamSpen210/HammerAddons/releases +[installationwiki]: https://github.com/TeamSpen210/HammerAddons/wiki/Installation +[unifiedfgd]: https://github.com/TeamSpen210/HammerAddons/wiki/Unified-FGD +[skotty]: http://forums.thinking.withportals.com/downloads.php?view=detail&df_id=507 +[tf2]: http://forums.tf2maps.net/showthread.php?t=4674 +[ts2do]: http://halflife2.filefront.com/file/HalfLife_2_Upgraded_Base_FGDs;48139 +[zps]: http://www.necrotalesgames.com/tools/index.php diff --git a/build.bat b/build.bat index 36ac6fe52..4765a0bf5 100644 --- a/build.bat +++ b/build.bat @@ -1,15 +1,50 @@ -robocopy hammer build/hammer /S /PURGE -robocopy instances build/instances /XF *.vmx /S /PURGE -robocopy transforms build/postcompiler/transforms /PURGE -python unify_fgd.py exp p2 srctools -o "build/portal2.fgd" -python unify_fgd.py exp p1 srctools -o "build/portal.fgd" -python unify_fgd.py exp hl2 srctools -o "build/hl2.fgd" -python unify_fgd.py exp ep1 ep2 srctools -o "build/episodic.fgd" -python unify_fgd.py exp gmod srctools -o "build/gmod.fgd" -python unify_fgd.py exp csgo srctools -o "build/csgo.fgd" -python unify_fgd.py exp tf2 srctools -o "build/tf2.fgd" -python unify_fgd.py exp asw srctools -o "build/asw.fgd" -python unify_fgd.py exp l4d srctools -o "build/l4d.fgd" -python unify_fgd.py exp l4d2 srctools -o "build/left4dead2.fgd" -python unify_fgd.py exp infra srctools -o "build/infra.fgd" -python unify_fgd.py exp mesa srctools -o "build/blackmesa.fgd" +@echo off +setlocal EnableDelayedExpansion + +SET games=p2 p1 hl2 ep1 ep2 gmod csgo tf2 asw l4d l4d2 infra mesa + +:: If set, override the FGD filename generated. +SET filename.p2=portal2 +SET filename.p1=portal +SET filename.ep1=episodic +SET filename.tf2=tf +SET filename.l4d=left4dead +SET filename.l4d2=left4dead2 +SET filename.mesa=blackmesa +SET game=%1 + +:: Make sure game isn't empty +:while +IF [%game%]==[] (echo Games: %games% & echo Enter game to build. Use ALL to build every game. & SET /P game= & GOTO :while) + +IF /I %game%==ALL ( + CALL :copy_hammer_files + (FOR %%i in (%games%) do ( + CALL :build_game %%i + )) + EXIT +) ELSE ( + (FOR %%i in (%games%) do ( + IF /I %game%==%%i ( + CALL :copy_hammer_files + CALL :build_game %game% + EXIT + ) + )) + echo Unknown game. Exitting. & EXIT /B 1 +) + +:build_game + SET tag=%1 + IF DEFINED filename.%tag% (SET fname=!filename.%tag%!) ELSE (SET fname=%tag%) + echo Building FGD for %1 as "%fname%.fgd"... + py unify_fgd.py exp "%tag%" srctools -o "build/%fname%.fgd" + IF %ERRORLEVEL% NEQ 0 (echo Building FGD for %tag% has failed. Exitting. & EXIT) + EXIT /B + +:copy_hammer_files + echo Copying Hammer files... + IF %ERRORLEVEL% LSS 8 robocopy hammer build/hammer /S /PURGE + IF %ERRORLEVEL% LSS 8 robocopy instances build/instances /XF *.vmx /S /PURGE + IF %ERRORLEVEL% LSS 8 EXIT /B 0 + echo Failed copying Hammer files. Exitting. & EXIT diff --git a/build.sh b/build.sh new file mode 100755 index 000000000..95a0c0562 --- /dev/null +++ b/build.sh @@ -0,0 +1,48 @@ +#!/bin/sh +games="p2 p1 hl2 ep1 ep2 gmod csgo tf2 asw l4d l4d2 infra mesa" +game=$1 +if [ $# -eq 0 ]; then + echo Games: "${games[*]}" & echo Enter game to build. Use ALL to build every game. & read -p "" game +fi + +copy_hammer_files() { + echo "Copying Hammer files..." + mkdir -p build/postcompiler && + cp -rf hammer build/hammer && + cp -rf instances build/instances && + cp -rf transforms build/postcompiler/transforms && + find ./build/instances -iname "*.vmx" -delete # Yes, I know that we could use rsync with a ton of options to do this instead of using cp and then deleting unwanted files. This is FAR nicer imo. + + if [ $? -ne 0 ]; then + echo "Failed copying Hammer files. Exitting." & exit 1 + fi + return 0 +} + +build_game() { + echo "Building FGD for $1..." + python3 unify_fgd.py exp $1 srctools -o "build/$1.fgd" + + if [ $? -ne 0 ]; then + echo "Building FGD for $1 has failed. Exitting." & exit 1 + fi + return 0 +} + +if [ "${game^^}" = "ALL" ]; then + copy_hammer_files + for i in $games + do + build_game $i + done +else + for i in $games + do + if [ "$i" = "$game" ]; then + copy_hammer_files + build_game $game + exit + fi + echo "Unknown game. Exitting." & exit 1 + done +fi diff --git a/fgd/base_entity.fgd b/fgd/base_entity.fgd index 1238ed9b4..026b04c0b 100644 --- a/fgd/base_entity.fgd +++ b/fgd/base_entity.fgd @@ -9,7 +9,9 @@ targetname(target_source) : "Name" hammerid(integer) : "Hammer ID" - target(target_destination) : "Target" + // Defined here, but don't include - it's treated as + // many different types. + // target(target_destination) : "Target" spawnflags(flags) = [] diff --git a/fgd/bases/BMBaseHelicopter.fgd b/fgd/bases/BMBaseHelicopter.fgd index eba14681e..afd39e96f 100644 --- a/fgd/bases/BMBaseHelicopter.fgd +++ b/fgd/bases/BMBaseHelicopter.fgd @@ -10,19 +10,19 @@ input MoveSpecifiedSpeed(float): "The helicopter will immediately move at the specified speed (you provide this as parameter override in units per second) towards its current goal." input ChangePathCorner(target_destination) : "Tell the helicopter to move to a path corner on a new path." input Activate(void) : "Activate. Use to wake up a helicopter that spawned with the 'Await Input' spawnflag on." - input SetTrack(target_destination) : "Set a track for the helicopter to adhere to. The helicopter will do nothing if he's on the same path, and will move to the closest point on the specified track if he's on a different path." - input FlyToSpecificTrackViaPath(target_destination) : "The helicopter will first fly to the closest point on the path if he's on a different path. Then he'll fly along the path to the specified track point." + input SetTrack(target_destination) : "Set a track for the helicopter to adhere to. The helicopter will do nothing if it's on the same path, and will move to the closest point on the specified track if it's on a different path." + input FlyToSpecificTrackViaPath(target_destination) : "The helicopter will first fly to the closest point on the path if it's on a different path. Then it'll fly along the path to the specified track point." input SelfDestruct(void) : "Self Destruct." input EnableRotorWash(void) : "Enable Rotor Wash." input DisableRotorWash(void) : "Disable Rotor Wash." input EnableRotorSound(void) : "Enable Rotor Wash Sound." input DisableRotorSound(void) : "Disable Rotor Wash Sound." input StartPatrol(void) : "Start patrolling back and forth along the current track." - input StopPatrol(void) : "Stop patrolling back and forth along the track. This will cause the helicopter to come to rest at the track which he's currently flying toward." + input StopPatrol(void) : "Stop patrolling back and forth along the track. This will cause the helicopter to come to rest at the track which it's currently flying toward." input ChooseFarthestPathPoint(void) : "When tracking an enemy, choose the point on the path furthest from the enemy, but still in firing range." input ChooseNearestPathPoint(void) : "When tracking an enemy, choose the point on the path nearest from the enemy." - input StartBreakableMovement(void) : "The helicopter is now allowed to disobey direct commands to go to particular points if he senses an enemy. He will move to the closest point (or farthest point, if ChooseFarthestPathPoint is used), on the path if he senses an enemy." - input StopBreakableMovement(void) : "The helicopter can not disobey direct commands. He will continue to fly along his patrol path or to his specified target even if he senses an enemy." + input StartBreakableMovement(void) : "The helicopter is now allowed to disobey direct commands to go to particular points if it senses an enemy. It will move to the closest point (or farthest point, if ChooseFarthestPathPoint is used), on the path if it senses an enemy." + input StopBreakableMovement(void) : "The helicopter can not disobey direct commands. It will continue to fly along its patrol path or to its specified target even if it senses an enemy." input SetHealth(integer) : "Set Chopper HP" diff --git a/fgd/bases/BaseDriveableVehicle.fgd b/fgd/bases/BaseDriveableVehicle.fgd index b80fdbc8d..9e8d9f208 100644 --- a/fgd/bases/BaseDriveableVehicle.fgd +++ b/fgd/bases/BaseDriveableVehicle.fgd @@ -1,10 +1,13 @@ @BaseClass base(BaseVehicle) = BaseDriveableVehicle [ - vehiclelocked(boolean) : "Start locked" : 0 + vehiclelocked(boolean) : "Start locked" : 0 : "Whether to start the vehicle locked. A locked vehicle cannot be entered or exited." // Inputs - input HandBrakeOn(void) : "Turns the handbrake on" - input HandBrakeOff(void) : "Releases the handbrake" + input TurnOn(void) : "Turn on: Start engine & enable throttle" + input TurnOff(void) : "Turn off: Stop engine, disable throttle, engage brakes." + input Lock(void) : "Prevent the player from entering or exiting the vehicle." + input Unlock(void) : "Re-allow the player to enter or exit the vehicle." + // EnableGun is part of CPropVehicleDrivable, but it only has an effect on specific vehicles so it's not included here. input EnterVehicle[MBase](void) : "Forces the activator (or player) into the vehicle." input EnterVehicleImmediate[MBase](void) : "Forces the activator (or player) into the vehicle without enter/exit animations." diff --git a/fgd/bases/BaseHelicopter.fgd b/fgd/bases/BaseHelicopter.fgd index 913d3c616..71b2e2a8e 100644 --- a/fgd/bases/BaseHelicopter.fgd +++ b/fgd/bases/BaseHelicopter.fgd @@ -19,13 +19,13 @@ line(255 255 255, targetname, target) = BaseHelicopter input ChangePathCorner(target_destination) : "Tell the helicopter to move to a path corner on a new path." input SelfDestruct(void) : "Self Destruct." input Activate(void) : "Activate. Use to wake up a helicopter that spawned with the 'Await Input' spawnflag on." - input SetTrack(target_destination) : "Set a track for the helicopter to adhere to. The helicopter will do nothing if he's on the same path, and will move to the closest point on the specified track if he's on a different path." - input FlyToSpecificTrackViaPath(target_destination) : "The helicopter will first fly to the closest point on the path if he's on a different path. Then he'll fly along the path to the specified track point." + input SetTrack(target_destination) : "Set a track for the helicopter to adhere to. The helicopter will do nothing if it's on the same path, and will move to the closest point on the specified track if it's on a different path." + input FlyToSpecificTrackViaPath(target_destination) : "The helicopter will first fly to the closest point on the path if it's on a different path. Then it'll fly along the path to the specified track point." input StartPatrol(void) : "Start patrolling back and forth along the current track." - input StopPatrol(void) : "Stop patrolling back and forth along the track. This will cause the helicopter to come to rest at the track which he's currently flying toward." + input StopPatrol(void) : "Stop patrolling back and forth along the track. This will cause the helicopter to come to rest at the track which it's currently flying toward." input ChooseFarthestPathPoint(void) : "When tracking an enemy, choose the point on the path furthest from the enemy, but still in firing range." input ChooseNearestPathPoint(void) : "When tracking an enemy, choose the point on the path nearest from the enemy." - input StartBreakableMovement(void) : "The helicopter is now allowed to disobey direct commands to go to particular points if he senses an enemy. He will move to the closest point (or farthest point, if ChooseFarthestPathPoint is used), on the path if he senses an enemy." - input StopBreakableMovement(void) : "The helicopter can not disobey direct commands. He will continue to fly along his patrol path or to his specified target even if he senses an enemy." + input StartBreakableMovement(void) : "The helicopter is now allowed to disobey direct commands to go to particular points if it senses an enemy. It will move to the closest point (or farthest point, if ChooseFarthestPathPoint is used), on the path if it senses an enemy." + input StopBreakableMovement(void) : "The helicopter can not disobey direct commands. It will continue to fly along its patrol path or to its specified target even if it senses an enemy." input SetMaxSpeed[ASW](float) : "Change the helicopter's max speed." ] diff --git a/fgd/bases/BasePortalCube.fgd b/fgd/bases/BasePortalCube.fgd new file mode 100644 index 000000000..2768492b6 --- /dev/null +++ b/fgd/bases/BasePortalCube.fgd @@ -0,0 +1,36 @@ +@BaseClass base(BasePropPhysics) += BasePortalCube : "The base for prop_weighted_cube and prop_scaled_cube" +[ + line_cube[-engine](string) readonly : "----------------------------------------------------------------------------------------------------------" : "" + + paintpower[engine](integer) : "Starting Paint" : 4 + paintpower(choices) : "Starting paint" : "4" : "The cube starts painted with the set gel." = + [ + 0: "Repulsion Gel" + 1: "Adhesion Gel" + 2: "Propulsion Gel" + 3: "Conversion Gel" + 4: "None" + ] + + allowfunnel(boolean) : "Allow Portal Funneling" : 1 : "Whether or not this object should auto-funnel into a floor portal." + + // Inputs + input EnablePortalFunnel(void) : "Enable portal funneling behavior." + input DisablePortalFunnel(void) : "Disable portal funneling behavior." + input EnableMotion(void) : "Allow physics simulation." + input DisableMotion(void) : "Prevent Physics simulation, freezing the cube in place." + input SetPaint(integer) : "Force the cube to be painted with 0 (Repulsion), 2 (Propulsion), or 4 (No) gel." + + input Dissolve(void) : "Fizzles the cube, firing the OnFizzled output." + input SilentDissolve(void) : "Kills the cube immediately and fires its OnFizzled output." + input ExitDisabledState(void) : "Exits the disabled state of a reflective cube." + + // Outputs + output OnFizzled(void) : "Fired when a cube is fizzled." + output OnOrangePickUp(void) : "P-Body picked up the cube." + output OnBluePickUp(void) : "ATLAS picked up the cube." + output OnPlayerPickup(void) : "Any player picked up the cube." + output OnPhysGunDrop(void) : "Any player dropped the cube." + output OnPainted(void) : "Cube got painted, only if the state changed." +] \ No newline at end of file diff --git a/fgd/bases/BaseVehicle.fgd b/fgd/bases/BaseVehicle.fgd index 7d7d227ba..37d9fe6d1 100644 --- a/fgd/bases/BaseVehicle.fgd +++ b/fgd/bases/BaseVehicle.fgd @@ -6,8 +6,8 @@ // Inputs input Action(float) : "Set the speed of the action animation" - input TurnOn(void) : "Turn on: Start engine & enable throttle" - input TurnOff(void) : "Turn off: Stop engine, disable throttle, engage brakes." - input Lock(void) : "Prevent the player from entering or exiting the vehicle." - input Unlock(void) : "Re-allow the player to enter or exit the vehicle." + input HandBrakeOn(void) : "Turns the handbrake on" + input HandBrakeOff(void) : "Releases the handbrake" + input Steer(float) : "Steer the vehicle +/-1" + input Throttle(float) : "Throttle +/-1" ] diff --git a/fgd/bases/LeadGoalBase.fgd b/fgd/bases/LeadGoalBase.fgd index 05e3aa102..4db5619d3 100644 --- a/fgd/bases/LeadGoalBase.fgd +++ b/fgd/bases/LeadGoalBase.fgd @@ -5,7 +5,7 @@ goal(string) : "Target Entity" waitpointname(target_destination) : "Point to wait at if the target's not visible" waitdistance(float) : "Wait until player gets this close" - leaddistance(float) : "Lead Distance" : 64 : "The player is considered to be lagging if he's beyond this distance. The Actor will consider retrieving when the player is 4x 'Lead Distance' away." + leaddistance(float) : "Lead Distance" : 64 : "The player is considered to be lagging if they are beyond this distance. The Actor will consider retrieving when the player is 4x 'Lead Distance' away." retrievedistance(float) : "Retrieve Distance" : 96 : "The distance from the player that the NPC should return to when retrieving a lagging player. Must be between ('Lead Distance' + 24) and ('Lead Distance' * 4) to avoid the leader ping-ponging." successdistance(float) : "Success Distance" : 0 : "The distance from the player (to the NPC) that the player must be within for the Lead to succeed, once the NPC has reached the goal. If set to 0, it'll use the lead distance instead (for legacy support)." run(boolean) : "Run instead of Walk" : 0 @@ -58,8 +58,8 @@ postarrivalconceptmodifier(string) : "Post-arrival concepts modifier" successconceptmodifier(string) : "Success concept modifier" : : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_SUCCESS' concept is spoken." failureconceptmodifier(string) : "Failure concept modifier" : : "Appended to the keyvalues passed into the response rules when the 'lead_fail' concept is spoken." - comingbackconceptmodifier(string) : "Coming Back concept modifier" : : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_RETRIEVE' concept is spoken. Spoken as the NPC starts returning to the player to retrieve him." - retrieveconceptmodifier(string) : "Retrieve concept modifier" : : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_COMINGBACK' concept is spoken. Spoken when NPC has finally reached the player to retrieve him." + comingbackconceptmodifier(string) : "Coming Back concept modifier" : : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_RETRIEVE' concept is spoken. Spoken as the NPC starts returning to the player to retrieve them." + retrieveconceptmodifier(string) : "Retrieve concept modifier" : : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_COMINGBACK' concept is spoken. Spoken when NPC has finally reached the player to retrieve them." spawnflags(flags) : "spawnflags" = [ diff --git a/fgd/bases/RenderFields.fgd b/fgd/bases/RenderFields.fgd index 5ebf9f67d..81ba4bdd1 100644 --- a/fgd/bases/RenderFields.fgd +++ b/fgd/bases/RenderFields.fgd @@ -29,35 +29,48 @@ // See src/public/const.h for the enum list. renderfx[engine](integer) : "Render FX" : 0 - renderfx(choices) : "Render FX" : 0 : "Various somewhat legacy alpha effects. Material Proxies are more modern." = + renderfx(choices) : "Render FX" : 0 : "Various somewhat legacy alpha effects. Material Proxies are more customisable, but these are quick to set. Fade in/out are applied whenever the FX is changed. Different entities automatically get slight offsets to avoid synchronisation." = [ 0: "Normal" - 1: "Slow Pulse" - 2: "Fast Pulse" - 3: "Slow Wide Pulse" - 4: "Fast Wide Pulse" + // alpha + amt * sin(period) + 1: "Pulse +-16, 1.5 sec period" // π/2 + 2: "Pulse +-16, 0.4 sec period" // π/8 + 3: "Pulse +-64, 1.5 sec period" // π/2 + 4: "Pulse +-64, 0.4 sec period" // π/8 + 24: "Pulse +-255, 0.26 sec period" [TF2] + 17: "Pulse +-255, 0.26 sec period" [since_L4D] - 9: "Slow Strobe" - 10: "Fast Strobe" - 11: "Faster Strobe" - 12: "Slow Flicker" - 13: "Fast Flicker" + // sin(period) > 0? + 9: "Strobe every 0.8 sec" // π/4 + 10: "Strobe every 0.2 sec" // π/16 + 11: "Strobe every 0.09 sec" // π/36 + + // sin(period1) + sin(period2) > 0? + 12: "Slow Flicker (1.5 sec, 0.18 sec)" // π/2, π/17 + 13: "Fast Flicker (0.2 sec, 0.14 sec)" // π/16, π/23 - 5: "Slow Fade Away" - 6: "Fast Fade Away" - 7: "Slow Become Solid" - 8: "Fast Become Solid" + 5: "Slow Fade Out (-1 per frame)" [until_L4D] + 6: "Fast Fade Out (-4 per frame)" [until_L4D] + 7: "Slow Fade In (+1 per frame)" [until_L4D] + 8: "Fast Fade In (+4 per frame)" [until_L4D] + + 5: "Fade Out (4 sec)" [since_L4D] + 6: "Fade Out (1 sec)" [since_L4D] + 7: "Fade In (4 sec)" [since_L4D] + 8: "Fade In (1 sec)" [since_L4D] + + // 0 sec fade time, only really useful in code since it + // can set the start time. + 15: "Fade Out (instant)" [since_L4D] + 16: "Fade In (instant)" [since_L4D] 14: "Constant Glow" 15: "Distort" [until_L4D] - 16: "Hologram (Distort + fade)" [until_L4D] + 16: "Hologram (Distort + dist fade)" [until_L4D] 23: "Cull By Distance (TEST)" [until_L4D] 24: "Spotlight FX" [until_L4D] 26: "Fade Near" [until_L4D] - - 15: "Fade Out" [since_L4D] - 16: "Fade In" [since_L4D] - 17: "Pulse Fast Wider" [since_L4D] + 18: "Glow Shell" [since_L4D] // Todo, confirm which versions have these - via Pinsplash @@ -68,7 +81,6 @@ 21: "Environmental Snow" [TF2] 22: "Spotlight FX" [TF2] 23: "Ragdoll (ragdolls the entity but does NOT kill it)" [TF2] - 24: "Fade Wider Pulse" [TF2] ] disablereceiveshadows(boolean) : "Disable Receiving Shadows" : 0 diff --git a/fgd/bases/SetSkin.fgd b/fgd/bases/SetSkin.fgd index 416ff3962..c075bfbff 100644 --- a/fgd/bases/SetSkin.fgd +++ b/fgd/bases/SetSkin.fgd @@ -3,6 +3,6 @@ [ skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. " + "Set this to a number other than 0 to use that skin instead of the default." - skinset[srctools](string) : "Used Skins" : : "Set this to a space seperated list of all the skin numbers which will be used. " + + skinset[srctools](string) : "Used Skins" : : "Set this to a space seperated list of all the skin numbers which will be used by this ent ('0 4 8' for example). " + "This allows auto-packing to skip unused ones. If blank all skins are assumed to be used." ] diff --git a/fgd/brush/comp/comp_propcombine_volume.fgd b/fgd/brush/comp/comp_propcombine_volume.fgd new file mode 100644 index 000000000..3cd92743b --- /dev/null +++ b/fgd/brush/comp/comp_propcombine_volume.fgd @@ -0,0 +1,10 @@ +@SolidClass + appliesto(srctools, -engine) + autovis(Postcompiler, Propcombine) += comp_propcombine_volume : "Specifies a group of props that will be combined together. Note that unlike the propcombine_set point-entity version, this does impact some brush limits, so it is suggested to use the point version in instances and prefabs." + [ + name(string) : "Name" : : "Two sets with the same name will be treated as one." + + prop(studio) : "Group Model" : : "If set, a combinable model used to define which others will be combined." + skin(integer) : "Group Skin" : 0 : "The skin for the Group Model." + ] diff --git a/fgd/brush/func/func_portal_orientation.fgd b/fgd/brush/func/func_portal_orientation.fgd index 3eeebfd1e..7f674a7f1 100644 --- a/fgd/brush/func/func_portal_orientation.fgd +++ b/fgd/brush/func/func_portal_orientation.fgd @@ -1,6 +1,8 @@ @SolidClass base(BaseEntityBrush, EnableDisable) - appliesto(P1, P2) = func_portal_orientation: "Adjusts a portal's rotation to match a specified angle. The 'Bottom' of the portal points in the specified direction." + appliesto(P1, P2) = func_portal_orientation: "Adjusts a portal's rotation to match a specified angle. The 'front' of the portal points in the specified direction. " + + "In Portal 2, portals are only reoriented when the entity is sent an Enable input, so this will need to be done every time a portal is placed." [ - anglestoface(angle) : "Angles to face" : "0 0 0" : "The 'floor' of the portal pair linkage will be in this direction." - matchlinkedangles(boolean) : "Match linked angles." : "0" : "If set, portals placed in this volume will have their angles match their linked portals. This only works for floor or ceiling portals with a currently linked partner." + anglestoface(angle) : "Angles to face" : "0 0 0" : "The angles to rotate portals to. " + + "An easy way to figure out what to set this to is to place a prop_portal, rotate it to the desired orientation, then look at its angles." + matchlinkedangles(boolean) : "Match linked angles." : "0" : "If set, portals placed in this volume will have their angles match their linked portals. This only works for floor or ceiling portals with a linked partner that is on a surface with the same orientation." ] diff --git a/fgd/brush/trigger/trigger_player_fall_aim.fgd b/fgd/brush/trigger/trigger_player_fall_aim.fgd new file mode 100644 index 000000000..f14d0ead1 --- /dev/null +++ b/fgd/brush/trigger/trigger_player_fall_aim.fgd @@ -0,0 +1,12 @@ +@SolidClass base(Trigger) + appliesto(P2SIXENSE) += trigger_player_fall_aim : "Aims falling player towards center along given axis." +[ + player_fall_aim_axis[engine](integer) : "Aim along this axis" : 0 + player_fall_aim_axis(choices) : "Aim along this axis" : 0 : "This xy player position dimension will be aligned with the aim trigger." = + [ + 0 : "Trigger center" + 1 : "Light Bridge X" + 2 : "Light Bridge Y" + ] +] diff --git a/fgd/brush/trigger/trigger_proximity.fgd b/fgd/brush/trigger/trigger_proximity.fgd index 92bbb3499..c5e1b3374 100644 --- a/fgd/brush/trigger/trigger_proximity.fgd +++ b/fgd/brush/trigger/trigger_proximity.fgd @@ -5,7 +5,7 @@ "The NearestPlayerDistance output will be 0 when the player is at the center point, and 1 when the player is at the radius." [ measuretarget(target_destination) : "Point to Measure From" : : "The name of a target entity who's origin is the point to measure the player's distance from." - radius(float) : "Radius to measure within" : 256 : "The radius to which the distance should be mapped. If the player is outside the radius he will be ignored." + radius(float) : "Radius to measure within" : 256 : "The radius to which the distance should be mapped. If the player is outside the radius they will be ignored." // Outputs output NearestEntityDistance(float) : "Fired continuously when entities are touching the trigger volume. " + diff --git a/fgd/engine/ent_hover_turret_tether.fgd b/fgd/engine/ent_hover_turret_tether.fgd new file mode 100644 index 000000000..1c4e9cada --- /dev/null +++ b/fgd/engine/ent_hover_turret_tether.fgd @@ -0,0 +1,5 @@ +@PointClass base(BaseEntityAnimating) + appliesto(P2, +engine) += ent_hover_turret_tether: "The ceiling tether for Hover Turrets. Generated automatically when the hover turret has an attachTarget set." +[ +] \ No newline at end of file diff --git a/fgd/point/prop/prop_combine_ball.fgd b/fgd/engine/prop_combine_ball.fgd similarity index 67% rename from fgd/point/prop/prop_combine_ball.fgd rename to fgd/engine/prop_combine_ball.fgd index fbd956856..6d9bc337f 100644 --- a/fgd/point/prop/prop_combine_ball.fgd +++ b/fgd/engine/prop_combine_ball.fgd @@ -1,8 +1,6 @@ @PointClass base(BasePropPhysics) - appliesto(EP1, EP2, HL2, P1, P2) - studioprop() - studio("models/effects/combineball.mdl") = prop_combine_ball: "The Combine Dark Energy Pellet, fired from the AR2 and held in energy fields. " + - "Use point_combine_energy_ball_launcher to spawn this, don't place directly." + + appliesto(EP1, EP2, HL2, P1, P2, +engine) = prop_combine_ball: "The Combine Dark Energy Pellet, fired from the AR2 and held in energy fields. " + + "Use point_combine_ball_launcher to spawn this, don't place directly." + "prop_energy_ball is the Portal version with some slightly different behaviour." [ diff --git a/fgd/engine/prop_energy_ball.fgd b/fgd/engine/prop_energy_ball.fgd new file mode 100644 index 000000000..9776fe9ca --- /dev/null +++ b/fgd/engine/prop_energy_ball.fgd @@ -0,0 +1,10 @@ + +@PointClass base(BasePropPhysics) + appliesto(P1, P2, +engine) = prop_energy_ball: "Aperture Science High Energy Pellet. Bounces off surfaces, travels through portals and kills players on contact. After a time period it will explode and be respawned. " + + "Doesn't work properly when placed directly, use a point_energy_ball_launcher instead." + [ + + // Inputs + input Explode(void) : "Explode the pellet, creating a shockwave and shaking the camera." + input BallCaught[P2](void) : "Trigger the OnBallCaught output for the point_energy_ball_launcher that created this ball, kill the pellet and disable the launcher." + ] diff --git a/fgd/point/ai/ai_goal_actbusy.fgd b/fgd/point/ai/ai_goal_actbusy.fgd index de619d13b..640d77599 100644 --- a/fgd/point/ai/ai_goal_actbusy.fgd +++ b/fgd/point/ai/ai_goal_actbusy.fgd @@ -41,5 +41,5 @@ // Outputs output OnNPCLostSeeEntity(void) : "Fired when the NPC loses sight of the see entity (if one is specified)." - output OnNPCSeeEnemy(void) : "Fired when this NPC leaves his actbusy because of sighting an enemy." + output OnNPCSeeEnemy(void) : "Fired when this NPC leaves their actbusy because of sighting an enemy." ] diff --git a/fgd/point/ai/ai_goal_actbusy_queue.fgd b/fgd/point/ai/ai_goal_actbusy_queue.fgd index 7d0130c52..8c27488eb 100644 --- a/fgd/point/ai/ai_goal_actbusy_queue.fgd +++ b/fgd/point/ai/ai_goal_actbusy_queue.fgd @@ -6,7 +6,7 @@ appliesto(ASW, EP1, EP2, HL2, P1, P2, Mesa) = ai_goal_actbusy_queue: "AI Goal Act Busy Queue" [ - node_exit(target_destination) : "Exit Node" : : "The name of the node the first NPC in the queue should move to when he leaves the head of the queue." + node_exit(target_destination) : "Exit Node" : : "The name of the node the first NPC in the queue should move to when they leaves the head of the queue." node01(target_destination) : "Node 1" : : "The name of the first actbusy hint node in the queue." node02(target_destination) : "Node 2" : : "The name of the second actbusy hint node in the queue." node03(target_destination) : "Node 3" : : "The name of the third actbusy hint node in the queue." diff --git a/fgd/point/ai/ai_speechfilter.fgd b/fgd/point/ai/ai_speechfilter.fgd index 029772d0d..04bac404a 100644 --- a/fgd/point/ai/ai_speechfilter.fgd +++ b/fgd/point/ai/ai_speechfilter.fgd @@ -7,7 +7,7 @@ [ subject(target_destination) : "Subject(s)" : : "This is the NPC(s) whose speech we're filtering. May be a targetname or a classname." idlemodifier(float) : "Idle modifier." : "1.0" : "Multiplier to the percentage chance that our NPC(s) will idle speak. Set to 0 to prevent all idle speech." - neversayhello(boolean) : "Greet Player?" : 0 : "If set to Yes, our NPC(s) won't greet the player when they first meet him." + neversayhello(boolean) : "Greet Player?" : 0 : "If set to Yes, our NPC(s) won't greet the player when they first meet them." // Inputs diff --git a/fgd/point/asw/asw_door.fgd b/fgd/point/asw/asw_door.fgd index 7e6335312..6a2c5eba9 100644 --- a/fgd/point/asw/asw_door.fgd +++ b/fgd/point/asw/asw_door.fgd @@ -68,7 +68,7 @@ "'they've breached the door!' when drones bash the door down?" doautoshootchatter(boolean) : "Do Auto Shoot Shout" : "0" : "If set, a marine will shout out 'shoot it down!' as soon as they enter the door area. " + - "Use this for sealed doors that you expect the player to shoot his way through." + "Use this for sealed doors that you expect the player to shoot their way through." // Inputs input Open(void) : "Open the door, if it is not fully open." diff --git a/fgd/point/camera_satellite.fgd b/fgd/point/camera_satellite.fgd index 4c699c193..cdbe4877f 100644 --- a/fgd/point/camera_satellite.fgd +++ b/fgd/point/camera_satellite.fgd @@ -1,6 +1,6 @@ @PointClass base(BaseEntityPoint) appliesto(Mesa) studioprop("models/editor/camera.mdl") - frustum(FOV,fogstart,fogend,250 250 250,-1) + frustum(FOV,fogstart,fogend,_frustum_color,-1) = camera_satellite: "Satellite Camera" [ spawnflags(flags) : "spawnflags" = diff --git a/fgd/point/comp/comp_prop_cable.fgd b/fgd/point/comp/comp_prop_cable.fgd index 6476d277a..d91e9d404 100644 --- a/fgd/point/comp/comp_prop_cable.fgd +++ b/fgd/point/comp/comp_prop_cable.fgd @@ -2,6 +2,7 @@ sphere(radius) animator() keyframe() iconsprite("editor/comp_prop_cable") + line(128 128 128, targetname, bunting) appliesto(srctools, -engine) = comp_prop_cable: "Generates cables using a static prop. comp_prop_rope is an alternate name, they can be interchanged." [ @@ -24,6 +25,19 @@ sides(integer) : "Sides" : 8 : "Number of faces for each cylindrical section. Only the value at the start of the cable is used." radius(float) : "Radius" : 1.0 : "Radius of this cable section." + coll_segments[engine](integer) : "Collision Segments" : 0 + coll_sides[engine](integer) : "Collision Sides" : 0 + coll_segments(choices) : "Collision Segments" : -1 : "Number of nodes to generate between each cable. Higher values make smoother cables, but produce more faces." = + [ + -1: "Same as visual geometry" + ] + coll_sides(choices) : "Collision Sides" : 0 : "Number of faces for each cylindrical collision section." = + [ + 0 : "No collisions" + 1 : "No collisions" + 2 : "No collisions" + ] + material(material) : "Cable Material" : "models/cables/generic_black" : "The material to use for the cable. Must be a model material." mat_scale(float) : "Lengthwise Material Scale" : 1 : "This changes the texture resolution along the cable, relative to the amount of width used. Larger values stretch the texture and smaller values scrunch it up." mat_rotate[engine](boolean) : "Rotate Material" : 0 diff --git a/fgd/point/comp/comp_prop_cable_dynamic.fgd b/fgd/point/comp/comp_prop_cable_dynamic.fgd new file mode 100644 index 000000000..9a72b02b4 --- /dev/null +++ b/fgd/point/comp/comp_prop_cable_dynamic.fgd @@ -0,0 +1,26 @@ +@PointClass base(BaseEntityAnimating, BreakableProp, Glow) + sphere(fademindist) + sphere(fademaxdist) + studio("models/editor/comp_prop_cable_dynamic.mdl") + appliesto(srctools, -engine) += comp_prop_cable_dynamic: "Allows using comp_prop_rope/comp_prop_cable as a dynamic prop." + [ + spawnflags(flags) = + [ + 256: "Start with collision disabled" : 0 + ] + angles(angle) readonly: "Orientation" : "0 0 0" : "The starting orientation can't be changed, simply move the nodes." + + group(target_source): "Cable Group" : : "Specify the name of the group that will be compiled into this entity." + + // Not inheriting from prop_dynamic_base, since most of the animation KVs are pointless. + glowbackfacemult[L4D2](float) : "Glow backface Multiplier" : "1.0" : "What to multiply glow by on backfaces." + + // Inputs + input TurnOn(void) : "Make the cable set visible." + input TurnOff(void) : "Make the cable set invisible." + input EnableCollision(void) : "Enable collision on the cable set." + input DisableCollision(void) : "Disable collision on the cable set." + input BecomeRagdoll[since_P2](void) : "Change into a ragdoll immediately." + input FadeAndKill[since_P2](void) : "Fade out then remove this cable set." + ] diff --git a/fgd/point/comp/comp_prop_rope.fgd b/fgd/point/comp/comp_prop_rope.fgd index 02ce8566a..a0e3023eb 100644 --- a/fgd/point/comp/comp_prop_rope.fgd +++ b/fgd/point/comp/comp_prop_rope.fgd @@ -2,6 +2,7 @@ sphere(radius) animator() keyframe() iconsprite("editor/comp_prop_rope") + line(128 128 128, targetname, bunting) appliesto(srctools, -engine) = comp_prop_rope: "Generates ropes using a static prop. comp_prop_cable is an alternate name, they can be interchanged." [ @@ -24,6 +25,19 @@ sides(integer) : "Sides" : 8 : "Number of faces for each cylindrical section. Only the value at the start of the rope is used." radius(float) : "Radius" : 1.0 : "Radius of this rope section." + coll_segments[engine](integer) : "Collision Segments" : 0 + coll_sides[engine](integer) : "Collision Sides" : 0 + coll_segments(choices) : "Collision Segments" : -1 : "Number of nodes to generate between each rope. Higher values make smoother ropes, but produce more faces." = + [ + -1: "Same as visual geometry" + ] + coll_sides(choices) : "Collision Sides" : 0 : "Number of faces for each cylindrical collision section." = + [ + 0 : "No collisions" + 1 : "No collisions" + 2 : "No collisions" + ] + material(material) : "Rope Material" : "models/cables/generic_black" : "The material to use for the rope. Must be a model material." mat_scale(float) : "Lengthwise Material Scale" : 1 : "This changes the texture resolution along the rope, relative to the amount of width used. Larger values stretch the texture and smaller values scrunch it up." mat_rotate[engine](boolean) : "Rotate Material" : 0 @@ -34,6 +48,8 @@ ] u_min(float): "Width Start" : 0.0 : "The distance along the texture to start. 0 is the left/bottom side, 1 is the right/top side. This allows using only part of the texture, if it contains multiple different rope styles." u_max(float): "Width End" : 1.0 : "The distance along the texture to end. 0 is the left/bottom side, 1 is the right/top side. This allows using only part of the texture, if it contains multiple different rope styles." + + bunting(target_destination) : "Bunting Definition" : : "Set to the name of a comp_prop_rope_bunting, to define models which will be placed at each segment across the rope." // A selection of prop_static's keyvalues, excluding some that are rather irrelevant. linedivider_staticprop[!engine](string) readonly : "----------------------------------------------------------------------------------------------------------" : "" diff --git a/fgd/point/comp/comp_prop_rope_bunting.fgd b/fgd/point/comp/comp_prop_rope_bunting.fgd new file mode 100644 index 000000000..a08858306 --- /dev/null +++ b/fgd/point/comp/comp_prop_rope_bunting.fgd @@ -0,0 +1,27 @@ +@MoveClass base(StaticTargetname) + iconsprite("editor/comp_prop_rope_bunting") + appliesto(srctools, -engine) += comp_prop_rope_bunting: "Specifies small props which will be placed at regular intervals across the compiled rope." + [ + weight(integer) : "Weight" : 1 : "If multiple are defined with the same weighting, this specifies the relative probabilities." + + "This works like a lottery - each model has this many 'tickets', and then one is chosen randomly each time. If you have two choices with a weight of 9 and 1, the first will be chosen 90% of the time." + placement_interval(integer) : "Placement Interval" : 1 : "Place this prop every X segments, not including the start/end of the rope." + distance(float) : "Placement Distance" : 0 : "If greater than zero, override Placement Interval, and instead place every this many units." + + model(studio) : "Model" : : "Specifies the model to place. This can either be an MDL which is placed as invidual prop_statics, " + + "or a SMD (relative to a game folder) which is merged into the rope model." + + angles(angle) : "Rotation" : "0 0 0" : "Rotate the model by this much, before applying the orientation of the rope. " + + "After this is applied, the X axis should be aligned with the rope direction." + + orient[engine](string) : "Orientation Mode" : "follow" + orient(choices) : "Orientation Mode" : "follow" : "Controls how the rope orientation affects the model." = + [ + "follow" : "Follow Rope" + "yaw" : "Yaw Only" + "pitch_yaw" : "Pitch and Yaw" + "none" : "No Rotation" + "rand_yaw" : "Random Yaw" + "rand": "Random" + ] + ] diff --git a/fgd/point/comp/comp_prop_rope_dynamic.fgd b/fgd/point/comp/comp_prop_rope_dynamic.fgd new file mode 100644 index 000000000..92d428190 --- /dev/null +++ b/fgd/point/comp/comp_prop_rope_dynamic.fgd @@ -0,0 +1,26 @@ +@PointClass base(BaseEntityAnimating, BreakableProp, Glow) + sphere(fademindist) + sphere(fademaxdist) + studio("models/editor/comp_prop_rope_dynamic.mdl") + appliesto(srctools, -engine) += comp_prop_rope_dynamic: "Allows using comp_prop_rope/comp_prop_cable as a dynamic prop." + [ + spawnflags(flags) = + [ + 256: "Start with collision disabled" : 0 + ] + angles(angle) readonly: "Orientation" : "0 0 0" : "The starting orientation can't be changed, simply move the nodes." + + group(target_source): "Rope Group" : : "Specify the name of the group that will be compiled into this entity." + + // Not inheriting from prop_dynamic_base, since most of the animation KVs are pointless. + glowbackfacemult[L4D2](float) : "Glow backface Multiplier" : "1.0" : "What to multiply glow by on backfaces." + + // Inputs + input TurnOn(void) : "Make the rope set visible." + input TurnOff(void) : "Make the rope set invisible." + input EnableCollision(void) : "Enable collision on the rope set." + input DisableCollision(void) : "Disable collision on the rope set." + input BecomeRagdoll[since_P2](void) : "Change into a ragdoll immediately." + input FadeAndKill[since_P2](void) : "Fade out then remove this rope set." + ] diff --git a/fgd/point/comp/comp_scriptvar_setter.fgd b/fgd/point/comp/comp_scriptvar_setter.fgd index 6bed057d1..d2eb8edd4 100644 --- a/fgd/point/comp/comp_scriptvar_setter.fgd +++ b/fgd/point/comp/comp_scriptvar_setter.fgd @@ -18,7 +18,8 @@ mode(choices) : "Mode" : "pos" : "The kind of data to read. " + "For Constants, the position/reference is ignored completely. " + "For Entity Handle to be useful, only one reference entity should exist. " + - "For Offset and Distance, it's the offset of the reference relative to this entity." = + "For Offset and Distance, it's the offset of the reference relative to this entity. " + + "For Entity KeyValue, the constant is the keyvalue name, then the value is converted to an appropriate Squirrel type. " = [ "const" : "Constant" "string" : "Stringified Constant" @@ -26,6 +27,7 @@ "inv_bool" : "Inverted Boolean Constant" "name" : "Entity Name" "handle" : "Entity Handle" + "keyvalue": "Entity KeyValue" "pos" : "Position" "pos_x" : "Position - X only" "pos_y" : "Position - Y only" diff --git a/fgd/point/comp/comp_vactube_spline.fgd b/fgd/point/comp/comp_vactube_spline.fgd new file mode 100644 index 000000000..9ca7e0dc5 --- /dev/null +++ b/fgd/point/comp/comp_vactube_spline.fgd @@ -0,0 +1,48 @@ +@MoveClass base(StaticTargetname, Angles) + sphere(radius) + animator() keyframe() + iconsprite("editor/comp_prop_rope") + appliesto(srctools, -engine) += comp_vactube_spline: "Constructs a custom vactube model, using a set of path points." + [ + nextkey(target_destination) : "Next Rope" : : "Name of the next spline node." + opaque(boolean) : "Opaque Tube" : 0 : "Whether the tube should be glass, or the black opaque version." + + skin[engine](integer) : "Act as Junction" : 0 + skin(choices) : "Mode" : 0 : "Whether this will link to comp_vactube_junctions, or just be a static prop." = + [ + 0: "Static Prop" + 1: "Vactube Junction" + ] + segments(integer) : "Segments" : 2 : "Number of nodes to generate for this. Higher values make smoother tubes, but produce more faces." + collisions(boolean) : "Enable Collisions" : 1 : "Sholuld a collision mesh should be generated?" + + // A selection of prop_static's keyvalues, excluding some that are rather irrelevant. + linedivider_staticprop[!engine](string) readonly : "----------------------------------------------------------------------------------------------------------" : "" + + renderamt[since_L4D](integer) : "Alpha" : 255 : "Alpha of the fade, where 0 = fully transparent and 255 = fully opaque." + rendercolor[since_L4D](color255) : "Color (R G B)" : "255 255 255" + + screenspacefade[until_ASW](boolean) : "Screen Space Fade" : 0 : "The method by which the fading distance should be determined. If 'No', the fade distances is the distance from the player's view to the object, in inches. " + + "If 'Yes', the fade distance is the size of the object onscreen, in pixels." + fademindist(float) : "Start Fade Dist/Pixels" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist). If 'Screen Space Fade' is selected, this represents the number of pixels wide covered by the prop when it starts to fade." + fademaxdist(float) : "End Fade Dist/Pixels" : 0 : "Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades." + fadescale(float) : "Fade Scale" : 1 : "If you specify a fade in the worldspawn, " + + "or if the engine is running under dx7 [hl2/ep1/portal] or dx8 [ep2/tf], " + + "then the engine will forcibly fade out props even if fademindist/fademaxdist " + + "isn't specified. " + + "This scale factor gives you some control over the fade. " + + "Using 0 here turns off the forcible fades. " + + "Numbers smaller than 1 cause the prop to fade out at further distances, " + + "and greater than 1 cause it to fade out at closer distances." + + disableshadows(boolean) : "Disable Shadows" : 0 + disableselfshadowing(boolean): "Disable Self-Shadowing": 0 + disablevertexlighting(boolean) : "Disable Vertex lighting" : 0 : "Disable per-vertex lighting on this prop." + + drawinfastreflection[since_L4D](boolean) : "Render in Fast Reflections" : 0 : "If enabled, causes this entity/prop to to render in fast water reflections (i.e. when a water material specifies $reflectonlymarkedentities) and in the world impostor pass." + enablelightbounce[since_CSGO](boolean) : "Enable Bounced Lighting" : 0 : "Whether VRAD should create indirect lighting from this prop." + + movespeed(integer) readonly: "Speed (unused)" : 1 : "This needs to be greater than zero to show the preview lines." + positioninterpolator(integer) readonly : "Rope Mode" : 1 : "Needs to be set to '1' to produce the spline curve preview." + ] diff --git a/fgd/point/comp/comp_vactube_start.fgd b/fgd/point/comp/comp_vactube_start.fgd index 480f91068..bec44d021 100644 --- a/fgd/point/comp/comp_vactube_start.fgd +++ b/fgd/point/comp/comp_vactube_start.fgd @@ -6,7 +6,9 @@ [ group(string) : "Object Group" : : "Only objects with the same group name will be spawned." speed(float) : "Object Speed" : 800.0 : "Set the speed of the objects produced from here, in units per second." - timer(boolean) : "Trigger automatically" : 1 : "If true, randomly trigger automatically." + seed(string) : "Rotation Seed" : : "If set, consistently produce the same rotation pattern as the seed. " + + "If not set, a random seed will be selected (and printed to the compile log)." + timer(boolean) : "Trigger automatically" : 1 : "If true, generate a logic_timer to automatically trigger with a random time." time_min(float) : "Minimum Time" : 0.15 : "The minimum time between objects." time_max(float) : "Maximum Time" : 0.5 : "The maximum time between objects." diff --git a/fgd/point/env/env_portal_laser.fgd b/fgd/point/env/env_portal_laser.fgd index 1d1e6677d..9ca7522b7 100644 --- a/fgd/point/env/env_portal_laser.fgd +++ b/fgd/point/env/env_portal_laser.fgd @@ -12,10 +12,10 @@ "models/props/laser_emitter.mdl": "Offset" ] - startstate(boolean) : "Start off?" : 0 + startstate(boolean) : "Start Disabled" : 0 lethaldamage[engine](boolean) : "Lethal" : 0 - lethaldamage(choices) : "Lethal" : 0 : "Instant kill on contact. Buggy when rediected through cubes/portals." = + lethaldamage(choices) : "Lethal" : 0 : "Instant kill on contact. Buggy when redirected through cubes/portals." = [ 0: "Non-lethal" 1: "Lethal" diff --git a/fgd/point/env/env_projectedtexture.fgd b/fgd/point/env/env_projectedtexture.fgd index 8650e1c64..63541d4b3 100644 --- a/fgd/point/env/env_projectedtexture.fgd +++ b/fgd/point/env/env_projectedtexture.fgd @@ -30,7 +30,7 @@ ] lightonlytarget(boolean) : "Light Only Target" : 0 : "Limit flashlight effect to only effect target entity." - lightworld(boolean) : "Light World" : 0 : "Control whether flashlight effects static world geometry." + lightworld(boolean) : "Light World" : 1 : "Control whether flashlight effects static world geometry." simpleprojection[since_ASW](boolean) : "Simple Projection" : 0 : "Indicates if this is a simple, non-light casting texture projection" lightcolor(color255) : "Light Color" : "255 255 255 200" : "Light Color RGB-Intensity" diff --git a/fgd/point/env/env_soundscape.fgd b/fgd/point/env/env_soundscape.fgd index 2c4747c07..10467165c 100644 --- a/fgd/point/env/env_soundscape.fgd +++ b/fgd/point/env/env_soundscape.fgd @@ -12,7 +12,7 @@ line(255 255 255, targetname, position7) = env_soundscape: "An entity to control sound in an area. The active soundscape at any time is the last one that had line-of-sight to the player, and was within the radius." [ - radius(integer) : "Radius" : 128 : "If set to -1, then the player can hear the soundscape as long as he can see it (regardless of distance to it)." + radius(integer) : "Radius" : 128 : "If set to -1, then the player can hear the soundscape as long as they can see it (regardless of distance to it)." soundscape[engine](string) : "Soundscape" : "" : "The name of the soundscape to use. Corresponds to an entry in the soundscapes*.txt file in the scripts/ directory." soundscape(choices) : "Soundscape" : "Nothing" : "The name of the soundscape to use. Corresponds to an entry in the soundscapes*.txt file in the scripts/ directory." = diff --git a/fgd/point/env/env_steam.fgd b/fgd/point/env/env_steam.fgd index 9251b7d82..83f88bf81 100644 --- a/fgd/point/env/env_steam.fgd +++ b/fgd/point/env/env_steam.fgd @@ -1,7 +1,9 @@ @PointClass base(BaseEntityPoint, RenderFields) color(255 255 255) color(200 200 0) - studio("models/editor/spot_cone.mdl") + studioprop("models/editor/spot_cone_fixed.mdl") + // Frustum is actually fairly accurate for this + frustum(spreadspeed, _frustum_near, jetlength, rendercolor, -1) = env_steam: "An entity used to create a jet of steam." [ spawnflags(flags) = @@ -9,7 +11,7 @@ 1: "Emissive" : 0 ] - initialstate(boolean) : "Initial State" : 0 + initialstate(boolean) : "Start Enabled" : 0 type[engine](integer) : "Particle Type" type(choices) : "Particle Type" : 0 = @@ -23,10 +25,11 @@ startsize(integer) : "Particle start size" : 10 : "The initial size of the particles after they spawn." endsize(integer) : "Particle end size" : 25 : "The size of the particles at the point at which they are removed." rate(integer) : "Emission rate" : 26 : "The rate of particle emission. i.e. particles per second." - rendercolor(color255) : "Color (R G B)" : "255 255 255" + rendercolor(color255) : "Color (R G B)" : "60 65 68" : "The color of the steam. Only has an effect if the Emissive flag is on, "+ + "but can otherwise be used to set the color shown in Hammer." jetlength(integer) : "Length of steam jet" : 80 : "The length of the jet determines the lifetime of each particle." renderamt(integer) : "Translucency" : 255 - rollspeed(float) : "How fast does the particles spin" : 8 + rollspeed(float) : "Spin Speed" : 8 : "How fast do the particles spin" startnoise[L4D](sound) : "Start Sound" : : "Sound to play when starting emission." diff --git a/fgd/point/func/func_instance_io_proxy.fgd b/fgd/point/func/func_instance_io_proxy.fgd index 6d19012a0..37ad8ca5d 100644 --- a/fgd/point/func/func_instance_io_proxy.fgd +++ b/fgd/point/func/func_instance_io_proxy.fgd @@ -2,7 +2,7 @@ // But VBSP shuffles outputs around, it's unknown if other keyvalues // will be kept. @PointClass - appliesto(+INSTANCING, +INST_IO) + appliesto(INST_IO) iconsprite("editor/func_instance_io_proxy.vmt") = func_instance_io_proxy: "Place one copy of this entity inside of an instance. " + "Sending messages to entities inside the instance from the Proxy's OnProxyRelay output will allow you to trigger these " + diff --git a/fgd/point/func/func_instance_origin.fgd b/fgd/point/func/func_instance_origin.fgd deleted file mode 100644 index 5e26591a3..000000000 --- a/fgd/point/func/func_instance_origin.fgd +++ /dev/null @@ -1,7 +0,0 @@ -// Internal entity. -@PointClass - appliesto(INSTANCING, !engine) // Not an actual entity. - iconsprite("editor/func_instance_origin.vmt") -= func_instance_origin: "This is the center of the instance for rotation." - [ - ] diff --git a/fgd/point/generic/generic_actor.fgd b/fgd/point/generic_actor.fgd similarity index 98% rename from fgd/point/generic/generic_actor.fgd rename to fgd/point/generic_actor.fgd index 9c777565e..640c696e0 100644 --- a/fgd/point/generic/generic_actor.fgd +++ b/fgd/point/generic_actor.fgd @@ -1,6 +1,4 @@ @PointClass base(BaseNPC, SetModel) - studio() - size(-4 -4 -4, 4 4 4) = generic_actor: "Generic Actor NPC" [ hull_name[engine](string) : "Hull type" : "HUMAN_HULL" diff --git a/fgd/point/hammer/hammer_notes.fgd b/fgd/point/hammer/hammer_notes.fgd index 000b7f72e..bc6071b93 100644 --- a/fgd/point/hammer/hammer_notes.fgd +++ b/fgd/point/hammer/hammer_notes.fgd @@ -7,7 +7,9 @@ worldtext() = hammer_notes: "Fake entity to store notes and comments inside. Won`t spawn." [ - // If not in CSGO, this isn't going to do anything. + // If not in CSGO, this isn't going to do anything, so remove the size/color KVs, + // and change help. + message[until_CSGO](string) : "Message" : : "A text field for entering any notes." message[since_CSGO](string) : "Display Message" : : "Text to display in the 3D view." textsize[since_CSGO](float) : "Text Size" : 10 : "Text Size." color[since_CSGO](color255) : "Color" : "255 255 255" diff --git a/fgd/point/info/info_enemy_terrorist_spawn.fgd b/fgd/point/info/info_enemy_terrorist_spawn.fgd index d3cb67315..be8128778 100644 --- a/fgd/point/info/info_enemy_terrorist_spawn.fgd +++ b/fgd/point/info/info_enemy_terrorist_spawn.fgd @@ -28,8 +28,8 @@ 3: "Defend Investigate" ] - bot_difficulty(integer) : "Bot Difficulty (int)" : 0 : "How hard the bot is to fight and what his skill level is. [0-7] (0 = super easy, 7 = super human)." - is_agressive(boolean) : "Is agressive?" : 0 : "Is the bot agreesive for his difficulty level?" + bot_difficulty(integer) : "Bot Difficulty (int)" : 0 : "How hard the bot is to fight and what their skill level is. [0-7] (0 = super easy, 7 = super human)." + is_agressive(boolean) : "Is agressive?" : 0 : "Is the bot agressive for their difficulty level?" hide_radius(float) : "Hide Radius" : 1000 : "Range around the spawn spot the bot will try to hide. Set to 0 to hold position and never try to hide." // Inputs diff --git a/fgd/point/info/info_overlay.fgd b/fgd/point/info/info_overlay.fgd index 9e895666b..74e220469 100644 --- a/fgd/point/info/info_overlay.fgd +++ b/fgd/point/info/info_overlay.fgd @@ -6,7 +6,7 @@ autovis(Overlays,Normal) size(-1 -1 0, 1 1 1) color(80 150 225) - studio("models/editor/overlay_helper.mdl") + studio("models/editor/overlay_helper_box.mdl") sphere(fademindist) sphere(fademaxdist) overlay() diff --git a/fgd/point/info/info_overlay_transition.fgd b/fgd/point/info/info_overlay_transition.fgd index c31a37496..bae5e613e 100644 --- a/fgd/point/info/info_overlay_transition.fgd +++ b/fgd/point/info/info_overlay_transition.fgd @@ -3,7 +3,7 @@ appliesto(-engine) size(-1 -1 0, 1 1 1) color(80 150 225) - studio("models/editor/overlay_helper.mdl") + studio("models/editor/overlay_helper_box.mdl") sidelist(sides) sidelist(sides2) overlay_transition() diff --git a/fgd/point/info/info_paint_sprayer.fgd b/fgd/point/info/info_paint_sprayer.fgd index 3e538f128..5671dc661 100644 --- a/fgd/point/info/info_paint_sprayer.fgd +++ b/fgd/point/info/info_paint_sprayer.fgd @@ -9,7 +9,7 @@ light_position_name(target_destination) : "Light Position Name" : : "Name of the entity we want to use as blobs light position." start_active(boolean) : "Start Active?" : 0 silent(boolean) : "Silent?" : 0 : "If this flag is true, blobs will only paint, appearing entirely invisible." - drawonly(boolean) : "DrawOnly?" : 0 : "If this flag is true, blobs will only render, vanishing on contact with surfaces." + drawonly(boolean) : "Draw Only?" : 0 : "If this flag is true, blobs will only render, vanishing on contact with surfaces." rendermode[engine](integer) : "Render Mode" : 0 rendermode(choices) : "Render Mode" : 0 : "The mode to render blobs. Appears non-functional." = @@ -27,11 +27,11 @@ 3: "Heavy Flow" ] - blobs_per_second(float) : "Blobs per second" : 1 : "The number of paint blobs sprayed per second." + blobs_per_second(float) : "Blobs per second" : 20 : "The number of paint blobs sprayed per second." min_speed(float) : "Min blob speed" : 100 : "The minimum speed of the sprayed blobs." max_speed(float) : "Max blob speed" : 100 : "The maximum speed of the sprayed blobs." blob_spread_radius(float) : "Blob spread radius" : 0 : "Blobs will spawn randomly within this radius." - blob_spread_angle(float) : "Blob spread angle" : 0 : "The spread of the blobs along its direction vector (in degrees)." + blob_spread_angle(float) : "Blob spread angle" : 8 : "The spread of the blobs along its direction vector (in degrees)." blob_streak_percentage(float) : "Blob streak percentage" : 0 : "The percentage of blobs that will streak (0 - 100)." min_streak_time(float) : "Blob min streak time" : 0.2 : "The minimum time that the blobs will streak for." max_streak_time(float) : "Blob max streak time" : 0.5 : "The maximum time that the blobs will streak for." diff --git a/fgd/point/info/info_player_deathmatch.fgd b/fgd/point/info/info_player_deathmatch.fgd index dc47082b2..79af32f94 100644 --- a/fgd/point/info/info_player_deathmatch.fgd +++ b/fgd/point/info/info_player_deathmatch.fgd @@ -1,10 +1,10 @@ @PointClass base(BaseEntityPoint, PlayerClass) autovis(Point Entities, Globals, Player Spawn, Deathmatch Spawn) - appliesto(Mesa) - studio("models/player/playerstart.mdl") = info_player_deathmatch: "" + appliesto(HL2DM, Mesa, HL2, EP1, EP2, P1) + studio("models/editor/playerstart.mdl") = info_player_deathmatch: "Generic multiplayer spawn point, used in games which don't have their own." [ - itemstogive(string) : "List of items to spawn the player with." + itemstogive[Mesa](string) : "List of items to spawn the player with." - input Enable(void) : "Enable this spawnpoint." - input Disable(void) : "Disable this spawnpoint." + input Enable[Mesa](void) : "Enable this spawnpoint." + input Disable[Mesa](void) : "Disable this spawnpoint." ] diff --git a/fgd/point/info/info_projecteddecal.fgd b/fgd/point/info/info_projecteddecal.fgd index 8a33ee814..d113015eb 100644 --- a/fgd/point/info/info_projecteddecal.fgd +++ b/fgd/point/info/info_projecteddecal.fgd @@ -1,6 +1,6 @@ @PointClass base(BaseEntityPoint) decal() - studio("models/editor/axis_helper_thick.mdl") + studio("models/editor/decal_helper.mdl") sphere(distance) = info_projecteddecal: "An entity that projects a decal onto the world (or props). " + "If the decal has no target name, it will immediately apply itself when the level is loaded. " + diff --git a/fgd/point/infodecal.fgd b/fgd/point/infodecal.fgd index ab6597b8b..ea77a5c91 100644 --- a/fgd/point/infodecal.fgd +++ b/fgd/point/infodecal.fgd @@ -1,6 +1,6 @@ @PointClass base(BaseEntityPoint) decal() - studio("models/editor/axis_helper_thick.mdl") + studio("models/editor/decal_helper.mdl") = infodecal: "An entity that places a decal on the world. If the decal has no target name, it will immediately apply itself when the level is loaded." + "If it has a name specified, it won't apply until it receives the 'Activate' input." [ diff --git a/fgd/point/infra/infra_crane.fgd b/fgd/point/infra/infra_crane.fgd index 1b7acb72d..4074a639a 100644 --- a/fgd/point/infra/infra_crane.fgd +++ b/fgd/point/infra/infra_crane.fgd @@ -15,7 +15,7 @@ input Close(void) : "Plays the vehicle's close animation and locks the vehicle for entry or exit." input EnterVehicle(void) : "Forces the activator (or player) into the vehicle." input ExitVehicle(void) : "Boots the prisoner out of the vehicle." - input Viewlock(bool) : "Set true to prevent Gordon from looking around *at all*. Set false to let him look within limits." + input Viewlock(bool) : "Set true to prevent the player from looking around *at all*. Set false to let them look within limits." input SetCanShoot(bool) : "Set if the driver can shoot their weapon." input SetMaxPitch(float) : "Set max pitch for driver." input SetMinPitch(float) : "Set min pitch for driver." diff --git a/fgd/point/item/item_dynamic_resupply.fgd b/fgd/point/item/item_dynamic_resupply.fgd index b093dd498..b4ef0c0c8 100644 --- a/fgd/point/item/item_dynamic_resupply.fgd +++ b/fgd/point/item/item_dynamic_resupply.fgd @@ -24,29 +24,29 @@ ] desiredhealth(float) : "Desired Health Ratio" : 1 : "A ratio from 0 to 1." + - "Attempt to fill the player up to this percentage of his max health." + "Attempt to fill the player up to this percentage of their max health." desiredarmor(float) : "Desired Armor Ratio" : 0.3 : "A ratio from 0 to 1." + - "Attempt to fill the player up to this percentage of his max armor." + "Attempt to fill the player up to this percentage of their max armor." desiredammopistol(float) : "Desired Pistol Ammo Ratio" : 0.5 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammosmg1(float) : "Desired SMG1 Ammo Ratio" : 0.5 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammosmg1_grenade(float) : "Desired SMG1 Grenade Ammo Ratio" : 0.1 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammoar2(float) : "Desired AR2 Ammo Ratio" : 0.4 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammobuckshot(float) : "Desired Shotgun Ammo Ratio" : 0.5 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammorpg_round(float) : "Desired RPG Ammo Ratio" : 0 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammogrenade(float) : "Desired Grenade Ammo Ratio" : 0.1 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammo357(float) : "Desired 357 Ammo Ratio" : 0 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammocrossbow(float) : "Desired Crossbow Ammo Ratio" : 0 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." desiredammoar2_altfire(float) : "Desired AR2 Alt-fire Ammo Ratio" : 0 : "A ratio from 0 to 1. " + - "Attempt to fill the player up to this percentage of his max ammo carrying capacity." + "Attempt to fill the player up to this percentage of their max ammo carrying capacity." // Inputs input CalculateType(void) : "Force the dynamic resupply to calculate which item it should spawn." diff --git a/fgd/point/light/light_environment.fgd b/fgd/point/light/light_environment.fgd index 60b31149e..62674e1e2 100644 --- a/fgd/point/light/light_environment.fgd +++ b/fgd/point/light/light_environment.fgd @@ -1,4 +1,4 @@ -@PointClass base(BaseLight, Angles) +@PointClass base(BaseEntityPoint, Angles) autovis(Lights, Environment Light) iconsprite("editor/ficool2/light_environment.vmt") color(255 255 0) @@ -14,4 +14,37 @@ _ambienthdr(color255) : "AmbientHDR" : "-1 -1 -1 1" _ambientscalehdr(float) : "AmbientScaleHDR" : 1 : "Amount to scale the ambient light by when compiling for hdr." sunspreadangle(float) : "SunSpreadAngle" : 5 : "The angular extent of the sun for casting soft shadows. Higher numbers are more diffuse. 5 is a good starting value." + + style[engine](integer) : "Appearance" : 0 + style(choices) : "Appearance" : 0 = + [ + 0 : "Normal" + 10: "Fluorescent flicker" + 2 : "Slow, strong pulse" + 11: "Slow pulse, noblack" + 5 : "Gentle pulse" + 1 : "Flicker A" + 6 : "Flicker B" + 3 : "Candle A" + 7 : "Candle B" + 8 : "Candle C" + 4 : "Fast strobe" + 9 : "Slow strobe" + 12 : "Underwater light mutation" + ] + pattern(string) : "Custom Appearance" : "" : "Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." + + _castentityshadow[engine](boolean) + _castentityshadow[GMod](Choices) : "Cast entity shadows" : 0 : "Objects illuminated by this light will cast a directional shadow." = + [ + 0 : "Don't affect entity shadow angles" + 1 : "Affect entity shadow angles" + ] + + // Inputs + input TurnOn(void) : "Turn the Sun on." + input TurnOff(void) : "The the Sun off." + input Toggle(void) : "Toggle the Sun's current state." + input SetPattern(string) : "Set a custom pattern of light brightness for the Sun. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." + input FadeToPattern(string) : "Fades from first value in old pattern, to first value in the new given pattern. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." ] diff --git a/fgd/point/logic/logic_playerproxy.fgd b/fgd/point/logic/logic_playerproxy.fgd index 8e8078835..bc563ca92 100644 --- a/fgd/point/logic/logic_playerproxy.fgd +++ b/fgd/point/logic/logic_playerproxy.fgd @@ -57,8 +57,8 @@ input SetMotionBlurAmount[P2](float) : "Forces the motion blur effect on the player. Set to < 0 to disable this override." // Outputs - output OnFlashlightOn(float) : "Fired when the player turns on his flashlight. This output has the value of how much energy the player had when this happened [0..1]." - output OnFlashlightOff(float) : "Fired when the player turns off his flashlight. This output has the value of how much energy the player had when this happened [0..1]." + output OnFlashlightOn(float) : "Fired when the player turns on their flashlight. This output has the value of how much energy the player had when this happened [0..1]." + output OnFlashlightOff(float) : "Fired when the player turns off their flashlight. This output has the value of how much energy the player had when this happened [0..1]." output OnSquadMemberKilled[MBase](void) : "Fires when a member of the player's squad dies. Fires with this member as the activator." diff --git a/fgd/point/npc/npc_citizen.fgd b/fgd/point/npc/npc_citizen.fgd index eb3eb08b2..d325414d9 100644 --- a/fgd/point/npc/npc_citizen.fgd +++ b/fgd/point/npc/npc_citizen.fgd @@ -135,7 +135,7 @@ output OnFollowOrder(void) : "Fires when ordered to follow player" output OnStationOrder(void) : "Fires when ordered to a location by player" output OnPlayerUse(void) : "Fires when a player +USEs the citizen" - output OnNavFailBlocked(void) : "Fires when this Citizen's movement fails because he/she is blocked." + output OnNavFailBlocked(void) : "Fires when this Citizen's movement fails because they are blocked." output OnHealedNPC[MBase](void) : "Fires when this citizen heals a NPC." output OnHealedPlayer[MBase](void) : "Fires when this citizen heals a player." diff --git a/fgd/point/npc/npc_clawscanner.fgd b/fgd/point/npc/npc_clawscanner.fgd index 97bba31d2..030e12a00 100644 --- a/fgd/point/npc/npc_clawscanner.fgd +++ b/fgd/point/npc/npc_clawscanner.fgd @@ -1,6 +1,6 @@ @NpcClass base(BaseNPC, CombineScanner) - appliesto(EP1, EP2, P1) - studio("models/shield_scanner.mdl") + appliesto(HL2, EP1, EP2, P1) + studioprop("models/shield_scanner.mdl") autovis(Entities, NPCs, Combine, Combine Claw Scannner) = npc_clawscanner: "Claw Scanner" [ diff --git a/fgd/point/npc/npc_cscanner.fgd b/fgd/point/npc/npc_cscanner.fgd index 431acf960..346ef6f8f 100644 --- a/fgd/point/npc/npc_cscanner.fgd +++ b/fgd/point/npc/npc_cscanner.fgd @@ -1,11 +1,16 @@ @NpcClass base(BaseNPC, CombineScanner) appliesto(EP1, EP2, HL2, P1) - studio("models/combine_scanner.mdl") + studioprop() autovis(Entities, NPCs, Combine, City Scanner) = npc_cscanner: "City Scanner" [ - // This works even in episodic, but only claw scanners ever drop landmines. - // So you should just use that in that situation. - input DeployMine[-EP1, -EP2](void) : "Drop landmine (if carrying one)" - input EquipMine[-EP1, -EP2](void) : "Equip with landmine" + model[!engine](choices) : "[H] Model" : "models/combine_scanner.mdl" : "These become Claw Scanners if the map name starts with 'd3_c17'. "+ + "Use this to change the model shown in Hammer." = + [ + "models/combine_scanner.mdl" : "City Scanner" + "models/shield_scanner.mdl" : "Claw Scanner" + ] + + input DeployMine(void) : "Drop landmine (if carrying one)" + input EquipMine(void) : "Equip with landmine" ] diff --git a/fgd/point/npc/npc_gargantua.fgd b/fgd/point/npc/npc_gargantua.fgd index acc83a1db..261c4e7a5 100644 --- a/fgd/point/npc/npc_gargantua.fgd +++ b/fgd/point/npc/npc_gargantua.fgd @@ -4,7 +4,7 @@ = npc_gargantua : "Gargantua" [ input chaseplayer(void) : "Chase the player." - input chaseend(void) : "Like the player so did not call you....so like you should like stop following him...like ok....yep" + input chaseend(void) : "Like the player so did not call you....so like you should like stop following them...like ok....yep" input GargantuaExplode(void) : "Blow up the Gargantua." output OnWishToDie(void) : "Empty" ] diff --git a/fgd/point/npc/npc_helicopter.fgd b/fgd/point/npc/npc_helicopter.fgd index b674ee1ea..f6234d368 100644 --- a/fgd/point/npc/npc_helicopter.fgd +++ b/fgd/point/npc/npc_helicopter.fgd @@ -19,8 +19,8 @@ ] initialspeed(float) : "Initial Speed" : 0 - graceperiod(float) : "Grace Period" : 2.0 : "Time in seconds the helicopter has to see the player before he starts shooting" - patrolspeed(float) : "Patrol Speed" : 0 : "Speed at which the helicopter moves if he has no enemy." + graceperiod(float) : "Grace Period" : 2.0 : "Time in seconds the helicopter has to see the player before it starts shooting" + patrolspeed(float) : "Patrol Speed" : 0 : "Speed at which the helicopter moves if it has no enemy." FieldOfView[MBase](float) : "Field of View" : "-1.0" : "The helicoter's viewcone. (1.0 = straight ahead, 0.0 = +/- 90 degrees, -1.0 = all directions)" noncombat(boolean) : "Non-combat (Do not precache gibs)" : 0 : "If enabled, this helicopter will not precache stuff that would only be seen in combat, " + "like mines or gibs. Even damaging the helicopter in this state can crash the game, " + @@ -38,7 +38,7 @@ input DisableRotorSound(void) : "Turns off rotor sounds" input StartBombingVehicle(void) : "Starts the chopper leading enemy vehicles and dropping bombs on them." input StartTrailingVehicle(void) : "Starts the chopper trailing enemy vehicles and shooting at them." - input StartDefaultBehavior(void) : "Starts the chopper in the mode where he always stops at nav points instead of stopping anywhere in between nav points." + input StartDefaultBehavior(void) : "Starts the chopper in the mode where it always stops at nav points instead of stopping anywhere in between nav points." input StartAlwaysLeadingVehicle(void) : "Starts the chopper *always* leading enemy vehicles (regardless of how they are moving w/respect to the path) and dropping bombs on them. This mode is different from StartBombingVehicle in that it never uses the machine gun." input StartSprinkleBehavior(void) : "Starts the chopper dropping bombs randomly + shooting at the player." input StartBullrushBehavior(void) : "Starts the chopper bullrushing the player." @@ -52,7 +52,7 @@ input StartContinuousShooting(void) : "The chopper fires continuously." input StartFastShooting(void) : "The chopper fires normal bursts, but does not 'charge up' the gun. Fires immediately." - input ResetIdleTime(void) : "Allows the helicopter to fire immediately if he's not in the middle of charging or firing" + input ResetIdleTime(void) : "Allows the helicopter to fire immediately if it's not in the middle of charging or firing" input SetAngles(string) : "Instantly snaps the orientation of the helicopter (Pitch Yaw Roll)" input DropBomb(void) : "Immediately drops a bomb based on normal bomb dropping rules" input DropBombStraightDown(void) : "Immediately drops a bomb directly downwards" @@ -61,8 +61,8 @@ input DropBombDelay(float) : "Add a delay before the next bomb is dropped" input BecomeIndestructible(void) : "Makes the helicopter take no more damage" - input DisablePathVisibilityTests(void) : "When the helicopter moves, he will not check for visibility from the path_track to the enemy to cull out path_tracks" - input EnablePathVisibilityTests(void) : "When the helicopter moves, he will only move to path_tracks that have line-of-sight to the enemy" + input DisablePathVisibilityTests(void) : "When the helicopter moves, it will not check for visibility from the path_track to the enemy to cull out path_tracks" + input EnablePathVisibilityTests(void) : "When the helicopter moves, it will only move to path_tracks that have line-of-sight to the enemy" input StartCarpetBombing(void) : "Starts the helicopter constantly dropping megabombs until StopCarpetBombing input" input StopCarpetBombing(void) : "Stop the carpet bombing behavior" diff --git a/fgd/point/npc/npc_hover_turret.fgd b/fgd/point/npc/npc_hover_turret.fgd new file mode 100644 index 000000000..38b76eacc --- /dev/null +++ b/fgd/point/npc/npc_hover_turret.fgd @@ -0,0 +1,16 @@ +@PointClass base(BaseNPC) + appliesto(P2) + autovis(Entities, NPCs, Hover Turret) + studioprop("models/npcs/hover_turret.mdl") + line(255 255 255, targetname, attachtarget) + frustum(_frustum_fov, _frustum_near, _frustum_far, _frustum_color, -1) += npc_hover_turret: "The cut Hover Turret, which hangs from the ceiling and fires a laser at the player. Missing its model by default, and somewhat buggy." +[ + canPushPlayer(boolean) : "Laser Pushes Player" : 0 : "Should the hover turret's laser deal knockback? Usually only works while the player is in the air." + sentryRotateSpeed(float) : "Idle Rotation Speed" : "10" : "While idle, the hover turret will rotate at this speed." + attachTarget(target_destination) : "Tether Attach Target" : : "An entity (usually info_target) which the hover turret should hang from." + + // We can't check the code to see what hover turrets' range is, it seems to be about 2048. + _frustum_far[!engine](integer) readonly : "" : 2048 : "How far the turret will be able to see targets. Always 2048, but this keyvalue is needed to display the preview." + _frustum_color[!engine](string) readonly : "" : "0 255 255" : "Ignore, needed to color the range preview." +] \ No newline at end of file diff --git a/fgd/point/npc/npc_portal_turret_floor.fgd b/fgd/point/npc/npc_portal_turret_floor.fgd index 3dd0866ba..e707ee42d 100644 --- a/fgd/point/npc/npc_portal_turret_floor.fgd +++ b/fgd/point/npc/npc_portal_turret_floor.fgd @@ -7,8 +7,7 @@ @PointClass base(BaseNPC, _npc_portal_turret_floor_p1_mdl, _npc_portal_turret_floor_p2_mdl) appliesto(P1, P2) autovis(Entities, NPCs, Portal Turret) - sphere(turretRange) - frustum(45, 16, TurretRange, 255 0 0 100, -1) + frustum(_frustum_fov, _frustum_near, TurretRange, _frustum_color, -1) = npc_portal_turret_floor: "Aperture Science Sentry Turret." [ damageforce(boolean) : "Damage Pushes Player" : 0 : "Being hit by this turret will push the player back." @@ -68,6 +67,9 @@ skin[P2](integer) : "[H] Skin" : 0 : "The skin to show, mainly for the normal model." + turretrange[P1, !engine](integer) readonly : "" : 1500 : "How far the turret will be able to see targets. Always 1500 in Portal 1, but this keyvalue is needed to display the preview." + _frustum_color[!engine](string) readonly : "" : "255 0 0" : "Ignore, needed to color the range preview." + // Inputs input FireBullet(string) : "Causes the turret to instantly fire at the specified entity." input Toggle(void) : "Toggle enabled state." diff --git a/fgd/point/npc/npc_rocket_turret.fgd b/fgd/point/npc/npc_rocket_turret.fgd index caa33724c..31bb65c3b 100644 --- a/fgd/point/npc/npc_rocket_turret.fgd +++ b/fgd/point/npc/npc_rocket_turret.fgd @@ -7,6 +7,7 @@ @PointClass base(BaseNPC, ResponseContext, _npc_rocket_turret_p1, _npc_rocket_turret_p2) appliesto(P1, P2) autovis(Entities, NPCs, Portal Rocket Turret) + sphere(_sphere_radius) = npc_rocket_turret: "Portal 1 rocket sentry, aims a rocket at a target. " + "In Portal 2, the rocket spawns with a speed of 0 and sometimes gets " + "stuck inside the model, so this will need to be worked around." @@ -22,6 +23,8 @@ TripwireAimTarget[P2](target_destination) : "Tripwire Aim Target" : : "In tripwire mode, the entity to aim at." model[P2](studio) : "[H] Model" : "models/props_bts/rocket_sentry.mdl" : "Model to display in Hammer. Use Init Code and a comp_precache_model to change the model in-game." + _sphere_radius[!engine](integer) readonly : "" : 8192 : "How far the turret will be able to see targets. Always 8192, but this keyvalue is needed to display the preview." + // Inputs input Toggle(void) : "Toggles between activated and deactivated states." input Enable(void) : "Activate Rocket Turret, and allow it to begin scanning." diff --git a/fgd/point/npc/npc_turret_floor.fgd b/fgd/point/npc/npc_turret_floor.fgd index 67644ffa8..8c10c2b7d 100644 --- a/fgd/point/npc/npc_turret_floor.fgd +++ b/fgd/point/npc/npc_turret_floor.fgd @@ -1,6 +1,7 @@ @PointClass base(BaseNPC) appliesto(EP1, EP2, HL2, P1) - studio("models/combine_turrets/floor_turret.mdl") + studioprop("models/combine_turrets/floor_turret.mdl") + frustum(_frustum_fov, _frustum_near, _frustum_far, _frustum_color, -1) autovis(Entities, NPCs, Combine, Floor Turret) = npc_turret_floor: "Combine Floor Turret" [ @@ -25,6 +26,9 @@ skinnumber[!Mbase](integer) : "Skin Number" : 0 : "Which skin to use for this turret. Set to 0 to select randomly." skin[MBase](integer) : "Skin Number" : 0 : "Which skin to use for this turret. If a citizen turret, set to 0 to select randomly." + _frustum_far[!engine](integer) readonly : "" : 1200 : "How far the turret will be able to see targets. Always 1200, but this keyvalue is needed to display the preview." + _frustum_color[!engine](string) readonly : "" : "255 0 0" : "Ignore, needed to color the range preview." + // Inputs input Toggle(void) : "Toggle - If open, close. If closed, open." input Enable(void) : "Enable the turret." diff --git a/fgd/point/npc/npc_vortigaunt.fgd b/fgd/point/npc/npc_vortigaunt.fgd index 30c2c6b4a..327215c22 100644 --- a/fgd/point/npc/npc_vortigaunt.fgd +++ b/fgd/point/npc/npc_vortigaunt.fgd @@ -5,15 +5,15 @@ [ model(studio) : "World model" : "models/vortigaunt.mdl" armorrechargeenabled(boolean) : "Allow Armor Recharging" : 1 - healthregenerateenabled(boolean) : "Regenerate Health" : 0 : "Whether or not the vortigaunt will recover his own health over time like vital allies, while in combat." + healthregenerateenabled(boolean) : "Regenerate Health" : 0 : "Whether or not the vortigaunt will recover their own health over time like vital allies, while in combat." // Inputs input EnableArmorRecharge(void) : "Allow armor recharging on players" input DisableArmorRecharge(void) : "Do not allow armor recharging on players" input ExtractBugbait(string) : "Causes the vortigaunt to extract bugbait from the named target passed in." input ChargeTarget(string) : "Force the vortigaunt to charge the named target." - input EnableHealthRegeneration(void) : "Allow the vortigaunt to start regenerating his health over time, like vital allies." - input DisableHealthRegeneration(void) : "Stop the vortigaunt from regenerating his health. (Default behavior)" + input EnableHealthRegeneration(void) : "Allow the vortigaunt to start regenerating their health over time, like vital allies." + input DisableHealthRegeneration(void) : "Stop the vortigaunt from regenerating their health. (Default behavior)" input TurnBlue(boolean) : "If true, turn blue. If false, turn green. (Episodic)." input TurnBlack(boolean) : "If true, turn black. If false, be seen. (Episodic)." input BeginCarryNPC(void) : "Begin to override our animations for 'carrying' an NPC. (Episodic)" diff --git a/fgd/point/player/player_weaponstrip.fgd b/fgd/point/player/player_weaponstrip.fgd index b322e6513..17958d5d4 100644 --- a/fgd/point/player/player_weaponstrip.fgd +++ b/fgd/point/player/player_weaponstrip.fgd @@ -5,7 +5,7 @@ // Inputs input Strip(void) : "Removes all weapons." - input StripWeaponsAndSuit[!L4D2](void) : "Strip player's weapons and his suit" + input StripWeaponsAndSuit[!L4D2](void) : "Strip player's weapons and suit" input StripActiveWeapon[L4D2](void) : "Removes the active weapon." input StripWeaponByClassname[L4D2](string) : "Removes a weapon by classname, eg 'weapon_dieselcan'" ] diff --git a/fgd/point/point/point_camera.fgd b/fgd/point/point/point_camera.fgd index bf4cce015..4998e0af5 100644 --- a/fgd/point/point/point_camera.fgd +++ b/fgd/point/point/point_camera.fgd @@ -1,6 +1,6 @@ @PointClass base(BaseEntityPoint) studioprop("models/editor/camera.mdl") - frustum(FOV,fogstart,fogend,250 250 250,-1) + frustum(FOV,fogstart,fogend,_frustum_color,-1) = point_camera: "Camera" [ spawnflags(flags) : "spawnflags" = diff --git a/fgd/point/point/point_combine_ball_launcher.fgd b/fgd/point/point/point_combine_ball_launcher.fgd index 715471b8e..75b1b7fe2 100644 --- a/fgd/point/point/point_combine_ball_launcher.fgd +++ b/fgd/point/point/point_combine_ball_launcher.fgd @@ -1,6 +1,6 @@ @PointClass base(CombineBallSpawners) appliesto(EP1, EP2, HL2, P1, P2) - studio("models/effects/combineball.mdl") + iconsprite("editor/energy_ball.vmt") studio("models/editor/cone_helper.mdl") = point_combine_ball_launcher: "Launches Combine balls." [ diff --git a/fgd/point/point/point_devshot_camera.fgd b/fgd/point/point/point_devshot_camera.fgd index 418a84e13..e9b128272 100644 --- a/fgd/point/point/point_devshot_camera.fgd +++ b/fgd/point/point/point_devshot_camera.fgd @@ -1,9 +1,11 @@ @PointClass base(BaseEntityPoint) studioprop("models/editor/camera.mdl") iconsprite("editor/point_devshot_camera.vmt") - frustum(fov, 16, 256, 255 255 255 10, -1) + frustum(fov, _frustum_near, _frustum_far, _frustum_color, -1) = point_devshot_camera: "An entity used by the -makedevshots system, which automatically takes screenshots at the position of every devshot camera in the level." [ cameraname(string) : "Camera Name" : : "Used as the name of the directory to store screenshots from this camera. Must be unique within the level." fov(integer) : "Camera FOV" : 75 : "FOV of this camera." + + _frustum_far[!engine](integer) readonly : "" : 1024 : "Ignore, needed to display the view frustum preview." ] diff --git a/fgd/point/point/point_energy_ball_launcher.fgd b/fgd/point/point/point_energy_ball_launcher.fgd index 2852faf11..4d52893f0 100644 --- a/fgd/point/point/point_energy_ball_launcher.fgd +++ b/fgd/point/point/point_energy_ball_launcher.fgd @@ -1,6 +1,6 @@ @PointClass base(CombineBallSpawners) appliesto(P1, P2) - studio("models/effects/combineball.mdl") + iconsprite("editor/energy_ball.vmt") studio("models/editor/cone_helper.mdl") = point_energy_ball_launcher: "Launches Aperture Science High Energy Pellets. " [ diff --git a/fgd/point/point/point_laser_target.fgd b/fgd/point/point/point_laser_target.fgd index 7560a6bcc..c11ecfdcb 100644 --- a/fgd/point/point/point_laser_target.fgd +++ b/fgd/point/point/point_laser_target.fgd @@ -5,8 +5,9 @@ = point_laser_target: "Invisible Discouragement Beam detector, for logic use. " + "The entity will fire outputs when struck and unstruck." [ - terminalpoint(boolean) : "Terminal Point" : 1 : "Will lasers auto-aim towards this? " + - "It may also make the laser stop here." + terminalpoint(boolean) : "Terminal Point" : 1 : "Whether to behave like a laser catcher or a relay. " + + "When on, lasers will auto-aim towards this, and lasers that hit it will not show end sparks or be able to activate " + + "later laser targets. When off, these behaviors do not occur, and it has a taller hitbox to match a laser relay." // Outputs output OnPowered(void) : "Fired when a laser hits the target." diff --git a/fgd/point/point/point_push.fgd b/fgd/point/point/point_push.fgd index 7769f7fa4..d1be74658 100644 --- a/fgd/point/point/point_push.fgd +++ b/fgd/point/point/point_push.fgd @@ -4,7 +4,7 @@ sphere(inner_radius) studio("models/editor/cone_helper.mdl") iconsprite("editor/ficool2/point_push") - frustum(influence_cone, inner_radius, radius, 255 255 255 10, -1) + frustum(influence_cone, inner_radius, radius, _frustum_color, -1) = point_push: "Pulls objects to, or pushes them away from a point. " + "In Portal 2, if a portal is placed nearby it will transfer the suction and " + "produce a 'broken_tube_suck' effect for Diversity Vents." diff --git a/fgd/point/point/point_teleport.fgd b/fgd/point/point/point_teleport.fgd index fc8f12f82..e3bd7f5f1 100644 --- a/fgd/point/point/point_teleport.fgd +++ b/fgd/point/point/point_teleport.fgd @@ -7,7 +7,7 @@ "If object is physically simulated, simulation is turned off when teleported." [ target(target_destination) : "Entity To Teleport" : : "Name of the entity that will be teleported." - model(studio) : "[H] Model" : "models/editor/angle_helper.mdl" : "The model shown in Hammer, to use for positioning." + model[!engine](studio) : "[H] Model" : "models/editor/angle_helper.mdl" : "The model shown in Hammer, to use for positioning." spawnflags(flags) = [ 1: "Teleport Home" : 0 diff --git a/fgd/point/point/point_viewcontrol.fgd b/fgd/point/point/point_viewcontrol.fgd index 0904acffc..9604a6776 100644 --- a/fgd/point/point/point_viewcontrol.fgd +++ b/fgd/point/point/point_viewcontrol.fgd @@ -1,7 +1,7 @@ @PointClass base(BaseEntityPoint) studioprop("models/editor/camera.mdl") color(200 0 0) - frustum(fov, 16, 256, 255 255 255 10, -1) + frustum(fov, _frustum_near, _frustum_far, _frustum_color, -1) line(255 255 0, targetname, target) line(255 255 0, targetname, moveto) = point_viewcontrol: "A camera entity that controls the player's view. While it's active, the player will see out of the camera." @@ -45,13 +45,15 @@ drawlocalplayer[INFRA](boolean) : "Draw Local Player" : 0 : "Should the local player be drawn when viewing from this camera?" drawviewmodel[INFRA](boolean) : "Draw View Model" : 0 : "Should the view model be drawn when viewing from this camera?" drawhud[INFRA](boolean) : "Draw HUD" : 1 : "Should the HUD be drawn when viewing from this camera?" - allowcontrols[INFRA](boolean) : "Allow Controls" : 0 : "Should the player be allowed to use his movement controls?" - freezeinstead[INFRA](boolean) : "Freeze Instead" : 0 : "If controls are disabled, should the player be disallowed from using any of his controls (+use, +attack, VGUI screens etc.)?" + allowcontrols[INFRA](boolean) : "Allow Controls" : 0 : "Should the player be allowed to use their movement controls?" + freezeinstead[INFRA](boolean) : "Freeze Instead" : 0 : "If controls are disabled, should the player be disallowed from using any of their controls (+use, +attack, VGUI screens etc.)?" disableatend[INFRA](boolean) : "Disable at End" : 0 : "Disable the camera once it reaches the end of its path?" - holsterweapons[INFRA](boolean) : "Holster Weapons" : 0 : "Should the player holster his weapons while under control of the camera?" + holsterweapons[INFRA](boolean) : "Holster Weapons" : 0 : "Should the player holster their weapons while under control of the camera?" teleportplayertoend[INFRA](boolean) : "Teleport Player to End" : 0 : "Should the player be teleported to the end once the camera reaches the end of its path?" pathlengthinseconds[INFRA](float) : "Path Length in Seconds" : 5 : "How long does this path last? Smaller numbers means faster camera." + _frustum_far[!engine](integer) readonly : "" : 1024 : "Ignore, needed to display the view frustum preview." + // Inputs input Enable(void) : "Enable the point_viewcontrol, and start controlling the player's view." input Disable(void) : "Disable the point_viewcontrol, and stop controlling the player's view." diff --git a/fgd/point/point/point_viewcontrol_multiplayer.fgd b/fgd/point/point/point_viewcontrol_multiplayer.fgd index 0023ec8b2..9ba82f1ee 100644 --- a/fgd/point/point/point_viewcontrol_multiplayer.fgd +++ b/fgd/point/point/point_viewcontrol_multiplayer.fgd @@ -1,7 +1,7 @@ @PointClass base(BaseEntityPoint) color(200 0 0) studioprop("models/editor/camera.mdl") - frustum(fov, 16, 256, 255 255 255 10, -1) + frustum(fov, _frustum_near, _frustum_far, _frustum_color, -1) line(255 255 0, targetname, target_entity) = point_viewcontrol_multiplayer: "A camera entity that controls players' views. which works in multiplayer. " + "While it's active, the players will see out of the camera." @@ -33,6 +33,7 @@ 2: "Set FOV" : 0 ] + _frustum_far[!engine](integer) readonly : "" : 1024 : "Ignore, needed to display the view frustum preview." // Inputs input Enable(void) : "Enable the point_viewcontrol_multiplayer, and start controlling the players' view." diff --git a/fgd/point/portal_race_checkpoint.fgd b/fgd/point/portal_race_checkpoint.fgd index 1aab40782..20a5b8366 100644 --- a/fgd/point/portal_race_checkpoint.fgd +++ b/fgd/point/portal_race_checkpoint.fgd @@ -1,8 +1,9 @@ @PointClass base(BaseEntityAnimating) appliesto(P2) - studioprop("models/effects/cappoint_hologram.mdl") = portal_race_checkpoint: "Checkpoint for race maps. Wen touched, lights up briefly." + studioprop("models/effects/cappoint_hologram.mdl") = portal_race_checkpoint: "Checkpoint for race maps. When touched, lights up and ticks down like a pedestal button." [ resettime(float) : "Reset Time" : 5.0 : "The time it takes for the checkpoint to reset after activation." + UniDirectional(boolean) : "Uni Directional" : 0 : "Found in Valve map." // Inputs input Activate(void) : "Activates the checkpoint." diff --git a/fgd/point/prop/prop_energy_ball.fgd b/fgd/point/prop/prop_energy_ball.fgd deleted file mode 100644 index aca0ca3a0..000000000 --- a/fgd/point/prop/prop_energy_ball.fgd +++ /dev/null @@ -1,10 +0,0 @@ - -@PointClass base(BasePropPhysics) - appliesto(P2) - studio("models/effects/combineball.mdl") = prop_energy_ball: "Aperture Science High Energy Pellet. Bounces off surfaces, travels through portals and kills players on contact. After a time period it will explode and be respawned." - [ - - // Inputs - input Explode(void) : "Explode the pellet, creating a shockwave and shaking the camera." - input BallCaught(void) : "Trigger the OnBallCaught output for the point_energy_ball_launcher that created this ball, kill the pellet and disable the launcher." - ] diff --git a/fgd/point/prop/prop_monster_box.fgd b/fgd/point/prop/prop_monster_box.fgd index f7a77d626..885995dab 100644 --- a/fgd/point/prop/prop_monster_box.fgd +++ b/fgd/point/prop/prop_monster_box.fgd @@ -3,9 +3,9 @@ autovis(Test Elements, Cubes, Franken) studioprop() = prop_monster_box: "FrankenCubes, they walk about when oriented correctly but otherwise behave like normal Storage Cubes." [ - startasbox(boolean) : "Start As Box" : 0 : "Start as an Box." + startasbox(boolean) : "Start As Box" : 0 : "Start the FrankenTurret in cube form." boxswitchspeed(float) : "Box Switch Speed" : 400 : "Speed to force switch to a box." - allowsilentdissolve(boolean) : "Allow SilentDissolve input" : 0 : "Allow the SilentDissolve input to dissolve this FrankenCube." + allowsilentdissolve(boolean) : "Allow SilentDissolve input" : 1 : "Allow the SilentDissolve input to dissolve this FrankenCube." model[engine](studio) : "Model" : "models/npcs/monsters/monster_a.mdl" model(choices) : "[H] Pose" : "models/npcs/monsters/monster_a.mdl" : "What pose to show in Hammer." = diff --git a/fgd/point/prop/prop_portal_stats_display.fgd b/fgd/point/prop/prop_portal_stats_display.fgd index 2c62f4657..4fd205f30 100644 --- a/fgd/point/prop/prop_portal_stats_display.fgd +++ b/fgd/point/prop/prop_portal_stats_display.fgd @@ -1,7 +1,6 @@ @PointClass base(BaseEntityAnimating) - appliesto(P1, P2) - studio("models/props/Round_elevator_body.mdl") + appliesto(P1, P2) studioprop("models/props/Round_elevator_body.mdl") = prop_portal_stats_display: "Portal Stats Display, for P1's challenge mode." [ diff --git a/fgd/point/prop/prop_scaled_cube.fgd b/fgd/point/prop/prop_scaled_cube.fgd new file mode 100644 index 000000000..176687ba9 --- /dev/null +++ b/fgd/point/prop/prop_scaled_cube.fgd @@ -0,0 +1,7 @@ +@PointClass base(BasePortalCube) + studioprop("models/props/sixense/box/sixensebox.mdl") + appliesto(P2SIXENSE) + autovis(Test Elements, Cubes, Scalable) += prop_scaled_cube : "Scalable Cube" +[ +] \ No newline at end of file diff --git a/fgd/point/prop/prop_vehicle.fgd b/fgd/point/prop/prop_vehicle.fgd index 1c5a13346..1eec9967b 100644 --- a/fgd/point/prop/prop_vehicle.fgd +++ b/fgd/point/prop/prop_vehicle.fgd @@ -2,15 +2,10 @@ @PointClass base(BaseVehicle, SetModel) appliesto(ASW, EP1, EP2, HL2, P1, P2, CSGO) autovis(Vehicles, Generic Vehicles) - studioprop() = prop_vehicle: "Studiomodel vehicle that can be driven via inputs." + studioprop() = prop_vehicle: "Vehicle that can be driven via inputs." [ spawnflags(flags) : "spawnflags" = [ 1: "Always Think (Run physics every frame)" : 0 ] - - - // Inputs - input Steer(float) : "Steer the vehicle +/-1" - input Throttle(float) : "Throttle +/-1" ] diff --git a/fgd/point/prop/prop_vehicle_airboat.fgd b/fgd/point/prop/prop_vehicle_airboat.fgd index 8284e2631..468dde7ec 100644 --- a/fgd/point/prop/prop_vehicle_airboat.fgd +++ b/fgd/point/prop/prop_vehicle_airboat.fgd @@ -1,9 +1,9 @@ @PointClass base(BaseDriveableVehicle) appliesto(EP1, EP2, HL2, P1) autovis(Vehicles, Airboat) - studioprop() = prop_vehicle_airboat: "Driveable studiomodel airboat." + studioprop() = prop_vehicle_airboat: "Driveable airboat." [ - model(studio) : "World model" : "models/airboat.mdl" + model(studio) : "World Model" : "models/airboat.mdl" : "Set the model used by the airboat." vehiclescript(string) : "Vehicle Script File" : "scripts/vehicles/airboat.txt" enablegun(boolean) : "Has Gun" : "0" : "Whether the airboat's gun is enabled or disabled." @@ -11,4 +11,5 @@ input EnableGun(boolean) : "Enables or disables the airboat gun and associated crosshair." input InputStartRotorWashForces(void) : "The airboat will start to be blown around by the helicopter rotor wash." input InputStopRotorWashForces(void) : "The airboat will no longer be blown around by the helicopter rotor wash." + input ExitVehicle(void) : "Force the player to exit the airboat" ] diff --git a/fgd/point/prop/prop_vehicle_apc.fgd b/fgd/point/prop/prop_vehicle_apc.fgd index 095093e1e..823a430e0 100644 --- a/fgd/point/prop/prop_vehicle_apc.fgd +++ b/fgd/point/prop/prop_vehicle_apc.fgd @@ -7,7 +7,7 @@ [ vehiclescript(string) : "Vehicle Script File" : "scripts/vehicles/apc_npc.txt" - model(studio) : "Model" : "models/combine_apc.mdl" : "Set the model used by the APC." + model(studio) : "World Model" : "models/combine_apc.mdl" : "Set the model used by the APC." missilehint(target_destination) : "Missile Hint Target" : : "Name of one or more info_apc_missile_hint entities to use to determine what to hit." // Inputs diff --git a/fgd/point/prop/prop_vehicle_cannon.fgd b/fgd/point/prop/prop_vehicle_cannon.fgd index b1b3c7371..351e7dadd 100644 --- a/fgd/point/prop/prop_vehicle_cannon.fgd +++ b/fgd/point/prop/prop_vehicle_cannon.fgd @@ -2,6 +2,7 @@ @PointClass base(BaseDriveableVehicle, SetModel) appliesto(EP1, EP2, HL2, P1, ASW) autovis(Vehicles, Generic Vehicles, Cannon) - studioprop() = prop_vehicle_cannon: "Driveable studiomodel cannon." + studioprop() = prop_vehicle_cannon: "Driveable cannon, appears to be unfinished." [ + vehiclescript(string) : "Vehicle Script File" : "scripts/vehicles/cannon.txt" ] diff --git a/fgd/point/prop/prop_vehicle_choreo_generic.fgd b/fgd/point/prop/prop_vehicle_choreo_generic.fgd index 481384c04..df2570e88 100644 --- a/fgd/point/prop/prop_vehicle_choreo_generic.fgd +++ b/fgd/point/prop/prop_vehicle_choreo_generic.fgd @@ -1,7 +1,7 @@ @PointClass base(BaseDriveableVehicle, SetModel) studioprop() autovis(Vehicles, Generic Vehicles, Choreo Vehicle) - color(240 180 250) = prop_vehicle_choreo_generic: "Generic Choreo vehicle used for magical events." + color(240 180 250) = prop_vehicle_choreo_generic: "Generic Choreo vehicle used for scripted events." [ // Only default to this model if we know it exists. model(studio) : "World model" : : "Model to use." diff --git a/fgd/point/prop/prop_vehicle_crane.fgd b/fgd/point/prop/prop_vehicle_crane.fgd index d03f21c31..b91627d87 100644 --- a/fgd/point/prop/prop_vehicle_crane.fgd +++ b/fgd/point/prop/prop_vehicle_crane.fgd @@ -4,7 +4,11 @@ autovis(Vehicles, Crane) studioprop() = prop_vehicle_crane: "Driveable studiomodel crane." [ - magnetname(target_destination) : "Magnet entity" + + vehiclescript(string) : "Vehicle Script File" : "scripts/vehicles/crane.txt" + model(studio) : "World Model" : "models/cranes/crane_docks.mdl" : "Set the model used by the crane." + + magnetname(target_destination) : "Magnet entity" : : "A phys_magnet to hang from the end of the crane. Must be set for the crane to spawn." // Inputs input ForcePlayerIn(void) : "Force the player to get into the crane. Only works in singleplayer." diff --git a/fgd/point/prop/prop_vehicle_jeep.fgd b/fgd/point/prop/prop_vehicle_jeep.fgd index 5e68d2870..71a298cc2 100644 --- a/fgd/point/prop/prop_vehicle_jeep.fgd +++ b/fgd/point/prop/prop_vehicle_jeep.fgd @@ -2,50 +2,55 @@ appliesto(HL2, EP1, EP2, P1) studioprop() autovis(Vehicles, Jeep) -= prop_vehicle_jeep: "Driveable studiomodel jeep. In HL2 it's the Scout Car, in EP2 it's the Scout Car/Jalopy." += prop_vehicle_jeep: "Driveable jeep. In HL2 it's the Scout Car, in EP2 and Portal it's the Jalopy." // Portal also uses the Ep2 car [ - model[-EP1, -EP2](studio) : "World model" : "models/buggy.mdl" - model[EP1, EP2](studio) : "World model" : "models/jalopy.mdl" + vehiclescript[EP1, EP2, P1](string) : "Vehicle Script File" : "scripts/vehicles/jalopy.txt" - cargovisible[EP1, EP2](boolean) : "Hopper Visible" : "0" : "Is the striderbuster cargo hopper visible?" + model[-EP1, -EP2, -P1](studio) : "World Model" : "models/buggy.mdl" + model[EP1, EP2, P1](studio) : "World Model" : "models/vehicle.mdl" + + cargovisible[EP1, EP2, P1](boolean) : "Hopper Visible" : "0" : "Is the Magnusson cargo hopper visible?" spawnflags(flags) : "spawnflags" = [ 1: "HUD Locator Precache" : 0 ] - NoHazardLights[EP1, EP2](boolean) : "No Hazard Lights" : 0 : "Stops the jalopy's hazard lights from turning on and flashing when the player exits the vehicle." - EnableGun[-EP1, -EP2](boolean) : "Has Gun" : 0 : "Whether the jeep's tau cannon is enabled or disabled." + NoHazardLights[+MBase, EP1, EP2](boolean) : "No Hazard Lights" : 0 : "Stops the jalopy's hazard lights from turning on and flashing when the player exits the vehicle." + EnableGun[-EP1, -EP2, -P1](boolean) : "Has Gun" : 0 : "Whether the jeep's tau cannon is enabled or disabled." + EnableGun[EP1, EP2, P1](boolean) : "Has Gun" : 0 : "Whether the jeep's tau cannon is enabled or disabled. Doesn't work correctly with the jalopy model." // HL2 Jeep inputs - input StartRemoveTauCannon[-EP1, -EP2](void) : "Start the tau removal sequence." - input FinishRemoveTauCannon[-EP1, -EP2](void) : "Finish the tau removal sequence." + input StartRemoveTauCannon(void) : "Start the tau removal sequence." + input FinishRemoveTauCannon(void) : "Finish the tau removal sequence." // Mapbase re-adds these for the episodic jeep, so if any it's present. - input DisablePhysGun[MBase, EP1, EP2](void) : "Disable physgun interactions with the jeep." - input EnablePhysGun[MBase, EP1, EP2](void) : "Enable physgun interactions with the jeep (default)." + input DisablePhysGun[MBase, EP1, EP2, P1](void) : "Disable physgun interactions with the jeep." + input EnablePhysGun[MBase, EP1, EP2, P1](void) : "Enable physgun interactions with the jeep (default)." // Episodic Jeep Inputs - input LockEntrance[EP1, EP2](void) : "Stops NPC's from entering the vehicle until unlocked." - input UnlockEntrance[EP1, EP2](void) : "Allows NPC's to enter the vehicle." - input LockExit[EP1, EP2](void) : "Stops NPC's from exiting the vehicle until unlocked." - input UnlockExit[EP1, EP2](void) : "Allows NPC's to exit the vehicle." - input EnableRadar[EP1, EP2](void) : "Turn on the Jalopy radar" - input DisableRadar[EP1, EP2](void) : "Turn off the Jalopy radar" - input EnableRadarDetectEnemies[EP1, EP2](void) : "Allow the Jalopy radar to detect Striders and Hunters." - input AddBusterToCargo[EP1, EP2](void) : "Put a striderbuster in the cargo trigger" - input SetCargoHopperVisibility[EP1, EP2](boolean) : "Set the strider buster hopper thingy to be visible, or invisible." - input CreateLinkController[EP1, EP2](void) : "Automatically builds and attaches a link controller to the car, which cuts the node connections under the car while the car is standing still." - input DestroyLinkController[EP1, EP2](void) : "Destroys the link controller created by CreateLinkController." - input EnableHazardLights[EP1, EP2]( void ) : "Enables the jalopy's hazard lights." - input DisableHazardLights[EP1, EP2]( void ) : "Disables the jalopy's hazard lights." + input LockEntrance[EP1, EP2, P1](void) : "Stops NPC's from entering the vehicle until unlocked." + input UnlockEntrance[EP1, EP2, P1](void) : "Allows NPC's to enter the vehicle." + input LockExit[EP1, EP2, P1](void) : "Stops NPC's from exiting the vehicle until unlocked." + input UnlockExit[EP1, EP2, P1](void) : "Allows NPC's to exit the vehicle." + input EnableRadar[EP1, EP2, P1](void) : "Turn on the Jalopy radar" + input DisableRadar[EP1, EP2, P1](void) : "Turn off the Jalopy radar" + input EnableRadarDetectEnemies[EP1, EP2, P1](void) : "Allow the Jalopy radar to detect Striders and Hunters." + input AddBusterToCargo[EP1, EP2, P1](void) : "Put a striderbuster in the cargo trigger" + input SetCargoHopperVisibility[EP1, EP2, P1](boolean) : "Set the Magnusson cargo hopper to be visible, or invisible." + input CreateLinkController[EP1, EP2, P1](void) : "Automatically builds and attaches a link controller to the car, which cuts the node connections under the car while the car is standing still." + input DestroyLinkController[EP1, EP2, P1](void) : "Destroys the link controller created by CreateLinkController." + + // Mapbase Episodic Inputs + input EnableHazardLights[+MBase, EP1, EP2]( void ) : "Enables the jalopy's hazard lights." + input DisableHazardLights[+MBase, EP1, EP2]( void ) : "Disables the jalopy's hazard lights." // Outputs - output OnCompanionEnteredVehicle[EP1, EP2](void) : "Companion has entered the vehicle." - output OnCompanionExitedVehicle[EP1, EP2](void) : "Companion has exited the vehicle." - output OnHostileEnteredVehicle[EP1, EP2](void) : "Hostile has entered the vehicle." - output OnHostileExitedVehicle[EP1, EP2](void) : "Hostile has exited the vehicle." + output OnCompanionEnteredVehicle[EP1, EP2, P1](void) : "Companion has entered the vehicle." + output OnCompanionExitedVehicle[EP1, EP2, P1](void) : "Companion has exited the vehicle." + output OnHostileEnteredVehicle[EP1, EP2, P1](void) : "Hostile has entered the vehicle." + output OnHostileExitedVehicle[EP1, EP2, P1](void) : "Hostile has exited the vehicle." ] @PointClass base(BaseDriveableVehicle) @@ -54,7 +59,9 @@ autovis(Vehicles, Jeep) = prop_vehicle_jeep_old: "Copy of the original HL2 Jeep for use in Episodic." [ - model[](studio) : "World model" : "models/buggy.mdl" + model(studio) : "World Model" : "models/buggy.mdl" + + EnableGun(boolean) : "Has Gun" : 0 : "Whether the jeep's tau cannon is enabled or disabled." // HL2 Jeep inputs input StartRemoveTauCannon(void) : "Start the tau removal sequence." diff --git a/fgd/point/prop/prop_weighted_cube.fgd b/fgd/point/prop/prop_weighted_cube.fgd index 96672928b..09327c2d8 100644 --- a/fgd/point/prop/prop_weighted_cube.fgd +++ b/fgd/point/prop/prop_weighted_cube.fgd @@ -1,10 +1,8 @@ -@PointClass base(BasePropPhysics) +@PointClass base(BasePortalCube) appliesto(P2) autovis(Test Elements, Cubes, Normal) studioprop() = prop_weighted_cube: "Aperture Science Weighted Cube. Presses floor buttons, and can be moved around." [ - line_cube[-engine](string) readonly : "----------------------------------------------------------------------------------------------------------" : "" - cubetype[engine](integer) : "Cube Type" : 0 cubetype(choices) : "Cube Type" : "0" : "What cube type is this? Use a prop_monster_box for FrankenTurrets. " + "If set to Custom, use AddOutput to change it back OnMapSpawn so gel skins behave correctly." = @@ -35,35 +33,5 @@ skin(integer) : "Skin" : 0 : "The old skin property, mainly to show in Hammer. " - paintpower[engine](integer) : "Starting Paint" : 4 - paintpower(choices) : "Starting paint" : "4" : "The cube starts painted with the set gel." = - [ - 0: "Repulsion Gel" - 1: "Adhesion Gel" - 2: "Propulsion Gel" - 3: "Conversion Gel" - 4: "None" - ] - - allowfunnel(boolean) : "Allow Portal Funneling" : 1 : "Whether or not this object should auto-funnel into a floor portal." newskins(integer) readonly : "Use new skins" : 1 : "Use the values in the Cube Type and Skin Type fields instead of the Skin(OLD) field. You shouldn't need to touch this." - - // Inputs - input EnablePortalFunnel(void) : "Enable portal funneling behavior." - input DisablePortalFunnel(void) : "Disable portal funneling behavior." - input EnableMotion(void) : "Allow physics simulation." - input DisableMotion(void) : "Prevent Physics simulation, freezing the cube in place." - input SetPaint(integer) : "Force the cube to be painted with 0 (Repulsion), 2 (Propulsion), or 4 (No) gel." - - input Dissolve(void) : "Fizzles the cube, firing the OnFizzled output." - input SilentDissolve(void) : "Kills the cube immediately and fires its OnFizzled output." - input ExitDisabledState(void) : "Exits the disabled state of a reflective cube." - - // Outputs - output OnFizzled(void) : "Fired when a cube is fizzled." - output OnOrangePickUp(void) : "P-Body picked up the cube." - output OnBluePickUp(void) : "ATLAS picked up the cube." - output OnPlayerPickup(void) : "Any player picked up the cube." - output OnPhysGunDrop(void) : "Any player dropped the cube." - output OnPainted(void) : "Cube got painted, only if the state changed." ] diff --git a/fgd/point/sixense/sixense_info_placement_helper.fgd b/fgd/point/sixense/sixense_info_placement_helper.fgd new file mode 100644 index 000000000..dde921972 --- /dev/null +++ b/fgd/point/sixense/sixense_info_placement_helper.fgd @@ -0,0 +1,25 @@ +@PointClass base(info_placement_helper) + appliesto(P2SIXENSE) += sixense_info_placement_helper : "Tweak placement helper" +[ + tweaking_behavior[engine](integer) : "Tweaking Behavior" : 0 + tweaking_behavior(choices) : "Tweaking Behavior" : 0 : "Portal Tweaking behavior for this placement helper." = + [ + 0 : "None" + 1 : "Tweaking Disabled" + 2 : "Tweak Only Rotation" + 3 : "Tweak Align" + 4 : "Tweak Only Rotation Align" + ] + + tweaking_align_rot_angle(float) : "Tweaking Align Rotation Start Angle" : 25 : "Rotation must be within this offset angle from axis to start alignment." + + tweaking_align_pos_axis[engine](integer) : "Tweaking Align Position Axis" : 3 + tweaking_align_pos_axis(choices) : "Tweaking Align Position Axis " : 3 : "This position dimension will be aligned with the placement helper's." = + [ + 0 : "X" + 1 : "Y" + 2 : "Z" + 3 : "None" + ] +] diff --git a/fgd/point/sixense/sixense_logic_playmovie_hint.fgd b/fgd/point/sixense/sixense_logic_playmovie_hint.fgd new file mode 100644 index 000000000..b6dc86564 --- /dev/null +++ b/fgd/point/sixense/sixense_logic_playmovie_hint.fgd @@ -0,0 +1,18 @@ +@PointClass base(BaseEntityPoint) + iconsprite("editor/logic_playmovie.vmt") + appliesto(P2SIXENSE) += sixense_logic_playmovie_hint : "Plays a Sixense hint movie and allows for various playback options" +[ + // TODO: add choices dropdown here + MovieFilename(string) : "Movie to play" : "" : "Filename of the movie to play" + SubtitlesStringID(string) : "Subtitles String ID" : "" : "String ID of hint subtitles" + allowskip(boolean) : "Allow User to Skip" : 1 : "Whether or not the user may skip the video with common keys" + fadeintime(float) : "Fade In Time" : 1 : "Time it takes for the video to fade in" + fadeouttime(float) : "Fade Out Time" : 1 : "Time it takes for the video to fade out" + + input PlayMovie(void) : "Play the movie." + input FadeMovie(void) : "Fade movie out." + + // Outputs + output OnPlaybackFinished(void) : "Fired when the movie has completed playing back or was skipped by the user." +] \ No newline at end of file diff --git a/fgd/point/sixense/sixense_logic_relay.fgd b/fgd/point/sixense/sixense_logic_relay.fgd new file mode 100644 index 000000000..d08507f4a --- /dev/null +++ b/fgd/point/sixense/sixense_logic_relay.fgd @@ -0,0 +1,5 @@ +@PointClass base(logic_relay) + appliesto(P2SIXENSE) += sixense_logic_relay : "Duplicate of logic_relay, used to detect if the Sixense DLC is installed." +[ +] \ No newline at end of file diff --git a/fgd/point/static_prop.fgd b/fgd/point/static_prop.fgd new file mode 100644 index 000000000..6755e8d55 --- /dev/null +++ b/fgd/point/static_prop.fgd @@ -0,0 +1,5 @@ +@PointClass base(prop_static) + appliesto(!engine) += static_prop: "Alternate name for prop_static." + [ + ] diff --git a/fgd/point/tf/tf_logic_training_mode.fgd b/fgd/point/tf/tf_logic_training_mode.fgd index ea4cd1349..15ef7381c 100644 --- a/fgd/point/tf/tf_logic_training_mode.fgd +++ b/fgd/point/tf/tf_logic_training_mode.fgd @@ -35,11 +35,11 @@ output OnPlayerSpawnAsEngineer(void) : "Sent when the player spawns as an Engineer." output OnPlayerDied(void) : "Sent when the player dies." output OnBotDied(void) : "Sent when a bot player dies." - output OnPlayerSwappedToPrimary(void) : "Sent when the player swaps to the item in his primary weapon slot." - output OnPlayerSwappedToSecondary(void) : "Sent when the player swaps to the item in his secondary weapon slot." - output OnPlayerSwappedToMelee(void) : "Sent when the player swaps to the item in his melee weapon slot." - output OnPlayerSwappedToBuilding(void) : "Sent when the player swaps to the item in his building weapon slot." - output OnPlayerSwappedToPDA(void) : "Sent when the player swaps to the item in his pda weapon slot." + output OnPlayerSwappedToPrimary(void) : "Sent when the player swaps to the item in their primary weapon slot." + output OnPlayerSwappedToSecondary(void) : "Sent when the player swaps to the item in their secondary weapon slot." + output OnPlayerSwappedToMelee(void) : "Sent when the player swaps to the item in their melee weapon slot." + output OnPlayerSwappedToBuilding(void) : "Sent when the player swaps to the item in their building weapon slot." + output OnPlayerSwappedToPDA(void) : "Sent when the player swaps to the item in their pda weapon slot." output OnBuildOutsideArea(void) : "Sent when the player builds an object outside a suggested area." output OnPlayerDetonateBuilding(void) : "Sent when the player manually detonates one of their buildings." ] diff --git a/fgd/visgroups.cfg b/fgd/visgroups.cfg index c6cd3460c..367e1ebf3 100644 --- a/fgd/visgroups.cfg +++ b/fgd/visgroups.cfg @@ -249,9 +249,9 @@ * `info_node_link_logic` * `info_node_link_oneway` - Brush Entities - - Clips - * `func_clip_vphysics` - * `func_vehicleclip` + - Clips + * `func_clip_vphysics` + * `func_vehicleclip` - Triggers - Death Triggers * `trigger_hurt` @@ -660,7 +660,9 @@ - Precacher * `comp_precache_model` * `comp_precache_sound` - - Propcombine (`comp_propcombine_set`) + - Propcombine + * `comp_propcombine_set` + * `comp_propcombine_volume` - Sceneset (`comp_choreo_sceneset`) - Numeric Transition (`comp_numeric_transition`) - Ropes (`comp_prop_rope`) @@ -669,6 +671,7 @@ * `comp_vactube_end` * `comp_vactube_junction` * `comp_vactube_start` + * `comp_vactube_spline` - Coop Trigger (`comp_trigger_coop`) - Propper - Config @@ -822,6 +825,7 @@ * `func_areaportalwindow` * `func_areaportal_oneway` - Occluders (`func_occluder`) + - Propcombine (`comp_propcombine_volume`) - Vehicles * `prop_vehicle_airboat` * `prop_vehicle_apc` diff --git a/hammer/materials/editor/comp_prop_rope_bunting.vmt b/hammer/materials/editor/comp_prop_rope_bunting.vmt new file mode 100644 index 000000000..060c8cbf0 --- /dev/null +++ b/hammer/materials/editor/comp_prop_rope_bunting.vmt @@ -0,0 +1,8 @@ +Sprite +{ + $baseTexture "editor/comp_prop_rope_bunting" + $spriteorientation "vp_parallel" + $spriteorigin "[ 0.50 0.50 ]" + $spriterendermode 2 + $no_fullbright 1 +} diff --git a/hammer/materials/editor/comp_prop_rope_bunting.vtf b/hammer/materials/editor/comp_prop_rope_bunting.vtf new file mode 100644 index 000000000..6ea282661 Binary files /dev/null and b/hammer/materials/editor/comp_prop_rope_bunting.vtf differ diff --git a/hammer/materials/editor/energy_ball.vmt b/hammer/materials/editor/energy_ball.vmt new file mode 100644 index 000000000..d71fffb85 --- /dev/null +++ b/hammer/materials/editor/energy_ball.vmt @@ -0,0 +1,7 @@ +Sprite +{ + $basetexture "editor/energy_ball" + $spriteorientation "vp_parallel" + $spriteorigin "[ 0.50 0.50 ]" + $no_fullbright 1 +} diff --git a/hammer/materials/editor/energy_ball.vtf b/hammer/materials/editor/energy_ball.vtf new file mode 100644 index 000000000..5badd60e3 Binary files /dev/null and b/hammer/materials/editor/energy_ball.vtf differ diff --git a/hammer/materials/editor/ficool2/point_bonusmaps_accessor.vtf b/hammer/materials/editor/ficool2/point_bonusmaps_accessor.vtf index 570a301b9..9180811da 100644 Binary files a/hammer/materials/editor/ficool2/point_bonusmaps_accessor.vtf and b/hammer/materials/editor/ficool2/point_bonusmaps_accessor.vtf differ diff --git a/hammer/materials/editor/func_instance_origin.vmt b/hammer/materials/editor/func_instance_origin.vmt deleted file mode 100644 index 1e4ab1151..000000000 --- a/hammer/materials/editor/func_instance_origin.vmt +++ /dev/null @@ -1,7 +0,0 @@ -"Sprite" -{ - "$spriteorientation" "vp_parallel" - "$spriteorigin" "[ 0.50 0.50 ]" - "$basetexture" "editor/func_instance_origin" - "$no_fullbright" 1 -} diff --git a/hammer/materials/editor/func_instance_origin.vtf b/hammer/materials/editor/func_instance_origin.vtf deleted file mode 100644 index bbfaa92c4..000000000 Binary files a/hammer/materials/editor/func_instance_origin.vtf and /dev/null differ diff --git a/hammer/materials/editor/info_player_ping_detector.vtf b/hammer/materials/editor/info_player_ping_detector.vtf index 58d905cc8..ba89659f5 100644 Binary files a/hammer/materials/editor/info_player_ping_detector.vtf and b/hammer/materials/editor/info_player_ping_detector.vtf differ diff --git a/hammer/materials/models/editor/decal_helper.vmt b/hammer/materials/models/editor/decal_helper.vmt new file mode 100644 index 000000000..6dc2036d6 --- /dev/null +++ b/hammer/materials/models/editor/decal_helper.vmt @@ -0,0 +1,5 @@ +"VertexLitGeneric" +{ + "$baseTexture" "Models/Editor/decal_helper" + "$translucent" "1" +} diff --git a/hammer/materials/models/editor/decal_helper.vtf b/hammer/materials/models/editor/decal_helper.vtf new file mode 100644 index 000000000..a2ffc7230 Binary files /dev/null and b/hammer/materials/models/editor/decal_helper.vtf differ diff --git a/hammer/materials/models/editor/ts/comp_prop_rope_cable_dynamic.vmt b/hammer/materials/models/editor/ts/comp_prop_rope_cable_dynamic.vmt new file mode 100644 index 000000000..3e9d69d35 --- /dev/null +++ b/hammer/materials/models/editor/ts/comp_prop_rope_cable_dynamic.vmt @@ -0,0 +1,6 @@ +UnLitGeneric + { + $baseTexture "models/editor/ts/comp_prop_rope_cable_dynamic" + $alphatest 1 + $model 1 + } diff --git a/hammer/materials/models/editor/ts/comp_prop_rope_cable_dynamic.vtf b/hammer/materials/models/editor/ts/comp_prop_rope_cable_dynamic.vtf new file mode 100644 index 000000000..c854114c8 Binary files /dev/null and b/hammer/materials/models/editor/ts/comp_prop_rope_cable_dynamic.vtf differ diff --git a/hammer/materials/models/editor/ts/env_dustpuff.vtf b/hammer/materials/models/editor/ts/env_dustpuff.vtf index 1d7bd7492..9a4bcee04 100644 Binary files a/hammer/materials/models/editor/ts/env_dustpuff.vtf and b/hammer/materials/models/editor/ts/env_dustpuff.vtf differ diff --git a/hammer/materials/models/editor/vactube_arrow.vtf b/hammer/materials/models/editor/vactube_arrow.vtf index 53f0783a4..c212e959c 100644 Binary files a/hammer/materials/models/editor/vactube_arrow.vtf and b/hammer/materials/models/editor/vactube_arrow.vtf differ diff --git a/hammer/materials/tools/toolspropcombine.vmt b/hammer/materials/tools/toolspropcombine.vmt new file mode 100644 index 000000000..758f4af11 --- /dev/null +++ b/hammer/materials/tools/toolspropcombine.vmt @@ -0,0 +1,12 @@ +UnlitGeneric +{ +$basetexture "tools/toolspropcombine" + +$translucent 1 + +// Configure to prevent this generating as much as we can. +%compilenonsolid 1 // No collisions +%compileinvisible 1 // No lighting, not drawn = no faces +%compiledetail 1 // If on world, doesn't cut... +%compilenoshadows 1 +} diff --git a/hammer/materials/tools/toolspropcombine.vtf b/hammer/materials/tools/toolspropcombine.vtf new file mode 100644 index 000000000..20697d518 Binary files /dev/null and b/hammer/materials/tools/toolspropcombine.vtf differ diff --git a/hammer/models/editor/comp_prop_cable_dynamic.dx80.vtx b/hammer/models/editor/comp_prop_cable_dynamic.dx80.vtx new file mode 100644 index 000000000..1e816f310 Binary files /dev/null and b/hammer/models/editor/comp_prop_cable_dynamic.dx80.vtx differ diff --git a/hammer/models/editor/comp_prop_cable_dynamic.dx90.vtx b/hammer/models/editor/comp_prop_cable_dynamic.dx90.vtx new file mode 100644 index 000000000..0556e9546 Binary files /dev/null and b/hammer/models/editor/comp_prop_cable_dynamic.dx90.vtx differ diff --git a/hammer/models/editor/comp_prop_cable_dynamic.mdl b/hammer/models/editor/comp_prop_cable_dynamic.mdl new file mode 100644 index 000000000..1dd157427 Binary files /dev/null and b/hammer/models/editor/comp_prop_cable_dynamic.mdl differ diff --git a/hammer/models/editor/comp_prop_cable_dynamic.sw.vtx b/hammer/models/editor/comp_prop_cable_dynamic.sw.vtx new file mode 100644 index 000000000..becae2ba5 Binary files /dev/null and b/hammer/models/editor/comp_prop_cable_dynamic.sw.vtx differ diff --git a/hammer/models/editor/comp_prop_cable_dynamic.vvd b/hammer/models/editor/comp_prop_cable_dynamic.vvd new file mode 100644 index 000000000..966458eff Binary files /dev/null and b/hammer/models/editor/comp_prop_cable_dynamic.vvd differ diff --git a/hammer/models/editor/comp_prop_rope_dynamic.dx80.vtx b/hammer/models/editor/comp_prop_rope_dynamic.dx80.vtx new file mode 100644 index 000000000..d1f8f3f49 Binary files /dev/null and b/hammer/models/editor/comp_prop_rope_dynamic.dx80.vtx differ diff --git a/hammer/models/editor/comp_prop_rope_dynamic.dx90.vtx b/hammer/models/editor/comp_prop_rope_dynamic.dx90.vtx new file mode 100644 index 000000000..4315f1d04 Binary files /dev/null and b/hammer/models/editor/comp_prop_rope_dynamic.dx90.vtx differ diff --git a/hammer/models/editor/comp_prop_rope_dynamic.mdl b/hammer/models/editor/comp_prop_rope_dynamic.mdl new file mode 100644 index 000000000..59168b5bf Binary files /dev/null and b/hammer/models/editor/comp_prop_rope_dynamic.mdl differ diff --git a/hammer/models/editor/comp_prop_rope_dynamic.sw.vtx b/hammer/models/editor/comp_prop_rope_dynamic.sw.vtx new file mode 100644 index 000000000..72f4b0cd3 Binary files /dev/null and b/hammer/models/editor/comp_prop_rope_dynamic.sw.vtx differ diff --git a/hammer/models/editor/comp_prop_rope_dynamic.vvd b/hammer/models/editor/comp_prop_rope_dynamic.vvd new file mode 100644 index 000000000..a03473ca7 Binary files /dev/null and b/hammer/models/editor/comp_prop_rope_dynamic.vvd differ diff --git a/hammer/models/editor/decal_helper.dx80.vtx b/hammer/models/editor/decal_helper.dx80.vtx new file mode 100644 index 000000000..0843463d2 Binary files /dev/null and b/hammer/models/editor/decal_helper.dx80.vtx differ diff --git a/hammer/models/editor/decal_helper.dx90.vtx b/hammer/models/editor/decal_helper.dx90.vtx new file mode 100644 index 000000000..cbfba5942 Binary files /dev/null and b/hammer/models/editor/decal_helper.dx90.vtx differ diff --git a/hammer/models/editor/decal_helper.mdl b/hammer/models/editor/decal_helper.mdl new file mode 100644 index 000000000..14131b470 Binary files /dev/null and b/hammer/models/editor/decal_helper.mdl differ diff --git a/hammer/models/editor/decal_helper.sw.vtx b/hammer/models/editor/decal_helper.sw.vtx new file mode 100644 index 000000000..803a1f505 Binary files /dev/null and b/hammer/models/editor/decal_helper.sw.vtx differ diff --git a/hammer/models/editor/decal_helper.vvd b/hammer/models/editor/decal_helper.vvd new file mode 100644 index 000000000..accb8d217 Binary files /dev/null and b/hammer/models/editor/decal_helper.vvd differ diff --git a/hammer/models/editor/env_dustpuff.dx80.vtx b/hammer/models/editor/env_dustpuff.dx80.vtx index 68f19c59e..9e5ed5b29 100644 Binary files a/hammer/models/editor/env_dustpuff.dx80.vtx and b/hammer/models/editor/env_dustpuff.dx80.vtx differ diff --git a/hammer/models/editor/env_dustpuff.dx90.vtx b/hammer/models/editor/env_dustpuff.dx90.vtx index f53a6afae..1016a2c90 100644 Binary files a/hammer/models/editor/env_dustpuff.dx90.vtx and b/hammer/models/editor/env_dustpuff.dx90.vtx differ diff --git a/hammer/models/editor/env_dustpuff.mdl b/hammer/models/editor/env_dustpuff.mdl index 5d70a415e..429b240ef 100644 Binary files a/hammer/models/editor/env_dustpuff.mdl and b/hammer/models/editor/env_dustpuff.mdl differ diff --git a/hammer/models/editor/env_dustpuff.sw.vtx b/hammer/models/editor/env_dustpuff.sw.vtx index 5e8ee0315..e4a34085e 100644 Binary files a/hammer/models/editor/env_dustpuff.sw.vtx and b/hammer/models/editor/env_dustpuff.sw.vtx differ diff --git a/hammer/models/editor/env_dustpuff.vvd b/hammer/models/editor/env_dustpuff.vvd index b561f402f..59ee41176 100644 Binary files a/hammer/models/editor/env_dustpuff.vvd and b/hammer/models/editor/env_dustpuff.vvd differ diff --git a/hammer/models/editor/overlay_helper_box.dx80.vtx b/hammer/models/editor/overlay_helper_box.dx80.vtx new file mode 100644 index 000000000..415faed3b Binary files /dev/null and b/hammer/models/editor/overlay_helper_box.dx80.vtx differ diff --git a/hammer/models/editor/overlay_helper_box.dx90.vtx b/hammer/models/editor/overlay_helper_box.dx90.vtx new file mode 100644 index 000000000..9840ee248 Binary files /dev/null and b/hammer/models/editor/overlay_helper_box.dx90.vtx differ diff --git a/hammer/models/editor/overlay_helper_box.mdl b/hammer/models/editor/overlay_helper_box.mdl new file mode 100644 index 000000000..eccee36c2 Binary files /dev/null and b/hammer/models/editor/overlay_helper_box.mdl differ diff --git a/hammer/models/editor/overlay_helper_box.sw.vtx b/hammer/models/editor/overlay_helper_box.sw.vtx new file mode 100644 index 000000000..b5d42a245 Binary files /dev/null and b/hammer/models/editor/overlay_helper_box.sw.vtx differ diff --git a/hammer/models/editor/overlay_helper_box.vvd b/hammer/models/editor/overlay_helper_box.vvd new file mode 100644 index 000000000..98bd1e59c Binary files /dev/null and b/hammer/models/editor/overlay_helper_box.vvd differ diff --git a/hammer/models/editor/spot_cone_fixed.dx80.vtx b/hammer/models/editor/spot_cone_fixed.dx80.vtx new file mode 100644 index 000000000..f46302d1f Binary files /dev/null and b/hammer/models/editor/spot_cone_fixed.dx80.vtx differ diff --git a/hammer/models/editor/spot_cone_fixed.dx90.vtx b/hammer/models/editor/spot_cone_fixed.dx90.vtx new file mode 100644 index 000000000..4a59b471e Binary files /dev/null and b/hammer/models/editor/spot_cone_fixed.dx90.vtx differ diff --git a/hammer/models/editor/spot_cone_fixed.mdl b/hammer/models/editor/spot_cone_fixed.mdl new file mode 100644 index 000000000..b4c30f5a1 Binary files /dev/null and b/hammer/models/editor/spot_cone_fixed.mdl differ diff --git a/hammer/models/editor/spot_cone_fixed.sw.vtx b/hammer/models/editor/spot_cone_fixed.sw.vtx new file mode 100644 index 000000000..efd366d84 Binary files /dev/null and b/hammer/models/editor/spot_cone_fixed.sw.vtx differ diff --git a/hammer/models/editor/spot_cone_fixed.vvd b/hammer/models/editor/spot_cone_fixed.vvd new file mode 100644 index 000000000..a990425a5 Binary files /dev/null and b/hammer/models/editor/spot_cone_fixed.vvd differ diff --git a/hammer/modelsrc/vactube_ring.smd b/hammer/modelsrc/vactube_ring.smd new file mode 100644 index 000000000..e6c8c999f --- /dev/null +++ b/hammer/modelsrc/vactube_ring.smd @@ -0,0 +1,1610 @@ +version 1 +nodes +0 "static_prop" -1 +end +skeleton +time 0 +0 0.000000 0.000000 0.000000 0.000000 -0.000000 -1.570796 +end +triangles +models/props_backstage/vacum_pipe +0 6.423052 -49.155811 7.785496 1.000000 0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +0 6.423052 -50.888077 -0.000012 1.000000 0.000000 0.000000 0.948745 0.993238 1 0 1.000000 +0 6.423052 -49.768539 -0.000017 1.000000 0.000000 0.000000 0.942388 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.155811 7.785496 1.000000 0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +0 6.423052 -50.261562 7.960636 1.000000 0.000000 0.000000 0.948745 0.944313 1 0 1.000000 +0 6.423052 -50.888077 -0.000012 1.000000 0.000000 0.000000 0.948745 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -47.332703 15.379307 1.000000 0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +0 6.423052 -50.261562 7.960636 1.000000 0.000000 0.000000 0.948745 0.944313 1 0 1.000000 +0 6.423052 -49.155811 7.785496 1.000000 0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -47.332703 15.379307 1.000000 0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +0 6.423052 -48.397442 15.725267 1.000000 0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +0 6.423052 -50.261562 7.960636 1.000000 0.000000 0.000000 0.948745 0.944313 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -44.344101 22.594427 1.000000 0.000000 0.000000 0.942388 0.846478 1 0 1.000000 +0 6.423052 -48.397442 15.725267 1.000000 0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +0 6.423052 -47.332703 15.379307 1.000000 0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -44.344101 22.594427 1.000000 0.000000 0.000000 0.942388 0.846478 1 0 1.000000 +0 6.423052 -45.341614 23.102690 1.000000 0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +0 6.423052 -48.397442 15.725267 1.000000 0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -40.263603 29.253199 1.000000 0.000000 0.000000 0.942388 0.797559 1 0 1.000000 +0 6.423052 -45.341614 23.102690 1.000000 0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +0 6.423052 -44.344101 22.594427 1.000000 0.000000 0.000000 0.942388 0.846478 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -40.263603 29.253199 1.000000 0.000000 0.000000 0.942388 0.797559 1 0 1.000000 +0 6.423052 -41.169327 29.911249 1.000000 0.000000 0.000000 0.948745 0.797558 1 0 1.000000 +0 6.423052 -45.341614 23.102690 1.000000 0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.191681 35.191658 1.000000 -0.000000 0.000000 0.942388 0.748640 1 0 1.000000 +0 6.423052 -41.169327 29.911249 1.000000 0.000000 0.000000 0.948745 0.797558 1 0 1.000000 +0 6.423052 -40.263603 29.253199 1.000000 0.000000 0.000000 0.942388 0.797559 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.191681 35.191658 1.000000 -0.000000 0.000000 0.942388 0.748640 1 0 1.000000 +0 6.423051 -35.983311 35.983295 1.000000 -0.000000 0.000000 0.948745 0.748639 1 0 1.000000 +0 6.423052 -41.169327 29.911249 1.000000 0.000000 0.000000 0.948745 0.797558 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.253223 40.263584 1.000000 0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +0 6.423051 -35.983311 35.983295 1.000000 -0.000000 0.000000 0.948745 0.748639 1 0 1.000000 +0 6.423051 -35.191681 35.191658 1.000000 -0.000000 0.000000 0.942388 0.748640 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.253223 40.263584 1.000000 0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +0 6.423051 -29.911272 41.169312 1.000000 0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +0 6.423051 -35.983311 35.983295 1.000000 -0.000000 0.000000 0.948745 0.748639 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -22.594454 44.344082 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +0 6.423051 -29.911272 41.169312 1.000000 0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +0 6.423051 -29.253223 40.263584 1.000000 0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -22.594454 44.344082 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +0 6.423051 -23.102713 45.341599 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +0 6.423051 -29.911272 41.169312 1.000000 0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.379336 47.332684 1.000000 -0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +0 6.423051 -23.102713 45.341599 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +0 6.423051 -22.594454 44.344082 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.379336 47.332684 1.000000 -0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +0 6.423050 -15.725289 48.397430 1.000000 -0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +0 6.423051 -23.102713 45.341599 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.785528 49.155796 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +0 6.423050 -15.725289 48.397430 1.000000 -0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +0 6.423050 -15.379336 47.332684 1.000000 -0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.785528 49.155796 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +0 6.423050 -7.960659 50.261555 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +0 6.423050 -15.725289 48.397430 1.000000 -0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -0.000017 49.768539 1.000000 0.000000 -0.000000 0.942388 0.494382 1 0 1.000000 +0 6.423050 -7.960659 50.261555 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +0 6.423050 -7.785528 49.155796 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -0.000017 49.768539 1.000000 0.000000 -0.000000 0.942388 0.494382 1 0 1.000000 +0 6.423050 -0.000012 50.888077 1.000000 0.000000 -0.000000 0.948745 0.494382 1 0 1.000000 +0 6.423050 -7.960659 50.261555 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -0.000017 49.768539 0.837572 0.000000 -0.546327 0.859827 0.992252 1 0 1.000000 +0 3.196716 -7.011717 44.270443 0.837571 0.085464 -0.539603 0.891586 0.941843 1 0 1.000000 +0 3.196715 0.000011 44.822258 0.837572 -0.000000 -0.546327 0.891586 0.992252 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -0.000017 49.768539 0.837572 0.000000 -0.546327 0.859827 0.992252 1 0 1.000000 +0 6.423050 -7.785528 49.155796 0.837570 0.085465 -0.539603 0.859827 0.941843 1 0 1.000000 +0 3.196716 -7.011717 44.270443 0.837571 0.085464 -0.539603 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.785528 49.155796 0.837570 0.085465 -0.539603 0.859827 0.941843 1 0 1.000000 +0 3.196716 -13.850816 42.628525 0.837571 0.168824 -0.519590 0.891586 0.892088 1 0 1.000000 +0 3.196716 -7.011717 44.270443 0.837571 0.085464 -0.539603 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.785528 49.155796 0.837570 0.085465 -0.539603 0.859827 0.941843 1 0 1.000000 +0 6.423050 -15.379336 47.332684 0.837571 0.168825 -0.519590 0.859827 0.892088 1 0 1.000000 +0 3.196716 -13.850816 42.628525 0.837571 0.168824 -0.519590 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.379336 47.332684 0.837571 0.168825 -0.519590 0.859827 0.892088 1 0 1.000000 +0 3.196716 -20.348860 39.936954 0.837571 0.248028 -0.486782 0.891586 0.842333 1 0 1.000000 +0 3.196716 -13.850816 42.628525 0.837571 0.168824 -0.519590 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.379336 47.332684 0.837571 0.168825 -0.519590 0.859827 0.892088 1 0 1.000000 +0 6.423051 -22.594454 44.344082 0.837571 0.248028 -0.486782 0.859827 0.842333 1 0 1.000000 +0 3.196716 -20.348860 39.936954 0.837571 0.248028 -0.486782 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -22.594454 44.344082 0.837571 0.248028 -0.486782 0.859827 0.842333 1 0 1.000000 +0 3.196717 -26.345842 36.261997 0.837571 0.321123 -0.441989 0.891586 0.792577 1 0 1.000000 +0 3.196716 -20.348860 39.936954 0.837571 0.248028 -0.486782 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -22.594454 44.344082 0.837571 0.248028 -0.486782 0.859827 0.842333 1 0 1.000000 +0 6.423051 -29.253223 40.263584 0.837571 0.321124 -0.441989 0.859827 0.792577 1 0 1.000000 +0 3.196717 -26.345842 36.261997 0.837571 0.321123 -0.441989 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.253223 40.263584 0.837571 0.321124 -0.441989 0.859827 0.792577 1 0 1.000000 +0 3.196717 -31.694115 31.694159 0.837571 0.386312 -0.386313 0.891586 0.742822 1 0 1.000000 +0 3.196717 -26.345842 36.261997 0.837571 0.321123 -0.441989 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.253223 40.263584 0.837571 0.321124 -0.441989 0.859827 0.792577 1 0 1.000000 +0 6.423051 -35.191681 35.191658 0.837571 0.386313 -0.386313 0.859827 0.742822 1 0 1.000000 +0 3.196717 -31.694115 31.694159 0.837571 0.386312 -0.386313 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.191681 35.191658 0.837571 0.386313 -0.386313 0.859827 0.742822 1 0 1.000000 +0 3.196717 -36.261971 26.345888 0.837571 0.441989 -0.321124 0.891586 0.693066 1 0 1.000000 +0 3.196717 -31.694115 31.694159 0.837571 0.386312 -0.386313 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.191681 35.191658 0.837571 0.386313 -0.386313 0.859827 0.742822 1 0 1.000000 +0 6.423052 -40.263603 29.253199 0.837571 0.441989 -0.321124 0.859827 0.693067 1 0 1.000000 +0 3.196717 -36.261971 26.345888 0.837571 0.441989 -0.321124 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -40.263603 29.253199 0.837571 0.441989 -0.321124 0.859827 0.693067 1 0 1.000000 +0 3.196717 -39.936928 20.348909 0.837571 0.486782 -0.248028 0.891586 0.643312 1 0 1.000000 +0 3.196717 -36.261971 26.345888 0.837571 0.441989 -0.321124 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -40.263603 29.253199 0.837571 0.441989 -0.321124 0.859827 0.693067 1 0 1.000000 +0 6.423052 -44.344101 22.594427 0.837571 0.486782 -0.248028 0.859827 0.643312 1 0 1.000000 +0 3.196717 -39.936928 20.348909 0.837571 0.486782 -0.248028 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -44.344101 22.594427 0.837571 0.486782 -0.248028 0.859827 0.643312 1 0 1.000000 +0 3.196717 -42.628498 13.850865 0.837572 0.519588 -0.168825 0.891586 0.593557 1 0 1.000000 +0 3.196717 -39.936928 20.348909 0.837571 0.486782 -0.248028 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -44.344101 22.594427 0.837571 0.486782 -0.248028 0.859827 0.643312 1 0 1.000000 +0 6.423052 -47.332703 15.379307 0.837572 0.519588 -0.168824 0.859827 0.593557 1 0 1.000000 +0 3.196717 -42.628498 13.850865 0.837572 0.519588 -0.168825 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -47.332703 15.379307 0.837572 0.519588 -0.168824 0.859827 0.593557 1 0 1.000000 +0 3.196717 -44.270432 7.011771 0.837571 0.539602 -0.085465 0.891586 0.543801 1 0 1.000000 +0 3.196717 -42.628498 13.850865 0.837572 0.519588 -0.168825 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -47.332703 15.379307 0.837572 0.519588 -0.168824 0.859827 0.593557 1 0 1.000000 +0 6.423052 -49.155811 7.785496 0.837571 0.539602 -0.085464 0.859827 0.543801 1 0 1.000000 +0 3.196717 -44.270432 7.011771 0.837571 0.539602 -0.085465 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.155811 7.785496 0.837571 0.539602 -0.085464 0.859827 0.543801 1 0 1.000000 +0 3.196717 -44.822258 0.000010 0.837572 0.546327 -0.000001 0.891586 0.495239 1 0 1.000000 +0 3.196717 -44.270432 7.011771 0.837571 0.539602 -0.085465 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.155811 7.785496 0.837571 0.539602 -0.085464 0.859827 0.543801 1 0 1.000000 +0 6.423052 -49.768539 -0.000017 0.837572 0.546327 0.000000 0.859827 0.495239 1 0 1.000000 +0 3.196717 -44.822258 0.000010 0.837572 0.546327 -0.000001 0.891586 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.768539 -0.000017 0.837572 0.546327 0.000000 0.859827 0.992252 1 0 1.000000 +0 3.196718 -44.270443 -7.011717 0.837571 0.539602 0.085464 0.891586 0.941843 1 0 1.000000 +0 3.196717 -44.822258 0.000010 0.837572 0.546327 -0.000001 0.891586 0.992252 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.768539 -0.000017 0.837572 0.546327 0.000000 0.859827 0.992252 1 0 1.000000 +0 6.423052 -49.155800 -7.785528 0.837571 0.539602 0.085465 0.859827 0.941843 1 0 1.000000 +0 3.196718 -44.270443 -7.011717 0.837571 0.539602 0.085464 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.155800 -7.785528 0.837571 0.539602 0.085465 0.859827 0.941843 1 0 1.000000 +0 3.196718 -42.628525 -13.850816 0.837571 0.519590 0.168824 0.891586 0.892088 1 0 1.000000 +0 3.196718 -44.270443 -7.011717 0.837571 0.539602 0.085464 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.155800 -7.785528 0.837571 0.539602 0.085465 0.859827 0.941843 1 0 1.000000 +0 6.423052 -47.332684 -15.379337 0.837571 0.519589 0.168825 0.859827 0.892088 1 0 1.000000 +0 3.196718 -42.628525 -13.850816 0.837571 0.519590 0.168824 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -47.332684 -15.379337 0.837571 0.519589 0.168825 0.859827 0.892088 1 0 1.000000 +0 3.196717 -39.936954 -20.348860 0.837571 0.486782 0.248028 0.891586 0.842333 1 0 1.000000 +0 3.196718 -42.628525 -13.850816 0.837571 0.519590 0.168824 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -47.332684 -15.379337 0.837571 0.519589 0.168825 0.859827 0.892088 1 0 1.000000 +0 6.423052 -44.344086 -22.594454 0.837571 0.486782 0.248028 0.859827 0.842333 1 0 1.000000 +0 3.196717 -39.936954 -20.348860 0.837571 0.486782 0.248028 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -44.344086 -22.594454 0.837571 0.486782 0.248028 0.859827 0.842333 1 0 1.000000 +0 3.196717 -36.261997 -26.345842 0.837571 0.441989 0.321123 0.891586 0.792577 1 0 1.000000 +0 3.196717 -39.936954 -20.348860 0.837571 0.486782 0.248028 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -44.344086 -22.594454 0.837571 0.486782 0.248028 0.859827 0.842333 1 0 1.000000 +0 6.423052 -40.263584 -29.253223 0.837571 0.441989 0.321124 0.859827 0.792577 1 0 1.000000 +0 3.196717 -36.261997 -26.345842 0.837571 0.441989 0.321123 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -40.263584 -29.253223 0.837571 0.441989 0.321124 0.859827 0.792577 1 0 1.000000 +0 3.196717 -31.694159 -31.694115 0.837571 0.386313 0.386312 0.891586 0.742822 1 0 1.000000 +0 3.196717 -36.261997 -26.345842 0.837571 0.441989 0.321123 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -40.263584 -29.253223 0.837571 0.441989 0.321124 0.859827 0.792577 1 0 1.000000 +0 6.423051 -35.191662 -35.191681 0.837571 0.386313 0.386313 0.859827 0.742822 1 0 1.000000 +0 3.196717 -31.694159 -31.694115 0.837571 0.386313 0.386312 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.191662 -35.191681 0.837571 0.386313 0.386313 0.859827 0.742822 1 0 1.000000 +0 3.196717 -26.345888 -36.261971 0.837571 0.321124 0.441988 0.891586 0.693066 1 0 1.000000 +0 3.196717 -31.694159 -31.694115 0.837571 0.386313 0.386312 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.191662 -35.191681 0.837571 0.386313 0.386313 0.859827 0.742822 1 0 1.000000 +0 6.423051 -29.253199 -40.263603 0.837571 0.321123 0.441989 0.859827 0.693067 1 0 1.000000 +0 3.196717 -26.345888 -36.261971 0.837571 0.321124 0.441988 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.253199 -40.263603 0.837571 0.321123 0.441989 0.859827 0.693067 1 0 1.000000 +0 3.196716 -20.348909 -39.936928 0.837571 0.248028 0.486782 0.891586 0.643312 1 0 1.000000 +0 3.196717 -26.345888 -36.261971 0.837571 0.321124 0.441988 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.253199 -40.263603 0.837571 0.321123 0.441989 0.859827 0.693067 1 0 1.000000 +0 6.423051 -22.594429 -44.344105 0.837571 0.248027 0.486782 0.859827 0.643312 1 0 1.000000 +0 3.196716 -20.348909 -39.936928 0.837571 0.248028 0.486782 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -22.594429 -44.344105 0.837571 0.248027 0.486782 0.859827 0.643312 1 0 1.000000 +0 3.196716 -13.850865 -42.628498 0.837572 0.168825 0.519588 0.891586 0.593557 1 0 1.000000 +0 3.196716 -20.348909 -39.936928 0.837571 0.248028 0.486782 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -22.594429 -44.344105 0.837571 0.248027 0.486782 0.859827 0.643312 1 0 1.000000 +0 6.423050 -15.379307 -47.332703 0.837572 0.168825 0.519588 0.859827 0.593557 1 0 1.000000 +0 3.196716 -13.850865 -42.628498 0.837572 0.168825 0.519588 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.379307 -47.332703 0.837572 0.168825 0.519588 0.859827 0.593557 1 0 1.000000 +0 3.196715 -7.011771 -44.270432 0.837572 0.085464 0.539601 0.891586 0.543801 1 0 1.000000 +0 3.196716 -13.850865 -42.628498 0.837572 0.168825 0.519588 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.379307 -47.332703 0.837572 0.168825 0.519588 0.859827 0.593557 1 0 1.000000 +0 6.423050 -7.785496 -49.155815 0.837572 0.085464 0.539601 0.859827 0.543801 1 0 1.000000 +0 3.196715 -7.011771 -44.270432 0.837572 0.085464 0.539601 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.785496 -49.155815 0.837572 0.085464 0.539601 0.859827 0.543801 1 0 1.000000 +0 3.196715 -0.000010 -44.822258 0.837572 0.000001 0.546327 0.891586 0.495239 1 0 1.000000 +0 3.196715 -7.011771 -44.270432 0.837572 0.085464 0.539601 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.785496 -49.155815 0.837572 0.085464 0.539601 0.859827 0.543801 1 0 1.000000 +0 6.423050 0.000017 -49.768539 0.837572 -0.000000 0.546327 0.859827 0.495239 1 0 1.000000 +0 3.196715 -0.000010 -44.822258 0.837572 0.000001 0.546327 0.891586 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 0.000017 -49.768539 0.837572 -0.000000 0.546327 0.859827 0.992252 1 0 1.000000 +0 3.196715 7.011717 -44.270443 0.837571 -0.085464 0.539602 0.891586 0.941843 1 0 1.000000 +0 3.196715 -0.000010 -44.822258 0.837572 0.000001 0.546327 0.891586 0.992252 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 0.000017 -49.768539 0.837572 -0.000000 0.546327 0.859827 0.992252 1 0 1.000000 +0 6.423049 7.785529 -49.155800 0.837571 -0.085465 0.539603 0.859827 0.941843 1 0 1.000000 +0 3.196715 7.011717 -44.270443 0.837571 -0.085464 0.539602 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.785529 -49.155800 0.837571 -0.085465 0.539603 0.859827 0.941843 1 0 1.000000 +0 3.196715 13.850816 -42.628525 0.837571 -0.168824 0.519590 0.891586 0.892088 1 0 1.000000 +0 3.196715 7.011717 -44.270443 0.837571 -0.085464 0.539602 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.785529 -49.155800 0.837571 -0.085465 0.539603 0.859827 0.941843 1 0 1.000000 +0 6.423049 15.379337 -47.332684 0.837571 -0.168825 0.519589 0.859827 0.892088 1 0 1.000000 +0 3.196715 13.850816 -42.628525 0.837571 -0.168824 0.519590 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.379337 -47.332684 0.837571 -0.168825 0.519589 0.859827 0.892088 1 0 1.000000 +0 3.196714 20.348860 -39.936954 0.837571 -0.248028 0.486782 0.891586 0.842333 1 0 1.000000 +0 3.196715 13.850816 -42.628525 0.837571 -0.168824 0.519590 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.379337 -47.332684 0.837571 -0.168825 0.519589 0.859827 0.892088 1 0 1.000000 +0 6.423049 22.594454 -44.344086 0.837571 -0.248028 0.486782 0.859827 0.842333 1 0 1.000000 +0 3.196714 20.348860 -39.936954 0.837571 -0.248028 0.486782 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 22.594454 -44.344086 0.837571 -0.248028 0.486782 0.859827 0.842333 1 0 1.000000 +0 3.196714 26.345842 -36.261997 0.837571 -0.321123 0.441989 0.891586 0.792577 1 0 1.000000 +0 3.196714 20.348860 -39.936954 0.837571 -0.248028 0.486782 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 22.594454 -44.344086 0.837571 -0.248028 0.486782 0.859827 0.842333 1 0 1.000000 +0 6.423048 29.253223 -40.263584 0.837571 -0.321124 0.441989 0.859827 0.792577 1 0 1.000000 +0 3.196714 26.345842 -36.261997 0.837571 -0.321123 0.441989 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.253223 -40.263584 0.837571 -0.321124 0.441989 0.859827 0.792577 1 0 1.000000 +0 3.196714 31.694115 -31.694159 0.837571 -0.386312 0.386313 0.891586 0.742822 1 0 1.000000 +0 3.196714 26.345842 -36.261997 0.837571 -0.321123 0.441989 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.253223 -40.263584 0.837571 -0.321124 0.441989 0.859827 0.792577 1 0 1.000000 +0 6.423048 35.191681 -35.191662 0.837571 -0.386313 0.386312 0.859827 0.742822 1 0 1.000000 +0 3.196714 31.694115 -31.694159 0.837571 -0.386312 0.386313 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.191681 -35.191662 0.837571 -0.386313 0.386312 0.859827 0.742822 1 0 1.000000 +0 3.196714 36.261971 -26.345888 0.837571 -0.441989 0.321124 0.891586 0.693066 1 0 1.000000 +0 3.196714 31.694115 -31.694159 0.837571 -0.386312 0.386313 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.191681 -35.191662 0.837571 -0.386313 0.386312 0.859827 0.742822 1 0 1.000000 +0 6.423048 40.263603 -29.253199 0.837571 -0.441989 0.321124 0.859827 0.693067 1 0 1.000000 +0 3.196714 36.261971 -26.345888 0.837571 -0.441989 0.321124 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 40.263603 -29.253199 0.837571 -0.441989 0.321124 0.859827 0.693067 1 0 1.000000 +0 3.196714 39.936928 -20.348909 0.837571 -0.486782 0.248028 0.891586 0.643312 1 0 1.000000 +0 3.196714 36.261971 -26.345888 0.837571 -0.441989 0.321124 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 40.263603 -29.253199 0.837571 -0.441989 0.321124 0.859827 0.693067 1 0 1.000000 +0 6.423048 44.344105 -22.594429 0.837571 -0.486782 0.248028 0.859827 0.643312 1 0 1.000000 +0 3.196714 39.936928 -20.348909 0.837571 -0.486782 0.248028 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 44.344105 -22.594429 0.837571 -0.486782 0.248028 0.859827 0.643312 1 0 1.000000 +0 3.196713 42.628498 -13.850865 0.837572 -0.519588 0.168825 0.891586 0.593557 1 0 1.000000 +0 3.196714 39.936928 -20.348909 0.837571 -0.486782 0.248028 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 44.344105 -22.594429 0.837571 -0.486782 0.248028 0.859827 0.643312 1 0 1.000000 +0 6.423048 47.332703 -15.379307 0.837572 -0.519588 0.168824 0.859827 0.593557 1 0 1.000000 +0 3.196713 42.628498 -13.850865 0.837572 -0.519588 0.168825 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 47.332703 -15.379307 0.837572 -0.519588 0.168824 0.859827 0.593557 1 0 1.000000 +0 3.196713 44.270432 -7.011771 0.837572 -0.539601 0.085464 0.891586 0.543801 1 0 1.000000 +0 3.196713 42.628498 -13.850865 0.837572 -0.519588 0.168825 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 47.332703 -15.379307 0.837572 -0.519588 0.168824 0.859827 0.593557 1 0 1.000000 +0 6.423048 49.155815 -7.785496 0.837572 -0.539602 0.085464 0.859827 0.543801 1 0 1.000000 +0 3.196713 44.270432 -7.011771 0.837572 -0.539601 0.085464 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.155815 -7.785496 0.837572 -0.539602 0.085464 0.859827 0.543801 1 0 1.000000 +0 3.196713 44.822258 -0.000010 0.837572 -0.546327 0.000001 0.891586 0.495239 1 0 1.000000 +0 3.196713 44.270432 -7.011771 0.837572 -0.539601 0.085464 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.155815 -7.785496 0.837572 -0.539602 0.085464 0.859827 0.543801 1 0 1.000000 +0 6.423048 49.768539 0.000017 0.837572 -0.546328 -0.000000 0.859827 0.495239 1 0 1.000000 +0 3.196713 44.822258 -0.000010 0.837572 -0.546327 0.000001 0.891586 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.768539 0.000017 0.837572 -0.546328 -0.000000 0.819723 0.992252 1 0 1.000000 +0 3.196714 44.270443 7.011717 0.837571 -0.539602 -0.085464 0.851482 0.941843 1 0 1.000000 +0 3.196713 44.822258 -0.000010 0.837572 -0.546327 0.000001 0.851482 0.992252 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.768539 0.000017 0.837572 -0.546328 -0.000000 0.819723 0.992252 1 0 1.000000 +0 6.423048 49.155800 7.785528 0.837571 -0.539602 -0.085465 0.819723 0.941843 1 0 1.000000 +0 3.196714 44.270443 7.011717 0.837571 -0.539602 -0.085464 0.851482 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.155800 7.785528 0.837571 -0.539602 -0.085465 0.819723 0.941843 1 0 1.000000 +0 3.196714 42.628525 13.850816 0.837571 -0.519590 -0.168824 0.851482 0.892088 1 0 1.000000 +0 3.196714 44.270443 7.011717 0.837571 -0.539602 -0.085464 0.851482 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.155800 7.785528 0.837571 -0.539602 -0.085465 0.819723 0.941843 1 0 1.000000 +0 6.423048 47.332684 15.379337 0.837571 -0.519590 -0.168825 0.819723 0.892088 1 0 1.000000 +0 3.196714 42.628525 13.850816 0.837571 -0.519590 -0.168824 0.851482 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 47.332684 15.379337 0.837571 -0.519590 -0.168825 0.819723 0.892088 1 0 1.000000 +0 3.196714 39.936954 20.348860 0.837571 -0.486782 -0.248028 0.851482 0.842333 1 0 1.000000 +0 3.196714 42.628525 13.850816 0.837571 -0.519590 -0.168824 0.851482 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 47.332684 15.379337 0.837571 -0.519590 -0.168825 0.819723 0.892088 1 0 1.000000 +0 6.423048 44.344086 22.594454 0.837571 -0.486782 -0.248028 0.819723 0.842333 1 0 1.000000 +0 3.196714 39.936954 20.348860 0.837571 -0.486782 -0.248028 0.851482 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 44.344086 22.594454 0.837571 -0.486782 -0.248028 0.819723 0.842333 1 0 1.000000 +0 3.196714 36.261997 26.345842 0.837571 -0.441989 -0.321123 0.851482 0.792577 1 0 1.000000 +0 3.196714 39.936954 20.348860 0.837571 -0.486782 -0.248028 0.851482 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 44.344086 22.594454 0.837571 -0.486782 -0.248028 0.819723 0.842333 1 0 1.000000 +0 6.423048 40.263584 29.253223 0.837571 -0.441989 -0.321124 0.819723 0.792577 1 0 1.000000 +0 3.196714 36.261997 26.345842 0.837571 -0.441989 -0.321123 0.851482 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 40.263584 29.253223 0.837571 -0.441989 -0.321124 0.819723 0.792577 1 0 1.000000 +0 3.196714 31.694159 31.694115 0.837571 -0.386313 -0.386312 0.851482 0.742822 1 0 1.000000 +0 3.196714 36.261997 26.345842 0.837571 -0.441989 -0.321123 0.851482 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 40.263584 29.253223 0.837571 -0.441989 -0.321124 0.819723 0.792577 1 0 1.000000 +0 6.423048 35.191662 35.191681 0.837571 -0.386313 -0.386313 0.819723 0.742822 1 0 1.000000 +0 3.196714 31.694159 31.694115 0.837571 -0.386313 -0.386312 0.851482 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.191662 35.191681 0.837571 -0.386313 -0.386313 0.819723 0.742822 1 0 1.000000 +0 3.196714 26.345888 36.261971 0.837571 -0.321124 -0.441988 0.851482 0.693066 1 0 1.000000 +0 3.196714 31.694159 31.694115 0.837571 -0.386313 -0.386312 0.851482 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.191662 35.191681 0.837571 -0.386313 -0.386313 0.819723 0.742822 1 0 1.000000 +0 6.423048 29.253199 40.263603 0.837571 -0.321124 -0.441989 0.819723 0.693067 1 0 1.000000 +0 3.196714 26.345888 36.261971 0.837571 -0.321124 -0.441988 0.851482 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.253199 40.263603 0.837571 -0.321124 -0.441989 0.819723 0.693067 1 0 1.000000 +0 3.196714 20.348909 39.936928 0.837571 -0.248028 -0.486782 0.851482 0.643312 1 0 1.000000 +0 3.196714 26.345888 36.261971 0.837571 -0.321124 -0.441988 0.851482 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.253199 40.263603 0.837571 -0.321124 -0.441989 0.819723 0.693067 1 0 1.000000 +0 6.423049 22.594429 44.344105 0.837571 -0.248027 -0.486782 0.819723 0.643312 1 0 1.000000 +0 3.196714 20.348909 39.936928 0.837571 -0.248028 -0.486782 0.851482 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 22.594429 44.344105 0.837571 -0.248027 -0.486782 0.819723 0.643312 1 0 1.000000 +0 3.196714 13.850865 42.628498 0.837572 -0.168825 -0.519588 0.851482 0.593557 1 0 1.000000 +0 3.196714 20.348909 39.936928 0.837571 -0.248028 -0.486782 0.851482 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 22.594429 44.344105 0.837571 -0.248027 -0.486782 0.819723 0.643312 1 0 1.000000 +0 6.423049 15.379307 47.332703 0.837572 -0.168824 -0.519588 0.819723 0.593557 1 0 1.000000 +0 3.196714 13.850865 42.628498 0.837572 -0.168825 -0.519588 0.851482 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.379307 47.332703 0.837572 -0.168824 -0.519588 0.819723 0.593557 1 0 1.000000 +0 3.196715 7.011771 44.270432 0.837572 -0.085464 -0.539601 0.851482 0.543801 1 0 1.000000 +0 3.196714 13.850865 42.628498 0.837572 -0.168825 -0.519588 0.851482 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.379307 47.332703 0.837572 -0.168824 -0.519588 0.819723 0.593557 1 0 1.000000 +0 6.423049 7.785497 49.155815 0.837572 -0.085464 -0.539601 0.819723 0.543801 1 0 1.000000 +0 3.196715 7.011771 44.270432 0.837572 -0.085464 -0.539601 0.851482 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.785497 49.155815 0.837572 -0.085464 -0.539601 0.819723 0.543801 1 0 1.000000 +0 3.196715 0.000011 44.822258 0.837572 -0.000000 -0.546327 0.851482 0.495239 1 0 1.000000 +0 3.196715 7.011771 44.270432 0.837572 -0.085464 -0.539601 0.851482 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.785497 49.155815 0.837572 -0.085464 -0.539601 0.819723 0.543801 1 0 1.000000 +0 6.423050 -0.000017 49.768539 0.837572 0.000000 -0.546327 0.819723 0.495239 1 0 1.000000 +0 3.196715 0.000011 44.822258 0.837572 -0.000000 -0.546327 0.851482 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -0.000012 50.888077 -1.000000 0.000000 0.000000 0.989350 0.993238 1 0 1.000000 +0 0.000000 7.785496 49.155815 -1.000000 -0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +0 0.000000 -0.000017 49.768539 -1.000000 0.000000 0.000000 0.995707 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -0.000012 50.888077 -1.000000 0.000000 0.000000 0.989350 0.993238 1 0 1.000000 +0 0.000000 7.960636 50.261566 -1.000000 -0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 0.000000 7.785496 49.155815 -1.000000 -0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 7.960636 50.261566 -1.000000 -0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 -0.000004 15.379307 47.332703 -1.000000 -0.000001 -0.000001 0.995707 0.895389 1 0 1.000000 +0 0.000000 7.785496 49.155815 -1.000000 -0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 7.960636 50.261566 -1.000000 -0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 -0.000005 15.725267 48.397442 -1.000000 -0.000001 -0.000001 0.989350 0.895389 1 0 1.000000 +0 -0.000004 15.379307 47.332703 -1.000000 -0.000001 -0.000001 0.995707 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 15.725267 48.397442 -1.000000 -0.000001 -0.000001 0.989350 0.895389 1 0 1.000000 +0 -0.000005 22.594429 44.344105 -1.000000 -0.000000 -0.000000 0.995707 0.846470 1 0 1.000000 +0 -0.000004 15.379307 47.332703 -1.000000 -0.000001 -0.000001 0.995707 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 15.725267 48.397442 -1.000000 -0.000001 -0.000001 0.989350 0.895389 1 0 1.000000 +0 -0.000005 23.102692 45.341614 -1.000000 0.000000 0.000000 0.989350 0.846471 1 0 1.000000 +0 -0.000005 22.594429 44.344105 -1.000000 -0.000000 -0.000000 0.995707 0.846470 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 23.102692 45.341614 -1.000000 0.000000 0.000000 0.989350 0.846471 1 0 1.000000 +0 -0.000005 29.253199 40.263603 -1.000000 0.000002 0.000003 0.995707 0.797552 1 0 1.000000 +0 -0.000005 22.594429 44.344105 -1.000000 -0.000000 -0.000000 0.995707 0.846470 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 23.102692 45.341614 -1.000000 0.000000 0.000000 0.989350 0.846471 1 0 1.000000 +0 -0.000001 29.911249 41.169327 -1.000000 0.000002 0.000003 0.989350 0.797553 1 0 1.000000 +0 -0.000005 29.253199 40.263603 -1.000000 0.000002 0.000003 0.995707 0.797552 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000001 29.911249 41.169327 -1.000000 0.000002 0.000003 0.989350 0.797553 1 0 1.000000 +0 -0.000005 35.191662 35.191681 -1.000000 0.000000 0.000000 0.995707 0.748634 1 0 1.000000 +0 -0.000005 29.253199 40.263603 -1.000000 0.000002 0.000003 0.995707 0.797552 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000001 29.911249 41.169327 -1.000000 0.000002 0.000003 0.989350 0.797553 1 0 1.000000 +0 -0.000005 35.983295 35.983315 -1.000000 -0.000000 -0.000000 0.989350 0.748635 1 0 1.000000 +0 -0.000005 35.191662 35.191681 -1.000000 0.000000 0.000000 0.995707 0.748634 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 35.983295 35.983315 -1.000000 -0.000000 -0.000000 0.989350 0.748635 1 0 1.000000 +0 -0.000002 40.263584 29.253223 -1.000000 -0.000003 -0.000002 0.995707 0.699716 1 0 1.000000 +0 -0.000005 35.191662 35.191681 -1.000000 0.000000 0.000000 0.995707 0.748634 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 35.983295 35.983315 -1.000000 -0.000000 -0.000000 0.989350 0.748635 1 0 1.000000 +0 -0.000006 41.169312 29.911272 -1.000000 -0.000003 -0.000002 0.989350 0.699717 1 0 1.000000 +0 -0.000002 40.263584 29.253223 -1.000000 -0.000003 -0.000002 0.995707 0.699716 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 41.169312 29.911272 -1.000000 -0.000003 -0.000002 0.989350 0.699717 1 0 1.000000 +0 -0.000002 44.344086 22.594454 -1.000000 -0.000000 -0.000000 0.995707 0.650798 1 0 1.000000 +0 -0.000002 40.263584 29.253223 -1.000000 -0.000003 -0.000002 0.995707 0.699716 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 41.169312 29.911272 -1.000000 -0.000003 -0.000002 0.989350 0.699717 1 0 1.000000 +0 -0.000002 45.341602 23.102713 -1.000000 0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 -0.000002 44.344086 22.594454 -1.000000 -0.000000 -0.000000 0.995707 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 45.341602 23.102713 -1.000000 0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 -0.000006 47.332684 15.379337 -1.000000 -0.000000 -0.000000 0.995707 0.601879 1 0 1.000000 +0 -0.000002 44.344086 22.594454 -1.000000 -0.000000 -0.000000 0.995707 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 45.341602 23.102713 -1.000000 0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 -0.000006 48.397430 15.725290 -1.000000 -0.000000 -0.000000 0.989350 0.601879 1 0 1.000000 +0 -0.000006 47.332684 15.379337 -1.000000 -0.000000 -0.000000 0.995707 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 48.397430 15.725290 -1.000000 -0.000000 -0.000000 0.989350 0.601879 1 0 1.000000 +0 -0.000002 49.155800 7.785528 -1.000000 -0.000003 -0.000000 0.995707 0.552960 1 0 1.000000 +0 -0.000006 47.332684 15.379337 -1.000000 -0.000000 -0.000000 0.995707 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 48.397430 15.725290 -1.000000 -0.000000 -0.000000 0.989350 0.601879 1 0 1.000000 +0 -0.000006 50.261555 7.960659 -1.000000 -0.000003 -0.000000 0.989350 0.552961 1 0 1.000000 +0 -0.000002 49.155800 7.785528 -1.000000 -0.000003 -0.000000 0.995707 0.552960 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 50.261555 7.960659 -1.000000 -0.000003 -0.000000 0.989350 0.552961 1 0 1.000000 +0 -0.000006 49.768539 0.000017 -1.000000 0.000003 -0.000000 0.995707 0.494382 1 0 1.000000 +0 -0.000002 49.155800 7.785528 -1.000000 -0.000003 -0.000000 0.995707 0.552960 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 50.261555 7.960659 -1.000000 -0.000003 -0.000000 0.989350 0.552961 1 0 1.000000 +0 -0.000002 50.888077 0.000012 -1.000000 0.000003 -0.000000 0.989350 0.494382 1 0 1.000000 +0 -0.000006 49.768539 0.000017 -1.000000 0.000003 -0.000000 0.995707 0.494382 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -0.000012 50.888077 0.000000 -0.000001 1.000000 0.948745 0.993238 1 0 1.000000 +0 0.000000 7.960636 50.261566 0.000000 0.156434 0.987688 0.989350 0.944308 1 0 1.000000 +0 0.000000 -0.000012 50.888077 0.000000 -0.000001 1.000000 0.989350 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -0.000012 50.888077 0.000000 -0.000001 1.000000 0.948745 0.993238 1 0 1.000000 +0 6.423049 7.960636 50.261566 0.000000 0.156434 0.987688 0.948745 0.944313 1 0 1.000000 +0 0.000000 7.960636 50.261566 0.000000 0.156434 0.987688 0.989350 0.944308 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.725268 48.397442 -0.000000 0.309017 0.951056 0.948745 0.895395 1 0 1.000000 +0 0.000000 7.960636 50.261566 0.000000 0.156434 0.987688 0.989350 0.944308 1 0 1.000000 +0 6.423049 7.960636 50.261566 0.000000 0.156434 0.987688 0.948745 0.944313 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.725268 48.397442 -0.000000 0.309017 0.951056 0.948745 0.895395 1 0 1.000000 +0 -0.000005 15.725267 48.397442 -0.000001 0.309017 0.951057 0.989350 0.895389 1 0 1.000000 +0 0.000000 7.960636 50.261566 0.000000 0.156434 0.987688 0.989350 0.944308 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.725268 48.397442 -0.000000 0.309017 0.951056 0.948745 0.895395 1 0 1.000000 +0 -0.000005 23.102692 45.341614 -0.000000 0.453990 0.891007 0.989350 0.846471 1 0 1.000000 +0 -0.000005 15.725267 48.397442 -0.000001 0.309017 0.951057 0.989350 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.725268 48.397442 -0.000000 0.309017 0.951056 0.948745 0.895395 1 0 1.000000 +0 6.423049 23.102692 45.341614 0.000000 0.453990 0.891007 0.948745 0.846477 1 0 1.000000 +0 -0.000005 23.102692 45.341614 -0.000000 0.453990 0.891007 0.989350 0.846471 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 23.102692 45.341614 0.000000 0.453990 0.891007 0.948745 0.846477 1 0 1.000000 +0 -0.000001 29.911249 41.169327 0.000000 0.587785 0.809017 0.989350 0.797553 1 0 1.000000 +0 -0.000005 23.102692 45.341614 -0.000000 0.453990 0.891007 0.989350 0.846471 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 23.102692 45.341614 0.000000 0.453990 0.891007 0.948745 0.846477 1 0 1.000000 +0 6.423052 29.911249 41.169327 0.000000 0.587785 0.809017 0.948745 0.797558 1 0 1.000000 +0 -0.000001 29.911249 41.169327 0.000000 0.587785 0.809017 0.989350 0.797553 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.983295 35.983315 0.000000 0.707107 0.707107 0.948745 0.748639 1 0 1.000000 +0 -0.000001 29.911249 41.169327 0.000000 0.587785 0.809017 0.989350 0.797553 1 0 1.000000 +0 6.423052 29.911249 41.169327 0.000000 0.587785 0.809017 0.948745 0.797558 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.983295 35.983315 0.000000 0.707107 0.707107 0.948745 0.748639 1 0 1.000000 +0 -0.000005 35.983295 35.983315 0.000000 0.707107 0.707107 0.989350 0.748635 1 0 1.000000 +0 -0.000001 29.911249 41.169327 0.000000 0.587785 0.809017 0.989350 0.797553 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.983295 35.983315 0.000000 0.707107 0.707107 0.948745 0.748639 1 0 1.000000 +0 -0.000006 41.169312 29.911272 0.000000 0.809017 0.587785 0.989350 0.699717 1 0 1.000000 +0 -0.000005 35.983295 35.983315 0.000000 0.707107 0.707107 0.989350 0.748635 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.983295 35.983315 0.000000 0.707107 0.707107 0.948745 0.748639 1 0 1.000000 +0 6.423048 41.169312 29.911272 0.000000 0.809017 0.587785 0.948745 0.699720 1 0 1.000000 +0 -0.000006 41.169312 29.911272 0.000000 0.809017 0.587785 0.989350 0.699717 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 41.169312 29.911272 0.000000 0.809017 0.587785 0.948745 0.699720 1 0 1.000000 +0 -0.000002 45.341602 23.102713 0.000000 0.891007 0.453991 0.989350 0.650798 1 0 1.000000 +0 -0.000006 41.169312 29.911272 0.000000 0.809017 0.587785 0.989350 0.699717 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 41.169312 29.911272 0.000000 0.809017 0.587785 0.948745 0.699720 1 0 1.000000 +0 6.423048 45.341602 23.102713 0.000000 0.891007 0.453991 0.948745 0.650802 1 0 1.000000 +0 -0.000002 45.341602 23.102713 0.000000 0.891007 0.453991 0.989350 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 48.397430 15.725290 0.000000 0.951056 0.309017 0.948745 0.601883 1 0 1.000000 +0 -0.000002 45.341602 23.102713 0.000000 0.891007 0.453991 0.989350 0.650798 1 0 1.000000 +0 6.423048 45.341602 23.102713 0.000000 0.891007 0.453991 0.948745 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 48.397430 15.725290 0.000000 0.951056 0.309017 0.948745 0.601883 1 0 1.000000 +0 -0.000006 48.397430 15.725290 0.000000 0.951056 0.309018 0.989350 0.601879 1 0 1.000000 +0 -0.000002 45.341602 23.102713 0.000000 0.891007 0.453991 0.989350 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 48.397430 15.725290 0.000000 0.951056 0.309017 0.948745 0.601883 1 0 1.000000 +0 -0.000006 50.261555 7.960659 0.000000 0.987688 0.156434 0.989350 0.552961 1 0 1.000000 +0 -0.000006 48.397430 15.725290 0.000000 0.951056 0.309018 0.989350 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 48.397430 15.725290 0.000000 0.951056 0.309017 0.948745 0.601883 1 0 1.000000 +0 6.423048 50.261555 7.960659 0.000000 0.987688 0.156435 0.948745 0.552965 1 0 1.000000 +0 -0.000006 50.261555 7.960659 0.000000 0.987688 0.156434 0.989350 0.552961 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 50.261555 7.960659 0.000000 0.987688 0.156435 0.948745 0.552965 1 0 1.000000 +0 -0.000002 50.888077 0.000012 0.000000 1.000000 0.000001 0.989350 0.494382 1 0 1.000000 +0 -0.000006 50.261555 7.960659 0.000000 0.987688 0.156434 0.989350 0.552961 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 50.261555 7.960659 0.000000 0.987688 0.156435 0.948745 0.552965 1 0 1.000000 +0 6.423048 50.888077 0.000012 0.000000 1.000000 0.000001 0.948745 0.494382 1 0 1.000000 +0 -0.000002 50.888077 0.000012 0.000000 1.000000 0.000001 0.989350 0.494382 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 50.888077 0.000012 -1.000000 0.000003 -0.000000 0.989350 0.993238 1 0 1.000000 +0 -0.000002 49.155815 -7.785496 -1.000000 0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +0 -0.000006 49.768539 0.000017 -1.000000 0.000003 -0.000000 0.995707 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 50.888077 0.000012 -1.000000 0.000003 -0.000000 0.989350 0.993238 1 0 1.000000 +0 -0.000002 50.261566 -7.960636 -1.000000 0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 -0.000002 49.155815 -7.785496 -1.000000 0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 50.261566 -7.960636 -1.000000 0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 -0.000006 47.332703 -15.379307 -1.000000 0.000000 0.000000 0.995707 0.895389 1 0 1.000000 +0 -0.000002 49.155815 -7.785496 -1.000000 0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 50.261566 -7.960636 -1.000000 0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 -0.000006 48.397442 -15.725267 -1.000000 0.000000 0.000000 0.989350 0.895389 1 0 1.000000 +0 -0.000006 47.332703 -15.379307 -1.000000 0.000000 0.000000 0.995707 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 48.397442 -15.725267 -1.000000 0.000000 0.000000 0.989350 0.895389 1 0 1.000000 +0 -0.000006 44.344105 -22.594429 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +0 -0.000006 47.332703 -15.379307 -1.000000 0.000000 0.000000 0.995707 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 48.397442 -15.725267 -1.000000 0.000000 0.000000 0.989350 0.895389 1 0 1.000000 +0 -0.000006 45.341614 -23.102692 -1.000000 0.000000 -0.000000 0.989350 0.846471 1 0 1.000000 +0 -0.000006 44.344105 -22.594429 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 45.341614 -23.102692 -1.000000 0.000000 -0.000000 0.989350 0.846471 1 0 1.000000 +0 -0.000006 40.263603 -29.253199 -1.000000 0.000003 -0.000002 0.995707 0.797552 1 0 1.000000 +0 -0.000006 44.344105 -22.594429 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 45.341614 -23.102692 -1.000000 0.000000 -0.000000 0.989350 0.846471 1 0 1.000000 +0 -0.000002 41.169327 -29.911249 -1.000000 0.000003 -0.000002 0.989350 0.797553 1 0 1.000000 +0 -0.000006 40.263603 -29.253199 -1.000000 0.000003 -0.000002 0.995707 0.797552 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 41.169327 -29.911249 -1.000000 0.000003 -0.000002 0.989350 0.797553 1 0 1.000000 +0 -0.000005 35.191681 -35.191662 -1.000000 0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +0 -0.000006 40.263603 -29.253199 -1.000000 0.000003 -0.000002 0.995707 0.797552 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 41.169327 -29.911249 -1.000000 0.000003 -0.000002 0.989350 0.797553 1 0 1.000000 +0 -0.000005 35.983315 -35.983295 -1.000000 -0.000000 0.000000 0.989350 0.748635 1 0 1.000000 +0 -0.000005 35.191681 -35.191662 -1.000000 0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 35.983315 -35.983295 -1.000000 -0.000000 0.000000 0.989350 0.748635 1 0 1.000000 +0 -0.000001 29.253223 -40.263584 -1.000000 -0.000002 0.000003 0.995707 0.699716 1 0 1.000000 +0 -0.000005 35.191681 -35.191662 -1.000000 0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 35.983315 -35.983295 -1.000000 -0.000000 0.000000 0.989350 0.748635 1 0 1.000000 +0 -0.000005 29.911272 -41.169312 -1.000000 -0.000002 0.000003 0.989350 0.699717 1 0 1.000000 +0 -0.000001 29.253223 -40.263584 -1.000000 -0.000002 0.000003 0.995707 0.699716 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 29.911272 -41.169312 -1.000000 -0.000002 0.000003 0.989350 0.699717 1 0 1.000000 +0 -0.000001 22.594454 -44.344086 -1.000000 -0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +0 -0.000001 29.253223 -40.263584 -1.000000 -0.000002 0.000003 0.995707 0.699716 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 29.911272 -41.169312 -1.000000 -0.000002 0.000003 0.989350 0.699717 1 0 1.000000 +0 -0.000001 23.102713 -45.341602 -1.000000 -0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 -0.000001 22.594454 -44.344086 -1.000000 -0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000001 23.102713 -45.341602 -1.000000 -0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 -0.000004 15.379337 -47.332684 -1.000000 -0.000000 0.000001 0.995707 0.601879 1 0 1.000000 +0 -0.000001 22.594454 -44.344086 -1.000000 -0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000001 23.102713 -45.341602 -1.000000 -0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 -0.000005 15.725290 -48.397430 -1.000000 -0.000000 0.000001 0.989350 0.601879 1 0 1.000000 +0 -0.000004 15.379337 -47.332684 -1.000000 -0.000000 0.000001 0.995707 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 15.725290 -48.397430 -1.000000 -0.000000 0.000001 0.989350 0.601879 1 0 1.000000 +0 0.000000 7.785528 -49.155800 -1.000000 -0.000000 0.000003 0.995707 0.552960 1 0 1.000000 +0 -0.000004 15.379337 -47.332684 -1.000000 -0.000000 0.000001 0.995707 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 15.725290 -48.397430 -1.000000 -0.000000 0.000001 0.989350 0.601879 1 0 1.000000 +0 -0.000004 7.960659 -50.261555 -1.000000 -0.000000 0.000003 0.989350 0.552961 1 0 1.000000 +0 0.000000 7.785528 -49.155800 -1.000000 -0.000000 0.000003 0.995707 0.552960 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000004 7.960659 -50.261555 -1.000000 -0.000000 0.000003 0.989350 0.552961 1 0 1.000000 +0 -0.000004 0.000017 -49.768539 -1.000000 -0.000000 -0.000003 0.995707 0.494382 1 0 1.000000 +0 0.000000 7.785528 -49.155800 -1.000000 -0.000000 0.000003 0.995707 0.552960 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000004 7.960659 -50.261555 -1.000000 -0.000000 0.000003 0.989350 0.552961 1 0 1.000000 +0 0.000000 0.000012 -50.888077 -1.000000 -0.000000 -0.000003 0.989350 0.494382 1 0 1.000000 +0 -0.000004 0.000017 -49.768539 -1.000000 -0.000000 -0.000003 0.995707 0.494382 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 50.888077 0.000012 0.000000 1.000000 0.000001 0.948745 0.993238 1 0 1.000000 +0 -0.000002 50.261566 -7.960636 -0.000000 0.987688 -0.156434 0.989350 0.944308 1 0 1.000000 +0 -0.000002 50.888077 0.000012 0.000000 1.000000 0.000001 0.989350 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 50.888077 0.000012 0.000000 1.000000 0.000001 0.948745 0.993238 1 0 1.000000 +0 6.423048 50.261566 -7.960636 0.000000 0.987688 -0.156434 0.948745 0.944313 1 0 1.000000 +0 -0.000002 50.261566 -7.960636 -0.000000 0.987688 -0.156434 0.989350 0.944308 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 48.397442 -15.725268 -0.000000 0.951057 -0.309017 0.948745 0.895395 1 0 1.000000 +0 -0.000002 50.261566 -7.960636 -0.000000 0.987688 -0.156434 0.989350 0.944308 1 0 1.000000 +0 6.423048 50.261566 -7.960636 0.000000 0.987688 -0.156434 0.948745 0.944313 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 48.397442 -15.725268 -0.000000 0.951057 -0.309017 0.948745 0.895395 1 0 1.000000 +0 -0.000006 48.397442 -15.725267 -0.000000 0.951057 -0.309017 0.989350 0.895389 1 0 1.000000 +0 -0.000002 50.261566 -7.960636 -0.000000 0.987688 -0.156434 0.989350 0.944308 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 48.397442 -15.725268 -0.000000 0.951057 -0.309017 0.948745 0.895395 1 0 1.000000 +0 -0.000006 45.341614 -23.102692 -0.000000 0.891006 -0.453991 0.989350 0.846471 1 0 1.000000 +0 -0.000006 48.397442 -15.725267 -0.000000 0.951057 -0.309017 0.989350 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 48.397442 -15.725268 -0.000000 0.951057 -0.309017 0.948745 0.895395 1 0 1.000000 +0 6.423048 45.341614 -23.102692 0.000000 0.891006 -0.453991 0.948745 0.846477 1 0 1.000000 +0 -0.000006 45.341614 -23.102692 -0.000000 0.891006 -0.453991 0.989350 0.846471 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 45.341614 -23.102692 0.000000 0.891006 -0.453991 0.948745 0.846477 1 0 1.000000 +0 -0.000002 41.169327 -29.911249 0.000000 0.809017 -0.587785 0.989350 0.797553 1 0 1.000000 +0 -0.000006 45.341614 -23.102692 -0.000000 0.891006 -0.453991 0.989350 0.846471 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 45.341614 -23.102692 0.000000 0.891006 -0.453991 0.948745 0.846477 1 0 1.000000 +0 6.423052 41.169327 -29.911249 0.000000 0.809018 -0.587785 0.948745 0.797558 1 0 1.000000 +0 -0.000002 41.169327 -29.911249 0.000000 0.809017 -0.587785 0.989350 0.797553 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.983315 -35.983295 0.000000 0.707107 -0.707107 0.948745 0.748639 1 0 1.000000 +0 -0.000002 41.169327 -29.911249 0.000000 0.809017 -0.587785 0.989350 0.797553 1 0 1.000000 +0 6.423052 41.169327 -29.911249 0.000000 0.809018 -0.587785 0.948745 0.797558 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.983315 -35.983295 0.000000 0.707107 -0.707107 0.948745 0.748639 1 0 1.000000 +0 -0.000005 35.983315 -35.983295 0.000000 0.707107 -0.707107 0.989350 0.748635 1 0 1.000000 +0 -0.000002 41.169327 -29.911249 0.000000 0.809017 -0.587785 0.989350 0.797553 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.983315 -35.983295 0.000000 0.707107 -0.707107 0.948745 0.748639 1 0 1.000000 +0 -0.000005 29.911272 -41.169312 0.000000 0.587785 -0.809017 0.989350 0.699717 1 0 1.000000 +0 -0.000005 35.983315 -35.983295 0.000000 0.707107 -0.707107 0.989350 0.748635 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.983315 -35.983295 0.000000 0.707107 -0.707107 0.948745 0.748639 1 0 1.000000 +0 6.423048 29.911272 -41.169312 0.000000 0.587785 -0.809017 0.948745 0.699720 1 0 1.000000 +0 -0.000005 29.911272 -41.169312 0.000000 0.587785 -0.809017 0.989350 0.699717 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.911272 -41.169312 0.000000 0.587785 -0.809017 0.948745 0.699720 1 0 1.000000 +0 -0.000001 23.102713 -45.341602 0.000000 0.453990 -0.891007 0.989350 0.650798 1 0 1.000000 +0 -0.000005 29.911272 -41.169312 0.000000 0.587785 -0.809017 0.989350 0.699717 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.911272 -41.169312 0.000000 0.587785 -0.809017 0.948745 0.699720 1 0 1.000000 +0 6.423049 23.102713 -45.341602 0.000000 0.453990 -0.891007 0.948745 0.650802 1 0 1.000000 +0 -0.000001 23.102713 -45.341602 0.000000 0.453990 -0.891007 0.989350 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.725290 -48.397430 -0.000000 0.309017 -0.951056 0.948745 0.601883 1 0 1.000000 +0 -0.000001 23.102713 -45.341602 0.000000 0.453990 -0.891007 0.989350 0.650798 1 0 1.000000 +0 6.423049 23.102713 -45.341602 0.000000 0.453990 -0.891007 0.948745 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.725290 -48.397430 -0.000000 0.309017 -0.951056 0.948745 0.601883 1 0 1.000000 +0 -0.000005 15.725290 -48.397430 0.000000 0.309017 -0.951057 0.989350 0.601879 1 0 1.000000 +0 -0.000001 23.102713 -45.341602 0.000000 0.453990 -0.891007 0.989350 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.725290 -48.397430 -0.000000 0.309017 -0.951056 0.948745 0.601883 1 0 1.000000 +0 -0.000004 7.960659 -50.261555 -0.000000 0.156435 -0.987688 0.989350 0.552961 1 0 1.000000 +0 -0.000005 15.725290 -48.397430 0.000000 0.309017 -0.951057 0.989350 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.725290 -48.397430 -0.000000 0.309017 -0.951056 0.948745 0.601883 1 0 1.000000 +0 6.423049 7.960660 -50.261555 -0.000000 0.156435 -0.987688 0.948745 0.552965 1 0 1.000000 +0 -0.000004 7.960659 -50.261555 -0.000000 0.156435 -0.987688 0.989350 0.552961 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.960660 -50.261555 -0.000000 0.156435 -0.987688 0.948745 0.552965 1 0 1.000000 +0 0.000000 0.000012 -50.888077 0.000000 0.000001 -1.000000 0.989350 0.494382 1 0 1.000000 +0 -0.000004 7.960659 -50.261555 -0.000000 0.156435 -0.987688 0.989350 0.552961 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.960660 -50.261555 -0.000000 0.156435 -0.987688 0.948745 0.552965 1 0 1.000000 +0 6.423050 0.000012 -50.888077 0.000000 0.000001 -1.000000 0.948745 0.494382 1 0 1.000000 +0 0.000000 0.000012 -50.888077 0.000000 0.000001 -1.000000 0.989350 0.494382 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 0.000012 -50.888077 -1.000000 -0.000000 -0.000003 0.989350 0.993238 1 0 1.000000 +0 0.000000 -7.785496 -49.155815 -1.000000 0.000000 -0.000000 0.995707 0.944307 1 0 1.000000 +0 -0.000004 0.000017 -49.768539 -1.000000 -0.000000 -0.000003 0.995707 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 0.000012 -50.888077 -1.000000 -0.000000 -0.000003 0.989350 0.993238 1 0 1.000000 +0 0.000000 -7.960636 -50.261566 -1.000000 0.000000 -0.000000 0.989350 0.944308 1 0 1.000000 +0 0.000000 -7.785496 -49.155815 -1.000000 0.000000 -0.000000 0.995707 0.944307 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -7.960636 -50.261566 -1.000000 0.000000 -0.000000 0.989350 0.944308 1 0 1.000000 +0 -0.000003 -15.379307 -47.332703 -1.000000 0.000000 -0.000000 0.995707 0.895389 1 0 1.000000 +0 0.000000 -7.785496 -49.155815 -1.000000 0.000000 -0.000000 0.995707 0.944307 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -7.960636 -50.261566 -1.000000 0.000000 -0.000000 0.989350 0.944308 1 0 1.000000 +0 -0.000003 -15.725267 -48.397442 -1.000000 0.000000 -0.000000 0.989350 0.895389 1 0 1.000000 +0 -0.000003 -15.379307 -47.332703 -1.000000 0.000000 -0.000000 0.995707 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -15.725267 -48.397442 -1.000000 0.000000 -0.000000 0.989350 0.895389 1 0 1.000000 +0 -0.000003 -22.594429 -44.344105 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +0 -0.000003 -15.379307 -47.332703 -1.000000 0.000000 -0.000000 0.995707 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -15.725267 -48.397442 -1.000000 0.000000 -0.000000 0.989350 0.895389 1 0 1.000000 +0 -0.000003 -23.102692 -45.341614 -1.000000 -0.000000 -0.000000 0.989350 0.846471 1 0 1.000000 +0 -0.000003 -22.594429 -44.344105 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -23.102692 -45.341614 -1.000000 -0.000000 -0.000000 0.989350 0.846471 1 0 1.000000 +0 -0.000003 -29.253199 -40.263603 -1.000000 -0.000002 -0.000003 0.995707 0.797552 1 0 1.000000 +0 -0.000003 -22.594429 -44.344105 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -23.102692 -45.341614 -1.000000 -0.000000 -0.000000 0.989350 0.846471 1 0 1.000000 +0 0.000001 -29.911249 -41.169327 -1.000000 -0.000002 -0.000003 0.989350 0.797553 1 0 1.000000 +0 -0.000003 -29.253199 -40.263603 -1.000000 -0.000002 -0.000003 0.995707 0.797552 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -29.911249 -41.169327 -1.000000 -0.000002 -0.000003 0.989350 0.797553 1 0 1.000000 +0 -0.000002 -35.191662 -35.191681 -1.000000 -0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +0 -0.000003 -29.253199 -40.263603 -1.000000 -0.000002 -0.000003 0.995707 0.797552 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -29.911249 -41.169327 -1.000000 -0.000002 -0.000003 0.989350 0.797553 1 0 1.000000 +0 -0.000002 -35.983295 -35.983315 -1.000000 0.000000 0.000000 0.989350 0.748635 1 0 1.000000 +0 -0.000002 -35.191662 -35.191681 -1.000000 -0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -35.983295 -35.983315 -1.000000 0.000000 0.000000 0.989350 0.748635 1 0 1.000000 +0 0.000002 -40.263584 -29.253223 -1.000000 0.000003 0.000002 0.995707 0.699716 1 0 1.000000 +0 -0.000002 -35.191662 -35.191681 -1.000000 -0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -35.983295 -35.983315 -1.000000 0.000000 0.000000 0.989350 0.748635 1 0 1.000000 +0 -0.000002 -41.169312 -29.911272 -1.000000 0.000003 0.000002 0.989350 0.699717 1 0 1.000000 +0 0.000002 -40.263584 -29.253223 -1.000000 0.000003 0.000002 0.995707 0.699716 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -41.169312 -29.911272 -1.000000 0.000003 0.000002 0.989350 0.699717 1 0 1.000000 +0 0.000002 -44.344086 -22.594454 -1.000000 0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +0 0.000002 -40.263584 -29.253223 -1.000000 0.000003 0.000002 0.995707 0.699716 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -41.169312 -29.911272 -1.000000 0.000003 0.000002 0.989350 0.699717 1 0 1.000000 +0 0.000002 -45.341602 -23.102713 -1.000000 -0.000000 -0.000000 0.989350 0.650798 1 0 1.000000 +0 0.000002 -44.344086 -22.594454 -1.000000 0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -45.341602 -23.102713 -1.000000 -0.000000 -0.000000 0.989350 0.650798 1 0 1.000000 +0 -0.000002 -47.332684 -15.379337 -1.000000 0.000000 0.000000 0.995707 0.601879 1 0 1.000000 +0 0.000002 -44.344086 -22.594454 -1.000000 0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -45.341602 -23.102713 -1.000000 -0.000000 -0.000000 0.989350 0.650798 1 0 1.000000 +0 -0.000002 -48.397430 -15.725290 -1.000000 0.000000 0.000000 0.989350 0.601879 1 0 1.000000 +0 -0.000002 -47.332684 -15.379337 -1.000000 0.000000 0.000000 0.995707 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -48.397430 -15.725290 -1.000000 0.000000 0.000000 0.989350 0.601879 1 0 1.000000 +0 0.000002 -49.155800 -7.785528 -1.000000 0.000003 0.000001 0.995707 0.552960 1 0 1.000000 +0 -0.000002 -47.332684 -15.379337 -1.000000 0.000000 0.000000 0.995707 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -48.397430 -15.725290 -1.000000 0.000000 0.000000 0.989350 0.601879 1 0 1.000000 +0 -0.000002 -50.261555 -7.960659 -1.000000 0.000003 0.000001 0.989350 0.552961 1 0 1.000000 +0 0.000002 -49.155800 -7.785528 -1.000000 0.000003 0.000001 0.995707 0.552960 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -50.261555 -7.960659 -1.000000 0.000003 0.000001 0.989350 0.552961 1 0 1.000000 +0 0.000002 -49.768539 -0.000017 -1.000000 0.000000 0.000000 0.995707 0.494382 1 0 1.000000 +0 0.000002 -49.155800 -7.785528 -1.000000 0.000003 0.000001 0.995707 0.552960 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -50.261555 -7.960659 -1.000000 0.000003 0.000001 0.989350 0.552961 1 0 1.000000 +0 0.000002 -50.888077 -0.000012 -1.000000 0.000000 0.000000 0.989350 0.494382 1 0 1.000000 +0 0.000002 -49.768539 -0.000017 -1.000000 0.000000 0.000000 0.995707 0.494382 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -50.888077 -0.000012 -1.000000 0.000000 0.000000 0.989350 0.993238 1 0 1.000000 +0 0.000002 -49.155811 7.785496 -1.000000 0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +0 0.000002 -49.768539 -0.000017 -1.000000 0.000000 0.000000 0.995707 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -50.888077 -0.000012 -1.000000 0.000000 0.000000 0.989350 0.993238 1 0 1.000000 +0 0.000002 -50.261562 7.960636 -1.000000 0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 0.000002 -49.155811 7.785496 -1.000000 0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -50.261562 7.960636 -1.000000 0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 0.000002 -47.332703 15.379307 -1.000000 0.000000 0.000000 0.995707 0.895389 1 0 1.000000 +0 0.000002 -49.155811 7.785496 -1.000000 0.000000 0.000000 0.995707 0.944307 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -50.261562 7.960636 -1.000000 0.000000 0.000000 0.989350 0.944308 1 0 1.000000 +0 0.000002 -48.397442 15.725267 -1.000000 0.000000 0.000000 0.989350 0.895389 1 0 1.000000 +0 0.000002 -47.332703 15.379307 -1.000000 0.000000 0.000000 0.995707 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -48.397442 15.725267 -1.000000 0.000000 0.000000 0.989350 0.895389 1 0 1.000000 +0 0.000002 -44.344101 22.594427 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +0 0.000002 -47.332703 15.379307 -1.000000 0.000000 0.000000 0.995707 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -48.397442 15.725267 -1.000000 0.000000 0.000000 0.989350 0.895389 1 0 1.000000 +0 0.000002 -45.341614 23.102690 -1.000000 0.000000 0.000000 0.989350 0.846471 1 0 1.000000 +0 0.000002 -44.344101 22.594427 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -45.341614 23.102690 -1.000000 0.000000 0.000000 0.989350 0.846471 1 0 1.000000 +0 0.000002 -40.263603 29.253199 -1.000000 0.000000 0.000000 0.995707 0.797552 1 0 1.000000 +0 0.000002 -44.344101 22.594427 -1.000000 0.000000 0.000000 0.995707 0.846470 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -45.341614 23.102690 -1.000000 0.000000 0.000000 0.989350 0.846471 1 0 1.000000 +0 0.000002 -41.169327 29.911249 -1.000000 0.000000 0.000000 0.989350 0.797553 1 0 1.000000 +0 0.000002 -40.263603 29.253199 -1.000000 0.000000 0.000000 0.995707 0.797552 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -41.169327 29.911249 -1.000000 0.000000 0.000000 0.989350 0.797553 1 0 1.000000 +0 0.000002 -35.191681 35.191658 -1.000000 -0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +0 0.000002 -40.263603 29.253199 -1.000000 0.000000 0.000000 0.995707 0.797552 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -41.169327 29.911249 -1.000000 0.000000 0.000000 0.989350 0.797553 1 0 1.000000 +0 0.000002 -35.983311 35.983295 -1.000000 -0.000000 -0.000000 0.989350 0.748635 1 0 1.000000 +0 0.000002 -35.191681 35.191658 -1.000000 -0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -35.983311 35.983295 -1.000000 -0.000000 -0.000000 0.989350 0.748635 1 0 1.000000 +0 0.000001 -29.253223 40.263584 -1.000000 -0.000000 -0.000000 0.995707 0.699716 1 0 1.000000 +0 0.000002 -35.191681 35.191658 -1.000000 -0.000000 -0.000000 0.995707 0.748634 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -35.983311 35.983295 -1.000000 -0.000000 -0.000000 0.989350 0.748635 1 0 1.000000 +0 0.000001 -29.911272 41.169312 -1.000000 -0.000000 -0.000000 0.989350 0.699717 1 0 1.000000 +0 0.000001 -29.253223 40.263584 -1.000000 -0.000000 -0.000000 0.995707 0.699716 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -29.911272 41.169312 -1.000000 -0.000000 -0.000000 0.989350 0.699717 1 0 1.000000 +0 0.000001 -22.594454 44.344082 -1.000000 -0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +0 0.000001 -29.253223 40.263584 -1.000000 -0.000000 -0.000000 0.995707 0.699716 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -29.911272 41.169312 -1.000000 -0.000000 -0.000000 0.989350 0.699717 1 0 1.000000 +0 0.000001 -23.102713 45.341599 -1.000000 -0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 0.000001 -22.594454 44.344082 -1.000000 -0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -23.102713 45.341599 -1.000000 -0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 0.000001 -15.379336 47.332684 -1.000000 -0.000000 -0.000000 0.995707 0.601879 1 0 1.000000 +0 0.000001 -22.594454 44.344082 -1.000000 -0.000000 0.000000 0.995707 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -23.102713 45.341599 -1.000000 -0.000000 0.000000 0.989350 0.650798 1 0 1.000000 +0 0.000001 -15.725289 48.397430 -1.000000 -0.000000 -0.000000 0.989350 0.601879 1 0 1.000000 +0 0.000001 -15.379336 47.332684 -1.000000 -0.000000 -0.000000 0.995707 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -15.725289 48.397430 -1.000000 -0.000000 -0.000000 0.989350 0.601879 1 0 1.000000 +0 0.000000 -7.785528 49.155796 -1.000000 -0.000000 -0.000000 0.995707 0.552960 1 0 1.000000 +0 0.000001 -15.379336 47.332684 -1.000000 -0.000000 -0.000000 0.995707 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -15.725289 48.397430 -1.000000 -0.000000 -0.000000 0.989350 0.601879 1 0 1.000000 +0 0.000000 -7.960659 50.261555 -1.000000 -0.000000 -0.000000 0.989350 0.552961 1 0 1.000000 +0 0.000000 -7.785528 49.155796 -1.000000 -0.000000 -0.000000 0.995707 0.552960 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -7.960659 50.261555 -1.000000 -0.000000 -0.000000 0.989350 0.552961 1 0 1.000000 +0 0.000000 -0.000017 49.768539 -1.000000 0.000000 0.000000 0.995707 0.494382 1 0 1.000000 +0 0.000000 -7.785528 49.155796 -1.000000 -0.000000 -0.000000 0.995707 0.552960 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -7.960659 50.261555 -1.000000 -0.000000 -0.000000 0.989350 0.552961 1 0 1.000000 +0 0.000000 -0.000012 50.888077 -1.000000 0.000000 0.000000 0.989350 0.494382 1 0 1.000000 +0 0.000000 -0.000017 49.768539 -1.000000 0.000000 0.000000 0.995707 0.494382 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -50.888077 -0.000012 0.000000 -1.000000 -0.000001 0.948745 0.993238 1 0 1.000000 +0 0.000002 -50.261562 7.960636 0.000000 -0.987688 0.156434 0.989350 0.944308 1 0 1.000000 +0 0.000002 -50.888077 -0.000012 0.000000 -1.000000 -0.000001 0.989350 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -50.888077 -0.000012 0.000000 -1.000000 -0.000001 0.948745 0.993238 1 0 1.000000 +0 6.423052 -50.261562 7.960636 0.000000 -0.987688 0.156434 0.948745 0.944313 1 0 1.000000 +0 0.000002 -50.261562 7.960636 0.000000 -0.987688 0.156434 0.989350 0.944308 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -50.261562 7.960636 0.000000 -0.987688 0.156434 0.948745 0.944313 1 0 1.000000 +0 0.000002 -48.397442 15.725267 0.000000 -0.951057 0.309017 0.989350 0.895389 1 0 1.000000 +0 0.000002 -50.261562 7.960636 0.000000 -0.987688 0.156434 0.989350 0.944308 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -50.261562 7.960636 0.000000 -0.987688 0.156434 0.948745 0.944313 1 0 1.000000 +0 6.423052 -48.397442 15.725267 0.000000 -0.951057 0.309017 0.948745 0.895395 1 0 1.000000 +0 0.000002 -48.397442 15.725267 0.000000 -0.951057 0.309017 0.989350 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -48.397442 15.725267 0.000000 -0.951057 0.309017 0.948745 0.895395 1 0 1.000000 +0 0.000002 -45.341614 23.102690 0.000000 -0.891006 0.453991 0.989350 0.846471 1 0 1.000000 +0 0.000002 -48.397442 15.725267 0.000000 -0.951057 0.309017 0.989350 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -48.397442 15.725267 0.000000 -0.951057 0.309017 0.948745 0.895395 1 0 1.000000 +0 6.423052 -45.341614 23.102690 0.000000 -0.891007 0.453990 0.948745 0.846477 1 0 1.000000 +0 0.000002 -45.341614 23.102690 0.000000 -0.891006 0.453991 0.989350 0.846471 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -45.341614 23.102690 0.000000 -0.891007 0.453990 0.948745 0.846477 1 0 1.000000 +0 0.000002 -41.169327 29.911249 0.000000 -0.809017 0.587785 0.989350 0.797553 1 0 1.000000 +0 0.000002 -45.341614 23.102690 0.000000 -0.891006 0.453991 0.989350 0.846471 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -45.341614 23.102690 0.000000 -0.891007 0.453990 0.948745 0.846477 1 0 1.000000 +0 6.423052 -41.169327 29.911249 0.000000 -0.809017 0.587785 0.948745 0.797558 1 0 1.000000 +0 0.000002 -41.169327 29.911249 0.000000 -0.809017 0.587785 0.989350 0.797553 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -41.169327 29.911249 0.000000 -0.809017 0.587785 0.948745 0.797558 1 0 1.000000 +0 0.000002 -35.983311 35.983295 0.000000 -0.707107 0.707107 0.989350 0.748635 1 0 1.000000 +0 0.000002 -41.169327 29.911249 0.000000 -0.809017 0.587785 0.989350 0.797553 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -41.169327 29.911249 0.000000 -0.809017 0.587785 0.948745 0.797558 1 0 1.000000 +0 6.423051 -35.983311 35.983295 0.000000 -0.707107 0.707106 0.948745 0.748639 1 0 1.000000 +0 0.000002 -35.983311 35.983295 0.000000 -0.707107 0.707107 0.989350 0.748635 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.983311 35.983295 0.000000 -0.707107 0.707106 0.948745 0.748639 1 0 1.000000 +0 0.000001 -29.911272 41.169312 0.000000 -0.587785 0.809017 0.989350 0.699717 1 0 1.000000 +0 0.000002 -35.983311 35.983295 0.000000 -0.707107 0.707107 0.989350 0.748635 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.983311 35.983295 0.000000 -0.707107 0.707106 0.948745 0.748639 1 0 1.000000 +0 6.423051 -29.911272 41.169312 0.000000 -0.587785 0.809017 0.948745 0.699720 1 0 1.000000 +0 0.000001 -29.911272 41.169312 0.000000 -0.587785 0.809017 0.989350 0.699717 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.911272 41.169312 0.000000 -0.587785 0.809017 0.948745 0.699720 1 0 1.000000 +0 0.000001 -23.102713 45.341599 0.000000 -0.453991 0.891007 0.989350 0.650798 1 0 1.000000 +0 0.000001 -29.911272 41.169312 0.000000 -0.587785 0.809017 0.989350 0.699717 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.911272 41.169312 0.000000 -0.587785 0.809017 0.948745 0.699720 1 0 1.000000 +0 6.423051 -23.102713 45.341599 0.000000 -0.453990 0.891007 0.948745 0.650802 1 0 1.000000 +0 0.000001 -23.102713 45.341599 0.000000 -0.453991 0.891007 0.989350 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -23.102713 45.341599 0.000000 -0.453990 0.891007 0.948745 0.650802 1 0 1.000000 +0 0.000001 -15.725289 48.397430 0.000000 -0.309017 0.951056 0.989350 0.601879 1 0 1.000000 +0 0.000001 -23.102713 45.341599 0.000000 -0.453991 0.891007 0.989350 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -23.102713 45.341599 0.000000 -0.453990 0.891007 0.948745 0.650802 1 0 1.000000 +0 6.423050 -15.725289 48.397430 0.000000 -0.309017 0.951056 0.948745 0.601883 1 0 1.000000 +0 0.000001 -15.725289 48.397430 0.000000 -0.309017 0.951056 0.989350 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.725289 48.397430 0.000000 -0.309017 0.951056 0.948745 0.601883 1 0 1.000000 +0 0.000000 -7.960659 50.261555 0.000000 -0.156435 0.987688 0.989350 0.552961 1 0 1.000000 +0 0.000001 -15.725289 48.397430 0.000000 -0.309017 0.951056 0.989350 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.725289 48.397430 0.000000 -0.309017 0.951056 0.948745 0.601883 1 0 1.000000 +0 6.423050 -7.960659 50.261555 0.000000 -0.156435 0.987688 0.948745 0.552965 1 0 1.000000 +0 0.000000 -7.960659 50.261555 0.000000 -0.156435 0.987688 0.989350 0.552961 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.960659 50.261555 0.000000 -0.156435 0.987688 0.948745 0.552965 1 0 1.000000 +0 0.000000 -0.000012 50.888077 0.000000 -0.000001 1.000000 0.989350 0.494382 1 0 1.000000 +0 0.000000 -7.960659 50.261555 0.000000 -0.156435 0.987688 0.989350 0.552961 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.960659 50.261555 0.000000 -0.156435 0.987688 0.948745 0.552965 1 0 1.000000 +0 6.423050 -0.000012 50.888077 0.000000 -0.000001 1.000000 0.948745 0.494382 1 0 1.000000 +0 0.000000 -0.000012 50.888077 0.000000 -0.000001 1.000000 0.989350 0.494382 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 0.000012 -50.888077 0.000000 0.000001 -1.000000 0.948745 0.993238 1 0 1.000000 +0 0.000000 -7.960636 -50.261566 0.000000 -0.156434 -0.987688 0.989350 0.944308 1 0 1.000000 +0 0.000000 0.000012 -50.888077 0.000000 0.000001 -1.000000 0.989350 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 0.000012 -50.888077 0.000000 0.000001 -1.000000 0.948745 0.993238 1 0 1.000000 +0 6.423050 -7.960635 -50.261566 0.000001 -0.156434 -0.987688 0.948745 0.944313 1 0 1.000000 +0 0.000000 -7.960636 -50.261566 0.000000 -0.156434 -0.987688 0.989350 0.944308 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.725268 -48.397442 -0.000000 -0.309017 -0.951056 0.948745 0.895395 1 0 1.000000 +0 0.000000 -7.960636 -50.261566 0.000000 -0.156434 -0.987688 0.989350 0.944308 1 0 1.000000 +0 6.423050 -7.960635 -50.261566 0.000001 -0.156434 -0.987688 0.948745 0.944313 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.725268 -48.397442 -0.000000 -0.309017 -0.951056 0.948745 0.895395 1 0 1.000000 +0 -0.000003 -15.725267 -48.397442 -0.000001 -0.309017 -0.951057 0.989350 0.895389 1 0 1.000000 +0 0.000000 -7.960636 -50.261566 0.000000 -0.156434 -0.987688 0.989350 0.944308 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.725268 -48.397442 -0.000000 -0.309017 -0.951056 0.948745 0.895395 1 0 1.000000 +0 -0.000003 -23.102692 -45.341614 -0.000000 -0.453990 -0.891007 0.989350 0.846471 1 0 1.000000 +0 -0.000003 -15.725267 -48.397442 -0.000001 -0.309017 -0.951057 0.989350 0.895389 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.725268 -48.397442 -0.000000 -0.309017 -0.951056 0.948745 0.895395 1 0 1.000000 +0 6.423051 -23.102692 -45.341614 0.000000 -0.453990 -0.891007 0.948745 0.846477 1 0 1.000000 +0 -0.000003 -23.102692 -45.341614 -0.000000 -0.453990 -0.891007 0.989350 0.846471 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -23.102692 -45.341614 0.000000 -0.453990 -0.891007 0.948745 0.846477 1 0 1.000000 +0 0.000001 -29.911249 -41.169327 0.000000 -0.587785 -0.809017 0.989350 0.797553 1 0 1.000000 +0 -0.000003 -23.102692 -45.341614 -0.000000 -0.453990 -0.891007 0.989350 0.846471 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -23.102692 -45.341614 0.000000 -0.453990 -0.891007 0.948745 0.846477 1 0 1.000000 +0 6.423055 -29.911249 -41.169327 0.000000 -0.587785 -0.809017 0.948745 0.797558 1 0 1.000000 +0 0.000001 -29.911249 -41.169327 0.000000 -0.587785 -0.809017 0.989350 0.797553 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.983295 -35.983315 0.000000 -0.707107 -0.707107 0.948745 0.748639 1 0 1.000000 +0 0.000001 -29.911249 -41.169327 0.000000 -0.587785 -0.809017 0.989350 0.797553 1 0 1.000000 +0 6.423055 -29.911249 -41.169327 0.000000 -0.587785 -0.809017 0.948745 0.797558 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.983295 -35.983315 0.000000 -0.707107 -0.707107 0.948745 0.748639 1 0 1.000000 +0 -0.000002 -35.983295 -35.983315 0.000000 -0.707107 -0.707107 0.989350 0.748635 1 0 1.000000 +0 0.000001 -29.911249 -41.169327 0.000000 -0.587785 -0.809017 0.989350 0.797553 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.983295 -35.983315 0.000000 -0.707107 -0.707107 0.948745 0.748639 1 0 1.000000 +0 -0.000002 -41.169312 -29.911272 0.000000 -0.809017 -0.587785 0.989350 0.699717 1 0 1.000000 +0 -0.000002 -35.983295 -35.983315 0.000000 -0.707107 -0.707107 0.989350 0.748635 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.983295 -35.983315 0.000000 -0.707107 -0.707107 0.948745 0.748639 1 0 1.000000 +0 6.423052 -41.169312 -29.911272 0.000000 -0.809017 -0.587786 0.948745 0.699720 1 0 1.000000 +0 -0.000002 -41.169312 -29.911272 0.000000 -0.809017 -0.587785 0.989350 0.699717 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -41.169312 -29.911272 0.000000 -0.809017 -0.587786 0.948745 0.699720 1 0 1.000000 +0 0.000002 -45.341602 -23.102713 0.000000 -0.891007 -0.453990 0.989350 0.650798 1 0 1.000000 +0 -0.000002 -41.169312 -29.911272 0.000000 -0.809017 -0.587785 0.989350 0.699717 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -41.169312 -29.911272 0.000000 -0.809017 -0.587786 0.948745 0.699720 1 0 1.000000 +0 6.423052 -45.341602 -23.102713 0.000000 -0.891007 -0.453991 0.948745 0.650802 1 0 1.000000 +0 0.000002 -45.341602 -23.102713 0.000000 -0.891007 -0.453990 0.989350 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -48.397430 -15.725290 0.000000 -0.951056 -0.309017 0.948745 0.601883 1 0 1.000000 +0 0.000002 -45.341602 -23.102713 0.000000 -0.891007 -0.453990 0.989350 0.650798 1 0 1.000000 +0 6.423052 -45.341602 -23.102713 0.000000 -0.891007 -0.453991 0.948745 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -48.397430 -15.725290 0.000000 -0.951056 -0.309017 0.948745 0.601883 1 0 1.000000 +0 -0.000002 -48.397430 -15.725290 0.000000 -0.951057 -0.309017 0.989350 0.601879 1 0 1.000000 +0 0.000002 -45.341602 -23.102713 0.000000 -0.891007 -0.453990 0.989350 0.650798 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -48.397430 -15.725290 0.000000 -0.951056 -0.309017 0.948745 0.601883 1 0 1.000000 +0 -0.000002 -50.261555 -7.960659 0.000000 -0.987688 -0.156435 0.989350 0.552961 1 0 1.000000 +0 -0.000002 -48.397430 -15.725290 0.000000 -0.951057 -0.309017 0.989350 0.601879 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -48.397430 -15.725290 0.000000 -0.951056 -0.309017 0.948745 0.601883 1 0 1.000000 +0 6.423052 -50.261555 -7.960659 0.000000 -0.987688 -0.156435 0.948745 0.552965 1 0 1.000000 +0 -0.000002 -50.261555 -7.960659 0.000000 -0.987688 -0.156435 0.989350 0.552961 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -50.261555 -7.960659 0.000000 -0.987688 -0.156435 0.948745 0.552965 1 0 1.000000 +0 0.000002 -50.888077 -0.000012 0.000000 -1.000000 -0.000001 0.989350 0.494382 1 0 1.000000 +0 -0.000002 -50.261555 -7.960659 0.000000 -0.987688 -0.156435 0.989350 0.552961 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -50.261555 -7.960659 0.000000 -0.987688 -0.156435 0.948745 0.552965 1 0 1.000000 +0 6.423052 -50.888077 -0.000012 0.000000 -1.000000 -0.000001 0.948745 0.494382 1 0 1.000000 +0 0.000002 -50.888077 -0.000012 0.000000 -1.000000 -0.000001 0.989350 0.494382 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.785496 -49.155815 1.000000 -0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +0 6.423050 0.000012 -50.888077 1.000000 0.000000 -0.000000 0.948745 0.993238 1 0 1.000000 +0 6.423050 0.000017 -49.768539 1.000000 0.000000 0.000000 0.942388 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -7.785496 -49.155815 1.000000 -0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +0 6.423050 -7.960635 -50.261566 1.000000 0.000000 0.000000 0.948745 0.944313 1 0 1.000000 +0 6.423050 0.000012 -50.888077 1.000000 0.000000 -0.000000 0.948745 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.379307 -47.332703 1.000000 -0.000000 -0.000000 0.942388 0.895396 1 0 1.000000 +0 6.423050 -7.960635 -50.261566 1.000000 0.000000 0.000000 0.948745 0.944313 1 0 1.000000 +0 6.423050 -7.785496 -49.155815 1.000000 -0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 -15.379307 -47.332703 1.000000 -0.000000 -0.000000 0.942388 0.895396 1 0 1.000000 +0 6.423050 -15.725268 -48.397442 1.000000 -0.000000 -0.000000 0.948745 0.895395 1 0 1.000000 +0 6.423050 -7.960635 -50.261566 1.000000 0.000000 0.000000 0.948745 0.944313 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -22.594429 -44.344105 1.000000 0.000000 -0.000000 0.942388 0.846478 1 0 1.000000 +0 6.423050 -15.725268 -48.397442 1.000000 -0.000000 -0.000000 0.948745 0.895395 1 0 1.000000 +0 6.423050 -15.379307 -47.332703 1.000000 -0.000000 -0.000000 0.942388 0.895396 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -22.594429 -44.344105 1.000000 0.000000 -0.000000 0.942388 0.846478 1 0 1.000000 +0 6.423051 -23.102692 -45.341614 1.000000 0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +0 6.423050 -15.725268 -48.397442 1.000000 -0.000000 -0.000000 0.948745 0.895395 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.253199 -40.263603 1.000000 0.000002 0.000003 0.942388 0.797559 1 0 1.000000 +0 6.423051 -23.102692 -45.341614 1.000000 0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +0 6.423051 -22.594429 -44.344105 1.000000 0.000000 -0.000000 0.942388 0.846478 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -29.253199 -40.263603 1.000000 0.000002 0.000003 0.942388 0.797559 1 0 1.000000 +0 6.423055 -29.911249 -41.169327 1.000000 0.000002 0.000003 0.948745 0.797558 1 0 1.000000 +0 6.423051 -23.102692 -45.341614 1.000000 0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.191662 -35.191681 1.000000 0.000000 0.000000 0.942388 0.748640 1 0 1.000000 +0 6.423055 -29.911249 -41.169327 1.000000 0.000002 0.000003 0.948745 0.797558 1 0 1.000000 +0 6.423051 -29.253199 -40.263603 1.000000 0.000002 0.000003 0.942388 0.797559 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423051 -35.191662 -35.191681 1.000000 0.000000 0.000000 0.942388 0.748640 1 0 1.000000 +0 6.423051 -35.983295 -35.983315 1.000000 0.000000 0.000000 0.948745 0.748639 1 0 1.000000 +0 6.423055 -29.911249 -41.169327 1.000000 0.000002 0.000003 0.948745 0.797558 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -40.263584 -29.253223 1.000000 0.000000 -0.000000 0.942388 0.699721 1 0 1.000000 +0 6.423051 -35.983295 -35.983315 1.000000 0.000000 0.000000 0.948745 0.748639 1 0 1.000000 +0 6.423051 -35.191662 -35.191681 1.000000 0.000000 0.000000 0.942388 0.748640 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -40.263584 -29.253223 1.000000 0.000000 -0.000000 0.942388 0.699721 1 0 1.000000 +0 6.423052 -41.169312 -29.911272 1.000000 0.000000 -0.000000 0.948745 0.699720 1 0 1.000000 +0 6.423051 -35.983295 -35.983315 1.000000 0.000000 0.000000 0.948745 0.748639 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -44.344086 -22.594454 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +0 6.423052 -41.169312 -29.911272 1.000000 0.000000 -0.000000 0.948745 0.699720 1 0 1.000000 +0 6.423052 -40.263584 -29.253223 1.000000 0.000000 -0.000000 0.942388 0.699721 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -44.344086 -22.594454 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +0 6.423052 -45.341602 -23.102713 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +0 6.423052 -41.169312 -29.911272 1.000000 0.000000 -0.000000 0.948745 0.699720 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -47.332684 -15.379337 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +0 6.423052 -45.341602 -23.102713 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +0 6.423052 -44.344086 -22.594454 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -47.332684 -15.379337 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +0 6.423052 -48.397430 -15.725290 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +0 6.423052 -45.341602 -23.102713 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.155800 -7.785528 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +0 6.423052 -48.397430 -15.725290 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +0 6.423052 -47.332684 -15.379337 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.155800 -7.785528 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +0 6.423052 -50.261555 -7.960659 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +0 6.423052 -48.397430 -15.725290 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.768539 -0.000017 1.000000 0.000000 0.000000 0.942388 0.494382 1 0 1.000000 +0 6.423052 -50.261555 -7.960659 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +0 6.423052 -49.155800 -7.785528 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423052 -49.768539 -0.000017 1.000000 0.000000 0.000000 0.942388 0.494382 1 0 1.000000 +0 6.423052 -50.888077 -0.000012 1.000000 0.000000 0.000000 0.948745 0.494382 1 0 1.000000 +0 6.423052 -50.261555 -7.960659 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.155815 -7.785496 1.000000 -0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +0 6.423048 50.888077 0.000012 1.000000 -0.000000 0.000000 0.948745 0.993238 1 0 1.000000 +0 6.423048 49.768539 0.000017 1.000000 -0.000000 0.000000 0.942388 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.155815 -7.785496 1.000000 -0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +0 6.423048 50.261566 -7.960636 1.000000 -0.000001 0.000000 0.948745 0.944313 1 0 1.000000 +0 6.423048 50.888077 0.000012 1.000000 -0.000000 0.000000 0.948745 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 47.332703 -15.379307 1.000000 -0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +0 6.423048 50.261566 -7.960636 1.000000 -0.000001 0.000000 0.948745 0.944313 1 0 1.000000 +0 6.423048 49.155815 -7.785496 1.000000 -0.000000 0.000000 0.942388 0.944315 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 47.332703 -15.379307 1.000000 -0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +0 6.423048 48.397442 -15.725268 1.000000 -0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +0 6.423048 50.261566 -7.960636 1.000000 -0.000001 0.000000 0.948745 0.944313 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 44.344105 -22.594429 1.000000 -0.000000 0.000000 0.942388 0.846478 1 0 1.000000 +0 6.423048 48.397442 -15.725268 1.000000 -0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +0 6.423048 47.332703 -15.379307 1.000000 -0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 44.344105 -22.594429 1.000000 -0.000000 0.000000 0.942388 0.846478 1 0 1.000000 +0 6.423048 45.341614 -23.102692 1.000000 -0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +0 6.423048 48.397442 -15.725268 1.000000 -0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 40.263603 -29.253199 1.000000 -0.000002 0.000002 0.942388 0.797559 1 0 1.000000 +0 6.423048 45.341614 -23.102692 1.000000 -0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +0 6.423048 44.344105 -22.594429 1.000000 -0.000000 0.000000 0.942388 0.846478 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 40.263603 -29.253199 1.000000 -0.000002 0.000002 0.942388 0.797559 1 0 1.000000 +0 6.423052 41.169327 -29.911249 1.000000 -0.000002 0.000002 0.948745 0.797558 1 0 1.000000 +0 6.423048 45.341614 -23.102692 1.000000 -0.000000 0.000000 0.948745 0.846477 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.191681 -35.191662 1.000000 0.000000 -0.000000 0.942388 0.748640 1 0 1.000000 +0 6.423052 41.169327 -29.911249 1.000000 -0.000002 0.000002 0.948745 0.797558 1 0 1.000000 +0 6.423048 40.263603 -29.253199 1.000000 -0.000002 0.000002 0.942388 0.797559 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.191681 -35.191662 1.000000 0.000000 -0.000000 0.942388 0.748640 1 0 1.000000 +0 6.423048 35.983315 -35.983295 1.000000 0.000000 -0.000000 0.948745 0.748639 1 0 1.000000 +0 6.423052 41.169327 -29.911249 1.000000 -0.000002 0.000002 0.948745 0.797558 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.253223 -40.263584 1.000000 -0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +0 6.423048 35.983315 -35.983295 1.000000 0.000000 -0.000000 0.948745 0.748639 1 0 1.000000 +0 6.423048 35.191681 -35.191662 1.000000 0.000000 -0.000000 0.942388 0.748640 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.253223 -40.263584 1.000000 -0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +0 6.423048 29.911272 -41.169312 1.000000 -0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +0 6.423048 35.983315 -35.983295 1.000000 0.000000 -0.000000 0.948745 0.748639 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 22.594454 -44.344086 1.000000 0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +0 6.423048 29.911272 -41.169312 1.000000 -0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +0 6.423048 29.253223 -40.263584 1.000000 -0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 22.594454 -44.344086 1.000000 0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +0 6.423049 23.102713 -45.341602 1.000000 0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +0 6.423048 29.911272 -41.169312 1.000000 -0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.379337 -47.332684 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +0 6.423049 23.102713 -45.341602 1.000000 0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +0 6.423049 22.594454 -44.344086 1.000000 0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.379337 -47.332684 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +0 6.423049 15.725290 -48.397430 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +0 6.423049 23.102713 -45.341602 1.000000 0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.785529 -49.155800 1.000000 0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +0 6.423049 15.725290 -48.397430 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +0 6.423049 15.379337 -47.332684 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.785529 -49.155800 1.000000 0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +0 6.423049 7.960660 -50.261555 1.000000 0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +0 6.423049 15.725290 -48.397430 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 0.000017 -49.768539 1.000000 0.000000 0.000000 0.942388 0.494382 1 0 1.000000 +0 6.423049 7.960660 -50.261555 1.000000 0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +0 6.423049 7.785529 -49.155800 1.000000 0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423050 0.000017 -49.768539 1.000000 0.000000 0.000000 0.942388 0.494382 1 0 1.000000 +0 6.423050 0.000012 -50.888077 1.000000 0.000000 -0.000000 0.948745 0.494382 1 0 1.000000 +0 6.423049 7.960660 -50.261555 1.000000 0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.785497 49.155815 1.000000 0.000000 -0.000000 0.942388 0.944315 1 0 1.000000 +0 6.423050 -0.000012 50.888077 1.000000 0.000000 -0.000000 0.948745 0.993238 1 0 1.000000 +0 6.423050 -0.000017 49.768539 1.000000 0.000000 -0.000000 0.942388 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 7.785497 49.155815 1.000000 0.000000 -0.000000 0.942388 0.944315 1 0 1.000000 +0 6.423049 7.960636 50.261566 1.000000 0.000000 -0.000000 0.948745 0.944313 1 0 1.000000 +0 6.423050 -0.000012 50.888077 1.000000 0.000000 -0.000000 0.948745 0.993238 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.379307 47.332703 1.000000 -0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +0 6.423049 7.960636 50.261566 1.000000 0.000000 -0.000000 0.948745 0.944313 1 0 1.000000 +0 6.423049 7.785497 49.155815 1.000000 0.000000 -0.000000 0.942388 0.944315 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 15.379307 47.332703 1.000000 -0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +0 6.423049 15.725268 48.397442 1.000000 -0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +0 6.423049 7.960636 50.261566 1.000000 0.000000 -0.000000 0.948745 0.944313 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 22.594429 44.344105 1.000000 0.000000 -0.000000 0.942388 0.846478 1 0 1.000000 +0 6.423049 15.725268 48.397442 1.000000 -0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +0 6.423049 15.379307 47.332703 1.000000 -0.000000 0.000000 0.942388 0.895396 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423049 22.594429 44.344105 1.000000 0.000000 -0.000000 0.942388 0.846478 1 0 1.000000 +0 6.423049 23.102692 45.341614 1.000000 0.000000 -0.000000 0.948745 0.846477 1 0 1.000000 +0 6.423049 15.725268 48.397442 1.000000 -0.000000 0.000000 0.948745 0.895395 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.253199 40.263603 1.000000 -0.000002 -0.000003 0.942388 0.797559 1 0 1.000000 +0 6.423049 23.102692 45.341614 1.000000 0.000000 -0.000000 0.948745 0.846477 1 0 1.000000 +0 6.423049 22.594429 44.344105 1.000000 0.000000 -0.000000 0.942388 0.846478 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 29.253199 40.263603 1.000000 -0.000002 -0.000003 0.942388 0.797559 1 0 1.000000 +0 6.423052 29.911249 41.169327 1.000000 -0.000002 -0.000003 0.948745 0.797558 1 0 1.000000 +0 6.423049 23.102692 45.341614 1.000000 0.000000 -0.000000 0.948745 0.846477 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.191662 35.191681 1.000000 -0.000000 -0.000000 0.942388 0.748640 1 0 1.000000 +0 6.423052 29.911249 41.169327 1.000000 -0.000002 -0.000003 0.948745 0.797558 1 0 1.000000 +0 6.423048 29.253199 40.263603 1.000000 -0.000002 -0.000003 0.942388 0.797559 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 35.191662 35.191681 1.000000 -0.000000 -0.000000 0.942388 0.748640 1 0 1.000000 +0 6.423048 35.983295 35.983315 1.000000 -0.000000 -0.000000 0.948745 0.748639 1 0 1.000000 +0 6.423052 29.911249 41.169327 1.000000 -0.000002 -0.000003 0.948745 0.797558 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 40.263584 29.253223 1.000000 0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +0 6.423048 35.983295 35.983315 1.000000 -0.000000 -0.000000 0.948745 0.748639 1 0 1.000000 +0 6.423048 35.191662 35.191681 1.000000 -0.000000 -0.000000 0.942388 0.748640 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 40.263584 29.253223 1.000000 0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +0 6.423048 41.169312 29.911272 1.000000 0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +0 6.423048 35.983295 35.983315 1.000000 -0.000000 -0.000000 0.948745 0.748639 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 44.344086 22.594454 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +0 6.423048 41.169312 29.911272 1.000000 0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +0 6.423048 40.263584 29.253223 1.000000 0.000000 0.000000 0.942388 0.699721 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 44.344086 22.594454 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +0 6.423048 45.341602 23.102713 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +0 6.423048 41.169312 29.911272 1.000000 0.000000 0.000000 0.948745 0.699720 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 47.332684 15.379337 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +0 6.423048 45.341602 23.102713 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +0 6.423048 44.344086 22.594454 1.000000 -0.000000 0.000000 0.942388 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 47.332684 15.379337 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +0 6.423048 48.397430 15.725290 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +0 6.423048 45.341602 23.102713 1.000000 -0.000000 0.000000 0.948745 0.650802 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.155800 7.785528 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +0 6.423048 48.397430 15.725290 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +0 6.423048 47.332684 15.379337 1.000000 0.000000 0.000000 0.942388 0.601884 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.155800 7.785528 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +0 6.423048 50.261555 7.960659 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +0 6.423048 48.397430 15.725290 1.000000 0.000000 0.000000 0.948745 0.601883 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.768539 0.000017 1.000000 -0.000000 0.000000 0.942388 0.494382 1 0 1.000000 +0 6.423048 50.261555 7.960659 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +0 6.423048 49.155800 7.785528 1.000000 -0.000000 0.000000 0.942388 0.552965 1 0 1.000000 +models/props_backstage/vacum_pipe +0 6.423048 49.768539 0.000017 1.000000 -0.000000 0.000000 0.942388 0.494382 1 0 1.000000 +0 6.423048 50.888077 0.000012 1.000000 -0.000000 0.000000 0.948745 0.494382 1 0 1.000000 +0 6.423048 50.261555 7.960659 1.000000 -0.000000 0.000000 0.948745 0.552965 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 7.785496 49.155815 -0.839865 -0.084911 -0.536112 0.859827 0.543801 1 0 1.000000 +0 3.196715 0.000011 44.822258 -0.839866 -0.000001 -0.542794 0.891586 0.495239 1 0 1.000000 +0 0.000000 -0.000017 49.768539 -0.839865 0.000000 -0.542795 0.859827 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 7.785496 49.155815 -0.839865 -0.084911 -0.536112 0.859827 0.543801 1 0 1.000000 +0 3.196715 7.011771 44.270432 -0.839865 -0.084912 -0.536112 0.891586 0.543801 1 0 1.000000 +0 3.196715 0.000011 44.822258 -0.839866 -0.000001 -0.542794 0.891586 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000004 15.379307 47.332703 -0.839865 -0.167733 -0.516228 0.859827 0.593557 1 0 1.000000 +0 3.196715 7.011771 44.270432 -0.839865 -0.084912 -0.536112 0.891586 0.543801 1 0 1.000000 +0 0.000000 7.785496 49.155815 -0.839865 -0.084911 -0.536112 0.859827 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000004 15.379307 47.332703 -0.839865 -0.167733 -0.516228 0.859827 0.593557 1 0 1.000000 +0 3.196714 13.850865 42.628498 -0.839866 -0.167733 -0.516228 0.891586 0.593557 1 0 1.000000 +0 3.196715 7.011771 44.270432 -0.839865 -0.084912 -0.536112 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 22.594429 44.344105 -0.839865 -0.246424 -0.483634 0.859827 0.643312 1 0 1.000000 +0 3.196714 13.850865 42.628498 -0.839866 -0.167733 -0.516228 0.891586 0.593557 1 0 1.000000 +0 -0.000004 15.379307 47.332703 -0.839865 -0.167733 -0.516228 0.859827 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 22.594429 44.344105 -0.839865 -0.246424 -0.483634 0.859827 0.643312 1 0 1.000000 +0 3.196714 20.348909 39.936928 -0.839865 -0.246424 -0.483634 0.891586 0.643312 1 0 1.000000 +0 3.196714 13.850865 42.628498 -0.839866 -0.167733 -0.516228 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 29.253199 40.263603 -0.839865 -0.319047 -0.439131 0.859827 0.693067 1 0 1.000000 +0 3.196714 20.348909 39.936928 -0.839865 -0.246424 -0.483634 0.891586 0.643312 1 0 1.000000 +0 -0.000005 22.594429 44.344105 -0.839865 -0.246424 -0.483634 0.859827 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 29.253199 40.263603 -0.839865 -0.319047 -0.439131 0.859827 0.693067 1 0 1.000000 +0 3.196714 26.345888 36.261971 -0.839865 -0.319047 -0.439131 0.891586 0.693066 1 0 1.000000 +0 3.196714 20.348909 39.936928 -0.839865 -0.246424 -0.483634 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 35.191662 35.191681 -0.839864 -0.383815 -0.383815 0.859827 0.742822 1 0 1.000000 +0 3.196714 26.345888 36.261971 -0.839865 -0.319047 -0.439131 0.891586 0.693066 1 0 1.000000 +0 -0.000005 29.253199 40.263603 -0.839865 -0.319047 -0.439131 0.859827 0.693067 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 35.191662 35.191681 -0.839864 -0.383815 -0.383815 0.859827 0.742822 1 0 1.000000 +0 3.196714 31.694159 31.694115 -0.839865 -0.383815 -0.383814 0.891586 0.742822 1 0 1.000000 +0 3.196714 26.345888 36.261971 -0.839865 -0.319047 -0.439131 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 40.263584 29.253223 -0.839865 -0.439131 -0.319047 0.859827 0.792577 1 0 1.000000 +0 3.196714 31.694159 31.694115 -0.839865 -0.383815 -0.383814 0.891586 0.742822 1 0 1.000000 +0 -0.000005 35.191662 35.191681 -0.839864 -0.383815 -0.383815 0.859827 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 40.263584 29.253223 -0.839865 -0.439131 -0.319047 0.859827 0.792577 1 0 1.000000 +0 3.196714 36.261997 26.345842 -0.839865 -0.439131 -0.319046 0.891586 0.792577 1 0 1.000000 +0 3.196714 31.694159 31.694115 -0.839865 -0.383815 -0.383814 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 44.344086 22.594454 -0.839865 -0.483634 -0.246424 0.859827 0.842333 1 0 1.000000 +0 3.196714 36.261997 26.345842 -0.839865 -0.439131 -0.319046 0.891586 0.792577 1 0 1.000000 +0 -0.000002 40.263584 29.253223 -0.839865 -0.439131 -0.319047 0.859827 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 44.344086 22.594454 -0.839865 -0.483634 -0.246424 0.859827 0.842333 1 0 1.000000 +0 3.196714 39.936954 20.348860 -0.839865 -0.483635 -0.246424 0.891586 0.842333 1 0 1.000000 +0 3.196714 36.261997 26.345842 -0.839865 -0.439131 -0.319046 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 47.332684 15.379337 -0.839864 -0.516230 -0.167734 0.859827 0.892088 1 0 1.000000 +0 3.196714 39.936954 20.348860 -0.839865 -0.483635 -0.246424 0.891586 0.842333 1 0 1.000000 +0 -0.000002 44.344086 22.594454 -0.839865 -0.483634 -0.246424 0.859827 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 47.332684 15.379337 -0.839864 -0.516230 -0.167734 0.859827 0.892088 1 0 1.000000 +0 3.196714 42.628525 13.850816 -0.839864 -0.516230 -0.167733 0.891586 0.892088 1 0 1.000000 +0 3.196714 39.936954 20.348860 -0.839865 -0.483635 -0.246424 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 49.155800 7.785528 -0.839865 -0.536113 -0.084912 0.859827 0.941843 1 0 1.000000 +0 3.196714 42.628525 13.850816 -0.839864 -0.516230 -0.167733 0.891586 0.892088 1 0 1.000000 +0 -0.000006 47.332684 15.379337 -0.839864 -0.516230 -0.167734 0.859827 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 49.155800 7.785528 -0.839865 -0.536113 -0.084912 0.859827 0.941843 1 0 1.000000 +0 3.196714 44.270443 7.011717 -0.839865 -0.536113 -0.084911 0.891586 0.941843 1 0 1.000000 +0 3.196714 42.628525 13.850816 -0.839864 -0.516230 -0.167733 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 49.768539 0.000017 -0.839865 -0.542795 -0.000000 0.859827 0.992252 1 0 1.000000 +0 3.196714 44.270443 7.011717 -0.839865 -0.536113 -0.084911 0.891586 0.941843 1 0 1.000000 +0 -0.000002 49.155800 7.785528 -0.839865 -0.536113 -0.084912 0.859827 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 49.768539 0.000017 -0.839865 -0.542795 -0.000000 0.859827 0.992252 1 0 1.000000 +0 3.196713 44.822258 -0.000010 -0.839866 -0.542794 0.000001 0.891586 0.992252 1 0 1.000000 +0 3.196714 44.270443 7.011717 -0.839865 -0.536113 -0.084911 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 49.155815 -7.785496 -0.839865 -0.536112 0.084911 0.859827 0.543801 1 0 1.000000 +0 3.196713 44.822258 -0.000010 -0.839866 -0.542794 0.000001 0.891586 0.495239 1 0 1.000000 +0 -0.000006 49.768539 0.000017 -0.839865 -0.542795 -0.000000 0.859827 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 49.155815 -7.785496 -0.839865 -0.536112 0.084911 0.859827 0.543801 1 0 1.000000 +0 3.196713 44.270432 -7.011771 -0.839866 -0.536112 0.084912 0.891586 0.543801 1 0 1.000000 +0 3.196713 44.822258 -0.000010 -0.839866 -0.542794 0.000001 0.891586 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 47.332703 -15.379307 -0.839865 -0.516229 0.167733 0.859827 0.593557 1 0 1.000000 +0 3.196713 44.270432 -7.011771 -0.839866 -0.536112 0.084912 0.891586 0.543801 1 0 1.000000 +0 -0.000002 49.155815 -7.785496 -0.839865 -0.536112 0.084911 0.859827 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 47.332703 -15.379307 -0.839865 -0.516229 0.167733 0.859827 0.593557 1 0 1.000000 +0 3.196713 42.628498 -13.850865 -0.839865 -0.516228 0.167733 0.891586 0.593557 1 0 1.000000 +0 3.196713 44.270432 -7.011771 -0.839866 -0.536112 0.084912 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 44.344105 -22.594429 -0.839865 -0.483635 0.246424 0.859827 0.643312 1 0 1.000000 +0 3.196713 42.628498 -13.850865 -0.839865 -0.516228 0.167733 0.891586 0.593557 1 0 1.000000 +0 -0.000006 47.332703 -15.379307 -0.839865 -0.516229 0.167733 0.859827 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 44.344105 -22.594429 -0.839865 -0.483635 0.246424 0.859827 0.643312 1 0 1.000000 +0 3.196714 39.936928 -20.348909 -0.839865 -0.483635 0.246424 0.891586 0.643312 1 0 1.000000 +0 3.196713 42.628498 -13.850865 -0.839865 -0.516228 0.167733 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 40.263603 -29.253199 -0.839865 -0.439131 0.319047 0.859827 0.693067 1 0 1.000000 +0 3.196714 39.936928 -20.348909 -0.839865 -0.483635 0.246424 0.891586 0.643312 1 0 1.000000 +0 -0.000006 44.344105 -22.594429 -0.839865 -0.483635 0.246424 0.859827 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000006 40.263603 -29.253199 -0.839865 -0.439131 0.319047 0.859827 0.693067 1 0 1.000000 +0 3.196714 36.261971 -26.345888 -0.839865 -0.439131 0.319048 0.891586 0.693066 1 0 1.000000 +0 3.196714 39.936928 -20.348909 -0.839865 -0.483635 0.246424 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 35.191681 -35.191662 -0.839864 -0.383815 0.383814 0.859827 0.742822 1 0 1.000000 +0 3.196714 36.261971 -26.345888 -0.839865 -0.439131 0.319048 0.891586 0.693066 1 0 1.000000 +0 -0.000006 40.263603 -29.253199 -0.839865 -0.439131 0.319047 0.859827 0.693067 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000005 35.191681 -35.191662 -0.839864 -0.383815 0.383814 0.859827 0.742822 1 0 1.000000 +0 3.196714 31.694115 -31.694159 -0.839865 -0.383814 0.383815 0.891586 0.742822 1 0 1.000000 +0 3.196714 36.261971 -26.345888 -0.839865 -0.439131 0.319048 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000001 29.253223 -40.263584 -0.839865 -0.319047 0.439131 0.859827 0.792577 1 0 1.000000 +0 3.196714 31.694115 -31.694159 -0.839865 -0.383814 0.383815 0.891586 0.742822 1 0 1.000000 +0 -0.000005 35.191681 -35.191662 -0.839864 -0.383815 0.383814 0.859827 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000001 29.253223 -40.263584 -0.839865 -0.319047 0.439131 0.859827 0.792577 1 0 1.000000 +0 3.196714 26.345842 -36.261997 -0.839865 -0.319046 0.439131 0.891586 0.792577 1 0 1.000000 +0 3.196714 31.694115 -31.694159 -0.839865 -0.383814 0.383815 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000001 22.594454 -44.344086 -0.839865 -0.246424 0.483634 0.859827 0.842333 1 0 1.000000 +0 3.196714 26.345842 -36.261997 -0.839865 -0.319046 0.439131 0.891586 0.792577 1 0 1.000000 +0 -0.000001 29.253223 -40.263584 -0.839865 -0.319047 0.439131 0.859827 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000001 22.594454 -44.344086 -0.839865 -0.246424 0.483634 0.859827 0.842333 1 0 1.000000 +0 3.196714 20.348860 -39.936954 -0.839865 -0.246424 0.483634 0.891586 0.842333 1 0 1.000000 +0 3.196714 26.345842 -36.261997 -0.839865 -0.319046 0.439131 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000004 15.379337 -47.332684 -0.839864 -0.167734 0.516230 0.859827 0.892088 1 0 1.000000 +0 3.196714 20.348860 -39.936954 -0.839865 -0.246424 0.483634 0.891586 0.842333 1 0 1.000000 +0 -0.000001 22.594454 -44.344086 -0.839865 -0.246424 0.483634 0.859827 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000004 15.379337 -47.332684 -0.839864 -0.167734 0.516230 0.859827 0.892088 1 0 1.000000 +0 3.196715 13.850816 -42.628525 -0.839864 -0.167733 0.516230 0.891586 0.892088 1 0 1.000000 +0 3.196714 20.348860 -39.936954 -0.839865 -0.246424 0.483634 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 7.785528 -49.155800 -0.839864 -0.084912 0.536113 0.859827 0.941843 1 0 1.000000 +0 3.196715 13.850816 -42.628525 -0.839864 -0.167733 0.516230 0.891586 0.892088 1 0 1.000000 +0 -0.000004 15.379337 -47.332684 -0.839864 -0.167734 0.516230 0.859827 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 7.785528 -49.155800 -0.839864 -0.084912 0.536113 0.859827 0.941843 1 0 1.000000 +0 3.196715 7.011717 -44.270443 -0.839865 -0.084911 0.536113 0.891586 0.941843 1 0 1.000000 +0 3.196715 13.850816 -42.628525 -0.839864 -0.167733 0.516230 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000004 0.000017 -49.768539 -0.839865 -0.000000 0.542795 0.859827 0.992252 1 0 1.000000 +0 3.196715 7.011717 -44.270443 -0.839865 -0.084911 0.536113 0.891586 0.941843 1 0 1.000000 +0 0.000000 7.785528 -49.155800 -0.839864 -0.084912 0.536113 0.859827 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000004 0.000017 -49.768539 -0.839865 -0.000000 0.542795 0.859827 0.992252 1 0 1.000000 +0 3.196715 -0.000010 -44.822258 -0.839866 0.000000 0.542794 0.891586 0.992252 1 0 1.000000 +0 3.196715 7.011717 -44.270443 -0.839865 -0.084911 0.536113 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -7.785496 -49.155815 -0.839865 0.084911 0.536112 0.859827 0.543801 1 0 1.000000 +0 3.196715 -0.000010 -44.822258 -0.839866 0.000000 0.542794 0.891586 0.495239 1 0 1.000000 +0 -0.000004 0.000017 -49.768539 -0.839865 -0.000000 0.542795 0.859827 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -7.785496 -49.155815 -0.839865 0.084911 0.536112 0.859827 0.543801 1 0 1.000000 +0 3.196715 -7.011771 -44.270432 -0.839866 0.084912 0.536112 0.891586 0.543801 1 0 1.000000 +0 3.196715 -0.000010 -44.822258 -0.839866 0.000000 0.542794 0.891586 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -15.379307 -47.332703 -0.839865 0.167733 0.516229 0.859827 0.593557 1 0 1.000000 +0 3.196715 -7.011771 -44.270432 -0.839866 0.084912 0.536112 0.891586 0.543801 1 0 1.000000 +0 0.000000 -7.785496 -49.155815 -0.839865 0.084911 0.536112 0.859827 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -15.379307 -47.332703 -0.839865 0.167733 0.516229 0.859827 0.593557 1 0 1.000000 +0 3.196716 -13.850865 -42.628498 -0.839866 0.167733 0.516228 0.891586 0.593557 1 0 1.000000 +0 3.196715 -7.011771 -44.270432 -0.839866 0.084912 0.536112 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -22.594429 -44.344105 -0.839865 0.246424 0.483635 0.859827 0.643312 1 0 1.000000 +0 3.196716 -13.850865 -42.628498 -0.839866 0.167733 0.516228 0.891586 0.593557 1 0 1.000000 +0 -0.000003 -15.379307 -47.332703 -0.839865 0.167733 0.516229 0.859827 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -22.594429 -44.344105 -0.839865 0.246424 0.483635 0.859827 0.643312 1 0 1.000000 +0 3.196716 -20.348909 -39.936928 -0.839865 0.246424 0.483634 0.891586 0.643312 1 0 1.000000 +0 3.196716 -13.850865 -42.628498 -0.839866 0.167733 0.516228 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -29.253199 -40.263603 -0.839865 0.319047 0.439131 0.859827 0.693067 1 0 1.000000 +0 3.196716 -20.348909 -39.936928 -0.839865 0.246424 0.483634 0.891586 0.643312 1 0 1.000000 +0 -0.000003 -22.594429 -44.344105 -0.839865 0.246424 0.483635 0.859827 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000003 -29.253199 -40.263603 -0.839865 0.319047 0.439131 0.859827 0.693067 1 0 1.000000 +0 3.196717 -26.345888 -36.261971 -0.839865 0.319047 0.439131 0.891586 0.693066 1 0 1.000000 +0 3.196716 -20.348909 -39.936928 -0.839865 0.246424 0.483634 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -35.191662 -35.191681 -0.839864 0.383815 0.383815 0.859827 0.742822 1 0 1.000000 +0 3.196717 -26.345888 -36.261971 -0.839865 0.319047 0.439131 0.891586 0.693066 1 0 1.000000 +0 -0.000003 -29.253199 -40.263603 -0.839865 0.319047 0.439131 0.859827 0.693067 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -35.191662 -35.191681 -0.839864 0.383815 0.383815 0.859827 0.742822 1 0 1.000000 +0 3.196717 -31.694159 -31.694115 -0.839865 0.383815 0.383814 0.891586 0.742822 1 0 1.000000 +0 3.196717 -26.345888 -36.261971 -0.839865 0.319047 0.439131 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -40.263584 -29.253223 -0.839865 0.439131 0.319047 0.859827 0.792577 1 0 1.000000 +0 3.196717 -31.694159 -31.694115 -0.839865 0.383815 0.383814 0.891586 0.742822 1 0 1.000000 +0 -0.000002 -35.191662 -35.191681 -0.839864 0.383815 0.383815 0.859827 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -40.263584 -29.253223 -0.839865 0.439131 0.319047 0.859827 0.792577 1 0 1.000000 +0 3.196717 -36.261997 -26.345842 -0.839865 0.439131 0.319046 0.891586 0.792577 1 0 1.000000 +0 3.196717 -31.694159 -31.694115 -0.839865 0.383815 0.383814 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -44.344086 -22.594454 -0.839865 0.483634 0.246424 0.859827 0.842333 1 0 1.000000 +0 3.196717 -36.261997 -26.345842 -0.839865 0.439131 0.319046 0.891586 0.792577 1 0 1.000000 +0 0.000002 -40.263584 -29.253223 -0.839865 0.439131 0.319047 0.859827 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -44.344086 -22.594454 -0.839865 0.483634 0.246424 0.859827 0.842333 1 0 1.000000 +0 3.196717 -39.936954 -20.348860 -0.839865 0.483635 0.246424 0.891586 0.842333 1 0 1.000000 +0 3.196717 -36.261997 -26.345842 -0.839865 0.439131 0.319046 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -47.332684 -15.379337 -0.839864 0.516230 0.167734 0.859827 0.892088 1 0 1.000000 +0 3.196717 -39.936954 -20.348860 -0.839865 0.483635 0.246424 0.891586 0.842333 1 0 1.000000 +0 0.000002 -44.344086 -22.594454 -0.839865 0.483634 0.246424 0.859827 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 -0.000002 -47.332684 -15.379337 -0.839864 0.516230 0.167734 0.859827 0.892088 1 0 1.000000 +0 3.196718 -42.628525 -13.850816 -0.839864 0.516230 0.167733 0.891586 0.892088 1 0 1.000000 +0 3.196717 -39.936954 -20.348860 -0.839865 0.483635 0.246424 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -49.155800 -7.785528 -0.839865 0.536113 0.084913 0.859827 0.941843 1 0 1.000000 +0 3.196718 -42.628525 -13.850816 -0.839864 0.516230 0.167733 0.891586 0.892088 1 0 1.000000 +0 -0.000002 -47.332684 -15.379337 -0.839864 0.516230 0.167734 0.859827 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -49.155800 -7.785528 -0.839865 0.536113 0.084913 0.859827 0.941843 1 0 1.000000 +0 3.196718 -44.270443 -7.011717 -0.839865 0.536113 0.084911 0.891586 0.941843 1 0 1.000000 +0 3.196718 -42.628525 -13.850816 -0.839864 0.516230 0.167733 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -49.768539 -0.000017 -0.839866 0.542794 -0.000000 0.859827 0.992252 1 0 1.000000 +0 3.196718 -44.270443 -7.011717 -0.839865 0.536113 0.084911 0.891586 0.941843 1 0 1.000000 +0 0.000002 -49.155800 -7.785528 -0.839865 0.536113 0.084913 0.859827 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -49.768539 -0.000017 -0.839866 0.542794 -0.000000 0.859827 0.992252 1 0 1.000000 +0 3.196717 -44.822258 0.000010 -0.839866 0.542794 -0.000001 0.891586 0.992252 1 0 1.000000 +0 3.196718 -44.270443 -7.011717 -0.839865 0.536113 0.084911 0.891586 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -49.155811 7.785496 -0.839865 0.536112 -0.084911 0.859827 0.543801 1 0 1.000000 +0 3.196717 -44.822258 0.000010 -0.839866 0.542794 -0.000001 0.891586 0.495239 1 0 1.000000 +0 0.000002 -49.768539 -0.000017 -0.839866 0.542794 -0.000000 0.859827 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -49.155811 7.785496 -0.839865 0.536112 -0.084911 0.859827 0.543801 1 0 1.000000 +0 3.196717 -44.270432 7.011771 -0.839865 0.536112 -0.084912 0.891586 0.543801 1 0 1.000000 +0 3.196717 -44.822258 0.000010 -0.839866 0.542794 -0.000001 0.891586 0.495239 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -47.332703 15.379307 -0.839866 0.516228 -0.167733 0.859827 0.593557 1 0 1.000000 +0 3.196717 -44.270432 7.011771 -0.839865 0.536112 -0.084912 0.891586 0.543801 1 0 1.000000 +0 0.000002 -49.155811 7.785496 -0.839865 0.536112 -0.084911 0.859827 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -47.332703 15.379307 -0.839866 0.516228 -0.167733 0.859827 0.593557 1 0 1.000000 +0 3.196717 -42.628498 13.850865 -0.839866 0.516228 -0.167734 0.891586 0.593557 1 0 1.000000 +0 3.196717 -44.270432 7.011771 -0.839865 0.536112 -0.084912 0.891586 0.543801 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -44.344101 22.594427 -0.839865 0.483634 -0.246424 0.859827 0.643312 1 0 1.000000 +0 3.196717 -42.628498 13.850865 -0.839866 0.516228 -0.167734 0.891586 0.593557 1 0 1.000000 +0 0.000002 -47.332703 15.379307 -0.839866 0.516228 -0.167733 0.859827 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -44.344101 22.594427 -0.839865 0.483634 -0.246424 0.859827 0.643312 1 0 1.000000 +0 3.196717 -39.936928 20.348909 -0.839865 0.483634 -0.246424 0.891586 0.643312 1 0 1.000000 +0 3.196717 -42.628498 13.850865 -0.839866 0.516228 -0.167734 0.891586 0.593557 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -40.263603 29.253199 -0.839865 0.439131 -0.319047 0.859827 0.693067 1 0 1.000000 +0 3.196717 -39.936928 20.348909 -0.839865 0.483634 -0.246424 0.891586 0.643312 1 0 1.000000 +0 0.000002 -44.344101 22.594427 -0.839865 0.483634 -0.246424 0.859827 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -40.263603 29.253199 -0.839865 0.439131 -0.319047 0.859827 0.693067 1 0 1.000000 +0 3.196717 -36.261971 26.345888 -0.839865 0.439131 -0.319047 0.891586 0.693066 1 0 1.000000 +0 3.196717 -39.936928 20.348909 -0.839865 0.483634 -0.246424 0.891586 0.643312 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -35.191681 35.191658 -0.839865 0.383815 -0.383814 0.859827 0.742822 1 0 1.000000 +0 3.196717 -36.261971 26.345888 -0.839865 0.439131 -0.319047 0.891586 0.693066 1 0 1.000000 +0 0.000002 -40.263603 29.253199 -0.839865 0.439131 -0.319047 0.859827 0.693067 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000002 -35.191681 35.191658 -0.839865 0.383815 -0.383814 0.859827 0.742822 1 0 1.000000 +0 3.196717 -31.694115 31.694159 -0.839865 0.383814 -0.383815 0.891586 0.742822 1 0 1.000000 +0 3.196717 -36.261971 26.345888 -0.839865 0.439131 -0.319047 0.891586 0.693066 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -29.253223 40.263584 -0.839865 0.319047 -0.439131 0.859827 0.792577 1 0 1.000000 +0 3.196717 -31.694115 31.694159 -0.839865 0.383814 -0.383815 0.891586 0.742822 1 0 1.000000 +0 0.000002 -35.191681 35.191658 -0.839865 0.383815 -0.383814 0.859827 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -29.253223 40.263584 -0.839865 0.319047 -0.439131 0.859827 0.792577 1 0 1.000000 +0 3.196717 -26.345842 36.261997 -0.839865 0.319046 -0.439131 0.891586 0.792577 1 0 1.000000 +0 3.196717 -31.694115 31.694159 -0.839865 0.383814 -0.383815 0.891586 0.742822 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -22.594454 44.344082 -0.839865 0.246424 -0.483635 0.859827 0.842333 1 0 1.000000 +0 3.196717 -26.345842 36.261997 -0.839865 0.319046 -0.439131 0.891586 0.792577 1 0 1.000000 +0 0.000001 -29.253223 40.263584 -0.839865 0.319047 -0.439131 0.859827 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -22.594454 44.344082 -0.839865 0.246424 -0.483635 0.859827 0.842333 1 0 1.000000 +0 3.196716 -20.348860 39.936954 -0.839865 0.246424 -0.483635 0.891586 0.842333 1 0 1.000000 +0 3.196717 -26.345842 36.261997 -0.839865 0.319046 -0.439131 0.891586 0.792577 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -15.379336 47.332684 -0.839865 0.167733 -0.516229 0.859827 0.892088 1 0 1.000000 +0 3.196716 -20.348860 39.936954 -0.839865 0.246424 -0.483635 0.891586 0.842333 1 0 1.000000 +0 0.000001 -22.594454 44.344082 -0.839865 0.246424 -0.483635 0.859827 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000001 -15.379336 47.332684 -0.839865 0.167733 -0.516229 0.859827 0.892088 1 0 1.000000 +0 3.196716 -13.850816 42.628525 -0.839865 0.167733 -0.516230 0.891586 0.892088 1 0 1.000000 +0 3.196716 -20.348860 39.936954 -0.839865 0.246424 -0.483635 0.891586 0.842333 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -7.785528 49.155796 -0.839864 0.084913 -0.536114 0.859827 0.941843 1 0 1.000000 +0 3.196716 -13.850816 42.628525 -0.839865 0.167733 -0.516230 0.891586 0.892088 1 0 1.000000 +0 0.000001 -15.379336 47.332684 -0.839865 0.167733 -0.516229 0.859827 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -7.785528 49.155796 -0.839864 0.084913 -0.536114 0.859827 0.941843 1 0 1.000000 +0 3.196716 -7.011717 44.270443 -0.839865 0.084912 -0.536113 0.891586 0.941843 1 0 1.000000 +0 3.196716 -13.850816 42.628525 -0.839865 0.167733 -0.516230 0.891586 0.892088 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -0.000017 49.768539 -0.839865 0.000000 -0.542795 0.859827 0.992252 1 0 1.000000 +0 3.196716 -7.011717 44.270443 -0.839865 0.084912 -0.536113 0.891586 0.941843 1 0 1.000000 +0 0.000000 -7.785528 49.155796 -0.839864 0.084913 -0.536114 0.859827 0.941843 1 0 1.000000 +models/props_backstage/vacum_pipe +0 0.000000 -0.000017 49.768539 -0.839865 0.000000 -0.542795 0.859827 0.992252 1 0 1.000000 +0 3.196715 0.000011 44.822258 -0.839866 -0.000001 -0.542794 0.891586 0.992252 1 0 1.000000 +0 3.196716 -7.011717 44.270443 -0.839865 0.084912 -0.536113 0.891586 0.941843 1 0 1.000000 +end diff --git a/install_srctools.bat b/install_srctools.bat new file mode 100644 index 000000000..eaa4aa2fd --- /dev/null +++ b/install_srctools.bat @@ -0,0 +1 @@ +py -m pip install -e git+https://github.com/TeamSpen210/srctools.git#egg=srctools diff --git a/install_srctools.sh b/install_srctools.sh new file mode 100755 index 000000000..a5896c973 --- /dev/null +++ b/install_srctools.sh @@ -0,0 +1 @@ +python3 -m pip install -e git+https://github.com/TeamSpen210/srctools.git#egg=srctools diff --git a/materialsrc/editor/energy_ball.pdn b/materialsrc/editor/energy_ball.pdn new file mode 100644 index 000000000..fd12a80a6 Binary files /dev/null and b/materialsrc/editor/energy_ball.pdn differ diff --git a/materialsrc/editor/info_player_ping_detector.pdn b/materialsrc/editor/info_player_ping_detector.pdn index 32320206b..198ece995 100644 Binary files a/materialsrc/editor/info_player_ping_detector.pdn and b/materialsrc/editor/info_player_ping_detector.pdn differ diff --git a/materialsrc/editor/point_bonusmaps_accessor.pdn b/materialsrc/editor/point_bonusmaps_accessor.pdn new file mode 100644 index 000000000..64f60eec5 Binary files /dev/null and b/materialsrc/editor/point_bonusmaps_accessor.pdn differ diff --git a/materialsrc/editor/rope_bunting.pdn b/materialsrc/editor/rope_bunting.pdn new file mode 100644 index 000000000..1019d35e9 Binary files /dev/null and b/materialsrc/editor/rope_bunting.pdn differ diff --git a/materialsrc/models/editor/decal_helper.pdn b/materialsrc/models/editor/decal_helper.pdn new file mode 100644 index 000000000..a07baf47c Binary files /dev/null and b/materialsrc/models/editor/decal_helper.pdn differ diff --git a/materialsrc/models/editor/ts/comp_prop_rope_cable_dynamic.tga b/materialsrc/models/editor/ts/comp_prop_rope_cable_dynamic.tga new file mode 100644 index 000000000..8fa802f30 Binary files /dev/null and b/materialsrc/models/editor/ts/comp_prop_rope_cable_dynamic.tga differ diff --git a/materialsrc/tools/toolspropcombine.pdn b/materialsrc/tools/toolspropcombine.pdn new file mode 100644 index 000000000..efacf9da7 Binary files /dev/null and b/materialsrc/tools/toolspropcombine.pdn differ diff --git a/materialsrc/tools/toolspropcombine.tga b/materialsrc/tools/toolspropcombine.tga new file mode 100644 index 000000000..b04c4e61b Binary files /dev/null and b/materialsrc/tools/toolspropcombine.tga differ diff --git a/modelsrc/editor/comp_prop_rope_dynamic/cable.qc b/modelsrc/editor/comp_prop_rope_dynamic/cable.qc new file mode 100644 index 000000000..2d83fb6f2 --- /dev/null +++ b/modelsrc/editor/comp_prop_rope_dynamic/cable.qc @@ -0,0 +1,16 @@ +$ModelName "editor/comp_prop_cable_dynamic.mdl" + +$BodyGroup "default" +{ + studio "cable_ref.smd" +} + +$staticprop + +$CDMaterials "models/editor/ts" + +$BBox -16 -4 -8 16 4 2 +$hbox 0 "static_prop" -16 -4 -8 16 4 2 + +$Sequence "BindPose" cable_ref.smd + diff --git a/modelsrc/editor/comp_prop_rope_dynamic/cable_ref.smd b/modelsrc/editor/comp_prop_rope_dynamic/cable_ref.smd new file mode 100644 index 000000000..0a49a6e5a --- /dev/null +++ b/modelsrc/editor/comp_prop_rope_dynamic/cable_ref.smd @@ -0,0 +1,1066 @@ +version 1 +nodes +0 "root" -1 +end +skeleton +time 0 +0 0 0 0 0 0 0 +end +triangles +comp_prop_rope_cable_dynamic +0 4.000000 -1.000000 -3.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0 +0 4.000000 -15.000000 0.500000 1.000000 0.000000 0.000000 0.125000 0.218750 0 +0 4.000000 -15.000000 -3.000000 1.000000 0.000000 0.000000 0.125000 0.000000 0 +comp_prop_rope_cable_dynamic +0 4.000000 15.000000 -3.000000 1.000000 0.000000 0.000000 1.000000 0.250000 0 +0 4.000000 -1.000000 0.500000 1.000000 0.000000 0.000000 0.000000 0.468750 0 +0 4.000000 -1.000000 -3.000000 1.000000 0.000000 0.000000 0.000000 0.250000 0 +comp_prop_rope_cable_dynamic +0 -4.000000 1.000000 -3.000000 -1.000000 -0.000000 0.000000 1.000000 0.000000 0 +0 -4.000001 15.000000 0.500000 -1.000000 -0.000000 0.000000 0.125000 0.218750 0 +0 -4.000001 15.000000 -3.000000 -1.000000 -0.000000 0.000000 0.125000 0.000000 0 +comp_prop_rope_cable_dynamic +0 -3.999999 -15.000000 -3.000000 -1.000000 -0.000000 -0.000000 1.000000 0.250000 0 +0 -4.000000 0.999999 0.500000 -1.000000 -0.000000 -0.000000 0.000000 0.468750 0 +0 -4.000000 1.000000 -3.000000 -1.000000 -0.000000 -0.000000 0.000000 0.250000 0 +comp_prop_rope_cable_dynamic +0 4.000000 -1.000000 -3.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0 +0 4.000000 -1.000000 0.500000 1.000000 0.000000 0.000000 1.000000 0.218750 0 +0 4.000000 -15.000000 0.500000 1.000000 0.000000 0.000000 0.125000 0.218750 0 +comp_prop_rope_cable_dynamic +0 4.000000 15.000000 -3.000000 1.000000 0.000000 0.000000 1.000000 0.250000 0 +0 4.000000 15.000000 0.500000 1.000000 0.000000 0.000000 1.000000 0.468750 0 +0 4.000000 -1.000000 0.500000 1.000000 0.000000 0.000000 0.000000 0.468750 0 +comp_prop_rope_cable_dynamic +0 -4.000000 1.000000 -3.000000 -1.000000 -0.000000 -0.000000 1.000000 0.000000 0 +0 -4.000000 0.999999 0.500000 -1.000000 -0.000000 -0.000000 1.000000 0.218750 0 +0 -4.000001 15.000000 0.500000 -1.000000 -0.000000 -0.000000 0.125000 0.218750 0 +comp_prop_rope_cable_dynamic +0 -3.999999 -15.000000 -3.000000 -1.000000 -0.000000 0.000000 1.000000 0.250000 0 +0 -3.999999 -15.000000 0.500000 -1.000000 -0.000000 0.000000 1.000000 0.468750 0 +0 -4.000000 0.999999 0.500000 -1.000000 -0.000000 0.000000 0.000000 0.468750 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.125000 0.992249 0 +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +0 -1.000000 -12.000000 0.000000 -0.765984 -0.277688 0.579730 0.125000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.125000 0.783713 0 +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.760542 0 +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.125000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.125000 0.806883 0 +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.125000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -11.462873 0.238716 0.609394 0.116031 0.784295 0.125000 0.830054 0 +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.125000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.125000 0.853225 0 +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +0 0.809017 -11.462873 0.238716 0.609394 0.116031 0.784295 0.125000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.125000 0.876395 0 +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.125000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.125000 0.899566 0 +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.125000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.125000 0.922737 0 +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.125000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.125000 0.945908 0 +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.125000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -12.000000 0.000000 -0.765984 -0.277688 0.579730 0.125000 0.969078 0 +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.125000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.992249 0 +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.760542 0 +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.992249 0 +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.760542 0 +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.992249 0 +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.760542 0 +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.992249 0 +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.760542 0 +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.992249 0 +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.875000 0.969078 0 +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.875000 0.760542 0 +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.875000 0.783713 0 +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.875000 0.806883 0 +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.875000 0.830054 0 +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.875000 0.853225 0 +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.875000 0.876395 0 +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.875000 0.899566 0 +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.875000 0.922737 0 +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.875000 0.945908 0 +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.191406 0.992249 0 +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.191406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.191406 0.783713 0 +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.760542 0 +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.191406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.191406 0.806883 0 +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.191406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.191406 0.830054 0 +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.191406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.191406 0.853225 0 +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.191406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.191406 0.876395 0 +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.191406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.191406 0.899566 0 +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.191406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.191406 0.922737 0 +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.191406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.191406 0.945908 0 +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.191406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.191406 0.969078 0 +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.191406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.992249 0 +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.760542 0 +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.992249 0 +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.760542 0 +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.992249 0 +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.760542 0 +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.992249 0 +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.760542 0 +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.992249 0 +0 -1.000000 12.000000 0.000000 -0.765984 0.277718 0.579730 0.941406 0.969078 0 +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.941406 0.760542 0 +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +0 -0.309017 11.130914 0.386261 -0.230018 -0.351726 0.907376 0.941406 0.783713 0 +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.941406 0.806883 0 +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +0 0.809017 11.462875 0.238722 0.609394 -0.116031 0.784295 0.941406 0.830054 0 +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.941406 0.853225 0 +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +0 0.809017 12.537125 -0.238723 0.628437 0.684225 0.369915 0.941406 0.876395 0 +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.941406 0.899566 0 +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +0 -0.309017 12.869086 -0.386261 -0.241829 0.940580 0.238289 0.941406 0.922737 0 +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.941406 0.945908 0 +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.600264 0.942511 0 +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.576606 0.911577 0 +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.676822 0.842407 0 +comp_prop_rope_cable_dynamic +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.247986 0.956257 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.224329 0.883446 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.125000 0.992249 0 +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.992249 0 +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.125000 0.783713 0 +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.125000 0.806883 0 +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -11.462873 0.238716 0.609394 0.116031 0.784295 0.125000 0.830054 0 +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.125000 0.853225 0 +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.125000 0.876395 0 +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.125000 0.899566 0 +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.125000 0.922737 0 +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.125000 0.945908 0 +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -12.000000 0.000000 -0.765984 -0.277688 0.579730 0.125000 0.969078 0 +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.992249 0 +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.992249 0 +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.992249 0 +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.992249 0 +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.992249 0 +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.992249 0 +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.992249 0 +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.992249 0 +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.992249 0 +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.875000 0.992249 0 +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.875000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.875000 0.783713 0 +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.875000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.875000 0.806883 0 +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.875000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.875000 0.830054 0 +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.875000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.875000 0.853225 0 +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.875000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.875000 0.876395 0 +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.875000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.875000 0.899566 0 +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.875000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.875000 0.922737 0 +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.875000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.875000 0.945908 0 +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.875000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.875000 0.969078 0 +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.875000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.191406 0.992249 0 +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.992249 0 +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.191406 0.783713 0 +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.191406 0.806883 0 +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.191406 0.830054 0 +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.191406 0.853225 0 +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.191406 0.876395 0 +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.191406 0.899566 0 +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.191406 0.922737 0 +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.191406 0.945908 0 +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.191406 0.969078 0 +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.992249 0 +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.992249 0 +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.992249 0 +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.992249 0 +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.992249 0 +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.992249 0 +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.992249 0 +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.992249 0 +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.992249 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.941406 0.992249 0 +0 -1.000000 12.000000 0.000000 -0.765984 0.277718 0.579730 0.941406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +0 -0.309017 11.130914 0.386261 -0.230018 -0.351726 0.907376 0.941406 0.783713 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.941406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.941406 0.806883 0 +0 -0.309017 11.130914 0.386261 -0.230018 -0.351726 0.907376 0.941406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +0 0.809017 11.462875 0.238722 0.609394 -0.116031 0.784295 0.941406 0.830054 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.941406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.941406 0.853225 0 +0 0.809017 11.462875 0.238722 0.609394 -0.116031 0.784295 0.941406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +0 0.809017 12.537125 -0.238723 0.628437 0.684225 0.369915 0.941406 0.876395 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.941406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.941406 0.899566 0 +0 0.809017 12.537125 -0.238723 0.628437 0.684225 0.369915 0.941406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +0 -0.309017 12.869086 -0.386261 -0.241829 0.940580 0.238289 0.941406 0.922737 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.941406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.941406 0.945908 0 +0 -0.309017 12.869086 -0.386261 -0.241829 0.940580 0.238289 0.941406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +0 -1.000000 12.000000 0.000000 -0.765984 0.277718 0.579730 0.941406 0.969078 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.941406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.576606 0.911577 0 +0 -1.000000 -12.000000 0.000000 -0.765984 -0.277688 0.579730 0.576606 0.873341 0 +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.600264 0.842407 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.600264 0.842407 0 +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.638543 0.830591 0 +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.576606 0.911577 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.638543 0.830591 0 +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.676822 0.842407 0 +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.576606 0.911577 0 +comp_prop_rope_cable_dynamic +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.676822 0.842407 0 +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.700480 0.873341 0 +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.638543 0.954327 0 +comp_prop_rope_cable_dynamic +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.700480 0.873341 0 +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.700480 0.911577 0 +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.638543 0.954327 0 +comp_prop_rope_cable_dynamic +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.700480 0.911577 0 +0 0.809017 -11.462873 0.238716 0.609394 0.116031 0.784295 0.676822 0.942511 0 +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.638543 0.954327 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.638543 0.954327 0 +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.600264 0.942511 0 +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.676822 0.842407 0 +comp_prop_rope_cable_dynamic +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +0 -1.000000 12.000000 0.000000 -0.765984 0.277718 0.579730 0.324545 0.850884 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.348203 0.883446 0 +comp_prop_rope_cable_dynamic +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.348203 0.883446 0 +0 -0.309017 11.130914 0.386261 -0.230018 -0.351726 0.907376 0.348203 0.923695 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.324545 0.956257 0 +comp_prop_rope_cable_dynamic +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.324545 0.956257 0 +0 0.809017 11.462875 0.238722 0.609394 -0.116031 0.784295 0.286266 0.968695 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.247986 0.956257 0 +comp_prop_rope_cable_dynamic +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.247986 0.956257 0 +0 0.809017 12.537125 -0.238723 0.628437 0.684225 0.369915 0.224329 0.923695 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.224329 0.883446 0 +comp_prop_rope_cable_dynamic +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.224329 0.883446 0 +0 -0.309017 12.869086 -0.386261 -0.241829 0.940580 0.238289 0.247986 0.850884 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +comp_prop_rope_cable_dynamic +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.348203 0.883446 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.324545 0.956257 0 +comp_prop_rope_cable_dynamic +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.324545 0.956257 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.247986 0.956257 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +end diff --git a/modelsrc/editor/comp_prop_rope_dynamic/rope.qc b/modelsrc/editor/comp_prop_rope_dynamic/rope.qc new file mode 100644 index 000000000..895d247c9 --- /dev/null +++ b/modelsrc/editor/comp_prop_rope_dynamic/rope.qc @@ -0,0 +1,16 @@ +$ModelName "editor/comp_prop_rope_dynamic.mdl" + +$BodyGroup "default" +{ + studio "rope_ref.smd" +} + +$staticprop + +$CDMaterials "models/editor/ts" + +$BBox -16 -4 -8 16 4 2 +$hbox 0 "static_prop" -16 -4 -8 16 4 2 + +$Sequence "BindPose" rope_ref.smd + diff --git a/modelsrc/editor/comp_prop_rope_dynamic/rope_dynamic.blend b/modelsrc/editor/comp_prop_rope_dynamic/rope_dynamic.blend new file mode 100644 index 000000000..90367c98c Binary files /dev/null and b/modelsrc/editor/comp_prop_rope_dynamic/rope_dynamic.blend differ diff --git a/modelsrc/editor/comp_prop_rope_dynamic/rope_ref.smd b/modelsrc/editor/comp_prop_rope_dynamic/rope_ref.smd new file mode 100644 index 000000000..be40d9474 --- /dev/null +++ b/modelsrc/editor/comp_prop_rope_dynamic/rope_ref.smd @@ -0,0 +1,1066 @@ +version 1 +nodes +0 "root" -1 +end +skeleton +time 0 +0 0 0 0 0 0 0 +end +triangles +comp_prop_rope_cable_dynamic +0 4.000000 -1.000000 -3.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0 +0 4.000000 -15.000000 0.500000 1.000000 0.000000 0.000000 0.125000 0.218750 0 +0 4.000000 -15.000000 -3.000000 1.000000 0.000000 0.000000 0.125000 0.000000 0 +comp_prop_rope_cable_dynamic +0 4.000000 15.000000 -3.000000 1.000000 0.000000 0.000000 1.000000 0.500000 0 +0 4.000000 -1.000000 0.500000 1.000000 0.000000 0.000000 0.000000 0.718750 0 +0 4.000000 -1.000000 -3.000000 1.000000 0.000000 0.000000 0.000000 0.500000 0 +comp_prop_rope_cable_dynamic +0 -4.000000 1.000000 -3.000000 -1.000000 -0.000000 0.000000 1.000000 0.000000 0 +0 -4.000001 15.000000 0.500000 -1.000000 -0.000000 0.000000 0.125000 0.218750 0 +0 -4.000001 15.000000 -3.000000 -1.000000 -0.000000 0.000000 0.125000 0.000000 0 +comp_prop_rope_cable_dynamic +0 -3.999999 -15.000000 -3.000000 -1.000000 -0.000000 -0.000000 1.000000 0.500000 0 +0 -4.000000 0.999999 0.500000 -1.000000 -0.000000 -0.000000 0.000000 0.718750 0 +0 -4.000000 1.000000 -3.000000 -1.000000 -0.000000 -0.000000 0.000000 0.500000 0 +comp_prop_rope_cable_dynamic +0 4.000000 -1.000000 -3.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0 +0 4.000000 -1.000000 0.500000 1.000000 0.000000 0.000000 1.000000 0.218750 0 +0 4.000000 -15.000000 0.500000 1.000000 0.000000 0.000000 0.125000 0.218750 0 +comp_prop_rope_cable_dynamic +0 4.000000 15.000000 -3.000000 1.000000 0.000000 0.000000 1.000000 0.500000 0 +0 4.000000 15.000000 0.500000 1.000000 0.000000 0.000000 1.000000 0.718750 0 +0 4.000000 -1.000000 0.500000 1.000000 0.000000 0.000000 0.000000 0.718750 0 +comp_prop_rope_cable_dynamic +0 -4.000000 1.000000 -3.000000 -1.000000 -0.000000 -0.000000 1.000000 0.000000 0 +0 -4.000000 0.999999 0.500000 -1.000000 -0.000000 -0.000000 1.000000 0.218750 0 +0 -4.000001 15.000000 0.500000 -1.000000 -0.000000 -0.000000 0.125000 0.218750 0 +comp_prop_rope_cable_dynamic +0 -3.999999 -15.000000 -3.000000 -1.000000 -0.000000 0.000000 1.000000 0.500000 0 +0 -3.999999 -15.000000 0.500000 -1.000000 -0.000000 0.000000 1.000000 0.718750 0 +0 -4.000000 0.999999 0.500000 -1.000000 -0.000000 0.000000 0.000000 0.718750 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.125000 0.992249 0 +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +0 -1.000000 -12.000000 0.000000 -0.765984 -0.277688 0.579730 0.125000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.125000 0.783713 0 +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.760542 0 +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.125000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.125000 0.806883 0 +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.125000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -11.462873 0.238716 0.609394 0.116031 0.784295 0.125000 0.830054 0 +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.125000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.125000 0.853225 0 +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +0 0.809017 -11.462873 0.238716 0.609394 0.116031 0.784295 0.125000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.125000 0.876395 0 +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.125000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.125000 0.899566 0 +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.125000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.125000 0.922737 0 +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.125000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.125000 0.945908 0 +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.125000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -12.000000 0.000000 -0.765984 -0.277688 0.579730 0.125000 0.969078 0 +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.125000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.992249 0 +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.760542 0 +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.992249 0 +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.760542 0 +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.992249 0 +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.760542 0 +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.992249 0 +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.760542 0 +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.992249 0 +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.875000 0.969078 0 +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.875000 0.760542 0 +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.875000 0.783713 0 +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.875000 0.806883 0 +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.875000 0.830054 0 +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.875000 0.853225 0 +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.875000 0.876395 0 +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.875000 0.899566 0 +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.875000 0.922737 0 +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.875000 0.945908 0 +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.191406 0.992249 0 +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.191406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.191406 0.783713 0 +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.760542 0 +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.191406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.191406 0.806883 0 +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.191406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.191406 0.830054 0 +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.191406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.191406 0.853225 0 +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.191406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.191406 0.876395 0 +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.191406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.191406 0.899566 0 +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.191406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.191406 0.922737 0 +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.191406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.191406 0.945908 0 +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.191406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.191406 0.969078 0 +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.191406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.992249 0 +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.760542 0 +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.992249 0 +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.760542 0 +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.992249 0 +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.760542 0 +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.992249 0 +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.760542 0 +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.992249 0 +0 -1.000000 12.000000 0.000000 -0.765984 0.277718 0.579730 0.941406 0.969078 0 +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.941406 0.760542 0 +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +0 -0.309017 11.130914 0.386261 -0.230018 -0.351726 0.907376 0.941406 0.783713 0 +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.941406 0.806883 0 +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +0 0.809017 11.462875 0.238722 0.609394 -0.116031 0.784295 0.941406 0.830054 0 +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.941406 0.853225 0 +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +0 0.809017 12.537125 -0.238723 0.628437 0.684225 0.369915 0.941406 0.876395 0 +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.941406 0.899566 0 +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +0 -0.309017 12.869086 -0.386261 -0.241829 0.940580 0.238289 0.941406 0.922737 0 +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.941406 0.945908 0 +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.600264 0.942511 0 +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.576606 0.911577 0 +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.676822 0.842407 0 +comp_prop_rope_cable_dynamic +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.247986 0.956257 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.224329 0.883446 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.125000 0.992249 0 +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.992249 0 +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.125000 0.783713 0 +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.125000 0.806883 0 +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -11.462873 0.238716 0.609394 0.116031 0.784295 0.125000 0.830054 0 +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.125000 0.853225 0 +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.125000 0.876395 0 +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.125000 0.899566 0 +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.125000 0.922737 0 +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.125000 0.945908 0 +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -12.000000 0.000000 -0.765984 -0.277688 0.579730 0.125000 0.969078 0 +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -10.298650 -1.703305 -0.820063 0.452864 0.349773 0.250000 0.992249 0 +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.992249 0 +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -10.011103 -1.481308 -0.316050 0.750755 0.580035 0.250000 0.783713 0 +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -10.011103 -1.481308 0.315989 0.750755 0.580065 0.250000 0.806883 0 +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -10.298650 -1.703305 0.820093 0.452834 0.349803 0.250000 0.830054 0 +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -10.763910 -2.062504 0.999725 -0.018311 -0.014100 0.250000 0.853225 0 +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -11.229171 -2.421703 0.798120 -0.476974 -0.368084 0.250000 0.876395 0 +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.516718 -2.643700 0.302438 -0.754631 -0.582232 0.250000 0.899566 0 +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -11.516718 -2.643700 -0.302438 -0.754631 -0.582232 0.250000 0.922737 0 +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.229171 -2.421703 -0.798120 -0.476974 -0.368053 0.250000 0.945908 0 +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -10.763910 -2.062504 -0.999725 -0.018281 -0.014069 0.250000 0.969078 0 +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -8.737054 -3.296633 -0.818964 0.365032 0.442732 0.375000 0.992249 0 +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.992249 0 +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -8.505853 -3.016434 -0.315317 0.603565 0.732261 0.375000 0.783713 0 +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -8.505853 -3.016434 0.315256 0.603595 0.732292 0.375000 0.806883 0 +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -8.737054 -3.296633 0.818964 0.365032 0.442701 0.375000 0.830054 0 +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -9.111146 -3.750006 0.999756 -0.013306 -0.016053 0.375000 0.853225 0 +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -9.485238 -4.203378 0.799158 -0.382702 -0.463485 0.375000 0.876395 0 +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -9.716440 -4.483578 0.303079 -0.606800 -0.734764 0.375000 0.899566 0 +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -9.716439 -4.483578 -0.303049 -0.606830 -0.734764 0.375000 0.922737 0 +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -9.485238 -4.203378 -0.799158 -0.382702 -0.463485 0.375000 0.945908 0 +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -9.111146 -3.750005 -0.999756 -0.013245 -0.015992 0.375000 0.969078 0 +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -6.848168 -4.544015 -0.817774 0.270913 0.507736 0.500000 0.992249 0 +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.992249 0 +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -6.677050 -4.223571 -0.314554 0.446760 0.837519 0.500000 0.783713 0 +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -6.677050 -4.223571 0.314493 0.446760 0.837519 0.500000 0.806883 0 +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -6.848168 -4.544016 0.817774 0.270943 0.507706 0.500000 0.830054 0 +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -7.125042 -5.062506 0.999817 -0.008698 -0.016205 0.500000 0.853225 0 +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -7.401916 -5.580997 0.800287 -0.282571 -0.528794 0.500000 0.876395 0 +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -7.573034 -5.901441 0.303751 -0.449080 -0.840236 0.500000 0.899566 0 +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -7.573034 -5.901441 -0.303720 -0.449080 -0.840266 0.500000 0.922737 0 +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -7.401916 -5.580996 -0.800317 -0.282540 -0.528794 0.500000 0.945908 0 +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -7.125042 -5.062505 -0.999817 -0.008667 -0.016175 0.500000 0.969078 0 +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -4.707678 -5.440865 -0.816828 0.177770 0.548753 0.625000 0.992249 0 +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.992249 0 +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -4.595656 -5.095296 -0.313944 0.292520 0.903226 0.625000 0.783713 0 +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -4.595656 -5.095296 0.313913 0.292520 0.903226 0.625000 0.806883 0 +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -4.707678 -5.440864 0.816858 0.177770 0.548753 0.625000 0.830054 0 +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -4.888933 -6.000005 0.999847 -0.005066 -0.015625 0.625000 0.853225 0 +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -5.070188 -6.559145 0.801233 -0.184606 -0.569140 0.625000 0.876395 0 +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -5.182209 -6.904714 0.304300 -0.293954 -0.906064 0.625000 0.899566 0 +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -5.182209 -6.904714 -0.304270 -0.293924 -0.906064 0.625000 0.922737 0 +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -5.070188 -6.559145 -0.801233 -0.184576 -0.569140 0.625000 0.945908 0 +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -4.888933 -6.000004 -0.999847 -0.005066 -0.015595 0.625000 0.969078 0 +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -2.396794 -5.981550 -0.816248 0.087741 0.570940 0.750000 0.992249 0 +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.875000 0.992249 0 +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.875000 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -2.341567 -5.622501 -0.313547 0.144230 0.938536 0.750000 0.783713 0 +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.875000 0.783713 0 +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.875000 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -2.341567 -5.622501 0.313547 0.144230 0.938536 0.750000 0.806883 0 +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.875000 0.806883 0 +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.875000 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -2.396794 -5.981550 0.816248 0.087771 0.570940 0.750000 0.830054 0 +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.875000 0.830054 0 +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.875000 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -2.486153 -6.562503 0.999878 -0.002319 -0.015015 0.750000 0.853225 0 +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.875000 0.853225 0 +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.875000 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -2.575512 -7.143456 0.801782 -0.090884 -0.590594 0.750000 0.876395 0 +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.875000 0.876395 0 +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.875000 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -2.630739 -7.502505 0.304636 -0.144902 -0.941374 0.750000 0.899566 0 +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.875000 0.899566 0 +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.875000 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -2.630739 -7.502504 -0.304605 -0.144871 -0.941374 0.750000 0.922737 0 +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.875000 0.922737 0 +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.875000 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -2.575512 -7.143456 -0.801813 -0.090884 -0.590594 0.750000 0.945908 0 +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.875000 0.945908 0 +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.875000 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -2.486153 -6.562502 -0.999878 -0.002319 -0.015015 0.750000 0.969078 0 +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.875000 0.969078 0 +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.875000 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -0.000037 -6.162215 -0.816065 0.000000 0.577929 0.191406 0.992249 0 +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.992249 0 +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -0.000037 -5.798944 -0.313425 0.000000 0.949583 0.191406 0.783713 0 +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 -0.000037 -5.798944 0.313425 0.000000 0.949583 0.191406 0.806883 0 +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 -0.000037 -6.162215 0.816065 0.000000 0.577929 0.191406 0.830054 0 +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 -0.000036 -6.750001 0.999878 0.000000 -0.014801 0.191406 0.853225 0 +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 -0.000036 -7.337786 0.801996 0.000000 -0.597308 0.191406 0.876395 0 +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 -0.000036 -7.701057 0.304727 0.000000 -0.952422 0.191406 0.899566 0 +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -0.000035 -7.701057 -0.304727 0.000000 -0.952422 0.191406 0.922737 0 +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -0.000036 -7.337786 -0.801996 0.000000 -0.597308 0.191406 0.945908 0 +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 -0.000036 -6.750000 -0.999878 0.000000 -0.014801 0.191406 0.969078 0 +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 2.396722 -5.981545 -0.816248 -0.087771 0.570940 0.316406 0.992249 0 +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.992249 0 +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 2.341495 -5.622497 -0.313547 -0.144230 0.938536 0.316406 0.783713 0 +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 2.341495 -5.622497 0.313547 -0.144230 0.938536 0.316406 0.806883 0 +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 2.396722 -5.981545 0.816248 -0.087741 0.570940 0.316406 0.830054 0 +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 2.486082 -6.562498 0.999878 0.002319 -0.015015 0.316406 0.853225 0 +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 2.575442 -7.143451 0.801813 0.090884 -0.590594 0.316406 0.876395 0 +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 2.630669 -7.502500 0.304605 0.144871 -0.941374 0.316406 0.899566 0 +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 2.630669 -7.502500 -0.304636 0.144902 -0.941374 0.316406 0.922737 0 +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 2.575442 -7.143451 -0.801782 0.090884 -0.590594 0.316406 0.945908 0 +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 2.486082 -6.562498 -0.999878 0.002319 -0.015015 0.316406 0.969078 0 +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 4.707613 -5.440856 -0.816858 -0.177770 0.548753 0.441406 0.992249 0 +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.992249 0 +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 4.595592 -5.095288 -0.313913 -0.292520 0.903226 0.441406 0.783713 0 +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 4.595592 -5.095288 0.313944 -0.292520 0.903226 0.441406 0.806883 0 +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 4.707613 -5.440856 0.816828 -0.177770 0.548753 0.441406 0.830054 0 +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 4.888868 -5.999996 0.999847 0.005066 -0.015595 0.441406 0.853225 0 +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 5.070123 -6.559137 0.801233 0.184576 -0.569140 0.441406 0.876395 0 +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 5.182144 -6.904705 0.304270 0.293924 -0.906064 0.441406 0.899566 0 +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 5.182144 -6.904705 -0.304300 0.293954 -0.906064 0.441406 0.922737 0 +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 5.070122 -6.559136 -0.801233 0.184606 -0.569140 0.441406 0.945908 0 +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 4.888868 -5.999996 -0.999847 0.005066 -0.015625 0.441406 0.969078 0 +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 6.848114 -4.544004 -0.817774 -0.270943 0.507706 0.566406 0.992249 0 +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.992249 0 +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 6.676997 -4.223559 -0.314493 -0.446760 0.837519 0.566406 0.783713 0 +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 6.676997 -4.223559 0.314554 -0.446760 0.837519 0.566406 0.806883 0 +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 6.848114 -4.544004 0.817774 -0.270913 0.507736 0.566406 0.830054 0 +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 7.124987 -5.062495 0.999817 0.008667 -0.016175 0.566406 0.853225 0 +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 7.401860 -5.580986 0.800317 0.282540 -0.528794 0.566406 0.876395 0 +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 7.572977 -5.901431 0.303720 0.449080 -0.840266 0.566406 0.899566 0 +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 7.572977 -5.901431 -0.303751 0.449080 -0.840236 0.566406 0.922737 0 +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 7.401859 -5.580986 -0.800287 0.282571 -0.528794 0.566406 0.945908 0 +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 7.124987 -5.062495 -0.999817 0.008698 -0.016205 0.566406 0.969078 0 +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 8.737015 -3.296621 -0.818964 -0.365032 0.442701 0.691406 0.992249 0 +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.992249 0 +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 8.505814 -3.016420 -0.315256 -0.603595 0.732292 0.691406 0.783713 0 +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 8.505814 -3.016420 0.315317 -0.603565 0.732261 0.691406 0.806883 0 +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 8.737015 -3.296621 0.818964 -0.365032 0.442732 0.691406 0.830054 0 +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 9.111104 -3.749996 0.999756 0.013245 -0.015992 0.691406 0.853225 0 +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 9.485194 -4.203371 0.799158 0.382702 -0.463485 0.691406 0.876395 0 +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 9.716394 -4.483571 0.303049 0.606800 -0.734764 0.691406 0.899566 0 +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 9.716394 -4.483571 -0.303079 0.606800 -0.734764 0.691406 0.922737 0 +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 9.485193 -4.203370 -0.799158 0.382702 -0.463485 0.691406 0.945908 0 +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 9.111104 -3.749995 -0.999756 0.013306 -0.016053 0.691406 0.969078 0 +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 10.298628 -1.703295 -0.820093 -0.452834 0.349803 0.816406 0.992249 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.941406 0.992249 0 +0 -1.000000 12.000000 0.000000 -0.765984 0.277718 0.579730 0.941406 0.969078 0 +comp_prop_rope_cable_dynamic +0 -0.309017 10.011083 -1.481295 -0.315989 -0.750755 0.580065 0.816406 0.783713 0 +0 -0.309017 11.130914 0.386261 -0.230018 -0.351726 0.907376 0.941406 0.783713 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.941406 0.760542 0 +comp_prop_rope_cable_dynamic +0 0.309017 10.011083 -1.481295 0.316050 -0.750755 0.580035 0.816406 0.806883 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.941406 0.806883 0 +0 -0.309017 11.130914 0.386261 -0.230018 -0.351726 0.907376 0.941406 0.783713 0 +comp_prop_rope_cable_dynamic +0 0.809017 10.298628 -1.703295 0.820063 -0.452864 0.349773 0.816406 0.830054 0 +0 0.809017 11.462875 0.238722 0.609394 -0.116031 0.784295 0.941406 0.830054 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.941406 0.806883 0 +comp_prop_rope_cable_dynamic +0 1.000000 10.763885 -2.062498 0.999725 0.018281 -0.014069 0.816406 0.853225 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.941406 0.853225 0 +0 0.809017 11.462875 0.238722 0.609394 -0.116031 0.784295 0.941406 0.830054 0 +comp_prop_rope_cable_dynamic +0 0.809017 11.229143 -2.421701 0.798120 0.476974 -0.368053 0.816406 0.876395 0 +0 0.809017 12.537125 -0.238723 0.628437 0.684225 0.369915 0.941406 0.876395 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.941406 0.853225 0 +comp_prop_rope_cable_dynamic +0 0.309017 11.516688 -2.643701 0.302438 0.754631 -0.582232 0.816406 0.899566 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.941406 0.899566 0 +0 0.809017 12.537125 -0.238723 0.628437 0.684225 0.369915 0.941406 0.876395 0 +comp_prop_rope_cable_dynamic +0 -0.309017 11.516688 -2.643701 -0.302438 0.754631 -0.582263 0.816406 0.922737 0 +0 -0.309017 12.869086 -0.386261 -0.241829 0.940580 0.238289 0.941406 0.922737 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.941406 0.899566 0 +comp_prop_rope_cable_dynamic +0 -0.809017 11.229143 -2.421700 -0.798120 0.476974 -0.368084 0.816406 0.945908 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.941406 0.945908 0 +0 -0.309017 12.869086 -0.386261 -0.241829 0.940580 0.238289 0.941406 0.922737 0 +comp_prop_rope_cable_dynamic +0 -1.000000 10.763885 -2.062497 -0.999725 0.018311 -0.014100 0.816406 0.969078 0 +0 -1.000000 12.000000 0.000000 -0.765984 0.277718 0.579730 0.941406 0.969078 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.941406 0.945908 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.576606 0.911577 0 +0 -1.000000 -12.000000 0.000000 -0.765984 -0.277688 0.579730 0.576606 0.873341 0 +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.600264 0.842407 0 +comp_prop_rope_cable_dynamic +0 -0.809017 -12.537127 -0.238716 -0.628437 -0.684225 0.369915 0.600264 0.842407 0 +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.638543 0.830591 0 +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.576606 0.911577 0 +comp_prop_rope_cable_dynamic +0 -0.309017 -12.869090 -0.386252 -0.241798 -0.940580 0.238319 0.638543 0.830591 0 +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.676822 0.842407 0 +0 -0.809017 -11.462873 0.238716 -0.609394 0.116062 0.784295 0.576606 0.911577 0 +comp_prop_rope_cable_dynamic +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.676822 0.842407 0 +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.700480 0.873341 0 +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.638543 0.954327 0 +comp_prop_rope_cable_dynamic +0 0.809017 -12.537127 -0.238717 0.628437 -0.684225 0.369915 0.700480 0.873341 0 +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.700480 0.911577 0 +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.638543 0.954327 0 +comp_prop_rope_cable_dynamic +0 1.000000 -12.000000 -0.000000 0.765984 -0.277718 0.579730 0.700480 0.911577 0 +0 0.809017 -11.462873 0.238716 0.609394 0.116031 0.784295 0.676822 0.942511 0 +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.638543 0.954327 0 +comp_prop_rope_cable_dynamic +0 0.309017 -11.130910 0.386252 0.230018 0.351726 0.907376 0.638543 0.954327 0 +0 -0.309017 -11.130910 0.386252 -0.230018 0.351726 0.907376 0.600264 0.942511 0 +0 0.309017 -12.869091 -0.386252 0.241829 -0.940580 0.238289 0.676822 0.842407 0 +comp_prop_rope_cable_dynamic +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +0 -1.000000 12.000000 0.000000 -0.765984 0.277718 0.579730 0.324545 0.850884 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.348203 0.883446 0 +comp_prop_rope_cable_dynamic +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.348203 0.883446 0 +0 -0.309017 11.130914 0.386261 -0.230018 -0.351726 0.907376 0.348203 0.923695 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.324545 0.956257 0 +comp_prop_rope_cable_dynamic +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.324545 0.956257 0 +0 0.809017 11.462875 0.238722 0.609394 -0.116031 0.784295 0.286266 0.968695 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.247986 0.956257 0 +comp_prop_rope_cable_dynamic +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.247986 0.956257 0 +0 0.809017 12.537125 -0.238723 0.628437 0.684225 0.369915 0.224329 0.923695 0 +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.224329 0.883446 0 +comp_prop_rope_cable_dynamic +0 0.309017 12.869086 -0.386261 0.241798 0.940580 0.238289 0.224329 0.883446 0 +0 -0.309017 12.869086 -0.386261 -0.241829 0.940580 0.238289 0.247986 0.850884 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +comp_prop_rope_cable_dynamic +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +0 -0.809017 11.462875 0.238722 -0.609394 -0.116031 0.784295 0.348203 0.883446 0 +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.324545 0.956257 0 +comp_prop_rope_cable_dynamic +0 0.309017 11.130914 0.386261 0.230018 -0.351726 0.907376 0.324545 0.956257 0 +0 1.000000 12.000000 -0.000000 0.765984 0.277718 0.579730 0.247986 0.956257 0 +0 -0.809017 12.537125 -0.238722 -0.628437 0.684225 0.369884 0.286266 0.838446 0 +end diff --git a/modelsrc/editor/env_dustpuff/env_dustpuff.blend b/modelsrc/editor/env_dustpuff/env_dustpuff.blend index 8562b8e2d..088cf3635 100644 Binary files a/modelsrc/editor/env_dustpuff/env_dustpuff.blend and b/modelsrc/editor/env_dustpuff/env_dustpuff.blend differ diff --git a/modelsrc/editor/env_dustpuff/env_dustpuff_ref.smd b/modelsrc/editor/env_dustpuff/env_dustpuff_ref.smd index 8dd4506ce..0cf250967 100644 --- a/modelsrc/editor/env_dustpuff/env_dustpuff_ref.smd +++ b/modelsrc/editor/env_dustpuff/env_dustpuff_ref.smd @@ -64,9 +64,9 @@ env_dustpuff 0 0.389589 2.059997 -2.217359 0.321512 0.227383 -0.919199 0.418577 0.875119 0 0 0.680531 -0.112203 -1.638386 0.309672 -0.056745 -0.949149 0.368995 0.930666 0 env_dustpuff -0 -4.359773 2.511409 0.625284 -0.931457 0.361746 0.039081 0.311626 0.700149 0 -0 -4.194802 1.016518 -0.368832 -0.832650 0.184338 -0.522221 0.272347 0.749577 0 -0 -4.297110 1.751599 1.040506 -0.802992 0.577403 -0.147678 0.281207 0.692711 0 +0 -4.359773 2.511409 0.625284 -0.847402 0.524007 -0.085598 0.311626 0.700149 0 +0 -4.194802 1.016518 -0.368832 -0.787824 0.145389 -0.598494 0.272347 0.749577 0 +0 -5.039806 1.477867 1.545365 -0.624759 0.719680 -0.302881 0.281207 0.692711 0 env_dustpuff 0 -2.166393 4.734871 0.686925 -0.279526 0.958802 0.050628 0.488346 0.734311 0 0 -3.242637 3.798473 0.634095 -0.722278 0.690194 0.044115 0.448769 0.708777 0 @@ -82,14 +82,14 @@ env_dustpuff env_dustpuff 0 -7.015423 2.514107 4.458982 -0.787250 0.215231 -0.577852 0.360040 0.705742 0 0 -5.875068 4.193391 4.679735 -0.441058 0.742986 -0.503428 0.387919 0.640123 0 -0 -5.753561 1.097960 3.576382 -0.591376 0.572687 -0.567718 0.424740 0.751645 0 +0 -5.753561 1.097960 3.576382 -0.655689 0.484326 -0.579223 0.424740 0.751645 0 env_dustpuff 0 -0.231200 4.604133 0.399111 -0.402703 0.836975 -0.370543 0.554734 0.774569 0 0 -0.517828 4.345425 -0.857486 0.176294 0.854171 -0.489196 0.518134 0.811726 0 0 -2.166393 4.734871 0.686925 -0.279526 0.958802 0.050628 0.488346 0.734311 0 env_dustpuff -0 -1.264648 3.416835 3.679978 -0.365136 0.893257 0.262237 0.553011 0.634996 0 -0 -0.324393 4.317910 3.403360 -0.721434 0.620637 0.307153 0.589500 0.661225 0 +0 -1.264648 3.416835 3.679978 -0.180422 0.865401 0.467471 0.553011 0.634996 0 +0 -0.324393 4.317910 3.403360 -0.678646 0.591106 0.435929 0.589500 0.661225 0 0 -0.807441 4.143547 1.558359 -0.589627 0.784613 0.191629 0.547752 0.716668 0 env_dustpuff 0 2.724246 -2.938298 8.341170 0.793253 0.361856 0.489703 0.460437 0.472952 0 @@ -108,21 +108,21 @@ env_dustpuff 0 -5.956604 -0.890990 5.693816 -0.794384 -0.439424 0.419357 0.128866 0.435599 0 0 -4.816038 -1.071245 7.179575 -0.431366 -0.616890 0.658308 0.164229 0.378072 0 env_dustpuff -0 -1.846373 -7.627028 3.793730 0.073142 -0.996007 0.051183 0.630837 0.710034 0 -0 2.748743 -5.127120 3.129813 0.750436 -0.659471 0.044090 0.462114 0.659552 0 -0 0.667709 -6.838706 5.429961 0.269043 -0.951861 -0.146889 0.576226 0.623971 0 +0 0.438386 -6.573803 2.837213 0.491089 -0.870698 0.026760 0.542585 0.705736 0 +0 2.748743 -5.127120 3.129813 0.758050 -0.650914 0.040880 0.462114 0.659552 0 +0 0.667709 -6.838706 5.429961 0.233500 -0.965817 -0.112585 0.576226 0.623971 0 env_dustpuff 0 -0.267947 5.323674 2.099997 -0.831247 0.552719 0.059408 0.597732 0.715986 0 -0 0.742147 5.583392 3.686889 -0.545989 0.630949 0.551180 0.642384 0.675505 0 +0 0.742147 5.583392 3.686889 -0.557369 0.567035 0.606474 0.642384 0.675505 0 0 0.867869 6.551904 2.530470 -0.492104 0.851690 0.180162 0.649972 0.719346 0 env_dustpuff -0 -4.194802 1.016518 -0.368832 -0.832650 0.184338 -0.522221 0.272347 0.749577 0 -0 -5.918893 -0.667733 -0.176044 -0.739152 0.321549 -0.591828 0.197002 0.756131 0 -0 -4.297110 1.751599 1.040506 -0.802992 0.577403 -0.147678 0.281207 0.692711 0 +0 -4.194802 1.016518 -0.368832 -0.787824 0.145389 -0.598494 0.272347 0.749577 0 +0 -5.918893 -0.667733 -0.176044 -0.749892 0.306512 -0.586270 0.197002 0.756131 0 +0 -5.039806 1.477867 1.545365 -0.624759 0.719680 -0.302881 0.281207 0.692711 0 env_dustpuff -0 -4.359773 2.511409 0.625284 -0.931457 0.361746 0.039081 0.311626 0.700149 0 -0 -4.297110 1.751599 1.040506 -0.802992 0.577403 -0.147678 0.281207 0.692711 0 -0 -3.571701 2.483058 1.895774 -0.687505 0.716728 0.116783 0.302254 0.648873 0 +0 -4.359773 2.511409 0.625284 -0.847402 0.524007 -0.085598 0.311626 0.700149 0 +0 -5.039806 1.477867 1.545365 -0.624759 0.719680 -0.302881 0.281207 0.692711 0 +0 -3.571701 2.483058 1.895774 -0.644530 0.749959 0.148803 0.302254 0.648873 0 env_dustpuff 0 -0.098613 0.267273 -2.278916 0.320645 -0.117312 -0.939907 0.360806 0.895676 0 0 -1.324936 -1.769312 -2.562851 -0.108159 0.037712 -0.993418 0.281152 0.903791 0 @@ -141,16 +141,16 @@ env_dustpuff 0 -2.166393 4.734871 0.686925 -0.279526 0.958802 0.050628 0.488346 0.734311 0 env_dustpuff 0 -3.505348 2.646826 -1.029418 -0.751416 0.399659 -0.525021 0.337665 0.760130 0 -0 -4.194802 1.016518 -0.368832 -0.832650 0.184338 -0.522221 0.272347 0.749577 0 -0 -4.359773 2.511409 0.625284 -0.931457 0.361746 0.039081 0.311626 0.700149 0 +0 -4.194802 1.016518 -0.368832 -0.787824 0.145389 -0.598494 0.272347 0.749577 0 +0 -4.359773 2.511409 0.625284 -0.847402 0.524007 -0.085598 0.311626 0.700149 0 env_dustpuff 0 -3.505348 2.646826 -1.029418 -0.751416 0.399659 -0.525021 0.337665 0.760130 0 0 -2.984145 1.329906 -2.012270 -0.566185 -0.035270 -0.823523 0.307813 0.812605 0 -0 -4.194802 1.016518 -0.368832 -0.832650 0.184338 -0.522221 0.272347 0.749577 0 +0 -4.194802 1.016518 -0.368832 -0.787824 0.145389 -0.598494 0.272347 0.749577 0 env_dustpuff 0 -2.984145 1.329906 -2.012270 -0.566185 -0.035270 -0.823523 0.327845 0.790634 0 0 -2.986585 -0.301857 -1.468431 -0.493984 0.046873 -0.868207 0.277795 0.820329 0 -0 -4.194802 1.016518 -0.368832 -0.832650 0.184338 -0.522221 0.272347 0.749577 0 +0 -4.194802 1.016518 -0.368832 -0.787824 0.145389 -0.598494 0.272347 0.749577 0 env_dustpuff 0 0.389589 2.059997 -2.217359 0.321512 0.227383 -0.919199 0.418577 0.875119 0 0 -1.206640 1.718124 -2.575566 -0.066346 0.033179 -0.997245 0.380009 0.836801 0 @@ -172,33 +172,33 @@ env_dustpuff 0 -1.661596 -6.288904 -0.297658 -0.102955 -0.831336 -0.546151 0.567128 0.839179 0 0 -1.838931 -7.023821 0.721543 -0.021764 -0.915708 -0.401255 0.589314 0.803140 0 env_dustpuff -0 -7.031058 0.684747 4.729231 -0.965013 -0.100774 -0.242062 0.143854 0.531278 0 +0 -7.031058 0.684747 4.729231 -0.959062 -0.106207 -0.262525 0.143854 0.531278 0 0 -7.015423 2.514107 4.458982 -0.787250 0.215231 -0.577852 0.176398 0.589022 0 -0 -5.753561 1.097960 3.576382 -0.591376 0.572687 -0.567718 0.102084 0.579013 0 +0 -5.753561 1.097960 3.576382 -0.655689 0.484326 -0.579223 0.102084 0.579013 0 env_dustpuff 0 -3.688921 -5.761928 -0.682767 -0.363206 -0.611423 -0.703025 0.623194 0.885121 0 0 -1.838931 -7.023821 0.721543 -0.021764 -0.915708 -0.401255 0.589314 0.803140 0 0 -4.629629 -7.165254 2.062109 -0.403741 -0.885556 -0.229749 0.692935 0.800428 0 env_dustpuff -0 -6.541090 0.557699 3.337603 -0.846050 0.493753 -0.201017 0.174236 0.639538 0 -0 -7.031058 0.684747 4.729231 -0.965013 -0.100774 -0.242062 0.150496 0.597807 0 -0 -5.753561 1.097960 3.576382 -0.591376 0.572687 -0.567718 0.201813 0.623471 0 +0 -6.444582 0.341228 3.371236 -0.892056 0.389393 -0.229369 0.174236 0.639538 0 +0 -7.031058 0.684747 4.729231 -0.959062 -0.106207 -0.262525 0.150496 0.597807 0 +0 -5.753561 1.097960 3.576382 -0.655689 0.484326 -0.579223 0.201813 0.623471 0 env_dustpuff 0 3.085410 -0.463328 4.042191 0.659561 0.093946 0.745757 0.742942 0.449812 0 -0 0.459625 1.914936 4.260942 0.331670 0.258099 0.907403 0.639225 0.518939 0 +0 0.459625 1.914936 4.260942 0.250321 0.388027 0.887003 0.639225 0.518939 0 0 2.491241 -0.747778 5.619887 0.759302 0.529295 0.378558 0.703187 0.409411 0 env_dustpuff 0 -5.875068 4.193391 4.679735 -0.441058 0.742986 -0.503428 0.387919 0.640123 0 0 -7.288527 3.322796 6.053689 -0.831302 0.554888 0.032189 0.314217 0.655524 0 0 -5.893743 4.155076 6.318323 -0.389408 0.917418 0.081888 0.345391 0.602496 0 env_dustpuff -0 -4.611455 -6.808591 5.447112 -0.520707 -0.769012 0.370789 0.739593 0.695074 0 -0 -1.846373 -7.627028 3.793730 0.073142 -0.996007 0.051183 0.630837 0.710034 0 -0 -1.560953 -6.849657 6.394197 -0.343751 -0.832675 0.434151 0.658177 0.624526 0 +0 -4.611455 -6.808591 5.447112 -0.518693 -0.767746 0.376197 0.739593 0.695074 0 +0 -1.846373 -7.627028 3.793730 0.058471 -0.997011 0.050493 0.630837 0.710034 0 +0 -1.560953 -6.849657 6.394197 -0.167328 -0.911935 0.374666 0.658177 0.624526 0 env_dustpuff 0 -4.690461 -1.728302 7.550957 -0.558749 0.088002 0.824655 0.169287 0.361557 0 -0 -4.965730 -4.597008 6.781244 -0.623540 -0.358946 0.694518 0.082606 0.302463 0 -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.185026 0.268983 0 +0 -4.965730 -4.597008 6.781244 -0.615357 -0.366737 0.697739 0.082606 0.302463 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.185026 0.268983 0 env_dustpuff 0 0.149537 1.207308 7.044610 0.350264 0.671225 0.653278 0.298428 0.410993 0 0 -2.439435 -0.150694 7.933604 0.222744 0.011549 0.974809 0.339264 0.315701 0 @@ -217,16 +217,16 @@ env_dustpuff 0 0.501323 -1.303311 8.070436 0.220444 0.559561 0.798934 0.391203 0.409552 0 env_dustpuff 0 0.501323 -1.303311 8.070436 0.220444 0.559561 0.798934 0.391203 0.409552 0 -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.443835 0.294809 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.443835 0.294809 0 0 -1.088601 -2.266459 8.348825 -0.552027 0.829381 0.085985 0.417778 0.351581 0 env_dustpuff 0 -2.439435 -0.150694 7.933604 0.222744 0.011549 0.974809 0.265449 0.344820 0 0 -4.690461 -1.728302 7.550957 -0.558749 0.088002 0.824655 0.169287 0.361557 0 -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.185026 0.268983 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.185026 0.268983 0 env_dustpuff -0 -1.560953 -6.849657 6.394197 -0.343751 -0.832675 0.434151 0.658177 0.624526 0 -0 -1.846373 -7.627028 3.793730 0.073142 -0.996007 0.051183 0.630837 0.710034 0 -0 0.667709 -6.838706 5.429961 0.269043 -0.951861 -0.146889 0.576226 0.623971 0 +0 -1.560953 -6.849657 6.394197 -0.167328 -0.911935 0.374666 0.658177 0.624526 0 +0 -1.846373 -7.627028 3.793730 0.058471 -0.997011 0.050493 0.630837 0.710034 0 +0 0.667709 -6.838706 5.429961 0.233500 -0.965817 -0.112585 0.576226 0.623971 0 env_dustpuff 0 1.933882 -1.565497 7.392548 0.527700 0.729289 0.435511 0.401918 0.462944 0 0 0.341398 -1.646835 8.480647 -0.048939 0.788680 0.612853 0.405706 0.397667 0 @@ -244,7 +244,7 @@ env_dustpuff 0 3.377175 2.356052 4.694499 0.324624 -0.290818 0.900024 0.282365 0.476462 0 0 3.085410 -0.463328 4.042191 0.659561 0.093946 0.745757 0.352299 0.541105 0 env_dustpuff -0 0.459625 1.914936 4.260942 0.331670 0.258099 0.907403 0.639225 0.518939 0 +0 0.459625 1.914936 4.260942 0.250321 0.388027 0.887003 0.639225 0.518939 0 0 0.149537 1.207308 7.044610 0.350264 0.671225 0.653278 0.594193 0.427512 0 0 2.491241 -0.747778 5.619887 0.759302 0.529295 0.378558 0.703187 0.409411 0 env_dustpuff @@ -256,8 +256,8 @@ env_dustpuff 0 -4.816038 -1.071245 7.179575 -0.431366 -0.616890 0.658308 0.181344 0.385614 0 0 -4.690461 -1.728302 7.550957 -0.558749 0.088002 0.824655 0.169287 0.361557 0 env_dustpuff -0 -6.445923 -1.741713 5.298416 -0.921575 -0.081407 0.379568 0.092757 0.426604 0 -0 -4.965730 -4.597008 6.781244 -0.623540 -0.358946 0.694518 0.082606 0.302463 0 +0 -6.445923 -1.741713 5.298416 -0.924473 -0.077156 0.373359 0.092757 0.426604 0 +0 -4.965730 -4.597008 6.781244 -0.615357 -0.366737 0.697739 0.082606 0.302463 0 0 -4.690461 -1.728302 7.550957 -0.558749 0.088002 0.824655 0.169287 0.361557 0 env_dustpuff 0 2.446562 -4.634653 -3.077123 0.085269 -0.302481 -0.949334 0.295431 0.855302 0 @@ -265,40 +265,40 @@ env_dustpuff 0 4.551029 -4.693261 -2.011761 0.602933 -0.610255 -0.513868 0.328007 0.785575 0 env_dustpuff 0 -4.629629 -7.165254 2.062109 -0.403741 -0.885556 -0.229749 0.692935 0.800428 0 -0 -1.846373 -7.627028 3.793730 0.073142 -0.996007 0.051183 0.630837 0.710034 0 -0 -4.611455 -6.808591 5.447112 -0.520707 -0.769012 0.370789 0.739593 0.695074 0 +0 -1.846373 -7.627028 3.793730 0.058471 -0.997011 0.050493 0.630837 0.710034 0 +0 -4.611455 -6.808591 5.447112 -0.518693 -0.767746 0.376197 0.739593 0.695074 0 env_dustpuff 0 -4.629629 -7.165254 2.062109 -0.403741 -0.885556 -0.229749 0.692935 0.800428 0 0 -1.838931 -7.023821 0.721543 -0.021764 -0.915708 -0.401255 0.589314 0.803140 0 -0 -1.846373 -7.627028 3.793730 0.073142 -0.996007 0.051183 0.630837 0.710034 0 +0 -1.846373 -7.627028 3.793730 0.058471 -0.997011 0.050493 0.630837 0.710034 0 env_dustpuff 0 -7.059955 0.158383 6.805927 -0.870531 -0.472145 0.138758 0.186902 0.467684 0 0 -6.458420 0.528334 8.034449 -0.651251 -0.350663 0.672984 0.230034 0.440084 0 0 -7.353660 1.892812 7.361783 -0.923898 -0.012301 0.382442 0.241887 0.499796 0 env_dustpuff -0 0.438386 -6.573803 2.837213 0.499001 -0.845623 0.189522 0.542585 0.705736 0 +0 0.438386 -6.573803 2.837213 0.491089 -0.870698 0.026760 0.542585 0.705736 0 0 1.020285 -6.675066 0.477938 0.247771 -0.968773 0.009446 0.495904 0.773939 0 0 3.184468 -4.882553 1.730691 0.664431 -0.671526 0.328001 0.427703 0.695812 0 env_dustpuff -0 -7.031058 0.684747 4.729231 -0.965013 -0.100774 -0.242062 0.125010 0.510667 0 +0 -7.031058 0.684747 4.729231 -0.959062 -0.106207 -0.262525 0.125010 0.510667 0 0 -6.436086 -0.607595 7.208449 -0.570897 -0.755466 0.321476 0.183084 0.431643 0 0 -7.059955 0.158383 6.805927 -0.870531 -0.472145 0.138758 0.186902 0.467684 0 env_dustpuff 0 -2.361316 3.802754 2.231946 -0.478991 0.820121 0.313001 0.500724 0.672248 0 0 -2.799206 3.213759 4.041812 0.052709 0.969198 -0.240575 0.510161 0.605341 0 -0 -1.264648 3.416835 3.679978 -0.365136 0.893257 0.262237 0.553011 0.634996 0 +0 -1.264648 3.416835 3.679978 -0.180422 0.865401 0.467471 0.553011 0.634996 0 env_dustpuff 0 -4.690461 -1.728302 7.550957 -0.558749 0.088002 0.824655 0.169287 0.361557 0 0 -5.956604 -0.890990 5.693816 -0.794384 -0.439424 0.419357 0.128866 0.435599 0 -0 -6.445923 -1.741713 5.298416 -0.921575 -0.081407 0.379568 0.092757 0.426604 0 +0 -6.445923 -1.741713 5.298416 -0.924473 -0.077156 0.373359 0.092757 0.426604 0 env_dustpuff -0 -7.031058 0.684747 4.729231 -0.965013 -0.100774 -0.242062 0.125010 0.510667 0 -0 -6.445923 -1.741713 5.298416 -0.921575 -0.081407 0.379568 0.092757 0.426604 0 +0 -7.031058 0.684747 4.729231 -0.959062 -0.106207 -0.262525 0.125010 0.510667 0 +0 -6.445923 -1.741713 5.298416 -0.924473 -0.077156 0.373359 0.092757 0.426604 0 0 -5.956604 -0.890990 5.693816 -0.794384 -0.439424 0.419357 0.128866 0.435599 0 env_dustpuff -0 -6.541090 0.557699 3.337603 -0.846050 0.493753 -0.201017 0.174236 0.639538 0 -0 -7.071052 -2.302530 2.157271 -0.998427 0.019458 -0.052587 0.107721 0.719411 0 -0 -6.445923 -1.741713 5.298416 -0.921575 -0.081407 0.379568 0.076871 0.616269 0 +0 -6.444582 0.341228 3.371236 -0.892056 0.389393 -0.229369 0.174236 0.639538 0 +0 -7.071052 -2.302530 2.157271 -0.998103 0.037282 -0.048988 0.107721 0.719411 0 +0 -6.445923 -1.741713 5.298416 -0.924473 -0.077156 0.373359 0.076871 0.616269 0 env_dustpuff 0 3.067148 -3.980072 5.525322 0.943417 -0.322060 -0.079007 0.454998 0.572041 0 0 3.021318 -5.900539 7.232013 0.837814 -0.539763 0.082001 0.522470 0.539676 0 @@ -312,27 +312,27 @@ env_dustpuff 0 -1.710695 0.170393 -2.060638 -0.270247 -0.068080 -0.960381 0.319912 0.847727 0 0 -1.324936 -1.769312 -2.562851 -0.108159 0.037712 -0.993418 0.281152 0.903791 0 env_dustpuff -0 -4.293089 2.334052 3.164396 -0.461000 0.746931 -0.479138 0.265645 0.615900 0 -0 -3.571701 2.483058 1.895774 -0.687505 0.716728 0.116783 0.302254 0.648873 0 -0 -4.297110 1.751599 1.040506 -0.802992 0.577403 -0.147678 0.281207 0.692711 0 +0 -4.293089 2.334052 3.164396 -0.448401 0.767051 -0.458879 0.265645 0.615900 0 +0 -3.571701 2.483058 1.895774 -0.644530 0.749959 0.148803 0.302254 0.648873 0 +0 -5.039806 1.477867 1.545365 -0.624759 0.719680 -0.302881 0.281207 0.692711 0 env_dustpuff -0 -4.297110 1.751599 1.040506 -0.802992 0.577403 -0.147678 0.281207 0.692711 0 -0 -5.753561 1.097960 3.576382 -0.591376 0.572687 -0.567718 0.201813 0.623471 0 -0 -4.293089 2.334052 3.164396 -0.461000 0.746931 -0.479138 0.265645 0.615900 0 +0 -5.039806 1.477867 1.545365 -0.624759 0.719680 -0.302881 0.281207 0.692711 0 +0 -5.753561 1.097960 3.576382 -0.655689 0.484326 -0.579223 0.201813 0.623471 0 +0 -4.293089 2.334052 3.164396 -0.448401 0.767051 -0.458879 0.265645 0.615900 0 env_dustpuff -0 -4.297110 1.751599 1.040506 -0.802992 0.577403 -0.147678 0.281207 0.692711 0 -0 -5.918893 -0.667733 -0.176044 -0.739152 0.321549 -0.591828 0.197002 0.756131 0 -0 -6.541090 0.557699 3.337603 -0.846050 0.493753 -0.201017 0.174236 0.639538 0 +0 -5.039806 1.477867 1.545365 -0.624759 0.719680 -0.302881 0.281207 0.692711 0 +0 -5.918893 -0.667733 -0.176044 -0.749892 0.306512 -0.586270 0.197002 0.756131 0 +0 -6.444582 0.341228 3.371236 -0.892056 0.389393 -0.229369 0.174236 0.639538 0 env_dustpuff -0 -5.918893 -0.667733 -0.176044 -0.739152 0.321549 -0.591828 0.197002 0.756131 0 -0 -7.071052 -2.302530 2.157271 -0.998427 0.019458 -0.052587 0.107721 0.719411 0 -0 -6.541090 0.557699 3.337603 -0.846050 0.493753 -0.201017 0.174236 0.639538 0 +0 -5.918893 -0.667733 -0.176044 -0.749892 0.306512 -0.586270 0.197002 0.756131 0 +0 -7.071052 -2.302530 2.157271 -0.998103 0.037282 -0.048988 0.107721 0.719411 0 +0 -6.444582 0.341228 3.371236 -0.892056 0.389393 -0.229369 0.174236 0.639538 0 env_dustpuff -0 -5.918893 -0.667733 -0.176044 -0.739152 0.321549 -0.591828 0.197002 0.756131 0 +0 -5.918893 -0.667733 -0.176044 -0.749892 0.306512 -0.586270 0.197002 0.756131 0 0 -6.752640 -4.286504 0.746367 -0.840437 -0.327071 -0.432077 0.083259 0.797813 0 -0 -7.071052 -2.302530 2.157271 -0.998427 0.019458 -0.052587 0.107721 0.719411 0 +0 -7.071052 -2.302530 2.157271 -0.998103 0.037282 -0.048988 0.107721 0.719411 0 env_dustpuff -0 -5.918893 -0.667733 -0.176044 -0.739152 0.321549 -0.591828 0.197002 0.756131 0 +0 -5.918893 -0.667733 -0.176044 -0.749892 0.306512 -0.586270 0.197002 0.756131 0 0 -3.989214 -2.914310 -1.605702 -0.450219 -0.082172 -0.889129 0.193445 0.857324 0 0 -6.752640 -4.286504 0.746367 -0.840437 -0.327071 -0.432077 0.083259 0.797813 0 env_dustpuff @@ -380,9 +380,9 @@ env_dustpuff 0 4.239179 5.267966 0.070194 0.641368 0.401966 -0.653506 0.812323 0.769003 0 0 5.086282 3.661999 0.798174 0.929703 -0.042410 -0.365861 0.863282 0.740685 0 env_dustpuff -0 -5.753561 1.097960 3.576382 -0.591376 0.572687 -0.567718 0.424740 0.751645 0 +0 -5.753561 1.097960 3.576382 -0.655689 0.484326 -0.579223 0.424740 0.751645 0 0 -4.398765 3.966832 4.039354 0.072348 0.719994 -0.690199 0.443543 0.632104 0 -0 -4.293089 2.334052 3.164396 -0.461000 0.746931 -0.479138 0.474209 0.694518 0 +0 -4.293089 2.334052 3.164396 -0.448401 0.767051 -0.458879 0.474209 0.694518 0 env_dustpuff 0 3.737632 6.549159 0.981737 0.482189 0.828180 -0.285678 0.770459 0.758351 0 0 2.305167 6.877419 1.647423 -0.041456 0.993947 -0.101739 0.724936 0.773299 0 @@ -397,7 +397,7 @@ env_dustpuff 0 1.710646 -3.863728 9.620378 0.402283 0.076683 0.912298 0.507723 0.442479 0 env_dustpuff 0 0.867869 6.551904 2.530470 -0.492104 0.851690 0.180162 0.649972 0.719346 0 -0 0.742147 5.583392 3.686889 -0.545989 0.630949 0.551180 0.642384 0.675505 0 +0 0.742147 5.583392 3.686889 -0.557369 0.567035 0.606474 0.642384 0.675505 0 0 2.204083 6.437559 3.511882 -0.092674 0.863181 0.496317 0.689913 0.694388 0 env_dustpuff 0 3.737632 6.549159 0.981737 0.482189 0.828180 -0.285678 0.770459 0.758351 0 @@ -405,7 +405,7 @@ env_dustpuff 0 4.915616 5.290211 1.661423 0.881780 0.463221 -0.088833 0.806595 0.717503 0 env_dustpuff 0 3.509335 5.887110 4.161340 0.365416 0.626898 0.688092 0.727254 0.670181 0 -0 1.943128 5.148556 4.691758 -0.124366 0.460014 0.879159 0.680681 0.639871 0 +0 1.943128 5.148556 4.691758 -0.198959 0.419394 0.885733 0.680681 0.639871 0 0 3.596666 4.207541 4.808449 0.426103 0.140132 0.893756 0.739672 0.616207 0 env_dustpuff 0 5.262075 3.911508 2.448033 0.992226 -0.000746 0.124447 0.187795 0.520680 0 @@ -425,14 +425,14 @@ env_dustpuff 0 3.596666 4.207541 4.808449 0.426103 0.140132 0.893756 0.739672 0.616207 0 env_dustpuff 0 3.596666 4.207541 4.808449 0.426103 0.140132 0.893756 0.233405 0.440656 0 -0 1.990628 3.351098 4.990796 -0.068756 -0.125296 0.989734 0.289860 0.420607 0 +0 1.990628 3.351098 4.990796 -0.145209 -0.091741 0.985139 0.289860 0.420607 0 0 3.377175 2.356052 4.694499 0.324624 -0.290818 0.900024 0.282365 0.476462 0 env_dustpuff -0 -4.965730 -4.597008 6.781244 -0.623540 -0.358946 0.694518 0.796431 0.627997 0 -0 -1.560953 -6.849657 6.394197 -0.343751 -0.832675 0.434151 0.658177 0.624526 0 -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.762650 0.530351 0 +0 -4.611455 -6.808591 5.447112 -0.518693 -0.767746 0.376197 0.739593 0.695074 0 +0 -1.560953 -6.849657 6.394197 -0.167328 -0.911935 0.374666 0.658177 0.624526 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.762650 0.530351 0 env_dustpuff -0 1.990628 3.351098 4.990796 -0.068756 -0.125296 0.989734 0.289860 0.420607 0 +0 1.990628 3.351098 4.990796 -0.145209 -0.091741 0.985139 0.289860 0.420607 0 0 2.120183 1.622486 4.096495 -0.080094 -0.222757 0.971578 0.332965 0.467882 0 0 3.377175 2.356052 4.694499 0.324624 -0.290818 0.900024 0.282365 0.476462 0 env_dustpuff @@ -465,16 +465,16 @@ env_dustpuff 0 4.892577 4.819339 3.138794 0.854660 0.339657 0.392670 0.789550 0.669343 0 env_dustpuff 0 2.204083 6.437559 3.511882 -0.092674 0.863181 0.496317 0.689913 0.694388 0 -0 1.943128 5.148556 4.691758 -0.124366 0.460014 0.879159 0.680681 0.639871 0 +0 1.943128 5.148556 4.691758 -0.198959 0.419394 0.885733 0.680681 0.639871 0 0 3.509335 5.887110 4.161340 0.365416 0.626898 0.688092 0.727254 0.670181 0 env_dustpuff -0 0.412656 4.289045 4.659005 -0.418728 0.376850 0.826227 0.623888 0.625848 0 -0 -0.324393 4.317910 3.403360 -0.721434 0.620637 0.307153 0.589500 0.661225 0 -0 -1.264648 3.416835 3.679978 -0.365136 0.893257 0.262237 0.553011 0.634996 0 +0 0.541209 4.123584 4.259597 -0.486234 0.258851 0.834610 0.623888 0.625848 0 +0 -0.324393 4.317910 3.403360 -0.678646 0.591106 0.435929 0.589500 0.661225 0 +0 -1.264648 3.416835 3.679978 -0.180422 0.865401 0.467471 0.553011 0.634996 0 env_dustpuff 0 2.120183 1.622486 4.096495 -0.080094 -0.222757 0.971578 0.700291 0.515135 0 -0 1.990628 3.351098 4.990796 -0.068756 -0.125296 0.989734 0.690648 0.579913 0 -0 0.459625 1.914936 4.260942 0.331670 0.258099 0.907403 0.639225 0.518939 0 +0 1.990628 3.351098 4.990796 -0.145209 -0.091741 0.985139 0.690648 0.579913 0 +0 0.459625 1.914936 4.260942 0.250321 0.388027 0.887003 0.639225 0.518939 0 env_dustpuff 0 4.639351 0.396729 2.504504 0.826280 0.010381 0.563163 0.286813 0.581969 0 0 4.812975 2.140386 1.924845 0.990415 -0.090053 0.104727 0.228866 0.564320 0 @@ -500,17 +500,17 @@ env_dustpuff 0 0.867869 6.551904 2.530470 -0.492104 0.851690 0.180162 0.649972 0.719346 0 0 2.204083 6.437559 3.511882 -0.092674 0.863181 0.496317 0.689913 0.694388 0 env_dustpuff -0 0.742147 5.583392 3.686889 -0.545989 0.630949 0.551180 0.642384 0.675505 0 -0 -0.324393 4.317910 3.403360 -0.721434 0.620637 0.307153 0.589500 0.661225 0 -0 0.412656 4.289045 4.659005 -0.418728 0.376850 0.826227 0.623888 0.625848 0 +0 0.742147 5.583392 3.686889 -0.557369 0.567035 0.606474 0.642384 0.675505 0 +0 -0.324393 4.317910 3.403360 -0.678646 0.591106 0.435929 0.589500 0.661225 0 +0 0.541209 4.123584 4.259597 -0.486234 0.258851 0.834610 0.623888 0.625848 0 env_dustpuff 0 -0.267947 5.323674 2.099997 -0.831247 0.552719 0.059408 0.597732 0.715986 0 0 -0.807441 4.143547 1.558359 -0.589627 0.784613 0.191629 0.547752 0.716668 0 -0 -0.324393 4.317910 3.403360 -0.721434 0.620637 0.307153 0.589500 0.661225 0 +0 -0.324393 4.317910 3.403360 -0.678646 0.591106 0.435929 0.589500 0.661225 0 env_dustpuff 0 5.663241 0.591975 0.101075 0.880715 0.467751 -0.074494 0.246254 0.649701 0 +0 4.812975 2.140386 1.924845 0.990415 -0.090053 0.104727 0.225373 0.576264 0 0 4.639351 0.396729 2.504504 0.826280 0.010381 0.563163 0.286813 0.581969 0 -0 6.176587 -1.615377 0.253571 0.954485 -0.063146 0.291498 0.296186 0.676574 0 env_dustpuff 0 1.933882 -1.565497 7.392548 0.527700 0.729289 0.435511 0.401918 0.462944 0 0 0.501323 -1.303311 8.070436 0.220444 0.559561 0.798934 0.391203 0.409552 0 @@ -577,28 +577,28 @@ env_dustpuff 0 -2.490152 3.867995 -0.849168 -0.461770 0.742704 -0.484932 0.438007 0.760313 0 env_dustpuff 0 -7.495863 1.560981 5.788004 -0.990079 -0.089174 -0.108593 0.195854 0.531107 0 -0 -7.031058 0.684747 4.729231 -0.965013 -0.100774 -0.242062 0.143854 0.531278 0 +0 -7.031058 0.684747 4.729231 -0.959062 -0.106207 -0.262525 0.143854 0.531278 0 0 -7.059955 0.158383 6.805927 -0.870531 -0.472145 0.138758 0.186902 0.467684 0 env_dustpuff -0 0.667709 -6.838706 5.429961 0.269043 -0.951861 -0.146889 0.576226 0.623971 0 +0 0.667709 -6.838706 5.429961 0.233500 -0.965817 -0.112585 0.576226 0.623971 0 0 0.658309 -7.073847 7.121888 0.015800 -0.992468 0.121481 0.609667 0.578061 0 -0 -1.560953 -6.849657 6.394197 -0.343751 -0.832675 0.434151 0.655037 0.641525 0 +0 -1.560953 -6.849657 6.394197 -0.167328 -0.911935 0.374666 0.655037 0.641525 0 env_dustpuff 0 -3.177816 4.218481 5.134935 0.456751 0.862833 -0.216560 0.456332 0.574427 0 0 -4.595977 4.672959 5.471035 0.014320 0.999070 -0.040672 0.403918 0.587896 0 0 -3.427136 4.012082 6.830227 0.388953 0.860474 0.329090 0.425644 0.523152 0 env_dustpuff -0 -6.541090 0.557699 3.337603 -0.846050 0.493753 -0.201017 0.174236 0.639538 0 -0 -6.445923 -1.741713 5.298416 -0.921575 -0.081407 0.379568 0.076314 0.635042 0 -0 -7.031058 0.684747 4.729231 -0.965013 -0.100774 -0.242062 0.150496 0.597807 0 +0 -6.444582 0.341228 3.371236 -0.892056 0.389393 -0.229369 0.174236 0.639538 0 +0 -6.445923 -1.741713 5.298416 -0.924473 -0.077156 0.373359 0.076314 0.635042 0 +0 -7.031058 0.684747 4.729231 -0.959062 -0.106207 -0.262525 0.150496 0.597807 0 env_dustpuff 0 -7.495863 1.560981 5.788004 -0.990079 -0.089174 -0.108593 0.195854 0.531107 0 0 -7.059955 0.158383 6.805927 -0.870531 -0.472145 0.138758 0.186902 0.467684 0 0 -7.353660 1.892812 7.361783 -0.923898 -0.012301 0.382442 0.241887 0.499796 0 env_dustpuff 0 -2.361316 3.802754 2.231946 -0.478991 0.820121 0.313001 0.500724 0.672248 0 +0 -1.264648 3.416835 3.679978 -0.180422 0.865401 0.467471 0.553011 0.634996 0 0 -0.807441 4.143547 1.558359 -0.589627 0.784613 0.191629 0.547752 0.716668 0 -0 -2.166393 4.734871 0.686925 -0.279526 0.958802 0.050628 0.488346 0.734311 0 env_dustpuff 0 -3.177816 4.218481 5.134935 0.456751 0.862833 -0.216560 0.456332 0.574427 0 0 -3.427136 4.012082 6.830227 0.388953 0.860474 0.329090 0.425644 0.523152 0 @@ -640,9 +640,9 @@ env_dustpuff 0 -4.816038 -1.071245 7.179575 -0.431366 -0.616890 0.658308 0.181344 0.385614 0 0 -2.439435 -0.150694 7.933604 0.222744 0.011549 0.974809 0.265449 0.344820 0 env_dustpuff -0 1.943128 5.148556 4.691758 -0.124366 0.460014 0.879159 0.680681 0.639871 0 -0 1.990628 3.351098 4.990796 -0.068756 -0.125296 0.989734 0.690648 0.579913 0 -0 3.596666 4.207541 4.808449 0.426103 0.140132 0.893756 0.739672 0.616207 0 +0 1.943128 5.148556 4.691758 -0.198959 0.419394 0.885733 0.680681 0.639871 0 +0 0.541209 4.123584 4.259597 -0.486234 0.258851 0.834610 0.633704 0.604941 0 +0 1.990628 3.351098 4.990796 -0.145209 -0.091741 0.985139 0.690648 0.579913 0 env_dustpuff 0 0.680531 -0.112203 -1.638386 0.309672 -0.056745 -0.949149 0.120770 0.763634 0 0 2.897597 -1.787233 -2.775616 0.031878 0.224970 -0.973844 0.212697 0.779147 0 @@ -672,9 +672,9 @@ env_dustpuff 0 -2.986585 -0.301857 -1.468431 -0.493984 0.046873 -0.868207 0.277795 0.820329 0 0 -1.324936 -1.769312 -2.562851 -0.108159 0.037712 -0.993418 0.281152 0.903791 0 env_dustpuff -0 0.742147 5.583392 3.686889 -0.545989 0.630949 0.551180 0.642384 0.675505 0 -0 1.943128 5.148556 4.691758 -0.124366 0.460014 0.879159 0.680681 0.639871 0 -0 2.204083 6.437559 3.511882 -0.092674 0.863181 0.496317 0.689913 0.694388 0 +0 0.742147 5.583392 3.686889 -0.557369 0.567035 0.606474 0.642384 0.675505 0 +0 0.541209 4.123584 4.259597 -0.486234 0.258851 0.834610 0.623888 0.625848 0 +0 1.943128 5.148556 4.691758 -0.198959 0.419394 0.885733 0.680681 0.639871 0 env_dustpuff 0 -3.427136 4.012082 6.830227 0.388953 0.860474 0.329090 0.425644 0.523152 0 0 -4.595977 4.672959 5.471035 0.014320 0.999070 -0.040672 0.403918 0.587896 0 @@ -692,7 +692,7 @@ env_dustpuff 0 -7.495863 1.560981 5.788004 -0.990079 -0.089174 -0.108593 0.195854 0.531107 0 0 -7.353660 1.892812 7.361783 -0.923898 -0.012301 0.382442 0.241887 0.499796 0 env_dustpuff -0 -1.394201 2.896500 4.700079 0.246379 0.833257 0.494954 0.551313 0.556019 0 +0 -1.394201 2.896500 4.700079 0.436711 0.838534 0.325797 0.551313 0.556019 0 0 -2.799206 3.213759 4.041812 0.052709 0.969198 -0.240575 0.502404 0.604029 0 0 -1.913529 3.275846 5.817922 0.550895 0.834016 0.030517 0.500560 0.526099 0 env_dustpuff @@ -721,7 +721,7 @@ env_dustpuff 0 -7.288527 3.322796 6.053689 -0.831302 0.554888 0.032189 0.240221 0.577637 0 env_dustpuff 0 -7.015423 2.514107 4.458982 -0.787250 0.215231 -0.577852 0.176398 0.589022 0 -0 -7.031058 0.684747 4.729231 -0.965013 -0.100774 -0.242062 0.143854 0.531278 0 +0 -7.031058 0.684747 4.729231 -0.959062 -0.106207 -0.262525 0.143854 0.531278 0 0 -7.495863 1.560981 5.788004 -0.990079 -0.089174 -0.108593 0.195854 0.531107 0 env_dustpuff 0 -2.799206 3.213759 4.041812 0.052709 0.969198 -0.240575 0.502404 0.604029 0 @@ -729,22 +729,22 @@ env_dustpuff 0 -3.177816 4.218481 5.134935 0.456751 0.862833 -0.216560 0.456332 0.574427 0 env_dustpuff 0 -2.799206 3.213759 4.041812 0.052709 0.969198 -0.240575 0.509796 0.630981 0 -0 -4.293089 2.334052 3.164396 -0.461000 0.746931 -0.479138 0.474209 0.694518 0 +0 -4.293089 2.334052 3.164396 -0.448401 0.767051 -0.458879 0.474209 0.694518 0 0 -4.398765 3.966832 4.039354 0.072348 0.719994 -0.690199 0.443543 0.632104 0 env_dustpuff -0 -6.541090 0.557699 3.337603 -0.846050 0.493753 -0.201017 0.174236 0.639538 0 -0 -5.753561 1.097960 3.576382 -0.591376 0.572687 -0.567718 0.201813 0.623471 0 -0 -4.297110 1.751599 1.040506 -0.802992 0.577403 -0.147678 0.281207 0.692711 0 +0 -6.444582 0.341228 3.371236 -0.892056 0.389393 -0.229369 0.174236 0.639538 0 +0 -5.753561 1.097960 3.576382 -0.655689 0.484326 -0.579223 0.201813 0.623471 0 +0 -5.039806 1.477867 1.545365 -0.624759 0.719680 -0.302881 0.281207 0.692711 0 env_dustpuff -0 -4.293089 2.334052 3.164396 -0.461000 0.746931 -0.479138 0.445580 0.598932 0 +0 -4.293089 2.334052 3.164396 -0.448401 0.767051 -0.458879 0.445580 0.598932 0 0 -2.799206 3.213759 4.041812 0.052709 0.969198 -0.240575 0.510161 0.605341 0 -0 -3.571701 2.483058 1.895774 -0.687505 0.716728 0.116783 0.442380 0.647824 0 +0 -3.571701 2.483058 1.895774 -0.644530 0.749959 0.148803 0.442380 0.647824 0 env_dustpuff 0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 -0 -4.965730 -4.597008 6.781244 -0.623540 -0.358946 0.694518 0.796431 0.627997 0 -0 -6.445923 -1.741713 5.298416 -0.921575 -0.081407 0.379568 0.914230 0.646428 0 +0 -4.611455 -6.808591 5.447112 -0.518693 -0.767746 0.376197 0.739593 0.695074 0 +0 -4.965730 -4.597008 6.781244 -0.615357 -0.366737 0.697739 0.796431 0.627997 0 env_dustpuff -0 -1.557766 -5.563232 8.768108 -0.664407 -0.463231 0.586498 0.654408 0.457789 0 +0 -1.557766 -5.563232 8.768108 -0.656123 -0.465674 0.593844 0.654408 0.457789 0 0 0.151101 -4.779628 9.711180 -0.102928 -0.168448 0.980322 0.594029 0.429865 0 0 -1.494317 -3.872861 9.548464 -0.431883 0.061619 0.899822 0.648770 0.398911 0 env_dustpuff @@ -781,7 +781,7 @@ env_dustpuff 0 3.184468 -4.882553 1.730691 0.664431 -0.671526 0.328001 0.427703 0.695812 0 env_dustpuff 0 2.120183 1.622486 4.096495 -0.080094 -0.222757 0.971578 0.700291 0.515135 0 -0 0.459625 1.914936 4.260942 0.331670 0.258099 0.907403 0.639225 0.518939 0 +0 0.459625 1.914936 4.260942 0.250321 0.388027 0.887003 0.639225 0.518939 0 0 3.085410 -0.463328 4.042191 0.659561 0.093946 0.745757 0.742942 0.449812 0 env_dustpuff 0 6.176587 -1.615377 0.253571 0.954485 -0.063146 0.291498 0.296186 0.676574 0 @@ -804,8 +804,8 @@ env_dustpuff 0 3.184468 -4.882553 1.730691 0.664431 -0.671526 0.328001 0.427703 0.695812 0 0 4.761395 -2.332840 2.141667 0.797913 -0.252299 0.547430 0.350744 0.640321 0 env_dustpuff -0 2.748743 -5.127120 3.129813 0.750436 -0.659471 0.044090 0.462114 0.659552 0 -0 0.438386 -6.573803 2.837213 0.499001 -0.845623 0.189522 0.542585 0.705736 0 +0 2.748743 -5.127120 3.129813 0.758050 -0.650914 0.040880 0.462114 0.659552 0 +0 0.438386 -6.573803 2.837213 0.491089 -0.870698 0.026760 0.542585 0.705736 0 0 3.184468 -4.882553 1.730691 0.664431 -0.671526 0.328001 0.427703 0.695812 0 env_dustpuff 0 1.020285 -6.675066 0.477938 0.247771 -0.968773 0.009446 0.495904 0.773939 0 @@ -814,7 +814,7 @@ env_dustpuff env_dustpuff 0 3.184468 -4.882553 1.730691 0.664431 -0.671526 0.328001 0.427703 0.695812 0 0 3.817430 -2.758864 3.518868 0.923356 -0.147748 0.354379 0.394662 0.609275 0 -0 2.748743 -5.127120 3.129813 0.750436 -0.659471 0.044090 0.462062 0.661823 0 +0 2.748743 -5.127120 3.129813 0.758050 -0.650914 0.040880 0.462062 0.661823 0 env_dustpuff 0 3.184468 -4.882553 1.730691 0.664431 -0.671526 0.328001 0.427703 0.695812 0 0 5.111374 -4.258666 -0.158850 0.795588 -0.565375 0.217695 0.348750 0.726554 0 @@ -824,9 +824,9 @@ env_dustpuff 0 6.176587 -1.615377 0.253571 0.954485 -0.063146 0.291498 0.296186 0.676574 0 0 4.761395 -2.332840 2.141667 0.797913 -0.252299 0.547430 0.350744 0.640321 0 env_dustpuff -0 1.990628 3.351098 4.990796 -0.068756 -0.125296 0.989734 0.690648 0.579913 0 -0 0.412656 4.289045 4.659005 -0.418728 0.376850 0.826227 0.633704 0.604941 0 -0 0.459625 1.914936 4.260942 0.331670 0.258099 0.907403 0.639225 0.518939 0 +0 1.990628 3.351098 4.990796 -0.145209 -0.091741 0.985139 0.690648 0.579913 0 +0 0.541209 4.123584 4.259597 -0.486234 0.258851 0.834610 0.633704 0.604941 0 +0 0.459625 1.914936 4.260942 0.250321 0.388027 0.887003 0.639225 0.518939 0 env_dustpuff 0 -1.661596 -6.288904 -0.297658 -0.102955 -0.831336 -0.546151 0.567128 0.839179 0 0 1.513026 -6.397898 -1.696454 0.047720 -0.862614 -0.503606 0.455168 0.832867 0 @@ -850,7 +850,7 @@ env_dustpuff env_dustpuff 0 3.817430 -2.758864 3.518868 0.923356 -0.147748 0.354379 0.385706 0.614776 0 0 3.067148 -3.980072 5.525322 0.943417 -0.322060 -0.079007 0.454998 0.572041 0 -0 2.748743 -5.127120 3.129813 0.750436 -0.659471 0.044090 0.462114 0.659552 0 +0 2.748743 -5.127120 3.129813 0.758050 -0.650914 0.040880 0.462114 0.659552 0 env_dustpuff 0 1.513026 -6.397898 -1.696454 0.047720 -0.862614 -0.503606 0.455168 0.832867 0 0 4.551029 -4.693261 -2.011761 0.602933 -0.610255 -0.513868 0.341860 0.829953 0 @@ -905,13 +905,9 @@ env_dustpuff 0 0.501323 -1.303311 8.070436 0.220444 0.559561 0.798934 0.391203 0.409552 0 env_dustpuff 0 -1.088601 -2.266459 8.348825 -0.552027 0.829381 0.085985 0.393788 0.346382 0 -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.388164 0.284693 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.388164 0.284693 0 0 -1.494317 -3.872861 9.548464 -0.431883 0.061619 0.899822 0.446856 0.302560 0 env_dustpuff -0 -2.542706 -4.024023 6.744800 -0.997155 -0.075082 -0.006612 0.741552 0.444945 0 -0 -1.560953 -6.849657 6.394197 -0.343751 -0.832675 0.434151 0.694846 0.535806 0 -0 -1.557766 -5.563232 8.768108 -0.664407 -0.463231 0.586498 0.654408 0.457789 0 -env_dustpuff 0 1.933882 -1.565497 7.392548 0.527700 0.729289 0.435511 0.401918 0.462944 0 0 3.416330 -2.802447 6.581400 0.939731 0.278990 0.197661 0.432474 0.524531 0 0 2.491241 -0.747778 5.619887 0.759302 0.529295 0.378558 0.352975 0.511358 0 @@ -945,14 +941,14 @@ env_dustpuff 0 1.562313 -5.519565 9.463522 0.378718 -0.368432 0.849018 0.554643 0.466737 0 env_dustpuff 0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 -0 -7.071052 -2.302530 2.157271 -0.998427 0.019458 -0.052587 0.935871 0.753851 0 -0 -6.752640 -4.286504 0.746367 -0.840437 -0.327071 -0.432077 0.886098 0.820102 0 +0 -6.445923 -1.741713 5.298416 -0.924473 -0.077156 0.373359 0.914230 0.646428 0 +0 -7.071052 -2.302530 2.157271 -0.998103 0.037282 -0.048988 0.935871 0.753851 0 env_dustpuff 0 0.151101 -4.779628 9.711180 -0.102928 -0.168448 0.980322 0.594029 0.429865 0 0 0.487913 -6.382699 9.250299 -0.029277 -0.694582 0.718818 0.594303 0.481723 0 0 1.562313 -5.519565 9.463522 0.378718 -0.368432 0.849018 0.554643 0.466737 0 env_dustpuff -0 -1.557766 -5.563232 8.768108 -0.664407 -0.463231 0.586498 0.654408 0.457789 0 +0 -1.557766 -5.563232 8.768108 -0.656123 -0.465674 0.593844 0.654408 0.457789 0 0 -0.973979 -6.707387 7.813181 -0.463534 -0.828884 0.313189 0.650337 0.508864 0 0 0.487913 -6.382699 9.250299 -0.029277 -0.694582 0.718818 0.594303 0.481723 0 env_dustpuff @@ -992,41 +988,41 @@ env_dustpuff 0 -1.494317 -3.872861 9.548464 -0.431883 0.061619 0.899822 0.446856 0.302560 0 0 0.133759 -2.945795 9.610324 -0.119495 0.409270 0.904555 0.454299 0.365188 0 env_dustpuff -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.710326 0.396453 0 -0 -1.557766 -5.563232 8.768108 -0.664407 -0.463231 0.586498 0.654408 0.457789 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.710326 0.396453 0 +0 -1.557766 -5.563232 8.768108 -0.656123 -0.465674 0.593844 0.654408 0.457789 0 0 -1.494317 -3.872861 9.548464 -0.431883 0.061619 0.899822 0.648770 0.398911 0 env_dustpuff -0 -1.560953 -6.849657 6.394197 -0.343751 -0.832675 0.434151 0.655037 0.641525 0 +0 -1.560953 -6.849657 6.394197 -0.167328 -0.911935 0.374666 0.655037 0.641525 0 0 0.658309 -7.073847 7.121888 0.015800 -0.992468 0.121481 0.609667 0.578061 0 0 -0.973979 -6.707387 7.813181 -0.463534 -0.828884 0.313189 0.668224 0.591973 0 env_dustpuff 0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 +0 -6.752640 -4.286504 0.746367 -0.840437 -0.327071 -0.432077 0.886098 0.820102 0 0 -4.629629 -7.165254 2.062109 -0.403741 -0.885556 -0.229749 0.758483 0.808049 0 -0 -4.611455 -6.808591 5.447112 -0.520707 -0.769012 0.370789 0.739593 0.695074 0 env_dustpuff 0 2.299445 -5.894844 5.274564 0.726229 -0.638421 -0.254970 0.516048 0.602592 0 0 3.021318 -5.900539 7.232013 0.837814 -0.539763 0.082001 0.522470 0.539676 0 0 1.860319 -7.009234 6.480745 0.426068 -0.898472 -0.105892 0.564716 0.572078 0 env_dustpuff 0 -3.242637 3.798473 0.634095 -0.722278 0.690194 0.044115 0.448769 0.708777 0 -0 -3.571701 2.483058 1.895774 -0.687505 0.716728 0.116783 0.442380 0.647824 0 -0 -2.361316 3.802754 2.231946 -0.478991 0.820121 0.313001 0.500724 0.672248 0 +0 -4.359773 2.511409 0.625284 -0.847402 0.524007 -0.085598 0.402295 0.676832 0 +0 -3.571701 2.483058 1.895774 -0.644530 0.749959 0.148803 0.442380 0.647824 0 env_dustpuff -0 -2.230612 -2.561182 6.798841 -0.964151 0.211614 -0.160100 0.767132 0.400642 0 -0 -2.542706 -4.024023 6.744800 -0.997155 -0.075082 -0.006612 0.741552 0.444945 0 -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.710326 0.396453 0 +0 -1.557766 -5.563232 8.768108 -0.656123 -0.465674 0.593844 0.654408 0.457789 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.710326 0.396453 0 +0 -1.560953 -6.849657 6.394197 -0.167328 -0.911935 0.374666 0.658177 0.624526 0 env_dustpuff -0 0.667709 -6.838706 5.429961 0.269043 -0.951861 -0.146889 0.576226 0.623971 0 +0 0.667709 -6.838706 5.429961 0.233500 -0.965817 -0.112585 0.576226 0.623971 0 0 2.299445 -5.894844 5.274564 0.726229 -0.638421 -0.254970 0.516048 0.602592 0 0 1.860319 -7.009234 6.480745 0.426068 -0.898472 -0.105892 0.564716 0.572078 0 env_dustpuff 0 3.067148 -3.980072 5.525322 0.943417 -0.322060 -0.079007 0.454998 0.572041 0 0 2.299445 -5.894844 5.274564 0.726229 -0.638421 -0.254970 0.516048 0.602592 0 -0 2.748743 -5.127120 3.129813 0.750436 -0.659471 0.044090 0.462114 0.659552 0 +0 2.748743 -5.127120 3.129813 0.758050 -0.650914 0.040880 0.462114 0.659552 0 env_dustpuff -0 2.748743 -5.127120 3.129813 0.750436 -0.659471 0.044090 0.462114 0.659552 0 +0 2.748743 -5.127120 3.129813 0.758050 -0.650914 0.040880 0.462114 0.659552 0 0 2.299445 -5.894844 5.274564 0.726229 -0.638421 -0.254970 0.516048 0.602592 0 -0 0.667709 -6.838706 5.429961 0.269043 -0.951861 -0.146889 0.576226 0.623971 0 +0 0.667709 -6.838706 5.429961 0.233500 -0.965817 -0.112585 0.576226 0.623971 0 env_dustpuff 0 3.067148 -3.980072 5.525322 0.943417 -0.322060 -0.079007 0.454998 0.572041 0 0 3.416330 -2.802447 6.581400 0.939731 0.278990 0.197661 0.432474 0.524531 0 @@ -1053,20 +1049,20 @@ env_dustpuff 0 -2.439435 -0.150694 7.933604 0.222744 0.011549 0.974809 0.353264 0.315165 0 env_dustpuff 0 0.149537 1.207308 7.044610 0.350264 0.671225 0.653278 0.594193 0.427512 0 -0 0.459625 1.914936 4.260942 0.331670 0.258099 0.907403 0.639225 0.518939 0 -0 -1.394201 2.896500 4.700079 0.246379 0.833257 0.494954 0.551313 0.556019 0 +0 0.459625 1.914936 4.260942 0.250321 0.388027 0.887003 0.639225 0.518939 0 +0 -1.394201 2.896500 4.700079 0.436711 0.838534 0.325797 0.551313 0.556019 0 env_dustpuff 0 -2.157368 2.727316 7.698145 0.771778 0.364843 0.520815 0.461428 0.461313 0 -0 -1.394201 2.896500 4.700079 0.246379 0.833257 0.494954 0.551313 0.556019 0 +0 -1.394201 2.896500 4.700079 0.436711 0.838534 0.325797 0.551313 0.556019 0 0 -1.913529 3.275846 5.817922 0.550895 0.834016 0.030517 0.500560 0.526099 0 env_dustpuff -0 -1.394201 2.896500 4.700079 0.246379 0.833257 0.494954 0.551313 0.556019 0 +0 -1.394201 2.896500 4.700079 0.436711 0.838534 0.325797 0.551313 0.556019 0 0 -2.053852 1.030836 6.785968 0.705664 0.354874 0.613272 0.525590 0.437185 0 0 0.149537 1.207308 7.044610 0.350264 0.671225 0.653278 0.594193 0.427512 0 env_dustpuff -0 -1.264648 3.416835 3.679978 -0.365136 0.893257 0.262237 0.558384 0.606501 0 +0 -1.264648 3.416835 3.679978 -0.180422 0.865401 0.467471 0.558384 0.606501 0 0 -2.799206 3.213759 4.041812 0.052709 0.969198 -0.240575 0.502404 0.604029 0 -0 -1.394201 2.896500 4.700079 0.246379 0.833257 0.494954 0.551313 0.556019 0 +0 -1.394201 2.896500 4.700079 0.436711 0.838534 0.325797 0.551313 0.556019 0 env_dustpuff 0 -0.216029 -3.389290 -2.380539 -0.128245 -0.038216 -0.991006 0.258621 0.965402 0 0 -1.395874 -5.187685 -1.824862 -0.221076 -0.447141 -0.866712 0.184796 0.969067 0 @@ -1076,17 +1072,17 @@ env_dustpuff 0 -0.216029 -3.389290 -2.380539 -0.128245 -0.038216 -0.991006 0.480839 0.946545 0 0 -0.179242 -5.670810 -1.929830 -0.265236 -0.554687 -0.788652 0.497756 0.872266 0 env_dustpuff -0 -5.918893 -0.667733 -0.176044 -0.739152 0.321549 -0.591828 0.197002 0.756131 0 -0 -4.194802 1.016518 -0.368832 -0.832650 0.184338 -0.522221 0.272347 0.749577 0 +0 -5.918893 -0.667733 -0.176044 -0.749892 0.306512 -0.586270 0.197002 0.756131 0 +0 -4.194802 1.016518 -0.368832 -0.787824 0.145389 -0.598494 0.272347 0.749577 0 0 -2.986585 -0.301857 -1.468431 -0.493984 0.046873 -0.868207 0.277795 0.820329 0 env_dustpuff -0 0.438386 -6.573803 2.837213 0.499001 -0.845623 0.189522 0.542585 0.705736 0 -0 -1.846373 -7.627028 3.793730 0.073142 -0.996007 0.051183 0.630837 0.710034 0 +0 0.438386 -6.573803 2.837213 0.491089 -0.870698 0.026760 0.542585 0.705736 0 +0 -1.846373 -7.627028 3.793730 0.058471 -0.997011 0.050493 0.630837 0.710034 0 0 1.020285 -6.675066 0.477938 0.247771 -0.968773 0.009446 0.495904 0.773939 0 env_dustpuff 0 -1.838931 -7.023821 0.721543 -0.021764 -0.915708 -0.401255 0.589314 0.803140 0 0 1.020285 -6.675066 0.477938 0.247771 -0.968773 0.009446 0.495904 0.773939 0 -0 -1.846373 -7.627028 3.793730 0.073142 -0.996007 0.051183 0.630837 0.710034 0 +0 -1.846373 -7.627028 3.793730 0.058471 -0.997011 0.050493 0.630837 0.710034 0 env_dustpuff 0 -1.661596 -6.288904 -0.297658 -0.102955 -0.831336 -0.546151 0.567128 0.839179 0 0 1.020285 -6.675066 0.477938 0.247771 -0.968773 0.009446 0.495904 0.773939 0 @@ -1096,9 +1092,9 @@ env_dustpuff 0 4.639351 0.396729 2.504504 0.826280 0.010381 0.563163 0.286813 0.581969 0 0 3.983603 1.445758 3.410618 0.812156 -0.221151 0.539903 0.280169 0.531719 0 env_dustpuff -0 -1.394201 2.896500 4.700079 0.246379 0.833257 0.494954 0.551313 0.556019 0 -0 0.412656 4.289045 4.659005 -0.418728 0.376850 0.826227 0.633704 0.604941 0 -0 -1.264648 3.416835 3.679978 -0.365136 0.893257 0.262237 0.558384 0.606501 0 +0 0.459625 1.914936 4.260942 0.250321 0.388027 0.887003 0.639225 0.518939 0 +0 0.541209 4.123584 4.259597 -0.486234 0.258851 0.834610 0.633704 0.604941 0 +0 -1.264648 3.416835 3.679978 -0.180422 0.865401 0.467471 0.558384 0.606501 0 env_dustpuff 0 1.033917 3.445645 -0.681822 -0.087393 0.537901 -0.838466 0.823749 0.884996 0 0 2.518145 4.332802 -1.072999 0.122634 0.196925 -0.972719 0.822997 0.830371 0 @@ -1108,10 +1104,58 @@ env_dustpuff 0 4.130876 1.964314 0.094900 0.714548 0.310936 -0.626689 0.909440 0.789817 0 0 2.734164 2.554180 -0.608407 0.477552 0.073269 -0.875543 0.879764 0.836529 0 env_dustpuff -0 -3.571701 2.483058 1.895774 -0.687505 0.716728 0.116783 0.442380 0.647824 0 +0 -3.571701 2.483058 1.895774 -0.644530 0.749959 0.148803 0.442380 0.647824 0 0 -2.799206 3.213759 4.041812 0.052709 0.969198 -0.240575 0.510161 0.605341 0 0 -2.361316 3.802754 2.231946 -0.478991 0.820121 0.313001 0.500724 0.672248 0 env_dustpuff +0 -4.965730 -4.597008 6.781244 -0.615357 -0.366737 0.697739 0.796431 0.627997 0 +0 -4.611455 -6.808591 5.447112 -0.518693 -0.767746 0.376197 0.739593 0.695074 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.762650 0.530351 0 +env_dustpuff +0 -0.973979 -6.707387 7.813181 -0.463534 -0.828884 0.313189 0.650337 0.508864 0 +0 -1.557766 -5.563232 8.768108 -0.656123 -0.465674 0.593844 0.654408 0.457789 0 +0 -1.560953 -6.849657 6.394197 -0.167328 -0.911935 0.374666 0.658177 0.624526 0 +env_dustpuff +0 -1.846373 -7.627028 3.793730 0.058471 -0.997011 0.050493 0.630837 0.710034 0 +0 0.438386 -6.573803 2.837213 0.491089 -0.870698 0.026760 0.542585 0.705736 0 +0 0.667709 -6.838706 5.429961 0.233500 -0.965817 -0.112585 0.576226 0.623971 0 +env_dustpuff +0 -1.394201 2.896500 4.700079 0.436711 0.838534 0.325797 0.551313 0.556019 0 +0 0.459625 1.914936 4.260942 0.250321 0.388027 0.887003 0.639225 0.518939 0 +0 -1.264648 3.416835 3.679978 -0.180422 0.865401 0.467471 0.558384 0.606501 0 +env_dustpuff +0 2.204083 6.437559 3.511882 -0.092674 0.863181 0.496317 0.689913 0.694388 0 +0 0.742147 5.583392 3.686889 -0.557369 0.567035 0.606474 0.642384 0.675505 0 +0 1.943128 5.148556 4.691758 -0.198959 0.419394 0.885733 0.680681 0.639871 0 +env_dustpuff +0 3.596666 4.207541 4.808449 0.426103 0.140132 0.893756 0.739672 0.616207 0 +0 1.943128 5.148556 4.691758 -0.198959 0.419394 0.885733 0.680681 0.639871 0 +0 1.990628 3.351098 4.990796 -0.145209 -0.091741 0.985139 0.690648 0.579913 0 +env_dustpuff +0 -2.166393 4.734871 0.686925 -0.279526 0.958802 0.050628 0.488346 0.734311 0 +0 -2.361316 3.802754 2.231946 -0.478991 0.820121 0.313001 0.500724 0.672248 0 +0 -0.807441 4.143547 1.558359 -0.589627 0.784613 0.191629 0.547752 0.716668 0 +env_dustpuff +0 -2.361316 3.802754 2.231946 -0.478991 0.820121 0.313001 0.500724 0.672248 0 +0 -3.242637 3.798473 0.634095 -0.722278 0.690194 0.044115 0.448769 0.708777 0 +0 -3.571701 2.483058 1.895774 -0.644530 0.749959 0.148803 0.442380 0.647824 0 +env_dustpuff +0 -6.445923 -1.741713 5.298416 -0.924473 -0.077156 0.373359 0.914230 0.646428 0 +0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 +0 -4.965730 -4.597008 6.781244 -0.615357 -0.366737 0.697739 0.796431 0.627997 0 +env_dustpuff +0 -4.611455 -6.808591 5.447112 -0.518693 -0.767746 0.376197 0.739593 0.695074 0 +0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 +0 -4.629629 -7.165254 2.062109 -0.403741 -0.885556 -0.229749 0.758483 0.808049 0 +env_dustpuff +0 -6.752640 -4.286504 0.746367 -0.840437 -0.327071 -0.432077 0.886098 0.820102 0 +0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 +0 -7.071052 -2.302530 2.157271 -0.998103 0.037282 -0.048988 0.935871 0.753851 0 +env_dustpuff +0 6.176587 -1.615377 0.253571 0.954485 -0.063146 0.291498 0.296186 0.676574 0 +0 5.663241 0.591975 0.101075 0.880715 0.467751 -0.074494 0.246254 0.649701 0 +0 4.639351 0.396729 2.504504 0.826280 0.010381 0.563163 0.286813 0.581969 0 +env_dustpuff 0 -6.458420 0.528334 8.034449 -0.651251 -0.350663 0.672984 0.243084 0.419479 0 0 -4.830795 -0.531959 8.446480 -0.108029 -0.698082 0.707822 0.276860 0.356225 0 0 -5.177577 1.286432 9.094123 -0.188312 -0.140587 0.971995 0.305808 0.417012 0 @@ -1128,13 +1172,9 @@ env_dustpuff 0 1.875743 -2.245077 9.098524 0.440957 0.555603 0.704884 0.455008 0.430739 0 0 1.710646 -3.863728 9.620378 0.402283 0.076683 0.912298 0.507723 0.442479 0 env_dustpuff -0 -1.846373 -7.627028 3.793730 0.073142 -0.996007 0.051183 0.630837 0.710034 0 -0 0.438386 -6.573803 2.837213 0.499001 -0.845623 0.189522 0.542585 0.705736 0 -0 2.748743 -5.127120 3.129813 0.750436 -0.659471 0.044090 0.462114 0.659552 0 -env_dustpuff 0 -0.267947 5.323674 2.099997 -0.831247 0.552719 0.059408 0.597732 0.715986 0 -0 -0.324393 4.317910 3.403360 -0.721434 0.620637 0.307153 0.589500 0.661225 0 -0 0.742147 5.583392 3.686889 -0.545989 0.630949 0.551180 0.642384 0.675505 0 +0 -0.324393 4.317910 3.403360 -0.678646 0.591106 0.435929 0.589500 0.661225 0 +0 0.742147 5.583392 3.686889 -0.557369 0.567035 0.606474 0.642384 0.675505 0 env_dustpuff 0 -3.372419 2.062171 8.803617 0.437923 0.138096 0.888343 0.369277 0.402380 0 0 -4.663651 3.213866 8.924142 0.069300 0.515810 0.853895 0.358074 0.461737 0 @@ -1150,7 +1190,7 @@ env_dustpuff env_dustpuff 0 0.501323 -1.303311 8.070436 0.220444 0.559561 0.798934 0.391203 0.409552 0 0 -2.439435 -0.150694 7.933604 0.222744 0.011549 0.974809 0.339264 0.315701 0 -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.443835 0.294809 0 +0 -2.628032 -3.271792 8.252917 -0.481898 -0.030517 0.875696 0.443835 0.294809 0 env_dustpuff 0 0.389589 2.059997 -2.217359 0.321512 0.227383 -0.919199 0.418577 0.875119 0 0 -0.924941 3.315112 -2.093891 0.122006 0.547921 -0.827585 0.429921 0.820931 0 @@ -1168,7 +1208,7 @@ env_dustpuff 0 -6.436086 -0.607595 7.208449 -0.570897 -0.755466 0.321476 0.183084 0.431643 0 0 -6.458420 0.528334 8.034449 -0.651251 -0.350663 0.672984 0.230034 0.440084 0 env_dustpuff -0 -7.031058 0.684747 4.729231 -0.965013 -0.100774 -0.242062 0.125010 0.510667 0 +0 -7.031058 0.684747 4.729231 -0.959062 -0.106207 -0.262525 0.125010 0.510667 0 0 -5.956604 -0.890990 5.693816 -0.794384 -0.439424 0.419357 0.128866 0.435599 0 0 -6.436086 -0.607595 7.208449 -0.570897 -0.755466 0.321476 0.183084 0.431643 0 env_dustpuff @@ -1180,7 +1220,7 @@ env_dustpuff 0 3.615190 -4.284154 7.322149 0.992248 -0.056250 0.110816 0.480444 0.522296 0 0 3.021318 -5.900539 7.232013 0.837814 -0.539763 0.082001 0.522470 0.539676 0 env_dustpuff -0 -5.753561 1.097960 3.576382 -0.591376 0.572687 -0.567718 0.424740 0.751645 0 +0 -5.753561 1.097960 3.576382 -0.655689 0.484326 -0.579223 0.424740 0.751645 0 0 -5.875068 4.193391 4.679735 -0.441058 0.742986 -0.503428 0.387919 0.640123 0 0 -4.398765 3.966832 4.039354 0.072348 0.719994 -0.690199 0.443543 0.632104 0 env_dustpuff @@ -1188,51 +1228,27 @@ env_dustpuff 0 -1.494317 -3.872861 9.548464 -0.431883 0.061619 0.899822 0.553062 0.349275 0 0 0.151101 -4.779628 9.711180 -0.102928 -0.168448 0.980322 0.556577 0.412491 0 env_dustpuff -0 -4.965730 -4.597008 6.781244 -0.623540 -0.358946 0.694518 0.796431 0.627997 0 -0 -4.611455 -6.808591 5.447112 -0.520707 -0.769012 0.370789 0.739593 0.695074 0 -0 -1.560953 -6.849657 6.394197 -0.343751 -0.832675 0.434151 0.658177 0.624526 0 -env_dustpuff -0 5.663241 0.591975 0.101075 0.880715 0.467751 -0.074494 0.246254 0.649701 0 -0 4.812975 2.140386 1.924845 0.990415 -0.090053 0.104727 0.225373 0.576264 0 -0 4.639351 0.396729 2.504504 0.826280 0.010381 0.563163 0.286813 0.581969 0 -env_dustpuff 0 -3.505348 2.646826 -1.029418 -0.751416 0.399659 -0.525021 0.390753 0.741717 0 -0 -4.359773 2.511409 0.625284 -0.931457 0.361746 0.039081 0.400227 0.681400 0 +0 -4.359773 2.511409 0.625284 -0.847402 0.524007 -0.085598 0.400227 0.681400 0 0 -3.242637 3.798473 0.634095 -0.722278 0.690194 0.044115 0.448769 0.708777 0 env_dustpuff -0 0.667709 -6.838706 5.429961 0.269043 -0.951861 -0.146889 0.576226 0.623971 0 +0 0.667709 -6.838706 5.429961 0.233500 -0.965817 -0.112585 0.576226 0.623971 0 0 1.860319 -7.009234 6.480745 0.426068 -0.898472 -0.105892 0.564716 0.572078 0 0 0.658309 -7.073847 7.121888 0.015800 -0.992468 0.121481 0.609667 0.578061 0 env_dustpuff -0 -2.361316 3.802754 2.231946 -0.478991 0.820121 0.313001 0.500724 0.672248 0 -0 -1.264648 3.416835 3.679978 -0.365136 0.893257 0.262237 0.553011 0.634996 0 -0 -0.807441 4.143547 1.558359 -0.589627 0.784613 0.191629 0.547752 0.716668 0 -env_dustpuff 0 -2.157368 2.727316 7.698145 0.771778 0.364843 0.520815 0.429532 0.388194 0 0 -3.470809 3.280694 8.019220 0.401067 0.735806 0.545651 0.406571 0.436456 0 0 -4.663651 3.213866 8.924142 0.069300 0.515810 0.853895 0.358074 0.461737 0 env_dustpuff -0 1.943128 5.148556 4.691758 -0.124366 0.460014 0.879159 0.680681 0.639871 0 -0 0.412656 4.289045 4.659005 -0.418728 0.376850 0.826227 0.633704 0.604941 0 -0 1.990628 3.351098 4.990796 -0.068756 -0.125296 0.989734 0.690648 0.579913 0 -env_dustpuff 0 0.680531 -0.112203 -1.638386 0.309672 -0.056745 -0.949149 0.120770 0.763634 0 0 2.476179 1.273114 -1.607642 0.265236 0.400133 -0.877236 0.148729 0.698995 0 0 2.897597 -1.787233 -2.775616 0.031878 0.224970 -0.973844 0.212697 0.779147 0 env_dustpuff 0 -3.989214 -2.914310 -1.605702 -0.450219 -0.082172 -0.889129 0.193445 0.857324 0 -0 -5.918893 -0.667733 -0.176044 -0.739152 0.321549 -0.591828 0.197002 0.756131 0 +0 -5.918893 -0.667733 -0.176044 -0.749892 0.306512 -0.586270 0.197002 0.756131 0 0 -2.986585 -0.301857 -1.468431 -0.493984 0.046873 -0.868207 0.277795 0.820329 0 env_dustpuff -0 0.742147 5.583392 3.686889 -0.545989 0.630949 0.551180 0.642384 0.675505 0 -0 0.412656 4.289045 4.659005 -0.418728 0.376850 0.826227 0.623888 0.625848 0 -0 1.943128 5.148556 4.691758 -0.124366 0.460014 0.879159 0.680681 0.639871 0 -env_dustpuff -0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 -0 -4.611455 -6.808591 5.447112 -0.520707 -0.769012 0.370789 0.739593 0.695074 0 -0 -4.965730 -4.597008 6.781244 -0.623540 -0.358946 0.694518 0.796431 0.627997 0 -env_dustpuff -0 -1.557766 -5.563232 8.768108 -0.664407 -0.463231 0.586498 0.654408 0.457789 0 +0 -1.557766 -5.563232 8.768108 -0.656123 -0.465674 0.593844 0.654408 0.457789 0 0 0.487913 -6.382699 9.250299 -0.029277 -0.694582 0.718818 0.594303 0.481723 0 0 0.151101 -4.779628 9.711180 -0.102928 -0.168448 0.980322 0.594029 0.429865 0 env_dustpuff @@ -1240,43 +1256,19 @@ env_dustpuff 0 -1.206640 1.718124 -2.575566 -0.066346 0.033179 -0.997245 0.375176 0.833295 0 0 -1.710695 0.170393 -2.060638 -0.270247 -0.068080 -0.960381 0.319912 0.847727 0 env_dustpuff -0 -0.973979 -6.707387 7.813181 -0.463534 -0.828884 0.313189 0.650337 0.508864 0 -0 -1.557766 -5.563232 8.768108 -0.664407 -0.463231 0.586498 0.654408 0.457789 0 -0 -1.560953 -6.849657 6.394197 -0.343751 -0.832675 0.434151 0.694846 0.535806 0 -env_dustpuff -0 -1.557766 -5.563232 8.768108 -0.664407 -0.463231 0.586498 0.654408 0.457789 0 -0 -2.628032 -3.271792 8.252917 -0.648259 -0.057096 0.759276 0.710326 0.396453 0 -0 -2.542706 -4.024023 6.744800 -0.997155 -0.075082 -0.006612 0.741552 0.444945 0 -env_dustpuff 0 -4.595977 4.672959 5.471035 0.014320 0.999070 -0.040672 0.403918 0.587896 0 0 -5.893743 4.155076 6.318323 -0.389408 0.917418 0.081888 0.347070 0.571526 0 0 -6.650872 3.674511 7.802409 -0.582304 0.659842 0.474901 0.304547 0.525825 0 env_dustpuff -0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 -0 -6.445923 -1.741713 5.298416 -0.921575 -0.081407 0.379568 0.914230 0.646428 0 -0 -7.071052 -2.302530 2.157271 -0.998427 0.019458 -0.052587 0.935871 0.753851 0 -env_dustpuff 0 -2.436789 1.226230 7.876413 0.815157 -0.049780 0.577097 0.387433 0.351613 0 0 -2.157368 2.727316 7.698145 0.771778 0.364843 0.520815 0.429532 0.388194 0 0 -3.372419 2.062171 8.803617 0.437923 0.138096 0.888343 0.369277 0.402380 0 env_dustpuff -0 -6.104261 -4.872894 3.906870 -0.894204 -0.396898 0.207052 0.830989 0.725610 0 -0 -6.752640 -4.286504 0.746367 -0.840437 -0.327071 -0.432077 0.886098 0.820102 0 -0 -4.629629 -7.165254 2.062109 -0.403741 -0.885556 -0.229749 0.758483 0.808049 0 -env_dustpuff -0 -3.242637 3.798473 0.634095 -0.722278 0.690194 0.044115 0.448769 0.708777 0 -0 -4.359773 2.511409 0.625284 -0.931457 0.361746 0.039081 0.402295 0.676832 0 -0 -3.571701 2.483058 1.895774 -0.687505 0.716728 0.116783 0.442380 0.647824 0 -env_dustpuff 0 -3.427136 4.012082 6.830227 0.388953 0.860474 0.329090 0.425644 0.523152 0 0 -5.100241 4.229929 7.308022 -0.035889 0.933981 0.355516 0.365090 0.530412 0 0 -4.663651 3.213866 8.924142 0.069300 0.515810 0.853895 0.358074 0.461737 0 env_dustpuff 0 -2.157368 2.727316 7.698145 0.771778 0.364843 0.520815 0.461428 0.461313 0 0 -2.053852 1.030836 6.785968 0.705664 0.354874 0.613272 0.525590 0.437185 0 -0 -1.394201 2.896500 4.700079 0.246379 0.833257 0.494954 0.551313 0.556019 0 -env_dustpuff -0 -1.394201 2.896500 4.700079 0.246379 0.833257 0.494954 0.551313 0.556019 0 -0 0.459625 1.914936 4.260942 0.331670 0.258099 0.907403 0.639225 0.518939 0 -0 0.412656 4.289045 4.659005 -0.418728 0.376850 0.826227 0.633704 0.604941 0 +0 -1.394201 2.896500 4.700079 0.436711 0.838534 0.325797 0.551313 0.556019 0 end diff --git a/transforms/comp_entity_finder.py b/transforms/comp_entity_finder.py index d2603830a..0b7ca2744 100644 --- a/transforms/comp_entity_finder.py +++ b/transforms/comp_entity_finder.py @@ -2,10 +2,9 @@ import itertools import math from enum import Enum -from typing import Dict, Iterable from srctools.bsp_transform import trans, Context -from srctools import conv_bool, conv_float, Vec, Entity +from srctools import conv_bool, conv_float, Vec, Entity, Angle from srctools.logger import get_logger LOGGER = get_logger(__name__) @@ -33,7 +32,7 @@ class FinderModes(Enum): @trans('comp_entity_finder') def entity_finder(ctx: Context): """Finds the closest entity of a given type.""" - target_cache = {} # type: Dict[tuple, Entity] + target_cache: dict[tuple, Entity] = {} for finder in ctx.vmf.by_class['comp_entity_finder']: finder.remove() @@ -52,7 +51,7 @@ def entity_finder(ctx: Context): ) targ_fov = 180.0 targ_dot = math.cos(math.radians(targ_fov)) - normal = Vec(x=1).rotate_by_str(finder['angles']) + normal = Vec(x=1) @ Angle.from_str(finder['angles']) targ_pos = Vec.from_str(finder['origin']) if targ_ref: diff --git a/transforms/comp_relay.py b/transforms/comp_relay.py index ee9f8ea43..2644447c1 100644 --- a/transforms/comp_relay.py +++ b/transforms/comp_relay.py @@ -7,7 +7,7 @@ LOGGER = get_logger(__name__) -@trans('comp_relay') +@trans('comp_relay', priority=10) def comp_relay(ctx: Context): """Implements comp_relay, allowing zero-overhead relay ents for managing outputs. diff --git a/transforms/comp_scriptvar_setter.py b/transforms/comp_scriptvar_setter.py index 0ede208c1..1876edcaa 100644 --- a/transforms/comp_scriptvar_setter.py +++ b/transforms/comp_scriptvar_setter.py @@ -1,31 +1,38 @@ """Implements comp_scriptvar_setter.""" import re from collections import defaultdict -from typing import Dict, Type, Optional, Callable, Union, Set, List +from typing import Dict, Type, Optional, Callable, Union from srctools.bsp_transform import trans, Context +from srctools.fgd import FGD, ValueTypes from srctools.logger import get_logger -from srctools import Entity, Vec, conv_float, conv_bool +from srctools.tokenizer import escape_text +from srctools import Entity, Vec, conv_float, conv_bool, Angle LOGGER = get_logger(__name__) -MODES: Dict[str, Callable[[Entity, Entity], str]] = {} +MODES: Dict[str, Callable[[Entity, Entity, FGD], str]] = {} def vs_vec(vec: Vec) -> str: """Convert the provided Vec into a VScript Vector constructor code.""" - return 'Vector({})'.format(vec.join(', ')) + return 'Vector({})'.format(vec.join()) + + +def squirrel_string(val: str) -> str: + """Wrap the value in double-quotes to make Squirrel code to construct the string.""" + return f'"{escape_text(val)}"' class VarData: """The info stored on a variable.""" def __init__(self) -> None: # Non-array values. - self.scalar = None # type: Optional[str] + self.scalar: Optional[str] = None # Array values at a specific index. - self.specified_pos = {} # type: Dict[int, str] + self.specified_pos: dict[int, str] = {} # Array values at anywhere that fits. - self.extra_pos = set() # type: Set[str] + self.extra_pos: set[str] = set() @property def is_array(self) -> bool: @@ -35,11 +42,10 @@ def make_code(self) -> str: """Generate the code for setting this.""" if self.is_array: # First build an array big enough to fit everything. - - array = [None] * ( + array: list[Optional[str]] = [None] * ( max(self.specified_pos.keys(), default=0) + 1 + len(self.extra_pos) - ) # type: List[Optional[str]] + ) for ind, value in self.specified_pos.items(): array[ind] = value @@ -67,17 +73,17 @@ def make_code(self) -> str: def comp_scriptvar(ctx: Context): """An entity to allow setting VScript variables to information from the map.""" # {ent: {variable: data}} - set_vars = defaultdict(lambda: defaultdict(VarData)) # type: Dict[Entity, Dict[str, VarData]] + set_vars: dict[Entity, dict[str, VarData]] = defaultdict(lambda: defaultdict(VarData)) # If the index is None, there's no index. # If an int, that specific one. # If ..., blank index and it's inserted anywhere that fits. for comp_ent in ctx.vmf.by_class['comp_scriptvar_setter']: comp_ent.remove() - var_name = orig_var_name = comp_ent['variable'] - index = None # type: Union[int, Type[Ellipsis], None] + var_name = comp_ent['variable'] + index: Union[int, Type[Ellipsis], None] = None - parsed_match = re.fullmatch(r'\s*([^[]+)\[([0-9]*)\]\s*', var_name) + parsed_match = re.fullmatch(r'\s*([^[]+)\[([0-9]*)]\s*', var_name) if parsed_match: var_name, index_str = parsed_match.groups() if index_str: @@ -125,9 +131,9 @@ def comp_scriptvar(ctx: Context): ) continue else: - code = mode_func(comp_ent, ref_ent) + code = mode_func(comp_ent, ref_ent, ctx.fgd) - ent = None + ent: Optional[Entity] = None for ent in ctx.vmf.search(comp_ent['target']): var_data = set_vars[ent][var_name] # Now we've got to match the assignment this is doing @@ -191,33 +197,33 @@ def comp_scriptvar(ctx: Context): # Functions to call to compute the data to read. -def mode_const(comp_ent: Entity, ent: Entity) -> str: +def mode_const(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Set a simple constant.""" return comp_ent['const'] -def mode_string(comp_ent: Entity, ent: Entity) -> str: +def mode_string(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Set a constant, as a string.""" return '"{}"'.format(comp_ent['const']) -def mode_bool(comp_ent: Entity, ent: Entity) -> str: +def mode_bool(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Convert the value to a boolean.""" return 'true' if conv_bool(comp_ent['const']) else 'false' -def mode_inv_bool(comp_ent: Entity, ent: Entity) -> str: +def mode_inv_bool(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Convert the value to a boolean, and invert it.""" return 'false' if conv_bool(comp_ent['const']) else 'true' -def mode_name(comp_ent: Entity, ent: Entity) -> str: +def mode_name(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Set the value to the entity name.""" return '"{}"'.format(ent['targetname']) -def mode_handle(comp_ent: Entity, ent: Entity) -> str: - """Compute and return a handle to tis entity.""" +def mode_handle(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: + """Compute and return a handle to this entity.""" if ent['targetname']: return 'Entities.FindByName(null, "{}")'.format(ent['targetname']) else: @@ -228,45 +234,71 @@ def mode_handle(comp_ent: Entity, ent: Entity) -> str: ) -def mode_pos(comp_ent: Entity, ent: Entity) -> str: +def mode_keyvalue(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: + """Read a keyvalue from the entity, then match the type to a Squirrel type.""" + if ent is comp_ent: + LOGGER.warning( + 'No reference entity for keyvalue-mode ' + 'comp_scriptvar at {} targeting "{}"!', + comp_ent['origin'], comp_ent['target'], + ) + return 'null' + keyvalue = comp_ent['const'] + key = ent[comp_ent['const']] + try: + key_info = fgd[ent['classname']].kv[keyvalue] + except KeyError: + LOGGER.warning( + 'No definition for keyvalue "{}" for {} entities: ' + 'comp_scriptvar at {} targeting "{}"!\nAssuming it\'s a string.', + keyvalue, ent['classname'], + comp_ent['origin'], comp_ent['target'], + ) + return f'"{key}"' + if not key: + key = key_info.default + return KEYVALUES.get(key_info.type, squirrel_string)(key) + + +def mode_pos(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Return the position of the entity.""" pos = Vec.from_str(ent['origin']) scale = conv_float(comp_ent['const'], 1.0) return vs_vec(scale * pos) -def mode_ang(comp_ent: Entity, ent: Entity) -> str: +def mode_ang(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Return the angle of the entity, as a Vector.""" return vs_vec(Vec.from_str(ent['angles'])) -def mode_off(comp_ent: Entity, ent: Entity) -> str: +def mode_off(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Return the offset from the ent to the reference.""" scale = conv_float(comp_ent['const'], 1.0) offset = Vec.from_str(ent['origin']) - Vec.from_str(comp_ent['origin']) return vs_vec(offset * scale) -def mode_dist(comp_ent: Entity, ent: Entity) -> str: +def mode_dist(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Return the distance from the ent to the reference.""" scale = conv_float(comp_ent['const'], 1.0) offset = Vec.from_str(ent['origin']) - Vec.from_str(comp_ent['origin']) - return offset.mag() * scale + return str(offset.mag() * scale) -def _mode_axes(norm: Vec) -> Callable[[Entity, Entity], str]: +def _mode_axes(norm: Vec) -> Callable[[Entity, Entity, FGD], str]: """Return the given direction vector.""" - def mode_func(comp_ent: Entity, ent: Entity) -> str: + def mode_func(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Rotate the axis by the given value.""" - out = norm.copy().rotate_by_str(ent['angles', '0 0 0']) + out = round(norm @ Angle.from_str(ent['angles', '0 0 0']), 6) scale = conv_float(comp_ent['const'], 1.0) return vs_vec(scale * out) return mode_func -def _mode_pos_axis(axis: str) -> Callable[[Entity, Entity], str]: +def _mode_pos_axis(axis: str) -> Callable[[Entity, Entity, FGD], str]: """Return a single axis of the ent's position.""" - def mode_func(comp_ent: Entity, ent: Entity) -> str: + def mode_func(comp_ent: Entity, ent: Entity, fgd: FGD) -> str: """Rotate the axis by the given value.""" pos = Vec.from_str(ent['origin']) scale = conv_float(comp_ent['const'], 1.0) @@ -285,3 +317,32 @@ def mode_func(comp_ent: Entity, ent: Entity) -> str: for name, func in globals().items() if name.startswith('mode_') ) + +# Keyvalue types -> equivalent Squirrel code, if not just stringified. +KEYVALUES = { + ValueTypes.VOID: lambda val: 'null', + ValueTypes.SPAWNFLAGS: str, + + # Simple values + ValueTypes.BOOL: lambda v: 'true' if conv_bool(v) else 'false', + ValueTypes.INT: str, + ValueTypes.FLOAT: str, + ValueTypes.VEC: lambda val: vs_vec(Vec.from_str(val)), + ValueTypes.ANGLES: lambda val: vs_vec(Vec.from_str(val)), + + ValueTypes.STR_VSCRIPT: lambda val: f'[{", ".join(map(squirrel_string, val.split()))}]', + + ValueTypes.VEC_LINE: lambda val: vs_vec(Vec.from_str(val)), + ValueTypes.VEC_ORIGIN: lambda val: vs_vec(Vec.from_str(val)), + ValueTypes.VEC_AXIS: lambda val: vs_vec(Vec.from_str(val)), + + # Space seperated, convert to an array. + ValueTypes.COLOR_1: lambda val: f'[{", ".join(val.split())}]', + ValueTypes.COLOR_255: lambda val: f'[{", ".join(val.split())}]', + ValueTypes.SIDE_LIST: lambda val: f'[{", ".join(val.split())}]', + + ValueTypes.EXT_VEC_DIRECTION: lambda val: vs_vec(Vec.from_str(val)), + ValueTypes.EXT_VEC_LOCAL: lambda val: vs_vec(Vec.from_str(val)), + ValueTypes.EXT_ANGLE_PITCH: lambda val: vs_vec(Vec.from_str(val)), + ValueTypes.EXT_ANGLES_LOCAL: lambda val: vs_vec(Vec.from_str(val)), +} diff --git a/transforms/geocable.py b/transforms/geocable.py index 696242431..8c1364b31 100644 --- a/transforms/geocable.py +++ b/transforms/geocable.py @@ -1,17 +1,21 @@ """"Compile static prop cables, instead of sprites.""" import itertools import math +import struct +from random import Random from collections import defaultdict from enum import Enum from pathlib import Path from typing import ( - Optional, List, Tuple, NamedTuple, FrozenSet, + Optional, List, Tuple, FrozenSet, TypeVar, MutableMapping, NewType, Set, Iterable, Dict, Iterator, ) +import attr + from srctools import ( logger, conv_int, conv_float, conv_bool, - Vec, Entity, Matrix, Angle, lerp, + Vec, Entity, Matrix, Angle, lerp, FileSystem, ) from srctools.compiler.mdl_compiler import ModelCompiler from srctools.bsp_transform import Context, trans @@ -23,6 +27,12 @@ NodeID = NewType('NodeID', str) Number = TypeVar('Number', int, float) +try: + from .vactubes import nodes as vac_node_mod # type: ignore +except ImportError: + LOGGER.exception('No vactube transform:') + vac_node_mod = None + QC_TEMPLATE = '''\ $staticprop $modelname "{path}" @@ -30,12 +40,21 @@ $body body "cable.smd" $cdmaterials "" $sequence idle "cable.smd" act_idle 1 +$illumposition {light_origin} $keyvalues {{ no_propcombine 1 }} ''' +QC_TEMPLATE_PHYS = '''\ +$collisionmodel "cable_phy.smd" {{ + $automass + $concave + $maxconvexpieces {count} +}} +''' + class InterpType(Enum): """Type of interpolation to use.""" @@ -43,25 +62,89 @@ class InterpType(Enum): CATMULL_ROM = 1 ROPE = 2 + +class RopeType(Enum): + """Type of rope, for indicating special functionality.""" + ROPE = 'rope' + VAC_PROP = 'vac_prop' # Static prop + VAC_FUNCTIONAL = 'vactube_functional' # Also produces path for vactube system. + + @property + def is_vactube(self) -> bool: + """Check if this is a vactube.""" + return self._value_ != 'rope' + + +class SegPropOrient(Enum): + """Type of orientation for props placed on ropes.""" + NONE = 'none' + FULL_ROT = 'follow' + YAW_ONLY = 'yaw' + PITCH_YAW = 'pitch_yaw' + RAND_YAW = 'rand_yaw' + RAND_FULL = 'rand' + + +@attr.define class RopePhys: """Holds the data for move_rope simulation.""" - __slots__ = ['pos', 'prev_pos', 'radius'] pos: Vec - prev_pos: Vec + prev_pos: Vec = attr.ib( + init=False, + default=attr.Factory(lambda s: s.pos.copy(), takes_self=True) + ) radius: float # Just to transfer to the node. - def __init__(self, pos: Vec, radius: float) -> None: - self.pos = pos - self.prev_pos = pos.copy() - self.radius = radius ROPE_GRAVITY = -1500 SIM_TIME = 5.00 TIME_STEP = 1/50 -class Config(NamedTuple): +@attr.frozen +class SegPropConf: + """Defines configuration for a set of props placed across the rope.""" + weight: int + place_interval: int # Place every X segments. + distance: float # Alternatively place with this minimum distance. + model: str + orient: SegPropOrient + angles: Matrix + + def __hash__(self) -> int: + """Handle hashing the matrix.""" + return hash( + (self.weight, self.model, self.orient, self.place_interval) + + self.angles.to_angle().as_tuple() + ) + + +VAC_SEG_CONF = SegPropConf( + weight=1, + place_interval=0, + distance=128.0, + model='modelsrc/vactube_ring.smd', + orient=SegPropOrient.FULL_ROT, + angles=Matrix(), +) +VAC_SEG_CONF_SET = frozenset({VAC_SEG_CONF}) +VAC_RADIUS = 45.0 +VAC_COLL_RADIUS = 52.0 +VAC_MAT = 'models/props_backstage/vacum_pipe' + + +@attr.define +class SegProp: + """Definition for an actually placed segment prop.""" + model: str + offset: Vec + orient: Matrix + + +@attr.s(auto_attribs=True, frozen=True, hash=True, eq=True) +class Config: """Configuration specified in rope entities. This can be shared to reduce duplication.""" + type: RopeType material: str segments: int side_count: int @@ -72,6 +155,9 @@ class Config(NamedTuple): u_max: float v_scale: float flip_uv: bool + coll_segments: int + coll_side_count: int + seg_props: FrozenSet[SegPropConf] prop_rendercolor: Tuple[float, float, float] prop_renderalpha: int prop_no_shadows: bool @@ -91,51 +177,98 @@ def _parse_min(ent: Entity, keyvalue: str, minimum: Number, message: str) -> Num return minimum return value + @property + def is_vactube(self) -> bool: + """Check if this is a vactube.""" + return self.type.is_vactube + @classmethod - def parse(cls, ent: Entity) -> 'Config': + def parse(cls, ent: Entity, name_to_segprops: Dict[str, FrozenSet[SegPropConf]]) -> 'Config': """Parse from an entity.""" - # There's not really a material we can use for cables. - if not ent['material']: - raise ValueError(f'No material for rope "{ent["targetname"]}" at {ent["origin"]}') - segments = cls._parse_min( ent, 'segments', 0, 'Segment count for rope at ' '{} must be positive or zero!' ) - side_count = cls._parse_min( - ent, 'sides', 3, - 'Ropes cannot have less than 3 sides! (node at {})', - ) - radius = cls._parse_min( - ent, 'radius', 0.1, - 'Radius for rope at {} must be positive!', - ) - slack = cls._parse_min( - ent, 'slack', 0.0, - 'Rope at {} cannot have a negative slack!', - ) - try: - interp_type = InterpType(int(ent['positioninterpolator', '2'])) - except ValueError: - LOGGER.warning( - 'Unknown interpolation type "{}" ' - 'for rope at {}!', - ent['interpolationtype'], - ent['origin'], + + if ent['classname'].casefold() == 'comp_vactube_spline': + # More restricted config, most are preset. + skin = conv_int(ent['skin']) + rope_type = RopeType.VAC_FUNCTIONAL if skin == 1 else RopeType.VAC_PROP + if conv_bool(ent['opaque']): + material = 'models/props_backstage/vacum_pipe_opaque' + else: + material = 'models/props_backstage/vacum_pipe_glass' + + # Side counts are the same as the original models. + side_count = 24 + if conv_bool(ent['collisions']): + coll_side_count = 12 + coll_segments = math.ceil(segments / 2) + else: + coll_side_count = 0 + coll_segments = -1 + radius = VAC_RADIUS + slack = 0 # Unused. + interp_type = InterpType.CATMULL_ROM + u_min = 0.0 + u_max = 1.0 + v_scale = 1.0 + flip_uv = False + seg_props = VAC_SEG_CONF_SET + else: + rope_type = RopeType.ROPE + # There's not really a vanilla material we can use for cables. + material = ent['material'] + if not material: + raise ValueError(f'No material for rope "{ent["targetname"]}" at {ent["origin"]}') + + side_count = cls._parse_min( + ent, 'sides', 3, + 'Ropes cannot have less than 3 sides! (node at {})', ) - interp_type = InterpType.STRAIGHT + coll_segments = cls._parse_min( + ent, 'coll_segments', -1, + 'Collision segment count for rope at ' + '{} must be positive or zero!' + ) + coll_side_count = conv_int(ent['coll_sides']) + radius = cls._parse_min( + ent, 'radius', 0.1, + 'Radius for rope at {} must be positive!', + ) + slack = cls._parse_min( + ent, 'slack', 0.0, + 'Rope at {} cannot have a negative slack!', + ) + try: + interp_type = InterpType(int(ent['positioninterpolator', '2'])) + except ValueError: + LOGGER.warning( + 'Unknown interpolation type "{}" ' + 'for rope at {}!', + ent['interpolationtype'], + ent['origin'], + ) + interp_type = InterpType.STRAIGHT + + v_scale = abs(conv_float(ent['mat_scale'], 1.0)) + u_min = abs(conv_float(ent['u_min'], 0.0)) + u_max = abs(conv_float(ent['u_max'], 1.0)) + flip_uv = conv_bool(ent['mat_rotate']) + + try: + seg_props = name_to_segprops[ent['bunting'].casefold()] + except KeyError: + seg_props = frozenset() - v_scale = abs(conv_float(ent['mat_scale'], 1.0)) - u_min = abs(conv_float(ent['u_min'], 0.0)) - u_max = abs(conv_float(ent['u_max'], 1.0)) + alpha = max(0, min(255, conv_int(ent['renderamt'], 255))) # Rescale this, so that if it's 1, the pixels are square. v_scale *= (u_max - u_min) / (2*math.pi*radius) - alpha = max(0, min(255, conv_int(ent['renderamt'], 255))) - - return Config( - ent['material'], + return cls( + rope_type, + material, segments, side_count, radius, @@ -143,7 +276,10 @@ def parse(cls, ent: Entity) -> 'Config': slack, u_min, u_max, v_scale, - conv_bool(ent['mat_rotate']), + flip_uv, + coll_segments, + coll_side_count, + seg_props, tuple(Vec.from_str(ent['rendercolor'], 255, 255, 255)), alpha, conv_bool(ent['disableshadows']), @@ -155,72 +291,65 @@ def parse(cls, ent: Entity) -> 'Config': conv_float(ent['fadescale'], 0.0), ) + def coll(self) -> Optional['Config']: + """Extract the collision options from the ent.""" + return attr.evolve( + self, + material='phy', + segments=self.segments if self.coll_segments == -1 else self.coll_segments, + side_count=self.coll_side_count, + radius=VAC_COLL_RADIUS if self.type.is_vactube else self.radius, + ) + +@attr.frozen class NodeEnt: """A node entity, and its associated configuration. This is used to match with earlier compiles.""" - def __init__( - self, - pos: Vec, - config: Config, - node_id: NodeID, - group: str, - ) -> None: - self.id = node_id - self.config = config - self.group = group # Nodes with the same group compile together. - self.pos = pos - - def __repr__(self) -> str: - return f'' + pos: Vec + config: Config = attr.ib(repr=False) + id: NodeID + # Nodes with the same group compile together. But it doesn't matter for + # comparisons. + group: str = attr.ib(eq=False, hash=False) + + def relative_to(self, off: Vec) -> 'NodeEnt': + """Return a copy relative to the specified origin.""" + return NodeEnt( + self.pos - off, + self.config, + self.id, + self.group, + ) def __hash__(self) -> int: - """Allow this to be hashed.""" + """Hash the vector with the rest of the values.""" return hash(( self.id, self.pos.x, self.pos.y, self.pos.z, self.config, )) - def __eq__(self, other: object) -> object: - """Allow this to be compared.""" - if isinstance(other, NodeEnt): - return ( - self.id == other.id and - self.pos == other.pos and - self.config == other.config - ) - return NotImplemented - - def __ne__(self, other: object) -> object: - """Allow this to be compared.""" - if isinstance(other, NodeEnt): - return ( - self.id != other.id or - self.pos != other.pos or - self.config != other.config - ) - return NotImplemented - +@attr.define(eq=False) class Node: - """All the data for a node, used during constrction of the geo. + """All the data for a node, used during construction of the geo. - Unlike BasicNode, this is compared by identity, and has no ID. + Unlike NodeEnt, this is compared by identity, and has no ID. """ - def __init__(self, pos: Vec, config: Config, radius: float) -> None: - self.config = config - self.prev: Optional[Node] = None - self.next: Optional[Node] = None - self.pos = pos - self.radius = radius - # Orientation of the segment up to the next. - self.orient = Matrix() - # The points for the cylinder, on these sides. - self.points_prev: List[Vertex] = [] - self.points_next: List[Vertex] = [] + pos: Vec + config: Config + radius: float = attr.Factory(lambda s: s.config.radius, takes_self=True) + prev: Optional['Node'] = None + next: Optional['Node'] = None + # Orientation of the segment up to the next. + orient: Matrix = attr.Factory(Matrix) + # The points for the cylinder, on these sides. + points_prev: List[Vertex] = attr.Factory(list) + points_next: List[Vertex] = attr.Factory(list) @classmethod def from_ent(cls, ent: NodeEnt) -> 'Node': + """Construct from the data in a NodeEnt.""" return Node(ent.pos.copy(), ent.config, ent.config.radius) def clone(self) -> 'Node': @@ -242,6 +371,13 @@ def follow(self) -> Iterator['Node']: yield node node = node.next + def follow_no_endpoints(self) -> Iterator['Node']: + """Iterate over the nodes between this and the end.""" + node = self.next + while node is not None and node is not self and node.next is not None: + yield node + node = node.next + def __repr__(self) -> str: return f'' @@ -250,22 +386,42 @@ def build_rope( nodes_and_conn: Tuple[FrozenSet[NodeEnt], FrozenSet[Tuple[NodeID, NodeID]]], temp_folder: Path, mdl_name: str, - offset: Vec, -) -> List[Tuple[Vec, float, Vec, float]]: + args: Tuple[Vec, FileSystem], +) -> Tuple[Vec, List[Tuple[Vec, float, Vec, float]], List[SegProp], List[List[Vec]]]: """Construct the geometry for a rope.""" LOGGER.info('Building rope {}', mdl_name) ents, connections = nodes_and_conn + offset, fsys = args + mesh = Mesh.blank('root') + coll_mesh = Mesh.blank('root') [bone] = mesh.bones.values() - nodes = build_node_tree(ents, connections, offset) + nodes, coll_nodes = build_node_tree(ents, connections) interpolate_all(nodes) compute_orients(nodes) - compute_verts(nodes, bone) + compute_verts(nodes, bone, is_coll=False) - generate_straights(nodes, mesh) - generate_caps(nodes, mesh) + mesh.triangles.extend(generate_straights(nodes)) + generate_caps(nodes, mesh, is_coll=False) + + # All or nothing. + is_vactube = next(iter(nodes)).config.is_vactube + vac_points: List[List[Vec]] = [] + if is_vactube: + mesh.triangles.extend(generate_vac_beams(nodes, bone, vac_points)) + + seg_props = list(place_seg_props(nodes, fsys, mesh)) + + if coll_nodes: + # Generate the collision mesh. + interpolate_all(coll_nodes) + compute_orients(coll_nodes) + compute_verts(coll_nodes, bone, is_coll=True) + + coll_mesh.triangles.extend(generate_straights(coll_nodes)) + generate_caps(coll_nodes, coll_mesh, is_coll=True) # Move the UVs around so they don't extend too far. for tri in mesh.triangles: @@ -276,34 +432,55 @@ def build_rope( tri.point2 = tri.point2.with_uv(tri.point2.tex_u - u, tri.point2.tex_v - v) tri.point3 = tri.point3.with_uv(tri.point3.tex_u - u, tri.point3.tex_v - v) + # Use the node closest to the center. That way + # it shouldn't be inside walls, and be about representative of + # the whole model. + light_origin = min((node.pos for node in nodes), key=Vec.mag_sq) + with (temp_folder / 'cable.smd').open('wb') as fb: mesh.export(fb) + if coll_nodes: + with (temp_folder / 'cable_phy.smd').open('wb') as fb: + coll_mesh.export(fb) with (temp_folder / 'model.qc').open('w') as f: - f.write(QC_TEMPLATE.format(path=mdl_name)) - - # For visleaf computation, return a list of all the actual segments generated. - return [ + # Desolation needs this hint. + if is_vactube and hasattr(Mesh, 'NEED_TRANSLUCENT_MOSTLYOPAQUE'): + f.write('$mostlyopaque\n') + f.write(QC_TEMPLATE.format(path=mdl_name, light_origin=light_origin)) + if coll_nodes: + f.write(QC_TEMPLATE_PHYS.format(count=sum(node.next is not None for node in coll_nodes))) + + # For visleaf computation, build a list of all the actual segments generated. + coll_data = [ (node.pos + offset, node.radius, node.next.pos + offset, node.next.radius) for node in nodes if node.next ] + return (light_origin, coll_data, seg_props, vac_points) + def build_node_tree( ents: FrozenSet[NodeEnt], connections: FrozenSet[Tuple[NodeID, NodeID]], - offset: Vec, -) -> Set[Node]: +) -> Tuple[Set[Node], Set[Node]]: """Convert the ents/connections definitions into a node tree.""" # Convert them all into the real node objects. - id_to_node = { - node.id: Node(node.pos.copy(), node.config, node.config.radius) - for node in ents - } - nodes: Set[Node] = set(id_to_node.values()) + id_to_node: dict[str, tuple[Node, Optional[Node]]] = {} + vis_nodes: set[Node] = set() + coll_nodes: Set[Node] = set() + for node in ents: + vis_node = Node(node.pos.copy(), node.config) + vis_nodes.add(vis_node) + if node.config.coll_side_count >= 3: + coll_node = Node(node.pos.copy(), node.config.coll()) + coll_nodes.add(coll_node) + else: + coll_node = None + id_to_node[node.id] = (vis_node, coll_node) - def maybe_split(node: Node, attr: str) -> Node: + def maybe_split(nodes: Set[Node], node: Node, direction: str) -> Node: """Split nodes to ensure they only have 1 or 2 connections. If it has more, or multiple in one side, it will be converted @@ -313,7 +490,7 @@ def maybe_split(node: Node, attr: str) -> Node: copy = node.clone() nodes.add(copy) return copy - if getattr(node, attr) is not None: + if getattr(node, direction) is not None: # Need to split this one. if node.next is not None: forward = node.clone() @@ -332,18 +509,27 @@ def maybe_split(node: Node, attr: str) -> Node: return node for id1, id2 in connections: - first = maybe_split(id_to_node[id1], "next") - second = maybe_split(id_to_node[id2], "prev") + a_vis, a_coll = id_to_node[id1] + b_vis, b_coll = id_to_node[id2] + first = maybe_split(vis_nodes, a_vis, "next") + second = maybe_split(vis_nodes, b_vis, "prev") first.next = second second.prev = first + if a_coll is not None and b_coll is not None: + first = maybe_split(coll_nodes, a_coll, "next") + second = maybe_split(coll_nodes, b_coll, "prev") + + first.next = second + second.prev = first # Sometimes that ends up creating extra copies, so discard those. - for node in list(nodes): - if node.prev is None and node.next is None: - nodes.discard(node) + for nodeset in [vis_nodes, coll_nodes]: + for node in list(nodeset): + if node.prev is None and node.next is None: + nodeset.discard(node) - return nodes + return vis_nodes, coll_nodes def interpolate_straight(node1: Node, node2: Node, seg_count: int) -> List[Node]: @@ -373,7 +559,7 @@ def interpolate_catmull_rom(node1: Node, node2: Node, seg_count: int) -> List[No t1 = t0 + (p1-p0).mag() t2 = t1 + (p2-p1).mag() t3 = t2 + (p3-p2).mag() - points: List[Node] = [] + points: list[Node] = [] for i in range(1, seg_count + 1): t = lerp(i, 0, seg_count + 1, t1, t2) A1 = (t1-t)/(t1-t0)*p0 + (t-t0)/(t1-t0)*p1 @@ -418,10 +604,14 @@ def interpolate_rope(node1: Node, node2: Node, seg_count: int) -> List[Node]: time = 0 step = TIME_STEP gravity = Vec(z=ROPE_GRAVITY) * step**2 + # Valve uses 3 iterations, but they only ever have 10 subdivisions. + # More causes the springs to fail and start sagging, so increase the + # iteration to compensate if you use more. + constraint_iter = range(max(6, int(seg_count/2))) + LOGGER.debug('Solving rope slack for {} nodes with {} spring iterations...', seg_count, constraint_iter) # Start/end doesn't move. anchor1, *moveable, anchor2 = points - while time < SIM_TIME: time += step points[0].pos = node1.pos.copy() @@ -433,16 +623,20 @@ def interpolate_rope(node1: Node, node2: Node, seg_count: int) -> List[Node]: ) # Spring constraints. - for _ in range(3): + for _ in constraint_iter: for phys1, phys2 in springs: diff = phys1.pos - phys2.pos dist = diff.mag_sq() if dist > max_len_sqr: - diff *= 0.5 * (1 - (max_len / math.sqrt(dist))) - if phys1 is not anchor1: - phys1.pos -= diff - if phys2 is not anchor2: + diff *= 0.55 * (1 - (max_len / math.sqrt(dist))) + if phys1 is anchor1: phys2.pos += diff + elif phys2 is anchor2: + phys1.pos -= diff + else: + # Move towards the middle. + phys1.pos -= 0.5 * diff + phys2.pos += 0.5 * diff return [ Node(point.pos, node1.config, point.radius) @@ -495,8 +689,8 @@ def compute_orients(nodes: Iterable[Node]) -> None: """Compute the appropriate orientation for each node.""" # This is based on the info at: # https://janakiev.com/blog/framing-parametric-curves/ - tangents: Dict[Node, Vec] = {} - all_nodes: Set[Node] = set() + tangents: dict[Node, Vec] = {} + all_nodes: set[Node] = set() for node in nodes: if node.prev is node.next is None: continue @@ -527,7 +721,7 @@ def compute_orients(nodes: Iterable[Node]) -> None: node1 = node2 -def compute_verts(nodes: Iterable[Node], bone: Bone) -> None: +def compute_verts(nodes: Iterable[Node], bone: Bone, is_coll: bool) -> None: """Build the initial vertexes of each node.""" bone_weight = [(bone, 1.0)] todo = set(nodes) @@ -550,17 +744,26 @@ def vert(pos: Vec, off: Vec, u: float, v: float) -> Vertex: config = node1.config count = node1.config.side_count v_end = v_start + config.v_scale * (node2.pos - node1.pos).mag() + # For collisions, adjust the normal so that it points away from the + # midpoint. + if is_coll: + coll_off = (node2.pos - node1.pos) / 2.0 + else: + coll_off = Vec() for i in range(count): ang = lerp(i, 0, count, 0, 2*math.pi) local = Vec(0, math.cos(ang), math.sin(ang)) u = lerp(i, 0, count, config.u_min, config.u_max) - node1.points_next.append(vert(node1.pos, node1.radius * local @ node1.orient, u, v_start)) - if node1.next is not None: - node1.next.points_prev.append(vert(node2.pos, node2.radius * local @ node2.orient, u, v_end)) + point_1 = node1.radius * local @ node1.orient + point_2 = node2.radius * local @ node2.orient + + node1.points_next.append(vert(node1.pos + coll_off, point_1 - coll_off, u, v_start)) + if node1 is not node2: + node2.points_prev.append(vert(node2.pos - coll_off, point_2 + coll_off, u, v_end)) v_start = v_end -def generate_straights(nodes: Iterable[Node], mesh: Mesh) -> None: +def generate_straights(nodes: Iterable[Node]) -> Iterator[Triangle]: """Finally, generate all the straight-side sections.""" for node1 in nodes: node2 = node1.next @@ -588,20 +791,20 @@ def generate_straights(nodes: Iterable[Node], mesh: Mesh) -> None: else: right_b.tex_u = node2.config.u_max - mesh.triangles.append(Triangle(mat, left_a, right_b, left_b)) - mesh.triangles.append(Triangle(mat, left_a, right_a, right_b)) + yield Triangle(mat, left_a, right_b, left_b) + yield Triangle(mat, left_a, right_a, right_b) -def generate_caps(nodes: Iterable[Node], mesh: Mesh) -> None: +def generate_caps(nodes: Iterable[Node], mesh: Mesh, is_coll: bool) -> None: """Cap off any unfinished sides. We just use a simple fan layout. """ - def make_cap(orig, norm): + def make_cap(orig: 'Iterable[Vertex]', norm: Vec): # Recompute the UVs to use the first bit of the cable. points = [ Vertex( - point.pos, norm, + point.pos, (point.norm if is_coll else norm), lerp(Vec.dot(point.norm, node.orient.up()), -1, 1, node.config.u_min, node.config.u_max), lerp(Vec.dot(point.norm, node.orient.left()), -1, 1, 0, v_max), point.links, @@ -615,22 +818,230 @@ def make_cap(orig, norm): for node in nodes: v_max = node.config.u_max - node.config.u_min mat = node.config.material + if node.config.is_vactube: # No caps on vactubes. + continue if node.prev is None: make_cap(reversed(node.points_next), -node.orient.forward()) if node.next is None: make_cap(node.points_prev, node.orient.forward()) +def generate_vac_beams(nodes: Iterable[Node], bone: Bone, vac_points: List[List[Vec]]) -> Iterator[Triangle]: + """Generate the 4 beams surrounding vactubes. + + Also save off the vactube points for functional tubes. + """ + bone_weight = [(bone, 1.0)] + todo = set(nodes) + length_scale = 1 / (2*math.pi*VAC_RADIUS) + rand = Random() + # From original model, the V positions in the texture. + VERT_START = 0.260 + VERT_MID = 0.626 + VERT_END = 0.992 + # For the U axis, there's 4 beam texture sets arranged identically, + # but we only use the first 3, the 4th is for straight_b. + BEAMS = [ + (0.008684, Matrix.from_roll(0)), + (0.214734, Matrix.from_roll(90)), + (0.008684, Matrix.from_roll(180)), + (0.415821, Matrix.from_roll(270)), + ] + BEAM_IN = 39.3218 + BEAM_OUT = 51.75 + BEAM_WID = 2.17316 + node_pos: Vec + + def vert_node1(y: float, z: float, norm: tuple[float, float, float], u: float) -> Vertex: + """Helper for generating at the first node.""" + return Vertex( + pos1 + (0.0, y, z) @ orient1, + norm @ orient1, + u_off + u, v_start, + bone_weight, + ) + + def vert_node2(y: float, z: float, norm: Tuple[float, float, float], u: float) -> Vertex: + """Helper for generating a vert at the second node.""" + return Vertex( + pos2 + (0.0, y, z) @ orient2, + norm @ orient2, + u_off + u, v_end, + bone_weight, + ) + + while todo: + start = todo.pop() + start = start.find_start() + if start.next is None or not start.config.is_vactube: + continue + + points: Optional[List[Vec]] + if start.config.type is RopeType.VAC_FUNCTIONAL: + points = [] + vac_points.append(points) + else: + points = None + + v_start = VERT_START + for node1 in start.follow(): + todo.discard(node1) + + if points is not None: + points.append(node1.pos) + if node1.next is None: + continue + node2 = node1.next + + pos1 = node1.pos + pos2 = node2.pos + + if v_start > VERT_MID: + v_start = VERT_START + v_end = v_start + length_scale * (pos2 - pos1).mag() + if v_end > VERT_END: + v_end -= v_start - VERT_START + v_start = VERT_START + + for u_off, orient in BEAMS: + orient1 = orient @ node1.orient + orient2 = orient @ node2.orient + # Constructing a beam on the +Y side of the model, with pipe along X axis. + + # +Z side (left side) + yield Triangle( + VAC_MAT, + vert_node1(BEAM_IN, +BEAM_WID, (0, 0, 1), 0.0), + vert_node2(BEAM_IN, +BEAM_WID, (0, 0, 1), 0.0), + vert_node1(BEAM_OUT, +BEAM_WID, (0, 0, 1), 0.07), + ) + yield Triangle( + VAC_MAT, + vert_node2(BEAM_IN, +BEAM_WID, (0, 0, 1), 0.0), + vert_node2(BEAM_OUT, +BEAM_WID, (0, 0, 1), 0.07), + vert_node1(BEAM_OUT, +BEAM_WID, (0, 0, 1), 0.07), + ) + # +Y (outside) + yield Triangle( + VAC_MAT, + vert_node2(BEAM_OUT, +BEAM_WID, (0, 1, 0), 0.07), + vert_node2(BEAM_OUT, -BEAM_WID, (0, 1, 0), 0.095), + vert_node1(BEAM_OUT, +BEAM_WID, (0, 1, 0), 0.07), + ) + yield Triangle( + VAC_MAT, + vert_node1(BEAM_OUT, +BEAM_WID, (0, 1, 0), 0.07), + vert_node2(BEAM_OUT, -BEAM_WID, (0, 1, 0), 0.095), + vert_node1(BEAM_OUT, -BEAM_WID, (0, 1, 0), 0.095), + ) + # -Z (right side) + yield Triangle( + VAC_MAT, + vert_node1(BEAM_OUT, -BEAM_WID, (0, 0, -1), 0.095), + vert_node2(BEAM_IN, -BEAM_WID, (0, 0, -1), 0.166), + vert_node1(BEAM_IN, -BEAM_WID, (0, 0, -1), 0.166), + ) + yield Triangle( + VAC_MAT, + vert_node1(BEAM_OUT, -BEAM_WID, (0, 0, -1), 0.095), + vert_node2(BEAM_OUT, -BEAM_WID, (0, 0, -1), 0.095), + vert_node2(BEAM_IN, -BEAM_WID, (0, 0, -1), 0.166), + ) + # -Y side (inner) + yield Triangle( + VAC_MAT, + vert_node1(BEAM_IN, -BEAM_WID, (0, -1, 0), 0.166), + vert_node2(BEAM_IN, -BEAM_WID, (0, -1, 0), 0.166), + vert_node1(BEAM_IN, +BEAM_WID, (0, -1, 0), 0.191), + ) + yield Triangle( + VAC_MAT, + vert_node2(BEAM_IN, -BEAM_WID, (0, -1, 0), 0.166), + vert_node2(BEAM_IN, +BEAM_WID, (0, -1, 0), 0.191), + vert_node1(BEAM_IN, +BEAM_WID, (0, -1, 0), 0.191), + ) + v_start = v_end + + +def place_seg_props(nodes: Iterable[Node], fsys: FileSystem, mesh: Mesh) -> Iterator[SegProp]: + """Place segment props, across the nodes.""" + mesh_cache: dict[str, Mesh] = {} + prop_dists: dict[SegPropConf, float] = {} + for start_node in nodes: + # Find start nodes, we then loop in order over the nodes. + if start_node.prev is not None: + continue + prop_dists.clear() + for i, node in enumerate(start_node.follow_no_endpoints()): + weights: List[SegPropConf] = [] + dist = (node.pos - node.next.pos).mag() + for conf in node.config.seg_props: + if conf.distance: + if prop_dists.setdefault(conf, 0.0) > conf.distance: + prop_dists[conf] -= conf.distance + weights.extend(itertools.repeat(conf, conf.weight)) + else: + prop_dists[conf] += dist + elif i % conf.place_interval == 0: + weights.extend(itertools.repeat(conf, conf.weight)) + + if not weights: + # None to place here, skip. + continue + rand = Random(struct.pack( + '6f', + *node.pos, + *node.orient.forward(), + )) + + conf = rand.choice(weights) + if conf.orient is SegPropOrient.RAND_FULL: + # We cover all orientations, so pre-rotation value is irrelevant. + angles = Matrix.from_angle(Angle( + rand.uniform(0.0, 360.0), + rand.uniform(0.0, 360.0), + rand.uniform(0.0, 360.0), + )) + elif conf.orient is SegPropOrient.NONE: + angles = conf.angles + elif conf.orient is SegPropOrient.FULL_ROT: + angles = conf.angles @ node.orient + elif conf.orient is SegPropOrient.YAW_ONLY: + angles = conf.angles @ Matrix.from_yaw( + node.orient.forward().to_angle().yaw, + ) + elif conf.orient is SegPropOrient.PITCH_YAW: + forward_ang = node.orient.forward().to_angle() + forward_ang.roll = 0 + angles = conf.angles @ forward_ang + elif conf.orient is SegPropOrient.RAND_YAW: + angles = conf.angles @ Matrix.from_yaw(rand.uniform(0, 360.0)) + else: + raise AssertionError(f'Unknown orient type {conf.orient!r}') + + folded_model = conf.model.casefold() + if folded_model.endswith('.mdl'): + yield SegProp(conf.model, node.pos, angles) + continue + try: + prop_mesh = mesh_cache[folded_model] + except KeyError: + LOGGER.info('Parsing bunting mesh "{}"', conf.model) + with fsys[conf.model].open_bin() as f: + prop_mesh = mesh_cache[folded_model] = Mesh.parse_smd(f) + mesh.append_model(prop_mesh, angles, node.pos) + + def compute_visleafs( coll_data: List[Tuple[Vec, float, Vec, float]], vis_tree_top: VisTree, -) -> List[int]: +) -> List[VisLeaf]: """Compute the visleafs this rope is present in.""" # Each tree node defines a plane. For each side we touch, we need to # continue looking down that side of the tree for visleafs. # We need to do this individually for each segment pair. That way # we correctly handle cases like ropes encircling a room without entering it. - used_leafs: Set[int] = set() + used_leafs: Set[VisLeaf] = set() # Check if we collide with either side of the tree (or both). # This just involves doing a sphere-plane check with each side of the node. @@ -638,26 +1049,25 @@ def compute_visleafs( for point1, radius1, point2, radius2 in coll_data: todo_trees: List[VisTree] = [vis_tree_top] for tree in todo_trees: - off1 = Vec.dot(tree.plane_norm, point1) - tree.plane_dist - off2 = Vec.dot(tree.plane_norm, point2) - tree.plane_dist + off1 = Vec.dot(tree.plane.normal, point1) - tree.plane.dist + off2 = Vec.dot(tree.plane.normal, point2) - tree.plane.dist if off1 >= -radius1 or off2 >= -radius2: if isinstance(tree.child_neg, VisLeaf): - used_leafs.add(tree.child_neg.id) + used_leafs.add(tree.child_neg) else: todo_trees.append(tree.child_neg) if off1 <= radius1 or off2 <= radius2: if isinstance(tree.child_pos, VisLeaf): - used_leafs.add(tree.child_pos.id) + used_leafs.add(tree.child_pos) else: todo_trees.append(tree.child_pos) - return sorted(used_leafs) + return list(used_leafs) -@trans('Model Ropes') +@trans('Model Ropes', priority=-10) # Needs to be before vactubes. def comp_prop_rope(ctx: Context) -> None: """Build static props for ropes.""" - compiler = ModelCompiler.from_ctx(ctx, 'ropes') # id -> node. all_nodes: MutableMapping[NodeID, NodeEnt] = {} # Given a targetname, all the nodes with that name. @@ -666,10 +1076,36 @@ def comp_prop_rope(ctx: Context) -> None: group_to_node: Dict[str, List[NodeEnt]] = defaultdict(list) # Store the node/next-key pairs for linking after they're all parsed. temp_conns: List[Tuple[NodeEnt, str]] = [] + # Dynamic ents which will be given the static props. + group_dyn_ents: Dict[str, List[Entity]] = defaultdict(list) + # Name -> segprop configurations. + name_to_segprops_lst: dict[str, list[SegPropConf]] = defaultdict(list) + + for ent in ctx.vmf.by_class['comp_prop_rope_bunting']: + ent.remove() + name_to_segprops_lst[ent['targetname'].casefold()].append(SegPropConf( + max(1, conv_int(ent['weight'], 1)), + max(1, conv_int(ent['placement_interval'], 1)), + 0.0, + ent['model'], + SegPropOrient(ent['orient']), + Matrix.from_angle(Angle.from_str(ent['angles'])), + )) + + # Put into a set, so they're immutable and have no ordering. + # We use that to identify the same config in previous compiles. + name_to_segprops_set: dict[str, frozenset[SegPropConf]] = { + name: frozenset(lst) + for name, lst in name_to_segprops_lst.items() + } - for ent in ctx.vmf.by_class['comp_prop_rope'] | ctx.vmf.by_class['comp_prop_cable']: + for ent in itertools.chain( + ctx.vmf.by_class['comp_prop_rope'], + ctx.vmf.by_class['comp_prop_cable'], + ctx.vmf.by_class['comp_vactube_spline'], + ): ent.remove() - conf = Config.parse(ent) + conf = Config.parse(ent, name_to_segprops_set) node = NodeEnt( Vec.from_str(ent['origin']), conf, @@ -685,9 +1121,25 @@ def comp_prop_rope(ctx: Context) -> None: if ent['nextkey']: temp_conns.append((node, ent['nextkey'].casefold())) + for ent in ctx.vmf.by_class['comp_prop_rope_dynamic'] | ctx.vmf.by_class['comp_prop_cable_dynamic']: + ent['classname'] = 'prop_dynamic' + group_name = ent['group'] + del ent['group'] + if group_name not in group_to_node: + if ent['targetname']: + LOGGER.warning('Dynamic rope "{}" has no nodes in group {}!', ent['targetname'], group_name) + else: + LOGGER.warning('Dynamic rope at ({}) has no nodes in group {}!', ent['origin'], group_name) + ent.remove() + continue + group_dyn_ents[group_name].append(ent) + if not all_nodes: return LOGGER.info('{} rope nodes found.', len(all_nodes)) + if ctx.studiomdl is None: + LOGGER.warning('Ropes cannot be compiled, no StudioMDL.exe found!') + return connections_to: Dict[NodeID, List[NodeEnt]] = defaultdict(list) connections_from: Dict[NodeID, List[NodeEnt]] = defaultdict(list) @@ -701,19 +1153,16 @@ def comp_prop_rope(ctx: Context) -> None: found.extend(nodes) else: found.extend(name_to_nodes.get(target, ())) - found.sort() for dest in found: connections_from[node.id].append(dest) connections_to[dest.id].append(node) - static_props = list(ctx.bsp.static_props()) - vis_tree_top = ctx.bsp.vis_tree() - # To group nodes, take each group out, then search recursively through # all connections from it to other nodes. todo = set(all_nodes.values()) - with compiler: + with ModelCompiler.from_ctx(ctx, 'ropes', version=2) as compiler: while todo: + dyn_ents: List[Entity] = [] node = todo.pop() connections: Set[Tuple[NodeID, NodeID]] = set() # We need the set for fast is-in checks, and the list @@ -725,6 +1174,7 @@ def comp_prop_rope(ctx: Context) -> None: # Three links to others - connections to/from, and groups. # We'll only ever follow a path once, so pop from the dicts. if node.group: + dyn_ents.extend(group_dyn_ents[node.group]) for subnode in group_to_node.pop(node.group, ()): if subnode not in nodes: nodes.add(subnode) @@ -744,54 +1194,85 @@ def comp_prop_rope(ctx: Context) -> None: LOGGER.warning('Node at {} has no connections to it! Skipping.', node.pos) continue - bbox_min, bbox_max = Vec.bbox(node.pos for node in nodes) - center = (bbox_min + bbox_max) / 2 - node = None - for node in nodes: - node.pos -= center - - model_name, coll_data = compiler.get_model( - (frozenset(nodes), frozenset(connections)), - build_rope, - center, - ) - - # Use the node closest to the center. That way - # it shouldn't be inside walls, and be about representative of - # the whole model. - light_origin = min( - (point - for point1, radius1, point2, radius2 in coll_data - for point in [point1, point2]), - key=lambda pos: (pos - center).mag_sq() - ) - - # Compute the flags. Just pick a random node, from above. - conf = node.config - flags = StaticPropFlags.NONE - if conf.prop_light_bounce: - flags |= StaticPropFlags.BOUNCED_LIGHTING - if conf.prop_no_shadows: - flags |= StaticPropFlags.NO_SHADOW - if conf.prop_no_vert_light: - flags |= StaticPropFlags.NO_PER_VERTEX_LIGHTING - if conf.prop_no_self_shadow: - flags |= StaticPropFlags.NO_SELF_SHADOWING - - static_props.append(StaticProp( - model=model_name, - origin=center, - angles=Angle(0, 270, 0), - scaling=1.0, - visleafs=compute_visleafs(coll_data, vis_tree_top), - solidity=0, - flags=flags, - tint=Vec(conf.prop_rendercolor), - renderfx=conf.prop_renderalpha, - lighting_origin=light_origin, - min_fade=conf.prop_fade_min_dist, - max_fade=conf.prop_fade_max_dist, - fade_scale=conf.prop_fade_scale, - )) + for ent in dyn_ents: + origin = Vec.from_str(ent['origin']) + dyn_nodes = frozenset({ + node.relative_to(origin) + for node in nodes + }) + model_name, _ = compiler.get_model( + (dyn_nodes, frozenset(connections)), + build_rope, + (origin, ctx.pack.fsys), + ) + ent['model'] = model_name + ang = Angle.from_str(ent['angles']) + ang.yaw -= 90.0 + ent['angles'] = ang + + if not dyn_ents: # Static prop. + bbox_min, bbox_max = Vec.bbox(node.pos for node in nodes) + center = (bbox_min + bbox_max) / 2 + node = None + has_coll = False + local_nodes: set[NodeEnt] = set() + for node in nodes: + local_nodes.add(attr.evolve(node, pos=node.pos - center)) + if node.config.coll_side_count >= 3: + has_coll = True + + model_name, (light_origin, coll_data, seg_props, vac_points) = compiler.get_model( + (frozenset(local_nodes), frozenset(connections)), + build_rope, + (center, ctx.pack.fsys), + ) + + if vac_points and vac_node_mod is not None: + for track in vac_points: + vac_node_mod.SPLINES.append(vac_node_mod.Spline(center, track)) + + # Compute the flags. Just pick a random node, from above. + conf = node.config + flags = StaticPropFlags.NONE + if conf.prop_light_bounce: + flags |= StaticPropFlags.BOUNCED_LIGHTING + if conf.prop_no_shadows: + flags |= StaticPropFlags.NO_SHADOW + if conf.prop_no_vert_light: + flags |= StaticPropFlags.NO_PER_VERTEX_LIGHTING + if conf.prop_no_self_shadow: + flags |= StaticPropFlags.NO_SELF_SHADOWING + + leafs = compute_visleafs(coll_data, ctx.bsp.vis_tree()) + ctx.bsp.props.append(StaticProp( + model=model_name, + origin=center, + angles=Angle(0, 270, 0), + scaling=1.0, + visleafs=leafs, + solidity=6 if has_coll else 0, + flags=flags, + tint=Vec(conf.prop_rendercolor), + renderfx=conf.prop_renderalpha, + lighting=center + light_origin, + min_fade=conf.prop_fade_min_dist, + max_fade=conf.prop_fade_max_dist, + fade_scale=conf.prop_fade_scale, + )) + for seg_prop in seg_props: + ctx.bsp.props.append(StaticProp( + model=seg_prop.model, + origin=center + seg_prop.offset, + angles=(seg_prop.orient @ Matrix.from_yaw(270)).to_angle(), + scaling=1.0, + visleafs=leafs, # TODO: compute individual leafs here? + solidity=6, + flags=flags, + tint=Vec(conf.prop_rendercolor), + renderfx=conf.prop_renderalpha, + lighting=center + seg_prop.offset, + min_fade=conf.prop_fade_min_dist, + max_fade=conf.prop_fade_max_dist, + fade_scale=conf.prop_fade_scale, + )) LOGGER.info('Built {} models.', len(all_nodes)) - ctx.bsp.write_static_props(static_props) diff --git a/transforms/p2_brush_ents.py b/transforms/p2_brush_ents.py index 193139e2d..2b5110586 100644 --- a/transforms/p2_brush_ents.py +++ b/transforms/p2_brush_ents.py @@ -66,6 +66,7 @@ def comp_trigger_goo(ctx: Context): reloader_cache = {} # type: Dict[Tuple[float, float, float, float], Entity] for trig in ctx.vmf.by_class['comp_trigger_p2_goo']: + brush_model = ctx.bsp.bmodels[trig] trig.remove() outputs = trig.outputs.copy() trig.outputs.clear() @@ -78,6 +79,7 @@ def comp_trigger_goo(ctx: Context): diss = trig.copy() ctx.vmf.add_ents([hurt, diss]) spawnflags = conv_int(trig['spawnflags']) + ctx.bsp.bmodels[hurt] = ctx.bsp.bmodels[diss] = brush_model for keyvalue in [ 'dissolve_filter', diff --git a/transforms/vactubes/animations.py b/transforms/vactubes/animations.py index 47b01e4cd..e78df94cc 100644 --- a/transforms/vactubes/animations.py +++ b/transforms/vactubes/animations.py @@ -1,6 +1,6 @@ """Handles generating the animation model for the vactubes.""" import math -from typing import Iterator, Tuple, List, Optional, Union +from typing import Tuple, List, Optional, Union from . import nodes from .nodes import DestType @@ -21,11 +21,17 @@ def limit(x: float, num: float) -> float: FPS = 30 -class RotGen(Iterator[Tuple[float, float, float]]): +class RotGen: """Generate a stream of random rotations.""" - - def __init__(self, pitch: float=0.0, yaw: float=0.0, roll: float=0.0) -> None: + def __init__(self, seed: str, pitch: float=0.0, yaw: float=0.0, roll: float=0.0) -> None: self.rand = Random() + # If a valid hex number, use that way. Otherwise use the bytes. + try: + seed_num = int(seed, 16) + except ValueError: + self.rand.seed(seed.encode('ascii', 'replace')) + else: + self.rand.seed(seed_num) self.pit = self.yaw = self.rol = 0.0 self.pit_sp = pitch @@ -48,9 +54,15 @@ def __next__(self) -> Tuple[float, float, float]: return self.pit, self.yaw, self.rol - def tee(self) -> 'RotGen': + def tee(self: 'RotGen') -> 'RotGen': """Duplicate this rotator, so the clone maintains continuity with the last frame output.""" - return RotGen(self.pit_sp, self.yaw_sp, self.rol_sp) + # Use our random to produce the seed. This means the clone will + # produce distinct values compared to us, but will still ultimately + # be determined by the original seed. + return RotGen( + format(self.rand.getrandbits(64), 'X'), + self.pit_sp, self.yaw_sp, self.rol_sp, + ) class Animation: @@ -58,22 +70,22 @@ class Animation: def __init__(self, start_node: nodes.Spawner) -> None: self.mesh = Mesh.blank('root') self.name = '' # Set later in main transform logic. - self.rotator = RotGen() + self.rotator = RotGen(start_node.seed) [self.move_bone] = self.mesh.bones.values() self.cur_frame = 0 # For nodes with OnPass outputs, the time to fire each of those. - self.pass_points = [] # type: List[Tuple[float, nodes.Node]] + self.pass_points: list[tuple[float, nodes.Node]] = [] # Set of nodes in this animation, to prevent loops. - self.history = [start_node] # type: List[nodes.Node] + self.history: list[nodes.Node] = [start_node] # The kind of curve used for the current node. self.curve_type = DestType.PRIMARY # The source of the cubes on this animation. self.start_node = start_node # Either the start point, or the splitter to move in the secondary direction. - self.cur_node = start_node # type: Union[nodes.Spawner, nodes.Splitter] + self.cur_node: Union[nodes.Spawner, nodes.Splitter] = start_node # Once done, the ending node so we can determine if it's a dropper or not. - self.end_node = None # type: Optional[nodes.Destroyer] + self.end_node: Optional[nodes.Destroyer] = None # When branching, the amount we overshot into this node from last time. self.start_overshoot = 0.0 diff --git a/transforms/vactubes/nodes.py b/transforms/vactubes/nodes.py index 0cb002854..9628ad90b 100644 --- a/transforms/vactubes/nodes.py +++ b/transforms/vactubes/nodes.py @@ -1,7 +1,10 @@ +"""Implements the various curve types for vactubes.""" import math +import bisect +import random from abc import ABC, abstractmethod from enum import Enum -from typing import Tuple, Iterator, Iterable, Dict, Optional +from typing import Tuple, Iterator, Iterable, Dict, Optional, List, ClassVar import srctools.logger from srctools import Vec, Entity, VMF, Output, conv_bool, Angle, Matrix, lerp @@ -14,6 +17,9 @@ # start/stop showing ents on the screen. SCANNER_LENGTH = 80 +# A list of the models the geocable transform generated. +SPLINES: List['Spline'] = [] + class DestType(Enum): """The position of the output from a node..""" @@ -52,11 +58,11 @@ class Node(ABC): This has up to 3 output connections, depending on type. """ # The name of the output fired when cubes pass this. - pass_out_name: str = 'onpass' + pass_out_name: ClassVar[str] = 'onpass' # If true, keep the entity around regardless. User4 is reserved for the pass output. - keep_ent: bool = False + keep_ent: ClassVar[bool] = False # The outputs the item can use. - out_types: Iterable[DestType] = () + out_types: ClassVar[Iterable[DestType]] = () def __init__(self, ent: Entity) -> None: self.origin = Vec.from_str(ent['origin']) @@ -174,6 +180,7 @@ def parse(vmf: VMF) -> Iterator[Node]: f'Model "{orig_mdl}" is not a valid vactube ' f'junction type (at {ent["origin"]})' ) + yield from SPLINES class Spawner(Node): @@ -187,6 +194,13 @@ def __init__(self, ent: Entity) -> None: self.group = ent['group'].casefold().strip() self.speed = srctools.conv_float(ent['speed'], 800.0) self.is_auto = srctools.conv_bool(ent['timer']) + self.seed = ent['seed'] + if not self.seed: + # Generate a new seed, and notify the user so they can copy it down + # if they want to use it themselves. + self.seed = format(random.getrandbits(64), '08X') + LOGGER.info('Spawner "{}" using random seed "{}"', self.name, self.seed) + if self.is_auto: self.time_min = srctools.conv_float(ent['time_min'], 0.5) self.time_max = srctools.conv_float(ent['time_max'], 1.0) @@ -215,7 +229,7 @@ def output_norm(self, dest: DestType=DestType.PRIMARY) -> Vec: class Destroyer(Node): """The end of the track.""" pass_out_name = 'oncubearrived' - out_types = [] + out_types: ClassVar[Iterable[DestType]] = [] def vec_point(self, t: float, dest: DestType=DestType.PRIMARY) -> Vec: assert dest is DestType.PRIMARY @@ -233,6 +247,60 @@ def output_norm(self, dest: DestType=DestType.PRIMARY) -> Vec: raise AssertionError(self) +class Spline(Node): + """Special node matching a model generated by the geocable transform.""" + out_types: ClassVar[Iterable[DestType]] = [DestType.PRIMARY] + _vmf = VMF() + + def __init__(self, origin: Vec, points: List[Vec]) -> None: + # Create a dummy entity, we don't really need it. + super().__init__(self._vmf.create_ent('comp_vactube_spline', origin=origin)) + assert len(points) >= 2, 'Not enough points!' + self.start_norm = (points[1] - points[0]).norm() + self.end_norm = (points[-1] - points[-2]).norm() + + self.points = points + length = 0.0 + # Accumulate the lengths, so we can interpolate. + self.lengths = [] + last_pos = points[0] + for pos in points: + length += (pos - last_pos).mag() + self.lengths.append(length) + last_pos = pos + self.length = length + + def path_len(self, dest: DestType = DestType.PRIMARY) -> float: + """Return the total length of this path.""" + assert dest is DestType.PRIMARY + return self.length + + def vec_point(self, t: float, dest: DestType = DestType.PRIMARY) -> Vec: + """Given an interpolation point between 0-1, find the location at that point.""" + assert dest is DestType.PRIMARY + dist = self.length * t + i = bisect.bisect_left(self.lengths, dist) + pos1, len1 = self.points[i], self.lengths[i] + try: + pos2, len2 = self.points[i+1], self.lengths[i+1] + except IndexError: # End of list. + return self.origin + pos1 + return self.origin + Vec( + lerp(dist, len1, len2, pos1.x, pos2.x), + lerp(dist, len1, len2, pos1.y, pos2.y), + lerp(dist, len1, len2, pos1.z, pos2.z), + ) + + def input_norm(self) -> Vec: + """Return the direction of the input side.""" + return self.start_norm.copy() + + def output_norm(self, dest: DestType = DestType.PRIMARY) -> Vec: + """return the direction of the output side.""" + assert dest is DestType.PRIMARY + return self.end_norm.copy() + + class Dropper(Destroyer): """The endpoint which is linked to/controls a dropper.""" keep_ent = True @@ -380,7 +448,7 @@ def vec_point(self, t: float, dest: DestType=DestType.PRIMARY) -> Vec: t = 1.0 - t if t < self.STRAIGHT_PERC: - x = 0 + x = 0.0 y = lerp(t, 0.0, self.STRAIGHT_PERC, 128, 72) else: ang = lerp(t, self.STRAIGHT_PERC, 1.0, 0.0, math.pi/4) @@ -454,7 +522,7 @@ def path_len(self, dest: DestType=DestType.PRIMARY) -> float: assert dest is DestType.PRIMARY return 32.0 - def vec_point(self, t: float, dest: DestType=DestType.PRIMARY) -> float: + def vec_point(self, t: float, dest: DestType=DestType.PRIMARY) -> Vec: """Return points along the path inside this node.""" assert dest is DestType.PRIMARY return self.origin + Vec(x=32.0*t - 16.0) @ self.matrix diff --git a/transforms/vactubes/objects.py b/transforms/vactubes/objects.py index 2e447e8d8..c24e19ab0 100644 --- a/transforms/vactubes/objects.py +++ b/transforms/vactubes/objects.py @@ -104,4 +104,4 @@ def parse(vmf: VMF, pack: PackList) -> Tuple[ ) codes[group] = pack.inject_vscript('\n'.join(code)) - return len(vac_objects), cube_objects, codes + return sum(map(len, vac_objects.values())), cube_objects, codes diff --git a/unify_fgd.py b/unify_fgd.py index eb3ce4e70..d083806f5 100644 --- a/unify_fgd.py +++ b/unify_fgd.py @@ -36,9 +36,9 @@ ('DODS', 'Day of Defeat: Source'), ('CSS', 'Counter-Strike: Source'), - ('HL2', 'Half-Life 2'), - ('EP1', 'Half-Life 2 Episode 1'), - ('EP2', 'Half-Life 2 Episode 2'), + ('HL2', 'Half-Life 2'), + ('EP1', 'Half-Life 2 Episode 1'), + ('EP2', 'Half-Life 2 Episode 2'), # Not chronologically here, but it uses 2013 as the base. ('MBASE', 'Mapbase'), @@ -46,18 +46,19 @@ ('MESA', 'Black Mesa'), ('GMOD', "Gary's Mod"), - ('TF2', 'Team Fortress 2'), - ('P1', 'Portal'), - ('L4D', 'Left 4 Dead'), - ('L4D2', 'Left 4 Dead 2'), - ('ASW', 'Alien Swam'), - ('P2', 'Portal 2'), + ('TF2', 'Team Fortress 2'), + ('P1', 'Portal'), + ('L4D', 'Left 4 Dead'), + ('L4D2', 'Left 4 Dead 2'), + ('ASW', 'Alien Swarm'), + ('P2', 'Portal 2'), + ('P2SIXENSE', 'Portal 2 Sixense MotionPack'), ('INFRA', 'INFRA'), - ('CSGO', 'Counter-Strike Global Offensive'), + ('CSGO', 'Counter-Strike Global Offensive'), - ('SFM', 'Source Filmmaker'), + ('SFM', 'Source Filmmaker'), ('DOTA2', 'Dota 2'), - ('PUNT', 'PUNT'), + ('PUNT', 'PUNT'), ('P2DES', 'Portal 2: Desolation'), ] # type: List[Tuple[str, str]] @@ -67,28 +68,26 @@ # Specific features that are backported to various games. FEATURES: Dict[str, Set[str]] = { - # 2013 engine backports this. - 'HL2': {'INSTANCING'}, - 'EP1': {'INSTANCING'}, - 'EP2': {'INSTANCING'}, + 'EP1': {'HL2'}, + 'EP2': {'HL2', 'EP1'}, - 'MBASE': {'INSTANCING', 'VSCRIPT'}, - 'MESA': {'INSTANCING', 'INST_IO'}, + 'MBASE': {'VSCRIPT'}, + 'MESA': {'INST_IO'}, 'GMOD': {'HL2', 'EP1', 'EP2'}, - - 'L4D': {'INSTANCING'}, - 'L4D2': {'INSTANCING', 'INST_IO', 'VSCRIPT'}, - 'TF2': {'INSTANCING', 'PROP_SCALING'}, - 'ASW': {'INSTANCING', 'INST_IO', 'VSCRIPT'}, - 'P2': {'INSTANCING', 'INST_IO', 'VSCRIPT'}, - 'CSGO': {'INSTANCING', 'INST_IO', 'PROP_SCALING', 'VSCRIPT', 'PROPCOMBINE'}, - 'INFRA': {'P2', 'INSTANCING', 'INST_IO', 'VSCRIPT'}, - 'P2DES': {'P2', 'INSTANCING', 'INST_IO', 'PROP_SCALING', 'VSCRIPT', 'PROPCOMBINE'}, + + 'L4D2': {'INST_IO', 'VSCRIPT'}, + 'TF2': {'PROP_SCALING'}, + 'ASW': {'INST_IO', 'VSCRIPT'}, + 'P2': {'INST_IO', 'VSCRIPT'}, + 'P2SIXENSE': {'P2', 'INST_IO', 'VSCRIPT'}, + 'CSGO': {'INST_IO', 'PROP_SCALING', 'VSCRIPT', 'PROPCOMBINE'}, + 'INFRA': {'P2', 'INST_IO', 'VSCRIPT'}, + 'P2DES': {'P2', 'INST_IO', 'PROP_SCALING', 'VSCRIPT', 'PROPCOMBINE'}, } ALL_FEATURES = { - tag.upper() - for t in FEATURES.values() + tag.upper() + for t in FEATURES.values() for tag in t } @@ -207,7 +206,7 @@ def _polyfill_ext_valuetypes(fgd: FGD) -> None: def format_all_tags() -> str: """Append a formatted description of all allowed tags to a message.""" - + return ( '- Games: {}\n' '- SINCE_\n' @@ -230,7 +229,7 @@ def expand_tags(tags: FrozenSet[str]) -> FrozenSet[str]: for tag in tags: try: exp_tags.update(FEATURES[tag.upper()]) - except KeyError: + except KeyError: pass try: pos = GAME_ORDER.index(tag.upper()) @@ -238,11 +237,11 @@ def expand_tags(tags: FrozenSet[str]) -> FrozenSet[str]: pass else: exp_tags.update( - 'SINCE_' + tag + 'SINCE_' + tag for tag in GAME_ORDER[:pos+1] ) exp_tags.update( - 'UNTIL_' + tag + 'UNTIL_' + tag for tag in GAME_ORDER[pos+1:] ) return frozenset(exp_tags) @@ -279,40 +278,40 @@ def load_database(dbase: Path, extra_loc: Path=None, fgd_vis: bool=False) -> Tup # Classname -> filename ent_source: Dict[str, str] = {} - with RawFileSystem(str(dbase)) as fsys: - for file in dbase.rglob("*.fgd"): - # Use a temp FGD class, to allow us to verify no overwrites. - file_fgd = FGD() - rel_loc = str(file.relative_to(dbase)) - file_fgd.parse_file( - fsys, - fsys[rel_loc], - eval_bases=False, - encoding='utf8', - ) - for clsname, ent in file_fgd.entities.items(): - if clsname in fgd.entities: - raise ValueError( - f'Duplicate "{clsname}" class ' - f'in {rel_loc} and {ent_source[clsname]}!' - ) - fgd.entities[clsname] = ent - ent_source[clsname] = rel_loc - - if fgd_vis: - for parent, visgroup in file_fgd.auto_visgroups.items(): - try: - existing_group = fgd.auto_visgroups[parent] - except KeyError: - fgd.auto_visgroups[parent] = visgroup - else: # Need to merge - existing_group.ents.update(visgroup.ents) + fsys = RawFileSystem(str(dbase)) + for file in dbase.rglob("*.fgd"): + # Use a temp FGD class, to allow us to verify no overwrites. + file_fgd = FGD() + rel_loc = str(file.relative_to(dbase)) + file_fgd.parse_file( + fsys, + fsys[rel_loc], + eval_bases=False, + encoding='utf8', + ) + for clsname, ent in file_fgd.entities.items(): + if clsname in fgd.entities: + raise ValueError( + f'Duplicate "{clsname}" class ' + f'in {rel_loc} and {ent_source[clsname]}!' + ) + fgd.entities[clsname] = ent + ent_source[clsname] = rel_loc + + if fgd_vis: + for parent, visgroup in file_fgd.auto_visgroups.items(): + try: + existing_group = fgd.auto_visgroups[parent] + except KeyError: + fgd.auto_visgroups[parent] = visgroup + else: # Need to merge + existing_group.ents.update(visgroup.ents) - fgd.mat_exclusions.update(file_fgd.mat_exclusions) - for tags, mat_list in file_fgd.tagged_mat_exclusions.items(): - fgd.tagged_mat_exclusions[tags] |= mat_list + fgd.mat_exclusions.update(file_fgd.mat_exclusions) + for tags, mat_list in file_fgd.tagged_mat_exclusions.items(): + fgd.tagged_mat_exclusions[tags] |= mat_list - print('.', end='', flush=True) + print('.', end='', flush=True) load_visgroup_conf(fgd, dbase) @@ -320,22 +319,22 @@ def load_database(dbase: Path, extra_loc: Path=None, fgd_vis: bool=False) -> Tup print('\nLoading extra file:') if extra_loc.is_file(): # One file. - with RawFileSystem(str(extra_loc.parent)) as fsys: + fsys = RawFileSystem(str(extra_loc.parent)) + fgd.parse_file( + fsys, + fsys[extra_loc.name], + eval_bases=False, + ) + else: + print('\nLoading extra files:') + fsys = RawFileSystem(str(extra_loc)) + for file in extra_loc.rglob("*.fgd"): fgd.parse_file( fsys, - fsys[extra_loc.name], + fsys[str(file.relative_to(extra_loc))], eval_bases=False, ) - else: - print('\nLoading extra files:') - with RawFileSystem(str(extra_loc)) as fsys: - for file in extra_loc.rglob("*.fgd"): - fgd.parse_file( - fsys, - fsys[str(file.relative_to(extra_loc))], - eval_bases=False, - ) - print('.', end='', flush=True) + print('.', end='', flush=True) print() fgd.apply_bases() @@ -745,7 +744,7 @@ def action_export( engine_mode: bool, ) -> None: """Create an FGD file using the given tags.""" - + if engine_mode: tags = frozenset({'ENGINE'}) else: @@ -1183,9 +1182,9 @@ def main(args: List[str]=None): result.tags = ['ENGINE'] elif not result.tags: parser.error("At least one tag must be specified!") - + tags = validate_tags(result.tags) - + for tag in tags: if tag not in ALL_TAGS: parser.error(