* bsdiff submodule

* All the other stuff

* Upgrade to 0.2 of SS14.Shared.BSdiff

* Use streams. Even faster!

* All rendering refactors should start with the killing of the SFML submodule. Trust me I've done this before!

* And after that comes the removal of the references in the project files!

Of course, neither of these compile. Meh.

* IoC loads, now to port the entire client over.

* More work

* Trying to debug the null exception.

* More messy WiP code

* More WiP

* Transform components now make Node2Ds inside the scene tree.

* Work on the UI system.

* Redo project configurations to work better.

* More work on the Godot GUI binding.

Added BaseButton and Button bindings, including events for them.

More APIs on Controls like GetChild() and alike.

Ability to instance a Godot PackedScene and have it automatically be wrapped by the SS14 GUI wrapper, thus allowing the usage of Godot's GUI editor while maintaining the good C# API.

* Fix incorrect sRGB profile on bootsplash.png

* LineEdit API.

* Maybe commit the csproj too.

* Exit button works now!

* Change MainMenu root to a normal Control.

* Some stuff messing with window popups.

* Fix popup not scaling down again after housing large text.

* Make popup dialog helper.

* Auto wrap controls that spawn others when not instancing.

* Nice typo me.

* Work getting server connections working.

* Server didn't start anymore due to still trying to load removed zip packs.
* Made MainMenu dump UI elements in shutdown.

* We now successfully connect to the server.

* WE Ingame NOW!

* Basic map rendering works now!

* Camera & Input work.

Though I'm not sure whether the input issues are this piss poor laptop or actual bugs.

* Fix input issues.

KeyHeld() was firing KeyUp() into States, which broke everything.

* WiP Debug console.

UI Works, command processing doesn't.

* Remove some debug logs.

* Fixing focusing issues with the Debug Console.

* In which I copy paste in the DebugConsole code.

* More WiP DebugConsole work.

* Use RichTextLabel for DebugConsole.

* Disable DebugConsole test text.

Also disable context menu on the IP Box because of font size issues.

* ITextureSource for texture wrapping.

* Make resource loading not copy every build.

It now loads from repo root. Release builds are TODO.

* Bsdiff 0.3 for fixed targets.

* Fix iCCP sRGB errors.

* Give full texture paths to prototypes.

* Sprite component old API restored. *shudder*

* Finish sprite rendering.

By hitting delete on basically everything.

* Fixing camera delay with this one weird trick!

The input lag was because the camera lagged, not because the input lagged. I didn't have visualization.

* Use greyshirt as temporary human replacement.

* FPS Counter.

* Fix Windows, re-add space tile def.

Windows broke because Mono on Windows can't use System.IO.Compression.
The GZIP streams use by MsgFullState have been moved to
ICSharpCode.SharpZipLib.GZip. Works fine.

Also re-added the space tile def because everything blows up otherwise I
guess.

* Debug colliders works.

* Highly WiP varied Window code.

* Work on the quit button. Doesn't work yet. Needs state overhaul.

* Do a better job of freeing Godot objects correctly.

* Simplify game states.

States are no longer cached. They're GC'd after shut down. Their creation has been simplified too due to IoCManager.InjectDependencies().

This makes returning to main menu work GUI wise.

* Be less aggressive on resource freeing. Only dispose Mono handles now.

* More work getting quit to work.

* Grids get cleared upon disconnect correctly.

* Disable rendering of the filler space tile.

I'll leave a nice parallax background up to content.

* Oops forgot to stage these.

* Fix issues in the csproj file.

* Make controls have own namespace.

* Chatbox GUI, other stuff.

Compiles but doesn't quite work yet.

* Git fuck you

* Chat works.

* Clicking on a not-control removes focus now.

* Fix an exception.

* Update mono. Use enums instead of constants now!

* Fix window dragging

* Fix chat stealing focus from other LineEdits on MacOS I guess.

* Correctly handle client shutdown & server disconnect.

* Fix error spam on client shutdown probably.

* Tiny amount of lighting code to have access to it from other computers

* Lighting works mostly.

* Godot.Texture.Flags -> FlagsEnum

* More WiP lighting code

* Turns out you can't control custom layers with cameras eh.

* WiP lighting almost works

* Lighting WORKS!

* Lobby thing.

* Some options menu work. I'm gonna try something

* Options menu works.

* More improvements.

* In game options menu works.

* Remove a debug log.

* Fix Window Movement and Drag.

* Huh Godot edited these scenes.

* Forgot to commit projects

* It compiles.

* I never claimed that.

* Update sandbox csprojs a bit.

* Makes sandbox load.

Client goes ingame but dies due to broken map manager networking code.

* Fix grids.

* Fix relogging duplicating entities inside Godot.

* Eyes!

* How about removing the TODO entry.

* Auto fetch bsdiffwrap.

* Update TODO.

* Remove TODO list.

* Tilemaps get cleaned on disconnect now.

* Fix bsdiff submodule HOPEFULLY

* Highly WiP and not compiling or working placement.

Yes this is the best way for me to share code between my computers.

* Fix bsdiff with spaces in path names bloody MSBuild + cmd.

* PLACEMENT KINDA WORKS.

NO RENDERING OR TILES YET.

ALSO I NEED TO REBASE THIS.

* Kill EngineContentPack.zip

* Fix map code and remove sprite components from the server.

* Ok entity placement mostly works.

* Grid lines sorta work but SnapgridCenter is still broke.

* Fix Center Grid Rendering.

* Work getting tile spawns to work. Not quite there yet.

* Fix placement and remove tiledef networking.

It werks!

* Remove SolutionSpecific.targets

Didn't end up being needed.

* Kill off wearableanimatedsprite component states.

* Do not put binaries relative to the solution.

* Remove shaders, reorganize prototypes for content.

* Reimplement SpriteComponent color.

* Correctly set __engine_human DrawDepth.

* Round coordinates passed to Godot to pixels to prevent issues.

* Remove some GUI log spam.

* Resource cache now uses the VFS more-proper but still awfully.

* Fix color reading code on SpriteComponent.

See, e94bf4854b106da51c89eeeab9a609be369f9622 did work.
The problem was all the code it NEEDED to work was broken.

* Step one into trying to fix Travis and AppVeyor.

* Auto download GodotSharp on Travis.

* Let's not make dumb mistakes with the cache directories.

* 2018 and requests still isn't in the stdlib.

* This maybe?

* This maybe?

* AppVeyor time.

* How 'bout we don't download sonarqube at all outside master.

* Try to cache on AppVeyor.

* Fix mac builds maybe.

* Finishing up Godot: cleanup.

* Eh this works too for SS14Loader.

* Remove some dead files

* Make Omnisharp not choke on buildchecker.

* Controls for box containers.

* Remove debug port from project.godot.

* Control and drawing improvements.

Controls are now properly capable of overriding Godot virtuals.
Importantly minsize calculations and stuff like HasPoint.

