diff --git a/.gitignore b/.gitignore index 0634a8c..89dd3f0 100644 --- a/.gitignore +++ b/.gitignore @@ -21,9 +21,9 @@ log.txt **/autosave/*.map # Generated Map -assets/maps/**/buffer -assets/maps/**/collisionobject -assets/maps/**/convexshape -assets/maps/**/mesh -assets/maps/**/script -assets/maps/**/*.collection \ No newline at end of file +example/maps/**/buffer +example/maps/**/collisionobject +example/maps/**/convexshape +example/maps/**/mesh +example/maps/**/script +example/maps/**/*.collection \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index a2f124e..e018cb6 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -11,7 +11,7 @@ "lua": "lua5.1", "file": "trenchfold/cli.lua", }, - "args": ["assets/maps/level", "level"] + "args": ["example/maps/level", "level"] }, { "name": "Defold Kit", diff --git a/README.md b/README.md index 12756a7..e10f816 100644 --- a/README.md +++ b/README.md @@ -43,27 +43,18 @@ TrenchBroom was originally created to design Quake-format levels, but thanks to ## Running the Example -To run the example project, you first need to run two editor extension functions on a map file provided, according the [Export and Import](#export-and-import) part. +To run the example project, you first need to import the example map. -With the project open in Defold, right click on the [level.map](https://github.com/astrochili/defold-trenchfold/blob/master/assets/maps/level/level.map) file then click on `Convert Map to Collection`. This will create a variety of folders and files next to the .map file. You can now build and run the example. +With the project open in Defold, right click on the [level.map](https://github.com/astrochili/defold-trenchfold/blob/master/example/maps/level/level.map) file then click on `Convert Map to Collection`. This will create a variety of folders and files next to the `.map` file. You can now build and run the example. ## Install 1. Add link to the zip-archive of the latest version of [defold-trenchfold](https://github.com/astrochili/defold-trenchfold/releases) to your Defold project as [dependency](http://www.defold.com/manuals/libraries/). -2. Copy the `trenchfold/games/Defold` folder according [this instruction](https://trenchbroom.github.io/manual/latest/#game_configuration_files) to TrenchBroom user data folder. -3. Place your texture packs at path `assets/textures` to use them in TrenchBroom. -4. Set your game project path as the game path in TrenchBroom preferences when creating the first map. -5. Setup `textel_size` and `material` in the [worldspawn](#worldspawn) entity. +2. Copy the `trenchfold/assets/trenchbroom/games/Defold` folder according [this instruction](https://trenchbroom.github.io/manual/latest/#game_configuration_files) to TrenchBroom user data folder. +3. Set your game project path as the game path in TrenchBroom preferences when creating the first map. +4. Setup `textel_size` and `material` in the [worldspawn](#worldspawn) entity. -## Export and Import - -### Export - -Before import you need to export `.obj` file from TrenchBroom by menu `File / Export / Wavefront OBJ`. The importing script uses `.obj` data to parse vertices, so it must be done every time the geometry is changed. - -It would be possible to skip this step by solving the issue [#1](https://github.com/astrochili/defold-trenchfold/issues/1). - -### Import +## Import #### Editor Script @@ -73,7 +64,13 @@ Find your `.map` file in the resources pane of the editor and right click on it There is also the `trenchfold/cli.lua` module to run the import script outside the editor. Just pass it two arguments - `relative/map_folder` and `map_name`. -For example, there is [`.vscode/launch.json`](.vscode/launch.json) to run `trenchfold/cli.lua` with the `level` map in VS Code. You can try to run it by installing [Defold Kit](https://marketplace.visualstudio.com/items?itemName=astronachos.defold) or just [local-lua-debugger](https://marketplace.visualstudio.com/items?itemName=tomblind.local-lua-debugger-vscode). +#### VS Code + +There is a working example of launch configuration in [`.vscode/launch.json`](.vscode/launch.json). It launches `trenchfold/cli.lua` with the `/example/maps/level` map by using [local-lua-debugger](https://marketplace.visualstudio.com/items?itemName=tomblind.local-lua-debugger-vscode). Requires Lua or LuaJIT to be installed on your computer. + +#### TrenchBroom + +You can create a [compilation profile](https://iroom.github.io/manual/latest/#compiling_maps) inside TrenchBroom with the `Run Tool` step to run [cli.lua](#lua-module). Requires Lua or LuaJIT to be installed on your computer. ## Textures @@ -81,23 +78,23 @@ For example, there is [`.vscode/launch.json`](.vscode/launch.json) to run `trenc The game configuration includes marking textures at `flags/textures`. They are handled by the exporting script to provide specific behaviour to the faces without normal textures. -### unused +#### unused This face will be skipped when exporting. Use it to remove useless faces from the geometry. -### clip +#### clip Creates a collision object without texture. Use it to create invisible walls and useful collision geometry. -### trigger +#### trigger Creates a trigger collision object. -### area +#### area Doesn't create collision objects but its vertices positions will be sent to the object with the `init_area` message. @@ -107,13 +104,13 @@ Use it to process the area programmaticaly. There are few content flags in the face properties. -### ghost +#### ghost The face isn't solid and doesn't generate a collision object vertices. Use it on objects that can be passed through or that the player will never reach. -### separated +#### separated The face generates a separate plane collision object. @@ -125,7 +122,7 @@ A rare use case is when you have a wall corner with two solid faces and you don' There are brush entities and point entities. The difference is that a brush entity contains geometry brushes, while the point entity has only an origin position and rotation. -### worldspawn +#### worldspawn The default entity for all the geometry outside of the other entities. Also has some general settings of exporting. @@ -134,7 +131,7 @@ The default entity for all the geometry outside of the other entities. Also has - `textureN` — path to the texture where `N` is number from `1` to `7`. See [texture path patterns](#texture-path-patterns). - `physics_*` — collision object properties used by default. -### static* +#### static* A brush entity with the static collision type. The only reason to use it is to attach components and set properties because the `worldspawn` is static by default. To use [areas](#area) or destroy parts of the level, e.g. @@ -145,7 +142,7 @@ A brush entity with the static collision type. The only reason to use it is to a - `textureN` — path to the texture where `N` is number from `1` to `7`. See [texture path patterns](#texture-path-patterns). - `physics_*` — collision object properties related to static collision type. -### trigger* +#### trigger* To be fair, triggers are created by the [trigger](#trigger) texture, not the entity. But you also need to put scripts and parameters on this trigger, so which is what this entity is for. @@ -156,7 +153,7 @@ If you place brushes with normal textures to this entity they also become trigge - `#component_id.property` — the script component property override. - `physics_*` — collision object properties related to trigger collision type. -### kinematic* +#### kinematic* A brush entity with the kinematic collision type. Use it for moving platforms or sliding doors, for example. @@ -167,7 +164,7 @@ A brush entity with the kinematic collision type. Use it for moving platforms or - `textureN` — path to the texture where `N` is number from `1` to `7`. See [texture path patterns](#texture-path-patterns). - `physics_*` — collision object properties related to kinematic collision type. -### dynamic* +#### dynamic* A brush entity with dthe ynamic collision type. This could be, for example, a crate that the player can move. @@ -178,7 +175,7 @@ A brush entity with dthe ynamic collision type. This could be, for example, a cr - `textureN` — path to the texture where `N` is number from `1` to `7`. See [texture path patterns](#texture-path-patterns). - `physics_*` — collision object properties related to dynamic collision type. -### go +#### go This is a point entity to add a game object without meshes and collision objects. You can attach any file components to it or replace it with you `.go` file. @@ -190,7 +187,7 @@ This is a point entity to add a game object without meshes and collision objects - `#component_id` — the relative path to the file component that will be attached to this game object as `component_id`. Ignored if the `go` property exists. - `#component_id.property` — the script component property override. -### illumination, light_point, light_spot +#### illumination, light_point, light_spot These are helpers for placing 💡 [Illumination](https://github.com/astrochili/defold-illumination) objects on the map. Don't forget to fill the `go` property with default value. @@ -212,27 +209,27 @@ All the custom properties will be a part of the script component with the `prope go.get('#properties', 'property') ``` -### bool +#### bool The values `true` and `false` are converted to boolean. -### number +#### number The value which can be handled with `tonumber()` is converted to number. If the number is flags value then you can parse it with `utils.flags_from_integer(value)` from the `trenchfold/utils.lua` module. -### vectors +#### vectors - Value `x y` is converted to `math.vector3(x, y, 0)`. - Value `x y z` is converted to `math.vector3(x, y, w)`. - Value `x y z w` is converted to `math.vector4(x, y, z, w)`. -### *url +#### *url Property ending with `url` is converted to `msg.url('value')`. -### hash +#### hash Any other string property is converted to `hash 'value'`. diff --git a/assets/maps/level/level.map b/assets/maps/level/level.map deleted file mode 100644 index d5501ee..0000000 --- a/assets/maps/level/level.map +++ /dev/null @@ -1,1299 +0,0 @@ -// Game: Defold -// Format: Quake2 -// entity 0 -{ -"classname" "worldspawn" -"_tb_textures" "textures/flags;textures/retro" -"textel_size" "32" -"physics_mask" "walker, default" -"material" "/materials/model.material" -// brush 0 -{ -( 0 224 0 ) ( 0 192 0 ) ( 0 192 -48 ) retro/FLOOR_2G 0 0 -90 1 -1 -( 0 192 0 ) ( 64 192 0 ) ( 64 192 -48 ) flags/unused 0 0 180.00002 1 -1 -( 64 192 -48 ) ( 64 224 -48 ) ( 0 224 -48 ) flags/unused 0 0 179.99998 1 1 -( 0 224 0 ) ( 64 224 0 ) ( 64 192 0 ) retro/FLOOR_2G 0 0 179.99998 1 1 -( 64 224 -48 ) ( 64 224 0 ) ( 0 224 0 ) retro/FLOOR_2G 0 0 180.00002 1 -1 -( 64 192 0 ) ( 64 224 0 ) ( 64 224 -48 ) retro/FLOOR_2G 0 0 -90 1 -1 -} -// brush 1 -{ -( -32 192 0 ) ( -64 160 0 ) ( -64 160 -16 ) retro/FLOOR_2A 0 0 0 1 1 -( -64 160 0 ) ( 128 160 0 ) ( 128 160 -16 ) flags/unused 0 0 0 1 1 -( -64 160 -16 ) ( 128 160 -16 ) ( 96 192 -16 ) flags/unused 0 0 0 1 1 -( 96 192 0 ) ( 128 160 0 ) ( -64 160 0 ) retro/FLOOR_2A 0 0 0 1 1 -( 96 192 -16 ) ( 96 192 0 ) ( -32 192 0 ) retro/FLOOR_2A 0 0 0 1 1 -( 128 160 -16 ) ( 128 160 0 ) ( 96 192 0 ) retro/FLOOR_2A 0 0 0 1 1 -} -// brush 2 -{ -( -160 64 0 ) ( -160 -64 0 ) ( -160 -64 -16 ) retro/STEEL_1A 0 0 0 1 1 -( -160 -64 0 ) ( -64 -160 0 ) ( -64 -160 -16 ) retro/STEEL_1A 0 0 0 1 1 -( -64 160 -16 ) ( -64 160 0 ) ( -160 64 0 ) retro/STEEL_1A 0 0 0 1 1 -( -64 -160 0 ) ( 128 -160 0 ) ( 128 -160 -16 ) retro/STEEL_1A 0 0 0 1 1 -( 224 -64 -16 ) ( 224 64 -16 ) ( 128 160 -16 ) flags/unused 0 0 0 1 1 -( 128 160 0 ) ( 224 64 0 ) ( 224 -64 0 ) retro/STEEL_1A 0 0 0 1 1 -( 128 160 -16 ) ( 128 160 0 ) ( -64 160 0 ) flags/unused 0 0 0 1 1 -( 128 -160 0 ) ( 224 -64 0 ) ( 224 -64 -16 ) retro/STEEL_1A 0 0 0 1 1 -( 224 64 -16 ) ( 224 64 0 ) ( 128 160 0 ) retro/STEEL_1A 0 0 0 1 1 -( 224 -64 0 ) ( 224 64 0 ) ( 224 64 -16 ) retro/STEEL_1A 0 0 0 1 1 -} -// brush 3 -{ -( -16 320 -48 ) ( 0 288 -32 ) ( -48 240 -48 ) retro/CONCRETE_1A -32 0 179.99998 1 -1 -( -48 240 -48 ) ( 0 288 -32 ) ( 0 192 -32 ) retro/CONCRETE_1A -32 0 179.99998 1 -1 -( -16 320 -48 ) ( 80 336 -48 ) ( 0 288 -32 ) retro/CONCRETE_1A 0 32 180.00002 1 -1 -( 0 192 -32 ) ( 64 192 -32 ) ( -48 240 -48 ) flags/unused 0 35.487183 180.00002 1 -1 -( -48 240 -48 ) ( 112 256 -48 ) ( 80 336 -48 ) flags/unused 0 0 179.99998 1 1 -( 0 288 -32 ) ( 64 288 -32 ) ( 64 192 -32 ) retro/FLOOR_2G 0 0 270 1 1 -( 0 288 -32 ) ( 80 336 -48 ) ( 64 288 -32 ) retro/CONCRETE_1A 0 32 180.00002 1 -1 -( 64 192 -32 ) ( 112 256 -48 ) ( -48 240 -48 ) flags/unused 0 35.487183 180.00002 1 -1 -( 64 288 -32 ) ( 112 256 -48 ) ( 64 192 -32 ) retro/CONCRETE_1A -32 0 179.99998 1 -1 -( 80 336 -48 ) ( 112 256 -48 ) ( 64 288 -32 ) retro/CONCRETE_1A -32 0 179.99998 1 -1 -} -// brush 4 -{ -( -176 -96 -48 ) ( -208 96 -48 ) ( -160 -64 -16 ) retro/CONCRETE_1B -1.1851959 -0.790123 0 1 1 -( -208 96 -48 ) ( -160 64 -16 ) ( -160 -64 -16 ) retro/CONCRETE_1B 21.233688 60.51961 0 1 1 -( -64 -160 -16 ) ( -48 -208 -48 ) ( -176 -96 -48 ) retro/CONCRETE_1B -32 -1.2307739 0 1 1 -( -160 -64 -16 ) ( -64 -160 -16 ) ( -176 -96 -48 ) retro/CONCRETE_1B -32 -1.2307739 0 1 1 -( -48 240 -48 ) ( -32 192 -16 ) ( -208 96 -48 ) retro/CONCRETE_1B 0 48 0 1 1 -( -208 96 -48 ) ( -32 192 -16 ) ( -160 64 -16 ) retro/CONCRETE_1B 0 48 0 1 1 -( -48 240 -48 ) ( 112 256 -48 ) ( -32 192 -16 ) retro/CONCRETE_1B 0 58.605362 0 1 1 -( -64 -160 -16 ) ( 128 -160 -16 ) ( -48 -208 -48 ) retro/CONCRETE_1B 0 -23.86885 0 1 1 -( 240 -80 -48 ) ( 272 80 -48 ) ( 112 256 -48 ) flags/unused 0 0 0 1 1 -( 96 192 -16 ) ( 224 64 -16 ) ( 224 -64 -16 ) flags/unused 0 0 0 1 1 -( -32 192 -16 ) ( 112 256 -48 ) ( 96 192 -16 ) retro/CONCRETE_1B 0 58.605362 0 1 1 -( -48 -208 -48 ) ( 128 -160 -16 ) ( 128 -192 -48 ) retro/CONCRETE_1B 0 -23.86885 0 1 1 -( 112 256 -48 ) ( 224 64 -16 ) ( 96 192 -16 ) retro/CONCRETE_1B -35.432693 61.558228 0 1 1 -( 112 256 -48 ) ( 272 80 -48 ) ( 224 64 -16 ) retro/CONCRETE_1B -35.432693 61.558228 0 1 1 -( 224 64 -16 ) ( 272 80 -48 ) ( 224 -64 -16 ) retro/CONCRETE_1B -39.489365 55.602837 0 1 1 -( 224 -64 -16 ) ( 240 -80 -48 ) ( 128 -192 -48 ) retro/CONCRETE_1B -32 -48.62745 0 1 1 -( 224 -64 -16 ) ( 272 80 -48 ) ( 240 -80 -48 ) retro/CONCRETE_1B 0 0 0 1 1 -} -// brush 5 -{ -( 0 256 -16 ) ( 0 224 -16 ) ( 0 224 -48 ) retro/FLOOR_2G 0 0 -180 1 -1 -( 0 224 -16 ) ( 64 224 -16 ) ( 64 224 -48 ) flags/unused 0 0 180.00002 1 -1 -( 64 224 -48 ) ( 64 256 -48 ) ( 0 256 -48 ) flags/unused 0 0 179.99998 1 1 -( 0 256 -16 ) ( 64 256 -16 ) ( 64 224 -16 ) retro/FLOOR_2G 0 0 270 1 1 -( 64 256 -48 ) ( 64 256 -16 ) ( 0 256 -16 ) retro/FLOOR_2G 0 0 180.00002 1 -1 -( 64 224 -16 ) ( 64 256 -16 ) ( 64 256 -48 ) retro/FLOOR_2G 0 0 -90 1 -1 -} -// brush 6 -{ -( 0 472 -40 ) ( 0 304 -40 ) ( 0 304 -48 ) retro/CONCRETE_2A 0 8 90 1 1 0 0 0 -( 0 304 -40 ) ( 64 304 -40 ) ( 64 304 -48 ) flags/unused 0 0 0 1 1 0 0 0 -( 64 304 -48 ) ( 64 472 -48 ) ( 0 472 -48 ) flags/unused 0 -8 0 1 1 0 0 0 -( 0 472 -40 ) ( 64 472 -40 ) ( 64 304 -40 ) retro/CONCRETE_2A 0 -8 0 1 1 0 0 0 -( 64 472 -48 ) ( 64 472 -40 ) ( 0 472 -40 ) retro/CONCRETE_2A 0 0 0 1 1 0 0 0 -( 64 304 -40 ) ( 64 472 -40 ) ( 64 472 -48 ) retro/CONCRETE_2A 0 8 90 1 1 0 0 0 -} -// brush 7 -{ -( -640 896 -48 ) ( -640 -512 -48 ) ( -640 -512 -64 ) flags/unused 16 -16 0 1 1 1 0 0 -( -640 -512 -48 ) ( 768 -512 -48 ) ( 768 -512 -64 ) flags/unused 48 -16 0 1 1 1 0 0 -( 768 -512 -64 ) ( 768 896 -64 ) ( -640 896 -64 ) flags/unused 48 -16 0 1 1 1 0 0 -( -640 896 -48 ) ( 768 896 -48 ) ( 768 -512 -48 ) retro/SLIME_1A 48 -16 0 1 1 1 0 0 -( 768 896 -64 ) ( 768 896 -48 ) ( -640 896 -48 ) flags/unused 48 -16 0 1 1 1 0 0 -( 768 -512 -48 ) ( 768 896 -48 ) ( 768 896 -64 ) flags/unused 16 -16 0 1 1 1 0 0 -} -// brush 8 -{ -( 176 48 64 ) ( 176 32 64 ) ( 176 32 0 ) retro/TECH_1B 48 0 0 1 1 -( 176 32 64 ) ( 192 16 64 ) ( 192 16 0 ) retro/TECH_1B 0 0 0 1 1 -( 192 16 0 ) ( 208 48 0 ) ( 176 48 0 ) retro/TECH_1B 48 -32 0 1 1 -( 176 48 64 ) ( 208 48 64 ) ( 192 16 64 ) retro/TECH_1B 48 -32 0 1 1 -( 208 48 0 ) ( 208 48 64 ) ( 176 48 64 ) flags/unused 48 0 0 1 1 -( 192 16 64 ) ( 208 48 64 ) ( 208 48 0 ) retro/TECH_1B 48 0 0 1 1 -} -// brush 9 -{ -( 112 48 64 ) ( 112 32 64 ) ( 112 32 0 ) retro/DOOR_1D 16 0 0 1 1 -( 112 32 64 ) ( 176 32 64 ) ( 176 32 0 ) retro/DOOR_1D 16 0 0 1 1 -( 176 32 0 ) ( 176 48 0 ) ( 112 48 0 ) retro/DOOR_1D 16 0 0 1 1 -( 112 48 64 ) ( 176 48 64 ) ( 176 32 64 ) retro/DOOR_1D 16 0 0 1 1 -( 176 48 0 ) ( 176 48 64 ) ( 112 48 64 ) flags/unused 16 0 0 1 1 -( 176 32 64 ) ( 176 48 64 ) ( 176 48 0 ) retro/DOOR_1D 16 0 0 1 1 -} -// brush 10 -{ -( -96 0 80 ) ( -96 -121 80 ) ( -96 -121 64 ) retro/STEEL_1A 0 -32 0 1 1 -( -80 -121 80 ) ( -57 -144 80 ) ( -57 -144 64 ) retro/STEEL_1A 0 -32 0 1 1 -( -57 -144 80 ) ( 121 -144 80 ) ( 121 -144 64 ) retro/STEEL_1A 0 0 0 1 1 -( 208 -57 64 ) ( 208 0 64 ) ( -80 0 64 ) retro/SUPPORT_2D 0 0 0 1 1 -( -80 0 80 ) ( 208 0 80 ) ( 208 -57 80 ) retro/STEEL_1A 0 0 0 1 1 -( 208 0 64 ) ( 208 0 80 ) ( -80 0 80 ) retro/SUPPORT_1A 0 -32 0 1 1 -( 121 -144 80 ) ( 208 -57 80 ) ( 208 -57 64 ) retro/STEEL_1A 9 -32 0 1 1 -( 208 -57 80 ) ( 208 0 80 ) ( 208 0 64 ) retro/STEEL_1A 0 -32 0 1 1 -} -// brush 11 -{ -( 32 64 80 ) ( 32 0 80 ) ( 32 0 64 ) retro/SUPPORT_1A 0 -32 0 1 1 -( 32 0 80 ) ( 208 0 80 ) ( 208 0 64 ) retro/STEEL_1A 0 0 0 1 1 -( 208 0 64 ) ( 208 57 64 ) ( 201 64 64 ) retro/SUPPORT_4D 0 0 0 1 1 -( 201 64 80 ) ( 208 57 80 ) ( 208 0 80 ) retro/STEEL_1A 0 0 0 1 1 -( 201 64 64 ) ( 201 64 80 ) ( 32 64 80 ) retro/STEEL_1A 0 -32 0 1 1 -( 201 64 80 ) ( 201 64 64 ) ( 208 57 64 ) retro/STEEL_1A 61.254883 -32 0 1 1 -( 208 0 80 ) ( 208 57 80 ) ( 208 57 64 ) retro/STEEL_1A 0 -32 0 1 1 -} -// brush 12 -{ -( -80 121 80 ) ( -80 64 80 ) ( -80 64 64 ) flags/unused 0 -32 0 1 1 -( -57 144 64 ) ( -57 144 80 ) ( -80 121 80 ) retro/STEEL_1A 0 -32 0 1 1 -( -80 64 80 ) ( 201 64 80 ) ( 201 64 64 ) retro/SUPPORT_1A 0 -32 0 1 1 -( -80 64 64 ) ( 201 64 64 ) ( 121 144 64 ) retro/SUPPORT_4D 0 0 0 1 1 -( 121 144 80 ) ( 201 64 80 ) ( -80 64 80 ) flags/unused 0 0 0 1 1 -( 121 144 64 ) ( 121 144 80 ) ( -57 144 80 ) retro/STEEL_1A 0 -32 0 1 1 -( 201 64 64 ) ( 201 64 80 ) ( 121 144 80 ) retro/STEEL_1A 42.74893 -32 0 1 1 -} -// brush 13 -{ -( -144 57 80 ) ( -144 -57 80 ) ( -144 -57 64 ) retro/STEEL_1A 0 -32 0 1 1 -( -144 -57 80 ) ( -80 -121 80 ) ( -80 -121 64 ) retro/STEEL_1A 0 -32 0 1 1 -( -80 121 64 ) ( -80 121 80 ) ( -144 57 80 ) retro/STEEL_1A 0 -32 0 1 1 -( -80 -121 64 ) ( -80 121 64 ) ( -144 57 64 ) retro/SUPPORT_4D 0 0 0 1 1 -( -144 57 80 ) ( -80 121 80 ) ( -80 -121 80 ) retro/STEEL_1A 0 0 0 1 1 -( -96 -121 80 ) ( -96 121 80 ) ( -96 121 64 ) flags/unused 0 -32 0 1 1 -} -// brush 14 -{ -( -57 144 144 ) ( -144 57 144 ) ( -144 57 80 ) retro/TECH_0A 0 -48 0 1 1 -( -144 57 144 ) ( 208 57 144 ) ( 208 57 80 ) retro/TECH_0A 0 -48 0 1 1 -( -144 57 80 ) ( 208 57 80 ) ( 121 144 80 ) retro/TECH_0A 0 -48 0 1 1 -( 121 144 144 ) ( 208 57 144 ) ( -144 57 144 ) flags/unused 0 -48 0 1 1 -( 121 144 80 ) ( 121 144 144 ) ( -57 144 144 ) retro/TECH_0A 0 -48 0 1 1 -( 208 57 80 ) ( 208 57 144 ) ( 121 144 144 ) retro/TECH_0A 0 -48 0 1 1 -} -// brush 15 -{ -( 48 -64 160 ) ( 48 -144 160 ) ( 48 -144 144 ) flags/unused 0 -32 0 1 1 -( 48 -144 160 ) ( 121 -144 160 ) ( 121 -144 144 ) retro/STEEL_1A 0 0 0 1 1 -( 144 -121 144 ) ( 144 -64 144 ) ( 48 -64 144 ) retro/STEEL_1A 0 0 0 1 1 -( 48 -64 160 ) ( 144 -64 160 ) ( 144 -121 160 ) retro/STEEL_2A 0 0 0 1 1 -( 144 -64 144 ) ( 144 -64 160 ) ( 48 -64 160 ) retro/FLOOR_2A 0 -32 0 1 1 -( 121 -144 160 ) ( 144 -121 160 ) ( 144 -121 144 ) retro/STEEL_1A 9 -32 0 1 1 -( 144 -121 160 ) ( 144 -64 160 ) ( 144 -64 144 ) retro/STEEL_1A 0 -32 0 1 1 -} -// brush 16 -{ -( 48 144 160 ) ( 48 0 160 ) ( 48 0 144 ) flags/unused 0 -32 0 1 1 -( 48 -16 160 ) ( 144 -16 160 ) ( 144 -16 144 ) retro/FLOOR_2A 0 -32 0 1 1 -( 144 0 144 ) ( 144 121 144 ) ( 121 144 144 ) retro/STEEL_1A 0 0 0 1 1 -( 121 144 160 ) ( 144 121 160 ) ( 144 0 160 ) retro/STEEL_2A 0 0 0 1 1 -( 121 144 144 ) ( 121 144 160 ) ( 48 144 160 ) retro/STEEL_1A 0 -32 0 1 1 -( 144 121 144 ) ( 144 121 160 ) ( 121 144 160 ) retro/STEEL_1A -32.47473 -32 0 1 1 -( 144 0 160 ) ( 144 121 160 ) ( 144 121 144 ) retro/STEEL_1A 0 -32 0 1 1 -} -// brush 17 -{ -( 144 121 160 ) ( 144 -121 160 ) ( 144 -121 144 ) flags/unused 0 -32 0 1 1 -( 208 -57 144 ) ( 208 57 144 ) ( 144 121 144 ) retro/STEEL_1A 0 0 0 1 1 -( 144 121 160 ) ( 208 57 160 ) ( 208 -57 160 ) retro/STEEL_2A 0 0 0 1 1 -( 144 -121 160 ) ( 208 -57 160 ) ( 208 -57 144 ) retro/STEEL_1A 9 -32 0 1 1 -( 208 57 144 ) ( 208 57 160 ) ( 144 121 160 ) retro/STEEL_1A 53.209312 -32 0 1 1 -( 208 -57 160 ) ( 208 57 160 ) ( 208 57 144 ) retro/STEEL_1A 0 -32 0 1 1 -} -// brush 18 -{ -( 32 -64 144 ) ( 32 -144 144 ) ( 32 -144 80 ) flags/unused 0 16 0 1 1 -( -16 -144 144 ) ( 121 -144 144 ) ( 121 -144 80 ) retro/TECH_1A 0 16 0 1 1 -( 121 -144 80 ) ( 201 -64 80 ) ( -16 -64 80 ) retro/TECH_1A 0 16 0 1 1 -( -16 -64 144 ) ( 201 -64 144 ) ( 121 -144 144 ) flags/unused 0 16 0 1 1 -( 201 -64 80 ) ( 201 -64 144 ) ( -16 -64 144 ) retro/TECH_1A 0 16 0 1 1 -( 121 -144 144 ) ( 201 -64 144 ) ( 201 -64 80 ) retro/TECH_1A 9 16 0 1 1 -} -// brush 19 -{ -( -80 -121 80 ) ( -137 -64 80 ) ( -137 -64 144 ) retro/TECH_1A 0 16 0 1 1 -( -80 -121 80 ) ( -80 -64 80 ) ( -137 -64 80 ) retro/TECH_1A 0 16 0 1 1 -( -137 -64 144 ) ( -80 -64 144 ) ( -80 -121 144 ) flags/unused 0 16 0 1 1 -( -80 -64 80 ) ( -80 -64 144 ) ( -137 -64 144 ) retro/TECH_1A 0 16 0 1 1 -( -112 -121 144 ) ( -112 -64 144 ) ( -112 -64 80 ) flags/unused 0 16 0 1 1 -} -// brush 20 -{ -( -112 -64 144 ) ( -112 -80 144 ) ( -112 -80 80 ) flags/unused 16 16 0 1 1 -( -112 -80 144 ) ( -48 -80 144 ) ( -48 -80 80 ) flags/unused 48 16 0 1 1 -( -48 -80 80 ) ( -48 -64 80 ) ( -112 -64 80 ) flags/unused 48 16 0 1 1 -( -112 -64 144 ) ( -48 -64 144 ) ( -48 -80 144 ) flags/unused 48 16 0 1 1 -( -48 -64 80 ) ( -48 -64 144 ) ( -112 -64 144 ) retro/CONSOLE_1D 48 16 0 1 1 -( -48 -80 144 ) ( -48 -64 144 ) ( -48 -64 80 ) flags/unused 16 16 0 1 1 -} -// brush 21 -{ -( 0 256 -16 ) ( 0 256 -32 ) ( 0 272 -32 ) flags/clip 0 0 0 1 1 -( 0 256 -16 ) ( 64 256 -16 ) ( 64 256 -32 ) flags/clip 0 0 0 1 1 -( 64 256 -32 ) ( 64 272 -32 ) ( 0 272 -32 ) flags/clip 0 0 0 1 1 -( 64 256 -16 ) ( 0 256 -16 ) ( 0 272 -32 ) flags/clip 0 0 0 1 1 -( 64 256 -16 ) ( 64 272 -32 ) ( 64 256 -32 ) flags/clip 0 0 0 1 1 -} -// brush 22 -{ -( 0 224 0 ) ( 0 224 -16 ) ( 0 240 -16 ) flags/clip 0 0 0 1 1 -( 0 224 0 ) ( 64 224 0 ) ( 64 224 -16 ) flags/clip 0 0 0 1 1 -( 64 224 -16 ) ( 64 240 -16 ) ( 0 240 -16 ) flags/clip 0 0 0 1 1 -( 0 240 -16 ) ( 64 240 -16 ) ( 64 224 0 ) flags/clip 0 0 0 1 1 -( 64 224 0 ) ( 64 240 -16 ) ( 64 224 -16 ) flags/clip 0 0 0 1 1 -} -// brush 23 -{ -( 72 472 64 ) ( 72 352 256 ) ( 72 352 -48 ) flags/clip 0 0 0 1 1 -( 72 352 256 ) ( 88 352 256 ) ( 88 352 -48 ) flags/clip 0 0 0 1 1 -( 88 352 -48 ) ( 88 472 -48 ) ( 72 472 -48 ) flags/clip 0 0 0 1 1 -( 72 472 64 ) ( 88 472 64 ) ( 88 352 256 ) flags/clip 0 -8 0 1 1 -( 88 472 -48 ) ( 88 472 64 ) ( 72 472 64 ) flags/clip 0 0 0 1 1 -( 88 352 256 ) ( 88 472 64 ) ( 88 472 -48 ) flags/clip 0 0 0 1 1 -} -// brush 24 -{ -( -24 456 64 ) ( -24 336 256 ) ( -24 336 -48 ) flags/clip 0 0 0 1 1 -( -24 336 256 ) ( -8 336 256 ) ( -8 336 -48 ) flags/clip 0 0 0 1 1 -( -8 336 -48 ) ( -8 456 -48 ) ( -24 456 -48 ) flags/clip 0 0 0 1 1 -( -24 456 64 ) ( -8 456 64 ) ( -8 336 256 ) flags/clip 0 -8 0 1 1 -( -8 456 -48 ) ( -8 456 64 ) ( -24 456 64 ) flags/clip 0 0 0 1 1 -( -8 336 256 ) ( -8 456 64 ) ( -8 456 -48 ) flags/clip 0 0 0 1 1 -} -// brush 25 -{ -( -24 536 -48 ) ( -40 552 -48 ) ( -40 552 64 ) flags/clip -8 0 0 1 1 -( -24 536 64 ) ( 64 536 64 ) ( 64 536 -48 ) flags/clip 0 0 0 1 1 -( 64 536 -48 ) ( 64 552 -48 ) ( -40 552 -48 ) flags/clip 0 0 0 1 1 -( -40 552 64 ) ( 64 552 64 ) ( 64 536 64 ) flags/clip 0 0 0 1 1 -( 64 552 -48 ) ( 64 552 64 ) ( -40 552 64 ) flags/clip 0 0 0 1 1 -( 64 536 64 ) ( 64 552 64 ) ( 64 552 -48 ) flags/clip 0 0 0 1 1 -} -// brush 26 -{ -( -40 552 64 ) ( -40 456 64 ) ( -40 456 -48 ) flags/clip 0 0 0 1 1 -( -24 472 -48 ) ( -24 536 -48 ) ( -40 552 -48 ) flags/clip 0 0 0 1 1 -( -40 552 64 ) ( -24 536 64 ) ( -24 472 64 ) flags/clip 0 0 0 1 1 -( -40 456 64 ) ( -24 472 64 ) ( -24 472 -48 ) flags/clip 0 0 0 1 1 -( -24 536 -48 ) ( -24 536 64 ) ( -40 552 64 ) flags/clip 0 0 0 1 1 -( -24 472 64 ) ( -24 536 64 ) ( -24 536 -48 ) flags/clip 0 0 0 1 1 -} -// brush 27 -{ -( 72 352 256 ) ( 128 256 256 ) ( 128 256 -48 ) flags/clip 0 0 0 1 1 -( 128 256 256 ) ( 144 256 256 ) ( 144 256 -48 ) flags/clip 0 0 0 1 1 -( 128 256 -48 ) ( 144 256 -48 ) ( 88 352 -48 ) flags/clip 0 0 0 1 1 -( 88 352 256 ) ( 144 256 256 ) ( 128 256 256 ) flags/clip 0 0 0 1 1 -( 88 352 256 ) ( 72 352 256 ) ( 72 352 -48 ) flags/clip 0 0 0 1 1 -( 144 256 -48 ) ( 144 256 256 ) ( 88 352 256 ) flags/clip 0 0 0 1 1 -} -// brush 28 -{ -( 128 256 256 ) ( 288 80 256 ) ( 288 80 -48 ) flags/clip 0 0 0 1 1 -( 288 80 256 ) ( 304 80 256 ) ( 304 80 -48 ) flags/clip 0 0 0 1 1 -( 288 80 -48 ) ( 304 80 -48 ) ( 144 256 -48 ) flags/clip 0 0 0 1 1 -( 144 256 256 ) ( 304 80 256 ) ( 288 80 256 ) flags/clip 0 0 0 1 1 -( 144 256 256 ) ( 128 256 256 ) ( 128 256 -48 ) flags/clip 0 0 0 1 1 -( 304 80 -48 ) ( 304 80 256 ) ( 144 256 256 ) flags/clip 0 0 0 1 1 -} -// brush 29 -{ -( 288 80 -48 ) ( 288 80 256 ) ( 256 -80 256 ) flags/clip 0 0 0 1 1 -( 272 -80 -48 ) ( 256 -80 -48 ) ( 256 -80 256 ) flags/clip 0 0 0 1 1 -( 272 -80 -48 ) ( 304 80 -48 ) ( 288 80 -48 ) flags/clip 0 0 0 1 1 -( 288 80 256 ) ( 304 80 256 ) ( 272 -80 256 ) flags/clip 0 0 0 1 1 -( 304 80 -48 ) ( 304 80 256 ) ( 288 80 256 ) flags/clip 0 0 0 1 1 -( 272 -80 256 ) ( 304 80 256 ) ( 304 80 -48 ) flags/clip 0 0 0 1 1 -} -// brush 30 -{ -( 136 -200 256 ) ( 136 -216 256 ) ( 136 -216 -48 ) flags/clip 0 0 0 1 1 -( 256 -80 -48 ) ( 256 -80 256 ) ( 136 -200 256 ) flags/clip 8 0 0 1 1 -( 136 -216 -48 ) ( 272 -80 -48 ) ( 256 -80 -48 ) flags/clip 0 0 0 1 1 -( 256 -80 256 ) ( 272 -80 256 ) ( 136 -216 256 ) flags/clip 0 0 0 1 1 -( 272 -80 -48 ) ( 272 -80 256 ) ( 256 -80 256 ) flags/clip 0 0 0 1 1 -( 136 -216 256 ) ( 272 -80 256 ) ( 272 -80 -48 ) flags/clip 8 0 0 1 1 -} -// brush 31 -{ -( -56 -216 256 ) ( -56 -232 256 ) ( -56 -232 -48 ) flags/clip 0 0 0 1 1 -( -56 -216 256 ) ( -56 -216 -48 ) ( 136 -200 -48 ) flags/clip 0 0 0 1 1 -( 136 -216 -48 ) ( 136 -200 -48 ) ( -56 -216 -48 ) flags/clip 0 0 0 1 1 -( -56 -216 256 ) ( 136 -200 256 ) ( 136 -216 256 ) flags/clip 0 0 0 1 1 -( -56 -232 256 ) ( 136 -216 256 ) ( 136 -216 -48 ) flags/clip 0 0 0 1 1 -( 136 -216 256 ) ( 136 -200 256 ) ( 136 -200 -48 ) flags/clip 0 0 0 1 1 -} -// brush 32 -{ -( -208 -96 256 ) ( -56 -232 256 ) ( -56 -232 -48 ) flags/clip -8 0 0 1 1 -( -56 -232 -48 ) ( -56 -216 -48 ) ( -192 -96 -48 ) flags/clip 0 0 0 1 1 -( -192 -96 256 ) ( -56 -216 256 ) ( -56 -232 256 ) flags/clip 0 0 0 1 1 -( -192 -96 256 ) ( -208 -96 256 ) ( -208 -96 -48 ) flags/clip 0 0 0 1 1 -( -56 -216 -48 ) ( -56 -216 256 ) ( -192 -96 256 ) flags/clip -8 0 0 1 1 -( -56 -232 256 ) ( -56 -216 256 ) ( -56 -216 -48 ) flags/clip 0 0 0 1 1 -} -// brush 33 -{ -( -232 104 256 ) ( -208 -96 256 ) ( -208 -96 -48 ) flags/clip 0 0 0 1 1 -( -208 -96 256 ) ( -192 -96 256 ) ( -192 -96 -48 ) flags/clip 0 0 0 1 1 -( -208 -96 -48 ) ( -192 -96 -48 ) ( -216 104 -48 ) flags/clip 0 0 0 1 1 -( -216 104 256 ) ( -192 -96 256 ) ( -208 -96 256 ) flags/clip 0 0 0 1 1 -( -216 104 256 ) ( -232 104 256 ) ( -232 104 -48 ) flags/clip 0 0 0 1 1 -( -192 -96 -48 ) ( -192 -96 256 ) ( -216 104 256 ) flags/clip 0 0 0 1 1 -} -// brush 34 -{ -( -80 240 -48 ) ( -80 240 256 ) ( -232 104 256 ) flags/clip 0 0 0 1 1 -( -216 104 -48 ) ( -232 104 -48 ) ( -232 104 256 ) flags/clip 0 0 0 1 1 -( -216 104 -48 ) ( -64 240 -48 ) ( -80 240 -48 ) flags/clip 0 0 0 1 1 -( -80 240 256 ) ( -64 240 256 ) ( -216 104 256 ) flags/clip 0 0 0 1 1 -( -64 240 -48 ) ( -64 240 256 ) ( -80 240 256 ) flags/clip 0 0 0 1 1 -( -216 104 256 ) ( -64 240 256 ) ( -64 240 -48 ) flags/clip 0 0 0 1 1 -} -// brush 35 -{ -( -24 336 -48 ) ( -24 336 256 ) ( -80 240 256 ) flags/clip 0 0 0 1 1 -( -64 240 -48 ) ( -80 240 -48 ) ( -80 240 256 ) flags/clip 0 0 0 1 1 -( -64 240 -48 ) ( -8 336 -48 ) ( -24 336 -48 ) flags/clip 0 0 0 1 1 -( -24 336 256 ) ( -8 336 256 ) ( -64 240 256 ) flags/clip 0 0 0 1 1 -( -8 336 -48 ) ( -8 336 256 ) ( -24 336 256 ) flags/clip 0 0 0 1 1 -( -64 240 256 ) ( -8 336 256 ) ( -8 336 -48 ) flags/clip 0 0 0 1 1 -} -// brush 36 -{ -( 104 512 64 ) ( 104 496 64 ) ( 104 496 -48 ) flags/clip 0 0 0 1 1 -( 104 496 64 ) ( 120 488 64 ) ( 120 488 -48 ) flags/clip 0 0 0 1 1 -( 120 520 -48 ) ( 120 520 64 ) ( 104 512 64 ) flags/clip 0 0 0 1 1 -( 120 488 -48 ) ( 120 520 -48 ) ( 104 512 -48 ) flags/clip 0 0 0 1 1 -( 104 512 64 ) ( 120 520 64 ) ( 120 488 64 ) flags/clip 0 0 0 1 1 -( 120 488 64 ) ( 120 520 64 ) ( 120 520 -48 ) flags/clip 0 0 0 1 1 -} -// brush 37 -{ -( 64 472 -40 ) ( 64 304 -40 ) ( 64 304 -48 ) flags/clip 0 8 90 1 1 0 0 0 -( 64 312 -40 ) ( 80 312 -40 ) ( 80 312 -48 ) flags/clip 0 0 0 1 1 0 0 0 -( 80 304 -48 ) ( 80 472 -48 ) ( 64 472 -48 ) flags/clip 0 -8 0 1 1 0 0 0 -( 64 472 -40 ) ( 80 472 -40 ) ( 80 304 -40 ) flags/clip 0 -8 0 1 1 0 0 0 -( 80 472 -48 ) ( 80 472 -40 ) ( 64 472 -40 ) flags/clip 0 0 0 1 1 0 0 0 -( 72 304 -40 ) ( 72 472 -40 ) ( 72 472 -48 ) flags/clip 0 8 90 1 1 0 0 0 -} -// brush 38 -{ -( 64 552 64 ) ( 64 536 64 ) ( 64 536 -48 ) flags/clip -8 0 0 1 1 -( 64 536 64 ) ( 104 512 64 ) ( 104 512 -48 ) flags/clip 8 0 0 1 1 -( 104 512 -48 ) ( 120 520 -48 ) ( 64 552 -48 ) flags/clip 0 0 0 1 1 -( 64 552 64 ) ( 120 520 64 ) ( 104 512 64 ) flags/clip 0 0 0 1 1 -( 104 512 64 ) ( 120 520 64 ) ( 120 520 -48 ) flags/clip 0 0 0 1 1 -( 120 520 -48 ) ( 120 520 64 ) ( 64 552 64 ) flags/clip 8 0 0 1 1 -} -// brush 39 -{ -( 104 496 -48 ) ( 104 496 64 ) ( 72 472 64 ) flags/clip 8 0 0 1 1 -( 88 472 -48 ) ( 72 472 -48 ) ( 72 472 64 ) flags/clip 0 0 0 1 1 -( 88 472 -48 ) ( 120 488 -48 ) ( 104 496 -48 ) flags/clip 0 0 0 1 1 -( 104 496 64 ) ( 120 488 64 ) ( 88 472 64 ) flags/clip 0 0 0 1 1 -( 88 472 64 ) ( 120 488 64 ) ( 120 488 -48 ) flags/clip 0 0 0 1 1 -( 120 488 -48 ) ( 120 488 64 ) ( 104 496 64 ) flags/clip 8 0 0 1 1 -} -// brush 40 -{ -( -24 472 64 ) ( -40 456 64 ) ( -40 456 -48 ) flags/clip 0 0 0 1 1 -( -40 456 64 ) ( -8 456 64 ) ( -8 456 -48 ) flags/clip 0 0 0 1 1 -( -8 456 -48 ) ( -8 472 -48 ) ( -24 472 -48 ) flags/clip 0 0 0 1 1 -( -24 472 64 ) ( -8 472 64 ) ( -8 456 64 ) flags/clip 0 0 0 1 1 -( -8 472 -48 ) ( -8 472 64 ) ( -24 472 64 ) flags/clip 8 0 0 1 1 -( -8 456 64 ) ( -8 472 64 ) ( -8 472 -48 ) flags/clip 0 0 0 1 1 -} -// brush 41 -{ -( -8 472 -40 ) ( -8 304 -40 ) ( -8 304 -48 ) flags/clip 0 8 90 1 1 0 0 0 -( -16 304 -40 ) ( 0 304 -40 ) ( 0 304 -48 ) flags/clip 0 0 0 1 1 0 0 0 -( 0 304 -48 ) ( 0 472 -48 ) ( -16 472 -48 ) flags/clip 0 -8 0 1 1 0 0 0 -( -16 472 -40 ) ( 0 472 -40 ) ( 0 304 -40 ) flags/clip 0 -8 0 1 1 0 0 0 -( 0 472 -48 ) ( 0 472 -40 ) ( -16 472 -40 ) flags/clip 0 0 0 1 1 0 0 0 -( 0 304 -40 ) ( 0 472 -40 ) ( 0 472 -48 ) flags/clip 0 8 90 1 1 0 0 0 -} -// brush 42 -{ -( 0 -144 160 ) ( 0 -143 160 ) ( 0 -144 161 ) retro/CRATE_1H 16 -32 0 1 1 -( 0 -144 160 ) ( 0 -144 161 ) ( 1 -144 160 ) retro/CRATE_1H 0 -32 0 1 1 -( 0 -144 160 ) ( 1 -144 160 ) ( 0 -143 160 ) retro/CRATE_1H 0 -16 0 1 1 -( 48 -96 224 ) ( 48 -95 224 ) ( 49 -96 224 ) retro/CRATE_1L 0 -16 0 1 1 -( 48 -80 176 ) ( 49 -80 176 ) ( 48 -80 177 ) retro/CRATE_1H 0 -32 0 1 1 -( 64 -96 176 ) ( 64 -96 177 ) ( 64 -95 176 ) retro/CRATE_1H 16 -32 0 1 1 -} -// brush 43 -{ -( -58.39230484541326 -134 160 ) ( -58.39230484541325 -133 160 ) ( -58.39230484541326 -134 161 ) retro/CRATE_1G -10 -16 0 1 1 -( -58.39230484541326 -134 160 ) ( -58.39230484541326 -134 161 ) ( -57.392304845413264 -134 160 ) retro/CRATE_1G 10.392303 -16 0 1 1 -( -58.39230484541326 -134 160 ) ( -57.392304845413264 -134 160 ) ( -58.39230484541325 -133 160 ) retro/CRATE_1G 10.392303 10 0 1 1 -( -42.392304845413236 -118 192 ) ( -42.39230484541325 -117 192 ) ( -41.392304845413236 -118 192 ) retro/CRATE_1G 10.392303 10 0 1 1 -( -42.392304845413236 -118 176 ) ( -41.392304845413236 -118 176 ) ( -42.392304845413236 -118 177 ) retro/CRATE_1G 10.392303 -16 0 1 1 -( -42.392304845413236 -118 176 ) ( -42.392304845413236 -118 177 ) ( -42.39230484541325 -117 176 ) retro/CRATE_1G -10 -16 0 1 1 -} -// brush 44 -{ -( -32 -112 160 ) ( -32 -111 160 ) ( -32 -112 161 ) retro/CRATE_1G -16 0 1.7763568e-15 1 1 -( -48 -144 160 ) ( -48 -144 161 ) ( -47 -144 160 ) retro/CRATE_1F 0 0 0 1 1 -( -48 -112 160 ) ( -47 -112 160 ) ( -48 -111 160 ) retro/CRATE_1F 0 0 0 1 1 -( 0 -64 192 ) ( 0 -63 192 ) ( 1 -64 192 ) retro/CRATE_1F 0 0 0 1 1 -( 0 -96 176 ) ( 1 -96 176 ) ( 0 -96 177 ) retro/CRATE_1F 0 0 0 1 1 -( 0 -64 176 ) ( 0 -64 177 ) ( 0 -63 176 ) retro/CRATE_1F 0 0 0 1 1 -} -// brush 45 -{ -( -32 -112 192 ) ( -32 -111 192 ) ( -32 -112 193 ) retro/CRATE_1G -16 32 0 1 1 -( -48 -144 192 ) ( -48 -144 193 ) ( -47 -144 192 ) retro/CRATE_1F 0 32 0 1 1 -( -48 -112 192 ) ( -47 -112 192 ) ( -48 -111 192 ) retro/CRATE_1F 0 0 0 1 1 -( 0 -64 208 ) ( 0 -63 208 ) ( 1 -64 208 ) retro/CRATE_1F 0 0 0 1 1 -( 0 -112 208 ) ( 1 -112 208 ) ( 0 -112 209 ) retro/CRATE_1F 0 32 0 1 1 -( 0 -64 208 ) ( 0 -64 209 ) ( 0 -63 208 ) retro/CRATE_1F 0 32 0 1 1 -} -// brush 46 -{ -( 16 176 112 ) ( 16 177 112 ) ( 16 176 113 ) retro/LIGHT_1B 48 0 90 1 -1 1 0 0 -( 32 160 80 ) ( 31 160 80 ) ( 32 160 81 ) retro/LIGHT_1B 48 -48 90 1 1 1 0 0 -( 32 160 80 ) ( 32 161 80 ) ( 31 160 80 ) retro/LIGHT_1B 0 -48 90 1 1 1 0 0 -( 16 176 112 ) ( 15 176 112 ) ( 16 177 112 ) retro/LIGHT_1B 0 -48 90 1 1 1 0 0 -( 16 162 112 ) ( 16 162 113 ) ( 15 162 112 ) retro/LIGHT_1B -16 -48 0 1 1 1 0 0 -( 48 160 80 ) ( 48 160 81 ) ( 48 161 80 ) retro/LIGHT_1B 48 0 90 1 -1 1 0 0 -} -// brush 47 -{ -( -162 -16 112 ) ( -162 -16 113 ) ( -162 -17 112 ) retro/LIGHT_1B 16 -48 0 1 1 1 0 0 -( -176 -16 112 ) ( -177 -16 112 ) ( -176 -16 113 ) retro/LIGHT_1B 48 0 90 1 1 1 0 0 -( -160 0 80 ) ( -161 0 80 ) ( -160 -1 80 ) retro/LIGHT_1B 0 48 179.99998 1 1 1 0 0 -( -176 -16 112 ) ( -176 -17 112 ) ( -177 -16 112 ) retro/LIGHT_1B 0 48 179.99998 1 1 1 0 0 -( -160 16 80 ) ( -160 16 81 ) ( -161 16 80 ) retro/LIGHT_1B 48 0 90 1 1 1 0 0 -( -160 0 80 ) ( -160 -1 80 ) ( -160 0 81 ) retro/LIGHT_1B 48 48 90 1 1 1 0 0 -} -// brush 48 -{ -( 224 0 80 ) ( 224 0 81 ) ( 224 -1 80 ) retro/LIGHT_1B 48 48 90 1 1 1 0 0 -( 240 -16 112 ) ( 240 -16 113 ) ( 241 -16 112 ) retro/LIGHT_1B 48 0 90 1 -1 1 0 0 -( 224 0 80 ) ( 224 -1 80 ) ( 225 0 80 ) retro/LIGHT_1B 0 48 0 1 -1 1 0 0 -( 240 -16 112 ) ( 241 -16 112 ) ( 240 -17 112 ) retro/LIGHT_1B 0 48 0 1 -1 1 0 0 -( 224 16 80 ) ( 225 16 80 ) ( 224 16 81 ) retro/LIGHT_1B 48 0 90 1 -1 1 0 0 -( 226 -16 112 ) ( 226 -17 112 ) ( 226 -16 113 ) retro/LIGHT_1B 16 -48 0 1 1 1 0 0 -} -// brush 49 -{ -( 16 -176 112 ) ( 16 -176 113 ) ( 16 -177 112 ) retro/LIGHT_1B 48 0 90 1 1 1 0 0 -( 16 -162 112 ) ( 15 -162 112 ) ( 16 -162 113 ) retro/LIGHT_1B -16 -48 0 1 1 1 0 0 -( 32 -160 80 ) ( 31 -160 80 ) ( 32 -161 80 ) retro/LIGHT_1B 0 -48 270 1 -1 1 0 0 -( 16 -176 112 ) ( 16 -177 112 ) ( 15 -176 112 ) retro/LIGHT_1B 0 -48 270 1 -1 1 0 0 -( 32 -160 80 ) ( 32 -160 81 ) ( 31 -160 80 ) retro/LIGHT_1B 48 -48 90 1 1 1 0 0 -( 48 -160 80 ) ( 48 -161 80 ) ( 48 -160 81 ) retro/LIGHT_1B 48 0 90 1 1 1 0 0 -} -// brush 50 -{ -( -48 -80 64 ) ( -48 -96 64 ) ( -48 -96 0 ) retro/DOOR_1C 16 0 0 1 1 -( -48 -96 64 ) ( 16 -96 64 ) ( 16 -96 0 ) flags/unused 48 0 0 1 1 -( 16 -96 0 ) ( 16 -80 0 ) ( -48 -80 0 ) retro/DOOR_1C 48 0 0 1 1 -( -48 -80 64 ) ( 16 -80 64 ) ( 16 -96 64 ) flags/unused 48 0 0 1 1 -( 16 -84 0 ) ( 16 -84 64 ) ( -48 -84 64 ) retro/DOOR_1C 48 0 0 1 1 -( 16 -96 64 ) ( 16 -80 64 ) ( 16 -80 0 ) retro/DOOR_1C 16 0 0 1 1 -} -// brush 51 -{ -( -128 -16 64 ) ( -128 -128 64 ) ( -128 -128 0 ) retro/TECH_1F 32 0 0 1 1 -( -112 -96 64 ) ( -80 -96 64 ) ( -80 -96 0 ) flags/unused -16 0 0 1 1 -( -80 -128 0 ) ( -80 -16 0 ) ( -112 -16 0 ) retro/TECH_1F -16 -32 0 1 1 -( -112 -16 64 ) ( -80 -16 64 ) ( -80 -128 64 ) flags/unused -16 -32 0 1 1 -( -80 -80 0 ) ( -80 -80 64 ) ( -112 -80 64 ) retro/TECH_1F -16 0 0 1 1 -( -48 -128 64 ) ( -48 -16 64 ) ( -48 -16 0 ) retro/TECH_1F 32 0 0 1 1 -} -// brush 52 -{ -( 16 -80 64 ) ( 16 -96 64 ) ( 16 -96 0 ) retro/TECH_1F 48 0 0 1 1 -( 16 -96 64 ) ( 48 -96 64 ) ( 48 -96 0 ) flags/unused 16 0 0 1 1 -( 48 -96 0 ) ( 48 -80 0 ) ( 16 -80 0 ) retro/TECH_1F 16 -32 0 1 1 -( 16 -80 64 ) ( 48 -80 64 ) ( 48 -96 64 ) flags/unused 16 -32 0 1 1 -( 48 -80 0 ) ( 48 -80 64 ) ( 16 -80 64 ) retro/TECH_1F 16 0 0 1 1 -( 192 -96 64 ) ( 192 -80 64 ) ( 192 -80 0 ) retro/TECH_1F 48 0 0 1 1 -} -// brush 53 -{ -( 176 -64 64 ) ( 176 -80 64 ) ( 176 -80 0 ) retro/SUPPORT_1D 0 0 0 1 1 -( 192 -48 0 ) ( 192 -48 64 ) ( 176 -64 64 ) retro/SUPPORT_1D 48 0 0 1 1 -( 176 -80 0 ) ( 208 -64 0 ) ( 192 -48 0 ) retro/SUPPORT_1D 0 0 0 1 1 -( 192 -48 64 ) ( 208 -64 64 ) ( 176 -80 64 ) retro/SUPPORT_1D 0 0 0 1 1 -( 176 -80 64 ) ( 208 -64 64 ) ( 208 -64 0 ) retro/SUPPORT_1D 0 0 0 1 1 -( 208 -64 0 ) ( 208 -64 64 ) ( 192 -48 64 ) retro/SUPPORT_1D 0 0 0 1 1 -} -// brush 54 -{ -( -144 -48 64 ) ( -144 -80 64 ) ( -144 -80 0 ) retro/SUPPORT_1D 16 0 0 1 1 -( -144 -80 64 ) ( -112 -80 64 ) ( -112 -80 0 ) retro/SUPPORT_1D 16 0 0 1 1 -( -112 -80 0 ) ( -112 -64 0 ) ( -144 -48 0 ) retro/SUPPORT_1D 16 -16 0 1 1 -( -144 -48 64 ) ( -112 -64 64 ) ( -112 -80 64 ) retro/SUPPORT_1D 16 -16 0 1 1 -( -112 -64 0 ) ( -112 -64 64 ) ( -144 -48 64 ) retro/SUPPORT_1D 16 0 0 1 1 -( -112 -80 64 ) ( -112 -64 64 ) ( -112 -64 0 ) retro/SUPPORT_1D 16 0 0 1 1 -} -// brush 55 -{ -( 192 -48 0 ) ( 192 -47 0 ) ( 192 -48 1 ) retro/CONSOLE_1A 48 0 0 1 1 -( 192 -48 0 ) ( 192 -48 1 ) ( 193 -48 0 ) retro/CONSOLE_1A 32 0 0 1 1 -( 192 -48 0 ) ( 193 -48 0 ) ( 192 -47 0 ) retro/CONSOLE_1A 32 -16 0 1 1 -( 208 16 64 ) ( 208 17 64 ) ( 209 16 64 ) retro/CONSOLE_1A 32 -16 0 1 1 -( 208 16 16 ) ( 209 16 16 ) ( 208 16 17 ) retro/CONSOLE_1A 32 0 0 1 1 -( 208 16 16 ) ( 208 16 17 ) ( 208 17 16 ) retro/CONSOLE_1A 48 0 0 1 1 -} -// brush 56 -{ -( -88 64 72 ) ( -96 64 80 ) ( -88 0 72 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -88 0 80 ) ( -88 0 72 ) ( -96 0 80 ) retro/SUPPORT_1A 16 0 0 1 1 1 0 0 -( -96 64 80 ) ( -88 64 80 ) ( -96 0 80 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -88 64 80 ) ( -96 64 80 ) ( -88 64 72 ) retro/SUPPORT_1A 16 0 0 1 1 1 0 0 -( -88 0 80 ) ( -88 64 80 ) ( -88 0 72 ) retro/RIVET_1C 0 8 0 1 1 1 0 0 -} -// brush 57 -{ -( -80 64 64 ) ( -88 64 72 ) ( -80 0 64 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -80 0 72 ) ( -80 0 64 ) ( -88 0 72 ) retro/SUPPORT_1A 16 0 0 1 1 1 0 0 -( -88 64 72 ) ( -80 64 72 ) ( -88 0 72 ) retro/RIVET_1C 8 0 0 1 1 1 0 0 -( -80 64 72 ) ( -88 64 72 ) ( -80 64 64 ) retro/SUPPORT_1A 16 0 0 1 1 1 0 0 -( -80 0 72 ) ( -80 64 72 ) ( -80 0 64 ) retro/RIVET_1C 0 0 0 1 1 1 0 0 -} -// brush 58 -{ -( -72 64 56 ) ( -80 64 64 ) ( -72 0 56 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -72 0 64 ) ( -72 0 56 ) ( -80 0 64 ) retro/SUPPORT_1A 15.999996 0 0 1 1 1 0 0 -( -80 64 64 ) ( -72 64 64 ) ( -80 0 64 ) retro/RIVET_1C 0 0 0 1 1 1 0 0 -( -72 64 64 ) ( -80 64 64 ) ( -72 64 56 ) retro/SUPPORT_1A 15.999996 0 0 1 1 1 0 0 -( -72 0 64 ) ( -72 64 64 ) ( -72 0 56 ) retro/RIVET_1C 0 56 0 1 1 1 0 0 -} -// brush 59 -{ -( -64 64 48 ) ( -72 64 56 ) ( -64 0 48 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -64 0 56 ) ( -64 0 48 ) ( -72 0 56 ) retro/SUPPORT_1A 15.999996 0 0 1 1 1 0 0 -( -72 64 56 ) ( -64 64 56 ) ( -72 0 56 ) retro/RIVET_1C 56 0 0 1 1 1 0 0 -( -64 64 56 ) ( -72 64 56 ) ( -64 64 48 ) retro/SUPPORT_1A 15.999996 0 0 1 1 1 0 0 -( -64 0 56 ) ( -64 64 56 ) ( -64 0 48 ) retro/RIVET_1C 0 48 0 1 1 1 0 0 -} -// brush 60 -{ -( -56 64 40 ) ( -64 64 48 ) ( -56 0 40 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -56 0 48 ) ( -56 0 40 ) ( -64 0 48 ) retro/SUPPORT_1A 16 0 0 1 1 1 0 0 -( -64 64 48 ) ( -56 64 48 ) ( -64 0 48 ) retro/RIVET_1C 48 0 0 1 1 1 0 0 -( -56 64 48 ) ( -64 64 48 ) ( -56 64 40 ) retro/SUPPORT_1A 16 0 0 1 1 1 0 0 -( -56 0 48 ) ( -56 64 48 ) ( -56 0 40 ) retro/RIVET_1C 0 40 0 1 1 1 0 0 -} -// brush 61 -{ -( -48 64 32 ) ( -56 64 40 ) ( -48 0 32 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -48 0 40 ) ( -48 0 32 ) ( -56 0 40 ) retro/SUPPORT_1A 16 0 0 1 1 1 0 0 -( -56 64 40 ) ( -48 64 40 ) ( -56 0 40 ) retro/RIVET_1C 40 0 0 1 1 1 0 0 -( -48 64 40 ) ( -56 64 40 ) ( -48 64 32 ) retro/SUPPORT_1A 16 0 0 1 1 1 0 0 -( -48 0 40 ) ( -48 64 40 ) ( -48 0 32 ) retro/RIVET_1C 0 32 0 1 1 1 0 0 -} -// brush 62 -{ -( -40 64 24 ) ( -48 64 32 ) ( -40 0 24 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -40 0 32 ) ( -40 0 24 ) ( -48 0 32 ) retro/SUPPORT_1A 16.000002 0 0 1 1 1 0 0 -( -48 64 32 ) ( -40 64 32 ) ( -48 0 32 ) retro/RIVET_1C 32 0 0 1 1 1 0 0 -( -40 64 32 ) ( -48 64 32 ) ( -40 64 24 ) retro/SUPPORT_1A 16.000002 0 0 1 1 1 0 0 -( -40 0 32 ) ( -40 64 32 ) ( -40 0 24 ) retro/RIVET_1C 0 24 0 1 1 1 0 0 -} -// brush 63 -{ -( -32 64 16 ) ( -40 64 24 ) ( -32 0 16 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -32 0 24 ) ( -32 0 16 ) ( -40 0 24 ) retro/SUPPORT_1A 16.000002 0 0 1 1 1 0 0 -( -40 64 24 ) ( -32 64 24 ) ( -40 0 24 ) retro/RIVET_1C 24 0 0 1 1 1 0 0 -( -32 64 24 ) ( -40 64 24 ) ( -32 64 16 ) retro/SUPPORT_1A 16.000002 0 0 1 1 1 0 0 -( -32 0 24 ) ( -32 64 24 ) ( -32 0 16 ) retro/RIVET_1C 0 16 0 1 1 1 0 0 -} -// brush 64 -{ -( -24 64 8 ) ( -32 64 16 ) ( -24 0 8 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -24 0 16 ) ( -24 0 8 ) ( -32 0 16 ) retro/SUPPORT_1A 15.999999 0 0 1 1 1 0 0 -( -32 64 16 ) ( -24 64 16 ) ( -32 0 16 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -24 64 16 ) ( -32 64 16 ) ( -24 64 8 ) retro/SUPPORT_1A 15.999999 0 0 1 1 1 0 0 -( -24 0 16 ) ( -24 64 16 ) ( -24 0 8 ) retro/RIVET_1C 0 8 0 1 1 1 0 0 -} -// brush 65 -{ -( -16 64 0 ) ( -24 64 8 ) ( -16 0 0 ) retro/RIVET_1C 16 0 0 1 1 1 0 0 -( -16 0 8 ) ( -16 0 0 ) ( -24 0 8 ) retro/SUPPORT_1A 15.999999 0 0 1 1 1 0 0 -( -24 64 8 ) ( -16 64 8 ) ( -24 0 8 ) retro/RIVET_1C 8 0 0 1 1 1 0 0 -( -16 64 8 ) ( -24 64 8 ) ( -16 64 0 ) retro/SUPPORT_1A 15.999999 0 0 1 1 1 0 0 -( -16 0 8 ) ( -16 64 8 ) ( -16 0 0 ) retro/RIVET_1C 0 0 0 1 1 1 0 0 -} -// brush 66 -{ -( 136 -64 160 ) ( 136 -64 152 ) ( 136 0 160 ) retro/RIVET_2B 0 24 0 1 1 1 0 0 -( 136 -64 160 ) ( 144 -64 160 ) ( 136 -64 152 ) retro/RIVET_2B 0 15.999985 180.00002 1 -1 1 0 0 -( 144 0 160 ) ( 144 -64 160 ) ( 136 0 160 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -( 136 -16 160 ) ( 136 -16 152 ) ( 144 -16 160 ) retro/RIVET_2B 0 15.999985 180.00002 1 -1 1 0 0 -( 136 0 152 ) ( 136 -64 152 ) ( 144 0 160 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 67 -{ -( 128 -64 152 ) ( 128 -64 144 ) ( 128 0 152 ) retro/RIVET_2B 0 16 0 1 1 1 0 0 -( 128 -64 152 ) ( 136 -64 152 ) ( 128 -64 144 ) retro/RIVET_2B 0 15.999985 180.00002 1 -1 1 0 0 -( 136 0 152 ) ( 136 -64 152 ) ( 128 0 152 ) retro/RIVET_2B -8 0 179.99998 1 -1 1 0 0 -( 128 -16 152 ) ( 128 -16 144 ) ( 136 -16 152 ) retro/RIVET_2B 0 15.999985 180.00002 1 -1 1 0 0 -( 128 0 144 ) ( 128 -64 144 ) ( 136 0 152 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 68 -{ -( 120 -64 144 ) ( 120 -64 136 ) ( 120 0 144 ) retro/RIVET_2B 0 8 0 1 1 1 0 0 -( 120 -64 144 ) ( 128 -64 144 ) ( 120 -64 136 ) retro/RIVET_2B 0 15.999992 180.00002 1 -1 1 0 0 -( 128 0 144 ) ( 128 -64 144 ) ( 120 0 144 ) retro/RIVET_2B 48 0 179.99998 1 -1 1 0 0 -( 120 -16 144 ) ( 120 -16 136 ) ( 128 -16 144 ) retro/RIVET_2B 0 15.999992 180.00002 1 -1 1 0 0 -( 120 0 136 ) ( 120 -64 136 ) ( 128 0 144 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 69 -{ -( 112 -64 136 ) ( 112 -64 128 ) ( 112 0 136 ) retro/RIVET_2B 0 0 0 1 1 1 0 0 -( 112 -64 136 ) ( 120 -64 136 ) ( 112 -64 128 ) retro/RIVET_2B 0 15.999992 180.00002 1 -1 1 0 0 -( 120 0 136 ) ( 120 -64 136 ) ( 112 0 136 ) retro/RIVET_2B 40 0 179.99998 1 -1 1 0 0 -( 112 -16 136 ) ( 112 -16 128 ) ( 120 -16 136 ) retro/RIVET_2B 0 15.999992 180.00002 1 -1 1 0 0 -( 112 0 128 ) ( 112 -64 128 ) ( 120 0 136 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 70 -{ -( 104 -64 128 ) ( 104 -64 120 ) ( 104 0 128 ) retro/RIVET_2B 0 56 0 1 1 1 0 0 -( 104 -64 128 ) ( 112 -64 128 ) ( 104 -64 120 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 112 0 128 ) ( 112 -64 128 ) ( 104 0 128 ) retro/RIVET_2B 32 0 179.99998 1 -1 1 0 0 -( 104 -16 128 ) ( 104 -16 120 ) ( 112 -16 128 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 104 0 120 ) ( 104 -64 120 ) ( 112 0 128 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 71 -{ -( 96 -64 120 ) ( 96 -64 112 ) ( 96 0 120 ) retro/RIVET_2B 0 48 0 1 1 1 0 0 -( 96 -64 120 ) ( 104 -64 120 ) ( 96 -64 112 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 104 0 120 ) ( 104 -64 120 ) ( 96 0 120 ) retro/RIVET_2B 24 0 179.99998 1 -1 1 0 0 -( 96 -16 120 ) ( 96 -16 112 ) ( 104 -16 120 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 96 0 112 ) ( 96 -64 112 ) ( 104 0 120 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 72 -{ -( 88 -64 112 ) ( 88 -64 104 ) ( 88 0 112 ) retro/RIVET_2B 0 40 0 1 1 1 0 0 -( 88 -64 112 ) ( 96 -64 112 ) ( 88 -64 104 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 96 0 112 ) ( 96 -64 112 ) ( 88 0 112 ) retro/RIVET_2B 16 0 179.99998 1 -1 1 0 0 -( 88 -16 112 ) ( 88 -16 104 ) ( 96 -16 112 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 88 0 104 ) ( 88 -64 104 ) ( 96 0 112 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 73 -{ -( 80 -64 104 ) ( 80 -64 96 ) ( 80 0 104 ) retro/RIVET_2B 0 32 0 1 1 1 0 0 -( 80 -64 104 ) ( 88 -64 104 ) ( 80 -64 96 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 88 0 104 ) ( 88 -64 104 ) ( 80 0 104 ) retro/RIVET_2B 8 0 179.99998 1 -1 1 0 0 -( 80 -16 104 ) ( 80 -16 96 ) ( 88 -16 104 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 80 0 96 ) ( 80 -64 96 ) ( 88 0 104 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 74 -{ -( 72 -64 96 ) ( 72 -64 88 ) ( 72 0 96 ) retro/RIVET_2B 0 24 0 1 1 1 0 0 -( 72 -64 96 ) ( 80 -64 96 ) ( 72 -64 88 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 80 0 96 ) ( 80 -64 96 ) ( 72 0 96 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -( 72 -16 96 ) ( 72 -16 88 ) ( 80 -16 96 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 72 0 88 ) ( 72 -64 88 ) ( 80 0 96 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 75 -{ -( 64 -64 88 ) ( 64 -64 80 ) ( 64 0 88 ) retro/RIVET_2B 0 16 0 1 1 1 0 0 -( 64 -64 88 ) ( 72 -64 88 ) ( 64 -64 80 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 72 0 88 ) ( 72 -64 88 ) ( 64 0 88 ) retro/RIVET_2B -8 0 179.99998 1 -1 1 0 0 -( 64 -16 88 ) ( 64 -16 80 ) ( 72 -16 88 ) retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 -( 64 0 80 ) ( 64 -64 80 ) ( 72 0 88 ) retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 -} -// brush 76 -{ -( -40 -88 80 ) ( -40 -87 80 ) ( -40 -88 81 ) flags/unused 40 16 0 1 1 -( -40 -88 80 ) ( -40 -88 81 ) ( -39 -88 80 ) flags/unused 40 16 0 1 1 -( -40 -88 80 ) ( -39 -88 80 ) ( -40 -87 80 ) flags/unused 40 8 0 1 1 -( 24 -72 144 ) ( 24 -71 144 ) ( 25 -72 144 ) flags/unused 40 8 0 1 1 -( 24 -72 96 ) ( 25 -72 96 ) ( 24 -72 97 ) retro/DOOR_1F 40 16 0 1 1 -( 24 -72 96 ) ( 24 -72 97 ) ( 24 -71 96 ) flags/unused 40 16 0 1 1 -} -// brush 77 -{ -( -48 -80 80 ) ( -48 -79 80 ) ( -48 -80 81 ) flags/unused 0 0 0 1 1 -( -48 -80 80 ) ( -48 -80 81 ) ( -47 -80 80 ) flags/unused 0 0 0 1 1 -( -48 -80 80 ) ( -47 -80 80 ) ( -48 -79 80 ) flags/unused 0 0 0 1 1 -( -32 -64 144 ) ( -32 -63 144 ) ( -31 -64 144 ) flags/unused 0 0 0 1 1 -( -32 -64 96 ) ( -31 -64 96 ) ( -32 -64 97 ) retro/RIVET_1C 0 0 0 1 1 -( -40 -64 96 ) ( -40 -64 97 ) ( -40 -63 96 ) retro/RIVET_1C 0 0 0 1 1 -} -// brush 78 -{ -( 24 -80 80 ) ( 24 -79 80 ) ( 24 -80 81 ) retro/RIVET_1C 0 0 0 1 1 -( 24 -80 80 ) ( 24 -80 81 ) ( 25 -80 80 ) flags/unused -8 0 0 1 1 -( 24 -80 80 ) ( 25 -80 80 ) ( 24 -79 80 ) flags/unused -8 0 0 1 1 -( 40 -64 144 ) ( 40 -63 144 ) ( 41 -64 144 ) flags/unused -8 0 0 1 1 -( 40 -64 96 ) ( 41 -64 96 ) ( 40 -64 97 ) retro/RIVET_1C -8 0 0 1 1 -( 32 -64 96 ) ( 32 -64 97 ) ( 32 -63 96 ) flags/unused 0 0 0 1 1 -} -// brush 79 -{ -( -96 64 80 ) ( -96 0 80 ) ( -96 0 0 ) retro/SUPPORT_1A 0 0 0 1 1 -( -96 0 80 ) ( -16 0 0 ) ( -96 0 0 ) retro/SUPPORT_1A 16.000004 0 0 1 1 -( -16 0 0 ) ( -16 64 0 ) ( -96 64 0 ) retro/SUPPORT_1A 16 0 0 1 1 -( -96 64 0 ) ( -16 64 0 ) ( -96 64 80 ) flags/unused 16.000004 0 0 1 1 -( -96 64 80 ) ( -16 64 0 ) ( -16 0 0 ) retro/SUPPORT_1A 48 32 0 1 1 -} -// brush 80 -{ -( 64 0 80 ) ( 144 0 160 ) ( 144 -64 160 ) retro/RIVET_2C -32 -48 0 1 1 -( 64 -64 80 ) ( 144 -64 160 ) ( 144 -64 80 ) flags/unused 0 0 0 1 1 -( 144 -64 80 ) ( 144 0 80 ) ( 64 0 80 ) retro/RIVET_2C 0 0 0 1 1 -( 144 -16 80 ) ( 144 -16 160 ) ( 64 -16 80 ) retro/RIVET_2C 0 0 0 1 1 -( 144 -64 160 ) ( 144 0 160 ) ( 144 0 80 ) retro/RIVET_2C 0 0 0 1 1 -} -// brush 81 -{ -( -41 160 176 ) ( -57 144 176 ) ( -57 144 0 ) retro/CRATE_1L 0 0 0 1 1 -( -57 144 176 ) ( 0 144 176 ) ( 0 144 0 ) retro/TECH_0A 0 0 0 1 1 -( 0 144 0 ) ( 0 160 0 ) ( -41 160 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( 0 160 0 ) ( 0 160 176 ) ( -41 160 176 ) retro/CRATE_1L 0 0 0 1 1 -( 0 144 176 ) ( 0 160 176 ) ( 0 160 0 ) retro/SUPPORT_2C 0 0 0 1 1 -} -// brush 82 -{ -( -144 80 176 ) ( -144 57 176 ) ( -144 57 0 ) retro/CRATE_1L 0 0 0 1 1 -( -64 160 0 ) ( -64 160 176 ) ( -144 80 176 ) retro/CRATE_1L 42 0 0 0.75 1 -( -144 57 0 ) ( -41 160 0 ) ( -64 160 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( -41 160 0 ) ( -41 160 176 ) ( -64 160 176 ) retro/CRATE_1L 0 0 0 1 1 -( -144 57 176 ) ( -41 160 176 ) ( -41 160 0 ) flags/unused -9 0 0 1 1 -} -// brush 83 -{ -( -160 64 176 ) ( -160 -64 176 ) ( -160 -64 0 ) retro/CRATE_1L 0 0 0 1 1 -( -160 -64 176 ) ( -144 -80 176 ) ( -144 -80 0 ) retro/CRATE_1L 22 0 0 0.75 1 -( -160 64 176 ) ( -160 64 0 ) ( -144 80 0 ) retro/CRATE_1L 42 0 0 0.75 1 -( -144 -80 0 ) ( -144 80 0 ) ( -160 64 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( -144 -80 176 ) ( -144 80 176 ) ( -144 80 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 84 -{ -( 0 160 176 ) ( 0 144 176 ) ( 0 144 64 ) retro/CRATE_1L 0 0 0 1 1 -( 0 144 176 ) ( 64 144 176 ) ( 64 144 64 ) flags/unused 0 0 0 1 1 -( 64 144 64 ) ( 64 160 64 ) ( 0 160 64 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( 64 160 64 ) ( 64 160 176 ) ( 0 160 176 ) retro/CRATE_1L 0 0 0 1 1 -( 64 144 176 ) ( 64 160 176 ) ( 64 160 64 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 85 -{ -( 64 160 176 ) ( 64 144 176 ) ( 64 144 0 ) retro/SUPPORT_2C 0 0 0 1 1 -( 64 144 176 ) ( 121 144 176 ) ( 121 144 0 ) retro/TECH_0A 0 0 0 1 1 -( 64 144 0 ) ( 121 144 0 ) ( 105 160 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( 105 160 0 ) ( 105 160 176 ) ( 64 160 176 ) retro/CRATE_1L 0 0 0 1 1 -( 105 160 176 ) ( 105 160 0 ) ( 121 144 0 ) retro/CRATE_1L -12.262604 0 0 1 1 -} -// brush 86 -{ -( 105 160 176 ) ( 208 57 176 ) ( 208 57 0 ) flags/unused 0 0 0 1 1 -( 208 57 0 ) ( 208 80 0 ) ( 128 160 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( 128 160 176 ) ( 105 160 176 ) ( 105 160 0 ) retro/CRATE_1L 0 0 0 1 1 -( 208 80 0 ) ( 208 80 176 ) ( 128 160 176 ) retro/CRATE_1L 42 0 0 0.75 1 -( 208 57 176 ) ( 208 80 176 ) ( 208 80 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 87 -{ -( 208 80 176 ) ( 208 -80 176 ) ( 208 -80 0 ) flags/unused 0 0 0 1 1 -( 224 -64 0 ) ( 224 64 0 ) ( 208 80 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( 208 -80 176 ) ( 224 -64 176 ) ( 224 -64 0 ) retro/CRATE_1L 22 0 0 0.75 1 -( 224 64 0 ) ( 224 64 176 ) ( 208 80 176 ) retro/CRATE_1L 42 0 0 0.75 1 -( 224 -64 176 ) ( 224 64 176 ) ( 224 64 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 88 -{ -( 208 -57 0 ) ( 208 -57 176 ) ( 105 -160 176 ) flags/unused 0 0 0 1 1 -( 128 -160 0 ) ( 105 -160 0 ) ( 105 -160 176 ) retro/CRATE_1L 0 0 0 1 1 -( 208 -80 0 ) ( 208 -57 0 ) ( 105 -160 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( 128 -160 176 ) ( 208 -80 176 ) ( 208 -80 0 ) retro/CRATE_1L 22 0 0 0.75 1 -( 208 -80 176 ) ( 208 -57 176 ) ( 208 -57 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 89 -{ -( -41 -160 0 ) ( -57 -144 0 ) ( -57 -144 176 ) retro/CRATE_1L 0 0 0 1 1 -( -41 -160 176 ) ( 105 -160 176 ) ( 105 -160 0 ) retro/CRATE_1L 0 0 0 1 1 -( 105 -160 0 ) ( 121 -144 0 ) ( -57 -144 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( 121 -144 0 ) ( 121 -144 176 ) ( -57 -144 176 ) flags/unused 0 0 0 1 1 -( 105 -160 176 ) ( 121 -144 176 ) ( 121 -144 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 90 -{ -( -144 -57 176 ) ( -144 -80 176 ) ( -144 -80 0 ) retro/CRATE_1L 0 0 0 1 1 -( -144 -80 176 ) ( -64 -160 176 ) ( -64 -160 0 ) retro/CRATE_1L 22 0 0 0.75 1 -( -64 -160 176 ) ( -41 -160 176 ) ( -41 -160 0 ) retro/CRATE_1L 0 0 0 1 1 -( -64 -160 0 ) ( -41 -160 0 ) ( -144 -57 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) retro/WARN_1 0 0 165 1 1 -( -41 -160 0 ) ( -41 -160 176 ) ( -144 -57 176 ) flags/unused 0 0 0 1 1 -} -// brush 91 -{ -( -41 160 176 ) ( -57 144 176 ) ( -57 144 0 ) retro/CRATE_1L 0 0 0 1 1 -( -57 144 176 ) ( 0 144 176 ) ( 0 144 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( -41 160 176 ) ( 0 160 176 ) ( 0 144 176 ) retro/WARN_1 0 0 165 1 1 -( 0 160 0 ) ( 0 160 176 ) ( -41 160 176 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 0 144 176 ) ( 0 160 176 ) ( 0 160 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 92 -{ -( -144 80 176 ) ( -144 57 176 ) ( -144 57 0 ) retro/CRATE_1L 0 0 0 1 1 -( -64 160 0 ) ( -64 160 176 ) ( -144 80 176 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( -64 160 176 ) ( -41 160 176 ) ( -144 57 176 ) retro/WARN_1 0 0 165 1 1 -( -41 160 0 ) ( -41 160 176 ) ( -64 160 176 ) retro/SUPPORT_1A 0 -16 0 1 1 -( -144 57 176 ) ( -41 160 176 ) ( -41 160 0 ) retro/CRATE_1L -9 0 0 1 1 -} -// brush 93 -{ -( -160 64 176 ) ( -160 -64 176 ) ( -160 -64 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( -160 -64 176 ) ( -144 -80 176 ) ( -144 -80 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( -160 64 176 ) ( -160 64 0 ) ( -144 80 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( -160 64 176 ) ( -144 80 176 ) ( -144 -80 176 ) retro/WARN_1 0 0 165 1 1 -( -144 -80 176 ) ( -144 80 176 ) ( -144 80 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 94 -{ -( 0 160 176 ) ( 0 144 176 ) ( 0 144 64 ) retro/CRATE_1L 0 0 0 1 1 -( 0 144 176 ) ( 64 144 176 ) ( 64 144 64 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( 0 160 176 ) ( 64 160 176 ) ( 64 144 176 ) retro/WARN_1 0 0 165 1 1 -( 64 160 64 ) ( 64 160 176 ) ( 0 160 176 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 64 144 176 ) ( 64 160 176 ) ( 64 160 64 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 95 -{ -( 64 160 176 ) ( 64 144 176 ) ( 64 144 0 ) retro/CRATE_1L 0 0 0 1 1 -( 64 144 176 ) ( 121 144 176 ) ( 121 144 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( 105 160 176 ) ( 121 144 176 ) ( 64 144 176 ) retro/WARN_1 0 0 165 1 1 -( 105 160 0 ) ( 105 160 176 ) ( 64 160 176 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 105 160 176 ) ( 105 160 0 ) ( 121 144 0 ) retro/CRATE_1L -12.262604 0 0 1 1 -} -// brush 96 -{ -( 105 160 176 ) ( 208 57 176 ) ( 208 57 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( 128 160 176 ) ( 208 80 176 ) ( 208 57 176 ) retro/WARN_1 0 0 165 1 1 -( 128 160 176 ) ( 105 160 176 ) ( 105 160 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 208 80 0 ) ( 208 80 176 ) ( 128 160 176 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 208 57 176 ) ( 208 80 176 ) ( 208 80 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 97 -{ -( 208 80 176 ) ( 208 -80 176 ) ( 208 -80 0 ) retro/CRATE_1L 0 0 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( 208 80 176 ) ( 224 64 176 ) ( 224 -64 176 ) retro/WARN_1 0 0 165 1 1 -( 208 -80 176 ) ( 224 -64 176 ) ( 224 -64 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 224 64 0 ) ( 224 64 176 ) ( 208 80 176 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 224 -64 176 ) ( 224 64 176 ) ( 224 64 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -} -// brush 98 -{ -( 208 -57 0 ) ( 208 -57 176 ) ( 105 -160 176 ) retro/CRATE_1L 0 0 0 1 1 -( 128 -160 0 ) ( 105 -160 0 ) ( 105 -160 176 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( 105 -160 176 ) ( 208 -57 176 ) ( 208 -80 176 ) retro/WARN_1 0 0 165 1 1 -( 128 -160 176 ) ( 208 -80 176 ) ( 208 -80 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 208 -80 176 ) ( 208 -57 176 ) ( 208 -57 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 99 -{ -( -41 -160 0 ) ( -57 -144 0 ) ( -57 -144 176 ) retro/CRATE_1L 0 0 0 1 1 -( -41 -160 176 ) ( 105 -160 176 ) ( 105 -160 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( -57 -144 176 ) ( 121 -144 176 ) ( 105 -160 176 ) retro/WARN_1 0 0 165 1 1 -( 121 -144 0 ) ( 121 -144 176 ) ( -57 -144 176 ) retro/CRATE_1L 0 0 0 1 1 -( 105 -160 176 ) ( 121 -144 176 ) ( 121 -144 0 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 100 -{ -( -144 -57 176 ) ( -144 -80 176 ) ( -144 -80 0 ) retro/CRATE_1L 0 0 0 1 1 -( -144 -80 176 ) ( -64 -160 176 ) ( -64 -160 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( -64 -160 176 ) ( -41 -160 176 ) ( -41 -160 0 ) retro/SUPPORT_1A 0 -16 0 1 1 -( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) retro/CRATE_1L 0 0 0 1 1 -( -144 -57 176 ) ( -41 -160 176 ) ( -64 -160 176 ) retro/WARN_1 0 0 165 1 1 -( -41 -160 0 ) ( -41 -160 176 ) ( -144 -57 176 ) retro/CRATE_1L 0 0 0 1 1 -} -// brush 101 -{ -( -80 64 0 ) ( -80 65 0 ) ( -80 64 1 ) flags/unused 0 0 0 1 1 -( -64 64 0 ) ( -64 64 1 ) ( -63 64 0 ) retro/TECH_1C 0 0 0 1 1 -( -64 64 0 ) ( -63 64 0 ) ( -64 65 0 ) retro/TECH_1C 0 0 0 1 1 -( 0 144 64 ) ( 0 145 64 ) ( 1 144 64 ) retro/TECH_1C 0 0 0 1 1 -( 0 144 16 ) ( 1 144 16 ) ( 0 144 17 ) retro/TECH_1C 0 0 0 1 1 -( -16 144 16 ) ( -16 144 17 ) ( -16 145 16 ) retro/TECH_0A 0 0 0 1 1 -} -// brush 102 -{ -( -128 0 0 ) ( -128 1 0 ) ( -128 0 1 ) flags/unused 0 0 0 1 1 -( -144 0 0 ) ( -144 0 1 ) ( -143 0 0 ) retro/SUPPORT_2B 0 0 0 1 1 -( -144 0 0 ) ( -143 0 0 ) ( -144 1 0 ) retro/SUPPORT_2B 0 0 0 1 1 -( -80 64 64 ) ( -80 65 64 ) ( -79 64 64 ) retro/SUPPORT_2B 0 0 0 1 1 -( -80 64 16 ) ( -79 64 16 ) ( -80 64 17 ) flags/unused 0 0 0 1 1 -( -96 64 16 ) ( -96 64 17 ) ( -96 65 16 ) retro/SUPPORT_2B 0 0 0 1 1 -} -// brush 103 -{ -( -144 0 0 ) ( -144 1 0 ) ( -144 0 1 ) retro/SUPPORT_1A 0 0 0 1 1 -( -144 0 0 ) ( -144 0 1 ) ( -143 0 0 ) retro/SUPPORT_1A 0 0 0 1 1 -( -144 0 0 ) ( -143 0 0 ) ( -144 1 0 ) retro/SUPPORT_1A 0 0 0 1 1 -( -128 16 64 ) ( -128 17 64 ) ( -127 16 64 ) retro/SUPPORT_1A 0 0 0 1 1 -( -128 16 16 ) ( -127 16 16 ) ( -128 16 17 ) flags/unused 0 0 0 1 1 -( -128 16 16 ) ( -128 16 17 ) ( -128 17 16 ) retro/SUPPORT_1A 0 0 0 1 1 -} -// brush 104 -{ -( -144 -64 80 ) ( -144 -63 80 ) ( -144 -64 81 ) retro/TECH_4B 0 16 0 1 1 -( -144 -64 80 ) ( -144 -64 81 ) ( -143 -64 80 ) retro/TECH_4B 0 16 0 1 1 -( -144 -64 80 ) ( -143 -64 80 ) ( -144 -63 80 ) retro/TECH_4B 0 16 0 1 1 -( -128 64 144 ) ( -128 65 144 ) ( -127 64 144 ) flags/unused 0 16 0 1 1 -( -128 64 96 ) ( -127 64 96 ) ( -128 64 97 ) flags/unused 0 16 0 1 1 -( -128 64 96 ) ( -128 64 97 ) ( -128 65 96 ) retro/TECH_4B 0 16 0 1 1 -} -// brush 105 -{ -( 80 144 64 ) ( 80 32 64 ) ( 80 32 0 ) retro/TECH_0A 0 0 0 1 1 -( 80 48 32 ) ( 96 32 160 ) ( 96 32 32 ) retro/TECH_3D 32 0 0 1 1 -( 80 32 64 ) ( 112 32 64 ) ( 112 32 0 ) retro/TECH_3D 48 0 0 1 1 -( 112 32 0 ) ( 112 144 0 ) ( 80 144 0 ) retro/TECH_0A 48 0 0 1 1 -( 80 144 64 ) ( 112 144 64 ) ( 112 32 64 ) flags/unused 48 0 0 1 1 -( 112 144 0 ) ( 112 144 64 ) ( 80 144 64 ) retro/TECH_0A 48 0 0 1 1 -( 112 32 64 ) ( 112 144 64 ) ( 112 144 0 ) flags/unused 0 0 0 1 1 -} -// brush 106 -{ -( 32 64 144 ) ( 32 0 144 ) ( 32 0 80 ) retro/TECH_1A 0 16 0 1 1 -( 32 0 112 ) ( 48 -16 240 ) ( 48 -16 112 ) retro/TECH_0A 0 16 0 1 1 -( 32 -16 144 ) ( 208 -16 144 ) ( 208 -16 80 ) retro/TECH_0A 0 16 0 1 1 -( 208 0 80 ) ( 208 64 80 ) ( 32 64 80 ) retro/TECH_0A 0 16 0 1 1 -( 32 64 144 ) ( 208 64 144 ) ( 208 0 144 ) retro/TECH_0A 0 16 0 1 1 -( 208 64 80 ) ( 208 64 144 ) ( 32 64 144 ) flags/unused 0 16 0 1 1 -( 208 0 144 ) ( 208 64 144 ) ( 208 64 80 ) retro/TECH_0A 0 16 0 1 1 -} -// brush 107 -{ -( -144 57 160 ) ( -144 -64 160 ) ( -144 -64 144 ) retro/SUPPORT_1A 0 -32 0 1 1 -( -57 144 144 ) ( -57 144 160 ) ( -144 57 160 ) retro/STEEL_1A 0 -32 0 1 1 -( -144 -64 160 ) ( -57 -144 160 ) ( -57 -144 144 ) retro/STEEL_1A 0 -32 0 1 1 -( 48 -144 144 ) ( 48 144 144 ) ( -57 144 144 ) retro/SUPPORT_4D 0 0 0 1 1 -( -57 144 160 ) ( 48 144 160 ) ( 48 -144 160 ) retro/STEEL_2A 0 0 0 1 1 -( -96 80 160 ) ( -96 -16 160 ) ( -96 -16 288 ) flags/unused 0 -32 0 1 1 -} -// brush 108 -{ -( -96 80 160 ) ( -96 -16 288 ) ( -96 -16 160 ) retro/SUPPORT_1A 0 -32 0 1 1 -( -57 144 144 ) ( -57 144 160 ) ( -144 57 160 ) retro/STEEL_1A 0 -32 0 1 1 -( -144 -64 160 ) ( -57 -144 160 ) ( -57 -144 144 ) retro/STEEL_1A 0 -32 0 1 1 -( -57 -144 160 ) ( 48 -144 160 ) ( 48 -144 144 ) retro/STEEL_1A 0 0 0 1 1 -( 48 -144 144 ) ( 48 144 144 ) ( -57 144 144 ) retro/SUPPORT_2D 0 0 0 1 1 -( -57 144 160 ) ( 48 144 160 ) ( 48 -144 160 ) retro/STEEL_2A 0 0 0 1 1 -( 48 144 144 ) ( 48 144 160 ) ( -57 144 160 ) retro/STEEL_1A 0 -32 0 1 1 -( 48 -144 160 ) ( 48 144 160 ) ( 48 144 144 ) retro/FLOOR_2A 0 -32 0 1 1 -} -// brush 109 -{ -( 292.1870719526514 250.45328355484548 -48 ) ( 300.94975474337417 248.66013261050932 10 ) ( 314.90740080752875 212.02430156564583 -48 ) retro/CONCRETE_1B 24 0 0 1 1 1 0 0 -( 292.1870719526514 250.45328355484548 -48 ) ( 324.2560743473654 274.5752895547319 -48 ) ( 300.94975474337417 248.66013261050932 10 ) retro/CONCRETE_1B -36.780487 0 0 1 1 1 0 0 -( 300.94975474337417 248.66013261050932 10 ) ( 322.73634338332016 236.89813637544066 10 ) ( 314.90740080752875 212.02430156564583 -48 ) retro/CONCRETE_1B -48.74521 0 0 1 1 1 0 0 -( 300.94975474337417 248.66013261050932 10 ) ( 324.2560743473654 274.5752895547319 -48 ) ( 341.77745849261754 258.56460667852616 10 ) retro/CONCRETE_1B -30 0 0 1 1 1 0 0 -( 324.2560743473654 274.5752895547319 -48 ) ( 356.43723220655346 281.1276524537798 -48 ) ( 341.77745849261754 258.56460667852616 10 ) retro/CONCRETE_1B -30 0 0 1 1 1 0 0 -( 314.90740080752875 212.02430156564583 -48 ) ( 322.73634338332016 236.89813637544066 10 ) ( 358.9452040109046 209.33032884468986 -48 ) retro/CONCRETE_1B -30 0 0 1 1 1 0 0 -( 370.3671000103623 252.32289789818498 -48 ) ( 314.90740080752875 212.02430156564583 -48 ) ( 358.9452040109046 209.33032884468986 -48 ) retro/CONCRETE_1B 24 30 0 1 1 1 0 0 -( 300.94975474337417 248.66013261050932 -6 ) ( 351.56622157477415 245.21466534360042 -6 ) ( 322.73634338332016 236.89813637544066 -6 ) retro/CONCRETE_1B 24 30 0 1 1 1 0 0 -( 322.73634338332016 236.89813637544066 10 ) ( 351.56622157477415 245.21466534360042 10 ) ( 358.9452040109046 209.33032884468986 -48 ) retro/CONCRETE_1B -30 0 0 1 1 1 0 0 -( 341.77745849261754 258.56460667852616 10 ) ( 356.43723220655346 281.1276524537798 -48 ) ( 351.56622157477415 245.21466534360042 10 ) retro/CONCRETE_1B 48.173798 0 0 1 1 1 0 0 -( 356.43723220655346 281.1276524537798 -48 ) ( 370.3671000103623 252.32289789818498 -48 ) ( 351.56622157477415 245.21466534360042 10 ) retro/CONCRETE_1B 24 0 0 1 1 1 0 0 -( 351.56622157477415 245.21466534360042 10 ) ( 370.3671000103623 252.32289789818498 -48 ) ( 358.9452040109046 209.33032884468986 -48 ) retro/CONCRETE_1B 24 0 0 1 1 1 0 0 -} -// brush 110 -{ -( 273.76782045813815 265.61613525922746 -48 ) ( 272.42803332872796 290.1994706670745 -48 ) ( 279.34276483439794 285.65868870598473 -38.207214709032215 ) retro/CONCRETE_1B -42.400085 0 0 0.6578947 1 1 0 0 -( 279.34276483439794 285.65868870598473 -38.207214709032215 ) ( 272.42803332872796 290.1994706670745 -48 ) ( 290.6470882553307 300.6921903916876 -36.03104019992754 ) retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 -( 290.6470882553307 300.6921903916876 -36.03104019992754 ) ( 272.42803332872796 290.1994706670745 -48 ) ( 294.3039912395963 312.45297296889936 -48 ) retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 -( 285.1150065425036 271.876555738622 -40.38338921813616 ) ( 273.76782045813815 265.61613525922746 -48 ) ( 279.34276483439794 285.65868870598473 -38.207214709032215 ) retro/CONCRETE_1B 58.780792 12.947327 0 0.6578947 1 1 0 0 -( 307.84835794768 285.5277420199881 -36.03104019992754 ) ( 279.34276483439794 285.65868870598473 -38.207214709032215 ) ( 290.6470882553307 300.6921903916876 -36.03104019992754 ) retro/CONCRETE_1B -23.885712 42.400024 0 0.97222227 0.6578947 1 0 0 -( 285.1150065425036 271.876555738622 -40.38338921813616 ) ( 279.34276483439794 285.65868870598473 -38.207214709032215 ) ( 307.84835794768 285.5277420199881 -36.03104019992754 ) retro/CONCRETE_1B -23.885712 42.400024 0 0.97222227 0.6578947 1 0 0 -( 294.3039912395963 312.45297296889936 -48 ) ( 272.42803332872796 290.1994706670745 -48 ) ( 273.76782045813815 265.61613525922746 -48 ) retro/CONCRETE_1B -23.885712 42.400024 0 0.97222227 0.6578947 1 0 0 -( 300.7355662198653 270.5291541226669 -48 ) ( 273.76782045813815 265.61613525922746 -48 ) ( 285.1150065425036 271.876555738622 -40.38338921813616 ) retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 -( 300.7355662198653 270.5291541226669 -48 ) ( 285.1150065425036 271.876555738622 -40.38338921813616 ) ( 307.84835794768 285.5277420199881 -36.03104019992754 ) retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 -( 311.1719931088824 301.2906252039988 -48 ) ( 290.6470882553307 300.6921903916876 -36.03104019992754 ) ( 294.3039912395963 312.45297296889936 -48 ) retro/CONCRETE_1B -49.180603 0 0 0.6578947 1 1 0 0 -( 307.84835794768 285.5277420199881 -36.03104019992754 ) ( 290.6470882553307 300.6921903916876 -36.03104019992754 ) ( 311.1719931088824 301.2906252039988 -48 ) retro/CONCRETE_1B -49.180603 48.518036 0 0.6578947 1 1 0 0 -( 317.3427473090497 285.52774201998824 -48 ) ( 300.7355662198653 270.5291541226669 -48 ) ( 307.84835794768 285.5277420199881 -36.03104019992754 ) retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 -( 311.1719931088824 301.2906252039988 -48 ) ( 317.3427473090497 285.52774201998824 -48 ) ( 307.84835794768 285.5277420199881 -36.03104019992754 ) retro/CONCRETE_1B -42.400085 0 0 0.6578947 1 1 0 0 -} -// brush 111 -{ -( -80 -64 160 ) ( -80 -63 160 ) ( -80 -64 161 ) retro/GRID_1A 0 0 0 1 1 -( -80 -32 160 ) ( -80 -32 161 ) ( -79 -32 160 ) retro/GRID_1A -16 0 0 1 1 -( -80 -64 160 ) ( -79 -64 160 ) ( -80 -63 160 ) retro/GRID_1A -16 0 0 1 1 -( -48 48 192 ) ( -48 49 192 ) ( -47 48 192 ) retro/GRID_1A -16 0 0 1 1 2 0 0 -( -48 32 176 ) ( -47 32 176 ) ( -48 32 177 ) retro/GRID_1A -16 0 0 1 1 -( -48 48 176 ) ( -48 48 177 ) ( -48 49 176 ) retro/GRID_1A 0 0 0 1 1 -} -// brush 112 -{ -( -224 320 -688 ) ( -224 320 -687 ) ( -224 319 -688 ) retro/FLOOR_1A 48 -32 179.99998 1 -1 -( -160 272 -672 ) ( -160 272 -671 ) ( -159 272 -672 ) retro/FLOOR_1A 0 -32 0 1 1 -( -224 320 -688 ) ( -224 319 -688 ) ( -223 320 -688 ) retro/FLOOR_1A 48 0 270 1 1 -( -160 272 -672 ) ( -159 272 -672 ) ( -160 271 -672 ) retro/FLOOR_1A 48 0 270 1 1 -( -224 432 -688 ) ( -223 432 -688 ) ( -224 432 -687 ) retro/FLOOR_1A 0 -32 0 1 1 -( -160 272 -672 ) ( -160 271 -672 ) ( -160 272 -671 ) retro/FLOOR_1A 48 -32 179.99998 1 -1 -} -// brush 113 -{ -( -384 432 -688 ) ( -384 432 -687 ) ( -384 431 -688 ) retro/FLOOR_1A 48 -32 179.99998 1 -1 -( -256 368 -672 ) ( -256 368 -671 ) ( -255 368 -672 ) retro/FLOOR_1A 32 -32 0 1 1 -( -272 432 -688 ) ( -272 431 -688 ) ( -271 432 -688 ) retro/FLOOR_1A 48 -32 270 1 1 -( -256 368 -672 ) ( -255 368 -672 ) ( -256 367 -672 ) retro/FLOOR_1A 48 -32 270 1 1 -( -272 432 -688 ) ( -271 432 -688 ) ( -272 432 -687 ) retro/FLOOR_1A 32 -32 0 1 1 -( -224 368 -672 ) ( -224 367 -672 ) ( -224 368 -671 ) retro/FLOOR_1A 48 -32 179.99998 1 -1 -} -// brush 114 -{ -( -384 448 -688 ) ( -384 448 -687 ) ( -384 447 -688 ) retro/FLOOR_1A 48 -32 179.99998 1 -1 -( -320 432 -672 ) ( -320 432 -671 ) ( -319 432 -672 ) retro/FLOOR_1A 32 -32 0 1 1 -( -384 448 -688 ) ( -384 447 -688 ) ( -383 448 -688 ) retro/FLOOR_1A 48 -32 270 1 1 -( -320 432 -672 ) ( -319 432 -672 ) ( -320 431 -672 ) retro/FLOOR_1A 48 -32 270 1 1 -( -384 560 -688 ) ( -383 560 -688 ) ( -384 560 -687 ) retro/FLOOR_1A 32 -32 0 1 1 -( -320 432 -672 ) ( -320 431 -672 ) ( -320 432 -671 ) retro/FLOOR_1A 48 -32 179.99998 1 -1 -} -// brush 115 -{ -( -288 432 -672 ) ( -288 432 -671 ) ( -288 431 -672 ) retro/DOOR_1C 48 -32 179.99998 1 -1 -( -272 368 -656 ) ( -272 368 -655 ) ( -271 368 -656 ) retro/DOOR_1C 16 -32 0 1 1 -( -288 432 -672 ) ( -288 431 -672 ) ( -287 432 -672 ) retro/DOOR_1C 48 -16 270 1 1 -( -272 368 -608 ) ( -271 368 -608 ) ( -272 367 -608 ) retro/DOOR_1C 48 -16 270 1 1 -( -288 432 -672 ) ( -287 432 -672 ) ( -288 432 -671 ) retro/DOOR_1C 16 -32 0 1 1 -( -272 368 -656 ) ( -272 367 -656 ) ( -272 368 -655 ) retro/DOOR_1C 48 -32 179.99998 1 -1 -} -// brush 116 -{ -( -384 496 -672 ) ( -384 496 -671 ) ( -384 495 -672 ) retro/CRATE_1E 0 -32 179.99998 1 -1 -( -352 448 -656 ) ( -352 448 -655 ) ( -351 448 -656 ) retro/CRATE_1E 32 -32 0 1 1 -( -384 496 -672 ) ( -384 495 -672 ) ( -383 496 -672 ) retro/CRATE_1E 0 -32 270 1 1 -( -352 448 -640 ) ( -351 448 -640 ) ( -352 447 -640 ) retro/CRATE_1E 0 -32 270 1 1 -( -384 480 -672 ) ( -383 480 -672 ) ( -384 480 -671 ) retro/CRATE_1E 32 -32 0 1 1 -( -352 448 -656 ) ( -352 447 -656 ) ( -352 448 -655 ) retro/CRATE_1E 0 -32 179.99998 1 -1 -} -// brush 117 -{ -( -384 512 -656 ) ( -384 511 -656 ) ( -384 512 -657 ) retro/CRATE_1G 48 48 179.99998 1 1 -( -368 480 -672 ) ( -367 480 -672 ) ( -368 480 -673 ) retro/CRATE_1G -48 0 270 1 1 -( -368 480 -672 ) ( -368 479 -672 ) ( -367 480 -672 ) retro/CRATE_1G 48 0 270 1 1 -( -384 512 -656 ) ( -383 512 -656 ) ( -384 511 -656 ) retro/CRATE_1G 48 0 270 1 1 -( -384 496 -656 ) ( -384 496 -657 ) ( -383 496 -656 ) retro/CRATE_1G -48 0 270 1 1 -( -368 480 -672 ) ( -368 480 -673 ) ( -368 479 -672 ) retro/CRATE_1G 48 48 179.99998 1 1 -} -// brush 118 -{ -( -240 352 -608 ) ( -240 272 -608 ) ( -240 272 -672 ) flags/unused 0 0 179.99998 1 -1 -( -240 352 -672 ) ( -224 368 -672 ) ( -224 368 -608 ) flags/unused 0 0 0 1 1 -( -240 272 -608 ) ( -224 272 -608 ) ( -224 272 -672 ) flags/unused 0 0 0 1 1 -( -240 272 -672 ) ( -224 272 -672 ) ( -224 368 -672 ) flags/unused 0 0 270 1 1 -( -224 368 -608 ) ( -224 272 -608 ) ( -240 272 -608 ) flags/unused 0 0 270 1 1 -( -224 272 -672 ) ( -224 272 -608 ) ( -224 368 -608 ) retro/TECH_1A 48 -32 179.99998 1 -1 -} -// brush 119 -{ -( -384 368 -608 ) ( -400 352 -608 ) ( -400 352 -672 ) flags/unused 0 0 0 1 1 -( -400 352 -608 ) ( -240 352 -608 ) ( -240 352 -672 ) flags/unused 0 0 0 1 1 -( -400 352 -672 ) ( -240 352 -672 ) ( -224 368 -672 ) flags/unused 0 0 270 1 1 -( -224 368 -608 ) ( -240 352 -608 ) ( -400 352 -608 ) flags/unused 0 0 270 1 1 -( -224 368 -608 ) ( -384 368 -608 ) ( -384 368 -672 ) retro/TECH_1A 32 -32 0 1 1 -( -240 352 -672 ) ( -240 352 -608 ) ( -224 368 -608 ) flags/unused 0 0 0 1 1 -} -// brush 120 -{ -( -400 560 -608 ) ( -400 352 -608 ) ( -400 352 -672 ) flags/unused 0 0 179.99998 1 -1 -( -400 560 -672 ) ( -400 352 -672 ) ( -384 368 -672 ) flags/unused 0 0 270 1 1 -( -384 368 -608 ) ( -400 352 -608 ) ( -400 560 -608 ) flags/unused 0 0 270 1 1 -( -384 560 -608 ) ( -400 560 -608 ) ( -400 560 -672 ) flags/unused 0 0 0 1 1 -( -400 352 -672 ) ( -400 352 -608 ) ( -384 368 -608 ) flags/unused 0 0 0 1 1 -( -384 368 -672 ) ( -384 368 -608 ) ( -384 560 -608 ) retro/TECH_1A 16 -32 179.99998 1 -1 -} -} -// entity 1 -{ -"classname" "trigger" -"#door.target_url" "main_door" -"#door" "/example/door.script" -"#door.direction" "0 1.95 0" -"physics_mask" "walker" -"id" "door_trigger" -// brush 0 -{ -( 0 176 64 ) ( 0 160 64 ) ( 0 160 0 ) flags/trigger 0 0 0 1 1 -( 0 128 64 ) ( 64 128 64 ) ( 64 128 0 ) flags/trigger 0 0 0 1 1 -( 64 160 0 ) ( 64 176 0 ) ( 0 176 0 ) flags/trigger 0 0 0 1 1 -( 0 176 64 ) ( 64 176 64 ) ( 64 160 64 ) flags/trigger 0 0 0 1 1 -( 64 176 0 ) ( 64 176 64 ) ( 0 176 64 ) flags/trigger 0 0 0 1 1 -( 64 160 64 ) ( 64 176 64 ) ( 64 176 0 ) flags/trigger 0 0 0 1 1 -} -} -// entity 2 -{ -"classname" "kinematic" -"id" "main_door" -// brush 0 -{ -( 0 152 64 ) ( 0 150 64 ) ( 0 150 0 ) retro/DOOR_2D 0 0 0 1 1 -( 0 146 64 ) ( 64 146 64 ) ( 64 146 0 ) retro/DOOR_2D 0 0 0 1 1 -( 64 150 0 ) ( 64 152 0 ) ( 0 152 0 ) retro/DOOR_2D 0 0 0 1 1 -( 0 152 64 ) ( 64 152 64 ) ( 64 150 64 ) retro/DOOR_2D 0 0 0 1 1 -( 64 158 0 ) ( 64 158 64 ) ( 0 158 64 ) retro/DOOR_2D 0 0 0 1 1 -( 64 150 64 ) ( 64 152 64 ) ( 64 152 0 ) retro/DOOR_2D 0 0 0 1 1 -} -} -// entity 3 -{ -"classname" "kinematic" -"#boat" "/example/boat.script" -"id" "boat" -// brush 0 -{ -( -8 524 -36 ) ( -8 484 -36 ) ( -8 484 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 484 -36 ) ( 4 484 -44 ) ( -8 484 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 4 484 -44 ) ( 4 524 -44 ) ( -8 524 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 524 -44 ) ( 4 524 -44 ) ( -8 524 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 524 -36 ) ( 4 524 -44 ) ( 4 484 -44 ) retro/CRATE_2L 16 -64 0 1 0.75 1 0 0 -} -// brush 1 -{ -( 20 524 -40 ) ( 20 484 -40 ) ( 20 484 -44 ) retro/CRATE_2L 2.3333335 88 0 0.75 1 1 0 0 -( 20 484 -40 ) ( 32 484 -40 ) ( 32 484 -44 ) retro/CRATE_2L 24 64 0 1 0.75 1 0 0 -( 32 484 -44 ) ( 32 524 -44 ) ( 20 524 -44 ) retro/CRATE_2L 24 64 0 1 0.75 1 0 0 -( 20 524 -40 ) ( 32 524 -40 ) ( 32 484 -40 ) retro/CRATE_2L 24 64 0 1 0.75 1 0 0 -( 32 524 -44 ) ( 32 524 -40 ) ( 20 524 -40 ) retro/CRATE_2L 24 64 0 1 0.75 1 0 0 -( 32 484 -40 ) ( 32 524 -40 ) ( 32 524 -44 ) retro/CRATE_2L 65 32 0 0.75 1 1 0 0 -} -// brush 2 -{ -( -13 523 -49 ) ( -16 524 -44 ) ( -16 484 -44 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( -16 484 -44 ) ( -12 480 -44 ) ( -13 485 -49 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( -13 523 -49 ) ( -12 528 -44 ) ( -16 524 -44 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( -8 484 -52 ) ( -8 524 -52 ) ( -13 523 -49 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( -12 480 -44 ) ( -8 484 -52 ) ( -13 485 -49 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( -13 523 -49 ) ( -8 524 -52 ) ( -12 528 -44 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( 64 480 -44 ) ( 64 484 -52 ) ( -8 484 -52 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( 76 496 -52 ) ( 76 512 -52 ) ( 64 524 -52 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( 64 528 -44 ) ( 96 512 -44 ) ( 96 496 -44 ) retro/CRATE_2L 64 -64 0 1 0.75 1 0 0 -( 64 524 -52 ) ( 64 528 -44 ) ( -12 528 -44 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( 64 484 -52 ) ( 96 496 -44 ) ( 76 496 -52 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( 76 512 -52 ) ( 96 512 -44 ) ( 64 524 -52 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( 96 496 -44 ) ( 96 512 -44 ) ( 76 512 -52 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( 64 480 -44 ) ( 96 496 -44 ) ( 64 484 -52 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -( 64 524 -52 ) ( 96 512 -44 ) ( 64 528 -44 ) retro/CRATE_2L 64 -16 0 1 1 1 0 0 -} -// brush 3 -{ -( 64 528 -44 ) ( 60 528 -36 ) ( 60 480 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 96 496 -44 ) ( 96 512 -44 ) ( 64 528 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 60 528 -36 ) ( 96 512 -36 ) ( 96 496 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 60 480 -36 ) ( 96 496 -36 ) ( 64 480 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 64 528 -44 ) ( 96 512 -36 ) ( 60 528 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 64 480 -44 ) ( 96 496 -36 ) ( 96 496 -44 ) retro/CRATE_2L 13 -44 0 1 1 1 0 0 -( 96 512 -44 ) ( 96 512 -36 ) ( 64 528 -44 ) retro/CRATE_2L -2 -44 0 1 1 1 0 0 -( 96 496 -36 ) ( 96 512 -36 ) ( 96 512 -44 ) retro/CRATE_2L 46 20 0 1 1 1 0 0 -} -// brush 4 -{ -( -16 524 -36 ) ( -16 484 -36 ) ( -16 484 -44 ) retro/CONSOLE_1C 8 -53 0 1 1 1 0 0 -( -16 484 -36 ) ( -12 480 -36 ) ( -12 480 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -12 528 -44 ) ( -12 528 -36 ) ( -16 524 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -12 480 -36 ) ( -8 480 -36 ) ( -8 480 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 480 -44 ) ( -8 528 -44 ) ( -12 528 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -12 528 -36 ) ( -8 528 -36 ) ( -8 480 -36 ) retro/CRATE_2L 16 0 0 1 0.75 1 0 0 -( -8 528 -44 ) ( -8 528 -36 ) ( -12 528 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 480 -36 ) ( -8 528 -36 ) ( -8 528 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -} -// brush 5 -{ -( -8 484 -36 ) ( -8 480 -36 ) ( -8 480 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 60 480 -36 ) ( 64 480 -44 ) ( -8 480 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 64 480 -44 ) ( 64 484 -44 ) ( -8 484 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 484 -36 ) ( 60 484 -36 ) ( 60 480 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 484 -44 ) ( 64 484 -44 ) ( 60 484 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 60 484 -36 ) ( 64 484 -44 ) ( 64 480 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -} -// brush 6 -{ -( -8 528 -36 ) ( -8 524 -36 ) ( -8 524 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 60 524 -36 ) ( 64 524 -44 ) ( -8 524 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 64 524 -44 ) ( 64 528 -44 ) ( -8 528 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 528 -36 ) ( 60 528 -36 ) ( 60 524 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( -8 528 -44 ) ( 64 528 -44 ) ( 60 528 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 60 528 -36 ) ( 64 528 -44 ) ( 64 524 -44 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -} -// brush 7 -{ -( -24 480 -44 ) ( -24 481 -44 ) ( -24 480 -43 ) flags/clip 0 0 0 1 1 -( -24 472 -44 ) ( -24 472 -43 ) ( -23 472 -44 ) flags/clip 0 0 0 1 1 -( -24 480 -44 ) ( -23 480 -44 ) ( -24 481 -44 ) flags/clip 0 0 0 1 1 -( -16 536 -36 ) ( -16 537 -36 ) ( -15 536 -36 ) flags/clip 0 0 0 1 1 -( -16 536 -40 ) ( -15 536 -40 ) ( -16 536 -39 ) flags/clip 0 0 0 1 1 -( 60 536 -40 ) ( 60 536 -39 ) ( 60 537 -40 ) flags/clip 0 0 0 1 1 -} -// brush 8 -{ -( 64 492 -28 ) ( 60 480 -36 ) ( 60 528 -36 ) retro/CONSOLE_1C 105 83.57143 0 1 1 1 0 0 -( 64 492 -28 ) ( 72 492 -28 ) ( 60 480 -36 ) retro/CRATE_2L 54 2 0 1 1 1 0 0 -( 96 496 -36 ) ( 96 512 -36 ) ( 60 528 -36 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -( 64 516 -28 ) ( 72 516 -28 ) ( 72 492 -28 ) retro/CRATE_2L -394 -557 0 1 1 1 0 0 -( 60 528 -36 ) ( 72 516 -28 ) ( 64 516 -28 ) retro/CRATE_2L 54 -23.465454 0 1 0.9952226 1 0 0 -( 72 516 -28 ) ( 96 512 -36 ) ( 96 496 -36 ) retro/CRATE_2L 5 21.571442 3.8146973e-05 1 1 1 0 0 -( 72 492 -28 ) ( 96 496 -36 ) ( 60 480 -36 ) retro/CRATE_2L 18 -5 0 1 1 1 0 0 -( 60 528 -36 ) ( 96 512 -36 ) ( 72 516 -28 ) retro/CRATE_2L 16 -16 0 1 1 1 0 0 -} -// brush 9 -{ -( 60 536 -36 ) ( 60 472 -36 ) ( 60 472 -48 ) flags/clip 0 0 0 1 1 -( 60 536 -36 ) ( 72 536 -28 ) ( 72 472 -28 ) flags/clip 0 0 0 1 1 -( 72 472 -28 ) ( 112 472 -32 ) ( 60 472 -48 ) flags/clip 0 0 0 1 1 -( 60 536 -48 ) ( 112 536 -32 ) ( 72 536 -28 ) flags/clip 0 0 0 1 1 -( 72 536 -28 ) ( 112 536 -32 ) ( 112 472 -32 ) flags/clip 0 8 0 1 1 -( 112 472 -32 ) ( 112 536 -32 ) ( 60 536 -48 ) flags/clip 0 0 0 1 1 -} -} -// entity 4 -{ -"classname" "dynamic" -"physics_flags" "0" -"physics_mask" "walker, default" -"physics_linear_damping" "0.9" -"physics_friction" "0.5" -"physics_restitution" "0" -"physics_angular_damping" "0.9" -// brush 0 -{ -( 92.40408205773456 -115.31370849898474 160 ) ( 92.6629011028371 -114.34778267269564 160 ) ( 92.40408205773456 -115.31370849898474 161 ) retro/CRATE_1E 56.510376 -32 0 0.9659258 1 -( 92.40408205773456 -115.31370849898474 160 ) ( 92.40408205773456 -115.31370849898474 161 ) ( 93.37000788402365 -115.57252754408725 160 ) retro/CRATE_1E -31.66375 -32 0 0.9659258 1 -( 92.40408205773456 -115.31370849898474 160 ) ( 93.37000788402365 -115.57252754408725 160 ) ( 92.6629011028371 -114.34778267269564 160 ) retro/CRATE_1E -55.100876 40.53145 345 1 1 -( 131.59591794226543 -92.68629150101523 192 ) ( 131.85473698736794 -91.72036567472617 192 ) ( 132.5618437685545 -92.94511054611777 192 ) retro/CRATE_1E -55.100876 40.53145 345 1 1 -( 131.59591794226543 -92.68629150101523 176 ) ( 132.5618437685545 -92.94511054611777 176 ) ( 131.59591794226543 -92.68629150101523 177 ) retro/CRATE_1E -40.23812 -32 0 0.9659258 1 -( 131.59591794226543 -92.68629150101523 176 ) ( 131.59591794226543 -92.68629150101523 177 ) ( 131.85473698736794 -91.72036567472617 176 ) retro/CRATE_1E 1.0847397 0 0 0.9659258 1 -} -} -// entity 5 -{ -"classname" "trigger" -// brush 0 -{ -( -272 432 -672 ) ( -272 432 -671 ) ( -272 431 -672 ) flags/trigger 0 0 179.99998 1 -1 -( -256 368 -656 ) ( -256 368 -655 ) ( -255 368 -656 ) flags/trigger 0 0 0 1 1 -( -272 432 -672 ) ( -272 431 -672 ) ( -271 432 -672 ) flags/trigger 0 0 270 1 1 -( -256 368 -608 ) ( -255 368 -608 ) ( -256 367 -608 ) flags/trigger 0 0 270 1 1 -( -272 432 -672 ) ( -271 432 -672 ) ( -272 432 -671 ) flags/trigger 0 0 0 1 1 -( -256 368 -656 ) ( -256 367 -656 ) ( -256 368 -655 ) flags/trigger 0 0 179.99998 1 -1 -} -// brush 1 -{ -( -304 432 -672 ) ( -304 432 -671 ) ( -304 431 -672 ) flags/trigger 0 0 179.99998 1 -1 -( -288 368 -656 ) ( -288 368 -655 ) ( -287 368 -656 ) flags/trigger 0 0 0 1 1 -( -304 432 -672 ) ( -304 431 -672 ) ( -303 432 -672 ) flags/trigger 0 0 270 1 1 -( -288 368 -608 ) ( -287 368 -608 ) ( -288 367 -608 ) flags/trigger 0 0 270 1 1 -( -304 432 -672 ) ( -303 432 -672 ) ( -304 432 -671 ) flags/trigger 0 0 0 1 1 -( -288 368 -656 ) ( -288 367 -656 ) ( -288 368 -655 ) flags/trigger 0 0 179.99998 1 -1 -} -} diff --git a/assets/maps/level/level.mtl b/assets/maps/level/level.mtl deleted file mode 100644 index 04a3259..0000000 --- a/assets/maps/level/level.mtl +++ /dev/null @@ -1,132 +0,0 @@ -newmtl flags/clip -map_Kd textures/flags/clip.png - -newmtl flags/trigger -map_Kd textures/flags/trigger.png - -newmtl flags/unused -map_Kd textures/flags/unused.png - -newmtl retro/CONCRETE_1A -map_Kd textures/retro/CONCRETE_1A.png - -newmtl retro/CONCRETE_1B -map_Kd textures/retro/CONCRETE_1B.png - -newmtl retro/CONCRETE_2A -map_Kd textures/retro/CONCRETE_2A.png - -newmtl retro/CONSOLE_1A -map_Kd textures/retro/CONSOLE_1A.png - -newmtl retro/CONSOLE_1C -map_Kd textures/retro/CONSOLE_1C.png - -newmtl retro/CONSOLE_1D -map_Kd textures/retro/CONSOLE_1D.png - -newmtl retro/CRATE_1E -map_Kd textures/retro/CRATE_1E.png - -newmtl retro/CRATE_1F -map_Kd textures/retro/CRATE_1F.png - -newmtl retro/CRATE_1G -map_Kd textures/retro/CRATE_1G.png - -newmtl retro/CRATE_1H -map_Kd textures/retro/CRATE_1H.png - -newmtl retro/CRATE_1L -map_Kd textures/retro/CRATE_1L.png - -newmtl retro/CRATE_2L -map_Kd textures/retro/CRATE_2L.png - -newmtl retro/DOOR_1C -map_Kd textures/retro/DOOR_1C.png - -newmtl retro/DOOR_1D -map_Kd textures/retro/DOOR_1D.png - -newmtl retro/DOOR_1F -map_Kd textures/retro/DOOR_1F.png - -newmtl retro/DOOR_2D -map_Kd textures/retro/DOOR_2D.png - -newmtl retro/FLOOR_1A -map_Kd textures/retro/FLOOR_1A.png - -newmtl retro/FLOOR_2A -map_Kd textures/retro/FLOOR_2A.png - -newmtl retro/FLOOR_2G -map_Kd textures/retro/FLOOR_2G.png - -newmtl retro/GRID_1A -map_Kd textures/retro/GRID_1A.png - -newmtl retro/LIGHT_1B -map_Kd textures/retro/LIGHT_1B.png - -newmtl retro/RIVET_1C -map_Kd textures/retro/RIVET_1C.png - -newmtl retro/RIVET_2B -map_Kd textures/retro/RIVET_2B.png - -newmtl retro/RIVET_2C -map_Kd textures/retro/RIVET_2C.png - -newmtl retro/SLIME_1A -map_Kd textures/retro/SLIME_1A.png - -newmtl retro/STEEL_1A -map_Kd textures/retro/STEEL_1A.png - -newmtl retro/STEEL_2A -map_Kd textures/retro/STEEL_2A.png - -newmtl retro/SUPPORT_1A -map_Kd textures/retro/SUPPORT_1A.png - -newmtl retro/SUPPORT_1D -map_Kd textures/retro/SUPPORT_1D.png - -newmtl retro/SUPPORT_2B -map_Kd textures/retro/SUPPORT_2B.png - -newmtl retro/SUPPORT_2C -map_Kd textures/retro/SUPPORT_2C.png - -newmtl retro/SUPPORT_2D -map_Kd textures/retro/SUPPORT_2D.png - -newmtl retro/SUPPORT_4D -map_Kd textures/retro/SUPPORT_4D.png - -newmtl retro/TECH_0A -map_Kd textures/retro/TECH_0A.png - -newmtl retro/TECH_1A -map_Kd textures/retro/TECH_1A.png - -newmtl retro/TECH_1B -map_Kd textures/retro/TECH_1B.png - -newmtl retro/TECH_1C -map_Kd textures/retro/TECH_1C.png - -newmtl retro/TECH_1F -map_Kd textures/retro/TECH_1F.png - -newmtl retro/TECH_3D -map_Kd textures/retro/TECH_3D.png - -newmtl retro/TECH_4B -map_Kd textures/retro/TECH_4B.png - -newmtl retro/WARN_1 -map_Kd textures/retro/WARN_1.png - diff --git a/assets/maps/level/level.obj b/assets/maps/level/level.obj deleted file mode 100644 index a9891f3..0000000 --- a/assets/maps/level/level.obj +++ /dev/null @@ -1,4459 +0,0 @@ -mtllib level.mtl -# vertices -v 0 -48 -224 -v 0 -48 -192 -v 0 0 -192 -v 0 0 -224 -v 64 0 -192 -v 64 -48 -192 -v 64 -48 -224 -v 64 0 -224 -v -32 -16 -192 -v -64 -16 -160 -v -64 0 -160 -v -32 0 -192 -v 128 0 -160 -v 128 -16 -160 -v 96 -16 -192 -v 96 0 -192 -v -160 0 -64 -v -160 -16 -64 -v -160 -16 64 -v -160 0 64 -v -64 -16 160 -v -64 0 160 -v -64 -16 -160 -v -64 0 -160 -v 128 0 160 -v 128 -16 160 -v 224 -16 64 -v 128 -16 -160 -v 224 -16 -64 -v 224 0 -64 -v 128 0 -160 -v 224 0 64 -v -48 -48 -240 -v 0 -32 -288 -v -16 -48 -320 -v 0 -32 -192 -v 80 -48 -336 -v 64 -32 -192 -v 112 -48 -256 -v 64 -32 -288 -v -176 -48 96 -v -160 -16 64 -v -208 -48 -96 -v -160 -16 -64 -v -48 -48 208 -v -64 -16 160 -v -32 -16 -192 -v -48 -48 -240 -v 112 -48 -256 -v 128 -16 160 -v 240 -48 80 -v 128 -48 192 -v 272 -48 -80 -v 224 -16 64 -v 224 -16 -64 -v 96 -16 -192 -v 0 -48 -256 -v 0 -48 -224 -v 0 -16 -224 -v 0 -16 -256 -v 64 -16 -224 -v 64 -48 -224 -v 64 -48 -256 -v 64 -16 -256 -v 0 -48 -472 -v 0 -48 -304 -v 0 -40 -304 -v 0 -40 -472 -v 64 -40 -304 -v 64 -48 -304 -v 64 -48 -472 -v 64 -40 -472 -v -640 -64 -896 -v -640 -64 512 -v -640 -48 512 -v -640 -48 -896 -v 768 -48 512 -v 768 -64 512 -v 768 -64 -896 -v 768 -48 -896 -v 176 0 -48 -v 176 0 -32 -v 176 64 -32 -v 176 64 -48 -v 192 64 -16 -v 192 0 -16 -v 208 0 -48 -v 208 64 -48 -v 112 0 -48 -v 112 0 -32 -v 112 64 -32 -v 112 64 -48 -v 176 64 -32 -v 176 0 -32 -v 176 0 -48 -v 176 64 -48 -v -96 64 -0 -v -96 64 105 -v -96 80 105 -v -96 80 -0 -v -57 64 144 -v -57 80 144 -v 121 80 144 -v 121 64 144 -v 208 64 57 -v 208 64 -0 -v 208 80 -0 -v 208 80 57 -v 32 64 -64 -v 32 64 -0 -v 32 80 -0 -v 32 80 -64 -v 208 80 -0 -v 208 64 -0 -v 201 64 -64 -v 208 64 -57 -v 208 80 -57 -v 201 80 -64 -v -80 80 -121 -v -80 64 -121 -v -80 64 -64 -v -80 80 -64 -v -57 64 -144 -v -57 80 -144 -v 201 80 -64 -v 201 64 -64 -v 121 64 -144 -v 121 80 -144 -v -144 80 -57 -v -144 64 -57 -v -144 64 57 -v -144 80 57 -v -96 80 105 -v -96 64 105 -v -96 64 -105 -v -96 80 -105 -v -57 80 -144 -v -144 80 -57 -v -144 144 -57 -v -57 144 -144 -v 208 144 -57 -v 208 80 -57 -v 121 80 -144 -v 121 144 -144 -v 48 144 64 -v 48 144 144 -v 48 160 144 -v 48 160 64 -v 121 160 144 -v 121 144 144 -v 144 144 121 -v 144 144 64 -v 144 160 64 -v 144 160 121 -v 48 144 -144 -v 48 144 16 -v 48 160 16 -v 48 160 -144 -v 144 160 16 -v 144 144 16 -v 121 144 -144 -v 144 144 -121 -v 144 160 -121 -v 121 160 -144 -v 144 144 -121 -v 144 144 121 -v 144 160 121 -v 144 160 -121 -v 208 144 57 -v 208 144 -57 -v 208 160 -57 -v 208 160 57 -v 32 80 64 -v 32 80 144 -v 32 144 144 -v 32 144 64 -v 121 144 144 -v 121 80 144 -v 201 80 64 -v 201 144 64 -v -112 144 89 -v -137 144 64 -v -137 80 64 -v -112 80 89 -v -112 80 64 -v -112 144 64 -v -112 80 64 -v -112 80 80 -v -112 144 80 -v -112 144 64 -v -48 144 80 -v -48 80 80 -v -48 80 64 -v -48 144 64 -v 0 -32 -272 -v 0 -32 -256 -v 0 -16 -256 -v 64 -16 -256 -v 64 -32 -256 -v 64 -32 -272 -v 0 -16 -240 -v 0 -16 -224 -v 0 0 -224 -v 64 0 -224 -v 64 -16 -224 -v 64 -16 -240 -v 72 -48 -472 -v 72 -48 -352 -v 72 256 -352 -v 72 64 -472 -v 88 256 -352 -v 88 -48 -352 -v 88 -48 -472 -v 88 64 -472 -v -24 -48 -456 -v -24 -48 -336 -v -24 256 -336 -v -24 64 -456 -v -8 256 -336 -v -8 -48 -336 -v -8 -48 -456 -v -8 64 -456 -v -40 -48 -552 -v -24 -48 -536 -v -24 64 -536 -v -40 64 -552 -v 64 64 -536 -v 64 -48 -536 -v 64 -48 -552 -v 64 64 -552 -v -40 -48 -552 -v -40 -48 -456 -v -40 64 -456 -v -40 64 -552 -v -24 -48 -472 -v -24 -48 -536 -v -24 64 -536 -v -24 64 -472 -v 72 -48 -352 -v 128 -48 -256 -v 128 256 -256 -v 72 256 -352 -v 144 256 -256 -v 144 -48 -256 -v 88 -48 -352 -v 88 256 -352 -v 128 -48 -256 -v 288 -48 -80 -v 288 256 -80 -v 128 256 -256 -v 304 256 -80 -v 304 -48 -80 -v 144 -48 -256 -v 144 256 -256 -v 288 -48 -80 -v 256 -48 80 -v 256 256 80 -v 288 256 -80 -v 272 256 80 -v 272 -48 80 -v 304 -48 -80 -v 304 256 -80 -v 136 256 216 -v 136 256 200 -v 136 -48 200 -v 136 -48 216 -v 256 -48 80 -v 256 256 80 -v 272 -48 80 -v 272 256 80 -v -56 256 232 -v -56 256 216 -v -56 -48 216 -v -56 -48 232 -v 136 -48 200 -v 136 256 200 -v 136 -48 216 -v 136 256 216 -v -56 256 232 -v -208 256 96 -v -208 -48 96 -v -56 -48 232 -v -192 -48 96 -v -56 -48 216 -v -56 256 216 -v -192 256 96 -v -232 -48 -104 -v -208 -48 96 -v -208 256 96 -v -232 256 -104 -v -192 256 96 -v -192 -48 96 -v -216 -48 -104 -v -216 256 -104 -v -80 -48 -240 -v -232 -48 -104 -v -232 256 -104 -v -80 256 -240 -v -216 256 -104 -v -216 -48 -104 -v -64 -48 -240 -v -64 256 -240 -v -24 -48 -336 -v -80 -48 -240 -v -80 256 -240 -v -24 256 -336 -v -64 256 -240 -v -64 -48 -240 -v -8 -48 -336 -v -8 256 -336 -v 104 64 -512 -v 104 -48 -512 -v 104 -48 -496 -v 104 64 -496 -v 120 64 -488 -v 120 -48 -488 -v 120 -48 -520 -v 120 64 -520 -v 64 -48 -472 -v 64 -48 -312 -v 64 -40 -312 -v 64 -40 -472 -v 72 -40 -312 -v 72 -48 -312 -v 72 -48 -472 -v 72 -40 -472 -v 64 -48 -552 -v 64 -48 -536 -v 64 64 -536 -v 64 64 -552 -v 104 64 -512 -v 104 -48 -512 -v 120 -48 -520 -v 120 64 -520 -v 104 -48 -496 -v 72 -48 -472 -v 72 64 -472 -v 104 64 -496 -v 88 64 -472 -v 88 -48 -472 -v 120 -48 -488 -v 120 64 -488 -v -24 -48 -472 -v -40 -48 -456 -v -40 64 -456 -v -24 64 -472 -v -8 64 -456 -v -8 -48 -456 -v -8 -48 -472 -v -8 64 -472 -v -8 -48 -472 -v -8 -48 -304 -v -8 -40 -304 -v -8 -40 -472 -v 0 -40 -304 -v 0 -48 -304 -v 0 -48 -472 -v 0 -40 -472 -v 0 160 80 -v 0 160 144 -v 0 224 144 -v 0 224 80 -v 64 224 144 -v 64 160 144 -v 64 160 80 -v 64 224 80 -v -58.39230484541251 160 118 -v -58.392304845412625 160 134 -v -58.392304845412625 192 134 -v -58.39230484541251 192 118 -v -42.39230484541622 192 134 -v -42.39230484541301 160 134 -v -42.392304845413236 160 118 -v -42.392304845408944 192 118 -v -32 160 96 -v -32 160 144 -v -32 192 144 -v -32 192 96 -v 0 192 144 -v 0 160 144 -v 0 160 96 -v 0 192 96 -v -32 192 112 -v -32 192 144 -v -32 208 144 -v -32 208 112 -v 0 208 144 -v 0 192 144 -v 0 192 112 -v 0 208 112 -v 16 80 -162 -v 16 80 -160 -v 16 112 -160 -v 16 112 -162 -v 48 112 -160 -v 48 80 -160 -v 48 80 -162 -v 48 112 -162 -v -162 80 -16 -v -162 80 16 -v -162 112 16 -v -162 112 -16 -v -160 112 16 -v -160 80 16 -v -160 80 -16 -v -160 112 -16 -v 224 80 -16 -v 224 80 16 -v 224 112 16 -v 224 112 -16 -v 226 112 16 -v 226 80 16 -v 226 80 -16 -v 226 112 -16 -v 16 80 160 -v 16 80 162 -v 16 112 162 -v 16 112 160 -v 48 112 162 -v 48 80 162 -v 48 80 160 -v 48 112 160 -v -48 0 84 -v -48 0 96 -v -48 64 96 -v -48 64 84 -v 16 64 96 -v 16 0 96 -v 16 0 84 -v 16 64 84 -v -128 0 80 -v -128 0 96 -v -128 64 96 -v -128 64 80 -v -48 64 96 -v -48 0 96 -v -48 0 80 -v -48 64 80 -v 16 0 80 -v 16 0 96 -v 16 64 96 -v 16 64 80 -v 192 64 96 -v 192 0 96 -v 192 0 80 -v 192 64 80 -v 176 64 80 -v 176 64 64 -v 176 0 64 -v 176 0 80 -v 192 0 48 -v 192 64 48 -v 208 0 64 -v 208 64 64 -v -144 0 48 -v -144 0 80 -v -144 64 80 -v -144 64 48 -v -112 64 80 -v -112 0 80 -v -112 0 64 -v -112 64 64 -v 192 0 -16 -v 192 0 48 -v 192 64 48 -v 192 64 -16 -v 208 64 48 -v 208 0 48 -v 208 0 -16 -v 208 64 -16 -v -88 72 -0 -v -96 80 -0 -v -96 80 -64 -v -88 72 -64 -v -88 80 -0 -v -88 80 -64 -v -80 64 -0 -v -88 72 -0 -v -88 72 -64 -v -80 64 -64 -v -80 72 -0 -v -80 72 -64 -v -72 56 -0 -v -80 64 -0 -v -80 64 -64 -v -72 56 -64 -v -72 64 -0 -v -72 64 -64 -v -64 48 -0 -v -72 56 -0 -v -72 56 -64 -v -64 48 -64 -v -64 56 -0 -v -64 56 -64 -v -56 40 -0 -v -64 48 -0 -v -64 48 -64 -v -56 40 -64 -v -56 48 -0 -v -56 48 -64 -v -48 32 -0 -v -56 40 -0 -v -56 40 -64 -v -48 32 -64 -v -48 40 -0 -v -48 40 -64 -v -40 24 -0 -v -48 32 -0 -v -48 32 -64 -v -40 24 -64 -v -40 32 -0 -v -40 32 -64 -v -32 16 -0 -v -40 24 -0 -v -40 24 -64 -v -32 16 -64 -v -32 24 -0 -v -32 24 -64 -v -24 8 -0 -v -32 16 -0 -v -32 16 -64 -v -24 8 -64 -v -24 16 -0 -v -24 16 -64 -v -16 0 -0 -v -24 8 -0 -v -24 8 -64 -v -16 0 -64 -v -16 8 -0 -v -16 8 -64 -v 136 152 64 -v 136 160 64 -v 136 160 16 -v 136 152 16 -v 144 160 64 -v 144 160 16 -v 128 144 64 -v 128 152 64 -v 128 152 16 -v 128 144 16 -v 136 152 64 -v 136 152 16 -v 120 136 64 -v 120 144 64 -v 120 144 16 -v 120 136 16 -v 128 144 64 -v 128 144 16 -v 112 128 64 -v 112 136 64 -v 112 136 16 -v 112 128 16 -v 120 136 64 -v 120 136 16 -v 104 120 64 -v 104 128 64 -v 104 128 16 -v 104 120 16 -v 112 128 64 -v 112 128 16 -v 96 112 64 -v 96 120 64 -v 96 120 16 -v 96 112 16 -v 104 120 64 -v 104 120 16 -v 88 104 64 -v 88 112 64 -v 88 112 16 -v 88 104 16 -v 96 112 64 -v 96 112 16 -v 80 96 64 -v 80 104 64 -v 80 104 16 -v 80 96 16 -v 88 104 64 -v 88 104 16 -v 72 88 64 -v 72 96 64 -v 72 96 16 -v 72 88 16 -v 80 96 64 -v 80 96 16 -v 64 80 64 -v 64 88 64 -v 64 88 16 -v 64 80 16 -v 72 88 64 -v 72 88 16 -v -40 80 72 -v -40 80 88 -v -40 144 88 -v -40 144 72 -v 24 144 88 -v 24 80 88 -v 24 80 72 -v 24 144 72 -v -48 80 64 -v -48 80 80 -v -48 144 80 -v -48 144 64 -v -40 144 80 -v -40 80 80 -v -40 80 64 -v -40 144 64 -v 24 80 64 -v 24 80 80 -v 24 144 80 -v 24 144 64 -v 32 144 80 -v 32 80 80 -v 32 80 64 -v 32 144 64 -v -96 80 -64 -v -96 0 -64 -v -96 0 -0 -v -96 80 -0 -v -16 0 -0 -v -16 0 -64 -v 144 160 16 -v 64 80 16 -v 64 80 64 -v 144 160 64 -v 144 80 64 -v 144 80 16 -v -41 0 -160 -v -57 0 -144 -v -57 128 -144 -v -41 128 -160 -v 0 128 -144 -v 0 0 -144 -v 0 0 -160 -v 0 128 -160 -v -144 128 -57 -v -144 128 -80 -v -144 0 -80 -v -144 0 -57 -v -64 0 -160 -v -64 128 -160 -v -41 0 -160 -v -41 128 -160 -v -160 128 -64 -v -160 0 -64 -v -160 0 64 -v -160 128 64 -v -144 128 80 -v -144 0 80 -v -144 0 -80 -v -144 128 -80 -v 0 64 -160 -v 0 64 -144 -v 0 128 -144 -v 0 128 -160 -v 64 128 -144 -v 64 64 -144 -v 64 64 -160 -v 64 128 -160 -v 64 0 -160 -v 64 0 -144 -v 64 128 -144 -v 64 128 -160 -v 121 128 -144 -v 121 0 -144 -v 105 0 -160 -v 105 128 -160 -v 208 128 -57 -v 105 128 -160 -v 105 0 -160 -v 208 0 -57 -v 128 0 -160 -v 208 0 -80 -v 208 128 -80 -v 128 128 -160 -v 208 0 -80 -v 208 0 80 -v 208 128 80 -v 208 128 -80 -v 224 0 64 -v 224 0 -64 -v 224 128 -64 -v 224 128 64 -v 208 0 57 -v 105 0 160 -v 105 128 160 -v 208 128 57 -v 128 128 160 -v 128 0 160 -v 208 0 80 -v 208 128 80 -v -57 0 144 -v -41 0 160 -v -41 128 160 -v -57 128 144 -v 105 128 160 -v 105 0 160 -v 121 0 144 -v 121 128 144 -v -144 0 57 -v -144 0 80 -v -144 128 80 -v -144 128 57 -v -64 0 160 -v -64 128 160 -v -41 128 160 -v -41 0 160 -v -41 128 -160 -v -57 128 -144 -v -57 176 -144 -v -41 176 -160 -v 0 176 -144 -v 0 128 -144 -v 0 128 -160 -v 0 176 -160 -v -144 176 -57 -v -144 176 -80 -v -144 128 -80 -v -144 128 -57 -v -64 128 -160 -v -64 176 -160 -v -41 128 -160 -v -41 176 -160 -v -160 176 -64 -v -160 128 -64 -v -160 128 64 -v -160 176 64 -v -144 176 80 -v -144 128 80 -v -144 128 -80 -v -144 176 -80 -v 0 128 -160 -v 0 128 -144 -v 0 176 -144 -v 0 176 -160 -v 64 176 -144 -v 64 128 -144 -v 64 128 -160 -v 64 176 -160 -v 64 128 -160 -v 64 128 -144 -v 64 176 -144 -v 64 176 -160 -v 121 176 -144 -v 121 128 -144 -v 105 128 -160 -v 105 176 -160 -v 208 176 -57 -v 105 176 -160 -v 105 128 -160 -v 208 128 -57 -v 128 128 -160 -v 208 128 -80 -v 208 176 -80 -v 128 176 -160 -v 208 128 -80 -v 208 128 80 -v 208 176 80 -v 208 176 -80 -v 224 128 64 -v 224 128 -64 -v 224 176 -64 -v 224 176 64 -v 208 128 57 -v 105 128 160 -v 105 176 160 -v 208 176 57 -v 128 176 160 -v 128 128 160 -v 208 128 80 -v 208 176 80 -v -57 128 144 -v -41 128 160 -v -41 176 160 -v -57 176 144 -v 105 176 160 -v 105 128 160 -v 121 128 144 -v 121 176 144 -v -144 128 57 -v -144 128 80 -v -144 176 80 -v -144 176 57 -v -64 128 160 -v -64 176 160 -v -41 176 160 -v -41 128 160 -v -80 0 -144 -v -80 0 -64 -v -80 64 -64 -v -80 64 -144 -v -16 64 -64 -v -16 0 -64 -v -16 0 -144 -v -16 64 -144 -v -128 0 -64 -v -128 0 -0 -v -128 64 -0 -v -128 64 -64 -v -96 64 -0 -v -96 0 -0 -v -96 0 -64 -v -96 64 -64 -v -144 0 -16 -v -144 0 -0 -v -144 64 -0 -v -144 64 -16 -v -128 64 -0 -v -128 0 -0 -v -128 0 -16 -v -128 64 -16 -v -144 80 -64 -v -144 80 64 -v -144 144 64 -v -144 144 -64 -v -128 144 64 -v -128 80 64 -v -128 80 -64 -v -128 144 -64 -v 80 0 -144 -v 80 0 -48 -v 80 64 -48 -v 80 64 -144 -v 96 0 -32 -v 96 64 -32 -v 112 64 -32 -v 112 0 -32 -v 112 0 -144 -v 112 64 -144 -v 32 80 -64 -v 32 80 -0 -v 32 144 -0 -v 32 144 -64 -v 48 80 16 -v 48 144 16 -v 208 144 16 -v 208 80 16 -v 208 80 -64 -v 208 144 -64 -v -144 160 -57 -v -144 144 -57 -v -144 144 64 -v -144 160 64 -v -96 144 -105 -v -96 160 -105 -v -96 160 108.13793103448188 -v -96 144 108.13793103448276 -v -96 160 -105 -v -96 144 -105 -v -96 144 108.13793103448414 -v -96 160 108.13793103448414 -v -57 144 -144 -v -57 160 -144 -v -57 144 144 -v -57 160 144 -v 48 160 144 -v 48 144 144 -v 48 144 -144 -v 48 160 -144 -v 298.53246293903277 -6 -249.15479493998467 -v 292.18707195264733 -48 -250.45328355484878 -v 314.90740080752585 -48 -212.02430156564878 -v 304.80013986451905 -6 -238.5536964602006 -v 307.3790842893027 -6 -255.809141422715 -v 324.2560743472734 -48 -274.575289554636 -v 320.5766350865462 -6 -230.0363888417042 -v 336.9439732110079 -6 -262.98134678227404 -v 356.43723220649565 -48 -281.12765245369087 -v 345.82153399991046 -6 -264.7888951682511 -v 332.72499459092796 -6 -229.29322395316444 -v 358.945204010899 -48 -209.33032884469299 -v 370.36710001031713 -48 -252.32289789815923 -v 356.7526707983847 -6 -247.17555708279613 -v 352.9099486456097 -6 -255.12169627054675 -v 353.60180293646545 -6 -235.3155380335565 -v 273.7678204581389 -48 -265.61613525923167 -v 279.3427648343968 -38.207214709036634 -285.65868870598206 -v 272.42803332872427 -48 -290.1994706670739 -v 290.647088255344 -36.031040199923154 -300.6921903916955 -v 294.3039912396016 -48 -312.45297296890567 -v 285.1150065425027 -40.38338921814069 -271.87655573861934 -v 307.84835794768344 -36.03104019993161 -285.5277420199854 -v 317.34274730905133 -48 -285.5277420199867 -v 300.73556621988246 -48 -270.5291541226743 -v 311.17199310888935 -48 -301.29062520399947 -v -80 160 -32 -v -80 160 32 -v -80 192 32 -v -80 192 -32 -v -48 192 32 -v -48 160 32 -v -48 160 -32 -v -48 192 -32 -v -224 -688 -432 -v -224 -688 -272 -v -224 -672 -272 -v -224 -672 -432 -v -160 -672 -272 -v -160 -688 -272 -v -160 -688 -432 -v -160 -672 -432 -v -384 -688 -432 -v -384 -688 -368 -v -384 -672 -368 -v -384 -672 -432 -v -224 -672 -368 -v -224 -688 -368 -v -224 -688 -432 -v -224 -672 -432 -v -384 -688 -560 -v -384 -688 -432 -v -384 -672 -432 -v -384 -672 -560 -v -320 -672 -432 -v -320 -688 -432 -v -320 -688 -560 -v -320 -672 -560 -v -288 -672 -432 -v -288 -672 -368 -v -288 -608 -368 -v -288 -608 -432 -v -272 -608 -368 -v -272 -672 -368 -v -272 -672 -432 -v -272 -608 -432 -v -384 -672 -480 -v -384 -672 -448 -v -384 -640 -448 -v -384 -640 -480 -v -352 -640 -448 -v -352 -672 -448 -v -352 -672 -480 -v -352 -640 -480 -v -384 -672 -496 -v -384 -672 -480 -v -384 -656 -480 -v -384 -656 -496 -v -368 -656 -480 -v -368 -672 -480 -v -368 -672 -496 -v -368 -656 -496 -v -240 -608 -352 -v -240 -672 -352 -v -240 -672 -272 -v -240 -608 -272 -v -224 -672 -368 -v -224 -608 -368 -v -224 -608 -272 -v -224 -672 -272 -v -384 -672 -368 -v -400 -672 -352 -v -400 -608 -352 -v -384 -608 -368 -v -240 -608 -352 -v -240 -672 -352 -v -224 -672 -368 -v -224 -608 -368 -v -400 -608 -352 -v -400 -608 -560 -v -400 -672 -560 -v -400 -672 -352 -v -384 -672 -368 -v -384 -672 -560 -v -384 -608 -560 -v -384 -608 -368 -v 0 0 -176 -v 0 0 -128 -v 0 64 -128 -v 0 64 -176 -v 64 64 -128 -v 64 0 -128 -v 64 0 -176 -v 64 64 -176 -v 0 0 -158 -v 0 0 -146 -v 0 64 -146 -v 0 64 -158 -v 64 64 -146 -v 64 0 -146 -v 64 0 -158 -v 64 64 -158 -v -8 -36 -524 -v -8 -44 -524 -v -8 -44 -484 -v -8 -36 -484 -v 4 -44 -484 -v 4 -44 -524 -v 20 -44 -524 -v 20 -44 -484 -v 20 -40 -484 -v 20 -40 -524 -v 32 -40 -484 -v 32 -44 -484 -v 32 -44 -524 -v 32 -40 -524 -v -16 -44 -524 -v -13 -49 -523 -v -13 -49 -485 -v -16 -44 -484 -v -12 -44 -480 -v -12 -44 -528 -v -8 -52 -484 -v -8 -52 -524 -v 64 -44 -480 -v 64 -52 -484 -v 76 -52 -496 -v 64 -52 -524 -v 76 -52 -512 -v 64 -44 -528 -v 96 -44 -496 -v 96 -44 -512 -v 64 -44 -528 -v 64 -44 -480 -v 60 -36 -480 -v 60 -36 -528 -v 96 -44 -496 -v 96 -44 -512 -v 96 -36 -512 -v 96 -36 -496 -v -16 -36 -524 -v -16 -44 -524 -v -16 -44 -484 -v -16 -36 -484 -v -12 -44 -480 -v -12 -36 -480 -v -12 -44 -528 -v -12 -36 -528 -v -8 -36 -480 -v -8 -44 -480 -v -8 -44 -528 -v -8 -36 -528 -v -8 -44 -484 -v -8 -44 -480 -v -8 -36 -480 -v -8 -36 -484 -v 60 -36 -480 -v 64 -44 -480 -v 64 -44 -484 -v 60 -36 -484 -v -8 -44 -528 -v -8 -44 -524 -v -8 -36 -524 -v -8 -36 -528 -v 60 -36 -524 -v 64 -44 -524 -v 64 -44 -528 -v 60 -36 -528 -v -24 -44 -536 -v -24 -44 -472 -v -24 -36 -472 -v -24 -36 -536 -v 60 -36 -472 -v 60 -44 -472 -v 60 -44 -536 -v 60 -36 -536 -v 60 -36 -528 -v 60 -36 -480 -v 64 -28 -492 -v 64 -28 -516 -v 72 -28 -492 -v 96 -36 -512 -v 96 -36 -496 -v 72 -28 -516 -v 60 -48 -472 -v 60 -36 -472 -v 60 -36 -536 -v 60 -48 -536 -v 72 -28 -536 -v 72 -28 -472 -v 112 -32 -472 -v 112 -32 -536 -v 100.68629150101697 160 84.40408205773565 -v 92.40408205773474 160 115.31370849898305 -v 92.40408205773474 192 115.31370849898305 -v 100.68629150101553 192 84.40408205773397 -v 123.31370849898667 192 123.59591794226435 -v 123.31370849898555 160 123.5959179422634 -v 131.5959179422651 160 92.68629150101644 -v 131.59591794226435 192 92.68629150101515 -v -272 -672 -432 -v -272 -672 -368 -v -272 -608 -368 -v -272 -608 -432 -v -256 -608 -368 -v -256 -672 -368 -v -256 -672 -432 -v -256 -608 -432 -v -304 -672 -432 -v -304 -672 -368 -v -304 -608 -368 -v -304 -608 -432 -v -288 -608 -368 -v -288 -672 -368 -v -288 -672 -432 -v -288 -608 -432 - -# texture coordinates -vt 0.75 -3.5 -vt 0.75 -3 -vt 0 -3 -vt 0 -3.5 -vt -4 -0 -vt 0 -0 -vt -4 -3 -vt -4 -12 -vt 0 -12 -vt 0 -14 -vt -4 -14 -vt -1 -3.5 -vt -1 -3 -vt -1 -0.75 -vt 0 -0.75 -vt -1 -0 -vt 3 -0.25 -vt 2.5 -0.25 -vt 2.5 -0 -vt 3 -0 -vt 8 -0 -vt -4 -1 -vt 8 -1 -vt 8 10 -vt -4 10 -vt -2 12 -vt 6 12 -vt 1.5 3 -vt -0.5 3 -vt -1 2.5 -vt 2 2.5 -vt 1.5 -0.25 -vt -0.5 -0.25 -vt -0.5 -0 -vt 1.5 -0 -vt 1 -0 -vt 1 -0.25 -vt -1 -0.25 -vt -2.5 -0.25 -vt -2.5 -0 -vt 2 -0 -vt 2 -0.25 -vt 14 -4 -vt 8 -10 -vt -4 -10 -vt -10 -4 -vt -10 4 -vt 14 4 -vt 3.5 1 -vt -2.5 1 -vt -2.5 -1 -vt -1 -2.5 -vt 2 -2.5 -vt 3.5 -1 -vt 0.25 3.75 -vt -0.5 4.5 -vt -0.25 5 -vt -1.25 4.75 -vt 0.25 4.5 -vt 0 4 -vt -4 9.782051 -vt 0 9.782051 -vt 3 12.782051 -vt -7 -16 -vt 3 -15 -vt 1 -20 -vt -5 -21 -vt -4.5 1 -vt -4.5 -0 -vt -3 -0 -vt -3 1 -vt -1 4 -vt -7 13.782051 -vt -1.5 4.5 -vt -1.5 3 -vt -2.25 4 -vt -1.75 5.25 -vt -1.5185187 -0.7376543 -vt -1.0185187 -0.23765433 -vt 1.4814813 -0.7376543 -vt -2.1682236 0.054381073 -vt -2.9182236 0.5543811 -vt -2.1682236 -1.9456189 -vt -1.25 -3.2307692 -vt -1.5 -2.4807692 -vt -3.25 -1.4807692 -vt -3 -0.98076916 -vt -3.25 0.75 -vt -0.5 2.25 -vt -0.75 3 -vt -2.5 0.25 -vt 1.75 3.0842912 -vt -0.75 2.8342912 -vt -0.5 2.0842912 -vt 2 -2.1270492 -vt -1 -2.1270492 -vt -0.75 -2.8770492 -vt 15 -5 -vt 8 -12 -vt -3 -13 -vt -11 -6 -vt -13 6 -vt -3 15 -vt 7 16 -vt 17 5 -vt 1.5 2.0842912 -vt 2 -2.6270492 -vt 1.1963642 3.0381527 -vt 0.94636416 2.0381527 -vt 2.9463642 0.038152695 -vt 3.6963642 0.2881527 -vt 3.6329787 0.38120568 -vt 2.8829787 0.13120568 -vt 2.8829787 -1.8687943 -vt 3 -0.24019611 -vt 1.5 -1.7401961 -vt 1.5 -2.2401962 -vt 3.25 -0.4901961 -vt 1.25 -0.75 -vt -1.25 -0.75 -vt -4 -0.75 -vt -3.5 -0.75 -vt -3.5 -0.25 -vt -4 -0.25 -vt 0 -1 -vt 0 -16 -vt -4 -16 -vt -4 1 -vt -3.5 -0 -vt -3.5 1 -vt 0 -0.25 -vt 0.25 -4 -vt 0.25 -3.5 -vt 0.75 -4 -vt -0.75 -7.5 -vt -0.75 -4.875 -vt -0.625 -4.875 -vt -0.625 -7.5 -vt 4 -2.5 -vt 0 -2.5 -vt 4 -3 -vt 4 19.5 -vt 0 19.5 -vt 0 30 -vt 4 30 -vt 1 7.5 -vt 0 7.5 -vt 0 4.875 -vt 1 4.875 -vt 1 -0.75 -vt 0 -0.625 -vt 1 -0.625 -vt 57 -3 -vt -31 -3 -vt -31 -2 -vt 57 -2 -vt 51 -2 -vt -37 -2 -vt -37 -3 -vt 51 -3 -vt 51 -31 -vt -37 -31 -vt -37 57 -vt 51 57 -vt 12.75 14.25 -vt -9.25 14.25 -vt -9.25 -7.75 -vt 12.75 -7.75 -vt 1.25 -0 -vt 1.25 1 -vt 1.5 1 -vt 0.25 1 -vt 0.5 1 -vt 0.5 -0 -vt 0.25 -0 -vt 3.75 0.75 -vt 3.5 1.25 -vt 4 1.25 -vt 16 -0 -vt 14 -0 -vt 16 4 -vt 1 1 -vt 0.75 -0 -vt 0.75 1 -vt 3 1 -vt 2 1 -vt 3 0.5 -vt 2 0.5 -vt 2 0.75 -vt 3 0.75 -vt 12 -0 -vt 8 4 -vt 12 4 -vt 0 1.5 -vt -1.640625 1.5 -vt -1.640625 1.75 -vt 0 1.75 -vt -2.25 1.5 -vt -2.25 1.75 -vt 1.890625 1.25 -vt -0.890625 1.25 -vt -0.890625 1 -vt 1.890625 1 -vt 3.25 -0.890625 -vt 1.890625 -2.25 -vt -0.890625 -2.25 -vt -1.5 -1.640625 -vt -1.5 -0 -vt 3.25 -0 -vt 3.25 1.5 -vt -1.5 1.5 -vt -1.5 1.75 -vt 3.25 1.75 -vt -0.75 1.75 -vt -2.109375 1.75 -vt -2.109375 1.5 -vt -0.75 1.5 -vt -0.890625 1.75 -vt -0.890625 1.5 -vt 1 1.5 -vt 1 1.75 -vt 3.25 1.25 -vt 0.5 1.25 -vt 3.25 1 -vt 3.140625 1 -vt 3.25 0.890625 -vt 3.140625 1.5 -vt 0.5 1.5 -vt 0.5 1.75 -vt 3.140625 1.75 -vt 1.8477325 1.5 -vt 1.9571075 1.5 -vt 1.9571075 1.75 -vt 1.8477325 1.75 -vt 0.890625 1.5 -vt 0.890625 1.75 -vt 7.5625 7 -vt 7.5625 6 -vt 4 6 -vt 4 7 -vt 2.25 1.5 -vt 1.890625 1.5 -vt 1.890625 1.75 -vt 2.25 1.75 -vt -1.25 1.75 -vt -1.25 1.5 -vt -1.25 1 -vt -1.25 1.890625 -vt -0.890625 2.25 -vt 1.890625 2.25 -vt 7.5625 9 -vt -3.5625 9 -vt -5 7.5625 -vt -5 4 -vt 12.5625 4 -vt 2.917952 1.75 -vt 1.6679521 1.75 -vt 1.6679521 1.5 -vt 2.917952 1.5 -vt 1.640625 1.5 -vt 1.640625 1.75 -vt -2.25 -0.890625 -vt -2.25 0.890625 -vt -1.5 1.640625 -vt -6.5625 7 -vt -6.5625 6 -vt 6.5625 6 -vt 6.5625 7 -vt 2.25 2 -vt 0.890625 2 -vt 0.890625 3 -vt 2.25 3 -vt 3.25 3 -vt -2.25 3 -vt -2.25 2 -vt 3.25 2 -vt 3.25 1.640625 -vt -2.25 1.640625 -vt -0.890625 3 -vt 1.890625 3 -vt 7.5625 12 -vt -3.5625 12 -vt -9 6.5625 -vt 13 6.5625 -vt 1.890625 2 -vt -0.890625 2 -vt -4 11 -vt -9 11 -vt -9 12 -vt -4 12 -vt 1.890625 2.5 -vt 0.75 2.5 -vt 0.75 2.25 -vt 2.25 -1.890625 -vt 0.75 -2.25 -vt 0.75 -1 -vt 2.25 -1 -vt 2.25 2.75 -vt 0.75 2.75 -vt 0.75 3 -vt -1.75 3 -vt -2.109375 3 -vt -2.109375 2.75 -vt -1.75 2.75 -vt -1.890625 3 -vt -1.890625 2.75 -vt -1 2.75 -vt -1 3 -vt 9 11 -vt -1 11 -vt -1 12 -vt 9 12 -vt 2.25 -0.25 -vt 0.75 -0.25 -vt 2.25 1.890625 -vt 1.890625 2.75 -vt 1.3832073 2.75 -vt 1.7425823 2.75 -vt 1.7425823 3 -vt 1.3832073 3 -vt -0.25 3 -vt -0.25 2.75 -vt 7.5625 11 -vt -7.5625 11 -vt -7.5625 12 -vt -0.75 2.75 -vt 1.7220205 2.75 -vt 2.7220206 2.75 -vt 2.7220206 3 -vt 1.7220205 3 -vt 0.890625 2.75 -vt -0.890625 2.75 -vt -4 4 -vt -9 4 -vt -9 8 -vt -4 8 -vt 0.5 2 -vt 1.890625 -2.5 -vt 0.5 -2.5 -vt 0.5 -1.25 -vt 3.140625 -1.25 -vt 12.5625 -5 -vt 2 -5 -vt 2 -10 -vt 7.5625 -10 -vt 3.140625 2 -vt -0.859375 2 -vt -2.109375 2 -vt -2.109375 1 -vt -0.859375 1 -vt -1.390625 2 -vt -1 2 -vt -1 1 -vt -1.390625 1 -vt -1.75 -1.640625 -vt -2.140625 -1.25 -vt -1.75 -1.25 -vt -7 -5 -vt -8.5625 -5 -vt -7 -6.5625 -vt -1.75 1 -vt -2.140625 1 -vt -2.140625 2 -vt -1.75 2 -vt -5.5625 8 -vt -5.5625 4 -vt -3 4 -vt -3 8 -vt 0 8 -vt 0 -6 -vt -4 -6 -vt -4 -5 -vt 0 -5 -vt 0 1 -vt 0 2 -vt 17 -2 -vt 16 -2 -vt 16 -1 -vt 4 -1 -vt 0 -2 -vt 4 -2 -vt 4 16 -vt 0 16 -vt 0 17 -vt 4 17 -vt 15 -1 -vt 14 -1 -vt 4 -0 -vt 4 14 -vt 0 14 -vt 0 15 -vt 4 15 -vt 29.5 -3 -vt 22 -3 -vt 22 16 -vt 29.5 4 -vt 5.5 16 -vt 4.5 16 -vt 4.5 -3 -vt 5.5 -3 -vt 5.5 22 -vt 4.5 22 -vt 4.5 29.5 -vt 5.5 29.5 -vt 5.5 4.5 -vt 4.5 4.5 -vt 4.5 16.5 -vt 5.5 16.5 -vt 4.5 4 -vt 5.5 4 -vt 28.5 -3 -vt 21 -3 -vt 21 16 -vt 28.5 4 -vt -0.5 16 -vt -1.5 16 -vt -1.5 -3 -vt -0.5 -3 -vt -0.5 21 -vt -1.5 21 -vt -1.5 28.5 -vt -0.5 28.5 -vt -1.5 16.5 -vt -0.5 16.5 -vt -1.5 4 -vt -0.5 4 -vt 34 -3 -vt 33 -3 -vt 33 4 -vt 34 4 -vt 4 4 -vt 4 33.5 -vt -1.5 33.5 -vt -2.5 34.5 -vt 4 34.5 -vt -2.5 -3 -vt -2.5 4 -vt 34.5 4 -vt 33.5 4 -vt 33.5 -3 -vt 34.5 -3 -vt -1.5 29.5 -vt -2.5 28.5 -vt 16 -3 -vt 16 16 -vt 9 16 -vt 8 16 -vt 8 -3 -vt 9 -3 -vt 5 -3 -vt 5 16 -vt 19 16 -vt 18 16 -vt 18 -3 -vt 19 -3 -vt 19 5 -vt 18 5 -vt -5 -3 -vt -5 16 -vt 17 16 -vt 17 -3 -vt 17 -5 -vt 16 -5 -vt -13.5 16 -vt -12.5 16 -vt -12.5 -3 -vt -13.5 -3 -vt -4.5 -3 -vt -12 -3 -vt -12 16 -vt -4.5 16 -vt 8.5 -13.5 -vt 8.5 -12.5 -vt -13 16 -vt -13 -3 -vt -14.5 16 -vt -14.5 -3 -vt 8.5 -3 -vt -3.5 -3 -vt -3.5 16 -vt 8.5 16 -vt -3.5 -14.5 -vt -3.5 -13.5 -vt -4 16 -vt -13 -6 -vt -12 -6 -vt 6.5 -3 -vt -6 -3 -vt -6 16 -vt 6.5 16 -vt -14.5 6.5 -vt -13.5 6.5 -vt -5 15 -vt -4 15 -vt 15 -3 -vt 15 16 -vt 32 4 -vt 32 -3 -vt 31 -3 -vt 31 4 -vt 7.5 4 -vt 6.5 4 -vt 7.5 -3 -vt 7.5 30.5 -vt 6.5 31 -vt 6.5 32 -vt 7.5 32.5 -vt 30.5 4 -vt 30.5 -3 -vt 32.5 -3 -vt 32.5 4 -vt -3 -30 -vt -3 -20 -vt -2.5 -20 -vt -2.5 -30 -vt 4.5 -2.5 -vt 4.5 20 -vt 4 20 -vt 4.5 30 -vt 7 4 -vt 7 -3 -vt 5 4 -vt -0.5 29.5 -vt -3 -19.5 -vt -2.5 -19.5 -vt -0.5 -2.5 -vt -0.5 19.5 -vt -0.5 30 -vt -2 3 -vt -2 4 -vt 1 4 -vt 0 3 -vt 1 3 -vt 1 -2 -vt 1 -1 -vt -2 2.75 -vt -2.25 2.75 -vt -2.25 3.25 -vt -2 3.25 -vt -0.5 3.25 -vt -0.75 3.25 -vt -0.5 2.75 -vt -0.5 -2.25 -vt -0.75 -2.25 -vt -0.75 -2 -vt -0.5 -2 -vt -1.75 2.5 -vt -2.5 2.5 -vt -2.5 3 -vt -0.5 2.5 -vt 0 2.5 -vt 0 -2.25 -vt -0.5 -1.5 -vt 0 -1.5 -vt -2.25 2.5 -vt -1.5 2.5 -vt -2 2.5 -vt -2.5 2.75 -vt 0 2.75 -vt -0.5 -1.75 -vt 0 -1.75 -vt 2 2.53125 -vt 2.5 2.5 -vt 2.5 2.53125 -vt 2.5 0.5 -vt 2.53125 0.5 -vt 2.53125 -0 -vt 0.5 2.5 -vt 2.5 -0.5 -vt 2.53125 -0.5 -vt 2.53125 -1 -vt 2.5 -1 -vt 2 -0.5 -vt 2 -1 -vt 2.5 3.53125 -vt 2.5 3.5 -vt 2 3.5 -vt 2 3.53125 -vt 3.53125 -0.5 -vt 3.5 -0.5 -vt 3.53125 -1 -vt -1.0625 -0 -vt -1.25 -0 -vt -1.0625 1 -vt 1 -1.5 -vt 0 -1.3125 -vt 1 -1.3125 -vt 4 -5.25 -vt 0 -5.25 -vt 4 -6 -vt -0.75 -0 -vt -0.75 1 -vt -9 -0 -vt -1 -1 -vt -2.25 -1 -vt -2.25 -0.75 -vt -9 -3 -vt -9 -4 -vt -4 -4 -vt -2.25 -0 -vt -2.25 1 -vt -0.5 1 -vt 13 4 -vt 2 4 -vt 13 -0 -vt 3.25 -1 -vt 0.5 -1 -vt 0.5 -0.75 -vt 3.25 -0.75 -vt 13 -3 -vt 2 -3 -vt 2 -4 -vt 13 -4 -vt -0.25 -0 -vt -0.25 1 -vt 2.75 -1.25 -vt 2.75 -1 -vt 3 -0.75 -vt 2.75 1 -vt 2.75 -0 -vt -1.5 1 -vt -2 1 -vt -2 -0 -vt -1.5 -1 -vt -2 -1 -vt -2 -0.5 -vt -1.5 -0.75 -vt 3.75 1 -vt 3.5 -0 -vt 3.75 -0 -vt 3.75 -0.5 -vt 3.5 0.5 -vt 3.75 0.5 -vt -1.125 -0 -vt -1.125 1 -vt -1.125 1.25 -vt -1.25 1.25 -vt -1.125 1.125 -vt 1 1.125 -vt 0 1.125 -vt -1 1.125 -vt -0.875 -0 -vt -0.875 1 -vt -0.87500006 1 -vt -0.87500006 0.875 -vt 1 0.125 -vt 0 0.125 -vt -0.75000006 0.875 -vt -0.75000006 0.75 -vt -0.125 1 -vt -0.125 -0 -vt -0.625 -0 -vt -0.625 1 -vt -0.625 0.75 -vt -0.75 0.75 -vt -0.625 0.625 -vt -0.5 0.625 -vt -0.5 0.5 -vt -0.375 -0 -vt -0.375 1 -vt -0.37499997 0.5 -vt -0.49999997 0.5 -vt -0.37499997 0.375 -vt -0.24999997 0.375 -vt -0.24999997 0.25 -vt -0.12500001 0.25 -vt -0.25 0.25 -vt -0.12500001 0.125 -vt -1.4901161e-08 0.125 -vt -1.4901161e-08 -0 -vt -1 2.125 -vt -0.25 2.125 -vt -0.25 2 -vt -2.25 2.2500002 -vt -2.125 2.2500002 -vt -2.125 2.1250002 -vt -2.25 -0.25 -vt -2.125 -0.25 -vt -2.125 -1 -vt -2 2.1250002 -vt -2 2.0000002 -vt -2 -0.25 -vt -2 2 -vt -1.875 2 -vt -1.875 1.8750001 -vt -1.25 -0.25 -vt -1.125 -0.25 -vt -1.125 -1 -vt -1.25 -1 -vt -1.875 -1 -vt -1.875 -0.25 -vt -1.75 1.8750001 -vt -1.75 1.7500001 -vt -1.75 -1 -vt -1.75 -0.25 -vt -0.25 1.125 -vt -1.75 1.75 -vt -1.625 1.75 -vt -1.625 1.625 -vt -1.625 -1 -vt -1.625 -0.25 -vt -1.5 1.625 -vt -1.5 -0.25 -vt -1.375 1.5 -vt -1.375 1.375 -vt -1.375 -1 -vt -1.375 -0.25 -vt -1.25 1.375 -vt -2 8 -vt 4 8 -vt 4 -5 -vt 1 2 -vt -4 5 -vt -5 5 -vt -5 9 -vt -4 9 -vt -2.5 9 -vt -3 9 -vt -3 5 -vt -2.5 5 -vt -2.5 -5 -vt -3 -5 -vt -3 -4 -vt -2.5 -4 -vt -0.625 1.25 -vt -0.75 1.25 -vt -0.75 2.25 -vt -0.625 2.25 -vt -1 2.25 -vt -1.25 2.25 -vt -1 1.25 -vt 1.5 9 -vt 1 9 -vt 1 5 -vt 1.5 5 -vt 1.5 -5 -vt 1 -5 -vt 1 -4 -vt 1.5 -4 -vt 0.375 1.25 -vt 0.25 1.25 -vt 0.25 2.25 -vt 0.375 2.25 -vt 1 1.25 -vt 0 1.25 -vt 5.9604645e-08 -0 -vt 2.3841858e-07 -0 -vt -5 -0 -vt -0.75 0.5 -vt -0.75 -0.5 -vt 0.5 -0.5 -vt 0.5 0.5 -vt 1.75 0.5 -vt 0.5 -0.25 -vt 1.75 -0.25 -vt 9 10 -vt 4 5 -vt 9 5 -vt 2.25 1.25 -vt 2.25 2.5 -vt -0.25 2.5 -vt -0.25 1.25 -vt 2.25 -0 -vt 2.5 2 -vt -0.890625 -0 -vt 0 2.25 -vt -0.640625 2.5 -vt 0.64704764 -2.4148145 -vt 1.2658439 -2.2490087 -vt 1.4426205 -1.9428225 -vt 0.58234286 -2.1733332 -vt -0.640625 -0 -vt -0.640625 2 -vt 1.25 2 -vt 0.890625 -0 -vt 3.9895833 -0 -vt 2.3229165 -0 -vt 2.3229165 2 -vt 3.9895833 2 -vt -2.25 1.25 -vt 1.6129735 -2.1559956 -vt 2.496857 -0.62506443 -vt 2.4038439 -0.27793485 -vt 9.4375 8 -vt 3 8 -vt 9.4375 -0 -vt -1.3229166 2 -vt -0.9895834 2 -vt -0.9895834 -0 -vt -1.3229166 -0 -vt 1.9895834 -0 -vt 1.9895834 2 -vt -2.25 -1.25 -vt 2.6736336 -0.3188782 -vt 2.1559956 1.6129735 -vt 1.8498093 1.7897501 -vt -1.25 2 -vt 2.5 1 -vt 2.25 1 -vt 1 2.25 -vt 1 2.5 -vt -0.3188782 -2.6736336 -vt -0.38358298 -2.4321523 -vt 1.890625 -0 -vt 1.640625 2.5 -vt -0.93767446 -2.8394396 -vt -1.2438607 -2.662663 -vt 1.640625 -0 -vt 1.640625 2 -vt 2.3083968 2 -vt 2.0583968 2 -vt 2.0583968 -0 -vt 2.3083968 -0 -vt 3.5625 8 -vt 10 8 -vt 10 -0 -vt 3.5625 -0 -vt -2.815735 -2.0485692 -vt -1.284804 -2.9324527 -vt -2.9087481 -1.7014396 -vt 2 2 -vt 5 -0 -vt -5 8 -vt 5 8 -vt 3.25 -1.25 -vt -3.1219213 -1.8717924 -vt -3.4627829 0.3662454 -vt -3.6395595 0.060059167 -vt -3.5625 -0 -vt -10 -0 -vt -10 8 -vt -3.5625 8 -vt 1.640625 -2.5 -vt -3.3697696 0.019115793 -vt -2.2317696 1.9901896 -vt -2.5788994 1.8971765 -vt -2.9895833 2 -vt -2.9895833 -0 -vt -2.5 2 -vt -0.640625 -2.5 -vt -2.4085464 1.6840034 -vt 0.27793485 2.4038439 -vt -0.02825138 2.5806205 -vt 7.5625 -0 -vt 7.5625 8 -vt 1.9428225 1.4426205 -vt 0.3188782 2.6736336 -vt 2.5 2.75 -vt -0.640625 2.25 -vt -0.640625 3 -vt 1.25 2.75 -vt 2.5 2.25 -vt 1.25 2.25 -vt 1.25 3 -vt 2.5 3 -vt 2.359375 2.75 -vt 0.75 2 -vt 2.359375 2 -vt -1.25 3 -vt -1.25 2.75 -vt 1 2.75 -vt 1.640625 2.25 -vt 1.640625 3 -vt 2.3083968 2.75 -vt 2.0583968 2.75 -vt 2 2.25 -vt 2 3 -vt -2.5 2.25 -vt 9 -0 -vt 9 4 -vt -0.25 2.25 -vt -6 -0 -vt -8 -0 -vt -8 4 -vt -6 4 -vt -2.25 0.25 -vt -2 0.25 -vt -2 -1.25 -vt -2.25 0.75 -vt -2 0.75 -vt -8 3 -vt -9 3 -vt -9 -5 -vt -8 -5 -vt -8 8 -vt 2.25 0.5 -vt 10 9 -vt 8 9 -vt 8 3 -vt 9 2 -vt 10 2 -vt 3.25 -0.5 -vt 0.75 -0.5 -vt 0.5 0.75 -vt 3.25 0.75 -vt 2 8 -vt 13 8 -vt 1.640625 2.75 -vt -1.5 2.75 -vt -1.5 -1.6896552 -vt -6.7586207 11 -vt 6.5625 11 -vt 6.5625 12 -vt -6.7586207 12 -vt -1.6896552 2.75 -vt -1.6896552 3 -vt -0.890625 2.5 -vt 4.2680435 -0.09375 -vt 4.2883325 -0.75 -vt 3.6878798 -0.75 -vt 4.1024017 -0.09375 -vt 4.228103 -0.09375 -vt 4.491806 -0.75 -vt 3.990728 -0.75 -vt 4.0898747 -0.09375 -vt 4.0008583 -0.09375 -vt 4.1587844 -0.75 -vt 4.247366 -0.09375 -vt 4.7959995 -0.09375 -vt 4.597751 -0.75 -vt 4.3340483 -0.09375 -vt 5.1005816 -0.75 -vt 4.9347115 -0.09375 -vt 4.730078 -0.09375 -vt 4.54026 -0.09375 -vt 4.4516783 -0.75 -vt 5.1397686 -0.75 -vt 5.9835186 2.8020363 -vt 5.2954283 2.8441298 -vt 4.940423 3.4445825 -vt 5.441501 3.8214889 -vt 5.9443316 3.9238696 -vt 6.161986 3.4737952 -vt 5.9492607 3.393368 -vt 5.889218 3.5175264 -vt 5.7784615 3.6685767 -vt 5.6397495 3.6403337 -vt 5.1777983 3.5282679 -vt 5.03957 3.4242938 -vt 5.137502 3.2586515 -vt 5.38401 3.1255686 -vt 5.573828 3.1139567 -vt 5.900028 3.2080553 -vt 5.056278 -0.09375 -vt 5.145335 -0.75 -vt 4.8900423 -0.09375 -vt 4.7389917 -0.09375 -vt 4.317545 -0.75 -vt 4.7676196 -0.75 -vt 4.3612766 -0.09375 -vt 4.237118 -0.09375 -vt 4.0518055 -0.09375 -vt 3.6457863 -0.75 -vt 5.6458826 -0.75 -vt 6.1218934 -0.5969877 -vt 6.229737 -0.75 -vt 4.459339 -0.562985 -vt 4.290706 -0.75 -vt 4.217729 -0.5969877 -vt 4.6483517 -0.75 -vt 7.689932 4.045769 -vt 7.552841 4.261115 -vt 7.4204364 3.9479504 -vt 4.2978992 6.47894 -vt 4.116223 6.1218944 -vt 4.5743484 6.118784 -vt 4.208991 5.7945685 -vt 4.726937 6.118784 -vt 4.460036 5.7625675 -vt 4.0266256 5.6458836 -vt 4.005093 6.2297378 -vt 4.3566713 6.7582583 -vt 4.6277637 6.4931526 -vt 4.2089915 -0.63099045 -vt 4.026626 -0.75 -vt 4.4600363 -0.75 -vt 4.574349 4.461371 -vt 4.2089915 4.248071 -vt 4.4600363 4.227018 -vt 6.6218886 4.707666 -vt 6.2212734 4.8820777 -vt 6.1344223 4.6983156 -vt 6.6218886 3.9495716 -vt 6.1344223 3.9402213 -vt 6.5429525 3.7032766 -vt 4.574349 -0.562985 -vt 4.7269373 -0.75 -vt 6.4931517 -0.75 -vt 6.118783 -0.562985 -vt 6.118783 -0.75 -vt 0.5 3 -vt -1 -0.5 -vt -1.5 -0.5 -vt -1.5 0.5 -vt -1 0.5 -vt -6 -10.25 -vt -3.5 -10.25 -vt -3.5 -10 -vt -6 -10 -vt -2.5 -10 -vt -2.5 -10.25 -vt -3.5 -2.5 -vt -3.5 -3.5 -vt -6 -3.5 -vt -6 -2.5 -vt -5 -10.25 -vt -5 -10 -vt -3 -10 -vt -5.5 -10 -vt -5.5 -10.25 -vt -3 -10.25 -vt -5 -5.5 -vt -6 -5.5 -vt -8 -10.25 -vt -8 -10 -vt -4.5 -10 -vt -4.5 -10.25 -vt -6 -4.5 -vt -8 -5.5 -vt -8 -4.5 -vt -5 -9 -vt -6 -9 -vt -4 -9 -vt -4.25 -9 -vt -4.25 -10 -vt -5 -4 -vt -5 -4.25 -vt -6 -4.25 -vt -6 -4 -vt -7.5 -10 -vt -7 -10 -vt -7 -9.5 -vt -7.5 -9.5 -vt -5 -9.5 -vt -5.5 -9.5 -vt -7 -5.5 -vt -7.5 -5.5 -vt -7.5 -5 -vt -7 9.75 -vt -6.75 9.75 -vt -6.75 9.5 -vt -7 9.5 -vt 9.5 -5.75 -vt 9.5 -6 -vt 9.75 -6 -vt 9.75 -5.75 -vt -6.75 -5.75 -vt -6.75 -6 -vt -7 -6 -vt -7 -5.75 -vt -22 -38 -vt -22 -42 -vt -17 -42 -vt -17 -38 -vt 23 -42 -vt 22 -42 -vt 22 -38 -vt 23 -38 -vt -14 -38 -vt -15 -38 -vt -15 -42 -vt -14 -42 -vt -17 -14 -vt -17 -15 -vt -22 -15 -vt -23 -14 -vt -3.5 -9 -vt -25 -38 -vt -25 -42 -vt -22 -25 -vt -23 -24 -vt -5.5 -9 -vt -3 -9 -vt -35 -38 -vt -35 -42 -vt -35 -25 -vt -35 -24 -vt -24 -42 -vt -24 -38 -vt -8.5 -10 -vt -8.5 -9 -vt 11 -0 -vt 11 4 -vt 0 11 -vt 4 11 -vt 2.46875 -0 -vt 2.28125 -0 -vt 2.28125 1 -vt 2.46875 1 -vt 1 2.28125 -vt 0 2.28125 -vt 0 2.46875 -vt 1 2.46875 -vt 8.4375 -0.3125 -vt 8.4375 -0.4375 -vt 7.8125 -0.4375 -vt 7.8125 -0.3125 -vt 0.125 -0.3125 -vt 0.125 -0.4375 -vt 0.3125 -0.4375 -vt 0.3125 7.8125 -vt 0.125 7.8125 -vt 0.125 8.4375 -vt 0.3125 8.4375 -vt 0.125 11.916667 -vt 0.125 11.083333 -vt 0.3125 11.083333 -vt 0.3125 11.916667 -vt 10.953125 -2.0625 -vt 10.119791 -2.0625 -vt 10.119791 -2 -vt 10.953125 -2 -vt 0.875 -1.8333333 -vt 0.6875 -1.8333333 -vt 0.6875 -1.9166667 -vt 0.875 -1.9166667 -vt 0.875 9.083333 -vt 0.6875 9.083333 -vt 0.6875 9.916667 -vt 0.875 9.916667 -vt 11.932292 -1.125 -vt 11.098958 -1.125 -vt 11.098958 -1.1875 -vt 11.932292 -1.1875 -vt 9.1875 -0.4375 -vt 9.171875 -0.515625 -vt 8.578125 -0.515625 -vt 8.5625 -0.4375 -vt 8.5 -0.4375 -vt 9.25 -0.4375 -vt 0.875 7.8125 -vt 0.796875 7.828125 -vt 0.796875 8.421875 -vt 0.875 8.4375 -vt 0.8125 -0.4375 -vt 0.796875 -0.515625 -vt 0.875 -0.5625 -vt 2 -0.4375 -vt 2 -0.5625 -vt 2.1875 8 -vt 2 7.8125 -vt 2 8.4375 -vt 2.1875 8.25 -vt 2 12 -vt 0.8125 12 -vt 0.75 11.916667 -vt 0.75 11.083333 -vt 0.8125 11 -vt 2 11 -vt 2.5 11.333333 -vt 2.5 11.666667 -vt 2.5 8 -vt 2.5 8.25 -vt 2.5 -0.4375 -vt 7.75 -0.4375 -vt 7.75 -0.3125 -vt 8.5 -0.3125 -vt 1.75 8 -vt 1.25 7.75 -vt 1.25 8.5 -vt 1.75 8.25 -vt 1.1875 8.5 -vt 1.1875 7.75 -vt 1.75 -0.3125 -vt 1.1875 -0.3125 -vt 1.25 -0.4375 -vt 1.703125 0.125 -vt 1.203125 -0 -vt 1.703125 -0 -vt 1.46875 -0 -vt 0.96875 -0 -vt 1.46875 0.125 -vt 8.71875 -1 -vt 8.71875 -0.875 -vt 8.46875 -0.875 -vt 8.46875 -1 -vt 8.3125 0.265625 -vt 8.3125 0.140625 -vt 7.6875 0.140625 -vt 7.6875 0.265625 -vt 0.0625 -0.3125 -vt 0.0625 -0.4375 -vt 0.125 7.75 -vt 0.0625 7.75 -vt 0 7.8125 -vt 0 8.4375 -vt 0.0625 8.5 -vt 0.125 8.5 -vt 0.125 11 -vt 0.0625 11 -vt 0 10.916667 -vt 0 10.083333 -vt 0.0625 10 -vt 0.125 10 -vt 1.25 7.8125 -vt 1.1875 7.8125 -vt 1.25 8.4375 -vt 1.1875 8.4375 -vt 33.5 -2.75 -vt 29.5 -2.75 -vt 29.5 -2.25 -vt 33.5 -2.25 -vt 3.75 -2.25 -vt -1.5 -2.25 -vt -1.5 -2.75 -vt 3.75 -2.75 -vt 3.75 29.5 -vt 3.75 33.5 -vt 9.890625 -1.8683035 -vt 9.140625 -1.8683035 -vt 9.328125 -1.7433035 -vt 9.703125 -1.7433035 -vt 1.96875 7.65625 -vt 1.84375 7.65625 -vt 1.78125 7.46875 -vt -5.03125 16.765625 -vt -5.15625 16.765625 -vt -5.15625 16.390625 -vt -5.03125 16.390625 -vt 1.78125 8.65625 -vt 1.84375 8.46785 -vt 1.96875 8.46785 -vt 1.203125 7.725446 -vt 1.203125 7.350446 -vt 1.578125 7.412946 -vt 1.578125 7.662946 -vt 1.78125 -0.484375 -vt 1.40625 -0.359375 -vt 1.21875 -0.484375 -vt 1.375 -0.1875 -vt 4.5 33.5 -vt 7 -2 -vt 4.5 -1.75 -vt 3.75 -3 -vt 7 33 -vt 4.5 33 -vt 4.5 29 -vt 7 29 -vt 7 33.5 -vt 7 29.5 -vt -0.4823619 3 -vt -0.9823619 3 -vt -0.9823619 3.5 -vt -0.4823619 3.5 -vt 1.5 3.5 -vt 1 3.5 -vt 1.5 -2 -vt 1.5 -1.5 -vt 1.5000001 3 -vt 1.5000001 3.5 -vt -1.482362 3 -vt -1.982362 3 -vt -1.982362 2.5 -vt -1.482362 2.5 -vt -27 -42 -vt -23 -42 -vt -23 -38 -vt -27 -38 -vt -16 -38 -vt -16 -42 -vt -23 -16 -vt -23 -17 -vt -27 -17 -vt -27 -16 -vt -18 -38 -vt -19 -38 -vt -19 -42 -vt -18 -42 -vt -23 -18 -vt -23 -19 -vt -27 -19 -vt -27 -18 - -# normals -vn -1 0 0 -vn 0 0 1 -vn 0 -1 -0 -vn -0 1 -0 -vn 0 -0 -1 -vn 1 0 0 -vn -0.7071067811865475 0 -0.7071067811865475 -vn 0.7071067811865475 -0 -0.7071067811865475 -vn -0.7071067811865476 0 0.7071067811865476 -vn -0.7071067811865476 0 -0.7071067811865476 -vn 0.7071067811865476 0 0.7071067811865476 -vn 0.7071067811865476 -0 -0.7071067811865476 -vn -0.4767312946227962 0.8581163303210331 -0.19069251784911848 -vn -0.31622776601683794 0.9486832980505138 -0 -vn -0.06967330142916177 0.905752918579103 -0.4180398085749706 -vn 0 -0.9486832980505138 0.31622776601683794 -vn -0 0.9486832980505138 -0.31622776601683794 -vn 0.026082026547865053 -0.9650349822710069 0.26082026547865056 -vn 0.31622776601683794 0.9486832980505138 -0 -vn 0.408248290463863 0.8981462390204986 -0.16329931618554522 -vn -0.8241633836921342 0.5494422557947561 0.13736056394868904 -vn -0.5547001962252291 0.8320502943378437 -0 -vn -0.5143028508594515 0.6245106046150483 0.587774686696516 -vn -0.485071250072666 0.727606875108999 0.485071250072666 -vn -0.3798956602738145 0.8231072639265982 -0.42210628919312726 -vn -0.3481553119113957 0.8703882797784892 -0.3481553119113957 -vn -0.05413319619607667 0.8390645410391885 -0.5413319619607667 -vn 0 0.8320502943378436 0.554700196225229 -vn -0 0.8944271909999159 -0.4472135954999579 -vn 0.06415002990995841 0.7056503290095426 0.7056503290095426 -vn 0.3481553119113957 0.8703882797784892 -0.3481553119113957 -vn 0.4208262915439006 0.8225241152903512 -0.38256935594900054 -vn 0.5547001962252291 0.8320502943378437 -0 -vn 0.5773502691896257 0.5773502691896257 0.5773502691896257 -vn 0.8451542547285166 0.50709255283711 0.1690308509457033 -vn -0.7071067811865475 0 0.7071067811865475 -vn 0.8944271909999159 0 0.4472135954999579 -vn 0.7071067811865475 0 0.7071067811865475 -vn 0 0.7071067811865475 -0.7071067811865475 -vn -0 0.52999894000318 -0.847998304005088 -vn -0.8637789008984335 0 0.5038710255240861 -vn 0.8637789008984335 -0 -0.5038710255240861 -vn -0.7399400733959437 0 0.6726727939963124 -vn 0.7399400733959437 -0 -0.6726727939963124 -vn -0.9805806756909201 0 -0.19611613513818402 -vn 0.9805806756909201 0 0.19611613513818402 -vn -0.08304547985373997 0 -0.9965457582448796 -vn 0.08304547985373997 0 0.9965457582448796 -vn -0.6667948594698256 0 0.7452413135250993 -vn 0.6616216370868464 -0 -0.7498378553650925 -vn -0.992876838486922 0 0.11914522061843064 -vn 0.992876838486922 -0 -0.11914522061843064 -vn -0.6667948594698256 0 -0.7452413135250993 -vn 0.6667948594698256 0 0.7452413135250993 -vn -0.8637789008984335 0 -0.5038710255240861 -vn 0.8637789008984335 0 0.5038710255240861 -vn -0.4472135954999579 0 0.8944271909999159 -vn -0.4472135954999579 0 -0.8944271909999159 -vn -0.5144957554275266 0 0.8574929257125442 -vn 0.4472135954999579 0 0.8944271909999159 -vn 0.4961389383568338 -0 -0.8682431421244592 -vn -0.6 0 -0.8 -vn 0.4472135954999579 -0 -0.8944271909999159 -vn -1 0 -7.105427357601002e-15 -vn 1 -0 -1.4210854715202004e-14 -vn -0.7071067811865475 -0.7071067811865475 0 -vn 0.7071067811865475 -0.7071067811865475 -0 -vn 0.7071067811865475 0.7071067811865475 -0 -vn -0.7071067811865475 0.7071067811865475 -0 -vn -0.6768732144311415 0 0.7360996206938664 -vn -0.855235777775355 0.11357707983963523 0.5056401994977108 -vn -0.5971483269833179 0.11476148333315883 -0.7938788808906543 -vn -0.4345911946626879 0.4038881869896592 0.8049874694253717 -vn -0.22324048282989836 0.3214654551144589 -0.920230214671268 -vn -0.18942187122366538 0.31403522247220783 -0.930323187794949 -vn -0.05596513318467052 0.39989622281734316 0.91485021443078 -vn 0.23453874364387178 0.5328669931059523 0.8130463365566414 -vn 0.7398096283412008 0.3980174454758806 -0.5424608989692333 -vn 0.8509863121144736 0.326285644000102 -0.4115336864865941 -vn 0.9302393700347631 0.27125177528665473 0.24713799554331012 -vn -0.8257683458586316 0.562211045144331 0.04500421864246227 -vn -0.652647596894764 0.6450938492480331 -0.3973726713424636 -vn -0.6451626016726109 0.42606805634293987 -0.6342170202439994 -vn -0.4080187895760707 0.8599276473934219 0.30666774952918147 -vn -0.0762303213272362 0.9933337851680768 0.08646923935138733 -vn -0.0756381936621605 0.9795673756355391 0.1863507988982828 -vn 0.1575999506058575 0.4762484316212814 0.8650720703775501 -vn 0.2750413922076879 0.6836552260211515 0.675993908631154 -vn 0.3925611500379337 0.7028416492738869 -0.5932194868064075 -vn 0.4293351041893441 0.7605924791847195 -0.4870014875935875 -vn 0.5918041573688066 0.4694492411698695 0.6552749417504308 -vn 0.7490061361290853 0.5941498684306387 -0.29321620331221987 -vn -0.8574929257125442 -0.5144957554275266 -0 -vn -0.6154574548966636 -0.4923659639173309 0.6154574548966636 -vn -0.6154574548966636 -0.4923659639173309 -0.6154574548966636 -vn -0.5144957554275266 -0.8574929257125442 -0 -vn -0.4767312946227962 -0.5720775535473553 0.6674238124719146 -vn -0.4767312946227962 -0.5720775535473553 -0.6674238124719146 -vn 0 -0.4472135954999579 0.8944271909999159 -vn 0 -0.4472135954999579 -0.8944271909999159 -vn 0.3481553119113957 -0.8703882797784892 0.3481553119113957 -vn 0.3481553119113957 -0.8703882797784892 -0.3481553119113957 -vn 0.3713906763541037 -0.9284766908852594 -0 -vn 0.4082482904638631 -0.4082482904638631 0.8164965809277261 -vn 0.4082482904638631 -0.4082482904638631 -0.8164965809277261 -vn -0.8944271909999159 -0.4472135954999579 -0 -vn 0.39801487608399566 0.19900743804199783 0.8955334711889903 -vn 0.39801487608399566 0.19900743804199783 -0.8955334711889903 -vn 0.8944271909999159 0.4472135954999579 -0 -vn -0.8944271909999159 0.4472135954999579 -0 -vn 0 0.8320502943378437 0.5547001962252291 -vn 0 0.8320502943378437 -0.5547001962252291 -vn 0.32311695668880774 0.6058442937915145 0.7270131525498175 -vn 0.32311695668880774 0.6058442937915145 -0.7270131525498175 -vn 0.09950371902099892 0.9950371902099892 -0 -vn 0.2940858488375231 -0.95577900872195 -0 -vn -0.965925826289065 0 -0.2588190451025333 -vn -0.25881904510250675 0 0.9659258262890721 -vn 0.25881904510254045 -0 -0.9659258262890632 -vn 0.9659258262890702 0 0.25881904510251386 - -o entity0_brush0 -usemtl retro/FLOOR_2G -f 1/1/1 2/2/1 3/3/1 4/4/1 -usemtl flags/unused -f 5/5/2 3/6/2 2/3/2 6/7/2 -usemtl flags/unused -f 6/8/3 2/9/3 1/10/3 7/11/3 -usemtl retro/FLOOR_2G -f 8/12/4 4/4/4 3/3/4 5/13/4 -usemtl retro/FLOOR_2G -f 7/14/5 1/15/5 4/6/5 8/16/5 -usemtl retro/FLOOR_2G -f 8/4/6 5/3/6 6/2/6 7/1/6 - -o entity0_brush1 -usemtl retro/FLOOR_2A -f 9/17/7 10/18/7 11/19/7 12/20/7 -usemtl flags/unused -f 13/21/2 11/5/2 10/22/2 14/23/2 -usemtl flags/unused -f 14/24/3 10/25/3 9/26/3 15/27/3 -usemtl retro/FLOOR_2A -f 16/28/4 12/29/4 11/30/4 13/31/4 -usemtl retro/FLOOR_2A -f 15/32/5 9/33/5 12/34/5 16/35/5 -usemtl retro/FLOOR_2A -f 16/20/8 13/19/8 14/18/8 15/17/8 - -o entity0_brush2 -usemtl retro/STEEL_1A -f 17/36/1 18/37/1 19/38/1 20/16/1 -usemtl retro/STEEL_1A -f 20/16/9 19/38/9 21/39/9 22/40/9 -usemtl retro/STEEL_1A -f 23/18/10 18/37/10 17/36/10 24/19/10 -usemtl retro/STEEL_1A -f 25/41/2 22/16/2 21/38/2 26/42/2 -usemtl flags/unused -f 27/43/3 26/44/3 21/45/3 19/46/3 18/47/3 23/25/3 28/24/3 29/48/3 -usemtl retro/STEEL_1A -f 30/49/4 31/31/4 24/30/4 17/50/4 20/51/4 22/52/4 25/53/4 32/54/4 -usemtl flags/unused -f 28/23/5 23/22/5 24/5/5 31/21/5 -usemtl retro/STEEL_1A -f 32/16/11 25/40/11 26/39/11 27/38/11 -usemtl retro/STEEL_1A -f 29/37/12 28/18/12 31/19/12 30/36/12 -usemtl retro/STEEL_1A -f 32/16/6 27/38/6 29/37/6 30/36/6 - -o entity0_brush3 -usemtl retro/CONCRETE_1A -f 33/55/13 34/56/13 35/57/13 -usemtl retro/CONCRETE_1A -f 34/56/14 33/55/14 36/29/14 -usemtl retro/CONCRETE_1A -f 37/58/15 35/59/15 34/60/15 -usemtl flags/unused -f 38/61/16 36/62/16 33/63/16 -usemtl flags/unused -f 39/64/3 33/65/3 35/66/3 37/67/3 -usemtl retro/FLOOR_2G -f 40/68/4 34/69/4 36/70/4 38/71/4 -usemtl retro/CONCRETE_1A -f 37/58/17 34/60/17 40/72/17 -usemtl flags/unused -f 38/61/18 33/63/18 39/73/18 -usemtl retro/CONCRETE_1A -f 40/74/19 38/75/19 39/76/19 -usemtl retro/CONCRETE_1A -f 40/74/20 39/76/20 37/77/20 - -o entity0_brush4 -usemtl retro/CONCRETE_1B -f 41/78/21 42/79/21 43/80/21 -usemtl retro/CONCRETE_1B -f 44/81/22 43/82/22 42/83/22 -usemtl retro/CONCRETE_1B -f 45/84/23 46/85/23 41/86/23 -usemtl retro/CONCRETE_1B -f 42/87/24 41/86/24 46/85/24 -usemtl retro/CONCRETE_1B -f 43/88/25 47/89/25 48/90/25 -usemtl retro/CONCRETE_1B -f 47/89/26 43/88/26 44/91/26 -usemtl retro/CONCRETE_1B -f 49/92/27 48/93/27 47/94/27 -usemtl retro/CONCRETE_1B -f 50/95/28 46/96/28 45/97/28 -usemtl flags/unused -f 51/98/3 52/99/3 45/100/3 41/101/3 43/102/3 48/103/3 49/104/3 53/105/3 -usemtl flags/unused -f 54/43/4 55/48/4 56/27/4 47/26/4 44/47/4 42/46/4 46/45/4 50/44/4 -usemtl retro/CONCRETE_1B -f 49/92/29 47/94/29 56/106/29 -usemtl retro/CONCRETE_1B -f 50/95/30 45/97/30 52/107/30 -usemtl retro/CONCRETE_1B -f 49/108/31 56/109/31 55/110/31 -usemtl retro/CONCRETE_1B -f 53/111/32 49/108/32 55/110/32 -usemtl retro/CONCRETE_1B -f 53/112/33 55/113/33 54/114/33 -usemtl retro/CONCRETE_1B -f 54/115/34 50/116/34 52/117/34 51/118/34 -usemtl retro/CONCRETE_1B -f 53/119/35 54/38/35 51/120/35 - -o entity0_brush5 -usemtl retro/FLOOR_2G -f 57/121/1 58/122/1 59/123/1 60/124/1 -usemtl flags/unused -f 61/22/2 59/125/2 58/3/2 62/7/2 -usemtl flags/unused -f 62/11/3 58/10/3 57/126/3 63/127/3 -usemtl retro/FLOOR_2G -f 64/128/4 60/5/4 59/129/4 61/130/4 -usemtl retro/FLOOR_2G -f 63/14/5 57/15/5 60/131/5 64/38/5 -usemtl retro/FLOOR_2G -f 64/132/6 61/133/6 62/1/6 63/134/6 - -o entity0_brush6 -usemtl retro/CONCRETE_2A -f 65/135/1 66/136/1 67/137/1 68/138/1 -usemtl flags/unused -f 69/139/2 67/140/2 66/3/2 70/141/2 -usemtl flags/unused -f 70/142/3 66/143/3 65/144/3 71/145/3 -usemtl retro/CONCRETE_2A -f 72/146/4 68/147/4 67/148/4 69/149/4 -usemtl retro/CONCRETE_2A -f 71/150/5 65/15/5 68/151/5 72/152/5 -usemtl retro/CONCRETE_2A -f 72/138/6 69/137/6 70/136/6 71/135/6 - -o entity0_brush7 -usemtl flags/unused -f 73/153/1 74/154/1 75/155/1 76/156/1 -usemtl flags/unused -f 77/157/2 75/158/2 74/159/2 78/160/2 -usemtl flags/unused -f 78/161/3 74/162/3 73/163/3 79/164/3 -usemtl retro/SLIME_1A -f 80/165/4 76/166/4 75/167/4 77/168/4 -usemtl flags/unused -f 79/160/5 73/159/5 76/158/5 80/157/5 -usemtl flags/unused -f 80/156/6 77/155/6 78/154/6 79/153/6 - -o entity0_brush8 -usemtl retro/TECH_1B -f 81/35/1 82/169/1 83/170/1 84/171/1 -usemtl retro/TECH_1B -f 85/172/36 83/173/36 82/174/36 86/175/36 -usemtl retro/TECH_1B -f 86/176/3 82/49/3 81/177/3 87/178/3 -usemtl retro/TECH_1B -f 88/178/4 84/177/4 83/49/4 85/176/4 -usemtl flags/unused -f 87/179/5 81/180/5 84/48/5 88/181/5 -usemtl retro/TECH_1B -f 88/171/37 85/182/37 86/36/37 87/35/37 - -o entity0_brush9 -usemtl retro/DOOR_1D -f 89/36/1 90/183/1 91/184/1 92/182/1 -usemtl retro/DOOR_1D -f 93/185/2 91/186/2 90/41/2 94/20/2 -usemtl retro/DOOR_1D -f 94/187/3 90/188/3 89/189/3 95/190/3 -usemtl retro/DOOR_1D -f 96/190/4 92/189/4 91/188/4 93/187/4 -usemtl flags/unused -f 95/191/5 89/21/5 92/192/5 96/193/5 -usemtl retro/DOOR_1D -f 96/182/6 93/184/6 94/183/6 95/36/6 - -o entity0_brush10 -usemtl retro/STEEL_1A -f 97/194/1 98/195/1 99/196/1 100/197/1 -usemtl retro/STEEL_1A -f 99/196/9 98/195/9 101/198/9 102/199/9 -usemtl retro/STEEL_1A -f 103/200/2 102/201/2 101/202/2 104/203/2 -usemtl retro/SUPPORT_2D -f 105/204/3 104/205/3 101/206/3 98/207/3 97/208/3 106/209/3 -usemtl retro/STEEL_1A -f 107/209/4 100/208/4 99/207/4 102/206/4 103/205/4 108/204/4 -usemtl retro/SUPPORT_1A -f 106/210/5 97/211/5 100/212/5 107/213/5 -usemtl retro/STEEL_1A -f 108/214/11 103/215/11 104/216/11 105/217/11 -usemtl retro/STEEL_1A -f 108/218/6 105/219/6 106/194/6 107/197/6 - -o entity0_brush11 -usemtl retro/SUPPORT_1A -f 109/220/1 110/194/1 111/197/1 112/221/1 -usemtl retro/STEEL_1A -f 113/222/2 111/223/2 110/173/2 114/224/2 -usemtl retro/SUPPORT_4D -f 114/209/3 110/174/3 109/173/3 115/225/3 116/226/3 -usemtl retro/STEEL_1A -f 117/226/4 118/225/4 112/173/4 111/174/4 113/209/4 -usemtl retro/STEEL_1A -f 115/227/5 109/228/5 112/229/5 118/230/5 -usemtl retro/STEEL_1A -f 116/231/12 115/232/12 118/233/12 117/234/12 -usemtl retro/STEEL_1A -f 116/235/6 117/236/6 113/197/6 114/194/6 - -o entity0_brush12 -usemtl flags/unused -f 119/237/1 120/238/1 121/239/1 122/240/1 -usemtl retro/STEEL_1A -f 123/241/10 120/242/10 119/243/10 124/244/10 -usemtl retro/SUPPORT_1A -f 125/230/2 122/245/2 121/246/2 126/227/2 -usemtl retro/SUPPORT_4D -f 126/225/3 121/247/3 120/248/3 123/249/3 127/250/3 -usemtl flags/unused -f 128/251/4 124/252/4 119/253/4 122/254/4 125/255/4 -usemtl retro/STEEL_1A -f 127/242/5 123/219/5 124/218/5 128/243/5 -usemtl retro/STEEL_1A -f 128/256/8 125/257/8 126/258/8 127/259/8 - -o entity0_brush13 -usemtl retro/STEEL_1A -f 129/236/1 130/235/1 131/219/1 132/218/1 -usemtl retro/STEEL_1A -f 133/196/36 132/218/36 131/219/36 134/195/36 -usemtl retro/STEEL_1A -f 135/260/7 130/235/7 129/236/7 136/261/7 -usemtl retro/SUPPORT_4D -f 134/207/3 131/262/3 130/263/3 135/264/3 -usemtl retro/STEEL_1A -f 136/264/4 129/263/4 132/262/4 133/207/4 -usemtl flags/unused -f 133/265/6 134/266/6 135/267/6 136/268/6 - -o entity0_brush14 -usemtl retro/TECH_0A -f 137/269/10 138/270/10 139/271/10 140/272/10 -usemtl retro/TECH_0A -f 141/273/2 139/274/2 138/275/2 142/276/2 -usemtl retro/TECH_0A -f 142/277/3 138/278/3 137/279/3 143/280/3 -usemtl flags/unused -f 144/281/4 140/282/4 139/283/4 141/284/4 -usemtl retro/TECH_0A -f 143/285/5 137/286/5 140/279/5 144/280/5 -usemtl retro/TECH_0A -f 144/272/12 141/271/12 142/270/12 143/269/12 - -o entity0_brush15 -usemtl flags/unused -f 145/287/1 146/288/1 147/289/1 148/290/1 -usemtl retro/STEEL_1A -f 149/291/2 147/292/2 146/293/2 150/250/2 -usemtl retro/STEEL_1A -f 151/294/3 150/205/3 146/295/3 145/296/3 152/297/3 -usemtl retro/STEEL_2A -f 153/297/4 148/296/4 147/295/4 149/205/4 154/294/4 -usemtl retro/FLOOR_2A -f 152/298/5 145/299/5 148/300/5 153/272/5 -usemtl retro/STEEL_1A -f 154/301/11 149/302/11 150/303/11 151/304/11 -usemtl retro/STEEL_1A -f 154/305/6 151/306/6 152/307/6 153/308/6 - -o entity0_brush16 -usemtl flags/unused -f 155/309/1 156/310/1 157/311/1 158/312/1 -usemtl retro/FLOOR_2A -f 159/272/2 157/300/2 156/299/2 160/298/2 -usemtl retro/STEEL_1A -f 160/313/3 156/314/3 155/293/3 161/250/3 162/315/3 -usemtl retro/STEEL_2A -f 163/315/4 164/250/4 158/293/4 157/314/4 159/313/4 -usemtl retro/STEEL_1A -f 161/316/5 155/299/5 158/300/5 164/280/5 -usemtl retro/STEEL_1A -f 162/317/12 161/318/12 164/319/12 163/320/12 -usemtl retro/STEEL_1A -f 162/316/6 163/280/6 159/321/6 160/322/6 - -o entity0_brush17 -usemtl flags/unused -f 165/323/1 166/324/1 167/325/1 168/281/1 -usemtl retro/STEEL_1A -f 169/204/3 166/294/3 165/315/3 170/226/3 -usemtl retro/STEEL_2A -f 171/226/4 168/315/4 167/294/4 172/204/4 -usemtl retro/STEEL_1A -f 172/90/38 167/301/38 166/304/38 169/326/38 -usemtl retro/STEEL_1A -f 170/327/8 165/328/8 168/329/8 171/330/8 -usemtl retro/STEEL_1A -f 170/331/6 171/271/6 172/279/6 169/332/6 - -o entity0_brush18 -usemtl flags/unused -f 173/333/1 174/334/1 175/335/1 176/336/1 -usemtl retro/TECH_1A -f 177/285/2 175/337/2 174/173/2 178/203/2 -usemtl retro/TECH_1A -f 178/338/3 174/339/3 173/340/3 179/341/3 -usemtl flags/unused -f 180/342/4 176/343/4 175/344/4 177/345/4 -usemtl retro/TECH_1A -f 179/225/5 173/173/5 176/337/5 180/346/5 -usemtl retro/TECH_1A -f 180/347/38 177/348/38 178/349/38 179/350/38 - -o entity0_brush19 -usemtl retro/TECH_1A -f 181/351/9 182/352/9 183/353/9 184/354/9 -usemtl retro/TECH_1A -f 184/355/3 183/356/3 185/357/3 -usemtl flags/unused -f 186/358/4 182/359/4 181/360/4 -usemtl retro/TECH_1A -f 185/361/5 183/362/5 182/363/5 186/364/5 -usemtl flags/unused -f 185/333/6 186/336/6 181/365/6 184/366/6 - -o entity0_brush20 -usemtl flags/unused -f 187/367/1 188/333/1 189/336/1 190/368/1 -usemtl flags/unused -f 191/369/2 189/336/2 188/333/2 192/60/2 -usemtl flags/unused -f 192/370/3 188/371/3 187/372/3 193/373/3 -usemtl flags/unused -f 194/373/4 190/372/4 189/371/4 191/370/4 -usemtl retro/CONSOLE_1D -f 193/374/5 187/353/5 190/352/5 194/375/5 -usemtl flags/unused -f 194/368/6 191/336/6 192/333/6 193/367/6 - -o entity0_brush21 -usemtl flags/clip -f 195/376/1 196/377/1 197/378/1 -usemtl flags/clip -f 198/379/2 197/125/2 196/380/2 199/381/2 -usemtl flags/clip -f 199/382/3 196/383/3 195/384/3 200/385/3 -usemtl flags/clip -f 200/385/39 195/384/39 197/383/39 198/382/39 -usemtl flags/clip -f 199/377/6 200/376/6 198/378/6 - -o entity0_brush22 -usemtl flags/clip -f 201/386/1 202/387/1 203/180/1 -usemtl flags/clip -f 204/388/2 203/6/2 202/125/2 205/379/2 -usemtl flags/clip -f 205/389/3 202/390/3 201/391/3 206/392/3 -usemtl flags/clip -f 206/392/39 201/391/39 203/390/39 204/389/39 -usemtl flags/clip -f 205/387/6 206/386/6 204/180/6 - -o entity0_brush23 -usemtl flags/clip -f 207/393/1 208/394/1 209/395/1 210/396/1 -usemtl flags/clip -f 211/397/2 209/398/2 208/399/2 212/400/2 -usemtl flags/clip -f 212/401/3 208/402/3 207/403/3 213/404/3 -usemtl flags/clip -f 214/405/40 210/406/40 209/407/40 211/408/40 -usemtl flags/clip -f 213/400/5 207/399/5 210/409/5 214/410/5 -usemtl flags/clip -f 214/396/6 211/395/6 212/394/6 213/393/6 - -o entity0_brush24 -usemtl flags/clip -f 215/411/1 216/412/1 217/413/1 218/414/1 -usemtl flags/clip -f 219/415/2 217/416/2 216/417/2 220/418/2 -usemtl flags/clip -f 220/419/3 216/420/3 215/421/3 221/422/3 -usemtl flags/clip -f 222/56/40 218/74/40 217/423/40 219/424/40 -usemtl flags/clip -f 221/418/5 215/417/5 218/425/5 222/426/5 -usemtl flags/clip -f 222/414/6 219/413/6 220/412/6 221/411/6 - -o entity0_brush25 -usemtl flags/clip -f 223/427/9 224/428/9 225/429/9 226/430/9 -usemtl flags/clip -f 227/431/2 225/425/2 224/417/2 228/141/2 -usemtl flags/clip -f 228/432/3 224/433/3 223/434/3 229/435/3 -usemtl flags/clip -f 230/435/4 226/434/4 225/433/4 227/432/4 -usemtl flags/clip -f 229/141/5 223/436/5 226/437/5 230/431/5 -usemtl flags/clip -f 230/438/6 227/439/6 228/440/6 229/441/6 - -o entity0_brush26 -usemtl flags/clip -f 231/441/1 232/411/1 233/414/1 234/438/1 -usemtl flags/clip -f 235/442/3 232/443/3 231/434/3 236/433/3 -usemtl flags/clip -f 237/433/4 234/434/4 233/443/4 238/442/4 -usemtl flags/clip -f 238/396/11 233/414/11 232/411/11 235/393/11 -usemtl flags/clip -f 236/440/12 231/441/12 234/438/12 237/439/12 -usemtl flags/clip -f 236/440/6 237/439/6 238/396/6 235/393/6 - -o entity0_brush27 -usemtl flags/clip -f 239/394/41 240/444/41 241/445/41 242/395/41 -usemtl flags/clip -f 243/446/2 241/447/2 240/448/2 244/449/2 -usemtl flags/clip -f 244/446/3 240/447/3 239/402/3 245/401/3 -usemtl flags/clip -f 246/401/4 242/402/4 241/447/4 243/446/4 -usemtl flags/clip -f 245/400/5 239/399/5 242/398/5 246/397/5 -usemtl flags/clip -f 246/395/42 243/445/42 244/444/42 245/394/42 - -o entity0_brush28 -usemtl flags/clip -f 247/444/43 248/450/43 249/451/43 250/445/43 -usemtl flags/clip -f 251/452/2 249/453/2 248/454/2 252/455/2 -usemtl flags/clip -f 252/456/3 248/457/3 247/447/3 253/446/3 -usemtl flags/clip -f 254/446/4 250/447/4 249/457/4 251/456/4 -usemtl flags/clip -f 253/449/5 247/448/5 250/447/5 254/446/5 -usemtl flags/clip -f 254/445/44 251/451/44 252/450/44 253/444/44 - -o entity0_brush29 -usemtl flags/clip -f 255/450/45 256/458/45 257/459/45 258/451/45 -usemtl flags/clip -f 259/460/2 257/445/2 256/444/2 260/461/2 -usemtl flags/clip -f 260/462/3 256/463/3 255/457/3 261/456/3 -usemtl flags/clip -f 262/456/4 258/457/4 257/463/4 259/462/4 -usemtl flags/clip -f 261/455/5 255/454/5 258/453/5 262/452/5 -usemtl flags/clip -f 262/451/46 259/459/46 260/458/46 261/450/46 - -o entity0_brush30 -usemtl flags/clip -f 263/464/1 264/465/1 265/466/1 266/467/1 -usemtl flags/clip -f 267/468/7 265/469/7 264/470/7 268/471/7 -usemtl flags/clip -f 266/472/3 265/473/3 267/463/3 269/462/3 -usemtl flags/clip -f 270/462/4 268/463/4 264/473/4 263/472/4 -usemtl flags/clip -f 269/461/5 267/444/5 268/445/5 270/460/5 -usemtl flags/clip -f 270/471/11 263/474/11 266/475/11 269/468/11 - -o entity0_brush31 -usemtl flags/clip -f 271/476/1 272/464/1 273/467/1 274/477/1 -usemtl flags/clip -f 275/478/47 273/479/47 272/480/47 276/481/47 -usemtl flags/clip -f 277/472/3 274/482/3 273/483/3 275/473/3 -usemtl flags/clip -f 276/473/4 272/483/4 271/482/4 278/472/4 -usemtl flags/clip -f 278/481/48 271/480/48 274/479/48 277/478/48 -usemtl flags/clip -f 276/465/6 278/464/6 277/467/6 275/466/6 - -o entity0_brush32 -usemtl flags/clip -f 279/484/49 280/464/49 281/467/49 282/7/49 -usemtl flags/clip -f 282/482/3 281/485/3 283/486/3 284/483/3 -usemtl flags/clip -f 285/483/4 286/486/4 280/485/4 279/482/4 -usemtl flags/clip -f 283/469/5 281/475/5 280/474/5 286/470/5 -usemtl flags/clip -f 284/7/50 283/466/50 286/465/50 285/484/50 -usemtl flags/clip -f 285/464/6 279/476/6 282/477/6 284/467/6 - -o entity0_brush33 -usemtl flags/clip -f 287/487/51 288/488/51 289/489/51 290/490/51 -usemtl flags/clip -f 291/470/2 289/474/2 288/475/2 292/469/2 -usemtl flags/clip -f 292/486/3 288/485/3 287/491/3 293/492/3 -usemtl flags/clip -f 294/492/4 290/491/4 289/485/4 291/486/4 -usemtl flags/clip -f 293/467/5 287/477/5 290/476/5 294/464/5 -usemtl flags/clip -f 294/490/52 291/489/52 292/488/52 293/487/52 - -o entity0_brush34 -usemtl flags/clip -f 295/458/53 296/477/53 297/476/53 298/459/53 -usemtl flags/clip -f 299/464/2 297/476/2 296/477/2 300/467/2 -usemtl flags/clip -f 300/492/3 296/491/3 295/493/3 301/494/3 -usemtl flags/clip -f 302/494/4 298/493/4 297/491/4 299/492/4 -usemtl flags/clip -f 301/7/5 295/458/5 298/459/5 302/484/5 -usemtl flags/clip -f 302/484/54 299/464/54 300/467/54 301/7/54 - -o entity0_brush35 -usemtl flags/clip -f 303/412/55 304/495/55 305/496/55 306/413/55 -usemtl flags/clip -f 307/484/2 305/459/2 304/458/2 308/7/2 -usemtl flags/clip -f 308/494/3 304/493/3 303/420/3 309/419/3 -usemtl flags/clip -f 310/419/4 306/420/4 305/493/4 307/494/4 -usemtl flags/clip -f 309/418/5 303/417/5 306/416/5 310/415/5 -usemtl flags/clip -f 310/413/56 307/496/56 308/495/56 309/412/56 - -o entity0_brush36 -usemtl flags/clip -f 311/497/1 312/498/1 313/499/1 314/500/1 -usemtl flags/clip -f 315/501/57 314/502/57 313/487/57 316/503/57 -usemtl flags/clip -f 317/503/58 312/487/58 311/502/58 318/501/58 -usemtl flags/clip -f 316/504/3 313/505/3 312/506/3 317/507/3 -usemtl flags/clip -f 318/507/4 311/506/4 314/505/4 315/504/4 -usemtl flags/clip -f 315/508/6 316/509/6 317/510/6 318/511/6 - -o entity0_brush37 -usemtl flags/clip -f 319/512/1 320/513/1 321/514/1 322/515/1 -usemtl flags/clip -f 323/516/2 321/139/2 320/141/2 324/399/2 -usemtl flags/clip -f 324/517/3 320/518/3 319/145/3 325/519/3 -usemtl flags/clip -f 326/519/4 322/145/4 321/518/4 323/517/4 -usemtl flags/clip -f 325/399/5 319/141/5 322/139/5 326/516/5 -usemtl flags/clip -f 326/515/6 323/514/6 324/513/6 325/512/6 - -o entity0_brush38 -usemtl flags/clip -f 327/427/1 328/428/1 329/429/1 330/430/1 -usemtl flags/clip -f 331/520/59 329/409/59 328/399/59 332/521/59 -usemtl flags/clip -f 333/507/3 332/506/3 328/432/3 327/435/3 -usemtl flags/clip -f 330/435/4 329/432/4 331/506/4 334/507/4 -usemtl flags/clip -f 334/501/60 331/502/60 332/487/60 333/503/60 -usemtl flags/clip -f 327/399/61 330/409/61 334/192/61 333/448/61 - -o entity0_brush39 -usemtl flags/clip -f 335/521/62 336/450/62 337/522/62 338/520/62 -usemtl flags/clip -f 339/410/2 337/409/2 336/399/2 340/400/2 -usemtl flags/clip -f 341/504/3 340/404/3 336/403/3 335/505/3 -usemtl flags/clip -f 338/505/4 337/403/4 339/404/4 342/504/4 -usemtl flags/clip -f 342/501/60 339/410/60 340/400/60 341/503/60 -usemtl flags/clip -f 335/521/63 338/520/63 342/192/63 341/448/63 - -o entity0_brush40 -usemtl flags/clip -f 343/393/10 344/411/10 345/414/10 346/396/10 -usemtl flags/clip -f 347/426/2 345/437/2 344/436/2 348/418/2 -usemtl flags/clip -f 348/422/3 344/443/3 343/442/3 349/523/3 -usemtl flags/clip -f 350/523/4 346/442/4 345/443/4 347/422/4 -usemtl flags/clip -f 349/3/5 343/13/5 346/72/5 350/60/5 -usemtl flags/clip -f 350/396/6 347/414/6 348/411/6 349/393/6 - -o entity0_brush41 -usemtl flags/clip -f 351/512/1 352/524/1 353/525/1 354/515/1 -usemtl flags/clip -f 355/140/2 353/526/2 352/418/2 356/3/2 -usemtl flags/clip -f 356/143/3 352/527/3 351/528/3 357/144/3 -usemtl flags/clip -f 358/144/4 354/528/4 353/527/4 355/143/4 -usemtl flags/clip -f 357/3/5 351/418/5 354/526/5 358/140/5 -usemtl flags/clip -f 358/515/6 355/525/6 356/524/6 357/512/6 - -o entity0_brush42 -usemtl retro/CRATE_1H -f 359/308/1 360/529/1 361/530/1 362/72/1 -usemtl retro/CRATE_1H -f 363/531/2 361/60/2 360/532/2 364/533/2 -usemtl retro/CRATE_1H -f 364/534/3 360/380/3 359/125/3 365/535/3 -usemtl retro/CRATE_1L -f 366/535/4 362/125/4 361/380/4 363/534/4 -usemtl retro/CRATE_1H -f 365/533/5 359/532/5 362/60/5 366/531/5 -usemtl retro/CRATE_1H -f 366/72/6 363/530/6 364/529/6 365/308/6 - -o entity0_brush43 -usemtl retro/CRATE_1G -f 367/536/64 368/537/64 369/538/64 370/539/64 -usemtl retro/CRATE_1G -f 371/540/2 369/541/2 368/326/2 372/542/2 -usemtl retro/CRATE_1G -f 372/543/3 368/544/3 367/545/3 373/546/3 -usemtl retro/CRATE_1G -f 374/546/4 370/545/4 369/544/4 371/543/4 -usemtl retro/CRATE_1G -f 373/542/5 367/326/5 370/541/5 374/540/5 -usemtl retro/CRATE_1G -f 374/539/65 371/538/65 372/537/65 373/536/65 - -o entity0_brush44 -usemtl retro/CRATE_1G -f 375/547/1 376/548/1 377/549/1 378/301/1 -usemtl retro/CRATE_1F -f 379/532/2 377/29/2 376/550/2 380/551/2 -usemtl retro/CRATE_1F -f 380/552/3 376/543/3 375/553/3 381/554/3 -usemtl retro/CRATE_1F -f 382/554/4 378/553/4 377/543/4 379/552/4 -usemtl retro/CRATE_1F -f 381/551/5 375/550/5 378/29/5 382/532/5 -usemtl retro/CRATE_1F -f 382/75/6 379/274/6 380/555/6 381/556/6 - -o entity0_brush45 -usemtl retro/CRATE_1G -f 383/557/1 384/548/1 385/558/1 386/536/1 -usemtl retro/CRATE_1F -f 387/559/2 385/542/2 384/550/2 388/551/2 -usemtl retro/CRATE_1F -f 388/552/3 384/543/3 383/560/3 389/561/3 -usemtl retro/CRATE_1F -f 390/561/4 386/560/4 385/543/4 387/552/4 -usemtl retro/CRATE_1F -f 389/551/5 383/550/5 386/542/5 390/559/5 -usemtl retro/CRATE_1F -f 390/304/6 387/537/6 388/555/6 389/547/6 - -o entity0_brush46 -usemtl retro/LIGHT_1B -f 391/562/1 392/31/1 393/563/1 394/564/1 -usemtl retro/LIGHT_1B -f 395/19/2 393/565/2 392/188/2 396/41/2 -usemtl retro/LIGHT_1B -f 396/19/3 392/565/3 391/566/3 397/567/3 -usemtl retro/LIGHT_1B -f 398/567/4 394/566/4 393/565/4 395/19/4 -usemtl retro/LIGHT_1B -f 397/337/5 391/375/5 394/551/5 398/568/5 -usemtl retro/LIGHT_1B -f 398/564/6 395/563/6 396/31/6 397/562/6 - -o entity0_brush47 -usemtl retro/LIGHT_1B -f 399/337/1 400/375/1 401/551/1 402/568/1 -usemtl retro/LIGHT_1B -f 403/563/2 401/564/2 400/562/2 404/31/2 -usemtl retro/LIGHT_1B -f 404/569/3 400/570/3 399/571/3 405/572/3 -usemtl retro/LIGHT_1B -f 406/572/4 402/571/4 401/570/4 403/569/4 -usemtl retro/LIGHT_1B -f 405/31/5 399/562/5 402/564/5 406/563/5 -usemtl retro/LIGHT_1B -f 406/572/6 403/569/6 404/573/6 405/574/6 - -o entity0_brush48 -usemtl retro/LIGHT_1B -f 407/574/1 408/573/1 409/569/1 410/572/1 -usemtl retro/LIGHT_1B -f 411/575/2 409/576/2 408/577/2 412/578/2 -usemtl retro/LIGHT_1B -f 412/579/3 408/580/3 407/54/3 413/581/3 -usemtl retro/LIGHT_1B -f 414/581/4 410/54/4 409/580/4 411/579/4 -usemtl retro/LIGHT_1B -f 413/578/5 407/577/5 410/576/5 414/575/5 -usemtl retro/LIGHT_1B -f 414/568/6 411/551/6 412/375/6 413/337/6 - -o entity0_brush49 -usemtl retro/LIGHT_1B -f 415/31/1 416/562/1 417/564/1 418/563/1 -usemtl retro/LIGHT_1B -f 419/568/2 417/551/2 416/375/2 420/337/2 -usemtl retro/LIGHT_1B -f 420/567/3 416/566/3 415/565/3 421/19/3 -usemtl retro/LIGHT_1B -f 422/19/4 418/565/4 417/566/4 419/567/4 -usemtl retro/LIGHT_1B -f 421/41/5 415/188/5 418/565/5 422/19/5 -usemtl retro/LIGHT_1B -f 422/563/6 419/564/6 420/562/6 421/31/6 - -o entity0_brush50 -usemtl retro/DOOR_1C -f 423/582/1 424/583/1 425/247/1 426/584/1 -usemtl flags/unused -f 427/431/2 425/60/2 424/6/2 428/388/2 -usemtl retro/DOOR_1C -f 428/585/3 424/554/3 423/586/3 429/587/3 -usemtl flags/unused -f 430/588/4 426/589/4 425/370/4 427/590/4 -usemtl retro/DOOR_1C -f 429/36/5 423/6/5 426/374/5 430/182/5 -usemtl retro/DOOR_1C -f 430/584/6 427/247/6 428/583/6 429/582/6 - -o entity0_brush51 -usemtl retro/TECH_1F -f 431/591/1 432/16/1 433/353/1 434/592/1 -usemtl flags/unused -f 435/333/2 433/334/2 432/593/2 436/5/2 -usemtl retro/TECH_1F -f 436/594/3 432/595/3 431/596/3 437/14/3 -usemtl flags/unused -f 438/7/4 434/597/4 433/598/4 435/599/4 -usemtl retro/TECH_1F -f 437/16/5 431/600/5 434/601/5 438/353/5 -usemtl retro/TECH_1F -f 438/592/6 435/353/6 436/16/6 437/591/6 - -o entity0_brush52 -usemtl retro/TECH_1F -f 439/34/1 440/591/1 441/592/1 442/602/1 -usemtl flags/unused -f 443/603/2 441/604/2 440/41/2 444/605/2 -usemtl retro/TECH_1F -f 444/606/3 440/607/3 439/608/3 445/609/3 -usemtl flags/unused -f 446/610/4 442/611/4 441/612/4 443/613/4 -usemtl retro/TECH_1F -f 445/209/5 439/174/5 442/173/5 446/224/5 -usemtl retro/TECH_1F -f 446/602/6 443/592/6 444/591/6 445/34/6 - -o entity0_brush53 -usemtl retro/SUPPORT_1D -f 447/247/1 448/353/1 449/16/1 450/583/1 -usemtl retro/SUPPORT_1D -f 451/6/7 449/614/7 448/615/7 452/374/7 -usemtl retro/SUPPORT_1D -f 453/606/3 450/616/3 449/617/3 451/618/3 -usemtl retro/SUPPORT_1D -f 452/618/4 448/617/4 447/616/4 454/606/4 -usemtl retro/SUPPORT_1D -f 454/224/60 447/619/60 450/620/60 453/209/60 -usemtl retro/SUPPORT_1D -f 452/592/8 454/353/8 453/16/8 451/591/8 - -o entity0_brush54 -usemtl retro/SUPPORT_1D -f 455/34/1 456/16/1 457/353/1 458/602/1 -usemtl retro/SUPPORT_1D -f 459/621/2 457/622/2 456/623/2 460/208/2 -usemtl retro/SUPPORT_1D -f 460/624/3 456/625/3 455/626/3 461/627/3 -usemtl retro/SUPPORT_1D -f 462/627/4 458/626/4 457/625/4 459/624/4 -usemtl retro/SUPPORT_1D -f 461/208/63 455/623/63 458/622/63 462/621/63 -usemtl retro/SUPPORT_1D -f 462/592/6 459/353/6 460/16/6 461/591/6 - -o entity0_brush55 -usemtl retro/CONSOLE_1A -f 463/36/1 464/6/1 465/374/1 466/182/1 -usemtl retro/CONSOLE_1A -f 467/628/2 465/49/2 464/629/2 468/630/2 -usemtl retro/CONSOLE_1A -f 468/631/3 464/580/3 463/632/3 469/633/3 -usemtl retro/CONSOLE_1A -f 470/633/4 466/632/4 465/580/4 467/631/4 -usemtl retro/CONSOLE_1A -f 469/630/5 463/629/5 466/49/5 470/628/5 -usemtl retro/CONSOLE_1A -f 470/182/6 467/374/6 468/6/6 469/36/6 - -o entity0_brush56 -usemtl retro/RIVET_1C -f 471/634/66 472/583/66 473/247/66 474/635/66 -usemtl retro/SUPPORT_1A -f 475/636/2 472/637/2 471/638/2 -usemtl retro/RIVET_1C -f 476/635/4 473/247/4 472/583/4 475/634/4 -usemtl retro/SUPPORT_1A -f 474/638/5 473/637/5 476/636/5 -usemtl retro/RIVET_1C -f 474/182/6 476/639/6 475/640/6 471/374/6 - -o entity0_brush57 -usemtl retro/RIVET_1C -f 477/16/66 478/634/66 479/635/66 480/353/66 -usemtl retro/SUPPORT_1A -f 481/641/2 478/638/2 477/353/2 -usemtl retro/RIVET_1C -f 482/635/4 479/247/4 478/583/4 481/634/4 -usemtl retro/SUPPORT_1A -f 480/353/5 479/638/5 482/641/5 -usemtl retro/RIVET_1C -f 480/182/6 482/639/6 481/640/6 477/374/6 - -o entity0_brush58 -usemtl retro/RIVET_1C -f 483/642/66 484/16/66 485/353/66 486/643/66 -usemtl retro/SUPPORT_1A -f 487/644/2 484/353/2 483/645/2 -usemtl retro/RIVET_1C -f 488/635/4 485/247/4 484/583/4 487/634/4 -usemtl retro/SUPPORT_1A -f 486/645/5 485/353/5 488/644/5 -usemtl retro/RIVET_1C -f 486/36/6 488/646/6 487/647/6 483/6/6 - -o entity0_brush59 -usemtl retro/RIVET_1C -f 489/591/66 490/642/66 491/643/66 492/592/66 -usemtl retro/SUPPORT_1A -f 493/648/2 490/645/2 489/649/2 -usemtl retro/RIVET_1C -f 494/650/4 491/615/4 490/614/4 493/651/4 -usemtl retro/SUPPORT_1A -f 492/649/5 491/645/5 494/648/5 -usemtl retro/RIVET_1C -f 492/36/6 494/646/6 493/647/6 489/6/6 - -o entity0_brush60 -usemtl retro/RIVET_1C -f 495/652/66 496/591/66 497/592/66 498/653/66 -usemtl retro/SUPPORT_1A -f 499/654/2 496/655/2 495/656/2 -usemtl retro/RIVET_1C -f 500/650/4 497/615/4 496/614/4 499/651/4 -usemtl retro/SUPPORT_1A -f 498/656/5 497/655/5 500/654/5 -usemtl retro/RIVET_1C -f 498/36/6 500/646/6 499/647/6 495/6/6 - -o entity0_brush61 -usemtl retro/RIVET_1C -f 501/34/66 502/652/66 503/653/66 504/602/66 -usemtl retro/SUPPORT_1A -f 505/657/2 502/656/2 501/658/2 -usemtl retro/RIVET_1C -f 506/650/4 503/615/4 502/614/4 505/651/4 -usemtl retro/SUPPORT_1A -f 504/658/5 503/656/5 506/657/5 -usemtl retro/RIVET_1C -f 504/36/6 506/646/6 505/647/6 501/6/6 - -o entity0_brush62 -usemtl retro/RIVET_1C -f 507/659/66 508/34/66 509/602/66 510/660/66 -usemtl retro/SUPPORT_1A -f 511/661/2 508/662/2 507/663/2 -usemtl retro/RIVET_1C -f 512/650/4 509/615/4 508/614/4 511/651/4 -usemtl retro/SUPPORT_1A -f 510/663/5 509/662/5 512/661/5 -usemtl retro/RIVET_1C -f 510/36/6 512/646/6 511/647/6 507/6/6 - -o entity0_brush63 -usemtl retro/RIVET_1C -f 513/614/66 514/659/66 515/660/66 516/615/66 -usemtl retro/SUPPORT_1A -f 517/664/2 514/663/2 513/665/2 -usemtl retro/RIVET_1C -f 518/650/4 515/615/4 514/614/4 517/651/4 -usemtl retro/SUPPORT_1A -f 516/665/5 515/663/5 518/664/5 -usemtl retro/RIVET_1C -f 516/36/6 518/646/6 517/647/6 513/6/6 - -o entity0_brush64 -usemtl retro/RIVET_1C -f 519/651/66 520/614/66 521/615/66 522/650/66 -usemtl retro/SUPPORT_1A -f 523/666/2 520/667/2 519/668/2 -usemtl retro/RIVET_1C -f 524/650/4 521/615/4 520/614/4 523/651/4 -usemtl retro/SUPPORT_1A -f 522/668/5 521/667/5 524/666/5 -usemtl retro/RIVET_1C -f 522/36/6 524/646/6 523/647/6 519/6/6 - -o entity0_brush65 -usemtl retro/RIVET_1C -f 525/6/66 526/651/66 527/650/66 528/374/66 -usemtl retro/SUPPORT_1A -f 529/669/2 526/668/2 525/670/2 -usemtl retro/RIVET_1C -f 530/650/4 527/615/4 526/614/4 529/651/4 -usemtl retro/SUPPORT_1A -f 528/670/5 527/668/5 530/669/5 -usemtl retro/RIVET_1C -f 528/36/6 530/646/6 529/647/6 525/6/6 - -o entity0_brush66 -usemtl retro/RIVET_2B -f 531/352/1 532/671/1 533/672/1 534/673/1 -usemtl retro/RIVET_2B -f 535/674/2 532/675/2 531/676/2 -usemtl retro/RIVET_2B -f 536/677/4 533/678/4 532/679/4 535/595/4 -usemtl retro/RIVET_2B -f 534/676/5 533/675/5 536/674/5 -usemtl retro/RIVET_2B -f 536/677/67 535/595/67 531/679/67 534/678/67 - -o entity0_brush67 -usemtl retro/RIVET_2B -f 537/352/1 538/671/1 539/672/1 540/673/1 -usemtl retro/RIVET_2B -f 541/676/2 538/680/2 537/681/2 -usemtl retro/RIVET_2B -f 542/677/4 539/678/4 538/679/4 541/595/4 -usemtl retro/RIVET_2B -f 540/681/5 539/680/5 542/676/5 -usemtl retro/RIVET_2B -f 542/678/67 541/679/67 537/625/67 540/682/67 - -o entity0_brush68 -usemtl retro/RIVET_2B -f 543/352/1 544/671/1 545/672/1 546/673/1 -usemtl retro/RIVET_2B -f 547/683/2 544/684/2 543/685/2 -usemtl retro/RIVET_2B -f 548/686/4 545/687/4 544/688/4 547/689/4 -usemtl retro/RIVET_2B -f 546/685/5 545/684/5 548/683/5 -usemtl retro/RIVET_2B -f 548/682/67 547/625/67 543/690/67 546/691/67 - -o entity0_brush69 -usemtl retro/RIVET_2B -f 549/352/1 550/671/1 551/672/1 552/673/1 -usemtl retro/RIVET_2B -f 553/685/2 550/692/2 549/693/2 -usemtl retro/RIVET_2B -f 554/686/4 551/687/4 550/688/4 553/689/4 -usemtl retro/RIVET_2B -f 552/693/5 551/692/5 554/685/5 -usemtl retro/RIVET_2B -f 554/691/67 553/690/67 549/694/67 552/695/67 - -o entity0_brush70 -usemtl retro/RIVET_2B -f 555/353/1 556/641/1 557/696/1 558/615/1 -usemtl retro/RIVET_2B -f 559/697/2 556/698/2 555/699/2 -usemtl retro/RIVET_2B -f 560/686/4 557/687/4 556/688/4 559/689/4 -usemtl retro/RIVET_2B -f 558/699/5 557/698/5 560/697/5 -usemtl retro/RIVET_2B -f 560/695/67 559/694/67 555/700/67 558/701/67 - -o entity0_brush71 -usemtl retro/RIVET_2B -f 561/353/1 562/641/1 563/696/1 564/615/1 -usemtl retro/RIVET_2B -f 565/699/2 562/702/2 561/211/2 -usemtl retro/RIVET_2B -f 566/686/4 563/687/4 562/688/4 565/689/4 -usemtl retro/RIVET_2B -f 564/211/5 563/702/5 566/699/5 -usemtl retro/RIVET_2B -f 566/701/67 565/700/67 561/624/67 564/703/67 - -o entity0_brush72 -usemtl retro/RIVET_2B -f 567/353/1 568/641/1 569/696/1 570/615/1 -usemtl retro/RIVET_2B -f 571/211/2 568/704/2 567/705/2 -usemtl retro/RIVET_2B -f 572/686/4 569/687/4 568/688/4 571/689/4 -usemtl retro/RIVET_2B -f 570/705/5 569/704/5 572/211/5 -usemtl retro/RIVET_2B -f 572/703/67 571/624/67 567/706/67 570/707/67 - -o entity0_brush73 -usemtl retro/RIVET_2B -f 573/353/1 574/641/1 575/696/1 576/615/1 -usemtl retro/RIVET_2B -f 577/705/2 574/708/2 573/637/2 -usemtl retro/RIVET_2B -f 578/686/4 575/687/4 574/688/4 577/689/4 -usemtl retro/RIVET_2B -f 576/637/5 575/708/5 578/705/5 -usemtl retro/RIVET_2B -f 578/707/67 577/706/67 573/689/67 576/686/67 - -o entity0_brush74 -usemtl retro/RIVET_2B -f 579/353/1 580/641/1 581/696/1 582/615/1 -usemtl retro/RIVET_2B -f 583/637/2 580/636/2 579/638/2 -usemtl retro/RIVET_2B -f 584/686/4 581/687/4 580/688/4 583/689/4 -usemtl retro/RIVET_2B -f 582/638/5 581/636/5 584/637/5 -usemtl retro/RIVET_2B -f 584/686/67 583/689/67 579/688/67 582/687/67 - -o entity0_brush75 -usemtl retro/RIVET_2B -f 585/353/1 586/641/1 587/696/1 588/615/1 -usemtl retro/RIVET_2B -f 589/638/2 586/641/2 585/353/2 -usemtl retro/RIVET_2B -f 590/686/4 587/687/4 586/688/4 589/689/4 -usemtl retro/RIVET_2B -f 588/353/5 587/641/5 590/638/5 -usemtl retro/RIVET_2B -f 590/687/67 589/688/67 585/594/67 588/38/67 - -o entity0_brush76 -usemtl flags/unused -f 591/530/1 592/367/1 593/368/1 594/709/1 -usemtl flags/unused -f 595/710/2 593/369/2 592/60/2 596/431/2 -usemtl flags/unused -f 596/590/3 592/370/3 591/373/3 597/711/3 -usemtl flags/unused -f 598/711/4 594/373/4 593/370/4 595/590/4 -usemtl retro/DOOR_1F -f 597/182/5 591/374/5 594/375/5 598/712/5 -usemtl flags/unused -f 598/709/6 595/368/6 596/367/6 597/530/6 - -o entity0_brush77 -usemtl flags/unused -f 599/713/1 600/714/1 601/715/1 602/716/1 -usemtl flags/unused -f 603/717/2 601/718/2 600/719/2 604/720/2 -usemtl flags/unused -f 604/721/3 600/722/3 599/723/3 605/724/3 -usemtl flags/unused -f 606/724/4 602/723/4 601/722/4 603/721/4 -usemtl retro/RIVET_1C -f 605/725/5 599/726/5 602/727/5 606/728/5 -usemtl retro/RIVET_1C -f 606/729/6 603/730/6 604/637/6 605/731/6 - -o entity0_brush78 -usemtl retro/RIVET_1C -f 607/731/1 608/637/1 609/730/1 610/729/1 -usemtl flags/unused -f 611/732/2 609/733/2 608/734/2 612/735/2 -usemtl flags/unused -f 612/736/3 608/737/3 607/738/3 613/739/3 -usemtl flags/unused -f 614/739/4 610/738/4 609/737/4 611/736/4 -usemtl retro/RIVET_1C -f 613/740/5 607/741/5 610/742/5 614/743/5 -usemtl flags/unused -f 614/716/6 611/715/6 612/714/6 613/713/6 - -o entity0_brush79 -usemtl retro/SUPPORT_1A -f 615/744/1 616/36/1 617/6/1 618/745/1 -usemtl retro/SUPPORT_1A -f 618/637/2 617/583/2 619/746/2 -usemtl retro/SUPPORT_1A -f 619/6/3 617/583/3 616/247/3 620/374/3 -usemtl flags/unused -f 620/747/5 616/748/5 615/714/5 -usemtl retro/SUPPORT_1A -f 615/749/68 618/750/68 619/751/68 620/752/68 - -o entity0_brush80 -usemtl retro/RIVET_2C -f 621/753/69 622/752/69 623/754/69 624/755/69 -usemtl flags/unused -f 624/756/2 623/757/2 625/758/2 -usemtl retro/RIVET_2C -f 625/297/3 623/535/3 622/37/3 626/313/3 -usemtl retro/RIVET_2C -f 626/759/5 622/744/5 621/760/5 -usemtl retro/RIVET_2C -f 621/761/6 624/30/6 625/731/6 626/762/6 - -o entity0_brush81 -usemtl retro/CRATE_1L -f 627/19/10 628/763/10 629/269/10 630/764/10 -usemtl retro/TECH_0A -f 631/375/2 629/286/2 628/765/2 632/6/2 -usemtl retro/CRATE_1L -f 632/766/3 628/249/3 627/767/3 633/551/3 -usemtl retro/WARN_1 -f 634/768/4 630/769/4 629/770/4 631/771/4 -usemtl retro/CRATE_1L -f 633/6/5 627/772/5 630/773/5 634/375/5 -usemtl retro/SUPPORT_2C -f 634/764/6 631/269/6 632/763/6 633/19/6 - -o entity0_brush82 -usemtl retro/CRATE_1L -f 635/270/1 636/774/1 637/169/1 638/775/1 -usemtl retro/CRATE_1L -f 639/776/7 637/777/7 636/778/7 640/779/7 -usemtl retro/CRATE_1L -f 638/263/3 637/780/3 639/30/3 641/767/3 -usemtl retro/WARN_1 -f 642/769/4 640/781/4 636/782/4 635/783/4 -usemtl retro/CRATE_1L -f 641/772/5 639/16/5 640/352/5 642/773/5 -usemtl flags/unused -f 642/784/11 635/785/11 638/20/11 641/786/11 - -o entity0_brush83 -usemtl retro/CRATE_1L -f 643/712/1 644/36/1 645/16/1 646/352/1 -usemtl retro/CRATE_1L -f 647/787/9 646/788/9 645/789/9 648/790/9 -usemtl retro/CRATE_1L -f 649/777/10 644/791/10 643/792/10 650/778/10 -usemtl retro/CRATE_1L -f 648/793/3 645/51/3 644/50/3 649/780/3 -usemtl retro/WARN_1 -f 650/782/4 643/794/4 646/795/4 647/796/4 -usemtl retro/CRATE_1L -f 647/797/6 648/583/6 649/169/6 650/774/6 - -o entity0_brush84 -usemtl retro/CRATE_1L -f 651/798/1 652/799/1 653/269/1 654/764/1 -usemtl flags/unused -f 655/710/2 653/369/2 652/60/2 656/431/2 -usemtl retro/CRATE_1L -f 656/800/3 652/766/3 651/551/3 657/801/3 -usemtl retro/WARN_1 -f 658/802/4 654/768/4 653/771/4 655/803/4 -usemtl retro/CRATE_1L -f 657/182/5 651/374/5 654/375/5 658/712/5 -usemtl retro/CRATE_1L -f 658/764/6 655/269/6 656/799/6 657/798/6 - -o entity0_brush85 -usemtl retro/SUPPORT_2C -f 659/19/1 660/763/1 661/269/1 662/764/1 -usemtl retro/TECH_0A -f 663/285/2 661/712/2 660/36/2 664/804/2 -usemtl retro/CRATE_1L -f 664/250/3 660/800/3 659/801/3 665/805/3 -usemtl retro/WARN_1 -f 666/806/4 662/802/4 661/803/4 663/807/4 -usemtl retro/CRATE_1L -f 665/808/5 659/36/5 662/712/5 666/809/5 -usemtl retro/CRATE_1L -f 666/810/12 663/811/12 664/812/12 665/813/12 - -o entity0_brush86 -usemtl flags/unused -f 667/814/9 668/815/9 669/816/9 670/817/9 -usemtl retro/CRATE_1L -f 670/226/3 669/805/3 671/31/3 672/222/3 -usemtl retro/WARN_1 -f 673/818/4 674/819/4 668/806/4 667/820/4 -usemtl retro/CRATE_1L -f 671/41/5 669/808/5 668/809/5 674/821/5 -usemtl retro/CRATE_1L -f 672/777/8 671/776/8 674/779/8 673/778/8 -usemtl retro/CRATE_1L -f 673/774/6 667/270/6 670/775/6 672/169/6 - -o entity0_brush87 -usemtl flags/unused -f 675/822/1 676/748/1 677/823/1 678/824/1 -usemtl retro/CRATE_1L -f 679/54/3 676/825/3 675/222/3 680/49/3 -usemtl retro/WARN_1 -f 681/826/4 678/818/4 677/827/4 682/828/4 -usemtl retro/CRATE_1L -f 682/788/11 677/787/11 676/790/11 679/789/11 -usemtl retro/CRATE_1L -f 680/791/12 675/777/12 678/778/12 681/792/12 -usemtl retro/CRATE_1L -f 680/36/6 681/712/6 682/352/6 679/16/6 - -o entity0_brush88 -usemtl flags/unused -f 683/829/10 684/830/10 685/831/10 686/832/10 -usemtl retro/CRATE_1L -f 687/821/2 685/809/2 684/808/2 688/41/2 -usemtl retro/CRATE_1L -f 689/825/3 688/53/3 684/833/3 683/204/3 -usemtl retro/WARN_1 -f 686/834/4 685/835/4 687/836/4 690/827/4 -usemtl retro/CRATE_1L -f 690/787/38 687/837/38 688/838/38 689/790/38 -usemtl retro/CRATE_1L -f 683/765/6 686/286/6 690/797/6 689/583/6 - -o entity0_brush89 -usemtl retro/CRATE_1L -f 691/600/9 692/40/9 693/839/9 694/275/9 -usemtl retro/CRATE_1L -f 695/809/2 693/773/2 692/772/2 696/808/2 -usemtl retro/CRATE_1L -f 696/833/3 692/840/3 691/206/3 697/205/3 -usemtl retro/WARN_1 -f 698/841/4 694/842/4 693/843/4 695/835/4 -usemtl flags/unused -f 697/844/5 691/829/5 694/832/5 698/845/5 -usemtl retro/CRATE_1L -f 697/600/11 698/275/11 695/839/11 696/40/11 - -o entity0_brush90 -usemtl retro/CRATE_1L -f 699/765/1 700/583/1 701/797/1 702/286/1 -usemtl retro/CRATE_1L -f 701/787/36 700/790/36 703/838/36 704/837/36 -usemtl retro/CRATE_1L -f 705/773/2 704/352/2 703/16/2 706/772/2 -usemtl retro/CRATE_1L -f 706/840/3 703/52/3 700/793/3 699/262/3 -usemtl retro/WARN_1 -f 702/846/4 701/796/4 704/847/4 705/843/4 -usemtl flags/unused -f 706/830/12 699/829/12 702/832/12 705/831/12 - -o entity0_brush91 -usemtl retro/CRATE_1L -f 707/764/10 708/269/10 709/298/10 710/848/10 -usemtl retro/CRATE_1L -f 711/559/2 709/332/2 708/286/2 712/375/2 -usemtl retro/CRATE_1L -f 712/766/3 708/249/3 707/767/3 713/551/3 -usemtl retro/WARN_1 -f 714/768/4 710/769/4 709/770/4 711/771/4 -usemtl retro/SUPPORT_1A -f 713/766/5 707/849/5 710/850/5 714/532/5 -usemtl retro/CRATE_1L -f 714/848/6 711/298/6 712/269/6 713/764/6 - -o entity0_brush92 -usemtl retro/CRATE_1L -f 715/331/1 716/851/1 717/774/1 718/270/1 -usemtl retro/SUPPORT_1A -f 719/852/7 717/853/7 716/854/7 720/855/7 -usemtl retro/CRATE_1L -f 718/263/3 717/780/3 719/30/3 721/767/3 -usemtl retro/WARN_1 -f 722/769/4 720/781/4 716/782/4 715/783/4 -usemtl retro/SUPPORT_1A -f 721/849/5 719/729/5 720/308/5 722/850/5 -usemtl retro/CRATE_1L -f 722/856/11 715/299/11 718/857/11 721/858/11 - -o entity0_brush93 -usemtl retro/SUPPORT_1A -f 723/533/1 724/800/1 725/729/1 726/308/1 -usemtl retro/SUPPORT_1A -f 727/859/9 726/308/9 725/729/9 728/730/9 -usemtl retro/SUPPORT_1A -f 729/853/10 724/800/10 723/533/10 730/854/10 -usemtl retro/CRATE_1L -f 728/793/3 725/51/3 724/50/3 729/780/3 -usemtl retro/WARN_1 -f 730/782/4 723/794/4 726/795/4 727/796/4 -usemtl retro/CRATE_1L -f 727/860/6 728/797/6 729/774/6 730/851/6 - -o entity0_brush94 -usemtl retro/CRATE_1L -f 731/764/1 732/269/1 733/298/1 734/848/1 -usemtl retro/CRATE_1L -f 735/861/2 733/559/2 732/375/2 736/712/2 -usemtl retro/CRATE_1L -f 736/800/3 732/766/3 731/551/3 737/801/3 -usemtl retro/WARN_1 -f 738/802/4 734/768/4 733/771/4 735/803/4 -usemtl retro/SUPPORT_1A -f 737/800/5 731/766/5 734/532/5 738/533/5 -usemtl retro/CRATE_1L -f 738/848/6 735/298/6 736/269/6 737/764/6 - -o entity0_brush95 -usemtl retro/CRATE_1L -f 739/764/1 740/269/1 741/298/1 742/848/1 -usemtl retro/CRATE_1L -f 743/316/2 741/861/2 740/712/2 744/285/2 -usemtl retro/CRATE_1L -f 744/250/3 740/800/3 739/801/3 745/805/3 -usemtl retro/WARN_1 -f 746/806/4 742/802/4 741/803/4 743/807/4 -usemtl retro/SUPPORT_1A -f 745/862/5 739/800/5 742/533/5 746/863/5 -usemtl retro/CRATE_1L -f 746/864/12 743/865/12 744/811/12 745/810/12 - -o entity0_brush96 -usemtl retro/CRATE_1L -f 747/331/9 748/848/9 749/764/9 750/270/9 -usemtl retro/CRATE_1L -f 750/226/3 749/805/3 751/31/3 752/222/3 -usemtl retro/WARN_1 -f 753/818/4 754/819/4 748/806/4 747/820/4 -usemtl retro/SUPPORT_1A -f 751/866/5 749/862/5 748/863/5 754/867/5 -usemtl retro/SUPPORT_1A -f 752/853/8 751/852/8 754/855/8 753/854/8 -usemtl retro/CRATE_1L -f 753/851/6 747/331/6 750/270/6 752/774/6 - -o entity0_brush97 -usemtl retro/CRATE_1L -f 755/774/1 756/797/1 757/860/1 758/851/1 -usemtl retro/CRATE_1L -f 759/54/3 756/825/3 755/222/3 760/49/3 -usemtl retro/WARN_1 -f 761/826/4 758/818/4 757/827/4 762/828/4 -usemtl retro/SUPPORT_1A -f 762/308/11 757/859/11 756/730/11 759/729/11 -usemtl retro/SUPPORT_1A -f 760/800/12 755/853/12 758/854/12 761/533/12 -usemtl retro/SUPPORT_1A -f 760/800/6 761/533/6 762/308/6 759/729/6 - -o entity0_brush98 -usemtl retro/CRATE_1L -f 763/286/10 764/839/10 765/558/10 766/332/10 -usemtl retro/SUPPORT_1A -f 767/867/2 765/863/2 764/862/2 768/866/2 -usemtl retro/CRATE_1L -f 769/825/3 768/53/3 764/833/3 763/204/3 -usemtl retro/WARN_1 -f 766/834/4 765/835/4 767/836/4 770/827/4 -usemtl retro/SUPPORT_1A -f 770/859/38 767/549/38 768/868/38 769/730/38 -usemtl retro/CRATE_1L -f 763/286/6 766/332/6 770/860/6 769/797/6 - -o entity0_brush99 -usemtl retro/CRATE_1L -f 771/275/9 772/839/9 773/558/9 774/537/9 -usemtl retro/SUPPORT_1A -f 775/863/2 773/850/2 772/849/2 776/862/2 -usemtl retro/CRATE_1L -f 776/833/3 772/840/3 771/206/3 777/205/3 -usemtl retro/WARN_1 -f 778/841/4 774/842/4 773/843/4 775/835/4 -usemtl retro/CRATE_1L -f 777/285/5 771/286/5 774/332/5 778/316/5 -usemtl retro/CRATE_1L -f 777/275/11 778/537/11 775/558/11 776/839/11 - -o entity0_brush100 -usemtl retro/CRATE_1L -f 779/286/1 780/797/1 781/860/1 782/332/1 -usemtl retro/SUPPORT_1A -f 781/859/36 780/730/36 783/868/36 784/549/36 -usemtl retro/SUPPORT_1A -f 785/850/2 784/308/2 783/729/2 786/849/2 -usemtl retro/CRATE_1L -f 786/840/3 783/52/3 780/793/3 779/262/3 -usemtl retro/WARN_1 -f 782/846/4 781/796/4 784/847/4 785/843/4 -usemtl retro/CRATE_1L -f 786/839/12 779/286/12 782/332/12 785/558/12 - -o entity0_brush101 -usemtl flags/unused -f 787/869/1 788/388/1 789/431/1 790/870/1 -usemtl retro/TECH_1C -f 791/615/2 789/247/2 788/583/2 792/614/2 -usemtl retro/TECH_1C -f 792/615/3 788/247/3 787/730/3 793/871/3 -usemtl retro/TECH_1C -f 794/871/4 790/730/4 789/247/4 791/615/4 -usemtl retro/TECH_1C -f 793/614/5 787/583/5 790/247/5 794/615/5 -usemtl retro/TECH_0A -f 794/799/6 791/182/6 792/36/6 793/763/6 - -o entity0_brush102 -usemtl flags/unused -f 795/388/1 796/6/1 797/60/1 798/431/1 -usemtl retro/SUPPORT_2B -f 799/621/2 797/622/2 796/623/2 800/208/2 -usemtl retro/SUPPORT_2B -f 800/208/3 796/623/3 795/622/3 801/621/3 -usemtl retro/SUPPORT_2B -f 802/621/4 798/622/4 797/623/4 799/208/4 -usemtl flags/unused -f 801/872/5 795/873/5 798/874/5 802/875/5 -usemtl retro/SUPPORT_2B -f 802/182/6 799/374/6 800/6/6 801/36/6 - -o entity0_brush103 -usemtl retro/SUPPORT_1A -f 803/175/1 804/6/1 805/374/1 806/172/1 -usemtl retro/SUPPORT_1A -f 807/622/2 805/601/2 804/600/2 808/623/2 -usemtl retro/SUPPORT_1A -f 808/623/3 804/600/3 803/876/3 809/877/3 -usemtl retro/SUPPORT_1A -f 810/877/4 806/876/4 805/600/4 807/623/4 -usemtl flags/unused -f 809/873/5 803/593/5 806/334/5 810/874/5 -usemtl retro/SUPPORT_1A -f 810/172/6 807/374/6 808/6/6 809/175/6 - -o entity0_brush104 -usemtl retro/TECH_4B -f 811/182/1 812/353/1 813/352/1 814/712/1 -usemtl retro/TECH_4B -f 815/683/2 813/275/2 812/601/2 816/622/2 -usemtl retro/TECH_4B -f 816/878/3 812/793/3 811/879/3 817/880/3 -usemtl flags/unused -f 818/881/4 814/882/4 813/883/4 815/884/4 -usemtl flags/unused -f 817/874/5 811/334/5 814/335/5 818/885/5 -usemtl retro/TECH_4B -f 818/712/6 815/352/6 816/353/6 817/182/6 - -o entity0_brush105 -usemtl retro/TECH_0A -f 819/763/1 820/183/1 821/184/1 822/799/1 -usemtl retro/TECH_3D -f 821/170/36 820/169/36 823/36/36 824/182/36 -usemtl retro/TECH_3D -f 825/798/2 824/799/2 823/763/2 826/19/2 -usemtl retro/TECH_0A -f 826/565/3 823/886/3 820/189/3 819/866/3 827/852/3 -usemtl flags/unused -f 828/887/4 822/888/4 821/889/4 824/890/4 825/891/4 -usemtl retro/TECH_0A -f 827/19/5 819/41/5 822/186/5 828/798/5 -usemtl flags/unused -f 828/870/6 825/604/6 826/41/6 827/869/6 - -o entity0_brush106 -usemtl retro/TECH_1A -f 829/182/1 830/374/1 831/375/1 832/712/1 -usemtl retro/TECH_0A -f 831/375/36 830/374/36 833/615/36 834/673/36 -usemtl retro/TECH_0A -f 835/276/2 834/857/2 833/184/2 836/224/2 -usemtl retro/TECH_0A -f 836/892/3 833/893/3 830/754/3 829/894/3 837/895/3 -usemtl retro/TECH_0A -f 838/895/4 832/894/4 831/754/4 834/893/4 835/892/4 -usemtl flags/unused -f 837/603/5 829/604/5 832/896/5 838/897/5 -usemtl retro/TECH_0A -f 838/712/6 835/673/6 836/615/6 837/182/6 - -o entity0_brush107 -usemtl retro/SUPPORT_1A -f 839/271/1 840/331/1 841/307/1 842/308/1 -usemtl retro/STEEL_1A -f 843/898/10 840/331/10 839/271/10 844/863/10 -usemtl retro/STEEL_1A -f 845/75/70 842/274/70 841/537/70 846/899/70 -usemtl retro/SUPPORT_4D -f 846/900/3 841/595/3 840/263/3 843/264/3 -usemtl retro/STEEL_2A -f 844/264/4 839/263/4 842/595/4 845/900/4 -usemtl flags/unused -f 846/901/6 843/902/6 844/903/6 845/904/6 - -o entity0_brush108 -usemtl retro/SUPPORT_1A -f 847/863/1 848/898/1 849/905/1 850/906/1 -usemtl retro/STEEL_1A -f 851/298/10 848/898/10 847/863/10 852/272/10 -usemtl retro/STEEL_1A -f 850/75/70 849/899/70 853/332/70 854/279/70 -usemtl retro/STEEL_1A -f 855/292/2 854/907/2 853/249/2 856/293/2 -usemtl retro/SUPPORT_2D -f 856/295/3 853/206/3 849/900/3 848/264/3 851/249/3 857/293/3 -usemtl retro/STEEL_2A -f 858/293/4 852/249/4 847/264/4 850/900/4 854/206/4 855/295/4 -usemtl retro/STEEL_1A -f 857/299/5 851/332/5 852/279/5 858/300/5 -usemtl retro/FLOOR_2A -f 858/272/6 855/274/6 856/537/6 857/298/6 - -o entity0_brush109 -usemtl retro/CONCRETE_1B -f 859/908/71 860/909/71 861/910/71 862/911/71 -usemtl retro/CONCRETE_1B -f 863/912/72 864/913/72 860/914/72 859/915/72 -usemtl retro/CONCRETE_1B -f 862/916/73 861/917/73 865/918/73 -usemtl retro/CONCRETE_1B -f 866/919/74 864/920/74 863/921/74 -usemtl retro/CONCRETE_1B -f 867/922/75 864/920/75 866/919/75 868/923/75 -usemtl retro/CONCRETE_1B -f 869/924/76 865/925/76 861/926/76 870/927/76 -usemtl retro/CONCRETE_1B -f 870/928/3 861/929/3 860/930/3 864/931/3 867/932/3 871/933/3 -usemtl retro/CONCRETE_1B -f 872/934/4 873/935/4 868/936/4 866/937/4 863/938/4 859/939/4 862/940/4 865/941/4 869/942/4 874/943/4 -usemtl retro/CONCRETE_1B -f 874/944/77 869/924/77 870/927/77 -usemtl retro/CONCRETE_1B -f 867/945/78 868/946/78 873/947/78 -usemtl retro/CONCRETE_1B -f 871/948/79 867/949/79 873/950/79 872/951/79 -usemtl retro/CONCRETE_1B -f 874/952/80 870/953/80 871/948/80 872/951/80 - -o entity0_brush110 -usemtl retro/CONCRETE_1B -f 875/954/81 876/955/81 877/956/81 -usemtl retro/CONCRETE_1B -f 878/957/82 877/958/82 876/959/82 -usemtl retro/CONCRETE_1B -f 879/960/83 877/958/83 878/957/83 -usemtl retro/CONCRETE_1B -f 880/961/84 876/962/84 875/963/84 -usemtl retro/CONCRETE_1B -f 878/964/85 876/965/85 881/966/85 -usemtl retro/CONCRETE_1B -f 881/966/86 876/965/86 880/967/86 -usemtl retro/CONCRETE_1B -f 882/968/3 883/969/3 875/970/3 877/971/3 879/972/3 884/973/3 -usemtl retro/CONCRETE_1B -f 880/974/87 875/975/87 883/976/87 -usemtl retro/CONCRETE_1B -f 881/977/88 880/978/88 883/979/88 -usemtl retro/CONCRETE_1B -f 884/980/89 879/981/89 878/982/89 -usemtl retro/CONCRETE_1B -f 884/983/90 878/984/90 881/985/90 -usemtl retro/CONCRETE_1B -f 881/986/91 883/976/91 882/987/91 -usemtl retro/CONCRETE_1B -f 884/988/92 881/989/92 882/990/92 - -o entity0_brush111 -usemtl retro/GRID_1A -f 885/568/1 886/550/1 887/29/1 888/991/1 -usemtl retro/GRID_1A -f 889/308/2 887/75/2 886/556/2 890/30/2 -usemtl retro/GRID_1A -f 890/992/3 886/993/3 885/994/3 891/995/3 -usemtl retro/GRID_1A -f 892/995/4 888/994/4 887/993/4 889/992/4 -usemtl retro/GRID_1A -f 891/30/5 885/556/5 888/75/5 892/308/5 -usemtl retro/GRID_1A -f 892/991/6 889/29/6 890/550/6 891/568/6 - -o entity0_brush112 -usemtl retro/FLOOR_1A -f 893/996/1 894/997/1 895/998/1 896/999/1 -usemtl retro/FLOOR_1A -f 897/1000/2 895/998/2 894/997/2 898/1001/2 -usemtl retro/FLOOR_1A -f 898/1002/3 894/1003/3 893/1004/3 899/1005/3 -usemtl retro/FLOOR_1A -f 900/1005/4 896/1004/4 895/1003/4 897/1002/4 -usemtl retro/FLOOR_1A -f 899/1001/5 893/997/5 896/998/5 900/1000/5 -usemtl retro/FLOOR_1A -f 900/999/6 897/998/6 898/997/6 899/996/6 - -o entity0_brush113 -usemtl retro/FLOOR_1A -f 901/996/1 902/1006/1 903/1007/1 904/999/1 -usemtl retro/FLOOR_1A -f 905/1008/2 903/1009/2 902/1010/2 906/1011/2 -usemtl retro/FLOOR_1A -f 906/458/3 902/1012/3 901/1013/3 907/488/3 -usemtl retro/FLOOR_1A -f 908/488/4 904/1013/4 903/1012/4 905/458/4 -usemtl retro/FLOOR_1A -f 907/1011/5 901/1010/5 904/1009/5 908/1008/5 -usemtl retro/FLOOR_1A -f 908/999/6 905/1007/6 906/1006/6 907/996/6 - -o entity0_brush114 -usemtl retro/FLOOR_1A -f 909/1014/1 910/996/1 911/999/1 912/1015/1 -usemtl retro/FLOOR_1A -f 913/1016/2 911/1009/2 910/1010/2 914/1017/2 -usemtl retro/FLOOR_1A -f 914/1018/3 910/1013/3 909/1019/3 915/1020/3 -usemtl retro/FLOOR_1A -f 916/1020/4 912/1019/4 911/1013/4 913/1018/4 -usemtl retro/FLOOR_1A -f 915/1017/5 909/1010/5 912/1009/5 916/1016/5 -usemtl retro/FLOOR_1A -f 916/1015/6 913/999/6 914/996/6 915/1014/6 - -o entity0_brush115 -usemtl retro/DOOR_1C -f 917/999/1 918/1007/1 919/1021/1 920/1022/1 -usemtl retro/DOOR_1C -f 921/1023/2 919/1024/2 918/1025/2 922/45/2 -usemtl retro/DOOR_1C -f 922/1026/3 918/1027/3 917/1028/3 923/1029/3 -usemtl retro/DOOR_1C -f 924/1029/4 920/1028/4 919/1027/4 921/1026/4 -usemtl retro/DOOR_1C -f 923/45/5 917/1025/5 920/1024/5 924/1023/5 -usemtl retro/DOOR_1C -f 924/1022/6 921/1021/6 922/1007/6 923/999/6 - -o entity0_brush116 -usemtl retro/CRATE_1E -f 925/1030/1 926/1031/1 927/1032/1 928/1033/1 -usemtl retro/CRATE_1E -f 929/1034/2 927/1035/2 926/1009/2 930/1007/2 -usemtl retro/CRATE_1E -f 930/358/3 926/1036/3 925/1037/3 931/1038/3 -usemtl retro/CRATE_1E -f 932/1038/4 928/1037/4 927/1036/4 929/358/4 -usemtl retro/CRATE_1E -f 931/1007/5 925/1009/5 928/1035/5 932/1034/5 -usemtl retro/CRATE_1E -f 932/1033/6 929/1032/6 930/1031/6 931/1030/6 - -o entity0_brush117 -usemtl retro/CRATE_1G -f 933/1039/1 934/1040/1 935/1041/1 936/1042/1 -usemtl retro/CRATE_1G -f 937/1043/2 935/1044/2 934/1045/2 938/1046/2 -usemtl retro/CRATE_1G -f 938/1047/3 934/1048/3 933/1049/3 939/1050/3 -usemtl retro/CRATE_1G -f 940/1050/4 936/1049/4 935/1048/4 937/1047/4 -usemtl retro/CRATE_1G -f 939/1046/5 933/1045/5 936/1044/5 940/1043/5 -usemtl retro/CRATE_1G -f 940/1042/6 937/1041/6 938/1040/6 939/1039/6 - -o entity0_brush118 -usemtl flags/unused -f 941/1051/1 942/1052/1 943/1053/1 944/1054/1 -usemtl flags/unused -f 945/1055/7 942/1056/7 941/1057/7 946/1058/7 -usemtl flags/unused -f 947/1059/2 944/1060/2 943/1061/2 948/1062/2 -usemtl flags/unused -f 948/1063/3 943/1064/3 942/1065/3 945/1066/3 -usemtl flags/unused -f 946/1066/4 941/1065/4 944/1064/4 947/1063/4 -usemtl retro/TECH_1A -f 948/998/6 945/1007/6 946/1021/6 947/1067/6 - -o entity0_brush119 -usemtl flags/unused -f 949/1055/7 950/1056/7 951/1057/7 952/1058/7 -usemtl flags/unused -f 953/1060/2 951/1068/2 950/1069/2 954/1061/2 -usemtl flags/unused -f 954/1065/3 950/1070/3 949/1071/3 955/1066/3 -usemtl flags/unused -f 956/1066/4 952/1071/4 951/1070/4 953/1065/4 -usemtl retro/TECH_1A -f 955/1008/5 949/1009/5 952/1072/5 956/1073/5 -usemtl flags/unused -f 956/1058/38 953/1057/38 954/1056/38 955/1055/38 - -o entity0_brush120 -usemtl flags/unused -f 957/1051/1 958/1074/1 959/1075/1 960/1052/1 -usemtl flags/unused -f 961/1071/3 960/1070/3 959/1076/3 962/1077/3 -usemtl flags/unused -f 963/1077/4 958/1076/4 957/1070/4 964/1071/4 -usemtl flags/unused -f 962/1078/5 959/1069/5 958/1068/5 963/1079/5 -usemtl flags/unused -f 964/1058/38 957/1057/38 960/1056/38 961/1055/38 -usemtl retro/TECH_1A -f 964/1072/6 961/1009/6 962/1080/6 963/1081/6 - -o entity1_brush0 -usemtl flags/trigger -f 965/1082/1 966/21/1 967/192/1 968/1083/1 -usemtl flags/trigger -f 969/431/2 967/60/2 966/6/2 970/388/2 -usemtl flags/trigger -f 970/710/3 966/369/3 965/1084/3 971/1085/3 -usemtl flags/trigger -f 972/1085/4 968/1084/4 967/369/4 969/710/4 -usemtl flags/trigger -f 971/388/5 965/6/5 968/60/5 972/431/5 -usemtl flags/trigger -f 972/1083/6 969/192/6 970/21/6 971/1082/6 - -o entity2_brush0 -usemtl retro/DOOR_2D -f 973/1086/1 974/1087/1 975/1088/1 976/1089/1 -usemtl retro/DOOR_2D -f 977/182/2 975/374/2 974/6/2 978/36/2 -usemtl retro/DOOR_2D -f 978/1090/3 974/1091/3 973/1092/3 979/1093/3 -usemtl retro/DOOR_2D -f 980/1093/4 976/1092/4 975/1091/4 977/1090/4 -usemtl retro/DOOR_2D -f 979/36/5 973/6/5 976/374/5 980/182/5 -usemtl retro/DOOR_2D -f 980/1089/6 977/1088/6 978/1087/6 979/1086/6 - -o entity3_brush0 -usemtl retro/CRATE_2L -f 981/1094/1 982/1095/1 983/1096/1 984/1097/1 -usemtl retro/CRATE_2L -f 984/1098/2 983/1099/2 985/1100/2 -usemtl retro/CRATE_2L -f 985/1101/3 983/1102/3 982/1103/3 986/1104/3 -usemtl retro/CRATE_2L -f 986/1100/5 982/1099/5 981/1098/5 -usemtl retro/CRATE_2L -f 981/1105/33 984/1106/33 985/1107/33 986/1108/33 - -o entity3_brush1 -usemtl retro/CRATE_2L -f 987/1109/1 988/1110/1 989/1111/1 990/1112/1 -usemtl retro/CRATE_2L -f 991/1113/2 989/1114/2 988/1115/2 992/1116/2 -usemtl retro/CRATE_2L -f 992/1117/3 988/1118/3 987/1119/3 993/1120/3 -usemtl retro/CRATE_2L -f 994/1120/4 990/1119/4 989/1118/4 991/1117/4 -usemtl retro/CRATE_2L -f 993/1116/5 987/1115/5 990/1114/5 994/1113/5 -usemtl retro/CRATE_2L -f 994/1121/6 991/1122/6 992/1123/6 993/1124/6 - -o entity3_brush2 -usemtl retro/CRATE_2L -f 995/1125/93 996/1126/93 997/1127/93 998/1128/93 -usemtl retro/CRATE_2L -f 998/1128/94 997/1127/94 999/1129/94 -usemtl retro/CRATE_2L -f 1000/1130/95 996/1126/95 995/1125/95 -usemtl retro/CRATE_2L -f 1001/1131/96 997/1132/96 996/1133/96 1002/1134/96 -usemtl retro/CRATE_2L -f 999/1135/97 997/1136/97 1001/1137/97 -usemtl retro/CRATE_2L -f 1002/1137/98 996/1136/98 1000/1135/98 -usemtl retro/CRATE_2L -f 1003/1138/99 999/1135/99 1001/1137/99 1004/1139/99 -usemtl retro/CRATE_2L -f 1005/1140/3 1004/1141/3 1001/1131/3 1002/1134/3 1006/1142/3 1007/1143/3 -usemtl retro/CRATE_2L -f 1008/1144/4 1000/1145/4 995/1146/4 998/1147/4 999/1148/4 1003/1149/4 1009/1150/4 1010/1151/4 -usemtl retro/CRATE_2L -f 1006/1139/100 1002/1137/100 1000/1135/100 1008/1138/100 -usemtl retro/CRATE_2L -f 1004/1141/101 1005/1140/101 1009/1152/101 -usemtl retro/CRATE_2L -f 1010/1153/102 1007/1143/102 1006/1142/102 -usemtl retro/CRATE_2L -f 1009/1152/103 1005/1140/103 1007/1143/103 1010/1153/103 -usemtl retro/CRATE_2L -f 1004/1139/104 1009/1154/104 1003/1138/104 -usemtl retro/CRATE_2L -f 1010/1154/105 1006/1139/105 1008/1138/105 - -o entity3_brush3 -usemtl retro/CRATE_2L -f 1011/1129/106 1012/1155/106 1013/1156/106 1014/1157/106 -usemtl retro/CRATE_2L -f 1015/1158/3 1012/1159/3 1011/1160/3 1016/1161/3 -usemtl retro/CRATE_2L -f 1017/1161/4 1014/1162/4 1013/1163/4 1018/1158/4 -usemtl retro/CRATE_2L -f 1018/1164/107 1013/1165/107 1012/1166/107 -usemtl retro/CRATE_2L -f 1011/1166/108 1014/1165/108 1017/1164/108 -usemtl retro/CRATE_2L -f 1018/1167/60 1012/1168/60 1015/1169/60 -usemtl retro/CRATE_2L -f 1016/1170/63 1011/1171/63 1017/1172/63 -usemtl retro/CRATE_2L -f 1016/1173/6 1017/1174/6 1018/1175/6 1015/1176/6 - -o entity3_brush4 -usemtl retro/CONSOLE_1C -f 1019/1177/1 1020/1178/1 1021/1179/1 1022/1180/1 -usemtl retro/CRATE_2L -f 1022/1097/36 1021/1096/36 1023/1155/36 1024/1156/36 -usemtl retro/CRATE_2L -f 1025/1129/7 1020/1095/7 1019/1094/7 1026/1157/7 -usemtl retro/CRATE_2L -f 1027/1098/2 1024/1181/2 1023/1182/2 1028/1099/2 -usemtl retro/CRATE_2L -f 1028/1183/3 1023/1184/3 1021/1185/3 1020/1186/3 1025/1187/3 1029/1188/3 -usemtl retro/CRATE_2L -f 1030/1189/4 1026/1190/4 1019/1191/4 1022/1192/4 1024/1193/4 1027/1194/4 -usemtl retro/CRATE_2L -f 1029/1099/5 1025/1182/5 1026/1181/5 1030/1098/5 -usemtl retro/CRATE_2L -f 1030/1157/6 1027/1156/6 1028/1155/6 1029/1129/6 - -o entity3_brush5 -usemtl retro/CRATE_2L -f 1031/1096/1 1032/1155/1 1033/1156/1 1034/1097/1 -usemtl retro/CRATE_2L -f 1035/1165/2 1033/1098/2 1032/1099/2 1036/1166/2 -usemtl retro/CRATE_2L -f 1036/1159/3 1032/1183/3 1031/1102/3 1037/1195/3 -usemtl retro/CRATE_2L -f 1038/1196/4 1034/1102/4 1033/1183/4 1035/1163/4 -usemtl retro/CRATE_2L -f 1037/1166/5 1031/1099/5 1034/1098/5 1038/1165/5 -usemtl retro/CRATE_2L -f 1038/1097/109 1035/1156/109 1036/1155/109 1037/1096/109 - -o entity3_brush6 -usemtl retro/CRATE_2L -f 1039/1129/1 1040/1095/1 1041/1094/1 1042/1157/1 -usemtl retro/CRATE_2L -f 1043/1165/2 1041/1098/2 1040/1099/2 1044/1166/2 -usemtl retro/CRATE_2L -f 1044/1197/3 1040/1103/3 1039/1188/3 1045/1160/3 -usemtl retro/CRATE_2L -f 1046/1162/4 1042/1188/4 1041/1103/4 1043/1198/4 -usemtl retro/CRATE_2L -f 1045/1166/5 1039/1099/5 1042/1098/5 1046/1165/5 -usemtl retro/CRATE_2L -f 1046/1157/109 1043/1094/109 1044/1095/109 1045/1129/109 - -o entity3_brush7 -usemtl flags/clip -f 1047/1199/1 1048/1200/1 1049/1201/1 1050/1202/1 -usemtl flags/clip -f 1051/1203/2 1049/1204/2 1048/1205/2 1052/1206/2 -usemtl flags/clip -f 1052/1207/3 1048/442/3 1047/433/3 1053/1208/3 -usemtl flags/clip -f 1054/1208/4 1050/433/4 1049/442/4 1051/1207/4 -usemtl flags/clip -f 1053/1206/5 1047/1205/5 1050/1204/5 1054/1203/5 -usemtl flags/clip -f 1054/1202/6 1051/1201/6 1052/1200/6 1053/1199/6 - -o entity3_brush8 -usemtl retro/CONSOLE_1C -f 1055/1209/110 1056/1210/110 1057/1211/110 1058/1212/110 -usemtl retro/CRATE_2L -f 1059/1213/111 1057/1214/111 1056/1215/111 -usemtl retro/CRATE_2L -f 1060/1161/3 1061/1158/3 1056/1163/3 1055/1162/3 -usemtl retro/CRATE_2L -f 1062/1216/4 1058/1217/4 1057/1218/4 1059/1219/4 -usemtl retro/CRATE_2L -f 1055/1220/112 1058/1221/112 1062/1222/112 -usemtl retro/CRATE_2L -f 1062/1223/19 1059/1224/19 1061/1225/19 1060/1226/19 -usemtl retro/CRATE_2L -f 1061/1227/113 1059/1228/113 1056/1229/113 -usemtl retro/CRATE_2L -f 1060/1164/114 1055/1165/114 1062/1230/114 - -o entity3_brush9 -usemtl flags/clip -f 1063/393/1 1064/1201/1 1065/1202/1 1066/440/1 -usemtl flags/clip -f 1067/1231/22 1065/1208/22 1064/1207/22 1068/403/22 -usemtl flags/clip -f 1069/1232/2 1068/1233/2 1064/1203/2 1063/1234/2 -usemtl flags/clip -f 1066/1234/5 1065/1203/5 1067/1233/5 1070/1232/5 -usemtl flags/clip -f 1070/1235/115 1067/1236/115 1068/1237/115 1069/1238/115 -usemtl flags/clip -f 1063/1207/116 1066/1208/116 1070/1239/116 1069/1240/116 - -o entity4_brush0 -usemtl retro/CRATE_1E -f 1071/1241/117 1072/1242/117 1073/1243/117 1074/1244/117 -usemtl retro/CRATE_1E -f 1075/1245/118 1073/1246/118 1072/533/118 1076/28/118 -usemtl retro/CRATE_1E -f 1076/1247/3 1072/534/3 1071/585/3 1077/1248/3 -usemtl retro/CRATE_1E -f 1078/1248/4 1074/585/4 1073/534/4 1075/1247/4 -usemtl retro/CRATE_1E -f 1077/1249/119 1071/533/119 1074/1246/119 1078/1250/119 -usemtl retro/CRATE_1E -f 1078/1251/120 1075/1252/120 1076/1253/120 1077/1254/120 - -o entity5_brush0 -usemtl flags/trigger -f 1079/1255/1 1080/1256/1 1081/1257/1 1082/1258/1 -usemtl flags/trigger -f 1083/1259/2 1081/1054/2 1080/1053/2 1084/1260/2 -usemtl flags/trigger -f 1084/1261/3 1080/1262/3 1079/1263/3 1085/1264/3 -usemtl flags/trigger -f 1086/1264/4 1082/1263/4 1081/1262/4 1083/1261/4 -usemtl flags/trigger -f 1085/1260/5 1079/1053/5 1082/1054/5 1086/1259/5 -usemtl flags/trigger -f 1086/1258/6 1083/1257/6 1084/1256/6 1085/1255/6 - -o entity5_brush1 -usemtl flags/trigger -f 1087/1255/1 1088/1256/1 1089/1257/1 1090/1258/1 -usemtl flags/trigger -f 1091/1265/2 1089/1266/2 1088/1267/2 1092/1268/2 -usemtl flags/trigger -f 1092/1269/3 1088/1270/3 1087/1271/3 1093/1272/3 -usemtl flags/trigger -f 1094/1272/4 1090/1271/4 1089/1270/4 1091/1269/4 -usemtl flags/trigger -f 1093/1268/5 1087/1267/5 1090/1266/5 1094/1265/5 -usemtl flags/trigger -f 1094/1258/6 1091/1257/6 1092/1256/6 1093/1255/6 - diff --git a/example/main.collection b/example/main.collection index b9c76f3..d47fc53 100644 --- a/example/main.collection +++ b/example/main.collection @@ -21,7 +21,7 @@ collection_instances { } collection_instances { id: "level" - collection: "/assets/maps/level/level.collection" + collection: "/example/maps/level/level.collection" position { x: 0.0 y: 0.0 diff --git a/example/maps/level/level.map b/example/maps/level/level.map new file mode 100644 index 0000000..7641b39 --- /dev/null +++ b/example/maps/level/level.map @@ -0,0 +1,1299 @@ +// Game: Defold +// Format: Quake2 +// entity 0 +{ +"classname" "worldspawn" +"_tb_textures" "example/textures/retro;trenchfold" +"textel_size" "32" +"physics_mask" "walker, default" +"material" "/example/materials/model.material" +// brush 0 +{ +( 0 224 0 ) ( 0 192 0 ) ( 0 192 -48 ) example/textures/retro/FLOOR_2G 0 0 -90 1 -1 +( 0 192 0 ) ( 64 192 0 ) ( 64 192 -48 ) trenchfold/unused 0 0 180.00002 1 -1 +( 64 192 -48 ) ( 64 224 -48 ) ( 0 224 -48 ) trenchfold/unused 0 0 179.99998 1 1 +( 0 224 0 ) ( 64 224 0 ) ( 64 192 0 ) example/textures/retro/FLOOR_2G 0 0 179.99998 1 1 +( 64 224 -48 ) ( 64 224 0 ) ( 0 224 0 ) example/textures/retro/FLOOR_2G 0 0 180.00002 1 -1 +( 64 192 0 ) ( 64 224 0 ) ( 64 224 -48 ) example/textures/retro/FLOOR_2G 0 0 -90 1 -1 +} +// brush 1 +{ +( -32 192 0 ) ( -64 160 0 ) ( -64 160 -16 ) example/textures/retro/FLOOR_2A 0 0 0 1 1 +( -64 160 0 ) ( 128 160 0 ) ( 128 160 -16 ) trenchfold/unused 0 0 0 1 1 +( -64 160 -16 ) ( 128 160 -16 ) ( 96 192 -16 ) trenchfold/unused 0 0 0 1 1 +( 96 192 0 ) ( 128 160 0 ) ( -64 160 0 ) example/textures/retro/FLOOR_2A 0 0 0 1 1 +( 96 192 -16 ) ( 96 192 0 ) ( -32 192 0 ) example/textures/retro/FLOOR_2A 0 0 0 1 1 +( 128 160 -16 ) ( 128 160 0 ) ( 96 192 0 ) example/textures/retro/FLOOR_2A 0 0 0 1 1 +} +// brush 2 +{ +( -160 64 0 ) ( -160 -64 0 ) ( -160 -64 -16 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( -160 -64 0 ) ( -64 -160 0 ) ( -64 -160 -16 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( -64 160 -16 ) ( -64 160 0 ) ( -160 64 0 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( -64 -160 0 ) ( 128 -160 0 ) ( 128 -160 -16 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 224 -64 -16 ) ( 224 64 -16 ) ( 128 160 -16 ) trenchfold/unused 0 0 0 1 1 +( 128 160 0 ) ( 224 64 0 ) ( 224 -64 0 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 128 160 -16 ) ( 128 160 0 ) ( -64 160 0 ) trenchfold/unused 0 0 0 1 1 +( 128 -160 0 ) ( 224 -64 0 ) ( 224 -64 -16 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 224 64 -16 ) ( 224 64 0 ) ( 128 160 0 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 224 -64 0 ) ( 224 64 0 ) ( 224 64 -16 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +} +// brush 3 +{ +( -16 320 -48 ) ( 0 288 -32 ) ( -48 240 -48 ) example/textures/retro/CONCRETE_1A -32 0 179.99998 1 -1 +( -48 240 -48 ) ( 0 288 -32 ) ( 0 192 -32 ) example/textures/retro/CONCRETE_1A -32 0 179.99998 1 -1 +( -16 320 -48 ) ( 80 336 -48 ) ( 0 288 -32 ) example/textures/retro/CONCRETE_1A 0 32 180.00002 1 -1 +( 0 192 -32 ) ( 64 192 -32 ) ( -48 240 -48 ) trenchfold/unused 0 35.487183 180.00002 1 -1 +( -48 240 -48 ) ( 112 256 -48 ) ( 80 336 -48 ) trenchfold/unused 0 0 179.99998 1 1 +( 0 288 -32 ) ( 64 288 -32 ) ( 64 192 -32 ) example/textures/retro/FLOOR_2G 0 0 270 1 1 +( 0 288 -32 ) ( 80 336 -48 ) ( 64 288 -32 ) example/textures/retro/CONCRETE_1A 0 32 180.00002 1 -1 +( 64 192 -32 ) ( 112 256 -48 ) ( -48 240 -48 ) trenchfold/unused 0 35.487183 180.00002 1 -1 +( 64 288 -32 ) ( 112 256 -48 ) ( 64 192 -32 ) example/textures/retro/CONCRETE_1A -32 0 179.99998 1 -1 +( 80 336 -48 ) ( 112 256 -48 ) ( 64 288 -32 ) example/textures/retro/CONCRETE_1A -32 0 179.99998 1 -1 +} +// brush 4 +{ +( -176 -96 -48 ) ( -208 96 -48 ) ( -160 -64 -16 ) example/textures/retro/CONCRETE_1B -1.1851959 -0.790123 0 1 1 +( -208 96 -48 ) ( -160 64 -16 ) ( -160 -64 -16 ) example/textures/retro/CONCRETE_1B 21.233688 60.51961 0 1 1 +( -64 -160 -16 ) ( -48 -208 -48 ) ( -176 -96 -48 ) example/textures/retro/CONCRETE_1B -32 -1.2307739 0 1 1 +( -160 -64 -16 ) ( -64 -160 -16 ) ( -176 -96 -48 ) example/textures/retro/CONCRETE_1B -32 -1.2307739 0 1 1 +( -48 240 -48 ) ( -32 192 -16 ) ( -208 96 -48 ) example/textures/retro/CONCRETE_1B 0 48 0 1 1 +( -208 96 -48 ) ( -32 192 -16 ) ( -160 64 -16 ) example/textures/retro/CONCRETE_1B 0 48 0 1 1 +( -48 240 -48 ) ( 112 256 -48 ) ( -32 192 -16 ) example/textures/retro/CONCRETE_1B 0 58.605362 0 1 1 +( -64 -160 -16 ) ( 128 -160 -16 ) ( -48 -208 -48 ) example/textures/retro/CONCRETE_1B 0 -23.86885 0 1 1 +( 240 -80 -48 ) ( 272 80 -48 ) ( 112 256 -48 ) trenchfold/unused 0 0 0 1 1 +( 96 192 -16 ) ( 224 64 -16 ) ( 224 -64 -16 ) trenchfold/unused 0 0 0 1 1 +( -32 192 -16 ) ( 112 256 -48 ) ( 96 192 -16 ) example/textures/retro/CONCRETE_1B 0 58.605362 0 1 1 +( -48 -208 -48 ) ( 128 -160 -16 ) ( 128 -192 -48 ) example/textures/retro/CONCRETE_1B 0 -23.86885 0 1 1 +( 112 256 -48 ) ( 224 64 -16 ) ( 96 192 -16 ) example/textures/retro/CONCRETE_1B -35.432693 61.558228 0 1 1 +( 112 256 -48 ) ( 272 80 -48 ) ( 224 64 -16 ) example/textures/retro/CONCRETE_1B -35.432693 61.558228 0 1 1 +( 224 64 -16 ) ( 272 80 -48 ) ( 224 -64 -16 ) example/textures/retro/CONCRETE_1B -39.489365 55.602837 0 1 1 +( 224 -64 -16 ) ( 240 -80 -48 ) ( 128 -192 -48 ) example/textures/retro/CONCRETE_1B -32 -48.62745 0 1 1 +( 224 -64 -16 ) ( 272 80 -48 ) ( 240 -80 -48 ) example/textures/retro/CONCRETE_1B 0 0 0 1 1 +} +// brush 5 +{ +( 0 256 -16 ) ( 0 224 -16 ) ( 0 224 -48 ) example/textures/retro/FLOOR_2G 0 0 -180 1 -1 +( 0 224 -16 ) ( 64 224 -16 ) ( 64 224 -48 ) trenchfold/unused 0 0 180.00002 1 -1 +( 64 224 -48 ) ( 64 256 -48 ) ( 0 256 -48 ) trenchfold/unused 0 0 179.99998 1 1 +( 0 256 -16 ) ( 64 256 -16 ) ( 64 224 -16 ) example/textures/retro/FLOOR_2G 0 0 270 1 1 +( 64 256 -48 ) ( 64 256 -16 ) ( 0 256 -16 ) example/textures/retro/FLOOR_2G 0 0 180.00002 1 -1 +( 64 224 -16 ) ( 64 256 -16 ) ( 64 256 -48 ) example/textures/retro/FLOOR_2G 0 0 -90 1 -1 +} +// brush 6 +{ +( 0 472 -40 ) ( 0 304 -40 ) ( 0 304 -48 ) example/textures/retro/CONCRETE_2A 0 8 90 1 1 0 0 0 +( 0 304 -40 ) ( 64 304 -40 ) ( 64 304 -48 ) trenchfold/unused 0 0 0 1 1 0 0 0 +( 64 304 -48 ) ( 64 472 -48 ) ( 0 472 -48 ) trenchfold/unused 0 -8 0 1 1 0 0 0 +( 0 472 -40 ) ( 64 472 -40 ) ( 64 304 -40 ) example/textures/retro/CONCRETE_2A 0 -8 0 1 1 0 0 0 +( 64 472 -48 ) ( 64 472 -40 ) ( 0 472 -40 ) example/textures/retro/CONCRETE_2A 0 0 0 1 1 0 0 0 +( 64 304 -40 ) ( 64 472 -40 ) ( 64 472 -48 ) example/textures/retro/CONCRETE_2A 0 8 90 1 1 0 0 0 +} +// brush 7 +{ +( -640 896 -48 ) ( -640 -512 -48 ) ( -640 -512 -64 ) trenchfold/unused 16 -16 0 1 1 1 0 0 +( -640 -512 -48 ) ( 768 -512 -48 ) ( 768 -512 -64 ) trenchfold/unused 48 -16 0 1 1 1 0 0 +( 768 -512 -64 ) ( 768 896 -64 ) ( -640 896 -64 ) trenchfold/unused 48 -16 0 1 1 1 0 0 +( -640 896 -48 ) ( 768 896 -48 ) ( 768 -512 -48 ) example/textures/retro/SLIME_1A 48 -16 0 1 1 1 0 0 +( 768 896 -64 ) ( 768 896 -48 ) ( -640 896 -48 ) trenchfold/unused 48 -16 0 1 1 1 0 0 +( 768 -512 -48 ) ( 768 896 -48 ) ( 768 896 -64 ) trenchfold/unused 16 -16 0 1 1 1 0 0 +} +// brush 8 +{ +( 176 48 64 ) ( 176 32 64 ) ( 176 32 0 ) example/textures/retro/TECH_1B 48 0 0 1 1 +( 176 32 64 ) ( 192 16 64 ) ( 192 16 0 ) example/textures/retro/TECH_1B 0 0 0 1 1 +( 192 16 0 ) ( 208 48 0 ) ( 176 48 0 ) example/textures/retro/TECH_1B 48 -32 0 1 1 +( 176 48 64 ) ( 208 48 64 ) ( 192 16 64 ) example/textures/retro/TECH_1B 48 -32 0 1 1 +( 208 48 0 ) ( 208 48 64 ) ( 176 48 64 ) trenchfold/unused 48 0 0 1 1 +( 192 16 64 ) ( 208 48 64 ) ( 208 48 0 ) example/textures/retro/TECH_1B 48 0 0 1 1 +} +// brush 9 +{ +( 112 48 64 ) ( 112 32 64 ) ( 112 32 0 ) example/textures/retro/DOOR_1D 16 0 0 1 1 +( 112 32 64 ) ( 176 32 64 ) ( 176 32 0 ) example/textures/retro/DOOR_1D 16 0 0 1 1 +( 176 32 0 ) ( 176 48 0 ) ( 112 48 0 ) example/textures/retro/DOOR_1D 16 0 0 1 1 +( 112 48 64 ) ( 176 48 64 ) ( 176 32 64 ) example/textures/retro/DOOR_1D 16 0 0 1 1 +( 176 48 0 ) ( 176 48 64 ) ( 112 48 64 ) trenchfold/unused 16 0 0 1 1 +( 176 32 64 ) ( 176 48 64 ) ( 176 48 0 ) example/textures/retro/DOOR_1D 16 0 0 1 1 +} +// brush 10 +{ +( -96 0 80 ) ( -96 -121 80 ) ( -96 -121 64 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -80 -121 80 ) ( -57 -144 80 ) ( -57 -144 64 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -57 -144 80 ) ( 121 -144 80 ) ( 121 -144 64 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 208 -57 64 ) ( 208 0 64 ) ( -80 0 64 ) example/textures/retro/SUPPORT_2D 0 0 0 1 1 +( -80 0 80 ) ( 208 0 80 ) ( 208 -57 80 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 208 0 64 ) ( 208 0 80 ) ( -80 0 80 ) example/textures/retro/SUPPORT_1A 0 -32 0 1 1 +( 121 -144 80 ) ( 208 -57 80 ) ( 208 -57 64 ) example/textures/retro/STEEL_1A 9 -32 0 1 1 +( 208 -57 80 ) ( 208 0 80 ) ( 208 0 64 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +} +// brush 11 +{ +( 32 64 80 ) ( 32 0 80 ) ( 32 0 64 ) example/textures/retro/SUPPORT_1A 0 -32 0 1 1 +( 32 0 80 ) ( 208 0 80 ) ( 208 0 64 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 208 0 64 ) ( 208 57 64 ) ( 201 64 64 ) example/textures/retro/SUPPORT_4D 0 0 0 1 1 +( 201 64 80 ) ( 208 57 80 ) ( 208 0 80 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 201 64 64 ) ( 201 64 80 ) ( 32 64 80 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( 201 64 80 ) ( 201 64 64 ) ( 208 57 64 ) example/textures/retro/STEEL_1A 61.254883 -32 0 1 1 +( 208 0 80 ) ( 208 57 80 ) ( 208 57 64 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +} +// brush 12 +{ +( -80 121 80 ) ( -80 64 80 ) ( -80 64 64 ) trenchfold/unused 0 -32 0 1 1 +( -57 144 64 ) ( -57 144 80 ) ( -80 121 80 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -80 64 80 ) ( 201 64 80 ) ( 201 64 64 ) example/textures/retro/SUPPORT_1A 0 -32 0 1 1 +( -80 64 64 ) ( 201 64 64 ) ( 121 144 64 ) example/textures/retro/SUPPORT_4D 0 0 0 1 1 +( 121 144 80 ) ( 201 64 80 ) ( -80 64 80 ) trenchfold/unused 0 0 0 1 1 +( 121 144 64 ) ( 121 144 80 ) ( -57 144 80 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( 201 64 64 ) ( 201 64 80 ) ( 121 144 80 ) example/textures/retro/STEEL_1A 42.74893 -32 0 1 1 +} +// brush 13 +{ +( -144 57 80 ) ( -144 -57 80 ) ( -144 -57 64 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -144 -57 80 ) ( -80 -121 80 ) ( -80 -121 64 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -80 121 64 ) ( -80 121 80 ) ( -144 57 80 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -80 -121 64 ) ( -80 121 64 ) ( -144 57 64 ) example/textures/retro/SUPPORT_4D 0 0 0 1 1 +( -144 57 80 ) ( -80 121 80 ) ( -80 -121 80 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( -96 -121 80 ) ( -96 121 80 ) ( -96 121 64 ) trenchfold/unused 0 -32 0 1 1 +} +// brush 14 +{ +( -57 144 144 ) ( -144 57 144 ) ( -144 57 80 ) example/textures/retro/TECH_0A 0 -48 0 1 1 +( -144 57 144 ) ( 208 57 144 ) ( 208 57 80 ) example/textures/retro/TECH_0A 0 -48 0 1 1 +( -144 57 80 ) ( 208 57 80 ) ( 121 144 80 ) example/textures/retro/TECH_0A 0 -48 0 1 1 +( 121 144 144 ) ( 208 57 144 ) ( -144 57 144 ) trenchfold/unused 0 -48 0 1 1 +( 121 144 80 ) ( 121 144 144 ) ( -57 144 144 ) example/textures/retro/TECH_0A 0 -48 0 1 1 +( 208 57 80 ) ( 208 57 144 ) ( 121 144 144 ) example/textures/retro/TECH_0A 0 -48 0 1 1 +} +// brush 15 +{ +( 48 -64 160 ) ( 48 -144 160 ) ( 48 -144 144 ) trenchfold/unused 0 -32 0 1 1 +( 48 -144 160 ) ( 121 -144 160 ) ( 121 -144 144 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 144 -121 144 ) ( 144 -64 144 ) ( 48 -64 144 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 48 -64 160 ) ( 144 -64 160 ) ( 144 -121 160 ) example/textures/retro/STEEL_2A 0 0 0 1 1 +( 144 -64 144 ) ( 144 -64 160 ) ( 48 -64 160 ) example/textures/retro/FLOOR_2A 0 -32 0 1 1 +( 121 -144 160 ) ( 144 -121 160 ) ( 144 -121 144 ) example/textures/retro/STEEL_1A 9 -32 0 1 1 +( 144 -121 160 ) ( 144 -64 160 ) ( 144 -64 144 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +} +// brush 16 +{ +( 48 144 160 ) ( 48 0 160 ) ( 48 0 144 ) trenchfold/unused 0 -32 0 1 1 +( 48 -16 160 ) ( 144 -16 160 ) ( 144 -16 144 ) example/textures/retro/FLOOR_2A 0 -32 0 1 1 +( 144 0 144 ) ( 144 121 144 ) ( 121 144 144 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 121 144 160 ) ( 144 121 160 ) ( 144 0 160 ) example/textures/retro/STEEL_2A 0 0 0 1 1 +( 121 144 144 ) ( 121 144 160 ) ( 48 144 160 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( 144 121 144 ) ( 144 121 160 ) ( 121 144 160 ) example/textures/retro/STEEL_1A -32.47473 -32 0 1 1 +( 144 0 160 ) ( 144 121 160 ) ( 144 121 144 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +} +// brush 17 +{ +( 144 121 160 ) ( 144 -121 160 ) ( 144 -121 144 ) trenchfold/unused 0 -32 0 1 1 +( 208 -57 144 ) ( 208 57 144 ) ( 144 121 144 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 144 121 160 ) ( 208 57 160 ) ( 208 -57 160 ) example/textures/retro/STEEL_2A 0 0 0 1 1 +( 144 -121 160 ) ( 208 -57 160 ) ( 208 -57 144 ) example/textures/retro/STEEL_1A 9 -32 0 1 1 +( 208 57 144 ) ( 208 57 160 ) ( 144 121 160 ) example/textures/retro/STEEL_1A 53.209312 -32 0 1 1 +( 208 -57 160 ) ( 208 57 160 ) ( 208 57 144 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +} +// brush 18 +{ +( 32 -64 144 ) ( 32 -144 144 ) ( 32 -144 80 ) trenchfold/unused 0 16 0 1 1 +( -16 -144 144 ) ( 121 -144 144 ) ( 121 -144 80 ) example/textures/retro/TECH_1A 0 16 0 1 1 +( 121 -144 80 ) ( 201 -64 80 ) ( -16 -64 80 ) example/textures/retro/TECH_1A 0 16 0 1 1 +( -16 -64 144 ) ( 201 -64 144 ) ( 121 -144 144 ) trenchfold/unused 0 16 0 1 1 +( 201 -64 80 ) ( 201 -64 144 ) ( -16 -64 144 ) example/textures/retro/TECH_1A 0 16 0 1 1 +( 121 -144 144 ) ( 201 -64 144 ) ( 201 -64 80 ) example/textures/retro/TECH_1A 9 16 0 1 1 +} +// brush 19 +{ +( -80 -121 80 ) ( -137 -64 80 ) ( -137 -64 144 ) example/textures/retro/TECH_1A 0 16 0 1 1 +( -80 -121 80 ) ( -80 -64 80 ) ( -137 -64 80 ) example/textures/retro/TECH_1A 0 16 0 1 1 +( -137 -64 144 ) ( -80 -64 144 ) ( -80 -121 144 ) trenchfold/unused 0 16 0 1 1 +( -80 -64 80 ) ( -80 -64 144 ) ( -137 -64 144 ) example/textures/retro/TECH_1A 0 16 0 1 1 +( -112 -121 144 ) ( -112 -64 144 ) ( -112 -64 80 ) trenchfold/unused 0 16 0 1 1 +} +// brush 20 +{ +( -112 -64 144 ) ( -112 -80 144 ) ( -112 -80 80 ) trenchfold/unused 16 16 0 1 1 +( -112 -80 144 ) ( -48 -80 144 ) ( -48 -80 80 ) trenchfold/unused 48 16 0 1 1 +( -48 -80 80 ) ( -48 -64 80 ) ( -112 -64 80 ) trenchfold/unused 48 16 0 1 1 +( -112 -64 144 ) ( -48 -64 144 ) ( -48 -80 144 ) trenchfold/unused 48 16 0 1 1 +( -48 -64 80 ) ( -48 -64 144 ) ( -112 -64 144 ) example/textures/retro/CONSOLE_1D 48 16 0 1 1 +( -48 -80 144 ) ( -48 -64 144 ) ( -48 -64 80 ) trenchfold/unused 16 16 0 1 1 +} +// brush 21 +{ +( 0 256 -16 ) ( 0 256 -32 ) ( 0 272 -32 ) trenchfold/clip 0 0 0 1 1 +( 0 256 -16 ) ( 64 256 -16 ) ( 64 256 -32 ) trenchfold/clip 0 0 0 1 1 +( 64 256 -32 ) ( 64 272 -32 ) ( 0 272 -32 ) trenchfold/clip 0 0 0 1 1 +( 64 256 -16 ) ( 0 256 -16 ) ( 0 272 -32 ) trenchfold/clip 0 0 0 1 1 +( 64 256 -16 ) ( 64 272 -32 ) ( 64 256 -32 ) trenchfold/clip 0 0 0 1 1 +} +// brush 22 +{ +( 0 224 0 ) ( 0 224 -16 ) ( 0 240 -16 ) trenchfold/clip 0 0 0 1 1 +( 0 224 0 ) ( 64 224 0 ) ( 64 224 -16 ) trenchfold/clip 0 0 0 1 1 +( 64 224 -16 ) ( 64 240 -16 ) ( 0 240 -16 ) trenchfold/clip 0 0 0 1 1 +( 0 240 -16 ) ( 64 240 -16 ) ( 64 224 0 ) trenchfold/clip 0 0 0 1 1 +( 64 224 0 ) ( 64 240 -16 ) ( 64 224 -16 ) trenchfold/clip 0 0 0 1 1 +} +// brush 23 +{ +( 72 472 64 ) ( 72 352 256 ) ( 72 352 -48 ) trenchfold/clip 0 0 0 1 1 +( 72 352 256 ) ( 88 352 256 ) ( 88 352 -48 ) trenchfold/clip 0 0 0 1 1 +( 88 352 -48 ) ( 88 472 -48 ) ( 72 472 -48 ) trenchfold/clip 0 0 0 1 1 +( 72 472 64 ) ( 88 472 64 ) ( 88 352 256 ) trenchfold/clip 0 -8 0 1 1 +( 88 472 -48 ) ( 88 472 64 ) ( 72 472 64 ) trenchfold/clip 0 0 0 1 1 +( 88 352 256 ) ( 88 472 64 ) ( 88 472 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 24 +{ +( -24 456 64 ) ( -24 336 256 ) ( -24 336 -48 ) trenchfold/clip 0 0 0 1 1 +( -24 336 256 ) ( -8 336 256 ) ( -8 336 -48 ) trenchfold/clip 0 0 0 1 1 +( -8 336 -48 ) ( -8 456 -48 ) ( -24 456 -48 ) trenchfold/clip 0 0 0 1 1 +( -24 456 64 ) ( -8 456 64 ) ( -8 336 256 ) trenchfold/clip 0 -8 0 1 1 +( -8 456 -48 ) ( -8 456 64 ) ( -24 456 64 ) trenchfold/clip 0 0 0 1 1 +( -8 336 256 ) ( -8 456 64 ) ( -8 456 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 25 +{ +( -24 536 -48 ) ( -40 552 -48 ) ( -40 552 64 ) trenchfold/clip -8 0 0 1 1 +( -24 536 64 ) ( 64 536 64 ) ( 64 536 -48 ) trenchfold/clip 0 0 0 1 1 +( 64 536 -48 ) ( 64 552 -48 ) ( -40 552 -48 ) trenchfold/clip 0 0 0 1 1 +( -40 552 64 ) ( 64 552 64 ) ( 64 536 64 ) trenchfold/clip 0 0 0 1 1 +( 64 552 -48 ) ( 64 552 64 ) ( -40 552 64 ) trenchfold/clip 0 0 0 1 1 +( 64 536 64 ) ( 64 552 64 ) ( 64 552 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 26 +{ +( -40 552 64 ) ( -40 456 64 ) ( -40 456 -48 ) trenchfold/clip 0 0 0 1 1 +( -24 472 -48 ) ( -24 536 -48 ) ( -40 552 -48 ) trenchfold/clip 0 0 0 1 1 +( -40 552 64 ) ( -24 536 64 ) ( -24 472 64 ) trenchfold/clip 0 0 0 1 1 +( -40 456 64 ) ( -24 472 64 ) ( -24 472 -48 ) trenchfold/clip 0 0 0 1 1 +( -24 536 -48 ) ( -24 536 64 ) ( -40 552 64 ) trenchfold/clip 0 0 0 1 1 +( -24 472 64 ) ( -24 536 64 ) ( -24 536 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 27 +{ +( 72 352 256 ) ( 128 256 256 ) ( 128 256 -48 ) trenchfold/clip 0 0 0 1 1 +( 128 256 256 ) ( 144 256 256 ) ( 144 256 -48 ) trenchfold/clip 0 0 0 1 1 +( 128 256 -48 ) ( 144 256 -48 ) ( 88 352 -48 ) trenchfold/clip 0 0 0 1 1 +( 88 352 256 ) ( 144 256 256 ) ( 128 256 256 ) trenchfold/clip 0 0 0 1 1 +( 88 352 256 ) ( 72 352 256 ) ( 72 352 -48 ) trenchfold/clip 0 0 0 1 1 +( 144 256 -48 ) ( 144 256 256 ) ( 88 352 256 ) trenchfold/clip 0 0 0 1 1 +} +// brush 28 +{ +( 128 256 256 ) ( 288 80 256 ) ( 288 80 -48 ) trenchfold/clip 0 0 0 1 1 +( 288 80 256 ) ( 304 80 256 ) ( 304 80 -48 ) trenchfold/clip 0 0 0 1 1 +( 288 80 -48 ) ( 304 80 -48 ) ( 144 256 -48 ) trenchfold/clip 0 0 0 1 1 +( 144 256 256 ) ( 304 80 256 ) ( 288 80 256 ) trenchfold/clip 0 0 0 1 1 +( 144 256 256 ) ( 128 256 256 ) ( 128 256 -48 ) trenchfold/clip 0 0 0 1 1 +( 304 80 -48 ) ( 304 80 256 ) ( 144 256 256 ) trenchfold/clip 0 0 0 1 1 +} +// brush 29 +{ +( 288 80 -48 ) ( 288 80 256 ) ( 256 -80 256 ) trenchfold/clip 0 0 0 1 1 +( 272 -80 -48 ) ( 256 -80 -48 ) ( 256 -80 256 ) trenchfold/clip 0 0 0 1 1 +( 272 -80 -48 ) ( 304 80 -48 ) ( 288 80 -48 ) trenchfold/clip 0 0 0 1 1 +( 288 80 256 ) ( 304 80 256 ) ( 272 -80 256 ) trenchfold/clip 0 0 0 1 1 +( 304 80 -48 ) ( 304 80 256 ) ( 288 80 256 ) trenchfold/clip 0 0 0 1 1 +( 272 -80 256 ) ( 304 80 256 ) ( 304 80 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 30 +{ +( 136 -200 256 ) ( 136 -216 256 ) ( 136 -216 -48 ) trenchfold/clip 0 0 0 1 1 +( 256 -80 -48 ) ( 256 -80 256 ) ( 136 -200 256 ) trenchfold/clip 8 0 0 1 1 +( 136 -216 -48 ) ( 272 -80 -48 ) ( 256 -80 -48 ) trenchfold/clip 0 0 0 1 1 +( 256 -80 256 ) ( 272 -80 256 ) ( 136 -216 256 ) trenchfold/clip 0 0 0 1 1 +( 272 -80 -48 ) ( 272 -80 256 ) ( 256 -80 256 ) trenchfold/clip 0 0 0 1 1 +( 136 -216 256 ) ( 272 -80 256 ) ( 272 -80 -48 ) trenchfold/clip 8 0 0 1 1 +} +// brush 31 +{ +( -56 -216 256 ) ( -56 -232 256 ) ( -56 -232 -48 ) trenchfold/clip 0 0 0 1 1 +( -56 -216 256 ) ( -56 -216 -48 ) ( 136 -200 -48 ) trenchfold/clip 0 0 0 1 1 +( 136 -216 -48 ) ( 136 -200 -48 ) ( -56 -216 -48 ) trenchfold/clip 0 0 0 1 1 +( -56 -216 256 ) ( 136 -200 256 ) ( 136 -216 256 ) trenchfold/clip 0 0 0 1 1 +( -56 -232 256 ) ( 136 -216 256 ) ( 136 -216 -48 ) trenchfold/clip 0 0 0 1 1 +( 136 -216 256 ) ( 136 -200 256 ) ( 136 -200 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 32 +{ +( -208 -96 256 ) ( -56 -232 256 ) ( -56 -232 -48 ) trenchfold/clip -8 0 0 1 1 +( -56 -232 -48 ) ( -56 -216 -48 ) ( -192 -96 -48 ) trenchfold/clip 0 0 0 1 1 +( -192 -96 256 ) ( -56 -216 256 ) ( -56 -232 256 ) trenchfold/clip 0 0 0 1 1 +( -192 -96 256 ) ( -208 -96 256 ) ( -208 -96 -48 ) trenchfold/clip 0 0 0 1 1 +( -56 -216 -48 ) ( -56 -216 256 ) ( -192 -96 256 ) trenchfold/clip -8 0 0 1 1 +( -56 -232 256 ) ( -56 -216 256 ) ( -56 -216 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 33 +{ +( -232 104 256 ) ( -208 -96 256 ) ( -208 -96 -48 ) trenchfold/clip 0 0 0 1 1 +( -208 -96 256 ) ( -192 -96 256 ) ( -192 -96 -48 ) trenchfold/clip 0 0 0 1 1 +( -208 -96 -48 ) ( -192 -96 -48 ) ( -216 104 -48 ) trenchfold/clip 0 0 0 1 1 +( -216 104 256 ) ( -192 -96 256 ) ( -208 -96 256 ) trenchfold/clip 0 0 0 1 1 +( -216 104 256 ) ( -232 104 256 ) ( -232 104 -48 ) trenchfold/clip 0 0 0 1 1 +( -192 -96 -48 ) ( -192 -96 256 ) ( -216 104 256 ) trenchfold/clip 0 0 0 1 1 +} +// brush 34 +{ +( -80 240 -48 ) ( -80 240 256 ) ( -232 104 256 ) trenchfold/clip 0 0 0 1 1 +( -216 104 -48 ) ( -232 104 -48 ) ( -232 104 256 ) trenchfold/clip 0 0 0 1 1 +( -216 104 -48 ) ( -64 240 -48 ) ( -80 240 -48 ) trenchfold/clip 0 0 0 1 1 +( -80 240 256 ) ( -64 240 256 ) ( -216 104 256 ) trenchfold/clip 0 0 0 1 1 +( -64 240 -48 ) ( -64 240 256 ) ( -80 240 256 ) trenchfold/clip 0 0 0 1 1 +( -216 104 256 ) ( -64 240 256 ) ( -64 240 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 35 +{ +( -24 336 -48 ) ( -24 336 256 ) ( -80 240 256 ) trenchfold/clip 0 0 0 1 1 +( -64 240 -48 ) ( -80 240 -48 ) ( -80 240 256 ) trenchfold/clip 0 0 0 1 1 +( -64 240 -48 ) ( -8 336 -48 ) ( -24 336 -48 ) trenchfold/clip 0 0 0 1 1 +( -24 336 256 ) ( -8 336 256 ) ( -64 240 256 ) trenchfold/clip 0 0 0 1 1 +( -8 336 -48 ) ( -8 336 256 ) ( -24 336 256 ) trenchfold/clip 0 0 0 1 1 +( -64 240 256 ) ( -8 336 256 ) ( -8 336 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 36 +{ +( 104 512 64 ) ( 104 496 64 ) ( 104 496 -48 ) trenchfold/clip 0 0 0 1 1 +( 104 496 64 ) ( 120 488 64 ) ( 120 488 -48 ) trenchfold/clip 0 0 0 1 1 +( 120 520 -48 ) ( 120 520 64 ) ( 104 512 64 ) trenchfold/clip 0 0 0 1 1 +( 120 488 -48 ) ( 120 520 -48 ) ( 104 512 -48 ) trenchfold/clip 0 0 0 1 1 +( 104 512 64 ) ( 120 520 64 ) ( 120 488 64 ) trenchfold/clip 0 0 0 1 1 +( 120 488 64 ) ( 120 520 64 ) ( 120 520 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 37 +{ +( 64 472 -40 ) ( 64 304 -40 ) ( 64 304 -48 ) trenchfold/clip 0 8 90 1 1 0 0 0 +( 64 312 -40 ) ( 80 312 -40 ) ( 80 312 -48 ) trenchfold/clip 0 0 0 1 1 0 0 0 +( 80 304 -48 ) ( 80 472 -48 ) ( 64 472 -48 ) trenchfold/clip 0 -8 0 1 1 0 0 0 +( 64 472 -40 ) ( 80 472 -40 ) ( 80 304 -40 ) trenchfold/clip 0 -8 0 1 1 0 0 0 +( 80 472 -48 ) ( 80 472 -40 ) ( 64 472 -40 ) trenchfold/clip 0 0 0 1 1 0 0 0 +( 72 304 -40 ) ( 72 472 -40 ) ( 72 472 -48 ) trenchfold/clip 0 8 90 1 1 0 0 0 +} +// brush 38 +{ +( 64 552 64 ) ( 64 536 64 ) ( 64 536 -48 ) trenchfold/clip -8 0 0 1 1 +( 64 536 64 ) ( 104 512 64 ) ( 104 512 -48 ) trenchfold/clip 8 0 0 1 1 +( 104 512 -48 ) ( 120 520 -48 ) ( 64 552 -48 ) trenchfold/clip 0 0 0 1 1 +( 64 552 64 ) ( 120 520 64 ) ( 104 512 64 ) trenchfold/clip 0 0 0 1 1 +( 104 512 64 ) ( 120 520 64 ) ( 120 520 -48 ) trenchfold/clip 0 0 0 1 1 +( 120 520 -48 ) ( 120 520 64 ) ( 64 552 64 ) trenchfold/clip 8 0 0 1 1 +} +// brush 39 +{ +( 104 496 -48 ) ( 104 496 64 ) ( 72 472 64 ) trenchfold/clip 8 0 0 1 1 +( 88 472 -48 ) ( 72 472 -48 ) ( 72 472 64 ) trenchfold/clip 0 0 0 1 1 +( 88 472 -48 ) ( 120 488 -48 ) ( 104 496 -48 ) trenchfold/clip 0 0 0 1 1 +( 104 496 64 ) ( 120 488 64 ) ( 88 472 64 ) trenchfold/clip 0 0 0 1 1 +( 88 472 64 ) ( 120 488 64 ) ( 120 488 -48 ) trenchfold/clip 0 0 0 1 1 +( 120 488 -48 ) ( 120 488 64 ) ( 104 496 64 ) trenchfold/clip 8 0 0 1 1 +} +// brush 40 +{ +( -24 472 64 ) ( -40 456 64 ) ( -40 456 -48 ) trenchfold/clip 0 0 0 1 1 +( -40 456 64 ) ( -8 456 64 ) ( -8 456 -48 ) trenchfold/clip 0 0 0 1 1 +( -8 456 -48 ) ( -8 472 -48 ) ( -24 472 -48 ) trenchfold/clip 0 0 0 1 1 +( -24 472 64 ) ( -8 472 64 ) ( -8 456 64 ) trenchfold/clip 0 0 0 1 1 +( -8 472 -48 ) ( -8 472 64 ) ( -24 472 64 ) trenchfold/clip 8 0 0 1 1 +( -8 456 64 ) ( -8 472 64 ) ( -8 472 -48 ) trenchfold/clip 0 0 0 1 1 +} +// brush 41 +{ +( -8 472 -40 ) ( -8 304 -40 ) ( -8 304 -48 ) trenchfold/clip 0 8 90 1 1 0 0 0 +( -16 304 -40 ) ( 0 304 -40 ) ( 0 304 -48 ) trenchfold/clip 0 0 0 1 1 0 0 0 +( 0 304 -48 ) ( 0 472 -48 ) ( -16 472 -48 ) trenchfold/clip 0 -8 0 1 1 0 0 0 +( -16 472 -40 ) ( 0 472 -40 ) ( 0 304 -40 ) trenchfold/clip 0 -8 0 1 1 0 0 0 +( 0 472 -48 ) ( 0 472 -40 ) ( -16 472 -40 ) trenchfold/clip 0 0 0 1 1 0 0 0 +( 0 304 -40 ) ( 0 472 -40 ) ( 0 472 -48 ) trenchfold/clip 0 8 90 1 1 0 0 0 +} +// brush 42 +{ +( 0 -144 160 ) ( 0 -143 160 ) ( 0 -144 161 ) example/textures/retro/CRATE_1H 16 -32 0 1 1 +( 0 -144 160 ) ( 0 -144 161 ) ( 1 -144 160 ) example/textures/retro/CRATE_1H 0 -32 0 1 1 +( 0 -144 160 ) ( 1 -144 160 ) ( 0 -143 160 ) example/textures/retro/CRATE_1H 0 -16 0 1 1 +( 48 -96 224 ) ( 48 -95 224 ) ( 49 -96 224 ) example/textures/retro/CRATE_1L 0 -16 0 1 1 +( 48 -80 176 ) ( 49 -80 176 ) ( 48 -80 177 ) example/textures/retro/CRATE_1H 0 -32 0 1 1 +( 64 -96 176 ) ( 64 -96 177 ) ( 64 -95 176 ) example/textures/retro/CRATE_1H 16 -32 0 1 1 +} +// brush 43 +{ +( -58.39230484541326 -134 160 ) ( -58.39230484541325 -133 160 ) ( -58.39230484541326 -134 161 ) example/textures/retro/CRATE_1G -10 -16 0 1 1 +( -58.39230484541326 -134 160 ) ( -58.39230484541326 -134 161 ) ( -57.392304845413264 -134 160 ) example/textures/retro/CRATE_1G 10.392303 -16 0 1 1 +( -58.39230484541326 -134 160 ) ( -57.392304845413264 -134 160 ) ( -58.39230484541325 -133 160 ) example/textures/retro/CRATE_1G 10.392303 10 0 1 1 +( -42.392304845413236 -118 192 ) ( -42.39230484541325 -117 192 ) ( -41.392304845413236 -118 192 ) example/textures/retro/CRATE_1G 10.392303 10 0 1 1 +( -42.392304845413236 -118 176 ) ( -41.392304845413236 -118 176 ) ( -42.392304845413236 -118 177 ) example/textures/retro/CRATE_1G 10.392303 -16 0 1 1 +( -42.392304845413236 -118 176 ) ( -42.392304845413236 -118 177 ) ( -42.39230484541325 -117 176 ) example/textures/retro/CRATE_1G -10 -16 0 1 1 +} +// brush 44 +{ +( -32 -112 160 ) ( -32 -111 160 ) ( -32 -112 161 ) example/textures/retro/CRATE_1G -16 0 1.7763568e-15 1 1 +( -48 -144 160 ) ( -48 -144 161 ) ( -47 -144 160 ) example/textures/retro/CRATE_1F 0 0 0 1 1 +( -48 -112 160 ) ( -47 -112 160 ) ( -48 -111 160 ) example/textures/retro/CRATE_1F 0 0 0 1 1 +( 0 -64 192 ) ( 0 -63 192 ) ( 1 -64 192 ) example/textures/retro/CRATE_1F 0 0 0 1 1 +( 0 -96 176 ) ( 1 -96 176 ) ( 0 -96 177 ) example/textures/retro/CRATE_1F 0 0 0 1 1 +( 0 -64 176 ) ( 0 -64 177 ) ( 0 -63 176 ) example/textures/retro/CRATE_1F 0 0 0 1 1 +} +// brush 45 +{ +( -32 -112 192 ) ( -32 -111 192 ) ( -32 -112 193 ) example/textures/retro/CRATE_1G -16 32 0 1 1 +( -48 -144 192 ) ( -48 -144 193 ) ( -47 -144 192 ) example/textures/retro/CRATE_1F 0 32 0 1 1 +( -48 -112 192 ) ( -47 -112 192 ) ( -48 -111 192 ) example/textures/retro/CRATE_1F 0 0 0 1 1 +( 0 -64 208 ) ( 0 -63 208 ) ( 1 -64 208 ) example/textures/retro/CRATE_1F 0 0 0 1 1 +( 0 -112 208 ) ( 1 -112 208 ) ( 0 -112 209 ) example/textures/retro/CRATE_1F 0 32 0 1 1 +( 0 -64 208 ) ( 0 -64 209 ) ( 0 -63 208 ) example/textures/retro/CRATE_1F 0 32 0 1 1 +} +// brush 46 +{ +( 16 176 112 ) ( 16 177 112 ) ( 16 176 113 ) example/textures/retro/LIGHT_1B 48 0 90 1 -1 1 0 0 +( 32 160 80 ) ( 31 160 80 ) ( 32 160 81 ) example/textures/retro/LIGHT_1B 48 -48 90 1 1 1 0 0 +( 32 160 80 ) ( 32 161 80 ) ( 31 160 80 ) example/textures/retro/LIGHT_1B 0 -48 90 1 1 1 0 0 +( 16 176 112 ) ( 15 176 112 ) ( 16 177 112 ) example/textures/retro/LIGHT_1B 0 -48 90 1 1 1 0 0 +( 16 162 112 ) ( 16 162 113 ) ( 15 162 112 ) example/textures/retro/LIGHT_1B -16 -48 0 1 1 1 0 0 +( 48 160 80 ) ( 48 160 81 ) ( 48 161 80 ) example/textures/retro/LIGHT_1B 48 0 90 1 -1 1 0 0 +} +// brush 47 +{ +( -162 -16 112 ) ( -162 -16 113 ) ( -162 -17 112 ) example/textures/retro/LIGHT_1B 16 -48 0 1 1 1 0 0 +( -176 -16 112 ) ( -177 -16 112 ) ( -176 -16 113 ) example/textures/retro/LIGHT_1B 48 0 90 1 1 1 0 0 +( -160 0 80 ) ( -161 0 80 ) ( -160 -1 80 ) example/textures/retro/LIGHT_1B 0 48 179.99998 1 1 1 0 0 +( -176 -16 112 ) ( -176 -17 112 ) ( -177 -16 112 ) example/textures/retro/LIGHT_1B 0 48 179.99998 1 1 1 0 0 +( -160 16 80 ) ( -160 16 81 ) ( -161 16 80 ) example/textures/retro/LIGHT_1B 48 0 90 1 1 1 0 0 +( -160 0 80 ) ( -160 -1 80 ) ( -160 0 81 ) example/textures/retro/LIGHT_1B 48 48 90 1 1 1 0 0 +} +// brush 48 +{ +( 224 0 80 ) ( 224 0 81 ) ( 224 -1 80 ) example/textures/retro/LIGHT_1B 48 48 90 1 1 1 0 0 +( 240 -16 112 ) ( 240 -16 113 ) ( 241 -16 112 ) example/textures/retro/LIGHT_1B 48 0 90 1 -1 1 0 0 +( 224 0 80 ) ( 224 -1 80 ) ( 225 0 80 ) example/textures/retro/LIGHT_1B 0 48 0 1 -1 1 0 0 +( 240 -16 112 ) ( 241 -16 112 ) ( 240 -17 112 ) example/textures/retro/LIGHT_1B 0 48 0 1 -1 1 0 0 +( 224 16 80 ) ( 225 16 80 ) ( 224 16 81 ) example/textures/retro/LIGHT_1B 48 0 90 1 -1 1 0 0 +( 226 -16 112 ) ( 226 -17 112 ) ( 226 -16 113 ) example/textures/retro/LIGHT_1B 16 -48 0 1 1 1 0 0 +} +// brush 49 +{ +( 16 -176 112 ) ( 16 -176 113 ) ( 16 -177 112 ) example/textures/retro/LIGHT_1B 48 0 90 1 1 1 0 0 +( 16 -162 112 ) ( 15 -162 112 ) ( 16 -162 113 ) example/textures/retro/LIGHT_1B -16 -48 0 1 1 1 0 0 +( 32 -160 80 ) ( 31 -160 80 ) ( 32 -161 80 ) example/textures/retro/LIGHT_1B 0 -48 270 1 -1 1 0 0 +( 16 -176 112 ) ( 16 -177 112 ) ( 15 -176 112 ) example/textures/retro/LIGHT_1B 0 -48 270 1 -1 1 0 0 +( 32 -160 80 ) ( 32 -160 81 ) ( 31 -160 80 ) example/textures/retro/LIGHT_1B 48 -48 90 1 1 1 0 0 +( 48 -160 80 ) ( 48 -161 80 ) ( 48 -160 81 ) example/textures/retro/LIGHT_1B 48 0 90 1 1 1 0 0 +} +// brush 50 +{ +( -48 -80 64 ) ( -48 -96 64 ) ( -48 -96 0 ) example/textures/retro/DOOR_1C 16 0 0 1 1 +( -48 -96 64 ) ( 16 -96 64 ) ( 16 -96 0 ) trenchfold/unused 48 0 0 1 1 +( 16 -96 0 ) ( 16 -80 0 ) ( -48 -80 0 ) example/textures/retro/DOOR_1C 48 0 0 1 1 +( -48 -80 64 ) ( 16 -80 64 ) ( 16 -96 64 ) trenchfold/unused 48 0 0 1 1 +( 16 -84 0 ) ( 16 -84 64 ) ( -48 -84 64 ) example/textures/retro/DOOR_1C 48 0 0 1 1 +( 16 -96 64 ) ( 16 -80 64 ) ( 16 -80 0 ) example/textures/retro/DOOR_1C 16 0 0 1 1 +} +// brush 51 +{ +( -128 -16 64 ) ( -128 -128 64 ) ( -128 -128 0 ) example/textures/retro/TECH_1F 32 0 0 1 1 +( -112 -96 64 ) ( -80 -96 64 ) ( -80 -96 0 ) trenchfold/unused -16 0 0 1 1 +( -80 -128 0 ) ( -80 -16 0 ) ( -112 -16 0 ) example/textures/retro/TECH_1F -16 -32 0 1 1 +( -112 -16 64 ) ( -80 -16 64 ) ( -80 -128 64 ) trenchfold/unused -16 -32 0 1 1 +( -80 -80 0 ) ( -80 -80 64 ) ( -112 -80 64 ) example/textures/retro/TECH_1F -16 0 0 1 1 +( -48 -128 64 ) ( -48 -16 64 ) ( -48 -16 0 ) example/textures/retro/TECH_1F 32 0 0 1 1 +} +// brush 52 +{ +( 16 -80 64 ) ( 16 -96 64 ) ( 16 -96 0 ) example/textures/retro/TECH_1F 48 0 0 1 1 +( 16 -96 64 ) ( 48 -96 64 ) ( 48 -96 0 ) trenchfold/unused 16 0 0 1 1 +( 48 -96 0 ) ( 48 -80 0 ) ( 16 -80 0 ) example/textures/retro/TECH_1F 16 -32 0 1 1 +( 16 -80 64 ) ( 48 -80 64 ) ( 48 -96 64 ) trenchfold/unused 16 -32 0 1 1 +( 48 -80 0 ) ( 48 -80 64 ) ( 16 -80 64 ) example/textures/retro/TECH_1F 16 0 0 1 1 +( 192 -96 64 ) ( 192 -80 64 ) ( 192 -80 0 ) example/textures/retro/TECH_1F 48 0 0 1 1 +} +// brush 53 +{ +( 176 -64 64 ) ( 176 -80 64 ) ( 176 -80 0 ) example/textures/retro/SUPPORT_1D 0 0 0 1 1 +( 192 -48 0 ) ( 192 -48 64 ) ( 176 -64 64 ) example/textures/retro/SUPPORT_1D 48 0 0 1 1 +( 176 -80 0 ) ( 208 -64 0 ) ( 192 -48 0 ) example/textures/retro/SUPPORT_1D 0 0 0 1 1 +( 192 -48 64 ) ( 208 -64 64 ) ( 176 -80 64 ) example/textures/retro/SUPPORT_1D 0 0 0 1 1 +( 176 -80 64 ) ( 208 -64 64 ) ( 208 -64 0 ) example/textures/retro/SUPPORT_1D 0 0 0 1 1 +( 208 -64 0 ) ( 208 -64 64 ) ( 192 -48 64 ) example/textures/retro/SUPPORT_1D 0 0 0 1 1 +} +// brush 54 +{ +( -144 -48 64 ) ( -144 -80 64 ) ( -144 -80 0 ) example/textures/retro/SUPPORT_1D 16 0 0 1 1 +( -144 -80 64 ) ( -112 -80 64 ) ( -112 -80 0 ) example/textures/retro/SUPPORT_1D 16 0 0 1 1 +( -112 -80 0 ) ( -112 -64 0 ) ( -144 -48 0 ) example/textures/retro/SUPPORT_1D 16 -16 0 1 1 +( -144 -48 64 ) ( -112 -64 64 ) ( -112 -80 64 ) example/textures/retro/SUPPORT_1D 16 -16 0 1 1 +( -112 -64 0 ) ( -112 -64 64 ) ( -144 -48 64 ) example/textures/retro/SUPPORT_1D 16 0 0 1 1 +( -112 -80 64 ) ( -112 -64 64 ) ( -112 -64 0 ) example/textures/retro/SUPPORT_1D 16 0 0 1 1 +} +// brush 55 +{ +( 192 -48 0 ) ( 192 -47 0 ) ( 192 -48 1 ) example/textures/retro/CONSOLE_1A 48 0 0 1 1 +( 192 -48 0 ) ( 192 -48 1 ) ( 193 -48 0 ) example/textures/retro/CONSOLE_1A 32 0 0 1 1 +( 192 -48 0 ) ( 193 -48 0 ) ( 192 -47 0 ) example/textures/retro/CONSOLE_1A 32 -16 0 1 1 +( 208 16 64 ) ( 208 17 64 ) ( 209 16 64 ) example/textures/retro/CONSOLE_1A 32 -16 0 1 1 +( 208 16 16 ) ( 209 16 16 ) ( 208 16 17 ) example/textures/retro/CONSOLE_1A 32 0 0 1 1 +( 208 16 16 ) ( 208 16 17 ) ( 208 17 16 ) example/textures/retro/CONSOLE_1A 48 0 0 1 1 +} +// brush 56 +{ +( -88 64 72 ) ( -96 64 80 ) ( -88 0 72 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -88 0 80 ) ( -88 0 72 ) ( -96 0 80 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 1 0 0 +( -96 64 80 ) ( -88 64 80 ) ( -96 0 80 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -88 64 80 ) ( -96 64 80 ) ( -88 64 72 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 1 0 0 +( -88 0 80 ) ( -88 64 80 ) ( -88 0 72 ) example/textures/retro/RIVET_1C 0 8 0 1 1 1 0 0 +} +// brush 57 +{ +( -80 64 64 ) ( -88 64 72 ) ( -80 0 64 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -80 0 72 ) ( -80 0 64 ) ( -88 0 72 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 1 0 0 +( -88 64 72 ) ( -80 64 72 ) ( -88 0 72 ) example/textures/retro/RIVET_1C 8 0 0 1 1 1 0 0 +( -80 64 72 ) ( -88 64 72 ) ( -80 64 64 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 1 0 0 +( -80 0 72 ) ( -80 64 72 ) ( -80 0 64 ) example/textures/retro/RIVET_1C 0 0 0 1 1 1 0 0 +} +// brush 58 +{ +( -72 64 56 ) ( -80 64 64 ) ( -72 0 56 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -72 0 64 ) ( -72 0 56 ) ( -80 0 64 ) example/textures/retro/SUPPORT_1A 15.999996 0 0 1 1 1 0 0 +( -80 64 64 ) ( -72 64 64 ) ( -80 0 64 ) example/textures/retro/RIVET_1C 0 0 0 1 1 1 0 0 +( -72 64 64 ) ( -80 64 64 ) ( -72 64 56 ) example/textures/retro/SUPPORT_1A 15.999996 0 0 1 1 1 0 0 +( -72 0 64 ) ( -72 64 64 ) ( -72 0 56 ) example/textures/retro/RIVET_1C 0 56 0 1 1 1 0 0 +} +// brush 59 +{ +( -64 64 48 ) ( -72 64 56 ) ( -64 0 48 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -64 0 56 ) ( -64 0 48 ) ( -72 0 56 ) example/textures/retro/SUPPORT_1A 15.999996 0 0 1 1 1 0 0 +( -72 64 56 ) ( -64 64 56 ) ( -72 0 56 ) example/textures/retro/RIVET_1C 56 0 0 1 1 1 0 0 +( -64 64 56 ) ( -72 64 56 ) ( -64 64 48 ) example/textures/retro/SUPPORT_1A 15.999996 0 0 1 1 1 0 0 +( -64 0 56 ) ( -64 64 56 ) ( -64 0 48 ) example/textures/retro/RIVET_1C 0 48 0 1 1 1 0 0 +} +// brush 60 +{ +( -56 64 40 ) ( -64 64 48 ) ( -56 0 40 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -56 0 48 ) ( -56 0 40 ) ( -64 0 48 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 1 0 0 +( -64 64 48 ) ( -56 64 48 ) ( -64 0 48 ) example/textures/retro/RIVET_1C 48 0 0 1 1 1 0 0 +( -56 64 48 ) ( -64 64 48 ) ( -56 64 40 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 1 0 0 +( -56 0 48 ) ( -56 64 48 ) ( -56 0 40 ) example/textures/retro/RIVET_1C 0 40 0 1 1 1 0 0 +} +// brush 61 +{ +( -48 64 32 ) ( -56 64 40 ) ( -48 0 32 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -48 0 40 ) ( -48 0 32 ) ( -56 0 40 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 1 0 0 +( -56 64 40 ) ( -48 64 40 ) ( -56 0 40 ) example/textures/retro/RIVET_1C 40 0 0 1 1 1 0 0 +( -48 64 40 ) ( -56 64 40 ) ( -48 64 32 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 1 0 0 +( -48 0 40 ) ( -48 64 40 ) ( -48 0 32 ) example/textures/retro/RIVET_1C 0 32 0 1 1 1 0 0 +} +// brush 62 +{ +( -40 64 24 ) ( -48 64 32 ) ( -40 0 24 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -40 0 32 ) ( -40 0 24 ) ( -48 0 32 ) example/textures/retro/SUPPORT_1A 16.000002 0 0 1 1 1 0 0 +( -48 64 32 ) ( -40 64 32 ) ( -48 0 32 ) example/textures/retro/RIVET_1C 32 0 0 1 1 1 0 0 +( -40 64 32 ) ( -48 64 32 ) ( -40 64 24 ) example/textures/retro/SUPPORT_1A 16.000002 0 0 1 1 1 0 0 +( -40 0 32 ) ( -40 64 32 ) ( -40 0 24 ) example/textures/retro/RIVET_1C 0 24 0 1 1 1 0 0 +} +// brush 63 +{ +( -32 64 16 ) ( -40 64 24 ) ( -32 0 16 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -32 0 24 ) ( -32 0 16 ) ( -40 0 24 ) example/textures/retro/SUPPORT_1A 16.000002 0 0 1 1 1 0 0 +( -40 64 24 ) ( -32 64 24 ) ( -40 0 24 ) example/textures/retro/RIVET_1C 24 0 0 1 1 1 0 0 +( -32 64 24 ) ( -40 64 24 ) ( -32 64 16 ) example/textures/retro/SUPPORT_1A 16.000002 0 0 1 1 1 0 0 +( -32 0 24 ) ( -32 64 24 ) ( -32 0 16 ) example/textures/retro/RIVET_1C 0 16 0 1 1 1 0 0 +} +// brush 64 +{ +( -24 64 8 ) ( -32 64 16 ) ( -24 0 8 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -24 0 16 ) ( -24 0 8 ) ( -32 0 16 ) example/textures/retro/SUPPORT_1A 15.999999 0 0 1 1 1 0 0 +( -32 64 16 ) ( -24 64 16 ) ( -32 0 16 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -24 64 16 ) ( -32 64 16 ) ( -24 64 8 ) example/textures/retro/SUPPORT_1A 15.999999 0 0 1 1 1 0 0 +( -24 0 16 ) ( -24 64 16 ) ( -24 0 8 ) example/textures/retro/RIVET_1C 0 8 0 1 1 1 0 0 +} +// brush 65 +{ +( -16 64 0 ) ( -24 64 8 ) ( -16 0 0 ) example/textures/retro/RIVET_1C 16 0 0 1 1 1 0 0 +( -16 0 8 ) ( -16 0 0 ) ( -24 0 8 ) example/textures/retro/SUPPORT_1A 15.999999 0 0 1 1 1 0 0 +( -24 64 8 ) ( -16 64 8 ) ( -24 0 8 ) example/textures/retro/RIVET_1C 8 0 0 1 1 1 0 0 +( -16 64 8 ) ( -24 64 8 ) ( -16 64 0 ) example/textures/retro/SUPPORT_1A 15.999999 0 0 1 1 1 0 0 +( -16 0 8 ) ( -16 64 8 ) ( -16 0 0 ) example/textures/retro/RIVET_1C 0 0 0 1 1 1 0 0 +} +// brush 66 +{ +( 136 -64 160 ) ( 136 -64 152 ) ( 136 0 160 ) example/textures/retro/RIVET_2B 0 24 0 1 1 1 0 0 +( 136 -64 160 ) ( 144 -64 160 ) ( 136 -64 152 ) example/textures/retro/RIVET_2B 0 15.999985 180.00002 1 -1 1 0 0 +( 144 0 160 ) ( 144 -64 160 ) ( 136 0 160 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +( 136 -16 160 ) ( 136 -16 152 ) ( 144 -16 160 ) example/textures/retro/RIVET_2B 0 15.999985 180.00002 1 -1 1 0 0 +( 136 0 152 ) ( 136 -64 152 ) ( 144 0 160 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 67 +{ +( 128 -64 152 ) ( 128 -64 144 ) ( 128 0 152 ) example/textures/retro/RIVET_2B 0 16 0 1 1 1 0 0 +( 128 -64 152 ) ( 136 -64 152 ) ( 128 -64 144 ) example/textures/retro/RIVET_2B 0 15.999985 180.00002 1 -1 1 0 0 +( 136 0 152 ) ( 136 -64 152 ) ( 128 0 152 ) example/textures/retro/RIVET_2B -8 0 179.99998 1 -1 1 0 0 +( 128 -16 152 ) ( 128 -16 144 ) ( 136 -16 152 ) example/textures/retro/RIVET_2B 0 15.999985 180.00002 1 -1 1 0 0 +( 128 0 144 ) ( 128 -64 144 ) ( 136 0 152 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 68 +{ +( 120 -64 144 ) ( 120 -64 136 ) ( 120 0 144 ) example/textures/retro/RIVET_2B 0 8 0 1 1 1 0 0 +( 120 -64 144 ) ( 128 -64 144 ) ( 120 -64 136 ) example/textures/retro/RIVET_2B 0 15.999992 180.00002 1 -1 1 0 0 +( 128 0 144 ) ( 128 -64 144 ) ( 120 0 144 ) example/textures/retro/RIVET_2B 48 0 179.99998 1 -1 1 0 0 +( 120 -16 144 ) ( 120 -16 136 ) ( 128 -16 144 ) example/textures/retro/RIVET_2B 0 15.999992 180.00002 1 -1 1 0 0 +( 120 0 136 ) ( 120 -64 136 ) ( 128 0 144 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 69 +{ +( 112 -64 136 ) ( 112 -64 128 ) ( 112 0 136 ) example/textures/retro/RIVET_2B 0 0 0 1 1 1 0 0 +( 112 -64 136 ) ( 120 -64 136 ) ( 112 -64 128 ) example/textures/retro/RIVET_2B 0 15.999992 180.00002 1 -1 1 0 0 +( 120 0 136 ) ( 120 -64 136 ) ( 112 0 136 ) example/textures/retro/RIVET_2B 40 0 179.99998 1 -1 1 0 0 +( 112 -16 136 ) ( 112 -16 128 ) ( 120 -16 136 ) example/textures/retro/RIVET_2B 0 15.999992 180.00002 1 -1 1 0 0 +( 112 0 128 ) ( 112 -64 128 ) ( 120 0 136 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 70 +{ +( 104 -64 128 ) ( 104 -64 120 ) ( 104 0 128 ) example/textures/retro/RIVET_2B 0 56 0 1 1 1 0 0 +( 104 -64 128 ) ( 112 -64 128 ) ( 104 -64 120 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 112 0 128 ) ( 112 -64 128 ) ( 104 0 128 ) example/textures/retro/RIVET_2B 32 0 179.99998 1 -1 1 0 0 +( 104 -16 128 ) ( 104 -16 120 ) ( 112 -16 128 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 104 0 120 ) ( 104 -64 120 ) ( 112 0 128 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 71 +{ +( 96 -64 120 ) ( 96 -64 112 ) ( 96 0 120 ) example/textures/retro/RIVET_2B 0 48 0 1 1 1 0 0 +( 96 -64 120 ) ( 104 -64 120 ) ( 96 -64 112 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 104 0 120 ) ( 104 -64 120 ) ( 96 0 120 ) example/textures/retro/RIVET_2B 24 0 179.99998 1 -1 1 0 0 +( 96 -16 120 ) ( 96 -16 112 ) ( 104 -16 120 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 96 0 112 ) ( 96 -64 112 ) ( 104 0 120 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 72 +{ +( 88 -64 112 ) ( 88 -64 104 ) ( 88 0 112 ) example/textures/retro/RIVET_2B 0 40 0 1 1 1 0 0 +( 88 -64 112 ) ( 96 -64 112 ) ( 88 -64 104 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 96 0 112 ) ( 96 -64 112 ) ( 88 0 112 ) example/textures/retro/RIVET_2B 16 0 179.99998 1 -1 1 0 0 +( 88 -16 112 ) ( 88 -16 104 ) ( 96 -16 112 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 88 0 104 ) ( 88 -64 104 ) ( 96 0 112 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 73 +{ +( 80 -64 104 ) ( 80 -64 96 ) ( 80 0 104 ) example/textures/retro/RIVET_2B 0 32 0 1 1 1 0 0 +( 80 -64 104 ) ( 88 -64 104 ) ( 80 -64 96 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 88 0 104 ) ( 88 -64 104 ) ( 80 0 104 ) example/textures/retro/RIVET_2B 8 0 179.99998 1 -1 1 0 0 +( 80 -16 104 ) ( 80 -16 96 ) ( 88 -16 104 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 80 0 96 ) ( 80 -64 96 ) ( 88 0 104 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 74 +{ +( 72 -64 96 ) ( 72 -64 88 ) ( 72 0 96 ) example/textures/retro/RIVET_2B 0 24 0 1 1 1 0 0 +( 72 -64 96 ) ( 80 -64 96 ) ( 72 -64 88 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 80 0 96 ) ( 80 -64 96 ) ( 72 0 96 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +( 72 -16 96 ) ( 72 -16 88 ) ( 80 -16 96 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 72 0 88 ) ( 72 -64 88 ) ( 80 0 96 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 75 +{ +( 64 -64 88 ) ( 64 -64 80 ) ( 64 0 88 ) example/textures/retro/RIVET_2B 0 16 0 1 1 1 0 0 +( 64 -64 88 ) ( 72 -64 88 ) ( 64 -64 80 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 72 0 88 ) ( 72 -64 88 ) ( 64 0 88 ) example/textures/retro/RIVET_2B -8 0 179.99998 1 -1 1 0 0 +( 64 -16 88 ) ( 64 -16 80 ) ( 72 -16 88 ) example/textures/retro/RIVET_2B 0 16 180.00002 1 -1 1 0 0 +( 64 0 80 ) ( 64 -64 80 ) ( 72 0 88 ) example/textures/retro/RIVET_2B 0 0 179.99998 1 -1 1 0 0 +} +// brush 76 +{ +( -40 -88 80 ) ( -40 -87 80 ) ( -40 -88 81 ) trenchfold/unused 40 16 0 1 1 +( -40 -88 80 ) ( -40 -88 81 ) ( -39 -88 80 ) trenchfold/unused 40 16 0 1 1 +( -40 -88 80 ) ( -39 -88 80 ) ( -40 -87 80 ) trenchfold/unused 40 8 0 1 1 +( 24 -72 144 ) ( 24 -71 144 ) ( 25 -72 144 ) trenchfold/unused 40 8 0 1 1 +( 24 -72 96 ) ( 25 -72 96 ) ( 24 -72 97 ) example/textures/retro/DOOR_1F 40 16 0 1 1 +( 24 -72 96 ) ( 24 -72 97 ) ( 24 -71 96 ) trenchfold/unused 40 16 0 1 1 +} +// brush 77 +{ +( -48 -80 80 ) ( -48 -79 80 ) ( -48 -80 81 ) trenchfold/unused 0 0 0 1 1 +( -48 -80 80 ) ( -48 -80 81 ) ( -47 -80 80 ) trenchfold/unused 0 0 0 1 1 +( -48 -80 80 ) ( -47 -80 80 ) ( -48 -79 80 ) trenchfold/unused 0 0 0 1 1 +( -32 -64 144 ) ( -32 -63 144 ) ( -31 -64 144 ) trenchfold/unused 0 0 0 1 1 +( -32 -64 96 ) ( -31 -64 96 ) ( -32 -64 97 ) example/textures/retro/RIVET_1C 0 0 0 1 1 +( -40 -64 96 ) ( -40 -64 97 ) ( -40 -63 96 ) example/textures/retro/RIVET_1C 0 0 0 1 1 +} +// brush 78 +{ +( 24 -80 80 ) ( 24 -79 80 ) ( 24 -80 81 ) example/textures/retro/RIVET_1C 0 0 0 1 1 +( 24 -80 80 ) ( 24 -80 81 ) ( 25 -80 80 ) trenchfold/unused -8 0 0 1 1 +( 24 -80 80 ) ( 25 -80 80 ) ( 24 -79 80 ) trenchfold/unused -8 0 0 1 1 +( 40 -64 144 ) ( 40 -63 144 ) ( 41 -64 144 ) trenchfold/unused -8 0 0 1 1 +( 40 -64 96 ) ( 41 -64 96 ) ( 40 -64 97 ) example/textures/retro/RIVET_1C -8 0 0 1 1 +( 32 -64 96 ) ( 32 -64 97 ) ( 32 -63 96 ) trenchfold/unused 0 0 0 1 1 +} +// brush 79 +{ +( -96 64 80 ) ( -96 0 80 ) ( -96 0 0 ) example/textures/retro/SUPPORT_1A 0 0 0 1 1 +( -96 0 80 ) ( -16 0 0 ) ( -96 0 0 ) example/textures/retro/SUPPORT_1A 16.000004 0 0 1 1 +( -16 0 0 ) ( -16 64 0 ) ( -96 64 0 ) example/textures/retro/SUPPORT_1A 16 0 0 1 1 +( -96 64 0 ) ( -16 64 0 ) ( -96 64 80 ) trenchfold/unused 16.000004 0 0 1 1 +( -96 64 80 ) ( -16 64 0 ) ( -16 0 0 ) example/textures/retro/SUPPORT_1A 48 32 0 1 1 +} +// brush 80 +{ +( 64 0 80 ) ( 144 0 160 ) ( 144 -64 160 ) example/textures/retro/RIVET_2C -32 -48 0 1 1 +( 64 -64 80 ) ( 144 -64 160 ) ( 144 -64 80 ) trenchfold/unused 0 0 0 1 1 +( 144 -64 80 ) ( 144 0 80 ) ( 64 0 80 ) example/textures/retro/RIVET_2C 0 0 0 1 1 +( 144 -16 80 ) ( 144 -16 160 ) ( 64 -16 80 ) example/textures/retro/RIVET_2C 0 0 0 1 1 +( 144 -64 160 ) ( 144 0 160 ) ( 144 0 80 ) example/textures/retro/RIVET_2C 0 0 0 1 1 +} +// brush 81 +{ +( -41 160 176 ) ( -57 144 176 ) ( -57 144 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -57 144 176 ) ( 0 144 176 ) ( 0 144 0 ) example/textures/retro/TECH_0A 0 0 0 1 1 +( 0 144 0 ) ( 0 160 0 ) ( -41 160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 0 160 0 ) ( 0 160 176 ) ( -41 160 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 0 144 176 ) ( 0 160 176 ) ( 0 160 0 ) example/textures/retro/SUPPORT_2C 0 0 0 1 1 +} +// brush 82 +{ +( -144 80 176 ) ( -144 57 176 ) ( -144 57 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -64 160 0 ) ( -64 160 176 ) ( -144 80 176 ) example/textures/retro/CRATE_1L 42 0 0 0.75 1 +( -144 57 0 ) ( -41 160 0 ) ( -64 160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( -41 160 0 ) ( -41 160 176 ) ( -64 160 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -144 57 176 ) ( -41 160 176 ) ( -41 160 0 ) trenchfold/unused -9 0 0 1 1 +} +// brush 83 +{ +( -160 64 176 ) ( -160 -64 176 ) ( -160 -64 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -160 -64 176 ) ( -144 -80 176 ) ( -144 -80 0 ) example/textures/retro/CRATE_1L 22 0 0 0.75 1 +( -160 64 176 ) ( -160 64 0 ) ( -144 80 0 ) example/textures/retro/CRATE_1L 42 0 0 0.75 1 +( -144 -80 0 ) ( -144 80 0 ) ( -160 64 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( -144 -80 176 ) ( -144 80 176 ) ( -144 80 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 84 +{ +( 0 160 176 ) ( 0 144 176 ) ( 0 144 64 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 0 144 176 ) ( 64 144 176 ) ( 64 144 64 ) trenchfold/unused 0 0 0 1 1 +( 64 144 64 ) ( 64 160 64 ) ( 0 160 64 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 64 160 64 ) ( 64 160 176 ) ( 0 160 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 64 144 176 ) ( 64 160 176 ) ( 64 160 64 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 85 +{ +( 64 160 176 ) ( 64 144 176 ) ( 64 144 0 ) example/textures/retro/SUPPORT_2C 0 0 0 1 1 +( 64 144 176 ) ( 121 144 176 ) ( 121 144 0 ) example/textures/retro/TECH_0A 0 0 0 1 1 +( 64 144 0 ) ( 121 144 0 ) ( 105 160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 105 160 0 ) ( 105 160 176 ) ( 64 160 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 105 160 176 ) ( 105 160 0 ) ( 121 144 0 ) example/textures/retro/CRATE_1L -12.262604 0 0 1 1 +} +// brush 86 +{ +( 105 160 176 ) ( 208 57 176 ) ( 208 57 0 ) trenchfold/unused 0 0 0 1 1 +( 208 57 0 ) ( 208 80 0 ) ( 128 160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 128 160 176 ) ( 105 160 176 ) ( 105 160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 208 80 0 ) ( 208 80 176 ) ( 128 160 176 ) example/textures/retro/CRATE_1L 42 0 0 0.75 1 +( 208 57 176 ) ( 208 80 176 ) ( 208 80 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 87 +{ +( 208 80 176 ) ( 208 -80 176 ) ( 208 -80 0 ) trenchfold/unused 0 0 0 1 1 +( 224 -64 0 ) ( 224 64 0 ) ( 208 80 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 208 -80 176 ) ( 224 -64 176 ) ( 224 -64 0 ) example/textures/retro/CRATE_1L 22 0 0 0.75 1 +( 224 64 0 ) ( 224 64 176 ) ( 208 80 176 ) example/textures/retro/CRATE_1L 42 0 0 0.75 1 +( 224 -64 176 ) ( 224 64 176 ) ( 224 64 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 88 +{ +( 208 -57 0 ) ( 208 -57 176 ) ( 105 -160 176 ) trenchfold/unused 0 0 0 1 1 +( 128 -160 0 ) ( 105 -160 0 ) ( 105 -160 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 208 -80 0 ) ( 208 -57 0 ) ( 105 -160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 128 -160 176 ) ( 208 -80 176 ) ( 208 -80 0 ) example/textures/retro/CRATE_1L 22 0 0 0.75 1 +( 208 -80 176 ) ( 208 -57 176 ) ( 208 -57 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 89 +{ +( -41 -160 0 ) ( -57 -144 0 ) ( -57 -144 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -41 -160 176 ) ( 105 -160 176 ) ( 105 -160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 105 -160 0 ) ( 121 -144 0 ) ( -57 -144 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 121 -144 0 ) ( 121 -144 176 ) ( -57 -144 176 ) trenchfold/unused 0 0 0 1 1 +( 105 -160 176 ) ( 121 -144 176 ) ( 121 -144 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 90 +{ +( -144 -57 176 ) ( -144 -80 176 ) ( -144 -80 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -144 -80 176 ) ( -64 -160 176 ) ( -64 -160 0 ) example/textures/retro/CRATE_1L 22 0 0 0.75 1 +( -64 -160 176 ) ( -41 -160 176 ) ( -41 -160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -64 -160 0 ) ( -41 -160 0 ) ( -144 -57 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 32 112 128 ) ( 160 112 128 ) example/textures/retro/WARN_1 0 0 165 1 1 +( -41 -160 0 ) ( -41 -160 176 ) ( -144 -57 176 ) trenchfold/unused 0 0 0 1 1 +} +// brush 91 +{ +( -41 160 176 ) ( -57 144 176 ) ( -57 144 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -57 144 176 ) ( 0 144 176 ) ( 0 144 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -41 160 176 ) ( 0 160 176 ) ( 0 144 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 0 160 0 ) ( 0 160 176 ) ( -41 160 176 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 0 144 176 ) ( 0 160 176 ) ( 0 160 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 92 +{ +( -144 80 176 ) ( -144 57 176 ) ( -144 57 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -64 160 0 ) ( -64 160 176 ) ( -144 80 176 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -64 160 176 ) ( -41 160 176 ) ( -144 57 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( -41 160 0 ) ( -41 160 176 ) ( -64 160 176 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( -144 57 176 ) ( -41 160 176 ) ( -41 160 0 ) example/textures/retro/CRATE_1L -9 0 0 1 1 +} +// brush 93 +{ +( -160 64 176 ) ( -160 -64 176 ) ( -160 -64 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( -160 -64 176 ) ( -144 -80 176 ) ( -144 -80 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( -160 64 176 ) ( -160 64 0 ) ( -144 80 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -160 64 176 ) ( -144 80 176 ) ( -144 -80 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( -144 -80 176 ) ( -144 80 176 ) ( -144 80 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 94 +{ +( 0 160 176 ) ( 0 144 176 ) ( 0 144 64 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 0 144 176 ) ( 64 144 176 ) ( 64 144 64 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 0 160 176 ) ( 64 160 176 ) ( 64 144 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 64 160 64 ) ( 64 160 176 ) ( 0 160 176 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 64 144 176 ) ( 64 160 176 ) ( 64 160 64 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 95 +{ +( 64 160 176 ) ( 64 144 176 ) ( 64 144 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 64 144 176 ) ( 121 144 176 ) ( 121 144 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 105 160 176 ) ( 121 144 176 ) ( 64 144 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 105 160 0 ) ( 105 160 176 ) ( 64 160 176 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 105 160 176 ) ( 105 160 0 ) ( 121 144 0 ) example/textures/retro/CRATE_1L -12.262604 0 0 1 1 +} +// brush 96 +{ +( 105 160 176 ) ( 208 57 176 ) ( 208 57 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 128 160 176 ) ( 208 80 176 ) ( 208 57 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 128 160 176 ) ( 105 160 176 ) ( 105 160 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 208 80 0 ) ( 208 80 176 ) ( 128 160 176 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 208 57 176 ) ( 208 80 176 ) ( 208 80 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 97 +{ +( 208 80 176 ) ( 208 -80 176 ) ( 208 -80 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 208 80 176 ) ( 224 64 176 ) ( 224 -64 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 208 -80 176 ) ( 224 -64 176 ) ( 224 -64 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 224 64 0 ) ( 224 64 176 ) ( 208 80 176 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 224 -64 176 ) ( 224 64 176 ) ( 224 64 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +} +// brush 98 +{ +( 208 -57 0 ) ( 208 -57 176 ) ( 105 -160 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 128 -160 0 ) ( 105 -160 0 ) ( 105 -160 176 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 105 -160 176 ) ( 208 -57 176 ) ( 208 -80 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 128 -160 176 ) ( 208 -80 176 ) ( 208 -80 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 208 -80 176 ) ( 208 -57 176 ) ( 208 -57 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 99 +{ +( -41 -160 0 ) ( -57 -144 0 ) ( -57 -144 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -41 -160 176 ) ( 105 -160 176 ) ( 105 -160 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -57 -144 176 ) ( 121 -144 176 ) ( 105 -160 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( 121 -144 0 ) ( 121 -144 176 ) ( -57 -144 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( 105 -160 176 ) ( 121 -144 176 ) ( 121 -144 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 100 +{ +( -144 -57 176 ) ( -144 -80 176 ) ( -144 -80 0 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -144 -80 176 ) ( -64 -160 176 ) ( -64 -160 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( -64 -160 176 ) ( -41 -160 176 ) ( -41 -160 0 ) example/textures/retro/SUPPORT_1A 0 -16 0 1 1 +( 32 -128 128 ) ( 160 112 128 ) ( 32 112 128 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +( -144 -57 176 ) ( -41 -160 176 ) ( -64 -160 176 ) example/textures/retro/WARN_1 0 0 165 1 1 +( -41 -160 0 ) ( -41 -160 176 ) ( -144 -57 176 ) example/textures/retro/CRATE_1L 0 0 0 1 1 +} +// brush 101 +{ +( -80 64 0 ) ( -80 65 0 ) ( -80 64 1 ) trenchfold/unused 0 0 0 1 1 +( -64 64 0 ) ( -64 64 1 ) ( -63 64 0 ) example/textures/retro/TECH_1C 0 0 0 1 1 +( -64 64 0 ) ( -63 64 0 ) ( -64 65 0 ) example/textures/retro/TECH_1C 0 0 0 1 1 +( 0 144 64 ) ( 0 145 64 ) ( 1 144 64 ) example/textures/retro/TECH_1C 0 0 0 1 1 +( 0 144 16 ) ( 1 144 16 ) ( 0 144 17 ) example/textures/retro/TECH_1C 0 0 0 1 1 +( -16 144 16 ) ( -16 144 17 ) ( -16 145 16 ) example/textures/retro/TECH_0A 0 0 0 1 1 +} +// brush 102 +{ +( -128 0 0 ) ( -128 1 0 ) ( -128 0 1 ) trenchfold/unused 0 0 0 1 1 +( -144 0 0 ) ( -144 0 1 ) ( -143 0 0 ) example/textures/retro/SUPPORT_2B 0 0 0 1 1 +( -144 0 0 ) ( -143 0 0 ) ( -144 1 0 ) example/textures/retro/SUPPORT_2B 0 0 0 1 1 +( -80 64 64 ) ( -80 65 64 ) ( -79 64 64 ) example/textures/retro/SUPPORT_2B 0 0 0 1 1 +( -80 64 16 ) ( -79 64 16 ) ( -80 64 17 ) trenchfold/unused 0 0 0 1 1 +( -96 64 16 ) ( -96 64 17 ) ( -96 65 16 ) example/textures/retro/SUPPORT_2B 0 0 0 1 1 +} +// brush 103 +{ +( -144 0 0 ) ( -144 1 0 ) ( -144 0 1 ) example/textures/retro/SUPPORT_1A 0 0 0 1 1 +( -144 0 0 ) ( -144 0 1 ) ( -143 0 0 ) example/textures/retro/SUPPORT_1A 0 0 0 1 1 +( -144 0 0 ) ( -143 0 0 ) ( -144 1 0 ) example/textures/retro/SUPPORT_1A 0 0 0 1 1 +( -128 16 64 ) ( -128 17 64 ) ( -127 16 64 ) example/textures/retro/SUPPORT_1A 0 0 0 1 1 +( -128 16 16 ) ( -127 16 16 ) ( -128 16 17 ) trenchfold/unused 0 0 0 1 1 +( -128 16 16 ) ( -128 16 17 ) ( -128 17 16 ) example/textures/retro/SUPPORT_1A 0 0 0 1 1 +} +// brush 104 +{ +( -144 -64 80 ) ( -144 -63 80 ) ( -144 -64 81 ) example/textures/retro/TECH_4B 0 16 0 1 1 +( -144 -64 80 ) ( -144 -64 81 ) ( -143 -64 80 ) example/textures/retro/TECH_4B 0 16 0 1 1 +( -144 -64 80 ) ( -143 -64 80 ) ( -144 -63 80 ) example/textures/retro/TECH_4B 0 16 0 1 1 +( -128 64 144 ) ( -128 65 144 ) ( -127 64 144 ) trenchfold/unused 0 16 0 1 1 +( -128 64 96 ) ( -127 64 96 ) ( -128 64 97 ) trenchfold/unused 0 16 0 1 1 +( -128 64 96 ) ( -128 64 97 ) ( -128 65 96 ) example/textures/retro/TECH_4B 0 16 0 1 1 +} +// brush 105 +{ +( 80 144 64 ) ( 80 32 64 ) ( 80 32 0 ) example/textures/retro/TECH_0A 0 0 0 1 1 +( 80 48 32 ) ( 96 32 160 ) ( 96 32 32 ) example/textures/retro/TECH_3D 32 0 0 1 1 +( 80 32 64 ) ( 112 32 64 ) ( 112 32 0 ) example/textures/retro/TECH_3D 48 0 0 1 1 +( 112 32 0 ) ( 112 144 0 ) ( 80 144 0 ) example/textures/retro/TECH_0A 48 0 0 1 1 +( 80 144 64 ) ( 112 144 64 ) ( 112 32 64 ) trenchfold/unused 48 0 0 1 1 +( 112 144 0 ) ( 112 144 64 ) ( 80 144 64 ) example/textures/retro/TECH_0A 48 0 0 1 1 +( 112 32 64 ) ( 112 144 64 ) ( 112 144 0 ) trenchfold/unused 0 0 0 1 1 +} +// brush 106 +{ +( 32 64 144 ) ( 32 0 144 ) ( 32 0 80 ) example/textures/retro/TECH_1A 0 16 0 1 1 +( 32 0 112 ) ( 48 -16 240 ) ( 48 -16 112 ) example/textures/retro/TECH_0A 0 16 0 1 1 +( 32 -16 144 ) ( 208 -16 144 ) ( 208 -16 80 ) example/textures/retro/TECH_0A 0 16 0 1 1 +( 208 0 80 ) ( 208 64 80 ) ( 32 64 80 ) example/textures/retro/TECH_0A 0 16 0 1 1 +( 32 64 144 ) ( 208 64 144 ) ( 208 0 144 ) example/textures/retro/TECH_0A 0 16 0 1 1 +( 208 64 80 ) ( 208 64 144 ) ( 32 64 144 ) trenchfold/unused 0 16 0 1 1 +( 208 0 144 ) ( 208 64 144 ) ( 208 64 80 ) example/textures/retro/TECH_0A 0 16 0 1 1 +} +// brush 107 +{ +( -144 57 160 ) ( -144 -64 160 ) ( -144 -64 144 ) example/textures/retro/SUPPORT_1A 0 -32 0 1 1 +( -57 144 144 ) ( -57 144 160 ) ( -144 57 160 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -144 -64 160 ) ( -57 -144 160 ) ( -57 -144 144 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( 48 -144 144 ) ( 48 144 144 ) ( -57 144 144 ) example/textures/retro/SUPPORT_4D 0 0 0 1 1 +( -57 144 160 ) ( 48 144 160 ) ( 48 -144 160 ) example/textures/retro/STEEL_2A 0 0 0 1 1 +( -96 80 160 ) ( -96 -16 160 ) ( -96 -16 288 ) trenchfold/unused 0 -32 0 1 1 +} +// brush 108 +{ +( -96 80 160 ) ( -96 -16 288 ) ( -96 -16 160 ) example/textures/retro/SUPPORT_1A 0 -32 0 1 1 +( -57 144 144 ) ( -57 144 160 ) ( -144 57 160 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -144 -64 160 ) ( -57 -144 160 ) ( -57 -144 144 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( -57 -144 160 ) ( 48 -144 160 ) ( 48 -144 144 ) example/textures/retro/STEEL_1A 0 0 0 1 1 +( 48 -144 144 ) ( 48 144 144 ) ( -57 144 144 ) example/textures/retro/SUPPORT_2D 0 0 0 1 1 +( -57 144 160 ) ( 48 144 160 ) ( 48 -144 160 ) example/textures/retro/STEEL_2A 0 0 0 1 1 +( 48 144 144 ) ( 48 144 160 ) ( -57 144 160 ) example/textures/retro/STEEL_1A 0 -32 0 1 1 +( 48 -144 160 ) ( 48 144 160 ) ( 48 144 144 ) example/textures/retro/FLOOR_2A 0 -32 0 1 1 +} +// brush 109 +{ +( 292.1870719526514 250.45328355484548 -48 ) ( 300.94975474337417 248.66013261050932 10 ) ( 314.90740080752875 212.02430156564583 -48 ) example/textures/retro/CONCRETE_1B 24 0 0 1 1 1 0 0 +( 292.1870719526514 250.45328355484548 -48 ) ( 324.2560743473654 274.5752895547319 -48 ) ( 300.94975474337417 248.66013261050932 10 ) example/textures/retro/CONCRETE_1B -36.780487 0 0 1 1 1 0 0 +( 300.94975474337417 248.66013261050932 10 ) ( 322.73634338332016 236.89813637544066 10 ) ( 314.90740080752875 212.02430156564583 -48 ) example/textures/retro/CONCRETE_1B -48.74521 0 0 1 1 1 0 0 +( 300.94975474337417 248.66013261050932 10 ) ( 324.2560743473654 274.5752895547319 -48 ) ( 341.77745849261754 258.56460667852616 10 ) example/textures/retro/CONCRETE_1B -30 0 0 1 1 1 0 0 +( 324.2560743473654 274.5752895547319 -48 ) ( 356.43723220655346 281.1276524537798 -48 ) ( 341.77745849261754 258.56460667852616 10 ) example/textures/retro/CONCRETE_1B -30 0 0 1 1 1 0 0 +( 314.90740080752875 212.02430156564583 -48 ) ( 322.73634338332016 236.89813637544066 10 ) ( 358.9452040109046 209.33032884468986 -48 ) example/textures/retro/CONCRETE_1B -30 0 0 1 1 1 0 0 +( 370.3671000103623 252.32289789818498 -48 ) ( 314.90740080752875 212.02430156564583 -48 ) ( 358.9452040109046 209.33032884468986 -48 ) example/textures/retro/CONCRETE_1B 24 30 0 1 1 1 0 0 +( 300.94975474337417 248.66013261050932 -6 ) ( 351.56622157477415 245.21466534360042 -6 ) ( 322.73634338332016 236.89813637544066 -6 ) example/textures/retro/CONCRETE_1B 24 30 0 1 1 1 0 0 +( 322.73634338332016 236.89813637544066 10 ) ( 351.56622157477415 245.21466534360042 10 ) ( 358.9452040109046 209.33032884468986 -48 ) example/textures/retro/CONCRETE_1B -30 0 0 1 1 1 0 0 +( 341.77745849261754 258.56460667852616 10 ) ( 356.43723220655346 281.1276524537798 -48 ) ( 351.56622157477415 245.21466534360042 10 ) example/textures/retro/CONCRETE_1B 48.173798 0 0 1 1 1 0 0 +( 356.43723220655346 281.1276524537798 -48 ) ( 370.3671000103623 252.32289789818498 -48 ) ( 351.56622157477415 245.21466534360042 10 ) example/textures/retro/CONCRETE_1B 24 0 0 1 1 1 0 0 +( 351.56622157477415 245.21466534360042 10 ) ( 370.3671000103623 252.32289789818498 -48 ) ( 358.9452040109046 209.33032884468986 -48 ) example/textures/retro/CONCRETE_1B 24 0 0 1 1 1 0 0 +} +// brush 110 +{ +( 273.76782045813815 265.61613525922746 -48 ) ( 272.42803332872796 290.1994706670745 -48 ) ( 279.34276483439794 285.65868870598473 -38.207214709032215 ) example/textures/retro/CONCRETE_1B -42.400085 0 0 0.6578947 1 1 0 0 +( 279.34276483439794 285.65868870598473 -38.207214709032215 ) ( 272.42803332872796 290.1994706670745 -48 ) ( 290.6470882553307 300.6921903916876 -36.03104019992754 ) example/textures/retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 +( 290.6470882553307 300.6921903916876 -36.03104019992754 ) ( 272.42803332872796 290.1994706670745 -48 ) ( 294.3039912395963 312.45297296889936 -48 ) example/textures/retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 +( 285.1150065425036 271.876555738622 -40.38338921813616 ) ( 273.76782045813815 265.61613525922746 -48 ) ( 279.34276483439794 285.65868870598473 -38.207214709032215 ) example/textures/retro/CONCRETE_1B 58.780792 12.947327 0 0.6578947 1 1 0 0 +( 307.84835794768 285.5277420199881 -36.03104019992754 ) ( 279.34276483439794 285.65868870598473 -38.207214709032215 ) ( 290.6470882553307 300.6921903916876 -36.03104019992754 ) example/textures/retro/CONCRETE_1B -23.885712 42.400024 0 0.97222227 0.6578947 1 0 0 +( 285.1150065425036 271.876555738622 -40.38338921813616 ) ( 279.34276483439794 285.65868870598473 -38.207214709032215 ) ( 307.84835794768 285.5277420199881 -36.03104019992754 ) example/textures/retro/CONCRETE_1B -23.885712 42.400024 0 0.97222227 0.6578947 1 0 0 +( 294.3039912395963 312.45297296889936 -48 ) ( 272.42803332872796 290.1994706670745 -48 ) ( 273.76782045813815 265.61613525922746 -48 ) example/textures/retro/CONCRETE_1B -23.885712 42.400024 0 0.97222227 0.6578947 1 0 0 +( 300.7355662198653 270.5291541226669 -48 ) ( 273.76782045813815 265.61613525922746 -48 ) ( 285.1150065425036 271.876555738622 -40.38338921813616 ) example/textures/retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 +( 300.7355662198653 270.5291541226669 -48 ) ( 285.1150065425036 271.876555738622 -40.38338921813616 ) ( 307.84835794768 285.5277420199881 -36.03104019992754 ) example/textures/retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 +( 311.1719931088824 301.2906252039988 -48 ) ( 290.6470882553307 300.6921903916876 -36.03104019992754 ) ( 294.3039912395963 312.45297296889936 -48 ) example/textures/retro/CONCRETE_1B -49.180603 0 0 0.6578947 1 1 0 0 +( 307.84835794768 285.5277420199881 -36.03104019992754 ) ( 290.6470882553307 300.6921903916876 -36.03104019992754 ) ( 311.1719931088824 301.2906252039988 -48 ) example/textures/retro/CONCRETE_1B -49.180603 48.518036 0 0.6578947 1 1 0 0 +( 317.3427473090497 285.52774201998824 -48 ) ( 300.7355662198653 270.5291541226669 -48 ) ( 307.84835794768 285.5277420199881 -36.03104019992754 ) example/textures/retro/CONCRETE_1B -23.885681 0 0 0.97222227 1 1 0 0 +( 311.1719931088824 301.2906252039988 -48 ) ( 317.3427473090497 285.52774201998824 -48 ) ( 307.84835794768 285.5277420199881 -36.03104019992754 ) example/textures/retro/CONCRETE_1B -42.400085 0 0 0.6578947 1 1 0 0 +} +// brush 111 +{ +( -80 -64 160 ) ( -80 -63 160 ) ( -80 -64 161 ) example/textures/retro/GRID_1A 0 0 0 1 1 +( -80 -32 160 ) ( -80 -32 161 ) ( -79 -32 160 ) example/textures/retro/GRID_1A -16 0 0 1 1 +( -80 -64 160 ) ( -79 -64 160 ) ( -80 -63 160 ) example/textures/retro/GRID_1A -16 0 0 1 1 +( -48 48 192 ) ( -48 49 192 ) ( -47 48 192 ) example/textures/retro/GRID_1A -16 0 0 1 1 2 0 0 +( -48 32 176 ) ( -47 32 176 ) ( -48 32 177 ) example/textures/retro/GRID_1A -16 0 0 1 1 +( -48 48 176 ) ( -48 48 177 ) ( -48 49 176 ) example/textures/retro/GRID_1A 0 0 0 1 1 +} +// brush 112 +{ +( -224 320 -688 ) ( -224 320 -687 ) ( -224 319 -688 ) example/textures/retro/FLOOR_1A 48 -32 179.99998 1 -1 +( -160 272 -672 ) ( -160 272 -671 ) ( -159 272 -672 ) example/textures/retro/FLOOR_1A 0 -32 0 1 1 +( -224 320 -688 ) ( -224 319 -688 ) ( -223 320 -688 ) example/textures/retro/FLOOR_1A 48 0 270 1 1 +( -160 272 -672 ) ( -159 272 -672 ) ( -160 271 -672 ) example/textures/retro/FLOOR_1A 48 0 270 1 1 +( -224 432 -688 ) ( -223 432 -688 ) ( -224 432 -687 ) example/textures/retro/FLOOR_1A 0 -32 0 1 1 +( -160 272 -672 ) ( -160 271 -672 ) ( -160 272 -671 ) example/textures/retro/FLOOR_1A 48 -32 179.99998 1 -1 +} +// brush 113 +{ +( -384 432 -688 ) ( -384 432 -687 ) ( -384 431 -688 ) example/textures/retro/FLOOR_1A 48 -32 179.99998 1 -1 +( -256 368 -672 ) ( -256 368 -671 ) ( -255 368 -672 ) example/textures/retro/FLOOR_1A 32 -32 0 1 1 +( -272 432 -688 ) ( -272 431 -688 ) ( -271 432 -688 ) example/textures/retro/FLOOR_1A 48 -32 270 1 1 +( -256 368 -672 ) ( -255 368 -672 ) ( -256 367 -672 ) example/textures/retro/FLOOR_1A 48 -32 270 1 1 +( -272 432 -688 ) ( -271 432 -688 ) ( -272 432 -687 ) example/textures/retro/FLOOR_1A 32 -32 0 1 1 +( -224 368 -672 ) ( -224 367 -672 ) ( -224 368 -671 ) example/textures/retro/FLOOR_1A 48 -32 179.99998 1 -1 +} +// brush 114 +{ +( -384 448 -688 ) ( -384 448 -687 ) ( -384 447 -688 ) example/textures/retro/FLOOR_1A 48 -32 179.99998 1 -1 +( -320 432 -672 ) ( -320 432 -671 ) ( -319 432 -672 ) example/textures/retro/FLOOR_1A 32 -32 0 1 1 +( -384 448 -688 ) ( -384 447 -688 ) ( -383 448 -688 ) example/textures/retro/FLOOR_1A 48 -32 270 1 1 +( -320 432 -672 ) ( -319 432 -672 ) ( -320 431 -672 ) example/textures/retro/FLOOR_1A 48 -32 270 1 1 +( -384 560 -688 ) ( -383 560 -688 ) ( -384 560 -687 ) example/textures/retro/FLOOR_1A 32 -32 0 1 1 +( -320 432 -672 ) ( -320 431 -672 ) ( -320 432 -671 ) example/textures/retro/FLOOR_1A 48 -32 179.99998 1 -1 +} +// brush 115 +{ +( -288 432 -672 ) ( -288 432 -671 ) ( -288 431 -672 ) example/textures/retro/DOOR_1C 48 -32 179.99998 1 -1 +( -272 368 -656 ) ( -272 368 -655 ) ( -271 368 -656 ) example/textures/retro/DOOR_1C 16 -32 0 1 1 +( -288 432 -672 ) ( -288 431 -672 ) ( -287 432 -672 ) example/textures/retro/DOOR_1C 48 -16 270 1 1 +( -272 368 -608 ) ( -271 368 -608 ) ( -272 367 -608 ) example/textures/retro/DOOR_1C 48 -16 270 1 1 +( -288 432 -672 ) ( -287 432 -672 ) ( -288 432 -671 ) example/textures/retro/DOOR_1C 16 -32 0 1 1 +( -272 368 -656 ) ( -272 367 -656 ) ( -272 368 -655 ) example/textures/retro/DOOR_1C 48 -32 179.99998 1 -1 +} +// brush 116 +{ +( -384 496 -672 ) ( -384 496 -671 ) ( -384 495 -672 ) example/textures/retro/CRATE_1E 0 -32 179.99998 1 -1 +( -352 448 -656 ) ( -352 448 -655 ) ( -351 448 -656 ) example/textures/retro/CRATE_1E 32 -32 0 1 1 +( -384 496 -672 ) ( -384 495 -672 ) ( -383 496 -672 ) example/textures/retro/CRATE_1E 0 -32 270 1 1 +( -352 448 -640 ) ( -351 448 -640 ) ( -352 447 -640 ) example/textures/retro/CRATE_1E 0 -32 270 1 1 +( -384 480 -672 ) ( -383 480 -672 ) ( -384 480 -671 ) example/textures/retro/CRATE_1E 32 -32 0 1 1 +( -352 448 -656 ) ( -352 447 -656 ) ( -352 448 -655 ) example/textures/retro/CRATE_1E 0 -32 179.99998 1 -1 +} +// brush 117 +{ +( -384 512 -656 ) ( -384 511 -656 ) ( -384 512 -657 ) example/textures/retro/CRATE_1G 48 48 179.99998 1 1 +( -368 480 -672 ) ( -367 480 -672 ) ( -368 480 -673 ) example/textures/retro/CRATE_1G -48 0 270 1 1 +( -368 480 -672 ) ( -368 479 -672 ) ( -367 480 -672 ) example/textures/retro/CRATE_1G 48 0 270 1 1 +( -384 512 -656 ) ( -383 512 -656 ) ( -384 511 -656 ) example/textures/retro/CRATE_1G 48 0 270 1 1 +( -384 496 -656 ) ( -384 496 -657 ) ( -383 496 -656 ) example/textures/retro/CRATE_1G -48 0 270 1 1 +( -368 480 -672 ) ( -368 480 -673 ) ( -368 479 -672 ) example/textures/retro/CRATE_1G 48 48 179.99998 1 1 +} +// brush 118 +{ +( -240 352 -608 ) ( -240 272 -608 ) ( -240 272 -672 ) trenchfold/unused 0 0 179.99998 1 -1 +( -240 352 -672 ) ( -224 368 -672 ) ( -224 368 -608 ) trenchfold/unused 0 0 0 1 1 +( -240 272 -608 ) ( -224 272 -608 ) ( -224 272 -672 ) trenchfold/unused 0 0 0 1 1 +( -240 272 -672 ) ( -224 272 -672 ) ( -224 368 -672 ) trenchfold/unused 0 0 270 1 1 +( -224 368 -608 ) ( -224 272 -608 ) ( -240 272 -608 ) trenchfold/unused 0 0 270 1 1 +( -224 272 -672 ) ( -224 272 -608 ) ( -224 368 -608 ) example/textures/retro/TECH_1A 48 -32 179.99998 1 -1 +} +// brush 119 +{ +( -384 368 -608 ) ( -400 352 -608 ) ( -400 352 -672 ) trenchfold/unused 0 0 0 1 1 +( -400 352 -608 ) ( -240 352 -608 ) ( -240 352 -672 ) trenchfold/unused 0 0 0 1 1 +( -400 352 -672 ) ( -240 352 -672 ) ( -224 368 -672 ) trenchfold/unused 0 0 270 1 1 +( -224 368 -608 ) ( -240 352 -608 ) ( -400 352 -608 ) trenchfold/unused 0 0 270 1 1 +( -224 368 -608 ) ( -384 368 -608 ) ( -384 368 -672 ) example/textures/retro/TECH_1A 32 -32 0 1 1 +( -240 352 -672 ) ( -240 352 -608 ) ( -224 368 -608 ) trenchfold/unused 0 0 0 1 1 +} +// brush 120 +{ +( -400 560 -608 ) ( -400 352 -608 ) ( -400 352 -672 ) trenchfold/unused 0 0 179.99998 1 -1 +( -400 560 -672 ) ( -400 352 -672 ) ( -384 368 -672 ) trenchfold/unused 0 0 270 1 1 +( -384 368 -608 ) ( -400 352 -608 ) ( -400 560 -608 ) trenchfold/unused 0 0 270 1 1 +( -384 560 -608 ) ( -400 560 -608 ) ( -400 560 -672 ) trenchfold/unused 0 0 0 1 1 +( -400 352 -672 ) ( -400 352 -608 ) ( -384 368 -608 ) trenchfold/unused 0 0 0 1 1 +( -384 368 -672 ) ( -384 368 -608 ) ( -384 560 -608 ) example/textures/retro/TECH_1A 16 -32 179.99998 1 -1 +} +} +// entity 1 +{ +"classname" "trigger" +"#door.target_url" "main_door" +"#door" "/example/door.script" +"#door.direction" "0 1.95 0" +"physics_mask" "walker" +"id" "door_trigger" +// brush 0 +{ +( 0 176 64 ) ( 0 160 64 ) ( 0 160 0 ) trenchfold/trigger 0 0 0 1 1 +( 0 128 64 ) ( 64 128 64 ) ( 64 128 0 ) trenchfold/trigger 0 0 0 1 1 +( 64 160 0 ) ( 64 176 0 ) ( 0 176 0 ) trenchfold/trigger 0 0 0 1 1 +( 0 176 64 ) ( 64 176 64 ) ( 64 160 64 ) trenchfold/trigger 0 0 0 1 1 +( 64 176 0 ) ( 64 176 64 ) ( 0 176 64 ) trenchfold/trigger 0 0 0 1 1 +( 64 160 64 ) ( 64 176 64 ) ( 64 176 0 ) trenchfold/trigger 0 0 0 1 1 +} +} +// entity 2 +{ +"classname" "kinematic" +"id" "main_door" +// brush 0 +{ +( 0 152 64 ) ( 0 150 64 ) ( 0 150 0 ) example/textures/retro/DOOR_2D 0 0 0 1 1 +( 0 146 64 ) ( 64 146 64 ) ( 64 146 0 ) example/textures/retro/DOOR_2D 0 0 0 1 1 +( 64 150 0 ) ( 64 152 0 ) ( 0 152 0 ) example/textures/retro/DOOR_2D 0 0 0 1 1 +( 0 152 64 ) ( 64 152 64 ) ( 64 150 64 ) example/textures/retro/DOOR_2D 0 0 0 1 1 +( 64 158 0 ) ( 64 158 64 ) ( 0 158 64 ) example/textures/retro/DOOR_2D 0 0 0 1 1 +( 64 150 64 ) ( 64 152 64 ) ( 64 152 0 ) example/textures/retro/DOOR_2D 0 0 0 1 1 +} +} +// entity 3 +{ +"classname" "kinematic" +"#boat" "/example/boat.script" +"id" "boat" +// brush 0 +{ +( -8 524 -36 ) ( -8 484 -36 ) ( -8 484 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 484 -36 ) ( 4 484 -44 ) ( -8 484 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 4 484 -44 ) ( 4 524 -44 ) ( -8 524 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 524 -44 ) ( 4 524 -44 ) ( -8 524 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 524 -36 ) ( 4 524 -44 ) ( 4 484 -44 ) example/textures/retro/CRATE_2L 16 -64 0 1 0.75 1 0 0 +} +// brush 1 +{ +( 20 524 -40 ) ( 20 484 -40 ) ( 20 484 -44 ) example/textures/retro/CRATE_2L 2.3333335 88 0 0.75 1 1 0 0 +( 20 484 -40 ) ( 32 484 -40 ) ( 32 484 -44 ) example/textures/retro/CRATE_2L 24 64 0 1 0.75 1 0 0 +( 32 484 -44 ) ( 32 524 -44 ) ( 20 524 -44 ) example/textures/retro/CRATE_2L 24 64 0 1 0.75 1 0 0 +( 20 524 -40 ) ( 32 524 -40 ) ( 32 484 -40 ) example/textures/retro/CRATE_2L 24 64 0 1 0.75 1 0 0 +( 32 524 -44 ) ( 32 524 -40 ) ( 20 524 -40 ) example/textures/retro/CRATE_2L 24 64 0 1 0.75 1 0 0 +( 32 484 -40 ) ( 32 524 -40 ) ( 32 524 -44 ) example/textures/retro/CRATE_2L 65 32 0 0.75 1 1 0 0 +} +// brush 2 +{ +( -13 523 -49 ) ( -16 524 -44 ) ( -16 484 -44 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( -16 484 -44 ) ( -12 480 -44 ) ( -13 485 -49 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( -13 523 -49 ) ( -12 528 -44 ) ( -16 524 -44 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( -8 484 -52 ) ( -8 524 -52 ) ( -13 523 -49 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( -12 480 -44 ) ( -8 484 -52 ) ( -13 485 -49 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( -13 523 -49 ) ( -8 524 -52 ) ( -12 528 -44 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( 64 480 -44 ) ( 64 484 -52 ) ( -8 484 -52 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( 76 496 -52 ) ( 76 512 -52 ) ( 64 524 -52 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( 64 528 -44 ) ( 96 512 -44 ) ( 96 496 -44 ) example/textures/retro/CRATE_2L 64 -64 0 1 0.75 1 0 0 +( 64 524 -52 ) ( 64 528 -44 ) ( -12 528 -44 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( 64 484 -52 ) ( 96 496 -44 ) ( 76 496 -52 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( 76 512 -52 ) ( 96 512 -44 ) ( 64 524 -52 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( 96 496 -44 ) ( 96 512 -44 ) ( 76 512 -52 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( 64 480 -44 ) ( 96 496 -44 ) ( 64 484 -52 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +( 64 524 -52 ) ( 96 512 -44 ) ( 64 528 -44 ) example/textures/retro/CRATE_2L 64 -16 0 1 1 1 0 0 +} +// brush 3 +{ +( 64 528 -44 ) ( 60 528 -36 ) ( 60 480 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 96 496 -44 ) ( 96 512 -44 ) ( 64 528 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 60 528 -36 ) ( 96 512 -36 ) ( 96 496 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 60 480 -36 ) ( 96 496 -36 ) ( 64 480 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 64 528 -44 ) ( 96 512 -36 ) ( 60 528 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 64 480 -44 ) ( 96 496 -36 ) ( 96 496 -44 ) example/textures/retro/CRATE_2L 13 -44 0 1 1 1 0 0 +( 96 512 -44 ) ( 96 512 -36 ) ( 64 528 -44 ) example/textures/retro/CRATE_2L -2 -44 0 1 1 1 0 0 +( 96 496 -36 ) ( 96 512 -36 ) ( 96 512 -44 ) example/textures/retro/CRATE_2L 46 20 0 1 1 1 0 0 +} +// brush 4 +{ +( -16 524 -36 ) ( -16 484 -36 ) ( -16 484 -44 ) example/textures/retro/CONSOLE_1C 8 -53 0 1 1 1 0 0 +( -16 484 -36 ) ( -12 480 -36 ) ( -12 480 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -12 528 -44 ) ( -12 528 -36 ) ( -16 524 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -12 480 -36 ) ( -8 480 -36 ) ( -8 480 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 480 -44 ) ( -8 528 -44 ) ( -12 528 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -12 528 -36 ) ( -8 528 -36 ) ( -8 480 -36 ) example/textures/retro/CRATE_2L 16 0 0 1 0.75 1 0 0 +( -8 528 -44 ) ( -8 528 -36 ) ( -12 528 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 480 -36 ) ( -8 528 -36 ) ( -8 528 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +} +// brush 5 +{ +( -8 484 -36 ) ( -8 480 -36 ) ( -8 480 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 60 480 -36 ) ( 64 480 -44 ) ( -8 480 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 64 480 -44 ) ( 64 484 -44 ) ( -8 484 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 484 -36 ) ( 60 484 -36 ) ( 60 480 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 484 -44 ) ( 64 484 -44 ) ( 60 484 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 60 484 -36 ) ( 64 484 -44 ) ( 64 480 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +} +// brush 6 +{ +( -8 528 -36 ) ( -8 524 -36 ) ( -8 524 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 60 524 -36 ) ( 64 524 -44 ) ( -8 524 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 64 524 -44 ) ( 64 528 -44 ) ( -8 528 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 528 -36 ) ( 60 528 -36 ) ( 60 524 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( -8 528 -44 ) ( 64 528 -44 ) ( 60 528 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 60 528 -36 ) ( 64 528 -44 ) ( 64 524 -44 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +} +// brush 7 +{ +( -24 480 -44 ) ( -24 481 -44 ) ( -24 480 -43 ) trenchfold/clip 0 0 0 1 1 +( -24 472 -44 ) ( -24 472 -43 ) ( -23 472 -44 ) trenchfold/clip 0 0 0 1 1 +( -24 480 -44 ) ( -23 480 -44 ) ( -24 481 -44 ) trenchfold/clip 0 0 0 1 1 +( -16 536 -36 ) ( -16 537 -36 ) ( -15 536 -36 ) trenchfold/clip 0 0 0 1 1 +( -16 536 -40 ) ( -15 536 -40 ) ( -16 536 -39 ) trenchfold/clip 0 0 0 1 1 +( 60 536 -40 ) ( 60 536 -39 ) ( 60 537 -40 ) trenchfold/clip 0 0 0 1 1 +} +// brush 8 +{ +( 64 492 -28 ) ( 60 480 -36 ) ( 60 528 -36 ) example/textures/retro/CONSOLE_1C 105 83.57143 0 1 1 1 0 0 +( 64 492 -28 ) ( 72 492 -28 ) ( 60 480 -36 ) example/textures/retro/CRATE_2L 54 2 0 1 1 1 0 0 +( 96 496 -36 ) ( 96 512 -36 ) ( 60 528 -36 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +( 64 516 -28 ) ( 72 516 -28 ) ( 72 492 -28 ) example/textures/retro/CRATE_2L -394 -557 0 1 1 1 0 0 +( 60 528 -36 ) ( 72 516 -28 ) ( 64 516 -28 ) example/textures/retro/CRATE_2L 54 -23.465454 0 1 0.9952226 1 0 0 +( 72 516 -28 ) ( 96 512 -36 ) ( 96 496 -36 ) example/textures/retro/CRATE_2L 5 21.571442 3.8146973e-05 1 1 1 0 0 +( 72 492 -28 ) ( 96 496 -36 ) ( 60 480 -36 ) example/textures/retro/CRATE_2L 18 -5 0 1 1 1 0 0 +( 60 528 -36 ) ( 96 512 -36 ) ( 72 516 -28 ) example/textures/retro/CRATE_2L 16 -16 0 1 1 1 0 0 +} +// brush 9 +{ +( 60 536 -36 ) ( 60 472 -36 ) ( 60 472 -48 ) trenchfold/clip 0 0 0 1 1 +( 60 536 -36 ) ( 72 536 -28 ) ( 72 472 -28 ) trenchfold/clip 0 0 0 1 1 +( 72 472 -28 ) ( 112 472 -32 ) ( 60 472 -48 ) trenchfold/clip 0 0 0 1 1 +( 60 536 -48 ) ( 112 536 -32 ) ( 72 536 -28 ) trenchfold/clip 0 0 0 1 1 +( 72 536 -28 ) ( 112 536 -32 ) ( 112 472 -32 ) trenchfold/clip 0 8 0 1 1 +( 112 472 -32 ) ( 112 536 -32 ) ( 60 536 -48 ) trenchfold/clip 0 0 0 1 1 +} +} +// entity 4 +{ +"classname" "dynamic" +"physics_trenchfold" "0" +"physics_mask" "walker, default" +"physics_linear_damping" "0.9" +"physics_friction" "0.5" +"physics_restitution" "0" +"physics_angular_damping" "0.9" +// brush 0 +{ +( 92.40408205773456 -115.31370849898474 160 ) ( 92.6629011028371 -114.34778267269564 160 ) ( 92.40408205773456 -115.31370849898474 161 ) example/textures/retro/CRATE_1E 56.510376 -32 0 0.9659258 1 +( 92.40408205773456 -115.31370849898474 160 ) ( 92.40408205773456 -115.31370849898474 161 ) ( 93.37000788402365 -115.57252754408725 160 ) example/textures/retro/CRATE_1E -31.66375 -32 0 0.9659258 1 +( 92.40408205773456 -115.31370849898474 160 ) ( 93.37000788402365 -115.57252754408725 160 ) ( 92.6629011028371 -114.34778267269564 160 ) example/textures/retro/CRATE_1E -55.100876 40.53145 345 1 1 +( 131.59591794226543 -92.68629150101523 192 ) ( 131.85473698736794 -91.72036567472617 192 ) ( 132.5618437685545 -92.94511054611777 192 ) example/textures/retro/CRATE_1E -55.100876 40.53145 345 1 1 +( 131.59591794226543 -92.68629150101523 176 ) ( 132.5618437685545 -92.94511054611777 176 ) ( 131.59591794226543 -92.68629150101523 177 ) example/textures/retro/CRATE_1E -40.23812 -32 0 0.9659258 1 +( 131.59591794226543 -92.68629150101523 176 ) ( 131.59591794226543 -92.68629150101523 177 ) ( 131.85473698736794 -91.72036567472617 176 ) example/textures/retro/CRATE_1E 1.0847397 0 0 0.9659258 1 +} +} +// entity 5 +{ +"classname" "trigger" +// brush 0 +{ +( -272 432 -672 ) ( -272 432 -671 ) ( -272 431 -672 ) trenchfold/trigger 0 0 179.99998 1 -1 +( -256 368 -656 ) ( -256 368 -655 ) ( -255 368 -656 ) trenchfold/trigger 0 0 0 1 1 +( -272 432 -672 ) ( -272 431 -672 ) ( -271 432 -672 ) trenchfold/trigger 0 0 270 1 1 +( -256 368 -608 ) ( -255 368 -608 ) ( -256 367 -608 ) trenchfold/trigger 0 0 270 1 1 +( -272 432 -672 ) ( -271 432 -672 ) ( -272 432 -671 ) trenchfold/trigger 0 0 0 1 1 +( -256 368 -656 ) ( -256 367 -656 ) ( -256 368 -655 ) trenchfold/trigger 0 0 179.99998 1 -1 +} +// brush 1 +{ +( -304 432 -672 ) ( -304 432 -671 ) ( -304 431 -672 ) trenchfold/trigger 0 0 179.99998 1 -1 +( -288 368 -656 ) ( -288 368 -655 ) ( -287 368 -656 ) trenchfold/trigger 0 0 0 1 1 +( -304 432 -672 ) ( -304 431 -672 ) ( -303 432 -672 ) trenchfold/trigger 0 0 270 1 1 +( -288 368 -608 ) ( -287 368 -608 ) ( -288 367 -608 ) trenchfold/trigger 0 0 270 1 1 +( -304 432 -672 ) ( -303 432 -672 ) ( -304 432 -671 ) trenchfold/trigger 0 0 0 1 1 +( -288 368 -656 ) ( -288 367 -656 ) ( -288 368 -655 ) trenchfold/trigger 0 0 179.99998 1 -1 +} +} diff --git a/materials/model.fp b/example/materials/model.fp similarity index 100% rename from materials/model.fp rename to example/materials/model.fp diff --git a/materials/model.material b/example/materials/model.material similarity index 100% rename from materials/model.material rename to example/materials/model.material diff --git a/materials/model.vp b/example/materials/model.vp similarity index 100% rename from materials/model.vp rename to example/materials/model.vp diff --git a/example/player.collection b/example/player.collection index 6428a1c..3a77da6 100644 --- a/example/player.collection +++ b/example/player.collection @@ -203,6 +203,7 @@ embedded_instances { " }\\n" " index: 0\\n" " count: 2\\n" + " id: \\\"\\\"\\n" " }\\n" " data: 0.25\\n" " data: 0.1\\n" @@ -251,6 +252,7 @@ embedded_instances { " }\\n" " index: 0\\n" " count: 2\\n" + " id: \\\"\\\"\\n" " }\\n" " data: 0.25\\n" " data: 0.8\\n" diff --git a/render/example.render b/example/render/example.render similarity index 100% rename from render/example.render rename to example/render/example.render diff --git a/render/example.render_script b/example/render/example.render_script similarity index 100% rename from render/example.render_script rename to example/render/example.render_script diff --git a/assets/textures/retro/CONCRETE_1A.png b/example/textures/retro/CONCRETE_1A.png similarity index 100% rename from assets/textures/retro/CONCRETE_1A.png rename to example/textures/retro/CONCRETE_1A.png diff --git a/assets/textures/retro/CONCRETE_1B.png b/example/textures/retro/CONCRETE_1B.png similarity index 100% rename from assets/textures/retro/CONCRETE_1B.png rename to example/textures/retro/CONCRETE_1B.png diff --git a/assets/textures/retro/CONCRETE_2A.png b/example/textures/retro/CONCRETE_2A.png similarity index 100% rename from assets/textures/retro/CONCRETE_2A.png rename to example/textures/retro/CONCRETE_2A.png diff --git a/assets/textures/retro/CONSOLE_1A.png b/example/textures/retro/CONSOLE_1A.png similarity index 100% rename from assets/textures/retro/CONSOLE_1A.png rename to example/textures/retro/CONSOLE_1A.png diff --git a/assets/textures/retro/CONSOLE_1C.png b/example/textures/retro/CONSOLE_1C.png similarity index 100% rename from assets/textures/retro/CONSOLE_1C.png rename to example/textures/retro/CONSOLE_1C.png diff --git a/assets/textures/retro/CONSOLE_1D.png b/example/textures/retro/CONSOLE_1D.png similarity index 100% rename from assets/textures/retro/CONSOLE_1D.png rename to example/textures/retro/CONSOLE_1D.png diff --git a/assets/textures/retro/CRATE_1E.png b/example/textures/retro/CRATE_1E.png similarity index 100% rename from assets/textures/retro/CRATE_1E.png rename to example/textures/retro/CRATE_1E.png diff --git a/assets/textures/retro/CRATE_1F.png b/example/textures/retro/CRATE_1F.png similarity index 100% rename from assets/textures/retro/CRATE_1F.png rename to example/textures/retro/CRATE_1F.png diff --git a/assets/textures/retro/CRATE_1G.png b/example/textures/retro/CRATE_1G.png similarity index 100% rename from assets/textures/retro/CRATE_1G.png rename to example/textures/retro/CRATE_1G.png diff --git a/assets/textures/retro/CRATE_1H.png b/example/textures/retro/CRATE_1H.png similarity index 100% rename from assets/textures/retro/CRATE_1H.png rename to example/textures/retro/CRATE_1H.png diff --git a/assets/textures/retro/CRATE_1L.png b/example/textures/retro/CRATE_1L.png similarity index 100% rename from assets/textures/retro/CRATE_1L.png rename to example/textures/retro/CRATE_1L.png diff --git a/assets/textures/retro/CRATE_2L.png b/example/textures/retro/CRATE_2L.png similarity index 100% rename from assets/textures/retro/CRATE_2L.png rename to example/textures/retro/CRATE_2L.png diff --git a/assets/textures/retro/DOOR_1C.png b/example/textures/retro/DOOR_1C.png similarity index 100% rename from assets/textures/retro/DOOR_1C.png rename to example/textures/retro/DOOR_1C.png diff --git a/assets/textures/retro/DOOR_1D.png b/example/textures/retro/DOOR_1D.png similarity index 100% rename from assets/textures/retro/DOOR_1D.png rename to example/textures/retro/DOOR_1D.png diff --git a/assets/textures/retro/DOOR_1F.png b/example/textures/retro/DOOR_1F.png similarity index 100% rename from assets/textures/retro/DOOR_1F.png rename to example/textures/retro/DOOR_1F.png diff --git a/assets/textures/retro/DOOR_2D.png b/example/textures/retro/DOOR_2D.png similarity index 100% rename from assets/textures/retro/DOOR_2D.png rename to example/textures/retro/DOOR_2D.png diff --git a/assets/textures/retro/FLOOR_1A.png b/example/textures/retro/FLOOR_1A.png similarity index 100% rename from assets/textures/retro/FLOOR_1A.png rename to example/textures/retro/FLOOR_1A.png diff --git a/assets/textures/retro/FLOOR_2A.png b/example/textures/retro/FLOOR_2A.png similarity index 100% rename from assets/textures/retro/FLOOR_2A.png rename to example/textures/retro/FLOOR_2A.png diff --git a/assets/textures/retro/FLOOR_2G.png b/example/textures/retro/FLOOR_2G.png similarity index 100% rename from assets/textures/retro/FLOOR_2G.png rename to example/textures/retro/FLOOR_2G.png diff --git a/assets/textures/retro/GRID_1A.png b/example/textures/retro/GRID_1A.png similarity index 100% rename from assets/textures/retro/GRID_1A.png rename to example/textures/retro/GRID_1A.png diff --git a/assets/textures/retro/LIGHT_1B.png b/example/textures/retro/LIGHT_1B.png similarity index 100% rename from assets/textures/retro/LIGHT_1B.png rename to example/textures/retro/LIGHT_1B.png diff --git a/assets/textures/retro/RIVET_1C.png b/example/textures/retro/RIVET_1C.png similarity index 100% rename from assets/textures/retro/RIVET_1C.png rename to example/textures/retro/RIVET_1C.png diff --git a/assets/textures/retro/RIVET_2B.png b/example/textures/retro/RIVET_2B.png similarity index 100% rename from assets/textures/retro/RIVET_2B.png rename to example/textures/retro/RIVET_2B.png diff --git a/assets/textures/retro/RIVET_2C.png b/example/textures/retro/RIVET_2C.png similarity index 100% rename from assets/textures/retro/RIVET_2C.png rename to example/textures/retro/RIVET_2C.png diff --git a/assets/textures/retro/SLIME_1A.png b/example/textures/retro/SLIME_1A.png similarity index 100% rename from assets/textures/retro/SLIME_1A.png rename to example/textures/retro/SLIME_1A.png diff --git a/assets/textures/retro/STEEL_1A.png b/example/textures/retro/STEEL_1A.png similarity index 100% rename from assets/textures/retro/STEEL_1A.png rename to example/textures/retro/STEEL_1A.png diff --git a/assets/textures/retro/STEEL_2A.png b/example/textures/retro/STEEL_2A.png similarity index 100% rename from assets/textures/retro/STEEL_2A.png rename to example/textures/retro/STEEL_2A.png diff --git a/assets/textures/retro/SUPPORT_1A.png b/example/textures/retro/SUPPORT_1A.png similarity index 100% rename from assets/textures/retro/SUPPORT_1A.png rename to example/textures/retro/SUPPORT_1A.png diff --git a/assets/textures/retro/SUPPORT_1D.png b/example/textures/retro/SUPPORT_1D.png similarity index 100% rename from assets/textures/retro/SUPPORT_1D.png rename to example/textures/retro/SUPPORT_1D.png diff --git a/assets/textures/retro/SUPPORT_2B.png b/example/textures/retro/SUPPORT_2B.png similarity index 100% rename from assets/textures/retro/SUPPORT_2B.png rename to example/textures/retro/SUPPORT_2B.png diff --git a/assets/textures/retro/SUPPORT_2C.png b/example/textures/retro/SUPPORT_2C.png similarity index 100% rename from assets/textures/retro/SUPPORT_2C.png rename to example/textures/retro/SUPPORT_2C.png diff --git a/assets/textures/retro/SUPPORT_2D.png b/example/textures/retro/SUPPORT_2D.png similarity index 100% rename from assets/textures/retro/SUPPORT_2D.png rename to example/textures/retro/SUPPORT_2D.png diff --git a/assets/textures/retro/SUPPORT_4D.png b/example/textures/retro/SUPPORT_4D.png similarity index 100% rename from assets/textures/retro/SUPPORT_4D.png rename to example/textures/retro/SUPPORT_4D.png diff --git a/assets/textures/retro/TECH_0A.png b/example/textures/retro/TECH_0A.png similarity index 100% rename from assets/textures/retro/TECH_0A.png rename to example/textures/retro/TECH_0A.png diff --git a/assets/textures/retro/TECH_1A.png b/example/textures/retro/TECH_1A.png similarity index 100% rename from assets/textures/retro/TECH_1A.png rename to example/textures/retro/TECH_1A.png diff --git a/assets/textures/retro/TECH_1B.png b/example/textures/retro/TECH_1B.png similarity index 100% rename from assets/textures/retro/TECH_1B.png rename to example/textures/retro/TECH_1B.png diff --git a/assets/textures/retro/TECH_1C.png b/example/textures/retro/TECH_1C.png similarity index 100% rename from assets/textures/retro/TECH_1C.png rename to example/textures/retro/TECH_1C.png diff --git a/assets/textures/retro/TECH_1F.png b/example/textures/retro/TECH_1F.png similarity index 100% rename from assets/textures/retro/TECH_1F.png rename to example/textures/retro/TECH_1F.png diff --git a/assets/textures/retro/TECH_3D.png b/example/textures/retro/TECH_3D.png similarity index 100% rename from assets/textures/retro/TECH_3D.png rename to example/textures/retro/TECH_3D.png diff --git a/assets/textures/retro/TECH_4B.png b/example/textures/retro/TECH_4B.png similarity index 100% rename from assets/textures/retro/TECH_4B.png rename to example/textures/retro/TECH_4B.png diff --git a/assets/textures/retro/WARN_1.png b/example/textures/retro/WARN_1.png similarity index 100% rename from assets/textures/retro/WARN_1.png rename to example/textures/retro/WARN_1.png diff --git a/game.project b/game.project index 26e68c9..563324e 100644 --- a/game.project +++ b/game.project @@ -3,7 +3,7 @@ include_dirs = trenchfold [project] title = TrenchFold -version = 1.6.1 +version = 1.8.0 dependencies#0 = https://github.com/indiesoftby/defold-pointer-lock/archive/refs/tags/2.0.0.zip dependencies#1 = https://github.com/astrochili/defold-operator/archive/refs/tags/1.5.2.zip dependencies#2 = https://github.com/astrochili/defold-kinematic-walker/archive/refs/tags/1.3.2.zip diff --git a/trenchfold/assets/textures/not_found.png b/trenchfold/assets/textures/not_found.png new file mode 100644 index 0000000..743450f Binary files /dev/null and b/trenchfold/assets/textures/not_found.png differ diff --git a/trenchfold/games/Defold/Defold.fgd b/trenchfold/assets/trenchbroom/games/Defold/Defold.fgd similarity index 100% rename from trenchfold/games/Defold/Defold.fgd rename to trenchfold/assets/trenchbroom/games/Defold/Defold.fgd diff --git a/trenchfold/games/Defold/GameConfig.cfg b/trenchfold/assets/trenchbroom/games/Defold/GameConfig.cfg similarity index 86% rename from trenchfold/games/Defold/GameConfig.cfg rename to trenchfold/assets/trenchbroom/games/Defold/GameConfig.cfg index af644eb..5410b89 100644 --- a/trenchfold/games/Defold/GameConfig.cfg +++ b/trenchfold/assets/trenchbroom/games/Defold/GameConfig.cfg @@ -6,12 +6,12 @@ { "format": "Quake2", "initialmap": "initial_quake2.map" } ], "filesystem": { - "searchpath": "assets", + "searchpath": "", "packageformat": { "extension": "zip", "format": "zip" } }, "textures": { - "root": "textures", - "extensions": ["jpg", "jpeg", "tga", "png"] + "root": "", + "extensions": ["jpg", "jpeg", "png"] }, "entities": { "definitions": [ "Defold.fgd" ], @@ -25,13 +25,13 @@ "attribs": [ ], "match": "classname", "pattern": "static*" - }, + }, { "name": "trigger", "attribs": [ "transparent" ], "match": "classname", "pattern": "trigger*", - "texture": "flags/trigger" + "texture": "trenchfold/trigger" }, { "name": "kinematic", @@ -51,13 +51,13 @@ "name": "clip", "attribs": [ "transparent" ], "match": "texture", - "pattern": "flags/clip" - }, + "pattern": "trenchfold/clip" + }, { "name": "unused", "attribs": [ "transparent" ], "match": "texture", - "pattern": "flags/unused" + "pattern": "trenchfold/unused" } ] }, diff --git a/trenchfold/games/Defold/assets/textures/flags/area.png b/trenchfold/assets/trenchbroom/games/Defold/assets/trenchfold/area.png similarity index 100% rename from trenchfold/games/Defold/assets/textures/flags/area.png rename to trenchfold/assets/trenchbroom/games/Defold/assets/trenchfold/area.png diff --git a/trenchfold/games/Defold/assets/textures/flags/clip.png b/trenchfold/assets/trenchbroom/games/Defold/assets/trenchfold/clip.png similarity index 100% rename from trenchfold/games/Defold/assets/textures/flags/clip.png rename to trenchfold/assets/trenchbroom/games/Defold/assets/trenchfold/clip.png diff --git a/trenchfold/games/Defold/assets/textures/flags/trigger.png b/trenchfold/assets/trenchbroom/games/Defold/assets/trenchfold/trigger.png similarity index 100% rename from trenchfold/games/Defold/assets/textures/flags/trigger.png rename to trenchfold/assets/trenchbroom/games/Defold/assets/trenchfold/trigger.png diff --git a/trenchfold/games/Defold/assets/textures/flags/unused.png b/trenchfold/assets/trenchbroom/games/Defold/assets/trenchfold/unused.png similarity index 100% rename from trenchfold/games/Defold/assets/textures/flags/unused.png rename to trenchfold/assets/trenchbroom/games/Defold/assets/trenchfold/unused.png diff --git a/trenchfold/games/Defold/defold.png b/trenchfold/assets/trenchbroom/games/Defold/defold.png similarity index 100% rename from trenchfold/games/Defold/defold.png rename to trenchfold/assets/trenchbroom/games/Defold/defold.png diff --git a/trenchfold/builders/collection.lua b/trenchfold/builders/collection.lua index d7eed7a..31eb652 100755 --- a/trenchfold/builders/collection.lua +++ b/trenchfold/builders/collection.lua @@ -6,20 +6,24 @@ MIT license. See LICENSE for details. --]] -local utils = require 'trenchfold.utils' -local config = require 'trenchfold.config' +local table_insert = table.insert +local table_remove = table.remove -local builder = { } +local utils = require 'trenchfold.utils.utils' +local vec = require 'trenchfold.utils.vec' +local config = require 'trenchfold.utils.config' + +local builder = {} -- -- Buffer local function vertices_to_triangles(vertices) - local pool = { } - local triangles = { } + local pool = {} + local triangles = {} for _, vertice in ipairs(vertices) do - table.insert(pool, vertice) + table_insert(pool, vertice) end while #pool >= 3 do @@ -28,33 +32,33 @@ local function vertices_to_triangles(vertices) local c = pool[3] local triangle = { a, b, c } - table.insert(triangles, triangle) + table_insert(triangles, triangle) - table.remove(pool, 1) - table.remove(pool, 1) - table.insert(pool, a) + table_remove(pool, 1) + table_remove(pool, 1) + table_insert(pool, a) end return triangles end local function append_face_to_buffer(face, buffer) - buffer.position = buffer.position or { count = 3, data = { } } - buffer.normal = buffer.normal or { count = 3, data = { } } - buffer.texcoord0 = buffer.texcoord0 or { count = 2, data = { } } + buffer.position = buffer.position or { count = 3, data = {} } + buffer.normal = buffer.normal or { count = 3, data = {} } + buffer.texcoord0 = buffer.texcoord0 or { count = 2, data = {} } local triangles = vertices_to_triangles(face.vertices) for _, triangle in ipairs(triangles) do for _, vertice in ipairs(triangle) do - table.insert(buffer.position.data, vertice.position.x) - table.insert(buffer.position.data, vertice.position.y) - table.insert(buffer.position.data, vertice.position.z) - table.insert(buffer.normal.data, vertice.normal.x) - table.insert(buffer.normal.data, vertice.normal.y) - table.insert(buffer.normal.data, vertice.normal.z) - table.insert(buffer.texcoord0.data, vertice.uv.x) - table.insert(buffer.texcoord0.data, vertice.uv.y) + table_insert(buffer.position.data, vertice.position.x) + table_insert(buffer.position.data, vertice.position.y) + table_insert(buffer.position.data, vertice.position.z) + table_insert(buffer.normal.data, vertice.normal.x) + table_insert(buffer.normal.data, vertice.normal.y) + table_insert(buffer.normal.data, vertice.normal.z) + table_insert(buffer.texcoord0.data, vertice.uv.x) + table_insert(buffer.texcoord0.data, vertice.uv.y) end end @@ -96,14 +100,14 @@ local function transfer_material_to_go(item, go) end local function transfer_components_to_go(item, go) - go.components = item.components or { } + go.components = item.components or {} item.components = nil return go end local function transfer_overrides_to_go(item, go) - go.overrides = item.overrides or { } + go.overrides = item.overrides or {} item.overrides = nil return go @@ -113,7 +117,7 @@ end local function transfer_properties_to_script(properties, go, instances) local full_script_path = config.full_path(config.script_directory, go.id .. '.script') local script = instances.script[full_script_path] or { - properties = { } + properties = {} } for property, value in pairs(properties) do @@ -156,28 +160,29 @@ local function transfer_brushes_to_go(item, go, instances, preferences) end -- Shift brushes to the center of the gameobject - local center_point = utils.get_brushes_center(item.brushes) - utils.apply_offset_to_brushes(item.brushes, center_point) + local center_point = vec.get_brushes_center(item.brushes) + vec.apply_offset_to_brushes(item.brushes, center_point) go.position = center_point - local source = { } + local source = {} for _, brush in pairs(item.brushes) do - table.insert(source, brush) + table_insert(source, brush) end item.brushes = nil - local areas = { } + local areas = {} for brush_index, brush in ipairs(source) do local area_convexshape for face_index, face in ipairs(brush) do - local physics = utils.shallow_copy(preferences.physics) or { } + local physics = utils.shallow_copy(preferences.physics) or {} - for property, value in pairs(go.physics or { }) do + for property, value in pairs(go.physics or {}) do physics[property] = value end + ---@type string|nil local collision_type = physics.type or 'static' local is_mesh = true @@ -190,7 +195,7 @@ local function transfer_brushes_to_go(item, go, instances, preferences) elseif face.is_area then is_mesh = false collision_type = nil - area_convexshape = append_face_to_convexshape(face, area_convexshape or { }) + area_convexshape = append_face_to_convexshape(face, area_convexshape or {}) elseif face.is_unused then is_mesh = false collision_type = nil @@ -201,18 +206,19 @@ local function transfer_brushes_to_go(item, go, instances, preferences) end if is_mesh then - local id = go.id .. '_' .. face.texture.name:gsub('/', '_') + local id = go.id .. '_' .. face.texture.id:gsub('/', '_') local full_buffer_path = config.full_path(config.buffer_directory, id .. '.buffer') - local full_mesh_path = config.full_path(config.mesh_directory, id .. '.mesh') + local full_mesh_path = config.full_path(config.mesh_directory, id .. '.mesh') - local buffer = instances.buffer[full_buffer_path] or { } + local buffer = instances.buffer[full_buffer_path] or {} buffer = append_face_to_buffer(face, buffer) instances.buffer[full_buffer_path] = buffer local mesh = instances.mesh[full_mesh_path] or { - material = (go.material or { }).material or preferences.material.material or '/builtins/materials/model.material', + material = (go.material or {}).material or preferences.material.material or + '/builtins/materials/model.material', buffer = config.resource_path(full_buffer_path), - texture0 = config.resource_path(config.assets_directory, face.texture.path) + texture0 = config.resource_path(face.texture.path) } local texture0_directory = mesh.texture0:match('(.*)/') @@ -221,11 +227,12 @@ local function transfer_brushes_to_go(item, go, instances, preferences) for index = 1, 7 do local texture_key = 'texture' .. index - local texture = (go.material or { })[texture_key] or preferences.material[texture_key] + local texture = (go.material or {})[texture_key] or preferences.material[texture_key] if texture and texture:find('*') then local texture_directory = texture:match('(.*)/') or texture0_directory - local texture_filename = texture:match('.*/(.*)%.') or texture:match('.*/(.*)') or texture:match('(.*)%.') or texture + local texture_filename = texture:match('.*/(.*)%.') or texture:match('.*/(.*)') or texture:match('(.*)%.') or + texture local texture_extension = texture:match('.*%.(.*)') or texture0_extension texture_filename = texture_filename:gsub('*', texture0_filename) @@ -245,9 +252,9 @@ local function transfer_brushes_to_go(item, go, instances, preferences) id = id .. '_' .. collision_type local full_convexshape_path = config.full_path(config.convexshape_directory, id .. '.convexshape') - local full_collisionobject_path = config.full_path(config.collisionobject_directory, id .. '.collisionobject') + local full_collisionobject_path = config.full_path(config.collisionobject_directory, id .. '.collisionobject') - local convexshape = instances.convexshape[full_convexshape_path] or { } + local convexshape = instances.convexshape[full_convexshape_path] or {} convexshape = append_face_to_convexshape(face, convexshape) instances.convexshape[full_convexshape_path] = convexshape @@ -271,13 +278,13 @@ local function transfer_brushes_to_go(item, go, instances, preferences) end if area_convexshape then - local area = { } + local area = {} for _, position in pairs(area_convexshape) do - table.insert(area, position) + table_insert(area, position) end - table.insert(areas, area) + table_insert(areas, area) end end @@ -290,7 +297,7 @@ local function transfer_brushes_to_go(item, go, instances, preferences) end local function item_to_go(item, preferences, instances) - local go = { } + local go = {} local instances = instances go.id = item.id @@ -307,13 +314,14 @@ local function item_to_go(item, preferences, instances) go.overrides = next(go.overrides) and go.overrides or nil if next(item) then - go.gameobjects = { } + go.gameobjects = {} for child_id, child in pairs(item) do go.gameobjects[child_id] = item_to_go(child, preferences, instances) end end + go.id = nil go.physics = nil @@ -328,12 +336,12 @@ function builder.build(level) level.preferences = nil local instances = { - buffer = { }, - mesh = { }, - convexshape = { }, - collisionobject = { }, - collection = { }, - script = { } + buffer = {}, + mesh = {}, + convexshape = {}, + collisionobject = {}, + collection = {}, + script = {} } local collection, instances = item_to_go(level, preferences, instances) @@ -343,4 +351,4 @@ function builder.build(level) return instances end -return builder \ No newline at end of file +return builder diff --git a/trenchfold/builders/defold.lua b/trenchfold/builders/defold.lua index 02f7c48..03b55ab 100755 --- a/trenchfold/builders/defold.lua +++ b/trenchfold/builders/defold.lua @@ -6,10 +6,17 @@ MIT license. See LICENSE for details. --]] -local config = require 'trenchfold.config' +local table_insert = table.insert +local table_concat = table.concat +local table_sort = table.sort +local math_rad = math.rad +local math_sin = math.sin +local math_cos = math.cos + +local config = require 'trenchfold.utils.config' local templates = require 'trenchfold.builders.templates' -local builder = { } +local builder = {} -- -- Helpers @@ -19,16 +26,16 @@ local function quat_from_euler(euler) return { x = 0, y = 0, z = 0, w = 1 } end - local x = math.rad(euler.x) - local y = math.rad(euler.y) - local z = math.rad(euler.z) + local x = math_rad(euler.x) + local y = math_rad(euler.y) + local z = math_rad(euler.z) - local sr = math.sin(x / 2) - local sp = math.sin(y / 2) - local sy = math.sin(z / 2) - local cr = math.cos(x / 2) - local cp = math.cos(y / 2) - local cy = math.cos(z / 2) + local sr = math_sin(x / 2) + local sp = math_sin(y / 2) + local sy = math_sin(z / 2) + local cr = math_cos(x / 2) + local cp = math_cos(y / 2) + local cy = math_cos(z / 2) local quat = { x = sr * cp * cy - cr * sp * sy, @@ -86,14 +93,14 @@ end -- Buffer local function make_buffer_body(buffer) - local stream_bodies = { } + local stream_bodies = {} local function stream_to_json(name, stream) local stream_body = '' stream_body = stream_body .. ' "name": "' .. name .. '",\n' stream_body = stream_body .. ' "type": "float32",\n' stream_body = stream_body .. ' "count": ' .. stream.count .. ',\n' - stream_body = stream_body .. ' "data": [\n ' .. table.concat(stream.data, ',') .. '\n ]' + stream_body = stream_body .. ' "data": [\n ' .. table_concat(stream.data, ',') .. '\n ]' return '{\n' .. stream_body .. '\n}' end @@ -101,12 +108,12 @@ local function make_buffer_body(buffer) for name, stream in pairs(buffer) do if #stream.data > 0 then local stream_body = stream_to_json(name, stream) - table.insert(stream_bodies, stream_body) + table_insert(stream_bodies, stream_body) end end - table.sort(stream_bodies, function(a, b) return a < b end) - local body = '[\n' .. table.concat(stream_bodies, ',\n') .. '\n]' + table_sort(stream_bodies, function(a, b) return a < b end) + local body = '[\n' .. table_concat(stream_bodies, ',\n') .. '\n]' return body end @@ -118,13 +125,13 @@ local function make_mesh_body(mesh) local body = '' body = body .. 'material: "' .. mesh.material .. '"\n' - body = body .. 'vertices: "'.. mesh.buffer .. '"\n' + body = body .. 'vertices: "' .. mesh.buffer .. '"\n' for index = 0, 7 do local texture = mesh['texture' .. index] if texture then - body = body .. 'textures: "'.. texture .. '"\n' + body = body .. 'textures: "' .. texture .. '"\n' end end @@ -161,12 +168,12 @@ local function make_collisionobject_body(collision_object) local body = '' body = body .. 'collision_shape: "' .. collision_object.collision_shape .. '"\n' - body = body .. 'type: '.. collision_types[collision_object.type] .. '\n' + body = body .. 'type: ' .. collision_types[collision_object.type] .. '\n' body = body .. 'mass: ' .. make_float_body(collision_object.mass) .. '\n' - body = body .. 'friction: ' .. make_float_body(collision_object.friction) ..'\n' + body = body .. 'friction: ' .. make_float_body(collision_object.friction) .. '\n' body = body .. 'restitution: ' .. make_float_body(collision_object.restitution) .. '\n' - body = body .. 'group: "' .. collision_object.group ..'"\n' - body = body .. 'mask: "' .. collision_object.mask ..'"\n' + body = body .. 'group: "' .. collision_object.group .. '"\n' + body = body .. 'mask: "' .. collision_object.mask .. '"\n' body = body .. 'linear_damping: ' .. make_float_body(collision_object.linear_damping) .. '\n' body = body .. 'angular_damping: ' .. make_float_body(collision_object.angular_damping) .. '\n' body = body .. 'locked_rotation: ' .. tostring(collision_object.locked_rotation) .. '\n' @@ -217,14 +224,14 @@ local function make_script_body(script) body = body .. ' msg.post(\'.\', hash \'init_area\', {\n ' for _, area in ipairs(script.properties.areas) do - local vector_bodies = { } + local vector_bodies = {} for _, vector in ipairs(area) do local vector_body = make_vector_body(vector) - table.insert(vector_bodies, vector_body) + table_insert(vector_bodies, vector_body) end - body = body .. ' {\n ' .. table.concat(vector_bodies, ',\n ') .. '\n },' + body = body .. ' {\n ' .. table_concat(vector_bodies, ',\n ') .. '\n },' end body = body .. '\n })\n' @@ -238,16 +245,16 @@ end -- Properties local function make_property_bodies(property_template, overrides) - local property_bodies = { } + local property_bodies = {} - for property, value in pairs(overrides or { }) do + for property, value in pairs(overrides or {}) do local raw_type, raw_value = make_raw_property(property, value) local property_body = property_template:gsub('_PROPERTY_', property) property_body = property_body:gsub('_VALUE_', raw_value) property_body = property_body:gsub('_TYPE_', raw_type) - table.insert(property_bodies, property_body) + table_insert(property_bodies, property_body) end return property_bodies @@ -257,7 +264,7 @@ end -- Collection local function object_to_bodies(object, instance_bodies, embedded_instance_bodies, parent_children_ids) - for id, child in pairs(object.gameobjects or { }) do + for id, child in pairs(object.gameobjects or {}) do if type(child) == 'table' then local instance_body local is_embedded = child.go == nil @@ -270,7 +277,7 @@ local function object_to_bodies(object, instance_bodies, embedded_instance_bodie end if parent_children_ids then - table.insert(parent_children_ids, id) + table_insert(parent_children_ids, id) end -- Set identifier @@ -279,7 +286,7 @@ local function object_to_bodies(object, instance_bodies, embedded_instance_bodie -- Set position - local position = child.position or { } + local position = child.position or {} instance_body = instance_body:gsub('_POSITION_X_', make_float_body(position.x)) instance_body = instance_body:gsub('_POSITION_Y_', make_float_body(position.y)) instance_body = instance_body:gsub('_POSITION_Z_', make_float_body(position.z)) @@ -296,25 +303,25 @@ local function object_to_bodies(object, instance_bodies, embedded_instance_bodie if is_embedded then local data = '""\n' - local components = { } + local components = {} -- Set components - for component_id, component_path in pairs(child.components or { }) do + for component_id, component_path in pairs(child.components or {}) do local component_body = templates.component:gsub('_ID_', component_id) component_body = component_body:gsub('_PATH_', component_path) -- Set component overrides - local overrides = (child.overrides or { })[component_id] + local overrides = (child.overrides or {})[component_id] local component_property_bodies = make_property_bodies(templates.component_property, overrides) - component_body = component_body:gsub('_COMPONENT_PROPERTIES_\n', table.concat(component_property_bodies)) + component_body = component_body:gsub('_COMPONENT_PROPERTIES_\n', table_concat(component_property_bodies)) - table.insert(components, component_body) + table_insert(components, component_body) end if #components > 0 then - data = table.concat(components) + data = table_concat(components) data = #components > 0 and data:sub(3) or data end @@ -322,10 +329,11 @@ local function object_to_bodies(object, instance_bodies, embedded_instance_bodie -- Set children - local children_ids = { } - instance_bodies, embedded_instance_bodies = object_to_bodies(child, instance_bodies, embedded_instance_bodies, children_ids) + local children_ids = {} + instance_bodies, embedded_instance_bodies = object_to_bodies(child, instance_bodies, embedded_instance_bodies, + children_ids) - table.sort(children_ids) + table_sort(children_ids) local children_body = '' for _, child_id in ipairs(children_ids) do @@ -335,24 +343,24 @@ local function object_to_bodies(object, instance_bodies, embedded_instance_bodie instance_body = instance_body:gsub('_CHILDREN_\n', children_body) - table.insert(embedded_instance_bodies, instance_body) + table_insert(embedded_instance_bodies, instance_body) else - -- Set instance overrides - local instance_properties_bodies = { } + local instance_properties_bodies = {} - for component_id, overrides in pairs(child.overrides or { }) do + for component_id, overrides in pairs(child.overrides or {}) do local instance_properties_body = templates.instance_properties:gsub('_ID_', component_id) local instance_property_bodies = make_property_bodies(templates.instance_property, overrides) - instance_properties_body = instance_properties_body:gsub('_PROPERTIES_\n', table.concat(instance_property_bodies)) - table.insert(instance_properties_bodies, instance_properties_body) + instance_properties_body = instance_properties_body:gsub('_PROPERTIES_\n', + table_concat(instance_property_bodies)) + table_insert(instance_properties_bodies, instance_properties_body) end - instance_body = instance_body:gsub('_INSTANCE_PROPERTIES_\n', table.concat(instance_properties_bodies)) + instance_body = instance_body:gsub('_INSTANCE_PROPERTIES_\n', table_concat(instance_properties_bodies)) - table.insert(instance_bodies, instance_body) + table_insert(instance_bodies, instance_body) end end end @@ -364,10 +372,10 @@ local function make_collection_body(collection) local body = templates.collection body = body:gsub('_ID_', config.map_name) - local instance_bodies, embedded_instance_bodies = object_to_bodies(collection, { }, { }) + local instance_bodies, embedded_instance_bodies = object_to_bodies(collection, {}, {}) - body = body:gsub('_EMBEDDED_INSTANCES_\n', table.concat(embedded_instance_bodies)) - body = body:gsub('_INSTANCES_\n', table.concat(instance_bodies)) + body = body:gsub('_EMBEDDED_INSTANCES_\n', table_concat(embedded_instance_bodies)) + body = body:gsub('_INSTANCES_\n', table_concat(instance_bodies)) return body end @@ -376,7 +384,7 @@ end -- Public function builder.build(instances) - local files = { } + local files = {} local component_builders = { buffer = make_buffer_body, @@ -393,13 +401,13 @@ function builder.build(instances) path = file_path, content = component_builders[component_type](instance) } - table.insert(files, file) + table_insert(files, file) end end - table.sort(files, function(a, b) return a.path > b.path end) + table_sort(files, function(a, b) return a.path > b.path end) return files end -return builder \ No newline at end of file +return builder diff --git a/trenchfold/builders/templates.lua b/trenchfold/builders/templates.lua index 1d48a6d..aeab5c3 100755 --- a/trenchfold/builders/templates.lua +++ b/trenchfold/builders/templates.lua @@ -6,7 +6,7 @@ MIT license. See LICENSE for details. --]] -local templates = { } +local templates = {} templates.collection = [[ name: "_ID_" @@ -109,12 +109,12 @@ templates.component_property = [[ ]] templates.property_type = { - number = 'PROPERTY_TYPE_NUMBER', -- "1.0" + number = 'PROPERTY_TYPE_NUMBER', -- "1.0" vector3 = 'PROPERTY_TYPE_VECTOR3', -- "1.0, 1.0, 1.0" vector4 = 'PROPERTY_TYPE_VECTOR4', -- "1.0, 1.0, 1.0, 1.0" boolean = 'PROPERTY_TYPE_BOOLEAN', -- "false" / "true" - hash = 'PROPERTY_TYPE_HASH', -- "hash" - url = 'PROPERTY_TYPE_URL' -- "url" + hash = 'PROPERTY_TYPE_HASH', -- "hash" + url = 'PROPERTY_TYPE_URL' -- "url" } -return templates \ No newline at end of file +return templates diff --git a/trenchfold/cli.lua b/trenchfold/cli.lua index 8f7653b..63e01a4 100644 --- a/trenchfold/cli.lua +++ b/trenchfold/cli.lua @@ -10,8 +10,8 @@ assert(arg[1], 'A relative path to the map folder as the 1th argument is require assert(arg[2], 'A map name as the 2th argument is required.') local trenchfold = require 'trenchfold.trenchfold' -local config = require 'trenchfold.config' -local utils = require 'trenchfold.utils' +local config = require 'trenchfold.utils.config' +local utils = require 'trenchfold.utils.utils' local folder_separator = package.config:sub(1, 1) config.init(folder_separator, arg[1], arg[2]) @@ -31,4 +31,4 @@ for _, folder in ipairs(folder_to_clean) do end print('') -trenchfold.convert() \ No newline at end of file +trenchfold.convert() diff --git a/trenchfold/builders/level.lua b/trenchfold/designers/level.lua similarity index 62% rename from trenchfold/builders/level.lua rename to trenchfold/designers/level.lua index 5e2206b..97d16a8 100644 --- a/trenchfold/builders/level.lua +++ b/trenchfold/designers/level.lua @@ -6,16 +6,17 @@ MIT license. See LICENSE for details. --]] -local utils = require 'trenchfold.utils' -local config = require 'trenchfold.config' +local utils = require 'trenchfold.utils.utils' +local config = require 'trenchfold.utils.config' +local sculptor = require 'trenchfold.designers.sculptor' -local builder = { } +local designer = {} -- -- Local local function prepare_physics(entity) - local physics = { } + local physics = {} local physics_types = { 'static', 'trigger', 'kinematic', 'dynamic' } @@ -64,7 +65,7 @@ local function prepare_material(entity) end local function prepare_components(entity) - local components = { } + local components = {} for property, value in pairs(entity) do if property:sub(1, 1) == '#' and property:find('%.') == nil then @@ -78,14 +79,14 @@ local function prepare_components(entity) end local function prepare_overrides(entity) - local overrides = { } + local overrides = {} for property, value in pairs(entity) do local component_id = property:match('#(.*)%.') local component_property = property:match('#.*%.(.*)') if component_id and component_property then - overrides[component_id] = overrides[component_id] or { } + overrides[component_id] = overrides[component_id] or {} overrides[component_id][component_property] = value entity[property] = nil end @@ -96,7 +97,7 @@ end local function prepare_properties(entity, textel_size) local textel_size = textel_size or 1 - local properties = utils.shallow_copy(entity) + local properties = utils.shallow_copy(entity) or {} properties.id = nil properties.classname = nil @@ -127,80 +128,14 @@ local function prepare_properties(entity, textel_size) return next(properties) and properties or nil end -local function prepare_brushes(entity, obj, mtl, textel_size) - local textel_size = textel_size or 1 - - if not entity.brushes then - return nil - end - - local brushes = { } - - for _, brush in ipairs(entity.brushes) do - local brush_id = 'entity' .. entity.index .. '_brush' .. brush.index - local merged_brush = { } - - for index, map_face in ipairs(brush.faces) do - local face = utils.shallow_copy(map_face) - - face.planes = nil - face.vertices = { } - - local obj_brush = obj[brush_id] - assert(obj_brush, 'Can\'t find the brush \'' .. brush_id .. '\' in .obj file. Looks like the file is outdated. Try to export .obj from TrenchBroom again to get updated geometry.') - - local obj_face = obj_brush[index] - assert(obj_face, 'Can\'t find the face ' .. index .. ' on brush \'' .. brush_id .. '\' in .obj file. Looks like the file is outdated. Try to export .obj from TrenchBroom again to get updated geometry.') - - for _, obj_vertice in ipairs(obj_face.vertices) do - local vertice = { - normal = utils.shallow_copy(obj_vertice.normal), - position = utils.shallow_copy(obj_vertice.position), - uv = utils.shallow_copy(obj_vertice.uv) - } - - vertice.position.x = vertice.position.x / textel_size - vertice.position.y = vertice.position.y / textel_size - vertice.position.z = vertice.position.z / textel_size - - table.insert(face.vertices, vertice) - end - - local texture = obj_face.material - local texture_is_empty = texture == '__TB_empty' - local texture_flag = texture_is_empty and 'unused' or texture:match('flags/(.*)') - - face.is_unused = texture_flag == 'unused' or nil - face.is_area = texture_flag == 'area' or nil - face.is_clip = texture_flag == 'clip' or nil - face.is_trigger = texture_flag == 'trigger' or nil - - if not texture_flag then - face.texture = { - name = texture, - path = mtl[texture] - } - end - - table.insert(merged_brush, face) - end - - if #merged_brush > 0 then - brushes[brush_id] = merged_brush - end - end - - return brushes -end - -- -- Public -function builder.build(map, obj, mtl) +function designer.design(map) local level = { - world = { }, - entities = { }, - preferences = { } + world = {}, + entities = {}, + preferences = {} } for _, map_entity in pairs(map.entities) do @@ -219,7 +154,7 @@ function builder.build(map, obj, mtl) local entity_id if classname == 'worldspawn' then - entity.properties = entity.properties or { } + entity.properties = entity.properties or {} level.preferences.textel_size = entity.properties.textel_size level.preferences.material = entity.material @@ -238,17 +173,18 @@ function builder.build(map, obj, mtl) if group[entity_id] then local group_index = tostring(map_entity._tb_id) local safe_id = entity_id .. '_' .. group_index - print('[!] Looks like you have few groups with the same name \'' .. entity_id .. '\'. Renamed to ' .. '\'' .. safe_id .. '\'.') + print('[!] Looks like you have few groups with the same name \'' .. + entity_id .. '\'. Renamed to ' .. '\'' .. safe_id .. '\'.') entity_id = safe_id end else section = level.entities end - entity.brushes = prepare_brushes(map_entity, obj, mtl, level.preferences.textel_size) + entity.brushes = sculptor.make_brushes(map_entity, level.preferences.textel_size) if not group then - group = section[group_id] or { } + group = section[group_id] or {} section[group_id] = group end @@ -276,4 +212,4 @@ function builder.build(map, obj, mtl) return level end -return builder \ No newline at end of file +return designer diff --git a/trenchfold/designers/painter.lua b/trenchfold/designers/painter.lua new file mode 100644 index 0000000..37b0670 --- /dev/null +++ b/trenchfold/designers/painter.lua @@ -0,0 +1,169 @@ +--[[ + textures.lua + github.com/astrochili/defold-trenchfold + + Copyright (c) 2024 David Lannan + MIT license. See LICENSE for details. +--]] + +local utils = require 'trenchfold.utils.utils' + +local painter = {} +local storage = {} + +-- +-- Local + +local function make_not_found(texture_id) + return { + id = texture_id, + type = 'png', + path = '/trenchfold/assets/textures/not_found.png', + width = 1, + height = 1 + } +end + +local function read_byte(file) + return string.byte(file:read(1)) +end + +local function read_int(file) + local b1 = read_byte(file) + local b2 = read_byte(file) + local b3 = read_byte(file) + local b4 = read_byte(file) + return b1 * 16777216 + b2 * 65536 + b3 * 256 + b4 +end + +local function read_short(file) + local b1 = read_byte(file) + local b2 = read_byte(file) + return b1 * 256 + b2 +end + +local function fetch_png_info(file) + local png_info = {} + local file_sig = file:read(8) + + if file_sig ~= string.format('%c%c%c%c%c%c%c%c', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a) then + log_error('Not valid PNG header: ' .. file_path) + return nil + end + + -- Skip iHDR + file:seek('cur', 8) + + png_info.width = read_int(file) + png_info.height = read_int(file) + + file:close() + + return png_info +end + +local function fetch_jpg_info(file) + local jpg_info = {} + local data_length = file:seek('end') + + file:seek('set') + + if not file:read(4) == string.format('%c%c%c%c', 0xff, 0xd8, 0xff, 0xe0) then + log_error('Not a valid SOI header: ' .. file_path) + return nil + end + + local block_length = read_short(file) + + if not file:read(5) == string.format('JFIF%c', 0x00) then + log_error('Not a valid JFIF string: ' .. file_path) + return nil + end + + -- Seek back + file:seek('cur', -7) + + while file:seek() < data_length do + file:seek('cur', block_length) + + local marker = file:read(2) + + -- Check that we are truly at the start of another block + if marker:sub(1, 1) ~= string.format('%c', 0xff) then + break + end + + -- 0xFFC0 is the 'Start of frame' marker which contains the file size + if marker:sub(2, 2) == string.format('%c', 0xc0) then + -- The structure of the 0xFFC0 block is quite simple + -- [0xFFC0][ushort length][uchar precision][ushort x][ushort y] + file:seek('cur', 3) + + jpg_info.height = read_short(file) + jpg_info.width = read_short(file) + + return jpg_info + else + block_length = read_short(file) + file:seek('cur', -2) + end + end + + log_error('Not found the image size: ' .. file_path) + return nil +end + +local function fetch_image_info(texture_id) + local image_fetchers = { + png = fetch_png_info, + jpg = fetch_jpg_info, + jpeg = fetch_jpg_info + } + + for image_type, image_fetcher in pairs(image_fetchers) do + local image_path = texture_id .. '.' .. image_type + + if utils.is_file_exists(image_path) then + local file = io.open(image_path, 'rb') + + if not file then + log_error('File exists but can\'t open: ' .. image_path) + return make_not_found(texture_id) + end + + local image_info = image_fetcher(file) + image_info.type = image_type + + return image_info or make_not_found(texture_id) + end + end + + log_error('The texture not found: ' .. texture_id) + return make_not_found(texture_id) +end + +-- +-- Public + +function painter.get_texture_info(texture_id) + assert(texture_id) + local texture = storage[texture_id] + + if not texture then + local texture_is_empty = texture_id == '__TB_empty' + local texture_is_flag = texture_id:match('trenchfold/(.*)') + + if texture_is_empty or texture_is_flag then + return nil + end + + texture = fetch_image_info(texture_id) + texture.id = texture.id or texture_id + texture.path = texture.path or (texture_id .. '.' .. texture.type) + storage[texture_id] = texture + end + + return texture +end + +return painter diff --git a/trenchfold/designers/sculptor.lua b/trenchfold/designers/sculptor.lua new file mode 100644 index 0000000..e22522e --- /dev/null +++ b/trenchfold/designers/sculptor.lua @@ -0,0 +1,305 @@ +--[[ + sculptor.lua + github.com/astrochili/defold-trenchfold + + Copyright (c) 2024 David Lannan + MIT license. See LICENSE for details. +--]] + +local table_insert = table.insert +local math_abs = math.abs +local math_rad = math.rad +local math_cos = math.cos +local math_sin = math.sin + +local utils = require 'trenchfold.utils.utils' +local painter = require 'trenchfold.designers.painter' +local vec = require 'trenchfold.utils.vec' + +local sculptor = {} + +-- +-- Local + +local function calculate_texture_uv(vertice, normal, texture, texture_info) + if not texture_info then + return nil + end + + local width = texture_info.width + local height = texture_info.height + + local dot_up = math_abs(vec.dot(normal, vec.VECTOR_UP)) + local dot_right = math_abs(vec.dot(normal, vec.VECTOR_RIGHT)) + local dot_forward = math_abs(vec.dot(normal, vec.VECTOR_FORWARD)) + + local uv = { x = vertice.x, y = vertice.z } + + if dot_up >= dot_right and dot_up >= dot_forward then + uv = { x = vertice.x, y = -vertice.z } + elseif dot_right >= dot_up and dot_right >= dot_forward then + uv = { x = -vertice.z, y = vertice.y } + elseif dot_forward >= dot_up and dot_forward >= dot_right then + uv = { x = vertice.x, y = vertice.y } + end + + local angle = -math_rad(texture.angle) + + uv = { + x = uv.x * math_cos(angle) - uv.y * math_sin(angle), + y = uv.x * math_sin(angle) + uv.y * math_cos(angle) + } + + uv.x = uv.x / width + uv.y = uv.y / height + + uv.x = uv.x / texture.scale_x + uv.y = uv.y / texture.scale_y + + uv.x = uv.x + texture.offset_x / width + uv.y = uv.y - texture.offset_y / height + + return uv +end + +-- This is very slow. Need to optimize this. +-- Can reduce to a much simpler lua sort with comparisons on planes. +local function sort_vertices(vertices, mapping, plane) + -- Get center vert first + local center_point = { x = 0, y = 0, z = 0 } + local count = #mapping + + for _, v in ipairs(mapping) do + center_point = vec.add(center_point, vertices[v]) + end + + center_point = vec.multiply(center_point, 1.0 / count) + + for i = 1, count - 2 do + local smallest_angle = -1 + local smallest_index = -1 + + local v = mapping[i] + local a = vec.normalize(vec.sub(vertices[v], center_point)) + local plane = vec.points_to_plane(vertices[v], center_point, vec.add(center_point, plane.normal)) + + for j = i + 1, count do + local point_class = vec.classify_point(plane, vertices[mapping[j]]) + + if point_class ~= vec.FACE_BACK then + local b = vec.sub(vertices[mapping[j]], center_point) + b = vec.normalize(b) + + local angle = vec.dot(a, b) + + if angle > smallest_angle then + smallest_angle = angle + smallest_index = j + end + end + end + + if smallest_index == -1 then + log_error('Degenerate polygon! Idx: ' .. i .. ' Vid: ' .. v) + return nil + end + + local t = mapping[smallest_index] + mapping[smallest_index] = mapping[i + 1] + mapping[i + 1] = t + end + + -- Calculate if the plane needs flipping + local v_plane = vec.calculate_plane(vertices, mapping) + + if not v_plane then + return mapping + end + + if vec.dot(v_plane.normal, plane.normal) < 0 then + local j = count + + for i = 1, j / 2 do + local v = mapping[i] + mapping[i] = mapping[j - i] + mapping[j - i] = v + end + end + + return mapping +end + +local function intersect(f1, f2, f3) + local denom = vec.dot(f1.normal, vec.cross(f2.normal, f3.normal)) + + if denom == 0 then + return nil + end + + local part1 = vec.multiply(vec.cross(f2.normal, f3.normal), -f1.d) + local part2 = vec.multiply(vec.cross(f3.normal, f1.normal), -f2.d) + local part3 = vec.multiply(vec.cross(f1.normal, f2.normal), -f3.d) + local p = vec.add(part1, vec.add(part2, part3)) + + local vertices = vec.multiply(p, 1.0 / denom) + return vertices +end + +local function make_polygons(faces) + local polygons = {} + local face_count = #faces + + -- For every possible plane intersection, get vertices + local ct = 0 + local all_vertices = {} + local plane_mapping = {} + + -- Generate planes + for i, mf in ipairs(faces) do + faces[i].planes = vec.plane_to_defold(mf.planes) + faces[i].planes = vec.points_to_plane(mf.planes.a, mf.planes.b, mf.planes.c) + end + + for i1 = 1, face_count - 2 do + local f1 = faces[i1] + for i2 = i1 + 1, face_count - 1 do + local f2 = faces[i2] + for i3 = i2 + 1, face_count do + local f3 = faces[i3] + + -- If two planes are the same plane then we cant intersect properly! + if i1 ~= i2 and i2 ~= i3 and i1 ~= i3 then + local vertices = intersect(f1.planes, f2.planes, f3.planes) + + if vertices then + local legal = true + + for m = 1, face_count do + local f = faces[m].planes + + if vec.classify_point(f, vertices) == vec.FACE_FRONT then + legal = false + break + end + end + + if legal == true then + table_insert(all_vertices, vertices) + local vidx = #all_vertices + + -- Collate what verts are associated with what planes + plane_mapping[i1] = plane_mapping[i1] or {} + plane_mapping[i2] = plane_mapping[i2] or {} + plane_mapping[i3] = plane_mapping[i3] or {} + + table_insert(plane_mapping[i1], vidx) + table_insert(plane_mapping[i2], vidx) + table_insert(plane_mapping[i3], vidx) + end + + ct = ct + 1 + end + end + end + end + end + + -- Process verts so we collate all faces into correct lists + for i = 1, face_count do + local texture_name = faces[i].texture.name + local texture_info = painter.get_texture_info(texture_name) + + polygons[i] = polygons[i] or { vertices = {}, material = texture_name } + + if plane_mapping[i] then + -- Sort verts in CW order + local sorted_mapping = sort_vertices(all_vertices, plane_mapping[i], faces[i].planes) + + if sorted_mapping then + for k, vidx in ipairs(sorted_mapping) do + polygons[i].vertices[k] = polygons[i].vertices[k] or {} + polygons[i].vertices[k].position = all_vertices[vidx] + polygons[i].vertices[k].normal = faces[i].planes.normal + polygons[i].vertices[k].uv = calculate_texture_uv( + all_vertices[vidx], + faces[i].planes.normal, + faces[i].texture, + texture_info + ) + end + end + end + end + + return polygons +end + +-- +-- Public + +function sculptor.make_brushes(entity, textel_size) + local textel_size = textel_size or 1 + local brushes = {} + + if not entity.brushes then + return brushes + end + + local geometry = {} + + for _, brush in pairs(entity.brushes) do + local polygons = make_polygons(brush.faces) + local brush_id = string.format('entity%d_brush%d', tostring(entity.index), tostring(brush.index)) + geometry[brush_id] = polygons + end + + for _, brush in ipairs(entity.brushes) do + local brush_id = 'entity' .. entity.index .. '_brush' .. brush.index + local merged_brush = {} + + for index, map_face in ipairs(brush.faces) do + local face = utils.shallow_copy(map_face) or {} + + face.planes = nil + face.vertices = {} + + local geometry_brush = geometry[brush_id] + local geometry_face = geometry_brush[index] + + for _, geometry_vertice in ipairs(geometry_face.vertices) do + local vertice = { + normal = utils.shallow_copy(geometry_vertice.normal), + position = utils.shallow_copy(geometry_vertice.position), + uv = utils.shallow_copy(geometry_vertice.uv) + } + + vertice.position.x = vertice.position.x / textel_size + vertice.position.y = vertice.position.y / textel_size + vertice.position.z = vertice.position.z / textel_size + + table_insert(face.vertices, vertice) + end + + local texture_id = geometry_face.material + local texture_is_empty = texture_id == '__TB_empty' + local texture_flag = texture_is_empty and 'unused' or texture_id:match('trenchfold/(.*)') + + face.is_unused = texture_flag == 'unused' or nil + face.is_area = texture_flag == 'area' or nil + face.is_clip = texture_flag == 'clip' or nil + face.is_trigger = texture_flag == 'trigger' or nil + + face.texture = painter.get_texture_info(texture_id) + + table_insert(merged_brush, face) + end + + if #merged_brush > 0 then + brushes[brush_id] = merged_brush + end + end + + return brushes +end + +return sculptor diff --git a/trenchfold/parsers/map.lua b/trenchfold/parsers/map.lua index bdef685..364dce0 100755 --- a/trenchfold/parsers/map.lua +++ b/trenchfold/parsers/map.lua @@ -1,15 +1,17 @@ --[[ - map.lua + parser.lua github.com/astrochili/defold-trenchfold Copyright (c) 2022 Roman Silin MIT license. See LICENSE for details. --]] -local utils = require 'trenchfold.utils' -local config = require 'trenchfold.config' +local table_insert = table.insert -local parser = { } +local utils = require 'trenchfold.utils.utils' +local config = require 'trenchfold.utils.config' + +local parser = {} -- -- Local @@ -60,7 +62,7 @@ end function parser.parse(map_path) local map = { - entities = { } + entities = {} } local content = utils.read_file(map_path) @@ -69,142 +71,142 @@ function parser.parse(map_path) local entity local brush - for _, line in ipairs(lines) do repeat - - -- Read the map meta + for _, line in ipairs(lines) do + repeat + -- Read the map meta - local meta, value = line:match(patterns.meta) + local meta, value = line:match(patterns.meta) - if meta and value then - map[meta:lower()] = value - do break end - end + if meta and value then + map[meta:lower()] = value + do break end + end - -- Read the group header + -- Read the group header - local group_type, index = line:match(patterns.group) + local group_type, index = line:match(patterns.group) - if group_type and index then - if brush then - -- Finish to parse the current brush - -- because of the new group is started - table.insert(entity.brushes, brush) - brush = nil - end + if group_type and index then + if brush then + -- Finish to parse the current brush + -- because of the new group is started + table_insert(entity.brushes, brush) + brush = nil + end - if group_type == 'entity' then - if entity then - -- Finish to parse the current entity - -- because of the new entity is started - table.insert(map.entities, entity) - entity = nil + if group_type == 'entity' then + if entity then + -- Finish to parse the current entity + -- because of the new entity is started + table_insert(map.entities, entity) + entity = nil + end + + entity = { + index = tonumber(index), + brushes = {} + } + elseif group_type == 'brush' then + brush = { + index = tonumber(index), + faces = {} + } end - entity = { - index = tonumber(index), - brushes = { } - } - elseif group_type == 'brush' then - brush = { - index = tonumber(index), - faces = { } - } + do break end end - do break end - end + -- Read the group property + + local property, value = line:match(patterns.property) - -- Read the group property + if property and value then + local property = utils.trim(property) + local value = utils.trim(value) - local property, value = line:match(patterns.property) + local number = tonumber(value) + local boolean = utils.boolean_from_string(value) + local vector = parse_vector(value) - if property and value then - local property = utils.trim(property) - local value = utils.trim(value) + if boolean ~= nil then + value = boolean + else + value = number or vector or value + end - local number = tonumber(value) - local boolean = utils.boolean_from_string(value) - local vector = parse_vector(value) + entity[property] = value - if boolean ~= nil then - value = boolean - else - value = number or vector or value + do break end end - entity[property] = value + -- Read the brush face - do break end - end + local plane_a, plane_b, plane_c, etc = line:match(patterns.planes .. patterns.etc) - -- Read the brush face + if plane_a and plane_b and plane_c and etc then + local face = {} - local plane_a, plane_b, plane_c, etc = line:match(patterns.planes .. patterns.etc) + local texture - if plane_a and plane_b and plane_c and etc then - local face = { } + -- Check if the texture name is enclosed in quotes + if etc:sub(1, 1) == '"' then + texture, etc = etc:match(patterns.texture_name_quated .. patterns.etc) + else + texture, etc = etc:match(patterns.texture_name .. patterns.etc) + end - local texture + local offset_x, offset_y, angle, scale_x, scale_y, etc = etc:match(patterns.texture_uv .. patterns.etc) + local content, surface - -- Check if the texture name is enclosed in quotes - if etc:sub(1,1) == '"' then - texture, etc = etc:match(patterns.texture_name_quated .. patterns.etc) - else - texture, etc = etc:match(patterns.texture_name .. patterns.etc) - end + if etc then + content, surface, value = etc:match(patterns.face_attributes) + value = value ~= '0' and value or nil + end - local offset_x, offset_y, angle, scale_x, scale_y, etc = etc:match(patterns.texture_uv .. patterns.etc) - local content, surface + face.planes = { + a = parse_vector(plane_a), + b = parse_vector(plane_b), + c = parse_vector(plane_c), + } - if etc then - content, surface, value = etc:match(patterns.face_attributes) - value = value ~= '0' and value or nil - end + face.texture = { + name = texture, + offset_x = tonumber(offset_x), + offset_y = tonumber(offset_y), + angle = tonumber(angle), + scale_x = tonumber(scale_x), + scale_y = tonumber(scale_y) + } - face.planes = { - a = parse_vector(plane_a), - b = parse_vector(plane_b), - c = parse_vector(plane_c), - } - - face.texture = { - name = texture, - offset_x = tonumber(offset_x), - offset_y = tonumber(offset_y), - angle = tonumber(angle), - scale_x = tonumber(scale_x), - scale_y = tonumber(scale_y) - } - - local content_flags = utils.flags_from_integer(tonumber(content) or 0) - - for _, flag in ipairs(content_flags) do - local property = config.content_flags[flag] - face[property] = true - end + local content_flags = utils.flags_from_integer(tonumber(content) or 0) - local surface_flags = utils.flags_from_integer(tonumber(surface) or 0) + for _, flag in ipairs(content_flags) do + local property = config.content_flags[flag] + face[property] = true + end - for _, flag in ipairs(surface_flags) do - local property = config.surface_flags[flag] - face[property] = true - end + local surface_flags = utils.flags_from_integer(tonumber(surface) or 0) - face.value = tonumber(value) + for _, flag in ipairs(surface_flags) do + local property = config.surface_flags[flag] + face[property] = true + end - table.insert(brush.faces, face) + face.value = tonumber(value) - do break end - end + table_insert(brush.faces, face) - until true end + do break end + end + until true + end if brush then - table.insert(entity.brushes, brush) + table_insert(entity.brushes, brush) end if entity then - table.insert(map.entities, entity) + table_insert(map.entities, entity) end for _, entity in ipairs(map.entities) do @@ -214,4 +216,4 @@ function parser.parse(map_path) return map end -return parser \ No newline at end of file +return parser diff --git a/trenchfold/parsers/mtl.lua b/trenchfold/parsers/mtl.lua deleted file mode 100644 index fea997d..0000000 --- a/trenchfold/parsers/mtl.lua +++ /dev/null @@ -1,37 +0,0 @@ ---[[ - mtl.lua - github.com/astrochili/defold-trenchfold - - Copyright (c) 2022 Roman Silin - MIT license. See LICENSE for details. ---]] - -local utils = require 'trenchfold.utils' - -local parser = { } - --- --- Public - -function parser.parse(mtl_path) - local mtl = { } - - local content = utils.read_file(mtl_path) - local lines = utils.get_lines(content) - - local material - - for _, line in ipairs(lines) do - local prefix, value = line:match('(%S*) (.*)') - - if prefix == 'newmtl' then - material = value - elseif prefix == 'map_Kd' then - mtl[material] = value:gsub('\\', '/') - end - end - - return mtl -end - -return parser \ No newline at end of file diff --git a/trenchfold/parsers/obj.lua b/trenchfold/parsers/obj.lua deleted file mode 100644 index 962e9ba..0000000 --- a/trenchfold/parsers/obj.lua +++ /dev/null @@ -1,117 +0,0 @@ ---[[ - obj.lua - github.com/astrochili/defold-trenchfold - - Copyright (c) 2022 Roman Silin - MIT license. See LICENSE for details. ---]] - -local utils = require 'trenchfold.utils' - -local parser = { } - --- --- Local - -local function parse_vector2(source) - local x, y = source:match('(.*) (.*)') - return { - x = tonumber(x), - y = tonumber(y) - } -end - -local function parse_vector3(source) - local x, y, z = source:match('(.*) (.*) (.*)') - return { - x = tonumber(x), - y = tonumber(y), - z = tonumber(z) - } -end - -local function parse_face(source, obj) - local face = { vertices = { } } - - for i, j, k in source:gmatch('(%d*)/(%d*)/(%d*)') do - local vertice = { - position = obj.positions[tonumber(i)], - normal = obj.normals[tonumber(k)], - uv = obj.uvs[tonumber(j)] - } - - table.insert(face.vertices, vertice) - end - - return face -end - -local obj_builders = { - v = function(obj, raw) - local value = parse_vector3(raw) - table.insert(obj.positions, value) - end, - - vn = function(obj, raw) - local value = parse_vector3(raw) - table.insert(obj.normals, value) - end, - - vt = function(obj, raw) - local value = parse_vector2(raw) - table.insert(obj.uvs, value) - end, - - o = function(obj, raw) - local brush = { } - obj[raw] = brush - obj.brush = brush - end, - - usemtl = function(obj, raw) - obj.material = raw - end, - - f = function(obj, raw) - local brush = obj.brush - local face = parse_face(raw, obj) - - face.material = obj.material - table.insert(brush, face) - end -} - --- --- Public - -function parser.parse(obj_path) - local obj = { } - - obj.positions = { } - obj.normals = { } - obj.uvs = { } - - local content = utils.read_file(obj_path) - local lines = utils.get_lines(content) - - for _, line in ipairs(lines) do - local prefix = line:match('(%S*)%s') - local builder = obj_builders[prefix] - - if builder ~= nil then - local raw = line:match(prefix .. '%s(.*)') - builder(obj, raw) - end - end - - obj.positions = nil - obj.normals = nil - obj.uvs = nil - - obj.material = nil - obj.brush = nil - - return obj -end - -return parser \ No newline at end of file diff --git a/trenchfold/trenchfold.editor_script b/trenchfold/trenchfold.editor_script index f463a4e..2b12d6a 100644 --- a/trenchfold/trenchfold.editor_script +++ b/trenchfold/trenchfold.editor_script @@ -6,10 +6,10 @@ MIT license. See LICENSE for details. --]] -local config = require 'trenchfold.config' +local config = require 'trenchfold.utils.config' local trenchfold = require 'trenchfold.trenchfold' -local editor_script = { } +local editor_script = {} local platforms = { windows = 'x86_64-win32', @@ -77,4 +77,4 @@ function editor_script.get_commands() return { converting_command } end -return editor_script \ No newline at end of file +return editor_script diff --git a/trenchfold/trenchfold.lua b/trenchfold/trenchfold.lua index 0895c5d..3e70197 100644 --- a/trenchfold/trenchfold.lua +++ b/trenchfold/trenchfold.lua @@ -6,18 +6,23 @@ MIT license. See LICENSE for details. --]] -local utils = require 'trenchfold.utils' -local config = require 'trenchfold.config' +local utils = require 'trenchfold.utils.utils' +local config = require 'trenchfold.utils.config' local map_parser = require 'trenchfold.parsers.map' -local obj_parser = require 'trenchfold.parsers.obj' -local mtl_parser = require 'trenchfold.parsers.mtl' - -local level_builder = require 'trenchfold.builders.level' +local level_designer = require 'trenchfold.designers.level' local collection_builder = require 'trenchfold.builders.collection' local defold_builder = require 'trenchfold.builders.defold' local trenchfold = { } +local errors = {} + +-- +-- Global + +function log_error(error) + table.insert(errors, error) +end -- -- Local @@ -37,20 +42,12 @@ function trenchfold.convert() print('Parsing \'' .. map_path .. '\'') local map = map_parser.parse(map_path) - local obj_path = file_path .. '.obj' - print('Parsing \'' .. obj_path .. '\'') - local obj = obj_parser.parse(obj_path) - - local mtl_path = file_path .. '.mtl' - print('Parsing \'' .. mtl_path .. '\'') - local mtl = mtl_parser.parse(mtl_path) - print('\n# Building') print('Putting all the data together') - local level = level_builder.build(map, obj, mtl) + local level = level_designer.design(map) - print('Building the collection model') + print('Building the collection structure') local instances = collection_builder.build(level) print('Creating the contents of the files') @@ -62,7 +59,15 @@ function trenchfold.convert() utils.save_file(file.content, file.path) end - print('\n# Finished!') + if #errors > 0 then + print('\n# Finished with errors:') + + for _, error in ipairs(errors) do + print('- ' .. error) + end + else + print('\n# Finished!') + end end return trenchfold diff --git a/trenchfold/config.lua b/trenchfold/utils/config.lua similarity index 92% rename from trenchfold/config.lua rename to trenchfold/utils/config.lua index 99d56e0..1f37122 100644 --- a/trenchfold/config.lua +++ b/trenchfold/utils/config.lua @@ -6,7 +6,7 @@ MIT license. See LICENSE for details. --]] -local config = { } +local config = {} -- -- Flags @@ -16,7 +16,7 @@ config.content_flags = { [2] = 'is_separated' } -config.surface_flags = { } +config.surface_flags = {} config.physics_flags = { [1] = 'is_rotation_locked', @@ -27,16 +27,15 @@ config.physics_flags = { -- Init function config.init(folder_separator, map_directory, map_name) - -- Clear map_directory from slashes local map_directory = map_directory - if map_directory:sub(-1, -1) == '/' or map_directory:sub(-1, -1) == '\\' then + if map_directory:sub(-1, -1) == '/' or map_directory:sub(-1, -1) == '\\' then map_directory = map_directory:sub(1, -2) end - if map_directory:sub(1, 1) == '/' or map_directory:sub(1, 1) == '\\' then + if map_directory:sub(1, 1) == '/' or map_directory:sub(1, 1) == '\\' then map_directory = map_directory:sub(2) end @@ -48,7 +47,6 @@ function config.init(folder_separator, map_directory, map_name) -- Paths - config.assets_directory = 'assets' config.buffer_directory = config.map_directory .. '/buffer' config.mesh_directory = config.map_directory .. '/mesh' config.collisionobject_directory = config.map_directory .. '/collisionobject' @@ -76,4 +74,4 @@ function config.resource_path(directory_or_file_path, file_path) return resource_path end -return config \ No newline at end of file +return config diff --git a/trenchfold/utils.lua b/trenchfold/utils/utils.lua similarity index 60% rename from trenchfold/utils.lua rename to trenchfold/utils/utils.lua index 2489126..229e8d6 100644 --- a/trenchfold/utils.lua +++ b/trenchfold/utils/utils.lua @@ -6,7 +6,9 @@ MIT license. See LICENSE for details. --]] -local utils = { } +local math_min = math.min + +local utils = {} -- -- Local @@ -32,7 +34,7 @@ local flags, max_flag = make_flags_progression() -- Public function utils.keys(source) - local keys = { } + local keys = {} local index = 0 for key, _ in pairs(source) do @@ -57,10 +59,10 @@ end function utils.flags_from_integer(integer) if integer < 1 then - return { } + return {} end - local integer = math.min(integer, max_flag) + local integer = math_min(integer, max_flag) local lower_flag = nil for index = 1, #flags do @@ -99,7 +101,7 @@ function utils.shallow_copy(orig) return nil end - local copy = { } + local copy = {} for key, value in pairs(orig) do copy[key] = value @@ -113,21 +115,22 @@ function utils.has_prefix(str, prefix) end function utils.trim(str) - return str:match( "^%s*(.-)%s*$" ) + return str:match("^%s*(.-)%s*$") end function utils.is_file_exists(file) - local ok, error, code = os.rename(file, file) + local file = io.open(file, 'r') - if not ok and code == 13 then + if file then + file:close() return true end - return ok, error + return false end function utils.is_directory_exists(path) - if path:sub(-1, -1) ~= folder_separator then + if path:sub(-1, -1) ~= folder_separator then path = path .. folder_separator end @@ -171,7 +174,7 @@ function utils.read_file(path) end function utils.get_lines(content) - local lines = { } + local lines = {} for line in content:gmatch '[^\r\n]+' do table.insert(lines, line) @@ -180,51 +183,4 @@ function utils.get_lines(content) return lines end - --- Returns the center point of the brushes ----@param brushes table Brushes ----@return table result Center -function utils.get_brushes_center(brushes) - local min = { x = math.huge, y = math.huge, z = math.huge } - local max = { x = -math.huge, y = -math.huge, z = -math.huge } - - -- go through all brushes and faces to find min and max vertex coordinates - for _, brush in pairs(brushes) do - for _, face in ipairs(brush) do - for _, vertex in ipairs(face.vertices) do - local v = vertex.position - min.x = math.min(min.x, v.x) - min.y = math.min(min.y, v.y) - min.z = math.min(min.z, v.z) - max.x = math.max(max.x, v.x) - max.y = math.max(max.y, v.y) - max.z = math.max(max.z, v.z) - end - end - end - - -- calculate and return the center point - return { - x = (min.x + max.x) / 2, - y = (min.y + max.y) / 2, - z = (min.z + max.z) / 2 - } -end - - --- Applies the offset to the brushes positions ----@param brushes table Brushes ----@param offset table Offset -function utils.apply_offset_to_brushes(brushes, offset) - for _, brush in pairs(brushes) do - for _, face in ipairs(brush) do - for _, vertex in ipairs(face.vertices) do - vertex.position.x = vertex.position.x - offset.x - vertex.position.y = vertex.position.y - offset.y - vertex.position.z = vertex.position.z - offset.z - end - end - end -end - -return utils \ No newline at end of file +return utils diff --git a/trenchfold/utils/vec.lua b/trenchfold/utils/vec.lua new file mode 100644 index 0000000..5601c62 --- /dev/null +++ b/trenchfold/utils/vec.lua @@ -0,0 +1,283 @@ +--[[ + vec.lua + github.com/astrochili/defold-trenchfold + + Copyright (c) 2024 David Lannan, ReanimatorXP + MIT license. See LICENSE for details. +--]] + +local math_sqrt = math.sqrt +local math_abs = math.abs +local math_min = math.min +local math_max = math.max +local math_huge = math.huge + +local vec = {} + +-- +-- Local + +local ZERO_EPSILON = 0.1 + +local FACE_FRONT = 1 +local FACE_BACK = 2 +local FACE_ONPLANE = 3 + +-- +-- Public + +vec.FACE_FRONT = FACE_FRONT +vec.FACE_BACK = FACE_BACK +vec.FACE_ONPLANE = FACE_ONPLANE + +vec.VECTOR_ZERO = { x = 0, y = 0, z = 0 } +vec.VECTOR_UP = { x = 0, y = 1, z = 0 } +vec.VECTOR_RIGHT = { x = 1, y = 0, z = 0 } +vec.VECTOR_FORWARD = { x = 0, y = 0, z = 1 } + +function vec.dot(v1, v2) + return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z +end + +function vec.cross(v1, v2) + return { + x = v1.y * v2.z - v1.z * v2.y, + y = v1.z * v2.x - v1.x * v2.z, + z = v1.x * v2.y - v1.y * v2.x, + } +end + +function vec.length(v) + return math_sqrt(v.x * v.x + v.y * v.y + v.z * v.z) +end + +function vec.normalize(v) + local d = 1.0 / math_sqrt(v.x * v.x + v.y * v.y + v.z * v.z) + + return { + x = v.x * d, + y = v.y * d, + z = v.z * d + } +end + +function vec.multiply(v, s) + return { + x = v.x * s, + y = v.y * s, + z = v.z * s + } +end + +function vec.add(v1, v2) + return { + x = v1.x + v2.x, + y = v1.y + v2.y, + z = v1.z + v2.z + } +end + +function vec.sub(v1, v2) + return { + x = v1.x - v2.x, + y = v1.y - v2.y, + z = v1.z - v2.z + } +end + +function vec.generate_plane(plane) + if plane.normal then + return plane + end + + plane.p1 = { + x = plane.a.x, + y = plane.a.y, + z = plane.a.z + } + + plane.p2 = { + x = plane.b.x, + y = plane.b.y, + z = plane.b.z + } + + plane.p3 = { + x = plane.c.x, + y = plane.c.y, + z = plane.c.z + } + + local line1 = { + x = plane.p2.x - plane.p3.x, + y = plane.p2.y - plane.p3.y, + z = plane.p2.z - plane.p3.z + } + + local line2 = { + x = plane.p1.x - plane.p2.x, + y = plane.p1.y - plane.p2.y, + z = plane.p1.z - plane.p2.z + } + + local normal_direction = vec.cross(line1, line2) + plane.normal = vec.normalize(normal_direction) + plane.d = -vec.dot(plane.normal, plane.p1) + + return plane +end + +function vec.plane_to_defold(plane) + plane.a = { + x = plane.a.x, + y = plane.a.z, + z = -plane.a.y + } + + plane.b = { + x = plane.b.x, + y = plane.b.z, + z = -plane.b.y + } + + plane.c = { + x = plane.c.x, + y = plane.c.z, + z = -plane.c.y + } + + return plane +end + +function vec.points_to_plane(a, b, c) + local normal = vec.cross(vec.sub(b, c), vec.sub(a, b)) + normal = vec.normalize(normal) + + return { + normal = normal, + d = -vec.dot(normal, a) + } +end + +function vec.distance_to_plane(plane, point) + return vec.dot(plane.normal, point) + plane.d +end + +function vec.classify_point(plane, point) + local distance = vec.distance_to_plane(plane, point) + + if distance > ZERO_EPSILON then + return FACE_FRONT, distance + elseif distance < -ZERO_EPSILON then + return FACE_BACK, distance + end + + return FACE_ONPLANE, distance +end + +function vec.calculate_plane(verts, mapping) + local count = #mapping + + if count < 3 then + log_error('Polygon has less than 3 vertices!') + return nil + end + + local plane = { + normal = { x = 0, y = 0, z = 0 } + } + + local center_of_mass = { x = 0, y = 0, z = 0 } + + for i = 1, count do + local j = i + 1 + + if j > count then + j = 1 + end + + local mi = mapping[i] + local mj = mapping[j] + + plane.normal.x = plane.normal.x + (verts[mi].y - verts[mj].y) * (verts[mi].z + verts[mj].z) + plane.normal.y = plane.normal.y + (verts[mi].z - verts[mj].z) * (verts[mi].x + verts[mj].x) + plane.normal.z = plane.normal.z + (verts[mi].x - verts[mj].x) * (verts[mi].y + verts[mj].y) + + center_of_mass.x = center_of_mass.x + verts[mi].x + center_of_mass.y = center_of_mass.y + verts[mi].y + center_of_mass.z = center_of_mass.z + verts[mi].z + end + + local near_zero_x = (math_abs(plane.normal.x) < ZERO_EPSILON) + local near_zero_y = (math_abs(plane.normal.y) < ZERO_EPSILON) + local near_zero_z = (math_abs(plane.normal.z) < ZERO_EPSILON) + + if near_zero_x and near_zero_y and near_zero_z then + return nil + end + + local magnitude = vec.length(plane.normal) + if magnitude < ZERO_EPSILON then + return nil + end + + plane.normal.x = plane.normal.x / magnitude + plane.normal.y = plane.normal.y / magnitude + plane.normal.z = plane.normal.z / magnitude + + center_of_mass.x = center_of_mass.x / count + center_of_mass.y = center_of_mass.y / count + center_of_mass.z = center_of_mass.z / count + + plane.d = -vec.dot(center_of_mass, plane.normal) + + return plane +end + +---Returns the center point of the brushes +---@param brushes [table] +---@return { x:number, y:number, z:number } center +function vec.get_brushes_center(brushes) + local min = { x = math_huge, y = math_huge, z = math_huge } + local max = { x = -math_huge, y = -math_huge, z = -math_huge } + + -- Go through all brushes and faces to find min and max vertice coordinates + for _, brush in pairs(brushes) do + for _, face in ipairs(brush) do + for _, vertice in ipairs(face.vertices) do + local position = vertice.position + + min.x = math_min(min.x, position.x) + min.y = math_min(min.y, position.y) + min.z = math_min(min.z, position.z) + max.x = math_max(max.x, position.x) + max.y = math_max(max.y, position.y) + max.z = math_max(max.z, position.z) + end + end + end + + -- Calculate and return the center point + return { + x = (min.x + max.x) / 2, + y = (min.y + max.y) / 2, + z = (min.z + max.z) / 2, + } +end + +---Applies the offset to the brushes positions +---@param brushes [table] +---@param offset { x:number, y:number, z:number } +function vec.apply_offset_to_brushes(brushes, offset) + for _, brush in pairs(brushes) do + for _, face in ipairs(brush) do + for _, vertex in ipairs(face.vertices) do + vertex.position.x = vertex.position.x - offset.x + vertex.position.y = vertex.position.y - offset.y + vertex.position.z = vertex.position.z - offset.z + end + end + end +end + +return vec