There is now a system for doing direct drawing on controls.
This is done with a DrawingHandle system.

TextureSource has been renamed to Texture.

Also there's a wrapping for Godot's style boxes now.

* Yeah don't insult omnisharp.

* Stylebox fixes and margin API on controls.

* Hey it compiles!

* Fix things.

* Fix null godot texture conversion.

* Fix client transform parenting.

* Fix movement sticking to north.

* Some updates.

* Work on exports.

* Unstubs client/Godot timing code.

It's mostly implemented now.

* Client unit tests work.

Jesus Christ.

* Let's figure out why AppVeyor hates me.

* Does the remie.

* Update GodotSharp download URL.

* Export templates for the builds server.

* Remove mac export icon.

* TO THE BUILDS SERVER.

* Probably implement the effects system in Godot.

* Fix mouse handling everywhere.

* Fix some CollidableComponent exceptions.

* Effects system works + unshaded option for LAZORS.

* Let's not fuck with Angle yet.

* Make file/line numbers show up on Windows Godot.
This commit is contained in:
Pieter-Jan Briers
2018-04-07 15:24:46 +02:00
committed by GitHub
parent 5f5c5f13c9
commit b5c0202647
503 changed files with 15671 additions and 21518 deletions

View File

@@ -11,17 +11,24 @@ pull_requests:
image: Visual Studio 2017
install:
- ps: if (-Not $env:APPVEYOR_PULL_REQUEST_NUMBER) { cinst msbuild-sonarqube-runner }
- ps: if (-Not $env:APPVEYOR_PULL_REQUEST_NUMBER -And $env:APPVEYOR_REPO_BRANCH -Eq "master") { cinst msbuild-sonarqube-runner }
before_build:
- cmd: py -3.5 -m pip install --user requests
- cmd: py -3.5 Tools\download_godotsharp.py
- cmd: py -3.5 RUN_THIS.py --no-prompt
- cmd: py -3.5 Resources\buildResourcePack.py --resources-dir .\Resources --out .\Resources\ResourcePack.zip --atlas-tool .\Tools\AtlasTool.exe --no-animations --to-stderr
- cmd: nuget restore SpaceStation14.sln
- ps: if (-Not $env:APPVEYOR_PULL_REQUEST_NUMBER -And $env:APPVEYOR_REPO_BRANCH -Eq "master") { MSBuild.SonarQube.Runner.exe begin /k:"ss14" /d:"sonar.host.url=https://sonarqube.com" /d:"sonar.login=$env:sonarqubekey" /d:"sonar.organization=space-wizards" /d:"sonar.exclusions=SFML/**"}
platform: x86
platform: x64
configuration: Debug
cache:
- packages -> **\packages.config
- Dependencies
- SS14.Client.Godot\.mono\assemblies\GodotSharp.dll
build:
project: SpaceStation14.sln
parallel: false

4
.gitignore vendored
View File

@@ -82,6 +82,10 @@ Third-Party/extlibs/Mac/
# Or the automatically-fetched Windows natives, for that matter.
Third-Party/extlibs/Windows/
# Actually I'll make this folder because SS14.Shared.Bsdiff isn't third-party is it?
Dependencies/
# Python stuff
__pycache__
.mypy_cache

6
.gitmodules vendored
View File

@@ -1,3 +1,3 @@
[submodule "SFML"]
path = SFML
url = https://github.com/space-wizards/SFML.Net.git
[submodule "SS14.Shared.Bsdiff"]
path = SS14.Shared.Bsdiff
url = https://github.com/space-wizards/ss14.shared.bsdiff.git

View File

@@ -15,16 +15,25 @@ addons:
packages:
- python3.6
cache:
directories:
- packages/
- Dependencies/
- SS14.Client.Godot/.mono/assemblies/
#before_install:
# - if [ $TRAVIS_OS_NAME = osx ]; then brew update && brew upgrade python; fi
before_script:
- "if [ $TRAVIS_OS_NAME = linux ]; then pyenv shell 3.6; fi"
- "pip3 install --user requests"
- "nuget restore SpaceStation14.sln"
- "python3.6 RUN_THIS.py --no-prompt"
- "Tools/download_godotsharp.py"
script:
- "python3.6 ./Resources/buildResourcePack.py --resources-dir ./Resources --out ./Resources/ResourcePack.zip --no-atlas --no-animations --to-stderr"
- "msbuild /p:Configuration=Release /p:Platform=x86 /p:HEADLESS=1 /nologo /m /p:AllowMissingMacNatives=yes SpaceStation14.sln /p:Python=python3.6"
- "msbuild /p:Configuration=Debug /p:Platform=x64 /p:HEADLESS=1 /nologo /m /p:AllowMissingMacNatives=yes SpaceStation14.sln /p:Python=python3.6"
- "cd packages/NUnit.ConsoleRunner.3.7.0/tools"
- "mono --debug nunit3-console.exe ../../../bin/UnitTesting/SS14.UnitTesting.dll"

View File

@@ -55,6 +55,17 @@
<Optimize>True</Optimize>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugSymbols>False</DebugSymbols>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp">
<Name>Microsoft.CSharp</Name>
@@ -274,4 +285,4 @@
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>
</Project>

View File

@@ -252,9 +252,20 @@ namespace Lidgren.Network
}
if (m_messageReceivedEvent != null)
{
m_messageReceivedEvent.Set();
m_messageReceivedEvent.Close();
m_messageReceivedEvent = null;
try
{
m_messageReceivedEvent.Set();
m_messageReceivedEvent.Close();
}
catch (ObjectDisposedException)
{
// For some reason, inside Godot this seems to throw ObjectDisposedExceptions on client shutdown.
// If it's already disposed then I guess this is fine?
}
finally
{
m_messageReceivedEvent = null;
}
}
}
finally

View File

@@ -6,4 +6,7 @@
<RemoveDir Directories="$(OutputPath)Resources" />
<Copy SourceFiles="@(_ResourceFiles)" DestinationFolder="$(OutputPath)Resources\%(RecursiveDir)" />
</Target>
<Target Name="CopyBsdiffWrap">
<Exec Command="$(Python) ../Tools/download_bsdiffwrap.py $(Platform) $(TargetOS) $(OutputPath)" CustomErrorRegularExpression="^Error" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -1,63 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ParticleSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Sprite>star1</Sprite>
<EmitterPosition>
<X>358</X>
<Y>385</Y>
</EmitterPosition>
<EmissionOffset>
<X>0</X>
<Y>0</Y>
</EmissionOffset>
<EmitRate>30</EmitRate>
<MaximumParticleCount>200</MaximumParticleCount>
<EmissionRadiusRange>
<X>5</X>
<Y>20</Y>
</EmissionRadiusRange>
<Velocity>
<X>0</X>
<Y>0</Y>
</Velocity>
<VelocityVariance>0</VelocityVariance>
<Acceleration>
<X>0</X>
<Y>1.5</Y>
</Acceleration>
<AccelerationVariance>0</AccelerationVariance>
<RadialVelocity>10</RadialVelocity>
<RadialVelocityVariance>0</RadialVelocityVariance>
<RadialAcceleration>-1.25</RadialAcceleration>
<RadialAccelerationVariance>0</RadialAccelerationVariance>
<TangentialVelocity>0</TangentialVelocity>
<TangentialVelocityVariance>0</TangentialVelocityVariance>
<TangentialAcceleration>0</TangentialAcceleration>
<TangentialAccelerationVariance>0</TangentialAccelerationVariance>
<Lifetime>10</Lifetime>
<LifetimeVariance>2</LifetimeVariance>
<SpinVelocity>
<X>0</X>
<Y>0</Y>
</SpinVelocity>
<SpinVelocityVariance>0</SpinVelocityVariance>
<SizeRange>
<X>0.1</X>
<Y>0.05</Y>
</SizeRange>
<SizeVariance>0.05</SizeVariance>
<ColorRange>
<Start>
<A>255</A>
<R>113</R>
<G>199</G>
<B>255</B>
</Start>
<End>
<A>80</A>
<R>103</R>
<G>180</G>
<B>255</B>
</End>
</ColorRange>
<ColorVariance>0</ColorVariance>
</ParticleSettings>

View File

@@ -1,63 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ParticleSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Sprite>star1</Sprite>
<EmitterPosition>
<X>358</X>
<Y>385</Y>
</EmitterPosition>
<EmissionOffset>
<X>0</X>
<Y>0</Y>
</EmissionOffset>
<EmitRate>30</EmitRate>
<MaximumParticleCount>200</MaximumParticleCount>
<EmissionRadiusRange>
<X>5</X>
<Y>20</Y>
</EmissionRadiusRange>
<Velocity>
<X>0</X>
<Y>0</Y>
</Velocity>
<VelocityVariance>0</VelocityVariance>
<Acceleration>
<X>0</X>
<Y>1.5</Y>
</Acceleration>
<AccelerationVariance>0</AccelerationVariance>
<RadialVelocity>10</RadialVelocity>
<RadialVelocityVariance>0</RadialVelocityVariance>
<RadialAcceleration>-1.25</RadialAcceleration>
<RadialAccelerationVariance>0</RadialAccelerationVariance>
<TangentialVelocity>0</TangentialVelocity>
<TangentialVelocityVariance>0</TangentialVelocityVariance>
<TangentialAcceleration>0</TangentialAcceleration>
<TangentialAccelerationVariance>0</TangentialAccelerationVariance>
<Lifetime>10</Lifetime>
<LifetimeVariance>2</LifetimeVariance>
<SpinVelocity>
<X>0</X>
<Y>0</Y>
</SpinVelocity>
<SpinVelocityVariance>0</SpinVelocityVariance>
<SizeRange>
<X>0.1</X>
<Y>0.05</Y>
</SizeRange>
<SizeVariance>0.05</SizeVariance>
<ColorRange>
<Start>
<A>255</A>
<R>228</R>
<G>26</G>
<B>199</B>
</Start>
<End>
<A>30</A>
<R>223</R>
<G>31</G>
<B>212</B>
</End>
</ColorRange>
<ColorVariance>0</ColorVariance>
</ParticleSettings>

View File

@@ -1,63 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ParticleSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Sprite>smoke</Sprite>
<EmitterPosition>
<X>358</X>
<Y>385</Y>
</EmitterPosition>
<EmissionOffset>
<X>0</X>
<Y>0</Y>
</EmissionOffset>
<EmitRate>11</EmitRate>
<MaximumParticleCount>200</MaximumParticleCount>
<EmissionRadiusRange>
<X>0</X>
<Y>0</Y>
</EmissionRadiusRange>
<Velocity>
<X>0</X>
<Y>-0</Y>
</Velocity>
<VelocityVariance>0</VelocityVariance>
<Acceleration>
<X>0</X>
<Y>-13</Y>
</Acceleration>
<AccelerationVariance>3</AccelerationVariance>
<RadialVelocity>0</RadialVelocity>
<RadialVelocityVariance>0</RadialVelocityVariance>
<RadialAcceleration>0</RadialAcceleration>
<RadialAccelerationVariance>0</RadialAccelerationVariance>
<TangentialVelocity>0</TangentialVelocity>
<TangentialVelocityVariance>0</TangentialVelocityVariance>
<TangentialAcceleration>0</TangentialAcceleration>
<TangentialAccelerationVariance>0</TangentialAccelerationVariance>
<Lifetime>3</Lifetime>
<LifetimeVariance>0</LifetimeVariance>
<SpinVelocity>
<X>0</X>
<Y>0</Y>
</SpinVelocity>
<SpinVelocityVariance>0.3</SpinVelocityVariance>
<SizeRange>
<X>0</X>
<Y>1</Y>
</SizeRange>
<SizeVariance>0</SizeVariance>
<ColorRange>
<Start>
<A>208</A>
<R>128</R>
<G>128</G>
<B>128</B>
</Start>
<End>
<A>0</A>
<R>48</R>
<G>48</G>
<B>48</B>
</End>
</ColorRange>
<ColorVariance>0</ColorVariance>
</ParticleSettings>

View File

@@ -1,63 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ParticleSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Sprite>star1</Sprite>
<EmitterPosition>
<X>358</X>
<Y>385</Y>
</EmitterPosition>
<EmissionOffset>
<X>0</X>
<Y>0</Y>
</EmissionOffset>
<EmitRate>40</EmitRate>
<MaximumParticleCount>200</MaximumParticleCount>
<EmissionRadiusRange>
<X>10</X>
<Y>170</Y>
</EmissionRadiusRange>
<Velocity>
<X>0</X>
<Y>-20</Y>
</Velocity>
<VelocityVariance>0</VelocityVariance>
<Acceleration>
<X>0</X>
<Y>-30</Y>
</Acceleration>
<AccelerationVariance>0</AccelerationVariance>
<RadialVelocity>0</RadialVelocity>
<RadialVelocityVariance>1</RadialVelocityVariance>
<RadialAcceleration>10</RadialAcceleration>
<RadialAccelerationVariance>0</RadialAccelerationVariance>
<TangentialVelocity>0</TangentialVelocity>
<TangentialVelocityVariance>1</TangentialVelocityVariance>
<TangentialAcceleration>0</TangentialAcceleration>
<TangentialAccelerationVariance>0.2</TangentialAccelerationVariance>
<Lifetime>3</Lifetime>
<LifetimeVariance>0</LifetimeVariance>
<SpinVelocity>
<X>0</X>
<Y>0</Y>
</SpinVelocity>
<SpinVelocityVariance>2</SpinVelocityVariance>
<SizeRange>
<X>1</X>
<Y>1</Y>
</SizeRange>
<SizeVariance>0</SizeVariance>
<ColorRange>
<Start>
<A>255</A>
<R>0</R>
<G>0</G>
<B>255</B>
</Start>
<End>
<A>255</A>
<R>0</R>
<G>0</G>
<B>0</B>
</End>
</ColorRange>
<ColorVariance>0</ColorVariance>
</ParticleSettings>

View File

@@ -4,12 +4,11 @@
components:
- type: Transform
- type: Clickable
- type: WearableAnimatedSprite
sprite: player_jumpsuit_gray
notWornSprite: janitorsuit
- type: Sprite
sprite: Items/janitorsuit.png
- type: Icon
icon: janitorsuit
icon: Items/janitorsuit.png
- type: BoundingBox
- type: Physics
@@ -21,12 +20,11 @@
components:
- type: Transform
- type: Clickable
- type: WearableAnimatedSprite
sprite: player_shoes
notWornSprite: shoes
- type: Sprite
sprite: Items/janitorsuit.png
- type: Icon
icon: shoes
icon: Items/shoes.png
- type: BoundingBox
- type: Physics

View File

@@ -4,12 +4,11 @@
components:
- type: Transform
- type: Clickable
- type: WearableAnimatedSprite
sprite: player_toolbox
notWornSprite: toolbox_r
- type: Sprite
sprite: Items/toolbox_r.png
- type: Icon
icon: toolbox_r
icon: Items/toolbox_r.png
- type: BoundingBox
- type: Physics

View File

@@ -7,11 +7,11 @@
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- door_ew
- door_ewo
- Objects/door_ew.png
- Objects/door_ewo.png
- type: Icon
icon: door_ew
icon: Objects/door_ew.png
- type: BoundingBox
- type: Collidable

View File

@@ -4,12 +4,11 @@
components:
- type: Transform
- type: Clickable
- type: WearableAnimatedSprite
sprite: player_mop
notWornSprite: mop
- type: Sprite
sprite: mop
- type: Icon
icon: mop
icon: Items/mop.png
- type: BoundingBox
- type: Physics

View File

@@ -6,13 +6,15 @@
- type: Clickable
- type: Sprite
sprites:
- wall_light
- Objects/wall_light.png
- type: Icon
icon: wall_light
icon: Objects/wall_light.png
- type: PointLight
radius: 1024
radius: 8
energy: 1.2
offset: "0, -16"
color: "#DCDCC6"
placement:

View File

@@ -5,18 +5,17 @@
components:
- type: Transform
- type: Clickable
- type: AnimatedSprite
sprite: player
- type: Sprite
sprite: Mob/greyshirt.png
scale: 2, 2
drawdepth: MobBase
- type: Icon
icon: player
icon: Mob/greyshirt.png
- type: BoundingBox
sizeX: 0.9
sizeY: 0.9
offsetY: 0.6
aabb: "0.15,-0.45,1.05,0.45"
- type: ParticleSystem
- type: Physics
mass: 5

View File

@@ -6,16 +6,14 @@
- type: Clickable
- type: Sprite
sprites:
- worktop_single
- Objects/worktop_single.png
drawdepth: Tables
- type: Icon
icon: worktop_single
icon: Objects/worktop_single.png
- type: BoundingBox
sizeX: 2
sizeY: 1.4
offsetY: 0.25
aabb: "-0.45,-1,0.95,1"
- type: Collidable
DebugColor: "#0000FF"

View File

@@ -6,7 +6,10 @@
- type: Clickable
- type: Sprite
sprites:
- fire_extinguisher
- Objects/fire_extinguisher.png
- type: Icon
icon: Objects/fire_extinguisher.png
placement:
mode: AlignWall
@@ -26,10 +29,10 @@
- type: Clickable
- type: Sprite
sprites:
- fire_alarm_off
- Objects/fire_alarm_off.png
- type: Icon
icon: fire_alarm_off
icon: Objects/fire_alarm_off.png
placement:
mode: AlignWall
@@ -49,10 +52,10 @@
- type: Clickable
- type: Sprite
sprites:
- med_cabinet
- Objects/med_cabinet.png
- type: Icon
icon: med_cabinet
icon: Objects/med_cabinet.png
placement:
mode: AlignWall

View File

@@ -7,18 +7,16 @@
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- wall_texture
- Tiles/wall_texture.png
- type: Icon
icon: wall_texture
icon: Tiles/wall_texture.png
- type: BoundingBox
- type: Collidable
- type: Occluder
sizeX: 32
sizeY: 32
offsetX: 16
offsetY: 16
placement:
snap:

View File

@@ -1,304 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<SavedEntities>
<SavedEntity X="-32" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-31" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-30" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-29" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-28" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-27" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-26" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-25" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-24" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-23" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-22" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-21" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-20" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-19" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-18" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-17" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-16" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-15" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-14" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-13" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-12" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-11" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-10" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-9" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-8" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-7" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-6" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-4" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-3" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-2" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-1" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="0" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="1" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="2" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="3" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="4" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="6" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="7" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="8" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="9" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="10" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="11" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="12" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="13" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="14" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="15" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="16" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="17" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="18" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="19" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="20" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="21" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="22" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="23" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="24" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="25" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="26" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="27" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="28" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="29" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="30" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="31" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-31" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-31" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-30" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-30" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-29" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-29" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-28" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-28" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-27" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-27" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-26" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-26" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-25" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-25" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-24" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-24" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-23" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-23" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-22" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-22" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-21" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-21" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-20" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-20" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-19" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-19" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-18" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-18" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-17" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-17" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-16" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-16" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-15" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-15" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-14" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-14" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-13" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-13" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-12" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-12" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-11" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-11" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-10" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-10" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-9" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-9" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-8" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-8" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="-2" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="-1" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="0" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="1" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="2" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-6" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-6" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-5" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-5" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-4" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-4" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-4" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-4" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-3" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-3" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-3" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-3" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-2" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-2" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-2" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-2" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-1" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-1" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-1" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-1" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="0" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="0" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="0" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="0" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="1" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="1" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="1" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="1" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="2" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="2" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="2" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="2" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="3" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="3" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="3" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="3" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="4" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="4" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="4" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="4" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="5" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="5" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="6" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="6" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="-2" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="-1" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="0" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="1" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="2" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="8" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="8" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="9" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="9" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="10" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="10" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="11" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="11" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="12" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="12" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="13" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="13" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="14" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="14" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="15" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="15" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="16" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="16" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="17" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="17" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="18" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="18" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="19" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="19" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="20" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="20" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="21" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="21" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="22" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="22" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="23" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="23" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="24" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="24" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="25" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="25" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="26" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="26" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="27" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="27" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="28" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="28" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="29" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="29" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="30" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="30" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="31" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="31" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-31" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-30" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-29" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-28" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-27" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-26" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-25" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-24" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-23" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-22" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-21" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-20" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-19" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-18" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-17" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-16" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-15" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-14" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-13" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-12" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-11" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-10" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-9" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-8" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-7" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-6" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-4" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-3" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-2" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-1" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="0" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="1" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="2" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="3" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="4" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="6" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="7" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="8" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="9" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="10" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="11" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="12" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="13" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="14" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="15" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="16" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="17" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="18" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="19" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="20" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="21" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="22" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="23" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="24" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="25" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="26" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="27" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="28" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="29" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="30" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="31" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="10.3125" Y="9.375" template="__engine_toolbox" />
<SavedEntity X="0" Y="0" template="__engine_wall_light" name="FuckingLight" />
<SavedEntity X="13.49975" Y="9.267462" template="__engine_janitor_suit" name="Janitor_Suit" />
<SavedEntity X="13.49975" Y="9.267462" template="__engine_shoes" />
<SavedEntity X="78.9826" Y="73.99996" template="__engine_door" />
<SavedEntity X="79.01385" Y="67.99996" template="__engine_door" />
<SavedEntity X="4" Y="4" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="8" Y="8" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="12" Y="12" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="16" Y="16" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="20" Y="20" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="24" Y="24" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="18.84556" Y="4.915811" template="__engine_worktop" />
<SavedEntity X="13.49975" Y="9.267462" template="__engine_mop" />
<SavedEntity X="8.914371" Y="2.878233" template="__engine_extinguisher" name="Extinguisher" />
<SavedEntity X="17.00254" Y="3.034483" template="__engine_fire_alarm" name="FireAlarm" />
<SavedEntity X="21.36345" Y="7.079962" template="__engine_med_cabinet" name="MedCabinet" />
</SavedEntities>

View File

@@ -1,6 +0,0 @@
#version 120
void main()
{
gl_FragColor = vec4(0,0,0,1);
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,69 +0,0 @@
#version 120
// Amount to blur.
float blurAmount = 0.0135;
// Our texture sampler.
uniform sampler2D sourceSampler;
// Function to perform the sampling for the blur.
vec4 psBlurSample(vec2 Tex , vec4 baseColor, float offX, float offY)
{
vec4 Color; // Output.
float scaler = 0; // Scale of the sample.
// Calculate sample.
scaler = (1 + (offY * offX));
Tex.x = Tex.x + offX;
Tex.y = Tex.y + offY;
Color = baseColor + texture2D(sourceSampler, Tex / scaler);
return Color;
}
vec4 Blur()
{
vec4 Color = vec4(0); // Output.
float Alpha = 0; // Alpha component.
float blurValue = 0; // Blur value.
blurValue = blurAmount / 1000.0f;
if (blurAmount < 0)
blurValue = 0;
if (blurAmount > 10)
blurValue = 0.01;
Color = texture2D(sourceSampler, gl_TexCoord[0].xy);
// Store the alpha for later, we don't want to blur that.
Alpha = Color.a;
// Sample eight directions + the center.
Color = psBlurSample(gl_TexCoord[0].xy, Color, -blurValue, -blurValue);
Color = psBlurSample(gl_TexCoord[0].xy, Color, 0, -blurValue);
Color = psBlurSample(gl_TexCoord[0].xy, Color, blurValue, -blurValue);
Color = psBlurSample(gl_TexCoord[0].xy, Color, -blurValue, blurValue);
Color = psBlurSample(gl_TexCoord[0].xy, Color, 0, blurValue);
Color = psBlurSample(gl_TexCoord[0].xy, Color, blurValue, blurValue);
Color = psBlurSample(gl_TexCoord[0].xy, Color, -blurValue, 0);
Color = psBlurSample(gl_TexCoord[0].xy, Color, blurValue, 0);
// Calculate final color.
Color.rgb = clamp((Color.rgb / 9) * vec3(.8,.8,.8),0,1);
// Restore and combine the alpha.
Color.a = Alpha * float(1);
return Color;
}
void main()
{
gl_FragColor = Blur();
}

View File

@@ -1,13 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,56 +0,0 @@
#version 120
uniform sampler2D backgroundSampler;
uniform sampler2D spriteSampler;
vec2 spriteDimensions;
vec2 backbufferSize;
float cloakAmount = 0;
float refractionIndex = 1;
vec4 simplePS()
{
vec2 scaler = spriteDimensions/backbufferSize;
vec2 backPos = vec2(0,0);
vec4 spriteColor;
vec4 newColor;
spriteColor = texture2D(spriteSampler, gl_TexCoord[0].xy);
if (spriteColor.a > 0)
{
backPos = (gl_TexCoord[0].xy * scaler);
if ((spriteColor.r >= 0) && (spriteColor.r < 0.5))
backPos.x += (spriteColor.r * cloakAmount) * (scaler.x / refractionIndex);
else
backPos.x -= (spriteColor.r * cloakAmount) * (scaler.x / refractionIndex);
if ((spriteColor.g >= 0.0) && (spriteColor.g < 0.5))
backPos.y += (spriteColor.g * cloakAmount) * (scaler.y / refractionIndex);
else
backPos.y -= (spriteColor.g * cloakAmount) * (scaler.y / refractionIndex);
backPos.x += (spriteColor.b * cloakAmount) * (scaler.y / refractionIndex);
backPos.y += (spriteColor.b * cloakAmount) * (scaler.y / refractionIndex);
newColor = texture2D(backgroundSampler, backPos);
newColor = (newColor * (1 - (spriteColor.a - cloakAmount))) + (spriteColor * (spriteColor.a - cloakAmount));
newColor.a = spriteColor.a;
newColor *= vec4(.8,.8,.8,1);
}
return newColor;
}
void main()
{
gl_FragColor = simplePS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,25 +0,0 @@
#version 120
uniform sampler2D sceneSampler;
float duration;
vec3 color_offset = vec3(0.2, 0.4, 0.3);
int Iterations = 128;
vec2 Pan = vec2(0.3776610, -0.3435075);
float Zoom = 0.4;
float Aspect = 1;
vec2 JuliaSeed = vec2(-0.439, 0.576);
vec3 ColorScale = vec3(6, 5, 4);
vec4 DeathShaderPS()
{
vec4 c = texture2D(sceneSampler, gl_TexCoord[0].xy);
c.b = c.g = 0;
return c;
}
void main()
{
gl_FragColor = DeathShaderPS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,25 +0,0 @@
#version 120
#define RADIUS 11
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurHorizontal()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
{
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x + weights_offsets[i].y, gl_TexCoord[0].y))* weights_offsets[i].x;
}
return color;
}
void main()
{
gl_FragColor = GaussianBlurHorizontal();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,23 +0,0 @@
#version 120
#define RADIUS 11
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurVertical()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
{
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x, gl_TexCoord[0].y + weights_offsets[i].y)) * weights_offsets[i].x; // M A G I K
}
return color;
}
void main()
{
gl_FragColor = GaussianBlurVertical();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,22 +0,0 @@
#version 120
#define RADIUS 3
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurHorizontal()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x + weights_offsets[i].y, gl_TexCoord[0].y)) * weights_offsets[i].x;
return color;
}
void main()
{
gl_FragColor = GaussianBlurHorizontal();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,22 +0,0 @@
#version 120
#define RADIUS 3
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurVertical()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x, gl_TexCoord[0].y + weights_offsets[i].y)) * weights_offsets[i].x;
return color;
}
void main()
{
gl_FragColor = GaussianBlurVertical();
}

View File

@@ -1,18 +0,0 @@
#version 120
attribute vec4 a_color;
attribute vec3 a_position;
attribute vec2 a_texCoord0;
varying vec2 TexCoord;
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,23 +0,0 @@
#version 120
#define RADIUS 5
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurHorizontal()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x + weights_offsets[i].y, gl_TexCoord[0].y)) * weights_offsets[i].x;
return color;
}
void main()
{
gl_FragColor = GaussianBlurHorizontal();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,24 +0,0 @@
#version 120
#define RADIUS 5
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurVertical()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x, gl_TexCoord[0].y + weights_offsets[i].y)) * weights_offsets[i].x;
return color;
}
void main()
{
gl_FragColor = GaussianBlurVertical();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,23 +0,0 @@
#version 120
#define RADIUS 7
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurHorizontal()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x + weights_offsets[i].y, gl_TexCoord[0].y)) * weights_offsets[i].x;
return color;
}
void main()
{
gl_FragColor = GaussianBlurHorizontal();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,22 +0,0 @@
#version 120
#define RADIUS 7
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurVertical()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x, gl_TexCoord[0].y + weights_offsets[i].y)) * weights_offsets[i].x;
return color;
}
void main()
{
gl_FragColor = GaussianBlurVertical();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,23 +0,0 @@
#version 120
#define RADIUS 9
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurHorizontal()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x + weights_offsets[i].y, gl_TexCoord[0].y)) * weights_offsets[i].x;
return color;
}
void main()
{
gl_FragColor = GaussianBlurHorizontal();
}

View File

@@ -1,14 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,22 +0,0 @@
#version 120
#define RADIUS 9
#define KERNEL_SIZE (RADIUS * 2 + 1)
uniform vec2 weights_offsets[KERNEL_SIZE];
uniform sampler2D colorMapTexture;
vec4 GaussianBlurVertical()
{
vec4 color = vec4(0,0,0,0);
for (int i = 0; i < KERNEL_SIZE; ++i)
color += texture2D(colorMapTexture, vec2(gl_TexCoord[0].x, gl_TexCoord[0].y + weights_offsets[i].y)) * weights_offsets[i].x;
return color;
}
void main()
{
gl_FragColor = GaussianBlurVertical();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,8 +0,0 @@
#version 120
uniform sampler2D TextureUnit0;
void main()
{
gl_FragColor = texture2D(TextureUnit0,gl_TexCoord[0].xy);
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,53 +0,0 @@
#version 120
#define NUM_LIGHTS 6
uniform vec4 LightPosData[NUM_LIGHTS];
uniform vec4 Colors[NUM_LIGHTS];
uniform sampler2D light0;
uniform sampler2D light1;
uniform sampler2D light2;
uniform sampler2D light3;
uniform sampler2D light4;
uniform sampler2D light5;
uniform sampler2D sceneTexture;
vec4 PreLightBlendPS()
{
vec4 l[NUM_LIGHTS];
vec2 ltc[NUM_LIGHTS];
for(int i = 0;i<NUM_LIGHTS;i++)
{
ltc[i] = vec2((gl_TexCoord[0].x - LightPosData[i].x) * LightPosData[i].z, (gl_TexCoord[0].y - LightPosData[i].y) * LightPosData[i].w);
}
l[0] = texture2D(light0, ltc[0]);
l[1] = texture2D(light1, ltc[1]);
l[2] = texture2D(light2, ltc[2]);
l[3] = texture2D(light3, ltc[3]);
l[4] = texture2D(light4, ltc[4]);
l[5] = texture2D(light5, ltc[5]);
l[0].rgb = l[0].rgb * Colors[0].rgb;
l[1].rgb = l[1].rgb * Colors[1].rgb;
l[2].rgb = l[2].rgb * Colors[2].rgb;
l[3].rgb = l[3].rgb * Colors[3].rgb;
l[4].rgb = l[4].rgb * Colors[4].rgb;
l[5].rgb = l[5].rgb * Colors[5].rgb;
vec4 s = texture2D(sceneTexture, gl_TexCoord[0].xy); // sample existing lights
//Add the lights together
float r = sqrt(pow(l[0].r, 2) + pow(l[1].r, 2) + pow(l[2].r, 2) + pow(l[3].r, 2) + pow(l[4].r, 2) + pow(l[5].r, 2) + pow(s.r, 2));
float g = sqrt(pow(l[0].g, 2) + pow(l[1].g, 2) + pow(l[2].g, 2) + pow(l[3].g, 2) + pow(l[4].g, 2) + pow(l[5].g, 2) + pow(s.g, 2));
float b = sqrt(pow(l[0].b, 2) + pow(l[1].b, 2) + pow(l[2].b, 2) + pow(l[3].b, 2) + pow(l[4].b, 2) + pow(l[5].b, 2) + pow(s.b, 2));
vec4 c = vec4(r,g,b, 1);
return c;
//Return the light color
return vec4(c.rgb,min(1, 1/max(c.r, max(c.g,c.b))));
}
void main()
{
gl_FragColor = PreLightBlendPS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,9 +0,0 @@
#version 120
uniform sampler2D TextureUnit0;
void main()
{
gl_FragColor = texture2D(TextureUnit0,gl_TexCoord[0].xy) + vec4(.5,0,0,0);
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,20 +0,0 @@
#version 120
uniform sampler2D playerViewSampler;
uniform sampler2D sceneSampler;
uniform sampler2D lightSampler;
vec4 DrawTilesInversePlayerViewPS(vec2 TexCoord)
{
vec4 pv = texture2D(playerViewSampler, TexCoord);
float v = 1 - min(length(pv.rgb),1);
vec4 s = texture2D(sceneSampler, TexCoord);
vec4 t = texture2D(lightSampler, TexCoord);
return vec4(t.rgb + s.rgb, v);
}
void main()
{
gl_FragColor = DrawTilesInversePlayerViewPS(gl_TexCoord[0].xy);
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,57 +0,0 @@
#version 120
uniform sampler2D LightTexture;
uniform sampler2D SceneTexture;
uniform sampler2D PlayerViewTexture;
uniform sampler2D OutOfViewTexture;
uniform vec4 AmbientLight;
uniform vec4 MaskProps;
vec4 LightBlendPS(vec2 TexCoord)
{
vec4 a = AmbientLight;
vec4 l = texture2D(LightTexture, vec2(TexCoord.x, 1.0 - TexCoord.y)); //Sample light/shadows
l = max(l,a); // Set a minimum level of light
vec4 c = texture2D(SceneTexture, TexCoord); //Sample scene color
vec4 pv = texture2D(PlayerViewTexture, TexCoord); // Sample player view
vec2 masktc = TexCoord;
masktc.x = masktc.x * MaskProps.x * MaskProps.z;
masktc.y = masktc.y * MaskProps.y * MaskProps.w;
vec4 t = texture2D(OutOfViewTexture, masktc); // Sample mask
//Generate scuzz for occluded areas
/*float4 t;
float2 lines;
lines.x = 1 * (TexCoord.x * MaskProps.x + MaskProps.z);
lines.y = 1 * (TexCoord.y * MaskProps.y + MaskProps.w);
float s = (sin(lines.x + lines.y + lines.y) + sin(lines.x - lines.y));
t.rgb = 0;
if(s > 0.5)
{
t.rgb = 0.1;
}*/
t.a = 1;
//End generate scuzz
vec3 h; // calculate hard light
h.r = l.r <= 0.5 ? 2 * l.r * c.r : 1 - (2 * (1 - l.r) * (1 - c.r) );
h.g = l.g <= 0.5 ? 2 * l.g * c.g : 1 - (2 * (1 - l.g) * (1 - c.g) );
h.b = l.b <= 0.5 ? 2 * l.b * c.b : 1 - (2 * (1 - l.b) * (1 - c.b) );
vec4 result;
result = vec4(max(c.rgb*l.rgb, h.rgb), pv.r)* 1;
result = result + (t *( 1 - pv.r));
return result;
}
void main()
{
gl_FragColor = LightBlendPS(gl_TexCoord[0].xy);
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,40 +0,0 @@
#version 120
uniform sampler2D maskSampler;
uniform sampler2D lightSampler;
uniform vec4 MaskProps;
uniform vec4 DiffuseColor;
vec4 MaskLightPS(vec2 TexCoord)
{
vec4 p = MaskProps;
vec2 tc = TexCoord;
vec4 d = DiffuseColor;
float t;
if(p.x > 0) // x is rot 90 degrees
{ // We just flip the axes.
t = tc.x;
tc.x = tc.y;
tc.y = t;
}
if(p.y > 0) // y is flip horizontally
{
tc.x = 1 - tc.x;
}
if(p.z > 0) // z is flip vertically
{
tc.y = 1 - tc.y;
}
vec4 l = texture2D(lightSampler, TexCoord);
l = vec4(l.r * d.r, l.g * d.g, l.b * d.b, l.a);
vec4 m = texture2D(maskSampler, tc);
return vec4(l.rgb, m.r)* l.a;
}
void main()
{
gl_FragColor = MaskLightPS(gl_TexCoord[0].xy);
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,14 +0,0 @@
#version 120
uniform sampler2D inputSampler;
vec4 CopyPS()
{
return texture2D(inputSampler, gl_TexCoord[0].xy);
}
void main()
{
gl_FragColor = CopyPS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,26 +0,0 @@
#version 120
uniform sampler2D texture;
uniform float TextureDimensions;
vec4 HorizontalReductionPS()
{
vec2 color = texture2D(texture, gl_TexCoord[0].xy).rg;
vec2 colorR;
// This modulus bullshit is because every texel in the source image is evaluated in GLSL
// If we don't check whether the texel is odd or even, we would end up
// incorrectly taking the max of the pixel to the right versus this one,
// making our horizontal reduction invalid.
if (mod(gl_TexCoord[0].x / TextureDimensions, 2) == 0)
colorR = texture2D(texture, gl_TexCoord[0].xy + vec2(TextureDimensions,0)).rg;
else
colorR = texture2D(texture, gl_TexCoord[0].xy - vec2(TextureDimensions,0)).rg;
vec2 result = min(color, colorR);
return vec4(result,0,1);
}
void main()
{
gl_FragColor = HorizontalReductionPS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,54 +0,0 @@
#version 120
uniform vec2 renderTargetSize;
uniform sampler2D inputSampler;
const float minBlur = 1.0;
const float maxBlur = 20.0;
const int g_cKernelSize = 13;
const vec2 weights_offsets0 = vec2( -6, 0.002216 );
const vec2 weights_offsets1 = vec2( -5, 0.008764 );
const vec2 weights_offsets2 = vec2( -4, 0.026995 );
const vec2 weights_offsets3 = vec2( -3, 0.064759 );
const vec2 weights_offsets4 = vec2( -2, 0.120985 );
const vec2 weights_offsets5 = vec2( -1, 0.176033 );
const vec2 weights_offsets6 = vec2( 0, 0.199471 );
const vec2 weights_offsets7 = vec2( 1, 0.176033 );
const vec2 weights_offsets8 = vec2( 2, 0.120985 );
const vec2 weights_offsets9 = vec2( 3, 0.064759 );
const vec2 weights_offsets10 = vec2( 4, 0.026995 );
const vec2 weights_offsets11 = vec2( 5, 0.008764 );
const vec2 weights_offsets12 = vec2( 6, 0.002216 );
uniform vec2 OffsetAndWeight[g_cKernelSize] = vec2[g_cKernelSize]
(
weights_offsets0,
weights_offsets1,
weights_offsets2,
weights_offsets3,
weights_offsets4,
weights_offsets5,
weights_offsets6,
weights_offsets7,
weights_offsets8,
weights_offsets9,
weights_offsets10,
weights_offsets11,
weights_offsets12
);
vec4 BlurHorizontallyPS()
{
float sum=0.;
float Distance = texture2D( inputSampler, gl_TexCoord[0].xy).b;
for (int i = 0; i < g_cKernelSize; i++)
{
sum += texture2D( inputSampler, gl_TexCoord[0].xy + OffsetAndWeight[i].x * mix(minBlur, maxBlur , Distance)/renderTargetSize.x * vec2(1,0) ).r * OffsetAndWeight[i].y;
}
return vec4(sum, sum, Distance, 1);
}
void main()
{
gl_FragColor = BlurHorizontallyPS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,57 +0,0 @@
#version 120
uniform vec2 renderTargetSize;
uniform sampler2D inputSampler;
const float minBlur = 1.0;
const float maxBlur = 20.0;
const int g_cKernelSize = 13;
const vec2 weights_offsets0 = vec2( -6, 0.002216 );
const vec2 weights_offsets1 = vec2( -5, 0.008764 );
const vec2 weights_offsets2 = vec2( -4, 0.026995 );
const vec2 weights_offsets3 = vec2( -3, 0.064759 );
const vec2 weights_offsets4 = vec2( -2, 0.120985 );
const vec2 weights_offsets5 = vec2( -1, 0.176033 );
const vec2 weights_offsets6 = vec2( 0, 0.199471 );
const vec2 weights_offsets7 = vec2( 1, 0.176033 );
const vec2 weights_offsets8 = vec2( 2, 0.120985 );
const vec2 weights_offsets9 = vec2( 3, 0.064759 );
const vec2 weights_offsets10 = vec2( 4, 0.026995 );
const vec2 weights_offsets11 = vec2( 5, 0.008764 );
const vec2 weights_offsets12 = vec2( 6, 0.002216 );
uniform vec2 OffsetAndWeight[g_cKernelSize] = vec2[g_cKernelSize]
(
weights_offsets0,
weights_offsets1,
weights_offsets2,
weights_offsets3,
weights_offsets4,
weights_offsets5,
weights_offsets6,
weights_offsets7,
weights_offsets8,
weights_offsets9,
weights_offsets10,
weights_offsets11,
weights_offsets12
);
vec4 BlurVerticallyPS()
{
float sum=0;
float Distance = texture2D( inputSampler, gl_TexCoord[0].xy).b;
for (int i = 0; i < g_cKernelSize; i++)
{
sum += texture2D( inputSampler, gl_TexCoord[0].xy + OffsetAndWeight[i].x * mix(minBlur, maxBlur , Distance)/renderTargetSize.x * vec2(0,1) ).r * OffsetAndWeight[i].y;
}
float d = 2 * length(gl_TexCoord[0].xy - 0.5f);
float attenuation = pow(clamp(1.0f - d,0,1),1.0f);
return vec4(vec3(sum * attenuation), 1);
}
void main()
{
gl_FragColor = BlurVerticallyPS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,23 +0,0 @@
#version 120
uniform sampler2D sourceSampler;
uniform vec2 renderTargetSize;
vec4 ComputeDistancesPS()
{
vec4 color = texture2D(sourceSampler,gl_TexCoord[0].xy);
float Distance;
if (color.a > .3)
Distance = length(gl_TexCoord[0].xy - .5);
else
Distance = 1.0;
return vec4 (Distance, Distance,Distance,1);
}
void main()
{
gl_FragColor = ComputeDistancesPS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,29 +0,0 @@
#version 120
uniform sampler2D inputSampler;
vec4 DistortPS()
{
//translate u and v into [-1 , 1] domain
float u0 = gl_TexCoord[0].x * 2 - 1;
float v0 = gl_TexCoord[0].y * 2 - 1;
//then, as u0 approaches 0 (the center), v should also approach 0
v0 = v0 * abs(u0);
//convert back from [-1,1] domain to [0,1] domain
v0 = (v0 + 1) / 2;
//we now have the coordinates for reading from the initial image
vec2 newCoords = vec2(gl_TexCoord[0].x, v0);
//read for both horizontal and vertical direction and store them in separate channels
float horizontal = texture2D(inputSampler, newCoords).r;
float vertical = texture2D(inputSampler, newCoords.yx).r;
return vec4(horizontal,vertical ,0,1);
}
void main()
{
gl_FragColor = DistortPS();
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,83 +0,0 @@
#version 120
uniform vec4 MaskProps;
uniform vec4 DiffuseColor;
uniform vec2 renderTargetSize;
uniform float AttenuateShadows;
uniform sampler2D inputSampler;
uniform sampler2D shadowMapSampler;
varying vec2 TexCoord;
float GetShadowDistanceH(vec2 TexCoord,float displacementV)
{
float u = TexCoord.x;
float v = TexCoord.y;
u = abs(u-0.5) * 2;
v = v * 2 - 1;
float v0 = v/u;
v0+=displacementV;
v0 = (v0 + 1) / 2;
vec2 newCoords = vec2(TexCoord.x,v0);
//horizontal info was stored in the Red component
return texture2D(shadowMapSampler, newCoords).r;
}
float GetShadowDistanceV(vec2 TexCoord, float displacementV)
{
float u = TexCoord.y;
float v = TexCoord.x;
u = abs(u-0.5) * 2;
v = v * 2 - 1;
float v0 = v/u;
v0+=displacementV;
v0 = (v0 + 1) / 2;
vec2 newCoords = vec2(TexCoord.y,v0);
//vertical info was stored in the Green component
return texture2D(shadowMapSampler, newCoords).g;
}
float DrawShadowsPS()
{
// distance of this pixel from the center
float Distance = length(gl_TexCoord[0].xy - 0.5);
//Distance *= renderTargetSize.x;
//apply a 2-pixel bias
//Distance -=2;
//distance stored in the shadow map
float shadowMapDistance;
//coords in [-1,1]
float nY = 2.0*( gl_TexCoord[0].y - 0.5);
float nX = 2.0*( gl_TexCoord[0].x - 0.5);
//we use these to determine which quadrant we are in
if(abs(nY)<abs(nX))
{
shadowMapDistance = GetShadowDistanceH(gl_TexCoord[0].xy,0);
}
else
{
shadowMapDistance = GetShadowDistanceV(gl_TexCoord[0].xy,0);
}
//if distance to this pixel is lower than distance from shadowMap,
//then we are not in shadow
float light = Distance <= shadowMapDistance ? 1:0;
float d = 2 * length(gl_TexCoord[0].xy - 0.5);
float attenuation = max(pow(clamp(1 - d, 0,1),1), AttenuateShadows); //If AttenuateShadows is true, attenuation
return 1 - (light * attenuation) / 2;
}
void main()
{
gl_FragColor = vec4(0, 0, 0, DrawShadowsPS());
}

View File

@@ -1,12 +0,0 @@
#version 120
void main()
{
// transform the vertex position
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// transform the texture coordinates
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
// forward the vertex color
gl_FrontColor = gl_Color;
}

View File

@@ -1,21 +0,0 @@
#!/usr/bin/env python3
# Used for debugging BuildResourcePack.py without needing to be on Windows.
# Writes a single dummy png to the output dir.
# Doesn't work on Windows due to lack of shebangs. RIP.
# Well at least not directly from buildResourcePack.py
# NOTE: Requires Pillow
from PIL import Image
import os
print("*** Running dummy sprite renderer! ***")
image = Image.new("RGB", (32, 32), "#FF0000")
if not os.path.exists("output"):
os.mkdir("output")
image.save(os.path.join("output", "test.png"))
with open(os.path.join("output", "test.xml"), "w"):
# Create empty file.
pass

View File

@@ -1 +0,0 @@
Pillow==4.1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 KiB

View File

@@ -0,0 +1,3 @@
* `background.png` a modified version from http://imgarcade.com/16-bit-space-background.html
* `logo.png` is a modified version of the logo on http://spacestation13.com
* `nt.png` is an exported PNG from https://github.com/Baystation12/Baystation12/blob/0eb51892d0cd84a04aeebd6b8c8dcfbd92d2b35a/tgui/src/images/nanotrasen.svg

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

1
SFML

Submodule SFML deleted from 0f22866353

Some files were not shown because too many files have changed in this diff Show More