diff --git a/Subsurface/Barotrauma.csproj b/Barotrauma/Barotrauma.csproj similarity index 100% rename from Subsurface/Barotrauma.csproj rename to Barotrauma/Barotrauma.csproj diff --git a/Subsurface/Barotrauma.csproj.user b/Barotrauma/Barotrauma.csproj.user similarity index 100% rename from Subsurface/Barotrauma.csproj.user rename to Barotrauma/Barotrauma.csproj.user diff --git a/Subsurface/Content/BackgroundSprites/BackgroundCreaturePrefabs.xml b/Barotrauma/Content/BackgroundSprites/BackgroundCreaturePrefabs.xml similarity index 100% rename from Subsurface/Content/BackgroundSprites/BackgroundCreaturePrefabs.xml rename to Barotrauma/Content/BackgroundSprites/BackgroundCreaturePrefabs.xml diff --git a/Subsurface/Content/BackgroundSprites/BackgroundSpritePrefabs.xml b/Barotrauma/Content/BackgroundSprites/BackgroundSpritePrefabs.xml similarity index 100% rename from Subsurface/Content/BackgroundSprites/BackgroundSpritePrefabs.xml rename to Barotrauma/Content/BackgroundSprites/BackgroundSpritePrefabs.xml diff --git a/Subsurface/Content/BackgroundSprites/bgFish1.png b/Barotrauma/Content/BackgroundSprites/bgFish1.png similarity index 100% rename from Subsurface/Content/BackgroundSprites/bgFish1.png rename to Barotrauma/Content/BackgroundSprites/bgFish1.png diff --git a/Subsurface/Content/BackgroundSprites/ice.png b/Barotrauma/Content/BackgroundSprites/ice.png similarity index 100% rename from Subsurface/Content/BackgroundSprites/ice.png rename to Barotrauma/Content/BackgroundSprites/ice.png diff --git a/Subsurface/Content/BackgroundSprites/vegetation.png b/Barotrauma/Content/BackgroundSprites/vegetation.png similarity index 100% rename from Subsurface/Content/BackgroundSprites/vegetation.png rename to Barotrauma/Content/BackgroundSprites/vegetation.png diff --git a/Subsurface/Content/BackgroundSprites/vegetation2.png b/Barotrauma/Content/BackgroundSprites/vegetation2.png similarity index 100% rename from Subsurface/Content/BackgroundSprites/vegetation2.png rename to Barotrauma/Content/BackgroundSprites/vegetation2.png diff --git a/Subsurface/Content/BackgroundSprites/vegetation3.png b/Barotrauma/Content/BackgroundSprites/vegetation3.png similarity index 100% rename from Subsurface/Content/BackgroundSprites/vegetation3.png rename to Barotrauma/Content/BackgroundSprites/vegetation3.png diff --git a/Subsurface/Content/BackgroundSprites/vegetation4.png b/Barotrauma/Content/BackgroundSprites/vegetation4.png similarity index 100% rename from Subsurface/Content/BackgroundSprites/vegetation4.png rename to Barotrauma/Content/BackgroundSprites/vegetation4.png diff --git a/Subsurface/Content/BackgroundSprites/vegetation5.png b/Barotrauma/Content/BackgroundSprites/vegetation5.png similarity index 100% rename from Subsurface/Content/BackgroundSprites/vegetation5.png rename to Barotrauma/Content/BackgroundSprites/vegetation5.png diff --git a/Subsurface/Content/Characters/Carrier/alarm1.ogg b/Barotrauma/Content/Characters/Carrier/alarm1.ogg similarity index 100% rename from Subsurface/Content/Characters/Carrier/alarm1.ogg rename to Barotrauma/Content/Characters/Carrier/alarm1.ogg diff --git a/Subsurface/Content/Characters/Carrier/carrier.png b/Barotrauma/Content/Characters/Carrier/carrier.png similarity index 100% rename from Subsurface/Content/Characters/Carrier/carrier.png rename to Barotrauma/Content/Characters/Carrier/carrier.png diff --git a/Subsurface/Content/Characters/Carrier/carrier.xml b/Barotrauma/Content/Characters/Carrier/carrier.xml similarity index 100% rename from Subsurface/Content/Characters/Carrier/carrier.xml rename to Barotrauma/Content/Characters/Carrier/carrier.xml diff --git a/Subsurface/Content/Characters/Carrier/carrier1.ogg b/Barotrauma/Content/Characters/Carrier/carrier1.ogg similarity index 100% rename from Subsurface/Content/Characters/Carrier/carrier1.ogg rename to Barotrauma/Content/Characters/Carrier/carrier1.ogg diff --git a/Subsurface/Content/Characters/Carrier/carrier2.ogg b/Barotrauma/Content/Characters/Carrier/carrier2.ogg similarity index 100% rename from Subsurface/Content/Characters/Carrier/carrier2.ogg rename to Barotrauma/Content/Characters/Carrier/carrier2.ogg diff --git a/Subsurface/Content/Characters/Carrier/carrier3.ogg b/Barotrauma/Content/Characters/Carrier/carrier3.ogg similarity index 100% rename from Subsurface/Content/Characters/Carrier/carrier3.ogg rename to Barotrauma/Content/Characters/Carrier/carrier3.ogg diff --git a/Subsurface/Content/Characters/Carrier/ping.ogg b/Barotrauma/Content/Characters/Carrier/ping.ogg similarity index 100% rename from Subsurface/Content/Characters/Carrier/ping.ogg rename to Barotrauma/Content/Characters/Carrier/ping.ogg diff --git a/Subsurface/Content/Characters/Charybdis/charybdis.png b/Barotrauma/Content/Characters/Charybdis/charybdis.png similarity index 100% rename from Subsurface/Content/Characters/Charybdis/charybdis.png rename to Barotrauma/Content/Characters/Charybdis/charybdis.png diff --git a/Subsurface/Content/Characters/Charybdis/charybdis.xml b/Barotrauma/Content/Characters/Charybdis/charybdis.xml similarity index 95% rename from Subsurface/Content/Characters/Charybdis/charybdis.xml rename to Barotrauma/Content/Characters/Charybdis/charybdis.xml index e11750e1f..395335780 100644 --- a/Subsurface/Content/Characters/Charybdis/charybdis.xml +++ b/Barotrauma/Content/Characters/Charybdis/charybdis.xml @@ -5,17 +5,17 @@ - + - + - + diff --git a/Subsurface/Content/Characters/Charybdis/charybdisattack.ogg b/Barotrauma/Content/Characters/Charybdis/charybdisattack.ogg similarity index 100% rename from Subsurface/Content/Characters/Charybdis/charybdisattack.ogg rename to Barotrauma/Content/Characters/Charybdis/charybdisattack.ogg diff --git a/Subsurface/Content/Characters/Coelanth/attack1.ogg b/Barotrauma/Content/Characters/Coelanth/attack1.ogg similarity index 100% rename from Subsurface/Content/Characters/Coelanth/attack1.ogg rename to Barotrauma/Content/Characters/Coelanth/attack1.ogg diff --git a/Subsurface/Content/Characters/Coelanth/Coelanth.png b/Barotrauma/Content/Characters/Coelanth/coelanth.png similarity index 100% rename from Subsurface/Content/Characters/Coelanth/Coelanth.png rename to Barotrauma/Content/Characters/Coelanth/coelanth.png diff --git a/Subsurface/Content/Characters/Coelanth/coelanth.xml b/Barotrauma/Content/Characters/Coelanth/coelanth.xml similarity index 100% rename from Subsurface/Content/Characters/Coelanth/coelanth.xml rename to Barotrauma/Content/Characters/Coelanth/coelanth.xml diff --git a/Subsurface/Content/Characters/Coelanth/idle1.ogg b/Barotrauma/Content/Characters/Coelanth/idle1.ogg similarity index 100% rename from Subsurface/Content/Characters/Coelanth/idle1.ogg rename to Barotrauma/Content/Characters/Coelanth/idle1.ogg diff --git a/Subsurface/Content/Characters/Coelanth/idle2.ogg b/Barotrauma/Content/Characters/Coelanth/idle2.ogg similarity index 100% rename from Subsurface/Content/Characters/Coelanth/idle2.ogg rename to Barotrauma/Content/Characters/Coelanth/idle2.ogg diff --git a/Subsurface/Content/Characters/Crawler/attack1.ogg b/Barotrauma/Content/Characters/Crawler/attack1.ogg similarity index 100% rename from Subsurface/Content/Characters/Crawler/attack1.ogg rename to Barotrauma/Content/Characters/Crawler/attack1.ogg diff --git a/Subsurface/Content/Characters/Crawler/attack2.ogg b/Barotrauma/Content/Characters/Crawler/attack2.ogg similarity index 100% rename from Subsurface/Content/Characters/Crawler/attack2.ogg rename to Barotrauma/Content/Characters/Crawler/attack2.ogg diff --git a/Subsurface/Content/Characters/Crawler/crawler.png b/Barotrauma/Content/Characters/Crawler/crawler.png similarity index 100% rename from Subsurface/Content/Characters/Crawler/crawler.png rename to Barotrauma/Content/Characters/Crawler/crawler.png diff --git a/Subsurface/Content/Characters/Crawler/crawler.xml b/Barotrauma/Content/Characters/Crawler/crawler.xml similarity index 100% rename from Subsurface/Content/Characters/Crawler/crawler.xml rename to Barotrauma/Content/Characters/Crawler/crawler.xml diff --git a/Subsurface/Content/Characters/Crawler/idle1.ogg b/Barotrauma/Content/Characters/Crawler/idle1.ogg similarity index 100% rename from Subsurface/Content/Characters/Crawler/idle1.ogg rename to Barotrauma/Content/Characters/Crawler/idle1.ogg diff --git a/Subsurface/Content/Characters/Crawler/idle2.ogg b/Barotrauma/Content/Characters/Crawler/idle2.ogg similarity index 100% rename from Subsurface/Content/Characters/Crawler/idle2.ogg rename to Barotrauma/Content/Characters/Crawler/idle2.ogg diff --git a/Subsurface/Content/Characters/Endworm/endworm.png b/Barotrauma/Content/Characters/Endworm/endworm.png similarity index 100% rename from Subsurface/Content/Characters/Endworm/endworm.png rename to Barotrauma/Content/Characters/Endworm/endworm.png diff --git a/Subsurface/Content/Characters/Endworm/endworm.xml b/Barotrauma/Content/Characters/Endworm/endworm.xml similarity index 100% rename from Subsurface/Content/Characters/Endworm/endworm.xml rename to Barotrauma/Content/Characters/Endworm/endworm.xml diff --git a/Subsurface/Content/Characters/Endworm/endwormattack1.ogg b/Barotrauma/Content/Characters/Endworm/endwormattack1.ogg similarity index 100% rename from Subsurface/Content/Characters/Endworm/endwormattack1.ogg rename to Barotrauma/Content/Characters/Endworm/endwormattack1.ogg diff --git a/Subsurface/Content/Characters/Endworm/endwormattack2.ogg b/Barotrauma/Content/Characters/Endworm/endwormattack2.ogg similarity index 100% rename from Subsurface/Content/Characters/Endworm/endwormattack2.ogg rename to Barotrauma/Content/Characters/Endworm/endwormattack2.ogg diff --git a/Subsurface/Content/Characters/Endworm/endwormidle.ogg b/Barotrauma/Content/Characters/Endworm/endwormidle.ogg similarity index 100% rename from Subsurface/Content/Characters/Endworm/endwormidle.ogg rename to Barotrauma/Content/Characters/Endworm/endwormidle.ogg diff --git a/Subsurface/Content/Characters/Fractalguardian/Die1.ogg b/Barotrauma/Content/Characters/Fractalguardian/Die1.ogg similarity index 100% rename from Subsurface/Content/Characters/Fractalguardian/Die1.ogg rename to Barotrauma/Content/Characters/Fractalguardian/Die1.ogg diff --git a/Subsurface/Content/Characters/Fractalguardian/Die2.ogg b/Barotrauma/Content/Characters/Fractalguardian/Die2.ogg similarity index 100% rename from Subsurface/Content/Characters/Fractalguardian/Die2.ogg rename to Barotrauma/Content/Characters/Fractalguardian/Die2.ogg diff --git a/Subsurface/Content/Characters/Fractalguardian/fractalguardian.png b/Barotrauma/Content/Characters/Fractalguardian/fractalguardian.png similarity index 100% rename from Subsurface/Content/Characters/Fractalguardian/fractalguardian.png rename to Barotrauma/Content/Characters/Fractalguardian/fractalguardian.png diff --git a/Subsurface/Content/Characters/Fractalguardian/fractalguardian.xml b/Barotrauma/Content/Characters/Fractalguardian/fractalguardian.xml similarity index 100% rename from Subsurface/Content/Characters/Fractalguardian/fractalguardian.xml rename to Barotrauma/Content/Characters/Fractalguardian/fractalguardian.xml diff --git a/Subsurface/Content/Characters/Fractalguardian/guardian1.ogg b/Barotrauma/Content/Characters/Fractalguardian/guardian1.ogg similarity index 100% rename from Subsurface/Content/Characters/Fractalguardian/guardian1.ogg rename to Barotrauma/Content/Characters/Fractalguardian/guardian1.ogg diff --git a/Subsurface/Content/Characters/Fractalguardian/guardian2.ogg b/Barotrauma/Content/Characters/Fractalguardian/guardian2.ogg similarity index 100% rename from Subsurface/Content/Characters/Fractalguardian/guardian2.ogg rename to Barotrauma/Content/Characters/Fractalguardian/guardian2.ogg diff --git a/Subsurface/Content/Characters/Fractalguardian2/fractalguardian2.xml b/Barotrauma/Content/Characters/Fractalguardian2/fractalguardian2.xml similarity index 100% rename from Subsurface/Content/Characters/Fractalguardian2/fractalguardian2.xml rename to Barotrauma/Content/Characters/Fractalguardian2/fractalguardian2.xml diff --git a/Subsurface/Content/Characters/Human/damagedhead.png b/Barotrauma/Content/Characters/Human/damagedhead.png similarity index 100% rename from Subsurface/Content/Characters/Human/damagedhead.png rename to Barotrauma/Content/Characters/Human/damagedhead.png diff --git a/Subsurface/Content/Characters/Human/damagedlegs.png b/Barotrauma/Content/Characters/Human/damagedlegs.png similarity index 100% rename from Subsurface/Content/Characters/Human/damagedlegs.png rename to Barotrauma/Content/Characters/Human/damagedlegs.png diff --git a/Subsurface/Content/Characters/Human/damagedtorso.png b/Barotrauma/Content/Characters/Human/damagedtorso.png similarity index 100% rename from Subsurface/Content/Characters/Human/damagedtorso.png rename to Barotrauma/Content/Characters/Human/damagedtorso.png diff --git a/Subsurface/Content/Characters/Human/ffirstnames.txt b/Barotrauma/Content/Characters/Human/ffirstnames.txt similarity index 100% rename from Subsurface/Content/Characters/Human/ffirstnames.txt rename to Barotrauma/Content/Characters/Human/ffirstnames.txt diff --git a/Subsurface/Content/Characters/Human/fhead1.png b/Barotrauma/Content/Characters/Human/fhead1.png similarity index 100% rename from Subsurface/Content/Characters/Human/fhead1.png rename to Barotrauma/Content/Characters/Human/fhead1.png diff --git a/Subsurface/Content/Characters/Human/fhead2.png b/Barotrauma/Content/Characters/Human/fhead2.png similarity index 100% rename from Subsurface/Content/Characters/Human/fhead2.png rename to Barotrauma/Content/Characters/Human/fhead2.png diff --git a/Subsurface/Content/Characters/Human/fhead3.png b/Barotrauma/Content/Characters/Human/fhead3.png similarity index 100% rename from Subsurface/Content/Characters/Human/fhead3.png rename to Barotrauma/Content/Characters/Human/fhead3.png diff --git a/Subsurface/Content/Characters/Human/fhead4.png b/Barotrauma/Content/Characters/Human/fhead4.png similarity index 100% rename from Subsurface/Content/Characters/Human/fhead4.png rename to Barotrauma/Content/Characters/Human/fhead4.png diff --git a/Subsurface/Content/Characters/Human/fhead5.png b/Barotrauma/Content/Characters/Human/fhead5.png similarity index 100% rename from Subsurface/Content/Characters/Human/fhead5.png rename to Barotrauma/Content/Characters/Human/fhead5.png diff --git a/Subsurface/Content/Characters/Human/fhead6.png b/Barotrauma/Content/Characters/Human/fhead6.png similarity index 100% rename from Subsurface/Content/Characters/Human/fhead6.png rename to Barotrauma/Content/Characters/Human/fhead6.png diff --git a/Subsurface/Content/Characters/Human/fhead7[black].png b/Barotrauma/Content/Characters/Human/fhead7[black].png similarity index 100% rename from Subsurface/Content/Characters/Human/fhead7[black].png rename to Barotrauma/Content/Characters/Human/fhead7[black].png diff --git a/Subsurface/Content/Characters/Human/fhead8.png b/Barotrauma/Content/Characters/Human/fhead8.png similarity index 100% rename from Subsurface/Content/Characters/Human/fhead8.png rename to Barotrauma/Content/Characters/Human/fhead8.png diff --git a/Subsurface/Content/Characters/Human/firstnames.txt b/Barotrauma/Content/Characters/Human/firstnames.txt similarity index 100% rename from Subsurface/Content/Characters/Human/firstnames.txt rename to Barotrauma/Content/Characters/Human/firstnames.txt diff --git a/Subsurface/Content/Characters/Human/flegs.png b/Barotrauma/Content/Characters/Human/flegs.png similarity index 100% rename from Subsurface/Content/Characters/Human/flegs.png rename to Barotrauma/Content/Characters/Human/flegs.png diff --git a/Subsurface/Content/Characters/Human/ftorso.png b/Barotrauma/Content/Characters/Human/ftorso.png similarity index 100% rename from Subsurface/Content/Characters/Human/ftorso.png rename to Barotrauma/Content/Characters/Human/ftorso.png diff --git a/Subsurface/Content/Characters/Human/ftorso[black].png b/Barotrauma/Content/Characters/Human/ftorso[black].png similarity index 100% rename from Subsurface/Content/Characters/Human/ftorso[black].png rename to Barotrauma/Content/Characters/Human/ftorso[black].png diff --git a/Subsurface/Content/Characters/Human/head1.png b/Barotrauma/Content/Characters/Human/head1.png similarity index 100% rename from Subsurface/Content/Characters/Human/head1.png rename to Barotrauma/Content/Characters/Human/head1.png diff --git a/Subsurface/Content/Characters/Human/head2.png b/Barotrauma/Content/Characters/Human/head2.png similarity index 100% rename from Subsurface/Content/Characters/Human/head2.png rename to Barotrauma/Content/Characters/Human/head2.png diff --git a/Subsurface/Content/Characters/Human/head3.png b/Barotrauma/Content/Characters/Human/head3.png similarity index 100% rename from Subsurface/Content/Characters/Human/head3.png rename to Barotrauma/Content/Characters/Human/head3.png diff --git a/Subsurface/Content/Characters/Human/head4.png b/Barotrauma/Content/Characters/Human/head4.png similarity index 100% rename from Subsurface/Content/Characters/Human/head4.png rename to Barotrauma/Content/Characters/Human/head4.png diff --git a/Subsurface/Content/Characters/Human/head5.png b/Barotrauma/Content/Characters/Human/head5.png similarity index 100% rename from Subsurface/Content/Characters/Human/head5.png rename to Barotrauma/Content/Characters/Human/head5.png diff --git a/Subsurface/Content/Characters/Human/head6.png b/Barotrauma/Content/Characters/Human/head6.png similarity index 100% rename from Subsurface/Content/Characters/Human/head6.png rename to Barotrauma/Content/Characters/Human/head6.png diff --git a/Subsurface/Content/Characters/Human/head7[black].png b/Barotrauma/Content/Characters/Human/head7[black].png similarity index 100% rename from Subsurface/Content/Characters/Human/head7[black].png rename to Barotrauma/Content/Characters/Human/head7[black].png diff --git a/Subsurface/Content/Characters/Human/head8[black].png b/Barotrauma/Content/Characters/Human/head8[black].png similarity index 100% rename from Subsurface/Content/Characters/Human/head8[black].png rename to Barotrauma/Content/Characters/Human/head8[black].png diff --git a/Subsurface/Content/Characters/Human/human.xml b/Barotrauma/Content/Characters/Human/human.xml similarity index 100% rename from Subsurface/Content/Characters/Human/human.xml rename to Barotrauma/Content/Characters/Human/human.xml diff --git a/Subsurface/Content/Characters/Human/humanhusk.xml b/Barotrauma/Content/Characters/Human/humanhusk.xml similarity index 100% rename from Subsurface/Content/Characters/Human/humanhusk.xml rename to Barotrauma/Content/Characters/Human/humanhusk.xml diff --git a/Subsurface/Content/Characters/Human/huskappendage.xml b/Barotrauma/Content/Characters/Human/huskappendage.xml similarity index 100% rename from Subsurface/Content/Characters/Human/huskappendage.xml rename to Barotrauma/Content/Characters/Human/huskappendage.xml diff --git a/Subsurface/Content/Characters/Human/lastnames.txt b/Barotrauma/Content/Characters/Human/lastnames.txt similarity index 100% rename from Subsurface/Content/Characters/Human/lastnames.txt rename to Barotrauma/Content/Characters/Human/lastnames.txt diff --git a/Subsurface/Content/Characters/Human/legs.png b/Barotrauma/Content/Characters/Human/legs.png similarity index 100% rename from Subsurface/Content/Characters/Human/legs.png rename to Barotrauma/Content/Characters/Human/legs.png diff --git a/Subsurface/Content/Characters/Human/torso.png b/Barotrauma/Content/Characters/Human/torso.png similarity index 100% rename from Subsurface/Content/Characters/Human/torso.png rename to Barotrauma/Content/Characters/Human/torso.png diff --git a/Subsurface/Content/Characters/Human/torso[black].png b/Barotrauma/Content/Characters/Human/torso[black].png similarity index 100% rename from Subsurface/Content/Characters/Human/torso[black].png rename to Barotrauma/Content/Characters/Human/torso[black].png diff --git a/Subsurface/Content/Characters/Husk/DivingSuit.png b/Barotrauma/Content/Characters/Husk/DivingSuit.png similarity index 100% rename from Subsurface/Content/Characters/Husk/DivingSuit.png rename to Barotrauma/Content/Characters/Husk/DivingSuit.png diff --git a/Subsurface/Content/Characters/Husk/Husk1.ogg b/Barotrauma/Content/Characters/Husk/Husk1.ogg similarity index 100% rename from Subsurface/Content/Characters/Husk/Husk1.ogg rename to Barotrauma/Content/Characters/Husk/Husk1.ogg diff --git a/Subsurface/Content/Characters/Husk/Husk2.ogg b/Barotrauma/Content/Characters/Husk/Husk2.ogg similarity index 100% rename from Subsurface/Content/Characters/Husk/Husk2.ogg rename to Barotrauma/Content/Characters/Husk/Husk2.ogg diff --git a/Subsurface/Content/Characters/Husk/Husk3.ogg b/Barotrauma/Content/Characters/Husk/Husk3.ogg similarity index 100% rename from Subsurface/Content/Characters/Husk/Husk3.ogg rename to Barotrauma/Content/Characters/Husk/Husk3.ogg diff --git a/Subsurface/Content/Characters/Husk/husk.xml b/Barotrauma/Content/Characters/Husk/husk.xml similarity index 100% rename from Subsurface/Content/Characters/Husk/husk.xml rename to Barotrauma/Content/Characters/Husk/husk.xml diff --git a/Subsurface/Content/Characters/Husk/legs.png b/Barotrauma/Content/Characters/Husk/legs.png similarity index 100% rename from Subsurface/Content/Characters/Husk/legs.png rename to Barotrauma/Content/Characters/Husk/legs.png diff --git a/Subsurface/Content/Characters/Mantis/attack1.ogg b/Barotrauma/Content/Characters/Mantis/attack1.ogg similarity index 100% rename from Subsurface/Content/Characters/Mantis/attack1.ogg rename to Barotrauma/Content/Characters/Mantis/attack1.ogg diff --git a/Subsurface/Content/Characters/Mantis/attack2.ogg b/Barotrauma/Content/Characters/Mantis/attack2.ogg similarity index 100% rename from Subsurface/Content/Characters/Mantis/attack2.ogg rename to Barotrauma/Content/Characters/Mantis/attack2.ogg diff --git a/Subsurface/Content/Characters/Mantis/idle1.ogg b/Barotrauma/Content/Characters/Mantis/idle1.ogg similarity index 100% rename from Subsurface/Content/Characters/Mantis/idle1.ogg rename to Barotrauma/Content/Characters/Mantis/idle1.ogg diff --git a/Subsurface/Content/Characters/Mantis/idle2.ogg b/Barotrauma/Content/Characters/Mantis/idle2.ogg similarity index 100% rename from Subsurface/Content/Characters/Mantis/idle2.ogg rename to Barotrauma/Content/Characters/Mantis/idle2.ogg diff --git a/Subsurface/Content/Characters/Mantis/idle3.ogg b/Barotrauma/Content/Characters/Mantis/idle3.ogg similarity index 100% rename from Subsurface/Content/Characters/Mantis/idle3.ogg rename to Barotrauma/Content/Characters/Mantis/idle3.ogg diff --git a/Subsurface/Content/Characters/Mantis/mantis.png b/Barotrauma/Content/Characters/Mantis/mantis.png similarity index 100% rename from Subsurface/Content/Characters/Mantis/mantis.png rename to Barotrauma/Content/Characters/Mantis/mantis.png diff --git a/Subsurface/Content/Characters/Mantis/mantis.xml b/Barotrauma/Content/Characters/Mantis/mantis.xml similarity index 100% rename from Subsurface/Content/Characters/Mantis/mantis.xml rename to Barotrauma/Content/Characters/Mantis/mantis.xml diff --git a/Subsurface/Content/Characters/Moloch/attack1.ogg b/Barotrauma/Content/Characters/Moloch/attack1.ogg similarity index 100% rename from Subsurface/Content/Characters/Moloch/attack1.ogg rename to Barotrauma/Content/Characters/Moloch/attack1.ogg diff --git a/Subsurface/Content/Characters/Moloch/attack2.ogg b/Barotrauma/Content/Characters/Moloch/attack2.ogg similarity index 100% rename from Subsurface/Content/Characters/Moloch/attack2.ogg rename to Barotrauma/Content/Characters/Moloch/attack2.ogg diff --git a/Subsurface/Content/Characters/Moloch/idle1.ogg b/Barotrauma/Content/Characters/Moloch/idle1.ogg similarity index 100% rename from Subsurface/Content/Characters/Moloch/idle1.ogg rename to Barotrauma/Content/Characters/Moloch/idle1.ogg diff --git a/Subsurface/Content/Characters/Moloch/idle2.ogg b/Barotrauma/Content/Characters/Moloch/idle2.ogg similarity index 100% rename from Subsurface/Content/Characters/Moloch/idle2.ogg rename to Barotrauma/Content/Characters/Moloch/idle2.ogg diff --git a/Subsurface/Content/Characters/Moloch/moloch.png b/Barotrauma/Content/Characters/Moloch/moloch.png similarity index 100% rename from Subsurface/Content/Characters/Moloch/moloch.png rename to Barotrauma/Content/Characters/Moloch/moloch.png diff --git a/Subsurface/Content/Characters/Moloch/moloch.xml b/Barotrauma/Content/Characters/Moloch/moloch.xml similarity index 100% rename from Subsurface/Content/Characters/Moloch/moloch.xml rename to Barotrauma/Content/Characters/Moloch/moloch.xml diff --git a/Subsurface/Content/Characters/Scorpion/scorpion.png b/Barotrauma/Content/Characters/Scorpion/scorpion.png similarity index 100% rename from Subsurface/Content/Characters/Scorpion/scorpion.png rename to Barotrauma/Content/Characters/Scorpion/scorpion.png diff --git a/Subsurface/Content/Characters/Scorpion/scorpion.xml b/Barotrauma/Content/Characters/Scorpion/scorpion.xml similarity index 100% rename from Subsurface/Content/Characters/Scorpion/scorpion.xml rename to Barotrauma/Content/Characters/Scorpion/scorpion.xml diff --git a/Subsurface/Content/Characters/Scorpion/scorpionattack1.ogg b/Barotrauma/Content/Characters/Scorpion/scorpionattack1.ogg similarity index 100% rename from Subsurface/Content/Characters/Scorpion/scorpionattack1.ogg rename to Barotrauma/Content/Characters/Scorpion/scorpionattack1.ogg diff --git a/Subsurface/Content/Characters/Scorpion/scorpionidle1.ogg b/Barotrauma/Content/Characters/Scorpion/scorpionidle1.ogg similarity index 100% rename from Subsurface/Content/Characters/Scorpion/scorpionidle1.ogg rename to Barotrauma/Content/Characters/Scorpion/scorpionidle1.ogg diff --git a/Subsurface/Content/Characters/Scorpion/scorpionidle2.ogg b/Barotrauma/Content/Characters/Scorpion/scorpionidle2.ogg similarity index 100% rename from Subsurface/Content/Characters/Scorpion/scorpionidle2.ogg rename to Barotrauma/Content/Characters/Scorpion/scorpionidle2.ogg diff --git a/Subsurface/Content/Characters/Tigerthresher/damagedtigerthresher.png b/Barotrauma/Content/Characters/Tigerthresher/damagedtigerthresher.png similarity index 100% rename from Subsurface/Content/Characters/Tigerthresher/damagedtigerthresher.png rename to Barotrauma/Content/Characters/Tigerthresher/damagedtigerthresher.png diff --git a/Subsurface/Content/Characters/Tigerthresher/tigerthresher.png b/Barotrauma/Content/Characters/Tigerthresher/tigerthresher.png similarity index 100% rename from Subsurface/Content/Characters/Tigerthresher/tigerthresher.png rename to Barotrauma/Content/Characters/Tigerthresher/tigerthresher.png diff --git a/Subsurface/Content/Characters/Tigerthresher/tigerthresher.xml b/Barotrauma/Content/Characters/Tigerthresher/tigerthresher.xml similarity index 96% rename from Subsurface/Content/Characters/Tigerthresher/tigerthresher.xml rename to Barotrauma/Content/Characters/Tigerthresher/tigerthresher.xml index b6727bb62..c4fb666af 100644 --- a/Subsurface/Content/Characters/Tigerthresher/tigerthresher.xml +++ b/Barotrauma/Content/Characters/Tigerthresher/tigerthresher.xml @@ -19,7 +19,7 @@ - + diff --git a/Subsurface/Content/Characters/Watcher/attack1.ogg b/Barotrauma/Content/Characters/Watcher/attack1.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/attack1.ogg rename to Barotrauma/Content/Characters/Watcher/attack1.ogg diff --git a/Subsurface/Content/Characters/Watcher/attack2.ogg b/Barotrauma/Content/Characters/Watcher/attack2.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/attack2.ogg rename to Barotrauma/Content/Characters/Watcher/attack2.ogg diff --git a/Subsurface/Content/Characters/Watcher/attack3.ogg b/Barotrauma/Content/Characters/Watcher/attack3.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/attack3.ogg rename to Barotrauma/Content/Characters/Watcher/attack3.ogg diff --git a/Subsurface/Content/Characters/Watcher/watch1.ogg b/Barotrauma/Content/Characters/Watcher/watch1.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/watch1.ogg rename to Barotrauma/Content/Characters/Watcher/watch1.ogg diff --git a/Subsurface/Content/Characters/Watcher/watch2.ogg b/Barotrauma/Content/Characters/Watcher/watch2.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/watch2.ogg rename to Barotrauma/Content/Characters/Watcher/watch2.ogg diff --git a/Subsurface/Content/Characters/Watcher/watch3.ogg b/Barotrauma/Content/Characters/Watcher/watch3.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/watch3.ogg rename to Barotrauma/Content/Characters/Watcher/watch3.ogg diff --git a/Subsurface/Content/Characters/Watcher/watch4.ogg b/Barotrauma/Content/Characters/Watcher/watch4.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/watch4.ogg rename to Barotrauma/Content/Characters/Watcher/watch4.ogg diff --git a/Subsurface/Content/Characters/Watcher/watch5.ogg b/Barotrauma/Content/Characters/Watcher/watch5.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/watch5.ogg rename to Barotrauma/Content/Characters/Watcher/watch5.ogg diff --git a/Subsurface/Content/Characters/Watcher/watch6.ogg b/Barotrauma/Content/Characters/Watcher/watch6.ogg similarity index 100% rename from Subsurface/Content/Characters/Watcher/watch6.ogg rename to Barotrauma/Content/Characters/Watcher/watch6.ogg diff --git a/Subsurface/Content/Characters/Watcher/watcher.png b/Barotrauma/Content/Characters/Watcher/watcher.png similarity index 100% rename from Subsurface/Content/Characters/Watcher/watcher.png rename to Barotrauma/Content/Characters/Watcher/watcher.png diff --git a/Subsurface/Content/Characters/Watcher/watcher.xml b/Barotrauma/Content/Characters/Watcher/watcher.xml similarity index 100% rename from Subsurface/Content/Characters/Watcher/watcher.xml rename to Barotrauma/Content/Characters/Watcher/watcher.xml diff --git a/Subsurface/Content/Code Pro Bold.otf b/Barotrauma/Content/Code Pro Bold.otf similarity index 100% rename from Subsurface/Content/Code Pro Bold.otf rename to Barotrauma/Content/Code Pro Bold.otf diff --git a/Subsurface/Content/Content.mgcb b/Barotrauma/Content/Content.mgcb similarity index 100% rename from Subsurface/Content/Content.mgcb rename to Barotrauma/Content/Content.mgcb diff --git a/Subsurface/Content/Exo2-Light.otf b/Barotrauma/Content/Exo2-Light.otf similarity index 100% rename from Subsurface/Content/Exo2-Light.otf rename to Barotrauma/Content/Exo2-Light.otf diff --git a/Subsurface/Content/Exo2-Medium.otf b/Barotrauma/Content/Exo2-Medium.otf similarity index 100% rename from Subsurface/Content/Exo2-Medium.otf rename to Barotrauma/Content/Exo2-Medium.otf diff --git a/Subsurface/Content/InfoTexts.xml b/Barotrauma/Content/InfoTexts.xml similarity index 100% rename from Subsurface/Content/InfoTexts.xml rename to Barotrauma/Content/InfoTexts.xml diff --git a/Subsurface/Content/Items/Artifacts/aliendoor.ogg b/Barotrauma/Content/Items/Artifacts/aliendoor.ogg similarity index 100% rename from Subsurface/Content/Items/Artifacts/aliendoor.ogg rename to Barotrauma/Content/Items/Artifacts/aliendoor.ogg diff --git a/Subsurface/Content/Items/Artifacts/alientools.png b/Barotrauma/Content/Items/Artifacts/alientools.png similarity index 100% rename from Subsurface/Content/Items/Artifacts/alientools.png rename to Barotrauma/Content/Items/Artifacts/alientools.png diff --git a/Subsurface/Content/Items/Artifacts/alienweapon.ogg b/Barotrauma/Content/Items/Artifacts/alienweapon.ogg similarity index 100% rename from Subsurface/Content/Items/Artifacts/alienweapon.ogg rename to Barotrauma/Content/Items/Artifacts/alienweapon.ogg diff --git a/Subsurface/Content/Items/Artifacts/artifact.png b/Barotrauma/Content/Items/Artifacts/artifact.png similarity index 100% rename from Subsurface/Content/Items/Artifacts/artifact.png rename to Barotrauma/Content/Items/Artifacts/artifact.png diff --git a/Subsurface/Content/Items/Artifacts/artifactholder.png b/Barotrauma/Content/Items/Artifacts/artifactholder.png similarity index 100% rename from Subsurface/Content/Items/Artifacts/artifactholder.png rename to Barotrauma/Content/Items/Artifacts/artifactholder.png diff --git a/Subsurface/Content/Items/Artifacts/artifacts.xml b/Barotrauma/Content/Items/Artifacts/artifacts.xml similarity index 100% rename from Subsurface/Content/Items/Artifacts/artifacts.xml rename to Barotrauma/Content/Items/Artifacts/artifacts.xml diff --git a/Subsurface/Content/Items/Button/beep.ogg b/Barotrauma/Content/Items/Button/beep.ogg similarity index 100% rename from Subsurface/Content/Items/Button/beep.ogg rename to Barotrauma/Content/Items/Button/beep.ogg diff --git a/Subsurface/Content/Items/Button/button.png b/Barotrauma/Content/Items/Button/button.png similarity index 100% rename from Subsurface/Content/Items/Button/button.png rename to Barotrauma/Content/Items/Button/button.png diff --git a/Subsurface/Content/Items/Button/button.xml b/Barotrauma/Content/Items/Button/button.xml similarity index 100% rename from Subsurface/Content/Items/Button/button.xml rename to Barotrauma/Content/Items/Button/button.xml diff --git a/Subsurface/Content/Items/Containers/cabinets.png b/Barotrauma/Content/Items/Containers/cabinets.png similarity index 100% rename from Subsurface/Content/Items/Containers/cabinets.png rename to Barotrauma/Content/Items/Containers/cabinets.png diff --git a/Subsurface/Content/Items/Containers/containers.xml b/Barotrauma/Content/Items/Containers/containers.xml similarity index 100% rename from Subsurface/Content/Items/Containers/containers.xml rename to Barotrauma/Content/Items/Containers/containers.xml diff --git a/Subsurface/Content/Items/Containers/crates.png b/Barotrauma/Content/Items/Containers/crates.png similarity index 100% rename from Subsurface/Content/Items/Containers/crates.png rename to Barotrauma/Content/Items/Containers/crates.png diff --git a/Subsurface/Content/Items/Containers/locker.png b/Barotrauma/Content/Items/Containers/locker.png similarity index 100% rename from Subsurface/Content/Items/Containers/locker.png rename to Barotrauma/Content/Items/Containers/locker.png diff --git a/Subsurface/Content/Items/Diving/DivingMask.png b/Barotrauma/Content/Items/Diving/DivingMask.png similarity index 100% rename from Subsurface/Content/Items/Diving/DivingMask.png rename to Barotrauma/Content/Items/Diving/DivingMask.png diff --git a/Subsurface/Content/Items/Diving/DivingSuit.png b/Barotrauma/Content/Items/Diving/DivingSuit.png similarity index 100% rename from Subsurface/Content/Items/Diving/DivingSuit.png rename to Barotrauma/Content/Items/Diving/DivingSuit.png diff --git a/Subsurface/Content/Items/Diving/divingSuit.ogg b/Barotrauma/Content/Items/Diving/divingSuit.ogg similarity index 100% rename from Subsurface/Content/Items/Diving/divingSuit.ogg rename to Barotrauma/Content/Items/Diving/divingSuit.ogg diff --git a/Subsurface/Content/Items/Diving/divinggear.xml b/Barotrauma/Content/Items/Diving/divinggear.xml similarity index 100% rename from Subsurface/Content/Items/Diving/divinggear.xml rename to Barotrauma/Content/Items/Diving/divinggear.xml diff --git a/Subsurface/Content/Items/Diving/scooter.ogg b/Barotrauma/Content/Items/Diving/scooter.ogg similarity index 100% rename from Subsurface/Content/Items/Diving/scooter.ogg rename to Barotrauma/Content/Items/Diving/scooter.ogg diff --git a/Subsurface/Content/Items/Door/dockingport.png b/Barotrauma/Content/Items/Door/dockingport.png similarity index 100% rename from Subsurface/Content/Items/Door/dockingport.png rename to Barotrauma/Content/Items/Door/dockingport.png diff --git a/Subsurface/Content/Items/Door/dockingport1.ogg b/Barotrauma/Content/Items/Door/dockingport1.ogg similarity index 100% rename from Subsurface/Content/Items/Door/dockingport1.ogg rename to Barotrauma/Content/Items/Door/dockingport1.ogg diff --git a/Subsurface/Content/Items/Door/dockingport2.ogg b/Barotrauma/Content/Items/Door/dockingport2.ogg similarity index 100% rename from Subsurface/Content/Items/Door/dockingport2.ogg rename to Barotrauma/Content/Items/Door/dockingport2.ogg diff --git a/Subsurface/Content/Items/Door/dockingport2.png b/Barotrauma/Content/Items/Door/dockingport2.png similarity index 100% rename from Subsurface/Content/Items/Door/dockingport2.png rename to Barotrauma/Content/Items/Door/dockingport2.png diff --git a/Subsurface/Content/Items/Door/door.ogg b/Barotrauma/Content/Items/Door/door.ogg similarity index 100% rename from Subsurface/Content/Items/Door/door.ogg rename to Barotrauma/Content/Items/Door/door.ogg diff --git a/Subsurface/Content/Items/Door/door.png b/Barotrauma/Content/Items/Door/door.png similarity index 100% rename from Subsurface/Content/Items/Door/door.png rename to Barotrauma/Content/Items/Door/door.png diff --git a/Subsurface/Content/Items/Door/doors.xml b/Barotrauma/Content/Items/Door/doors.xml similarity index 97% rename from Subsurface/Content/Items/Door/doors.xml rename to Barotrauma/Content/Items/Door/doors.xml index f6c6f3c78..9587ecf87 100644 --- a/Subsurface/Content/Items/Door/doors.xml +++ b/Barotrauma/Content/Items/Door/doors.xml @@ -1,153 +1,153 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Subsurface/Content/Items/Electricity/battery.png b/Barotrauma/Content/Items/Electricity/battery.png similarity index 100% rename from Subsurface/Content/Items/Electricity/battery.png rename to Barotrauma/Content/Items/Electricity/battery.png diff --git a/Subsurface/Content/Items/Electricity/junctionbox.png b/Barotrauma/Content/Items/Electricity/junctionbox.png similarity index 100% rename from Subsurface/Content/Items/Electricity/junctionbox.png rename to Barotrauma/Content/Items/Electricity/junctionbox.png diff --git a/Subsurface/Content/Items/Electricity/lamp.png b/Barotrauma/Content/Items/Electricity/lamp.png similarity index 100% rename from Subsurface/Content/Items/Electricity/lamp.png rename to Barotrauma/Content/Items/Electricity/lamp.png diff --git a/Subsurface/Content/Items/Electricity/lights.xml b/Barotrauma/Content/Items/Electricity/lights.xml similarity index 100% rename from Subsurface/Content/Items/Electricity/lights.xml rename to Barotrauma/Content/Items/Electricity/lights.xml diff --git a/Subsurface/Content/Items/Electricity/lightsprite.png b/Barotrauma/Content/Items/Electricity/lightsprite.png similarity index 100% rename from Subsurface/Content/Items/Electricity/lightsprite.png rename to Barotrauma/Content/Items/Electricity/lightsprite.png diff --git a/Subsurface/Content/Items/Electricity/monitor.png b/Barotrauma/Content/Items/Electricity/monitor.png similarity index 100% rename from Subsurface/Content/Items/Electricity/monitor.png rename to Barotrauma/Content/Items/Electricity/monitor.png diff --git a/Subsurface/Content/Items/Electricity/monitors.xml b/Barotrauma/Content/Items/Electricity/monitors.xml similarity index 100% rename from Subsurface/Content/Items/Electricity/monitors.xml rename to Barotrauma/Content/Items/Electricity/monitors.xml diff --git a/Subsurface/Content/Items/Electricity/powerOn.ogg b/Barotrauma/Content/Items/Electricity/powerOn.ogg similarity index 100% rename from Subsurface/Content/Items/Electricity/powerOn.ogg rename to Barotrauma/Content/Items/Electricity/powerOn.ogg diff --git a/Subsurface/Content/Items/Electricity/poweritems.xml b/Barotrauma/Content/Items/Electricity/poweritems.xml similarity index 100% rename from Subsurface/Content/Items/Electricity/poweritems.xml rename to Barotrauma/Content/Items/Electricity/poweritems.xml diff --git a/Subsurface/Content/Items/Electricity/signalcomp.png b/Barotrauma/Content/Items/Electricity/signalcomp.png similarity index 100% rename from Subsurface/Content/Items/Electricity/signalcomp.png rename to Barotrauma/Content/Items/Electricity/signalcomp.png diff --git a/Subsurface/Content/Items/Electricity/signalitems.xml b/Barotrauma/Content/Items/Electricity/signalitems.xml similarity index 100% rename from Subsurface/Content/Items/Electricity/signalitems.xml rename to Barotrauma/Content/Items/Electricity/signalitems.xml diff --git a/Subsurface/Content/Items/Electricity/supercapacitor.png b/Barotrauma/Content/Items/Electricity/supercapacitor.png similarity index 100% rename from Subsurface/Content/Items/Electricity/supercapacitor.png rename to Barotrauma/Content/Items/Electricity/supercapacitor.png diff --git a/Subsurface/Content/Items/Electricity/zap1.ogg b/Barotrauma/Content/Items/Electricity/zap1.ogg similarity index 100% rename from Subsurface/Content/Items/Electricity/zap1.ogg rename to Barotrauma/Content/Items/Electricity/zap1.ogg diff --git a/Subsurface/Content/Items/Electricity/zap2.ogg b/Barotrauma/Content/Items/Electricity/zap2.ogg similarity index 100% rename from Subsurface/Content/Items/Electricity/zap2.ogg rename to Barotrauma/Content/Items/Electricity/zap2.ogg diff --git a/Subsurface/Content/Items/Electricity/zap3.ogg b/Barotrauma/Content/Items/Electricity/zap3.ogg similarity index 100% rename from Subsurface/Content/Items/Electricity/zap3.ogg rename to Barotrauma/Content/Items/Electricity/zap3.ogg diff --git a/Subsurface/Content/Items/Electricity/zap4.ogg b/Barotrauma/Content/Items/Electricity/zap4.ogg similarity index 100% rename from Subsurface/Content/Items/Electricity/zap4.ogg rename to Barotrauma/Content/Items/Electricity/zap4.ogg diff --git a/Subsurface/Content/Items/Engine/engine.ogg b/Barotrauma/Content/Items/Engine/engine.ogg similarity index 100% rename from Subsurface/Content/Items/Engine/engine.ogg rename to Barotrauma/Content/Items/Engine/engine.ogg diff --git a/Subsurface/Content/Items/Engine/engine.png b/Barotrauma/Content/Items/Engine/engine.png similarity index 100% rename from Subsurface/Content/Items/Engine/engine.png rename to Barotrauma/Content/Items/Engine/engine.png diff --git a/Subsurface/Content/Items/Engine/engine.xml b/Barotrauma/Content/Items/Engine/engine.xml similarity index 100% rename from Subsurface/Content/Items/Engine/engine.xml rename to Barotrauma/Content/Items/Engine/engine.xml diff --git a/Barotrauma/Content/Items/Engine/pingCircle.png b/Barotrauma/Content/Items/Engine/pingCircle.png new file mode 100644 index 000000000..b27f0d10a Binary files /dev/null and b/Barotrauma/Content/Items/Engine/pingCircle.png differ diff --git a/Subsurface/Content/Items/Engine/radarBlip.png b/Barotrauma/Content/Items/Engine/radarBlip.png similarity index 100% rename from Subsurface/Content/Items/Engine/radarBlip.png rename to Barotrauma/Content/Items/Engine/radarBlip.png diff --git a/Subsurface/Content/Items/Engine/radarOverlay.png b/Barotrauma/Content/Items/Engine/radarOverlay.png similarity index 100% rename from Subsurface/Content/Items/Engine/radarOverlay.png rename to Barotrauma/Content/Items/Engine/radarOverlay.png diff --git a/Subsurface/Content/Items/Engine/radarPing.ogg b/Barotrauma/Content/Items/Engine/radarPing.ogg similarity index 100% rename from Subsurface/Content/Items/Engine/radarPing.ogg rename to Barotrauma/Content/Items/Engine/radarPing.ogg diff --git a/Subsurface/Content/Items/Fabricators/deconstructor.ogg b/Barotrauma/Content/Items/Fabricators/deconstructor.ogg similarity index 100% rename from Subsurface/Content/Items/Fabricators/deconstructor.ogg rename to Barotrauma/Content/Items/Fabricators/deconstructor.ogg diff --git a/Subsurface/Content/Items/Fabricators/fabricator.ogg b/Barotrauma/Content/Items/Fabricators/fabricator.ogg similarity index 100% rename from Subsurface/Content/Items/Fabricators/fabricator.ogg rename to Barotrauma/Content/Items/Fabricators/fabricator.ogg diff --git a/Subsurface/Content/Items/Fabricators/fabricators.xml b/Barotrauma/Content/Items/Fabricators/fabricators.xml similarity index 100% rename from Subsurface/Content/Items/Fabricators/fabricators.xml rename to Barotrauma/Content/Items/Fabricators/fabricators.xml diff --git a/Subsurface/Content/Items/Fabricators/materials.png b/Barotrauma/Content/Items/Fabricators/materials.png similarity index 100% rename from Subsurface/Content/Items/Fabricators/materials.png rename to Barotrauma/Content/Items/Fabricators/materials.png diff --git a/Subsurface/Content/Items/Fabricators/materials.xml b/Barotrauma/Content/Items/Fabricators/materials.xml similarity index 100% rename from Subsurface/Content/Items/Fabricators/materials.xml rename to Barotrauma/Content/Items/Fabricators/materials.xml diff --git a/Subsurface/Content/Items/Jobgear/captainLegs.png b/Barotrauma/Content/Items/Jobgear/captainLegs.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/captainLegs.png rename to Barotrauma/Content/Items/Jobgear/captainLegs.png diff --git a/Subsurface/Content/Items/Jobgear/captainTorso.png b/Barotrauma/Content/Items/Jobgear/captainTorso.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/captainTorso.png rename to Barotrauma/Content/Items/Jobgear/captainTorso.png diff --git a/Subsurface/Content/Items/Jobgear/captaingear.xml b/Barotrauma/Content/Items/Jobgear/captaingear.xml similarity index 100% rename from Subsurface/Content/Items/Jobgear/captaingear.xml rename to Barotrauma/Content/Items/Jobgear/captaingear.xml diff --git a/Subsurface/Content/Items/Jobgear/captainhat.png b/Barotrauma/Content/Items/Jobgear/captainhat.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/captainhat.png rename to Barotrauma/Content/Items/Jobgear/captainhat.png diff --git a/Subsurface/Content/Items/Jobgear/clownmask.png b/Barotrauma/Content/Items/Jobgear/clownmask.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/clownmask.png rename to Barotrauma/Content/Items/Jobgear/clownmask.png diff --git a/Subsurface/Content/Items/Jobgear/clownpants.png b/Barotrauma/Content/Items/Jobgear/clownpants.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/clownpants.png rename to Barotrauma/Content/Items/Jobgear/clownpants.png diff --git a/Subsurface/Content/Items/Jobgear/clownshirt.png b/Barotrauma/Content/Items/Jobgear/clownshirt.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/clownshirt.png rename to Barotrauma/Content/Items/Jobgear/clownshirt.png diff --git a/Subsurface/Content/Items/Jobgear/doctorgear.png b/Barotrauma/Content/Items/Jobgear/doctorgear.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/doctorgear.png rename to Barotrauma/Content/Items/Jobgear/doctorgear.png diff --git a/Subsurface/Content/Items/Jobgear/doctorgear.xml b/Barotrauma/Content/Items/Jobgear/doctorgear.xml similarity index 100% rename from Subsurface/Content/Items/Jobgear/doctorgear.xml rename to Barotrauma/Content/Items/Jobgear/doctorgear.xml diff --git a/Subsurface/Content/Items/Jobgear/engigear.png b/Barotrauma/Content/Items/Jobgear/engigear.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/engigear.png rename to Barotrauma/Content/Items/Jobgear/engigear.png diff --git a/Subsurface/Content/Items/Jobgear/engigear.xml b/Barotrauma/Content/Items/Jobgear/engigear.xml similarity index 100% rename from Subsurface/Content/Items/Jobgear/engigear.xml rename to Barotrauma/Content/Items/Jobgear/engigear.xml diff --git a/Subsurface/Content/Items/Jobgear/headset.png b/Barotrauma/Content/Items/Jobgear/headset.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/headset.png rename to Barotrauma/Content/Items/Jobgear/headset.png diff --git a/Subsurface/Content/Items/Jobgear/misc.xml b/Barotrauma/Content/Items/Jobgear/misc.xml similarity index 100% rename from Subsurface/Content/Items/Jobgear/misc.xml rename to Barotrauma/Content/Items/Jobgear/misc.xml diff --git a/Subsurface/Content/Items/Jobgear/securitygear.png b/Barotrauma/Content/Items/Jobgear/securitygear.png similarity index 100% rename from Subsurface/Content/Items/Jobgear/securitygear.png rename to Barotrauma/Content/Items/Jobgear/securitygear.png diff --git a/Subsurface/Content/Items/Jobgear/securitygear.xml b/Barotrauma/Content/Items/Jobgear/securitygear.xml similarity index 100% rename from Subsurface/Content/Items/Jobgear/securitygear.xml rename to Barotrauma/Content/Items/Jobgear/securitygear.xml diff --git a/Subsurface/Content/Items/Ladder/ladder.png b/Barotrauma/Content/Items/Ladder/ladder.png similarity index 100% rename from Subsurface/Content/Items/Ladder/ladder.png rename to Barotrauma/Content/Items/Ladder/ladder.png diff --git a/Subsurface/Content/Items/Ladder/ladder.xml b/Barotrauma/Content/Items/Ladder/ladder.xml similarity index 100% rename from Subsurface/Content/Items/Ladder/ladder.xml rename to Barotrauma/Content/Items/Ladder/ladder.xml diff --git a/Subsurface/Content/Items/Medical/bandage.ogg b/Barotrauma/Content/Items/Medical/bandage.ogg similarity index 100% rename from Subsurface/Content/Items/Medical/bandage.ogg rename to Barotrauma/Content/Items/Medical/bandage.ogg diff --git a/Subsurface/Content/Items/Medical/med.png b/Barotrauma/Content/Items/Medical/med.png similarity index 100% rename from Subsurface/Content/Items/Medical/med.png rename to Barotrauma/Content/Items/Medical/med.png diff --git a/Subsurface/Content/Items/Medical/medical.xml b/Barotrauma/Content/Items/Medical/medical.xml similarity index 100% rename from Subsurface/Content/Items/Medical/medical.xml rename to Barotrauma/Content/Items/Medical/medical.xml diff --git a/Subsurface/Content/Items/Medical/syringe.ogg b/Barotrauma/Content/Items/Medical/syringe.ogg similarity index 100% rename from Subsurface/Content/Items/Medical/syringe.ogg rename to Barotrauma/Content/Items/Medical/syringe.ogg diff --git a/Subsurface/Content/Items/MiniMap/item.xml b/Barotrauma/Content/Items/MiniMap/item.xml similarity index 100% rename from Subsurface/Content/Items/MiniMap/item.xml rename to Barotrauma/Content/Items/MiniMap/item.xml diff --git a/Subsurface/Content/Items/OxygenGenerator/oxygengenerator.ogg b/Barotrauma/Content/Items/OxygenGenerator/oxygengenerator.ogg similarity index 100% rename from Subsurface/Content/Items/OxygenGenerator/oxygengenerator.ogg rename to Barotrauma/Content/Items/OxygenGenerator/oxygengenerator.ogg diff --git a/Subsurface/Content/Items/OxygenGenerator/oxygengenerator.png b/Barotrauma/Content/Items/OxygenGenerator/oxygengenerator.png similarity index 100% rename from Subsurface/Content/Items/OxygenGenerator/oxygengenerator.png rename to Barotrauma/Content/Items/OxygenGenerator/oxygengenerator.png diff --git a/Subsurface/Content/Items/OxygenGenerator/oxygengenerator.xml b/Barotrauma/Content/Items/OxygenGenerator/oxygengenerator.xml similarity index 100% rename from Subsurface/Content/Items/OxygenGenerator/oxygengenerator.xml rename to Barotrauma/Content/Items/OxygenGenerator/oxygengenerator.xml diff --git a/Subsurface/Content/Items/OxygenGenerator/vent.png b/Barotrauma/Content/Items/OxygenGenerator/vent.png similarity index 100% rename from Subsurface/Content/Items/OxygenGenerator/vent.png rename to Barotrauma/Content/Items/OxygenGenerator/vent.png diff --git a/Subsurface/Content/Items/OxygenGenerator/ventilation.ogg b/Barotrauma/Content/Items/OxygenGenerator/ventilation.ogg similarity index 100% rename from Subsurface/Content/Items/OxygenGenerator/ventilation.ogg rename to Barotrauma/Content/Items/OxygenGenerator/ventilation.ogg diff --git a/Subsurface/Content/Items/Pump/pump.ogg b/Barotrauma/Content/Items/Pump/pump.ogg similarity index 100% rename from Subsurface/Content/Items/Pump/pump.ogg rename to Barotrauma/Content/Items/Pump/pump.ogg diff --git a/Subsurface/Content/Items/Pump/pump.png b/Barotrauma/Content/Items/Pump/pump.png similarity index 100% rename from Subsurface/Content/Items/Pump/pump.png rename to Barotrauma/Content/Items/Pump/pump.png diff --git a/Subsurface/Content/Items/Pump/pump.xml b/Barotrauma/Content/Items/Pump/pump.xml similarity index 100% rename from Subsurface/Content/Items/Pump/pump.xml rename to Barotrauma/Content/Items/Pump/pump.xml diff --git a/Subsurface/Content/Items/Pump/smallpump.png b/Barotrauma/Content/Items/Pump/smallpump.png similarity index 100% rename from Subsurface/Content/Items/Pump/smallpump.png rename to Barotrauma/Content/Items/Pump/smallpump.png diff --git a/Subsurface/Content/Items/Reactor/explosion.ogg b/Barotrauma/Content/Items/Reactor/explosion.ogg similarity index 100% rename from Subsurface/Content/Items/Reactor/explosion.ogg rename to Barotrauma/Content/Items/Reactor/explosion.ogg diff --git a/Subsurface/Content/Items/Reactor/fuelrod.png b/Barotrauma/Content/Items/Reactor/fuelrod.png similarity index 100% rename from Subsurface/Content/Items/Reactor/fuelrod.png rename to Barotrauma/Content/Items/Reactor/fuelrod.png diff --git a/Subsurface/Content/Items/Reactor/heatabsorber.png b/Barotrauma/Content/Items/Reactor/heatabsorber.png similarity index 100% rename from Subsurface/Content/Items/Reactor/heatabsorber.png rename to Barotrauma/Content/Items/Reactor/heatabsorber.png diff --git a/Subsurface/Content/Items/Reactor/reactor.ogg b/Barotrauma/Content/Items/Reactor/reactor.ogg similarity index 100% rename from Subsurface/Content/Items/Reactor/reactor.ogg rename to Barotrauma/Content/Items/Reactor/reactor.ogg diff --git a/Subsurface/Content/Items/Reactor/reactor.png b/Barotrauma/Content/Items/Reactor/reactor.png similarity index 100% rename from Subsurface/Content/Items/Reactor/reactor.png rename to Barotrauma/Content/Items/Reactor/reactor.png diff --git a/Subsurface/Content/Items/Reactor/reactor.xml b/Barotrauma/Content/Items/Reactor/reactor.xml similarity index 100% rename from Subsurface/Content/Items/Reactor/reactor.xml rename to Barotrauma/Content/Items/Reactor/reactor.xml diff --git a/Subsurface/Content/Items/Tools/extinguisher.ogg b/Barotrauma/Content/Items/Tools/extinguisher.ogg similarity index 100% rename from Subsurface/Content/Items/Tools/extinguisher.ogg rename to Barotrauma/Content/Items/Tools/extinguisher.ogg diff --git a/Subsurface/Content/Items/Tools/extinguisher.png b/Barotrauma/Content/Items/Tools/extinguisher.png similarity index 100% rename from Subsurface/Content/Items/Tools/extinguisher.png rename to Barotrauma/Content/Items/Tools/extinguisher.png diff --git a/Subsurface/Content/Items/Tools/flare.ogg b/Barotrauma/Content/Items/Tools/flare.ogg similarity index 100% rename from Subsurface/Content/Items/Tools/flare.ogg rename to Barotrauma/Content/Items/Tools/flare.ogg diff --git a/Subsurface/Content/Items/Tools/plasmaCutter.ogg b/Barotrauma/Content/Items/Tools/plasmaCutter.ogg similarity index 100% rename from Subsurface/Content/Items/Tools/plasmaCutter.ogg rename to Barotrauma/Content/Items/Tools/plasmaCutter.ogg diff --git a/Subsurface/Content/Items/Tools/tools.png b/Barotrauma/Content/Items/Tools/tools.png similarity index 100% rename from Subsurface/Content/Items/Tools/tools.png rename to Barotrauma/Content/Items/Tools/tools.png diff --git a/Subsurface/Content/Items/Tools/tools.xml b/Barotrauma/Content/Items/Tools/tools.xml similarity index 100% rename from Subsurface/Content/Items/Tools/tools.xml rename to Barotrauma/Content/Items/Tools/tools.xml diff --git a/Subsurface/Content/Items/Tools/weldingTool.ogg b/Barotrauma/Content/Items/Tools/weldingTool.ogg similarity index 100% rename from Subsurface/Content/Items/Tools/weldingTool.ogg rename to Barotrauma/Content/Items/Tools/weldingTool.ogg diff --git a/Subsurface/Content/Items/Weapons/bigexplosion.ogg b/Barotrauma/Content/Items/Weapons/bigexplosion.ogg similarity index 100% rename from Subsurface/Content/Items/Weapons/bigexplosion.ogg rename to Barotrauma/Content/Items/Weapons/bigexplosion.ogg diff --git a/Subsurface/Content/Items/Weapons/depthcharge.xml b/Barotrauma/Content/Items/Weapons/depthcharge.xml similarity index 100% rename from Subsurface/Content/Items/Weapons/depthcharge.xml rename to Barotrauma/Content/Items/Weapons/depthcharge.xml diff --git a/Subsurface/Content/Items/Weapons/explosives.xml b/Barotrauma/Content/Items/Weapons/explosives.xml similarity index 100% rename from Subsurface/Content/Items/Weapons/explosives.xml rename to Barotrauma/Content/Items/Weapons/explosives.xml diff --git a/Subsurface/Content/Items/Weapons/harpoon1.ogg b/Barotrauma/Content/Items/Weapons/harpoon1.ogg similarity index 100% rename from Subsurface/Content/Items/Weapons/harpoon1.ogg rename to Barotrauma/Content/Items/Weapons/harpoon1.ogg diff --git a/Subsurface/Content/Items/Weapons/harpoon2.ogg b/Barotrauma/Content/Items/Weapons/harpoon2.ogg similarity index 100% rename from Subsurface/Content/Items/Weapons/harpoon2.ogg rename to Barotrauma/Content/Items/Weapons/harpoon2.ogg diff --git a/Subsurface/Content/Items/Weapons/honk.ogg b/Barotrauma/Content/Items/Weapons/honk.ogg similarity index 100% rename from Subsurface/Content/Items/Weapons/honk.ogg rename to Barotrauma/Content/Items/Weapons/honk.ogg diff --git a/Subsurface/Content/Items/Weapons/railgun.ogg b/Barotrauma/Content/Items/Weapons/railgun.ogg similarity index 100% rename from Subsurface/Content/Items/Weapons/railgun.ogg rename to Barotrauma/Content/Items/Weapons/railgun.ogg diff --git a/Subsurface/Content/Items/Weapons/railgun.xml b/Barotrauma/Content/Items/Weapons/railgun.xml similarity index 100% rename from Subsurface/Content/Items/Weapons/railgun.xml rename to Barotrauma/Content/Items/Weapons/railgun.xml diff --git a/Subsurface/Content/Items/Weapons/railgunbarrel.png b/Barotrauma/Content/Items/Weapons/railgunbarrel.png similarity index 100% rename from Subsurface/Content/Items/Weapons/railgunbarrel.png rename to Barotrauma/Content/Items/Weapons/railgunbarrel.png diff --git a/Subsurface/Content/Items/Weapons/railgunbase.png b/Barotrauma/Content/Items/Weapons/railgunbase.png similarity index 100% rename from Subsurface/Content/Items/Weapons/railgunbase.png rename to Barotrauma/Content/Items/Weapons/railgunbase.png diff --git a/Subsurface/Content/Items/Weapons/railgunetc.png b/Barotrauma/Content/Items/Weapons/railgunetc.png similarity index 100% rename from Subsurface/Content/Items/Weapons/railgunetc.png rename to Barotrauma/Content/Items/Weapons/railgunetc.png diff --git a/Subsurface/Content/Items/Weapons/rope.png b/Barotrauma/Content/Items/Weapons/rope.png similarity index 100% rename from Subsurface/Content/Items/Weapons/rope.png rename to Barotrauma/Content/Items/Weapons/rope.png diff --git a/Subsurface/Content/Items/Weapons/smack.ogg b/Barotrauma/Content/Items/Weapons/smack.ogg similarity index 100% rename from Subsurface/Content/Items/Weapons/smack.ogg rename to Barotrauma/Content/Items/Weapons/smack.ogg diff --git a/Subsurface/Content/Items/Weapons/stunbaton.ogg b/Barotrauma/Content/Items/Weapons/stunbaton.ogg similarity index 100% rename from Subsurface/Content/Items/Weapons/stunbaton.ogg rename to Barotrauma/Content/Items/Weapons/stunbaton.ogg diff --git a/Subsurface/Content/Items/Weapons/stunGrenade.ogg b/Barotrauma/Content/Items/Weapons/stungrenade.ogg similarity index 100% rename from Subsurface/Content/Items/Weapons/stunGrenade.ogg rename to Barotrauma/Content/Items/Weapons/stungrenade.ogg diff --git a/Subsurface/Content/Items/Weapons/stungrenade.png b/Barotrauma/Content/Items/Weapons/stungrenade.png similarity index 100% rename from Subsurface/Content/Items/Weapons/stungrenade.png rename to Barotrauma/Content/Items/Weapons/stungrenade.png diff --git a/Subsurface/Content/Items/Weapons/weapons.png b/Barotrauma/Content/Items/Weapons/weapons.png similarity index 100% rename from Subsurface/Content/Items/Weapons/weapons.png rename to Barotrauma/Content/Items/Weapons/weapons.png diff --git a/Subsurface/Content/Items/Weapons/weapons.xml b/Barotrauma/Content/Items/Weapons/weapons.xml similarity index 100% rename from Subsurface/Content/Items/Weapons/weapons.xml rename to Barotrauma/Content/Items/Weapons/weapons.xml diff --git a/Subsurface/Content/Items/blank.png b/Barotrauma/Content/Items/blank.png similarity index 100% rename from Subsurface/Content/Items/blank.png rename to Barotrauma/Content/Items/blank.png diff --git a/Subsurface/Content/Items/circuitboard.png b/Barotrauma/Content/Items/circuitboard.png similarity index 100% rename from Subsurface/Content/Items/circuitboard.png rename to Barotrauma/Content/Items/circuitboard.png diff --git a/Subsurface/Content/Items/connectionpanel.png b/Barotrauma/Content/Items/connectionpanel.png similarity index 100% rename from Subsurface/Content/Items/connectionpanel.png rename to Barotrauma/Content/Items/connectionpanel.png diff --git a/Subsurface/Content/Items/connector.png b/Barotrauma/Content/Items/connector.png similarity index 100% rename from Subsurface/Content/Items/connector.png rename to Barotrauma/Content/Items/connector.png diff --git a/Subsurface/Content/Items/idcard.png b/Barotrauma/Content/Items/idcard.png similarity index 100% rename from Subsurface/Content/Items/idcard.png rename to Barotrauma/Content/Items/idcard.png diff --git a/Subsurface/Content/Items/idcard.xml b/Barotrauma/Content/Items/idcard.xml similarity index 100% rename from Subsurface/Content/Items/idcard.xml rename to Barotrauma/Content/Items/idcard.xml diff --git a/Subsurface/Content/Items/itemlabel.xml b/Barotrauma/Content/Items/itemlabel.xml similarity index 100% rename from Subsurface/Content/Items/itemlabel.xml rename to Barotrauma/Content/Items/itemlabel.xml diff --git a/Subsurface/Content/Items/machines.png b/Barotrauma/Content/Items/machines.png similarity index 100% rename from Subsurface/Content/Items/machines.png rename to Barotrauma/Content/Items/machines.png diff --git a/Subsurface/Content/Items/warningBeep.ogg b/Barotrauma/Content/Items/warningBeep.ogg similarity index 100% rename from Subsurface/Content/Items/warningBeep.ogg rename to Barotrauma/Content/Items/warningBeep.ogg diff --git a/Subsurface/Content/Items/warningSiren.ogg b/Barotrauma/Content/Items/warningSiren.ogg similarity index 100% rename from Subsurface/Content/Items/warningSiren.ogg rename to Barotrauma/Content/Items/warningSiren.ogg diff --git a/Subsurface/Content/Items/wireCorner.png b/Barotrauma/Content/Items/wireCorner.png similarity index 100% rename from Subsurface/Content/Items/wireCorner.png rename to Barotrauma/Content/Items/wireCorner.png diff --git a/Subsurface/Content/Items/wireHorizontal.png b/Barotrauma/Content/Items/wireHorizontal.png similarity index 100% rename from Subsurface/Content/Items/wireHorizontal.png rename to Barotrauma/Content/Items/wireHorizontal.png diff --git a/Subsurface/Content/Items/wireVertical.png b/Barotrauma/Content/Items/wireVertical.png similarity index 100% rename from Subsurface/Content/Items/wireVertical.png rename to Barotrauma/Content/Items/wireVertical.png diff --git a/Subsurface/Content/Jobs.xml b/Barotrauma/Content/Jobs.xml similarity index 70% rename from Subsurface/Content/Jobs.xml rename to Barotrauma/Content/Jobs.xml index 15abeb486..0b98e6c24 100644 --- a/Subsurface/Content/Jobs.xml +++ b/Barotrauma/Content/Jobs.xml @@ -1,6 +1,6 @@  - + @@ -18,7 +18,7 @@ - + @@ -32,11 +32,11 @@ - + - + @@ -50,11 +50,11 @@ - + - + @@ -74,7 +74,7 @@ - + diff --git a/Subsurface/Content/Lights/alphaOne.png b/Barotrauma/Content/Lights/alphaOne.png similarity index 100% rename from Subsurface/Content/Lights/alphaOne.png rename to Barotrauma/Content/Lights/alphaOne.png diff --git a/Subsurface/Content/Lights/light.png b/Barotrauma/Content/Lights/light.png similarity index 100% rename from Subsurface/Content/Lights/light.png rename to Barotrauma/Content/Lights/light.png diff --git a/Subsurface/Content/Lights/lightcone.png b/Barotrauma/Content/Lights/lightcone.png similarity index 100% rename from Subsurface/Content/Lights/lightcone.png rename to Barotrauma/Content/Lights/lightcone.png diff --git a/Subsurface/Content/Lights/penumbra.png b/Barotrauma/Content/Lights/penumbra.png similarity index 100% rename from Subsurface/Content/Lights/penumbra.png rename to Barotrauma/Content/Lights/penumbra.png diff --git a/Subsurface/Content/Lights/visioncircle.png b/Barotrauma/Content/Lights/visioncircle.png similarity index 100% rename from Subsurface/Content/Lights/visioncircle.png rename to Barotrauma/Content/Lights/visioncircle.png diff --git a/Subsurface/Content/Map/LevelGenerationParameters.xml b/Barotrauma/Content/Map/LevelGenerationParameters.xml similarity index 100% rename from Subsurface/Content/Map/LevelGenerationParameters.xml rename to Barotrauma/Content/Map/LevelGenerationParameters.xml diff --git a/Subsurface/Content/Map/RuinConfig.xml b/Barotrauma/Content/Map/RuinConfig.xml similarity index 100% rename from Subsurface/Content/Map/RuinConfig.xml rename to Barotrauma/Content/Map/RuinConfig.xml diff --git a/Subsurface/Content/Map/StructurePrefabs.xml b/Barotrauma/Content/Map/StructurePrefabs.xml similarity index 100% rename from Subsurface/Content/Map/StructurePrefabs.xml rename to Barotrauma/Content/Map/StructurePrefabs.xml diff --git a/Subsurface/Content/Map/TutorialSub.sub b/Barotrauma/Content/Map/TutorialSub.sub similarity index 100% rename from Subsurface/Content/Map/TutorialSub.sub rename to Barotrauma/Content/Map/TutorialSub.sub diff --git a/Subsurface/Content/Map/background.png b/Barotrauma/Content/Map/background.png similarity index 100% rename from Subsurface/Content/Map/background.png rename to Barotrauma/Content/Map/background.png diff --git a/Subsurface/Content/Map/background2.png b/Barotrauma/Content/Map/background2.png similarity index 100% rename from Subsurface/Content/Map/background2.png rename to Barotrauma/Content/Map/background2.png diff --git a/Subsurface/Content/Map/beaconSymbol.png b/Barotrauma/Content/Map/beaconSymbol.png similarity index 100% rename from Subsurface/Content/Map/beaconSymbol.png rename to Barotrauma/Content/Map/beaconSymbol.png diff --git a/Subsurface/Content/Map/beaconbackground.jpg b/Barotrauma/Content/Map/beaconbackground.jpg similarity index 100% rename from Subsurface/Content/Map/beaconbackground.jpg rename to Barotrauma/Content/Map/beaconbackground.jpg diff --git a/Subsurface/Content/Map/citySymbol.png b/Barotrauma/Content/Map/citySymbol.png similarity index 100% rename from Subsurface/Content/Map/citySymbol.png rename to Barotrauma/Content/Map/citySymbol.png diff --git a/Subsurface/Content/Map/citybackground.jpg b/Barotrauma/Content/Map/citybackground.jpg similarity index 100% rename from Subsurface/Content/Map/citybackground.jpg rename to Barotrauma/Content/Map/citybackground.jpg diff --git a/Subsurface/Content/Map/dustparticles.png b/Barotrauma/Content/Map/dustparticles.png similarity index 100% rename from Subsurface/Content/Map/dustparticles.png rename to Barotrauma/Content/Map/dustparticles.png diff --git a/Subsurface/Content/Map/iceCrack.png b/Barotrauma/Content/Map/iceCrack.png similarity index 100% rename from Subsurface/Content/Map/iceCrack.png rename to Barotrauma/Content/Map/iceCrack.png diff --git a/Subsurface/Content/Map/iceCraters.png b/Barotrauma/Content/Map/iceCraters.png similarity index 100% rename from Subsurface/Content/Map/iceCraters.png rename to Barotrauma/Content/Map/iceCraters.png diff --git a/Subsurface/Content/Map/iceSurface.png b/Barotrauma/Content/Map/iceSurface.png similarity index 100% rename from Subsurface/Content/Map/iceSurface.png rename to Barotrauma/Content/Map/iceSurface.png diff --git a/Subsurface/Content/Map/iceWall.png b/Barotrauma/Content/Map/iceWall.png similarity index 100% rename from Subsurface/Content/Map/iceWall.png rename to Barotrauma/Content/Map/iceWall.png diff --git a/Subsurface/Content/Map/locationNames.txt b/Barotrauma/Content/Map/locationNames.txt similarity index 100% rename from Subsurface/Content/Map/locationNames.txt rename to Barotrauma/Content/Map/locationNames.txt diff --git a/Subsurface/Content/Map/locationTypes.xml b/Barotrauma/Content/Map/locationTypes.xml similarity index 100% rename from Subsurface/Content/Map/locationTypes.xml rename to Barotrauma/Content/Map/locationTypes.xml diff --git a/Subsurface/Content/Map/militarySymbol.png b/Barotrauma/Content/Map/militarySymbol.png similarity index 100% rename from Subsurface/Content/Map/militarySymbol.png rename to Barotrauma/Content/Map/militarySymbol.png diff --git a/Subsurface/Content/Map/militarybackground.jpg b/Barotrauma/Content/Map/militarybackground.jpg similarity index 100% rename from Subsurface/Content/Map/militarybackground.jpg rename to Barotrauma/Content/Map/militarybackground.jpg diff --git a/Subsurface/Content/Map/researchSymbol.png b/Barotrauma/Content/Map/researchSymbol.png similarity index 100% rename from Subsurface/Content/Map/researchSymbol.png rename to Barotrauma/Content/Map/researchSymbol.png diff --git a/Subsurface/Content/Map/researchbackground.jpg b/Barotrauma/Content/Map/researchbackground.jpg similarity index 100% rename from Subsurface/Content/Map/researchbackground.jpg rename to Barotrauma/Content/Map/researchbackground.jpg diff --git a/Subsurface/Content/Map/ruins.png b/Barotrauma/Content/Map/ruins.png similarity index 100% rename from Subsurface/Content/Map/ruins.png rename to Barotrauma/Content/Map/ruins.png diff --git a/Subsurface/Content/Map/ruins2.png b/Barotrauma/Content/Map/ruins2.png similarity index 100% rename from Subsurface/Content/Map/ruins2.png rename to Barotrauma/Content/Map/ruins2.png diff --git a/Subsurface/Content/Map/ruins3.png b/Barotrauma/Content/Map/ruins3.png similarity index 100% rename from Subsurface/Content/Map/ruins3.png rename to Barotrauma/Content/Map/ruins3.png diff --git a/Subsurface/Content/Map/shaft.png b/Barotrauma/Content/Map/shaft.png similarity index 100% rename from Subsurface/Content/Map/shaft.png rename to Barotrauma/Content/Map/shaft.png diff --git a/Subsurface/Content/Map/structures2.png b/Barotrauma/Content/Map/structures2.png similarity index 100% rename from Subsurface/Content/Map/structures2.png rename to Barotrauma/Content/Map/structures2.png diff --git a/Subsurface/Content/Map/testroom.png b/Barotrauma/Content/Map/testroom.png similarity index 100% rename from Subsurface/Content/Map/testroom.png rename to Barotrauma/Content/Map/testroom.png diff --git a/Subsurface/Content/Map/walldamage.png b/Barotrauma/Content/Map/walldamage.png similarity index 100% rename from Subsurface/Content/Map/walldamage.png rename to Barotrauma/Content/Map/walldamage.png diff --git a/Subsurface/Content/Map/waypointIcons.png b/Barotrauma/Content/Map/waypointIcons.png similarity index 100% rename from Subsurface/Content/Map/waypointIcons.png rename to Barotrauma/Content/Map/waypointIcons.png diff --git a/Subsurface/Content/Missions.xml b/Barotrauma/Content/Missions.xml similarity index 100% rename from Subsurface/Content/Missions.xml rename to Barotrauma/Content/Missions.xml diff --git a/Subsurface/Content/Orders.xml b/Barotrauma/Content/Orders.xml similarity index 100% rename from Subsurface/Content/Orders.xml rename to Barotrauma/Content/Orders.xml diff --git a/Subsurface/Content/Particles/FlameRoundParticleSheet.png b/Barotrauma/Content/Particles/FlameRoundParticleSheet.png similarity index 100% rename from Subsurface/Content/Particles/FlameRoundParticleSheet.png rename to Barotrauma/Content/Particles/FlameRoundParticleSheet.png diff --git a/Subsurface/Content/Particles/ParticlePrefabs.xml b/Barotrauma/Content/Particles/ParticlePrefabs.xml similarity index 100% rename from Subsurface/Content/Particles/ParticlePrefabs.xml rename to Barotrauma/Content/Particles/ParticlePrefabs.xml diff --git a/Subsurface/Content/Particles/SmokeParticleSheet.png b/Barotrauma/Content/Particles/SmokeParticleSheet.png similarity index 100% rename from Subsurface/Content/Particles/SmokeParticleSheet.png rename to Barotrauma/Content/Particles/SmokeParticleSheet.png diff --git a/Subsurface/Content/Particles/bubbles.png b/Barotrauma/Content/Particles/bubbles.png similarity index 100% rename from Subsurface/Content/Particles/bubbles.png rename to Barotrauma/Content/Particles/bubbles.png diff --git a/Subsurface/Content/Particles/explosion.png b/Barotrauma/Content/Particles/explosion.png similarity index 100% rename from Subsurface/Content/Particles/explosion.png rename to Barotrauma/Content/Particles/explosion.png diff --git a/Subsurface/Content/Particles/fire.png b/Barotrauma/Content/Particles/fire.png similarity index 100% rename from Subsurface/Content/Particles/fire.png rename to Barotrauma/Content/Particles/fire.png diff --git a/Subsurface/Content/Particles/flames.png b/Barotrauma/Content/Particles/flames.png similarity index 100% rename from Subsurface/Content/Particles/flames.png rename to Barotrauma/Content/Particles/flames.png diff --git a/Subsurface/Content/Particles/shrapnel.png b/Barotrauma/Content/Particles/shrapnel.png similarity index 100% rename from Subsurface/Content/Particles/shrapnel.png rename to Barotrauma/Content/Particles/shrapnel.png diff --git a/Subsurface/Content/Particles/spatter.png b/Barotrauma/Content/Particles/spatter.png similarity index 100% rename from Subsurface/Content/Particles/spatter.png rename to Barotrauma/Content/Particles/spatter.png diff --git a/Subsurface/Content/Sounds/Ambient/Ambient1.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient1.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient1.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient10.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient10.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient10.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient10.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient11.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient11.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient11.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient11.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient12.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient12.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient12.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient12.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient13.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient13.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient13.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient13.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient2.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient2.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient2.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient3.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient3.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient3.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient4.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient4.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient4.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient4.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient5.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient5.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient5.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient5.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient6.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient6.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient6.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient6.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient7.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient7.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient7.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient7.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient8.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient8.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient8.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient8.ogg diff --git a/Subsurface/Content/Sounds/Ambient/Ambient9.ogg b/Barotrauma/Content/Sounds/Ambient/Ambient9.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/Ambient9.ogg rename to Barotrauma/Content/Sounds/Ambient/Ambient9.ogg diff --git a/Subsurface/Content/Sounds/Ambient/DistantPod1.ogg b/Barotrauma/Content/Sounds/Ambient/DistantPod1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/DistantPod1.ogg rename to Barotrauma/Content/Sounds/Ambient/DistantPod1.ogg diff --git a/Subsurface/Content/Sounds/Ambient/DistantPod2.ogg b/Barotrauma/Content/Sounds/Ambient/DistantPod2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/DistantPod2.ogg rename to Barotrauma/Content/Sounds/Ambient/DistantPod2.ogg diff --git a/Subsurface/Content/Sounds/Ambient/DistantPod3.ogg b/Barotrauma/Content/Sounds/Ambient/DistantPod3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/DistantPod3.ogg rename to Barotrauma/Content/Sounds/Ambient/DistantPod3.ogg diff --git a/Subsurface/Content/Sounds/Ambient/GlacialMovement.ogg b/Barotrauma/Content/Sounds/Ambient/GlacialMovement.ogg similarity index 100% rename from Subsurface/Content/Sounds/Ambient/GlacialMovement.ogg rename to Barotrauma/Content/Sounds/Ambient/GlacialMovement.ogg diff --git a/Subsurface/Content/Sounds/Damage/GlassBreak1.ogg b/Barotrauma/Content/Sounds/Damage/GlassBreak1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/GlassBreak1.ogg rename to Barotrauma/Content/Sounds/Damage/GlassBreak1.ogg diff --git a/Subsurface/Content/Sounds/Damage/GlassBreak2.ogg b/Barotrauma/Content/Sounds/Damage/GlassBreak2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/GlassBreak2.ogg rename to Barotrauma/Content/Sounds/Damage/GlassBreak2.ogg diff --git a/Subsurface/Content/Sounds/Damage/GlassBreak3.ogg b/Barotrauma/Content/Sounds/Damage/GlassBreak3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/GlassBreak3.ogg rename to Barotrauma/Content/Sounds/Damage/GlassBreak3.ogg diff --git a/Subsurface/Content/Sounds/Damage/GlassImpact1.ogg b/Barotrauma/Content/Sounds/Damage/GlassImpact1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/GlassImpact1.ogg rename to Barotrauma/Content/Sounds/Damage/GlassImpact1.ogg diff --git a/Subsurface/Content/Sounds/Damage/GlassImpact2.ogg b/Barotrauma/Content/Sounds/Damage/GlassImpact2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/GlassImpact2.ogg rename to Barotrauma/Content/Sounds/Damage/GlassImpact2.ogg diff --git a/Subsurface/Content/Sounds/Damage/GlassImpact3.ogg b/Barotrauma/Content/Sounds/Damage/GlassImpact3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/GlassImpact3.ogg rename to Barotrauma/Content/Sounds/Damage/GlassImpact3.ogg diff --git a/Subsurface/Content/Sounds/Damage/HitArmor1.ogg b/Barotrauma/Content/Sounds/Damage/HitArmor1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/HitArmor1.ogg rename to Barotrauma/Content/Sounds/Damage/HitArmor1.ogg diff --git a/Subsurface/Content/Sounds/Damage/HitArmor2.ogg b/Barotrauma/Content/Sounds/Damage/HitArmor2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/HitArmor2.ogg rename to Barotrauma/Content/Sounds/Damage/HitArmor2.ogg diff --git a/Subsurface/Content/Sounds/Damage/HitArmor3.ogg b/Barotrauma/Content/Sounds/Damage/HitArmor3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/HitArmor3.ogg rename to Barotrauma/Content/Sounds/Damage/HitArmor3.ogg diff --git a/Subsurface/Content/Sounds/Damage/LimbBlunt1.ogg b/Barotrauma/Content/Sounds/Damage/LimbBlunt1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/LimbBlunt1.ogg rename to Barotrauma/Content/Sounds/Damage/LimbBlunt1.ogg diff --git a/Subsurface/Content/Sounds/Damage/LimbBlunt2.ogg b/Barotrauma/Content/Sounds/Damage/LimbBlunt2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/LimbBlunt2.ogg rename to Barotrauma/Content/Sounds/Damage/LimbBlunt2.ogg diff --git a/Subsurface/Content/Sounds/Damage/LimbBlunt3.ogg b/Barotrauma/Content/Sounds/Damage/LimbBlunt3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/LimbBlunt3.ogg rename to Barotrauma/Content/Sounds/Damage/LimbBlunt3.ogg diff --git a/Subsurface/Content/Sounds/Damage/LimbBlunt4.ogg b/Barotrauma/Content/Sounds/Damage/LimbBlunt4.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/LimbBlunt4.ogg rename to Barotrauma/Content/Sounds/Damage/LimbBlunt4.ogg diff --git a/Subsurface/Content/Sounds/Damage/LimbBlunt5.ogg b/Barotrauma/Content/Sounds/Damage/LimbBlunt5.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/LimbBlunt5.ogg rename to Barotrauma/Content/Sounds/Damage/LimbBlunt5.ogg diff --git a/Subsurface/Content/Sounds/Damage/LimbSlash1.ogg b/Barotrauma/Content/Sounds/Damage/LimbSlash1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/LimbSlash1.ogg rename to Barotrauma/Content/Sounds/Damage/LimbSlash1.ogg diff --git a/Subsurface/Content/Sounds/Damage/LimbSlash2.ogg b/Barotrauma/Content/Sounds/Damage/LimbSlash2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/LimbSlash2.ogg rename to Barotrauma/Content/Sounds/Damage/LimbSlash2.ogg diff --git a/Subsurface/Content/Sounds/Damage/LimbSlash3.ogg b/Barotrauma/Content/Sounds/Damage/LimbSlash3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/LimbSlash3.ogg rename to Barotrauma/Content/Sounds/Damage/LimbSlash3.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt1.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt1.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt1.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt10.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt10.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt10.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt10.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt2.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt2.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt2.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt3.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt3.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt3.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt4.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt4.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt4.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt4.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt5.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt5.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt5.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt5.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt6.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt6.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt6.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt6.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt7.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt7.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt7.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt7.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt8.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt8.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt8.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt8.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureBlunt9.ogg b/Barotrauma/Content/Sounds/Damage/StructureBlunt9.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureBlunt9.ogg rename to Barotrauma/Content/Sounds/Damage/StructureBlunt9.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureCrunch1.ogg b/Barotrauma/Content/Sounds/Damage/StructureCrunch1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureCrunch1.ogg rename to Barotrauma/Content/Sounds/Damage/StructureCrunch1.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureCrunch2.ogg b/Barotrauma/Content/Sounds/Damage/StructureCrunch2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureCrunch2.ogg rename to Barotrauma/Content/Sounds/Damage/StructureCrunch2.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureCrunch3.ogg b/Barotrauma/Content/Sounds/Damage/StructureCrunch3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureCrunch3.ogg rename to Barotrauma/Content/Sounds/Damage/StructureCrunch3.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureCrunch4.ogg b/Barotrauma/Content/Sounds/Damage/StructureCrunch4.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureCrunch4.ogg rename to Barotrauma/Content/Sounds/Damage/StructureCrunch4.ogg diff --git a/Subsurface/Content/Sounds/Damage/StructureCrunch5.ogg b/Barotrauma/Content/Sounds/Damage/StructureCrunch5.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/StructureCrunch5.ogg rename to Barotrauma/Content/Sounds/Damage/StructureCrunch5.ogg diff --git a/Subsurface/Content/Sounds/Damage/creak1.ogg b/Barotrauma/Content/Sounds/Damage/creak1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/creak1.ogg rename to Barotrauma/Content/Sounds/Damage/creak1.ogg diff --git a/Subsurface/Content/Sounds/Damage/creak2.ogg b/Barotrauma/Content/Sounds/Damage/creak2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/creak2.ogg rename to Barotrauma/Content/Sounds/Damage/creak2.ogg diff --git a/Subsurface/Content/Sounds/Damage/creak3.ogg b/Barotrauma/Content/Sounds/Damage/creak3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/creak3.ogg rename to Barotrauma/Content/Sounds/Damage/creak3.ogg diff --git a/Subsurface/Content/Sounds/Damage/creak4.ogg b/Barotrauma/Content/Sounds/Damage/creak4.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/creak4.ogg rename to Barotrauma/Content/Sounds/Damage/creak4.ogg diff --git a/Subsurface/Content/Sounds/Damage/creak5.ogg b/Barotrauma/Content/Sounds/Damage/creak5.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/creak5.ogg rename to Barotrauma/Content/Sounds/Damage/creak5.ogg diff --git a/Subsurface/Content/Sounds/Damage/implode.ogg b/Barotrauma/Content/Sounds/Damage/implode.ogg similarity index 100% rename from Subsurface/Content/Sounds/Damage/implode.ogg rename to Barotrauma/Content/Sounds/Damage/implode.ogg diff --git a/Subsurface/Content/Sounds/Music/Controlled Chaos 2.ogg b/Barotrauma/Content/Sounds/Music/Controlled Chaos 2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Controlled Chaos 2.ogg rename to Barotrauma/Content/Sounds/Music/Controlled Chaos 2.ogg diff --git a/Subsurface/Content/Sounds/Music/Controlled Chaos.ogg b/Barotrauma/Content/Sounds/Music/Controlled Chaos.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Controlled Chaos.ogg rename to Barotrauma/Content/Sounds/Music/Controlled Chaos.ogg diff --git a/Subsurface/Content/Sounds/Music/Enter the Maze.ogg b/Barotrauma/Content/Sounds/Music/Enter the Maze.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Enter the Maze.ogg rename to Barotrauma/Content/Sounds/Music/Enter the Maze.ogg diff --git a/Subsurface/Content/Sounds/Music/Phantom From Space.ogg b/Barotrauma/Content/Sounds/Music/Phantom From Space.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Phantom From Space.ogg rename to Barotrauma/Content/Sounds/Music/Phantom From Space.ogg diff --git a/Subsurface/Content/Sounds/Music/Road to Hell.ogg b/Barotrauma/Content/Sounds/Music/Road to Hell.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Road to Hell.ogg rename to Barotrauma/Content/Sounds/Music/Road to Hell.ogg diff --git a/Subsurface/Content/Sounds/Music/Simplex.ogg b/Barotrauma/Content/Sounds/Music/Simplex.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Simplex.ogg rename to Barotrauma/Content/Sounds/Music/Simplex.ogg diff --git a/Subsurface/Content/Sounds/Music/Static Motion.ogg b/Barotrauma/Content/Sounds/Music/Static Motion.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Static Motion.ogg rename to Barotrauma/Content/Sounds/Music/Static Motion.ogg diff --git a/Subsurface/Content/Sounds/Music/Tenebrous Brothers Carnival - Prelude.ogg b/Barotrauma/Content/Sounds/Music/Tenebrous Brothers Carnival - Prelude.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Tenebrous Brothers Carnival - Prelude.ogg rename to Barotrauma/Content/Sounds/Music/Tenebrous Brothers Carnival - Prelude.ogg diff --git a/Subsurface/Content/Sounds/Music/The Descent.ogg b/Barotrauma/Content/Sounds/Music/The Descent.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/The Descent.ogg rename to Barotrauma/Content/Sounds/Music/The Descent.ogg diff --git a/Subsurface/Content/Sounds/Music/Unseen Horrors.ogg b/Barotrauma/Content/Sounds/Music/Unseen Horrors.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/Unseen Horrors.ogg rename to Barotrauma/Content/Sounds/Music/Unseen Horrors.ogg diff --git a/Subsurface/Content/Sounds/Music/amb_JD_drone_clattering_machine.ogg b/Barotrauma/Content/Sounds/Music/amb_JD_drone_clattering_machine.ogg similarity index 100% rename from Subsurface/Content/Sounds/Music/amb_JD_drone_clattering_machine.ogg rename to Barotrauma/Content/Sounds/Music/amb_JD_drone_clattering_machine.ogg diff --git a/Subsurface/Content/Sounds/UI/UImsg.ogg b/Barotrauma/Content/Sounds/UI/UImsg.ogg similarity index 100% rename from Subsurface/Content/Sounds/UI/UImsg.ogg rename to Barotrauma/Content/Sounds/UI/UImsg.ogg diff --git a/Subsurface/Content/Sounds/UI/beep-shinymetal.ogg b/Barotrauma/Content/Sounds/UI/beep-shinymetal.ogg similarity index 100% rename from Subsurface/Content/Sounds/UI/beep-shinymetal.ogg rename to Barotrauma/Content/Sounds/UI/beep-shinymetal.ogg diff --git a/Subsurface/Content/Sounds/UI/deadmsg.ogg b/Barotrauma/Content/Sounds/UI/deadmsg.ogg similarity index 100% rename from Subsurface/Content/Sounds/UI/deadmsg.ogg rename to Barotrauma/Content/Sounds/UI/deadmsg.ogg diff --git a/Subsurface/Content/Sounds/UI/radiomsg.ogg b/Barotrauma/Content/Sounds/UI/radiomsg.ogg similarity index 100% rename from Subsurface/Content/Sounds/UI/radiomsg.ogg rename to Barotrauma/Content/Sounds/UI/radiomsg.ogg diff --git a/Subsurface/Content/Sounds/UI/tap-zipper.ogg b/Barotrauma/Content/Sounds/UI/tap-zipper.ogg similarity index 100% rename from Subsurface/Content/Sounds/UI/tap-zipper.ogg rename to Barotrauma/Content/Sounds/UI/tap-zipper.ogg diff --git a/Subsurface/Content/Sounds/Water/Drown1.ogg b/Barotrauma/Content/Sounds/Water/Drown1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Drown1.ogg rename to Barotrauma/Content/Sounds/Water/Drown1.ogg diff --git a/Subsurface/Content/Sounds/Water/Drown2.ogg b/Barotrauma/Content/Sounds/Water/Drown2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Drown2.ogg rename to Barotrauma/Content/Sounds/Water/Drown2.ogg diff --git a/Subsurface/Content/Sounds/Water/Drown3.ogg b/Barotrauma/Content/Sounds/Water/Drown3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Drown3.ogg rename to Barotrauma/Content/Sounds/Water/Drown3.ogg diff --git a/Subsurface/Content/Sounds/Water/Drown4.ogg b/Barotrauma/Content/Sounds/Water/Drown4.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Drown4.ogg rename to Barotrauma/Content/Sounds/Water/Drown4.ogg diff --git a/Subsurface/Content/Sounds/Water/DrownLoop.ogg b/Barotrauma/Content/Sounds/Water/DrownLoop.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/DrownLoop.ogg rename to Barotrauma/Content/Sounds/Water/DrownLoop.ogg diff --git a/Subsurface/Content/Sounds/Water/FlowLarge.ogg b/Barotrauma/Content/Sounds/Water/FlowLarge.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/FlowLarge.ogg rename to Barotrauma/Content/Sounds/Water/FlowLarge.ogg diff --git a/Subsurface/Content/Sounds/Water/FlowMedium.ogg b/Barotrauma/Content/Sounds/Water/FlowMedium.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/FlowMedium.ogg rename to Barotrauma/Content/Sounds/Water/FlowMedium.ogg diff --git a/Subsurface/Content/Sounds/Water/FlowSmall.ogg b/Barotrauma/Content/Sounds/Water/FlowSmall.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/FlowSmall.ogg rename to Barotrauma/Content/Sounds/Water/FlowSmall.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash0.ogg b/Barotrauma/Content/Sounds/Water/Splash0.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash0.ogg rename to Barotrauma/Content/Sounds/Water/Splash0.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash1.ogg b/Barotrauma/Content/Sounds/Water/Splash1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash1.ogg rename to Barotrauma/Content/Sounds/Water/Splash1.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash2.ogg b/Barotrauma/Content/Sounds/Water/Splash2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash2.ogg rename to Barotrauma/Content/Sounds/Water/Splash2.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash3.ogg b/Barotrauma/Content/Sounds/Water/Splash3.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash3.ogg rename to Barotrauma/Content/Sounds/Water/Splash3.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash4.ogg b/Barotrauma/Content/Sounds/Water/Splash4.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash4.ogg rename to Barotrauma/Content/Sounds/Water/Splash4.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash5.ogg b/Barotrauma/Content/Sounds/Water/Splash5.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash5.ogg rename to Barotrauma/Content/Sounds/Water/Splash5.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash6.ogg b/Barotrauma/Content/Sounds/Water/Splash6.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash6.ogg rename to Barotrauma/Content/Sounds/Water/Splash6.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash7.ogg b/Barotrauma/Content/Sounds/Water/Splash7.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash7.ogg rename to Barotrauma/Content/Sounds/Water/Splash7.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash8.ogg b/Barotrauma/Content/Sounds/Water/Splash8.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash8.ogg rename to Barotrauma/Content/Sounds/Water/Splash8.ogg diff --git a/Subsurface/Content/Sounds/Water/Splash9.ogg b/Barotrauma/Content/Sounds/Water/Splash9.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/Splash9.ogg rename to Barotrauma/Content/Sounds/Water/Splash9.ogg diff --git a/Subsurface/Content/Sounds/Water/WaterAmbience1.ogg b/Barotrauma/Content/Sounds/Water/WaterAmbience1.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/WaterAmbience1.ogg rename to Barotrauma/Content/Sounds/Water/WaterAmbience1.ogg diff --git a/Subsurface/Content/Sounds/Water/WaterAmbience2.ogg b/Barotrauma/Content/Sounds/Water/WaterAmbience2.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/WaterAmbience2.ogg rename to Barotrauma/Content/Sounds/Water/WaterAmbience2.ogg diff --git a/Subsurface/Content/Sounds/Water/splashLoop.ogg b/Barotrauma/Content/Sounds/Water/splashLoop.ogg similarity index 100% rename from Subsurface/Content/Sounds/Water/splashLoop.ogg rename to Barotrauma/Content/Sounds/Water/splashLoop.ogg diff --git a/Subsurface/Content/Sounds/fire.ogg b/Barotrauma/Content/Sounds/fire.ogg similarity index 100% rename from Subsurface/Content/Sounds/fire.ogg rename to Barotrauma/Content/Sounds/fire.ogg diff --git a/Subsurface/Content/Sounds/firelarge.ogg b/Barotrauma/Content/Sounds/firelarge.ogg similarity index 100% rename from Subsurface/Content/Sounds/firelarge.ogg rename to Barotrauma/Content/Sounds/firelarge.ogg diff --git a/Subsurface/Content/Sounds/pickItem.ogg b/Barotrauma/Content/Sounds/pickItem.ogg similarity index 100% rename from Subsurface/Content/Sounds/pickItem.ogg rename to Barotrauma/Content/Sounds/pickItem.ogg diff --git a/Subsurface/Content/Sounds/sounds.xml b/Barotrauma/Content/Sounds/sounds.xml similarity index 100% rename from Subsurface/Content/Sounds/sounds.xml rename to Barotrauma/Content/Sounds/sounds.xml diff --git a/Subsurface/Content/Sounds/startDrone.ogg b/Barotrauma/Content/Sounds/startDrone.ogg similarity index 100% rename from Subsurface/Content/Sounds/startDrone.ogg rename to Barotrauma/Content/Sounds/startDrone.ogg diff --git a/Subsurface/Content/Sounds/stepMetal.ogg b/Barotrauma/Content/Sounds/stepMetal.ogg similarity index 100% rename from Subsurface/Content/Sounds/stepMetal.ogg rename to Barotrauma/Content/Sounds/stepMetal.ogg diff --git a/Subsurface/Content/UI/UI_Atlas.png b/Barotrauma/Content/UI/UI_Atlas.png similarity index 100% rename from Subsurface/Content/UI/UI_Atlas.png rename to Barotrauma/Content/UI/UI_Atlas.png diff --git a/Subsurface/Content/UI/caret.png b/Barotrauma/Content/UI/caret.png similarity index 100% rename from Subsurface/Content/UI/caret.png rename to Barotrauma/Content/UI/caret.png diff --git a/Subsurface/Content/UI/cursor.png b/Barotrauma/Content/UI/cursor.png similarity index 100% rename from Subsurface/Content/UI/cursor.png rename to Barotrauma/Content/UI/cursor.png diff --git a/Subsurface/Content/UI/damageOverlay.png b/Barotrauma/Content/UI/damageOverlay.png similarity index 100% rename from Subsurface/Content/UI/damageOverlay.png rename to Barotrauma/Content/UI/damageOverlay.png diff --git a/Subsurface/Content/UI/inventoryIcons.png b/Barotrauma/Content/UI/inventoryIcons.png similarity index 100% rename from Subsurface/Content/UI/inventoryIcons.png rename to Barotrauma/Content/UI/inventoryIcons.png diff --git a/Subsurface/Content/UI/noise.png b/Barotrauma/Content/UI/noise.png similarity index 100% rename from Subsurface/Content/UI/noise.png rename to Barotrauma/Content/UI/noise.png diff --git a/Subsurface/Content/UI/statusIcons.png b/Barotrauma/Content/UI/statusIcons.png similarity index 100% rename from Subsurface/Content/UI/statusIcons.png rename to Barotrauma/Content/UI/statusIcons.png diff --git a/Subsurface/Content/UI/style.xml b/Barotrauma/Content/UI/style.xml similarity index 100% rename from Subsurface/Content/UI/style.xml rename to Barotrauma/Content/UI/style.xml diff --git a/Subsurface/Content/UI/textboxTexture.png b/Barotrauma/Content/UI/textboxTexture.png similarity index 100% rename from Subsurface/Content/UI/textboxTexture.png rename to Barotrauma/Content/UI/textboxTexture.png diff --git a/Subsurface/Content/UI/titleBackground.png b/Barotrauma/Content/UI/titleBackground.png similarity index 100% rename from Subsurface/Content/UI/titleBackground.png rename to Barotrauma/Content/UI/titleBackground.png diff --git a/Subsurface/Content/UI/titleMonster.png b/Barotrauma/Content/UI/titleMonster.png similarity index 100% rename from Subsurface/Content/UI/titleMonster.png rename to Barotrauma/Content/UI/titleMonster.png diff --git a/Subsurface/Content/UI/titleText.png b/Barotrauma/Content/UI/titleText.png similarity index 100% rename from Subsurface/Content/UI/titleText.png rename to Barotrauma/Content/UI/titleText.png diff --git a/Subsurface/Content/UI/uiBackground.png b/Barotrauma/Content/UI/uiBackground.png similarity index 100% rename from Subsurface/Content/UI/uiBackground.png rename to Barotrauma/Content/UI/uiBackground.png diff --git a/Subsurface/Content/UI/uiButton.png b/Barotrauma/Content/UI/uiButton.png similarity index 100% rename from Subsurface/Content/UI/uiButton.png rename to Barotrauma/Content/UI/uiButton.png diff --git a/Subsurface/Content/UI/uiIcons.png b/Barotrauma/Content/UI/uiIcons.png similarity index 100% rename from Subsurface/Content/UI/uiIcons.png rename to Barotrauma/Content/UI/uiIcons.png diff --git a/Subsurface/Content/blurshader.fx b/Barotrauma/Content/blurshader.fx similarity index 100% rename from Subsurface/Content/blurshader.fx rename to Barotrauma/Content/blurshader.fx diff --git a/Subsurface/Content/blurshader.xnb b/Barotrauma/Content/blurshader.xnb similarity index 100% rename from Subsurface/Content/blurshader.xnb rename to Barotrauma/Content/blurshader.xnb diff --git a/Subsurface/Content/blurshader_opengl.xnb b/Barotrauma/Content/blurshader_opengl.xnb similarity index 100% rename from Subsurface/Content/blurshader_opengl.xnb rename to Barotrauma/Content/blurshader_opengl.xnb diff --git a/Subsurface/Content/damageshader.fx b/Barotrauma/Content/damageshader.fx similarity index 100% rename from Subsurface/Content/damageshader.fx rename to Barotrauma/Content/damageshader.fx diff --git a/Subsurface/Content/damageshader.xnb b/Barotrauma/Content/damageshader.xnb similarity index 100% rename from Subsurface/Content/damageshader.xnb rename to Barotrauma/Content/damageshader.xnb diff --git a/Subsurface/Content/damageshader_opengl.xnb b/Barotrauma/Content/damageshader_opengl.xnb similarity index 100% rename from Subsurface/Content/damageshader_opengl.xnb rename to Barotrauma/Content/damageshader_opengl.xnb diff --git a/Subsurface/Content/effects.mgfx b/Barotrauma/Content/effects.mgfx similarity index 100% rename from Subsurface/Content/effects.mgfx rename to Barotrauma/Content/effects.mgfx diff --git a/Subsurface/Content/randomevents.xml b/Barotrauma/Content/randomevents.xml similarity index 100% rename from Subsurface/Content/randomevents.xml rename to Barotrauma/Content/randomevents.xml diff --git a/Subsurface/Content/step.ogg b/Barotrauma/Content/step.ogg similarity index 100% rename from Subsurface/Content/step.ogg rename to Barotrauma/Content/step.ogg diff --git a/Subsurface/Content/utg_4.mp4 b/Barotrauma/Content/utg_4.mp4 similarity index 100% rename from Subsurface/Content/utg_4.mp4 rename to Barotrauma/Content/utg_4.mp4 diff --git a/Subsurface/Content/utg_4.xnb b/Barotrauma/Content/utg_4.xnb similarity index 100% rename from Subsurface/Content/utg_4.xnb rename to Barotrauma/Content/utg_4.xnb diff --git a/Subsurface/Content/waterbump.png b/Barotrauma/Content/waterbump.png similarity index 100% rename from Subsurface/Content/waterbump.png rename to Barotrauma/Content/waterbump.png diff --git a/Subsurface/Content/watershader.fx b/Barotrauma/Content/watershader.fx similarity index 100% rename from Subsurface/Content/watershader.fx rename to Barotrauma/Content/watershader.fx diff --git a/Subsurface/Content/watershader.xnb b/Barotrauma/Content/watershader.xnb similarity index 100% rename from Subsurface/Content/watershader.xnb rename to Barotrauma/Content/watershader.xnb diff --git a/Subsurface/Content/watershader_opengl.xnb b/Barotrauma/Content/watershader_opengl.xnb similarity index 100% rename from Subsurface/Content/watershader_opengl.xnb rename to Barotrauma/Content/watershader_opengl.xnb diff --git a/Subsurface/Data/ContentPackages/Vanilla 0.3.xml b/Barotrauma/Data/ContentPackages/Vanilla 0.3.xml similarity index 100% rename from Subsurface/Data/ContentPackages/Vanilla 0.3.xml rename to Barotrauma/Data/ContentPackages/Vanilla 0.3.xml diff --git a/Subsurface/Icon.ico b/Barotrauma/Icon.ico similarity index 100% rename from Subsurface/Icon.ico rename to Barotrauma/Icon.ico diff --git a/Subsurface/Mods/info.txt b/Barotrauma/Mods/info.txt similarity index 100% rename from Subsurface/Mods/info.txt rename to Barotrauma/Mods/info.txt diff --git a/Subsurface/OpenAL32.dll b/Barotrauma/OpenAL32.dll similarity index 100% rename from Subsurface/OpenAL32.dll rename to Barotrauma/OpenAL32.dll diff --git a/Subsurface/Properties/AssemblyInfo.cs b/Barotrauma/Properties/AssemblyInfo.cs similarity index 89% rename from Subsurface/Properties/AssemblyInfo.cs rename to Barotrauma/Properties/AssemblyInfo.cs index d8abe3621..8f0f2c21e 100644 --- a/Subsurface/Properties/AssemblyInfo.cs +++ b/Barotrauma/Properties/AssemblyInfo.cs @@ -9,7 +9,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyDescription("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyCopyright("Copyright © Undertow Games 2016")] +[assembly: AssemblyCopyright("Copyright © Undertow Games 2017")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.5.3.600")] -[assembly: AssemblyFileVersion("0.5.3.600")] +[assembly: AssemblyVersion("0.6.0.2")] +[assembly: AssemblyFileVersion("0.6.0.2")] diff --git a/Subsurface/Source/Camera.cs b/Barotrauma/Source/Camera.cs similarity index 100% rename from Subsurface/Source/Camera.cs rename to Barotrauma/Source/Camera.cs diff --git a/Subsurface/Source/Characters/AI/AIController.cs b/Barotrauma/Source/Characters/AI/AIController.cs similarity index 100% rename from Subsurface/Source/Characters/AI/AIController.cs rename to Barotrauma/Source/Characters/AI/AIController.cs diff --git a/Subsurface/Source/Characters/AI/AITarget.cs b/Barotrauma/Source/Characters/AI/AITarget.cs similarity index 100% rename from Subsurface/Source/Characters/AI/AITarget.cs rename to Barotrauma/Source/Characters/AI/AITarget.cs diff --git a/Subsurface/Source/Characters/AI/CrewCommander.cs b/Barotrauma/Source/Characters/AI/CrewCommander.cs similarity index 100% rename from Subsurface/Source/Characters/AI/CrewCommander.cs rename to Barotrauma/Source/Characters/AI/CrewCommander.cs diff --git a/Subsurface/Source/Characters/AI/EnemyAIController.cs b/Barotrauma/Source/Characters/AI/EnemyAIController.cs similarity index 99% rename from Subsurface/Source/Characters/AI/EnemyAIController.cs rename to Barotrauma/Source/Characters/AI/EnemyAIController.cs index 349a6236b..b2ef38b81 100644 --- a/Subsurface/Source/Characters/AI/EnemyAIController.cs +++ b/Barotrauma/Source/Characters/AI/EnemyAIController.cs @@ -385,7 +385,7 @@ namespace Barotrauma //sight/hearing range public void UpdateTargets(Character character) { - wallAttackPos = Vector2.Zero; + var prevAiTarget = selectedAiTarget; selectedAiTarget = null; selectedTargetMemory = null; @@ -497,6 +497,11 @@ namespace Barotrauma } } } + + if (selectedAiTarget != prevAiTarget) + { + wallAttackPos = Vector2.Zero; + } } diff --git a/Subsurface/Source/Characters/AI/HumanAIController.cs b/Barotrauma/Source/Characters/AI/HumanAIController.cs similarity index 100% rename from Subsurface/Source/Characters/AI/HumanAIController.cs rename to Barotrauma/Source/Characters/AI/HumanAIController.cs diff --git a/Subsurface/Source/Characters/AI/ISteerable.cs b/Barotrauma/Source/Characters/AI/ISteerable.cs similarity index 100% rename from Subsurface/Source/Characters/AI/ISteerable.cs rename to Barotrauma/Source/Characters/AI/ISteerable.cs diff --git a/Subsurface/Source/Characters/AI/IndoorsSteeringManager.cs b/Barotrauma/Source/Characters/AI/IndoorsSteeringManager.cs similarity index 100% rename from Subsurface/Source/Characters/AI/IndoorsSteeringManager.cs rename to Barotrauma/Source/Characters/AI/IndoorsSteeringManager.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjective.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjective.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjective.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjective.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveCombat.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveCombat.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveCombat.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveCombat.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveContainItem.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveContainItem.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveContainItem.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveContainItem.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveFindDivingGear.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFindDivingGear.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveFindDivingGear.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFindDivingGear.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs similarity index 98% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs index 5c845dd78..7fb78c83f 100644 --- a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs +++ b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFindSafety.cs @@ -188,7 +188,7 @@ namespace Barotrauma float waterPercentage = (hull.Volume / hull.FullVolume) * 100.0f; float fireAmount = 0.0f; - var nearbyHulls = character.AnimController.CurrentHull.GetConnectedHulls(3); + var nearbyHulls = hull.GetConnectedHulls(3); foreach (Hull hull2 in nearbyHulls) { diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveFixLeak.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFixLeak.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveFixLeak.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFixLeak.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveFixLeaks.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFixLeaks.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveFixLeaks.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveFixLeaks.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveGetItem.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveGetItem.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveGetItem.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveGetItem.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveGoTo.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveGoTo.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveGoTo.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveGoTo.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveIdle.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveIdle.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveIdle.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveIdle.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveManager.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveManager.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveManager.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveManager.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveOperateItem.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveOperateItem.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveOperateItem.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveOperateItem.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveRescue.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveRescue.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveRescue.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveRescue.cs diff --git a/Subsurface/Source/Characters/AI/Objectives/AIObjectiveRescureAll.cs b/Barotrauma/Source/Characters/AI/Objectives/AIObjectiveRescureAll.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Objectives/AIObjectiveRescureAll.cs rename to Barotrauma/Source/Characters/AI/Objectives/AIObjectiveRescureAll.cs diff --git a/Subsurface/Source/Characters/AI/Order.cs b/Barotrauma/Source/Characters/AI/Order.cs similarity index 100% rename from Subsurface/Source/Characters/AI/Order.cs rename to Barotrauma/Source/Characters/AI/Order.cs diff --git a/Subsurface/Source/Characters/AI/PathFinder.cs b/Barotrauma/Source/Characters/AI/PathFinder.cs similarity index 97% rename from Subsurface/Source/Characters/AI/PathFinder.cs rename to Barotrauma/Source/Characters/AI/PathFinder.cs index 78846b22c..f01d1b89c 100644 --- a/Subsurface/Source/Characters/AI/PathFinder.cs +++ b/Barotrauma/Source/Characters/AI/PathFinder.cs @@ -45,6 +45,12 @@ namespace Barotrauma var nodes = new Dictionary(); foreach (WayPoint wayPoint in wayPoints) { + if (wayPoint == null) continue; + if (nodes.ContainsKey(wayPoint.ID)) + { + DebugConsole.ThrowError("Error in PathFinder.GenerateNodes (duplicate ID \"" + wayPoint.ID + "\")"); + continue; + } nodes.Add(wayPoint.ID, new PathNode(wayPoint)); } diff --git a/Subsurface/Source/Characters/AI/SteeringManager.cs b/Barotrauma/Source/Characters/AI/SteeringManager.cs similarity index 100% rename from Subsurface/Source/Characters/AI/SteeringManager.cs rename to Barotrauma/Source/Characters/AI/SteeringManager.cs diff --git a/Subsurface/Source/Characters/AI/SteeringPath.cs b/Barotrauma/Source/Characters/AI/SteeringPath.cs similarity index 100% rename from Subsurface/Source/Characters/AI/SteeringPath.cs rename to Barotrauma/Source/Characters/AI/SteeringPath.cs diff --git a/Subsurface/Source/Characters/AICharacter.cs b/Barotrauma/Source/Characters/AICharacter.cs similarity index 98% rename from Subsurface/Source/Characters/AICharacter.cs rename to Barotrauma/Source/Characters/AICharacter.cs index d4fcb7ca6..7a32bd5b6 100644 --- a/Subsurface/Source/Characters/AICharacter.cs +++ b/Barotrauma/Source/Characters/AICharacter.cs @@ -27,7 +27,7 @@ namespace Barotrauma { base.Update(cam, deltaTime); - if (!Enabled) return; + if (!Enabled || IsRemotePlayer) return; float dist = Vector2.DistanceSquared(cam.WorldViewCenter, WorldPosition); if (dist > 8000.0f * 8000.0f) diff --git a/Subsurface/Source/Characters/Animation/AnimController.cs b/Barotrauma/Source/Characters/Animation/AnimController.cs similarity index 100% rename from Subsurface/Source/Characters/Animation/AnimController.cs rename to Barotrauma/Source/Characters/Animation/AnimController.cs diff --git a/Subsurface/Source/Characters/Animation/FishAnimController.cs b/Barotrauma/Source/Characters/Animation/FishAnimController.cs similarity index 100% rename from Subsurface/Source/Characters/Animation/FishAnimController.cs rename to Barotrauma/Source/Characters/Animation/FishAnimController.cs diff --git a/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs b/Barotrauma/Source/Characters/Animation/HumanoidAnimController.cs similarity index 99% rename from Subsurface/Source/Characters/Animation/HumanoidAnimController.cs rename to Barotrauma/Source/Characters/Animation/HumanoidAnimController.cs index 416133d62..74de33026 100644 --- a/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs +++ b/Barotrauma/Source/Characters/Animation/HumanoidAnimController.cs @@ -360,7 +360,7 @@ namespace Barotrauma Limb leg = i == -1 ? leftLeg : rightLeg; Vector2 footPos = stepSize * -i; - if (stepSize.Y > 0.0f) stepSize.Y = -0.15f; + if (stepSize.Y < 0.0f) stepSize.Y = -0.15f; if (onSlope && stairs == null) { @@ -1109,7 +1109,7 @@ namespace Barotrauma for (int i = 0; i < character.SelectedItems.Length; i++) { - if (character.SelectedItems[i] != null) + if (character.SelectedItems[i] != null && character.SelectedItems[i].body != null) { difference = character.SelectedItems[i].body.SimPosition - torso.SimPosition; difference = Vector2.Transform(difference, torsoTransform); diff --git a/Subsurface/Source/Characters/Animation/Ragdoll.cs b/Barotrauma/Source/Characters/Animation/Ragdoll.cs similarity index 99% rename from Subsurface/Source/Characters/Animation/Ragdoll.cs rename to Barotrauma/Source/Characters/Animation/Ragdoll.cs index 85a93559e..f069d5d1f 100644 --- a/Subsurface/Source/Characters/Animation/Ragdoll.cs +++ b/Barotrauma/Source/Characters/Animation/Ragdoll.cs @@ -645,10 +645,10 @@ namespace Barotrauma limb.Dir = Dir; - if (limb.LightSource != null) + /*if (limb.LightSource != null) { limb.LightSource.FlipX(); - } + }*/ if (limb.pullJoint != null) { @@ -943,7 +943,7 @@ namespace Barotrauma if (limb.LightSource != null) { - limb.LightSource.Rotation = limb.Rotation; + limb.LightSource.Rotation = dir == Direction.Right ? limb.body.DrawRotation : limb.body.DrawRotation - MathHelper.Pi; } limb.Update(deltaTime); } @@ -1256,7 +1256,7 @@ namespace Barotrauma //use simple interpolation for other players' characters and characters that can't move if (character.MemState.Count > 0) { - if (character.MemState[0].Interact == null) + if (character.MemState[0].Interact == null || character.MemState[0].Interact.Removed) { character.DeselectCharacter(); character.SelectedConstruction = null; @@ -1348,7 +1348,7 @@ namespace Barotrauma //the entity we're interacting with doesn't match the server's if (localPos.Interact != serverPos.Interact) { - if (serverPos.Interact == null) + if (serverPos.Interact == null || serverPos.Interact.Removed) { character.DeselectCharacter(); character.SelectedConstruction = null; diff --git a/Subsurface/Source/Characters/Attack.cs b/Barotrauma/Source/Characters/Attack.cs similarity index 100% rename from Subsurface/Source/Characters/Attack.cs rename to Barotrauma/Source/Characters/Attack.cs diff --git a/Subsurface/Source/Characters/BackgroundSprite/BackgroundCreature.cs b/Barotrauma/Source/Characters/BackgroundSprite/BackgroundCreature.cs similarity index 100% rename from Subsurface/Source/Characters/BackgroundSprite/BackgroundCreature.cs rename to Barotrauma/Source/Characters/BackgroundSprite/BackgroundCreature.cs diff --git a/Subsurface/Source/Characters/BackgroundSprite/BackgroundCreatureManager.cs b/Barotrauma/Source/Characters/BackgroundSprite/BackgroundCreatureManager.cs similarity index 100% rename from Subsurface/Source/Characters/BackgroundSprite/BackgroundCreatureManager.cs rename to Barotrauma/Source/Characters/BackgroundSprite/BackgroundCreatureManager.cs diff --git a/Subsurface/Source/Characters/BackgroundSprite/BackgroundCreaturePrefab.cs b/Barotrauma/Source/Characters/BackgroundSprite/BackgroundCreaturePrefab.cs similarity index 100% rename from Subsurface/Source/Characters/BackgroundSprite/BackgroundCreaturePrefab.cs rename to Barotrauma/Source/Characters/BackgroundSprite/BackgroundCreaturePrefab.cs diff --git a/Subsurface/Source/Characters/BackgroundSprite/BackgroundSpriteManager.cs b/Barotrauma/Source/Characters/BackgroundSprite/BackgroundSpriteManager.cs similarity index 100% rename from Subsurface/Source/Characters/BackgroundSprite/BackgroundSpriteManager.cs rename to Barotrauma/Source/Characters/BackgroundSprite/BackgroundSpriteManager.cs diff --git a/Subsurface/Source/Characters/BackgroundSprite/BackgroundSpritePrefab.cs b/Barotrauma/Source/Characters/BackgroundSprite/BackgroundSpritePrefab.cs similarity index 100% rename from Subsurface/Source/Characters/BackgroundSprite/BackgroundSpritePrefab.cs rename to Barotrauma/Source/Characters/BackgroundSprite/BackgroundSpritePrefab.cs diff --git a/Subsurface/Source/Characters/Character.cs b/Barotrauma/Source/Characters/Character.cs similarity index 98% rename from Subsurface/Source/Characters/Character.cs rename to Barotrauma/Source/Characters/Character.cs index 215946baa..0e133f1fa 100644 --- a/Subsurface/Source/Characters/Character.cs +++ b/Barotrauma/Source/Characters/Character.cs @@ -52,7 +52,10 @@ namespace Barotrauma foreach (Limb limb in AnimController.Limbs) { - limb.body.Enabled = enabled; + if (limb.body != null) + { + limb.body.Enabled = enabled; + } } AnimController.Collider.Enabled = value; } @@ -61,7 +64,7 @@ namespace Barotrauma public Hull PreviousHull = null; public Hull CurrentHull = null; - public readonly bool IsRemotePlayer; + public bool IsRemotePlayer; private CharacterInventory inventory; @@ -274,6 +277,8 @@ namespace Barotrauma set { oxygenAvailable = MathHelper.Clamp(value, 0.0f, 100.0f); } } + public const float MaxStun = 60.0f; + private float stunTimer; public float Stun { @@ -440,7 +445,7 @@ namespace Barotrauma { get { - return isDead || Stun > 0.0f || LockHands || IsUnconscious; + return isDead || Stun > 0.0f || LockHands || IsUnconscious || Removed; } } @@ -805,7 +810,7 @@ namespace Barotrauma ViewTarget = null; if (!AllowInput) return; - if (!(this is AICharacter) || controlled == this) + if (!(this is AICharacter) || controlled == this || IsRemotePlayer) { Vector2 targetMovement = GetTargetMovement(); @@ -932,7 +937,7 @@ namespace Barotrauma if (selectedConstruction != null && IsKeyDown(InputType.Aim)) selectedConstruction.SecondaryUse(deltaTime, this); } - if (selectedCharacter!=null) + if (selectedCharacter != null) { if (Vector2.DistanceSquared(selectedCharacter.WorldPosition, WorldPosition) > 90000.0f || !selectedCharacter.CanBeSelected) { @@ -1123,10 +1128,13 @@ namespace Barotrauma public void DeselectCharacter() { if (selectedCharacter == null) return; - - foreach (Limb limb in selectedCharacter.AnimController.Limbs) + + if (SelectedCharacter.AnimController != null) { - if (limb.pullJoint != null) limb.pullJoint.Enabled = false; + foreach (Limb limb in selectedCharacter.AnimController.Limbs) + { + if (limb.pullJoint != null) limb.pullJoint.Enabled = false; + } } selectedCharacter = null; @@ -1281,7 +1289,7 @@ namespace Barotrauma { foreach (Character c in CharacterList) { - if (!(c is AICharacter)) continue; + if (!(c is AICharacter) && !c.IsRemotePlayer) continue; if (GameMain.Server != null) { @@ -1291,7 +1299,7 @@ namespace Barotrauma (c2.IsRemotePlayer || c2 == GameMain.Server.Character) && Vector2.Distance(c2.WorldPosition, c.WorldPosition) < NetConfig.CharacterIgnoreDistance); } - else + else if (Submarine.MainSub != null) { //disable AI characters that are far away from the sub and the controlled character c.Enabled = Vector2.Distance(Submarine.MainSub.WorldPosition, c.WorldPosition) < NetConfig.CharacterIgnoreDistance || @@ -1424,7 +1432,7 @@ namespace Barotrauma selectedConstruction = null; } - if (controlled != this && !(this is AICharacter)) + if (controlled != this && (!(this is AICharacter) || IsRemotePlayer)) { if (!LockHands) { @@ -1765,6 +1773,8 @@ namespace Barotrauma { if (GameMain.Client != null && !isNetworkMessage) return; + newStun = MathHelper.Clamp(newStun, 0.0f, MaxStun); + if ((newStun <= stunTimer && !allowStunDecrease) || !MathUtils.IsValid(newStun)) return; if (GameMain.Server != null && @@ -1774,9 +1784,12 @@ namespace Barotrauma } if (Math.Sign(newStun) != Math.Sign(stunTimer)) AnimController.ResetPullJoints(); + stunTimer = newStun; - - selectedConstruction = null; + if (newStun > 0.0f) + { + selectedConstruction = null; + } } private void Implode(bool isNetworkMessage = false) diff --git a/Subsurface/Source/Characters/CharacterHUD.cs b/Barotrauma/Source/Characters/CharacterHUD.cs similarity index 100% rename from Subsurface/Source/Characters/CharacterHUD.cs rename to Barotrauma/Source/Characters/CharacterHUD.cs diff --git a/Subsurface/Source/Characters/CharacterInfo.cs b/Barotrauma/Source/Characters/CharacterInfo.cs similarity index 100% rename from Subsurface/Source/Characters/CharacterInfo.cs rename to Barotrauma/Source/Characters/CharacterInfo.cs diff --git a/Subsurface/Source/Characters/CharacterNetworking.cs b/Barotrauma/Source/Characters/CharacterNetworking.cs similarity index 91% rename from Subsurface/Source/Characters/CharacterNetworking.cs rename to Barotrauma/Source/Characters/CharacterNetworking.cs index 43884d168..0f52f1c80 100644 --- a/Subsurface/Source/Characters/CharacterNetworking.cs +++ b/Barotrauma/Source/Characters/CharacterNetworking.cs @@ -82,7 +82,7 @@ namespace Barotrauma private bool networkUpdateSent; public bool isSynced = false; - + public List MemState { get { return memState; } @@ -93,6 +93,16 @@ namespace Barotrauma get { return memLocalState; } } + public void ResetNetState() + { + memInput.Clear(); + memState.Clear(); + memLocalState.Clear(); + + LastNetworkUpdateID = 0; + LastProcessedID = 0; + } + private void UpdateNetInput() { if (this != Character.Controlled) @@ -112,7 +122,7 @@ namespace Barotrauma } } } - else if (GameMain.Server != null && !(this is AICharacter)) + else if (GameMain.Server != null && (!(this is AICharacter) || IsRemotePlayer)) { if (!AllowInput) { @@ -387,17 +397,24 @@ namespace Barotrauma if (extraData != null) { + switch ((NetEntityEvent.Type)extraData[0]) { case NetEntityEvent.Type.InventoryState: - msg.Write(true); + msg.WriteRangedInteger(0, 2, 0); inventory.ClientWrite(msg, extraData); break; + case NetEntityEvent.Type.Control: + msg.WriteRangedInteger(0, 2, 1); + Client owner = ((Client)extraData[1]); + msg.Write(owner == null ? (byte)0 : owner.ID); + break; case NetEntityEvent.Type.Status: - msg.Write(false); + msg.WriteRangedInteger(0, 2, 2); WriteStatus(msg); break; } + msg.WritePadBits(); } else { @@ -573,15 +590,36 @@ namespace Barotrauma break; case ServerNetObject.ENTITY_EVENT: - bool isInventoryUpdate = msg.ReadBoolean(); + + int eventType = msg.ReadRangedInteger(0, 2); + switch (eventType) + { + case 0: + inventory.ClientRead(type, msg, sendingTime); + break; + case 1: + byte ownerID = msg.ReadByte(); + ResetNetState(); + if (ownerID == GameMain.Client.ID) + { + if (controlled != null) + { + LastNetworkUpdateID = controlled.LastNetworkUpdateID; + } - if (isInventoryUpdate) - { - inventory.ClientRead(type, msg, sendingTime); - } - else - { - ReadStatus(msg); + controlled = this; + IsRemotePlayer = false; + GameMain.Client.Character = this; + } + else if (controlled == this) + { + controlled = null; + IsRemotePlayer = ownerID > 0; + } + break; + case 2: + ReadStatus(msg); + break; } break; @@ -620,8 +658,7 @@ namespace Barotrauma msg.Write(Stun > 0.0f); if (Stun > 0.0f) { - Stun = MathHelper.Clamp(Stun, 0.0f, 60.0f); - msg.WriteRangedSingle(Stun, 0.0f, 60.0f, 8); + msg.WriteRangedSingle(MathHelper.Clamp(Stun, 0.0f, MaxStun), 0.0f, MaxStun, 8); } msg.Write(HuskInfectionState > 0.0f); @@ -741,6 +778,7 @@ namespace Barotrauma msg.Write((byte)info.Job.Skills.Count); foreach (Skill skill in info.Job.Skills) { + msg.Write(skill.Name); msg.WriteRangedInteger(0, 100, MathHelper.Clamp(skill.Level, 0, 100)); } } @@ -787,14 +825,17 @@ namespace Barotrauma string jobName = inc.ReadString(); JobPrefab jobPrefab = null; - List skillLevels = new List(); + Dictionary skillLevels = new Dictionary(); if (!string.IsNullOrEmpty(jobName)) { jobPrefab = JobPrefab.List.Find(jp => jp.Name == jobName); int skillCount = inc.ReadByte(); for (int i = 0; i < skillCount; i++) { - skillLevels.Add(inc.ReadRangedInteger(0, 100)); + string skillName = inc.ReadString(); + int skillLevel = inc.ReadRangedInteger(0, 100); + + skillLevels.Add(skillName, skillLevel); } } @@ -807,9 +848,15 @@ namespace Barotrauma System.Diagnostics.Debug.Assert(skillLevels.Count == ch.Job.Skills.Count); if (ch.Job != null) { - for (int i = 0; i < skillLevels.Count && i < ch.Job.Skills.Count; i++) + foreach (KeyValuePair skill in skillLevels) { - ch.Job.Skills[i].Level = skillLevels[i]; + Skill matchingSkill = ch.Job.Skills.Find(s => s.Name == skill.Key); + if (matchingSkill == null) + { + DebugConsole.ThrowError("Skill \""+skill.Key+"\" not found in character \""+newName+"\""); + continue; + } + matchingSkill.Level = skill.Value; } } diff --git a/Subsurface/Source/Characters/CharacterSound.cs b/Barotrauma/Source/Characters/CharacterSound.cs similarity index 100% rename from Subsurface/Source/Characters/CharacterSound.cs rename to Barotrauma/Source/Characters/CharacterSound.cs diff --git a/Subsurface/Source/Characters/DelayedEffect.cs b/Barotrauma/Source/Characters/DelayedEffect.cs similarity index 100% rename from Subsurface/Source/Characters/DelayedEffect.cs rename to Barotrauma/Source/Characters/DelayedEffect.cs diff --git a/Subsurface/Source/Characters/HUDProgressBar.cs b/Barotrauma/Source/Characters/HUDProgressBar.cs similarity index 100% rename from Subsurface/Source/Characters/HUDProgressBar.cs rename to Barotrauma/Source/Characters/HUDProgressBar.cs diff --git a/Subsurface/Source/Characters/HuskInfection.cs b/Barotrauma/Source/Characters/HuskInfection.cs similarity index 100% rename from Subsurface/Source/Characters/HuskInfection.cs rename to Barotrauma/Source/Characters/HuskInfection.cs diff --git a/Subsurface/Source/Characters/Jobs/Job.cs b/Barotrauma/Source/Characters/Jobs/Job.cs similarity index 100% rename from Subsurface/Source/Characters/Jobs/Job.cs rename to Barotrauma/Source/Characters/Jobs/Job.cs diff --git a/Subsurface/Source/Characters/Jobs/JobPrefab.cs b/Barotrauma/Source/Characters/Jobs/JobPrefab.cs similarity index 100% rename from Subsurface/Source/Characters/Jobs/JobPrefab.cs rename to Barotrauma/Source/Characters/Jobs/JobPrefab.cs diff --git a/Subsurface/Source/Characters/Jobs/Skill.cs b/Barotrauma/Source/Characters/Jobs/Skill.cs similarity index 100% rename from Subsurface/Source/Characters/Jobs/Skill.cs rename to Barotrauma/Source/Characters/Jobs/Skill.cs diff --git a/Subsurface/Source/Characters/Jobs/SkillPrefab.cs b/Barotrauma/Source/Characters/Jobs/SkillPrefab.cs similarity index 100% rename from Subsurface/Source/Characters/Jobs/SkillPrefab.cs rename to Barotrauma/Source/Characters/Jobs/SkillPrefab.cs diff --git a/Subsurface/Source/Characters/Limb.cs b/Barotrauma/Source/Characters/Limb.cs similarity index 99% rename from Subsurface/Source/Characters/Limb.cs rename to Barotrauma/Source/Characters/Limb.cs index 341415835..2fa474003 100644 --- a/Subsurface/Source/Characters/Limb.cs +++ b/Barotrauma/Source/Characters/Limb.cs @@ -500,7 +500,6 @@ namespace Barotrauma if (LightSource != null) { LightSource.Position = body.DrawPosition; - LightSource.Rotation = body.DrawRotation; } foreach (WearableSprite wearable in wearingItems) diff --git a/Subsurface/Source/Characters/StatusEffect.cs b/Barotrauma/Source/Characters/StatusEffect.cs similarity index 100% rename from Subsurface/Source/Characters/StatusEffect.cs rename to Barotrauma/Source/Characters/StatusEffect.cs diff --git a/Subsurface/Source/ContentPackage.cs b/Barotrauma/Source/ContentPackage.cs similarity index 100% rename from Subsurface/Source/ContentPackage.cs rename to Barotrauma/Source/ContentPackage.cs diff --git a/Subsurface/Source/CoroutineManager.cs b/Barotrauma/Source/CoroutineManager.cs similarity index 100% rename from Subsurface/Source/CoroutineManager.cs rename to Barotrauma/Source/CoroutineManager.cs diff --git a/Subsurface/Source/DebugConsole.cs b/Barotrauma/Source/DebugConsole.cs similarity index 89% rename from Subsurface/Source/DebugConsole.cs rename to Barotrauma/Source/DebugConsole.cs index cb6c83ada..288d04a4a 100644 --- a/Subsurface/Source/DebugConsole.cs +++ b/Barotrauma/Source/DebugConsole.cs @@ -7,6 +7,7 @@ using Microsoft.Xna.Framework.Input; using Barotrauma.Networking; using Barotrauma.Items.Components; using System.Text; +using FarseerPhysics; namespace Barotrauma { @@ -219,6 +220,8 @@ namespace Barotrauma NewMessage(" ", Color.Cyan); + NewMessage("teleport: teleport the controlled character to the position of the cursor", Color.Cyan); + NewMessage("teleport [character name]: teleport the specified character to the position of the cursor", Color.Cyan); NewMessage("heal: restore the controlled character to full health", Color.Cyan); NewMessage("heal [character name]: restore the specified character to full health", Color.Cyan); NewMessage("revive: bring the controlled character back from the dead", Color.Cyan); @@ -401,17 +404,19 @@ namespace Barotrauma break; case "banip": - if (GameMain.Server == null || commands.Length < 2) break; + { + if (GameMain.Server == null || commands.Length < 2) break; - var client = GameMain.Server.ConnectedClients.Find(c => c.Connection.RemoteEndPoint.Address.ToString() == commands[1]); - if (client == null) - { - GameMain.Server.BanList.BanPlayer("Unnamed", commands[1]); - } - else - { - //GameMain.Server.KickClient(client, true); - } + var client = GameMain.Server.ConnectedClients.Find(c => c.Connection.RemoteEndPoint.Address.ToString() == commands[1]); + if (client == null) + { + GameMain.Server.BanList.BanPlayer("Unnamed", commands[1]); + } + else + { + GameMain.Server.KickClient(client, true); + } + } break; case "startclient": if (commands.Length == 1) return; @@ -459,15 +464,61 @@ namespace Barotrauma break; case "controlcharacter": case "control": - if (commands.Length < 2) break; - - var character = FindMatchingCharacter(commands, true); - - if (character != null) { - Character.Controlled = character; + if (commands.Length < 2) break; + + var character = FindMatchingCharacter(commands, true); + + if (character != null) + { + Character.Controlled = character; + } + } + break; + case "setclientcharacter": + { + if (GameMain.Server == null) break; + + int separatorIndex = Array.IndexOf(commands, ";"); + + if (separatorIndex == -1 || commands.Length < 4) + { + ThrowError("Invalid parameters. The command should be formatted as \"setclientcharacter [client] ; [character]\""); + break; + } + + string[] commandsLeft = commands.Take(separatorIndex).ToArray(); + string[] commandsRight = commands.Skip(separatorIndex).ToArray(); + + string clientName = String.Join(" ", commandsLeft.Skip(1)); + + var client = GameMain.Server.ConnectedClients.Find(c => c.name == clientName); + if (client == null) + { + ThrowError("Client \"" + clientName + "\" not found."); + } + + var character = FindMatchingCharacter(commandsRight, false); + GameMain.Server.SetClientCharacter(client, character); + } + break; + case "teleportcharacter": + case "teleport": + var tpCharacter = FindMatchingCharacter(commands, false); + + if (commands.Length < 2) + { + tpCharacter = Character.Controlled; + } + + if (tpCharacter != null) + { + var cam = GameMain.GameScreen.Cam; + tpCharacter.AnimController.CurrentHull = null; + tpCharacter.Submarine = null; + tpCharacter.AnimController.SetPosition(ConvertUnits.ToSimUnits(cam.ScreenToWorld(PlayerInput.MousePosition))); + tpCharacter.AnimController.FindHull(cam.ScreenToWorld(PlayerInput.MousePosition), true); } - break; case "godmode": if (Submarine.MainSub == null) return; @@ -512,19 +563,29 @@ namespace Barotrauma break; case "revive": - Character reveivedCharacter = null; + Character revivedCharacter = null; if (commands.Length == 1) { - reveivedCharacter = Character.Controlled; + revivedCharacter = Character.Controlled; } else { - reveivedCharacter = FindMatchingCharacter(commands); + revivedCharacter = FindMatchingCharacter(commands); } - if (reveivedCharacter != null) + if (revivedCharacter != null) { - reveivedCharacter.Revive(false); + revivedCharacter.Revive(false); + if (GameMain.Server != null) + { + foreach (Client c in GameMain.Server.ConnectedClients) + { + if (c.Character != revivedCharacter) continue; + //clients stop controlling the character when it dies, force control back + GameMain.Server.SetClientCharacter(c, revivedCharacter); + break; + } + } } break; case "freeze": @@ -850,7 +911,7 @@ namespace Barotrauma int characterIndex; string characterName; - if (int.TryParse(commands.Last(), out characterIndex)) + if (int.TryParse(commands.Last(), out characterIndex) && commands.Length > 2) { characterName = string.Join(" ", commands.Skip(1).Take(commands.Length - 2)).ToLowerInvariant(); } @@ -933,8 +994,11 @@ namespace Barotrauma } public static void ThrowError(string error, Exception e = null) - { - if (e != null) error += " {" + e.Message + "}"; + { + if (e != null) + { + error += " {" + e.Message + "}\n" + e.StackTrace; + } System.Diagnostics.Debug.WriteLine(error); NewMessage(error, Color.Red); isOpen = true; diff --git a/Subsurface/Source/EventInput/EventInput.cs b/Barotrauma/Source/EventInput/EventInput.cs similarity index 100% rename from Subsurface/Source/EventInput/EventInput.cs rename to Barotrauma/Source/EventInput/EventInput.cs diff --git a/Subsurface/Source/EventInput/KeyboardDispatcher.cs b/Barotrauma/Source/EventInput/KeyboardDispatcher.cs similarity index 100% rename from Subsurface/Source/EventInput/KeyboardDispatcher.cs rename to Barotrauma/Source/EventInput/KeyboardDispatcher.cs diff --git a/Subsurface/Source/Events/ArtifactEvent.cs b/Barotrauma/Source/Events/ArtifactEvent.cs similarity index 100% rename from Subsurface/Source/Events/ArtifactEvent.cs rename to Barotrauma/Source/Events/ArtifactEvent.cs diff --git a/Subsurface/Source/Events/Missions/CargoMission.cs b/Barotrauma/Source/Events/Missions/CargoMission.cs similarity index 100% rename from Subsurface/Source/Events/Missions/CargoMission.cs rename to Barotrauma/Source/Events/Missions/CargoMission.cs diff --git a/Subsurface/Source/Events/Missions/CombatMission.cs b/Barotrauma/Source/Events/Missions/CombatMission.cs similarity index 92% rename from Subsurface/Source/Events/Missions/CombatMission.cs rename to Barotrauma/Source/Events/Missions/CombatMission.cs index cc2335880..64c696a4f 100644 --- a/Subsurface/Source/Events/Missions/CombatMission.cs +++ b/Barotrauma/Source/Events/Missions/CombatMission.cs @@ -19,6 +19,8 @@ namespace Barotrauma private static string[] teamNames = { "Team A", "Team B" }; + private bool initialized = false; + public override bool AllowRespawn { get { return false; } @@ -90,7 +92,7 @@ namespace Barotrauma return teamNames[teamID]; } - public override bool AssignTeamIDs(List clients, out int hostTeam) + public override bool AssignTeamIDs(List clients, out byte hostTeam) { List randList = new List(clients); for (int i = 0; i < randList.Count; i++) @@ -115,7 +117,7 @@ namespace Barotrauma } if (halfPlayers * 2 == randList.Count) { - hostTeam = Rand.Range(1, 2); + hostTeam = (byte)Rand.Range(1, 2); } else if (halfPlayers * 2 < randList.Count) { @@ -152,8 +154,10 @@ namespace Barotrauma public override void Update(float deltaTime) { - if (crews[0].Count == 0 && crews[1].Count == 0) + if (!initialized) { + crews[0].Clear(); + crews[1].Clear(); foreach (Character character in Character.CharacterList) { if (character.TeamID == 1) @@ -165,6 +169,14 @@ namespace Barotrauma crews[1].Add(character); } } + + if (GameMain.Client != null) + { + //no characters in one of the teams, the client may not have received all spawn messages yet + if (crews[0].Count == 0 || crews[1].Count == 0) return; + } + + initialized = true; } bool[] teamDead = diff --git a/Subsurface/Source/Events/Missions/Mission.cs b/Barotrauma/Source/Events/Missions/Mission.cs similarity index 99% rename from Subsurface/Source/Events/Missions/Mission.cs rename to Barotrauma/Source/Events/Missions/Mission.cs index 119957f6a..fe90876ea 100644 --- a/Subsurface/Source/Events/Missions/Mission.cs +++ b/Barotrauma/Source/Events/Missions/Mission.cs @@ -230,7 +230,7 @@ namespace Barotrauma public virtual void Update(float deltaTime) { } - public virtual bool AssignTeamIDs(List clients, out int hostTeam) + public virtual bool AssignTeamIDs(List clients, out byte hostTeam) { clients.ForEach(c => c.TeamID = 1); hostTeam = 1; diff --git a/Subsurface/Source/Events/Missions/MonsterMission.cs b/Barotrauma/Source/Events/Missions/MonsterMission.cs similarity index 100% rename from Subsurface/Source/Events/Missions/MonsterMission.cs rename to Barotrauma/Source/Events/Missions/MonsterMission.cs diff --git a/Subsurface/Source/Events/Missions/SalvageMission.cs b/Barotrauma/Source/Events/Missions/SalvageMission.cs similarity index 100% rename from Subsurface/Source/Events/Missions/SalvageMission.cs rename to Barotrauma/Source/Events/Missions/SalvageMission.cs diff --git a/Subsurface/Source/Events/MonsterEvent.cs b/Barotrauma/Source/Events/MonsterEvent.cs similarity index 100% rename from Subsurface/Source/Events/MonsterEvent.cs rename to Barotrauma/Source/Events/MonsterEvent.cs diff --git a/Subsurface/Source/Events/PropertyTask.cs b/Barotrauma/Source/Events/PropertyTask.cs similarity index 100% rename from Subsurface/Source/Events/PropertyTask.cs rename to Barotrauma/Source/Events/PropertyTask.cs diff --git a/Subsurface/Source/Events/RepairTask.cs b/Barotrauma/Source/Events/RepairTask.cs similarity index 100% rename from Subsurface/Source/Events/RepairTask.cs rename to Barotrauma/Source/Events/RepairTask.cs diff --git a/Subsurface/Source/Events/ScriptedEvent.cs b/Barotrauma/Source/Events/ScriptedEvent.cs similarity index 100% rename from Subsurface/Source/Events/ScriptedEvent.cs rename to Barotrauma/Source/Events/ScriptedEvent.cs diff --git a/Subsurface/Source/Events/ScriptedTask.cs b/Barotrauma/Source/Events/ScriptedTask.cs similarity index 100% rename from Subsurface/Source/Events/ScriptedTask.cs rename to Barotrauma/Source/Events/ScriptedTask.cs diff --git a/Subsurface/Source/Events/Task.cs b/Barotrauma/Source/Events/Task.cs similarity index 100% rename from Subsurface/Source/Events/Task.cs rename to Barotrauma/Source/Events/Task.cs diff --git a/Subsurface/Source/Events/TaskManager.cs b/Barotrauma/Source/Events/TaskManager.cs similarity index 100% rename from Subsurface/Source/Events/TaskManager.cs rename to Barotrauma/Source/Events/TaskManager.cs diff --git a/Subsurface/Source/Fonts/ScalableFont.cs b/Barotrauma/Source/Fonts/ScalableFont.cs similarity index 100% rename from Subsurface/Source/Fonts/ScalableFont.cs rename to Barotrauma/Source/Fonts/ScalableFont.cs diff --git a/Subsurface/Source/FrameCounter.cs b/Barotrauma/Source/FrameCounter.cs similarity index 100% rename from Subsurface/Source/FrameCounter.cs rename to Barotrauma/Source/FrameCounter.cs diff --git a/Subsurface/Source/GUI/ComponentStyle.cs b/Barotrauma/Source/GUI/ComponentStyle.cs similarity index 100% rename from Subsurface/Source/GUI/ComponentStyle.cs rename to Barotrauma/Source/GUI/ComponentStyle.cs diff --git a/Subsurface/Source/GUI/GUI.cs b/Barotrauma/Source/GUI/GUI.cs similarity index 100% rename from Subsurface/Source/GUI/GUI.cs rename to Barotrauma/Source/GUI/GUI.cs diff --git a/Subsurface/Source/GUI/GUIButton.cs b/Barotrauma/Source/GUI/GUIButton.cs similarity index 100% rename from Subsurface/Source/GUI/GUIButton.cs rename to Barotrauma/Source/GUI/GUIButton.cs diff --git a/Subsurface/Source/GUI/GUIComponent.cs b/Barotrauma/Source/GUI/GUIComponent.cs similarity index 100% rename from Subsurface/Source/GUI/GUIComponent.cs rename to Barotrauma/Source/GUI/GUIComponent.cs diff --git a/Subsurface/Source/GUI/GUIDropDown.cs b/Barotrauma/Source/GUI/GUIDropDown.cs similarity index 100% rename from Subsurface/Source/GUI/GUIDropDown.cs rename to Barotrauma/Source/GUI/GUIDropDown.cs diff --git a/Subsurface/Source/GUI/GUIFrame.cs b/Barotrauma/Source/GUI/GUIFrame.cs similarity index 100% rename from Subsurface/Source/GUI/GUIFrame.cs rename to Barotrauma/Source/GUI/GUIFrame.cs diff --git a/Subsurface/Source/GUI/GUIImage.cs b/Barotrauma/Source/GUI/GUIImage.cs similarity index 100% rename from Subsurface/Source/GUI/GUIImage.cs rename to Barotrauma/Source/GUI/GUIImage.cs diff --git a/Subsurface/Source/GUI/GUIListBox.cs b/Barotrauma/Source/GUI/GUIListBox.cs similarity index 100% rename from Subsurface/Source/GUI/GUIListBox.cs rename to Barotrauma/Source/GUI/GUIListBox.cs diff --git a/Subsurface/Source/GUI/GUIMessage.cs b/Barotrauma/Source/GUI/GUIMessage.cs similarity index 100% rename from Subsurface/Source/GUI/GUIMessage.cs rename to Barotrauma/Source/GUI/GUIMessage.cs diff --git a/Subsurface/Source/GUI/GUIMessageBox.cs b/Barotrauma/Source/GUI/GUIMessageBox.cs similarity index 100% rename from Subsurface/Source/GUI/GUIMessageBox.cs rename to Barotrauma/Source/GUI/GUIMessageBox.cs diff --git a/Subsurface/Source/GUI/GUIProgressBar.cs b/Barotrauma/Source/GUI/GUIProgressBar.cs similarity index 100% rename from Subsurface/Source/GUI/GUIProgressBar.cs rename to Barotrauma/Source/GUI/GUIProgressBar.cs diff --git a/Subsurface/Source/GUI/GUIScrollBar.cs b/Barotrauma/Source/GUI/GUIScrollBar.cs similarity index 100% rename from Subsurface/Source/GUI/GUIScrollBar.cs rename to Barotrauma/Source/GUI/GUIScrollBar.cs diff --git a/Subsurface/Source/GUI/GUIStyle.cs b/Barotrauma/Source/GUI/GUIStyle.cs similarity index 100% rename from Subsurface/Source/GUI/GUIStyle.cs rename to Barotrauma/Source/GUI/GUIStyle.cs diff --git a/Subsurface/Source/GUI/GUITextBlock.cs b/Barotrauma/Source/GUI/GUITextBlock.cs similarity index 100% rename from Subsurface/Source/GUI/GUITextBlock.cs rename to Barotrauma/Source/GUI/GUITextBlock.cs diff --git a/Subsurface/Source/GUI/GUITextBox.cs b/Barotrauma/Source/GUI/GUITextBox.cs similarity index 100% rename from Subsurface/Source/GUI/GUITextBox.cs rename to Barotrauma/Source/GUI/GUITextBox.cs diff --git a/Subsurface/Source/GUI/GUITickBox.cs b/Barotrauma/Source/GUI/GUITickBox.cs similarity index 95% rename from Subsurface/Source/GUI/GUITickBox.cs rename to Barotrauma/Source/GUI/GUITickBox.cs index 1f895dfd3..7e24f58ef 100644 --- a/Subsurface/Source/GUI/GUITickBox.cs +++ b/Barotrauma/Source/GUI/GUITickBox.cs @@ -1,13 +1,12 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; -using Microsoft.Xna.Framework.Input; namespace Barotrauma { public class GUITickBox : GUIComponent { - GUIFrame box; - GUITextBlock text; + private GUIFrame box; + private GUITextBlock text; public delegate bool OnSelectedHandler(GUITickBox obj); public OnSelectedHandler OnSelected; @@ -22,6 +21,8 @@ namespace Barotrauma if (value == selected) return; selected = value; state = (selected) ? ComponentState.Selected : ComponentState.None; + + box.State = state; } } @@ -107,9 +108,9 @@ namespace Barotrauma public override void Update(float deltaTime) { - if (!Visible || !Enabled) return; + if (!Visible) return; - if (MouseOn == this) + if (MouseOn == this && Enabled) { box.State = ComponentState.Hover; diff --git a/Subsurface/Source/GUI/LoadingScreen.cs b/Barotrauma/Source/GUI/LoadingScreen.cs similarity index 100% rename from Subsurface/Source/GUI/LoadingScreen.cs rename to Barotrauma/Source/GUI/LoadingScreen.cs diff --git a/Subsurface/Source/GameMain.cs b/Barotrauma/Source/GameMain.cs similarity index 96% rename from Subsurface/Source/GameMain.cs rename to Barotrauma/Source/GameMain.cs index 4415a7629..6f291cd27 100644 --- a/Subsurface/Source/GameMain.cs +++ b/Barotrauma/Source/GameMain.cs @@ -181,16 +181,16 @@ namespace Barotrauma ConvertUnits.SetDisplayUnitToSimUnitRatio(Physics.DisplayToSimRation); - spriteBatch = new SpriteBatch(base.GraphicsDevice); - TextureLoader.Init(base.GraphicsDevice); + spriteBatch = new SpriteBatch(GraphicsDevice); + TextureLoader.Init(GraphicsDevice); loadingScreenOpen = true; - TitleScreen = new LoadingScreen(base.GraphicsDevice); + TitleScreen = new LoadingScreen(GraphicsDevice); loadingCoroutine = CoroutineManager.StartCoroutine(Load()); } - public IEnumerable Load() + private IEnumerable Load() { GUI.GraphicsDevice = base.GraphicsDevice; GUI.Init(Content); @@ -217,6 +217,11 @@ namespace Barotrauma yield return CoroutineStatus.Running; JobPrefab.LoadAll(SelectedPackage.GetFilesOfType(ContentType.Jobs)); + // Add any missing jobs from the prefab into Config.JobNamePreferences. + foreach (JobPrefab job in JobPrefab.List) + { + if (!Config.JobNamePreferences.Contains(job.Name)) { Config.JobNamePreferences.Add(job.Name); } + } StructurePrefab.LoadAll(SelectedPackage.GetFilesOfType(ContentType.Structure)); TitleScreen.LoadState = 20.0f; yield return CoroutineStatus.Running; @@ -320,10 +325,7 @@ namespace Barotrauma if (!hasLoaded && !CoroutineManager.IsCoroutineRunning(loadingCoroutine)) { - DebugConsole.ThrowError("Loading was interrupted due to an error"); - loadingScreenOpen = false; - loadingCoroutine = null; - hasLoaded = true; + throw new Exception("Loading was interrupted due to an error"); } } else if (hasLoaded) diff --git a/Subsurface/Source/GameSession/CargoManager.cs b/Barotrauma/Source/GameSession/CargoManager.cs similarity index 100% rename from Subsurface/Source/GameSession/CargoManager.cs rename to Barotrauma/Source/GameSession/CargoManager.cs diff --git a/Subsurface/Source/GameSession/CrewManager.cs b/Barotrauma/Source/GameSession/CrewManager.cs similarity index 100% rename from Subsurface/Source/GameSession/CrewManager.cs rename to Barotrauma/Source/GameSession/CrewManager.cs diff --git a/Subsurface/Source/GameSession/GameModes/GameMode.cs b/Barotrauma/Source/GameSession/GameModes/GameMode.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/GameMode.cs rename to Barotrauma/Source/GameSession/GameModes/GameMode.cs diff --git a/Subsurface/Source/GameSession/GameModes/GameModePreset.cs b/Barotrauma/Source/GameSession/GameModes/GameModePreset.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/GameModePreset.cs rename to Barotrauma/Source/GameSession/GameModes/GameModePreset.cs diff --git a/Subsurface/Source/GameSession/GameModes/MissionMode.cs b/Barotrauma/Source/GameSession/GameModes/MissionMode.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/MissionMode.cs rename to Barotrauma/Source/GameSession/GameModes/MissionMode.cs diff --git a/Subsurface/Source/GameSession/GameModes/SinglePlayerMode.cs b/Barotrauma/Source/GameSession/GameModes/SinglePlayerMode.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/SinglePlayerMode.cs rename to Barotrauma/Source/GameSession/GameModes/SinglePlayerMode.cs diff --git a/Subsurface/Source/GameSession/GameModes/TraitorManager.cs b/Barotrauma/Source/GameSession/GameModes/TraitorManager.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/TraitorManager.cs rename to Barotrauma/Source/GameSession/GameModes/TraitorManager.cs diff --git a/Subsurface/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs b/Barotrauma/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs rename to Barotrauma/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs diff --git a/Subsurface/Source/GameSession/GameModes/Tutorials/EditorTutorial.cs b/Barotrauma/Source/GameSession/GameModes/Tutorials/EditorTutorial.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/Tutorials/EditorTutorial.cs rename to Barotrauma/Source/GameSession/GameModes/Tutorials/EditorTutorial.cs diff --git a/Subsurface/Source/GameSession/GameModes/Tutorials/TutorialMode.cs b/Barotrauma/Source/GameSession/GameModes/Tutorials/TutorialMode.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/Tutorials/TutorialMode.cs rename to Barotrauma/Source/GameSession/GameModes/Tutorials/TutorialMode.cs diff --git a/Subsurface/Source/GameSession/GameModes/Tutorials/TutorialType.cs b/Barotrauma/Source/GameSession/GameModes/Tutorials/TutorialType.cs similarity index 100% rename from Subsurface/Source/GameSession/GameModes/Tutorials/TutorialType.cs rename to Barotrauma/Source/GameSession/GameModes/Tutorials/TutorialType.cs diff --git a/Subsurface/Source/GameSession/GameSession.cs b/Barotrauma/Source/GameSession/GameSession.cs similarity index 100% rename from Subsurface/Source/GameSession/GameSession.cs rename to Barotrauma/Source/GameSession/GameSession.cs diff --git a/Subsurface/Source/GameSession/HireManager.cs b/Barotrauma/Source/GameSession/HireManager.cs similarity index 100% rename from Subsurface/Source/GameSession/HireManager.cs rename to Barotrauma/Source/GameSession/HireManager.cs diff --git a/Subsurface/Source/GameSession/InfoTextManager.cs b/Barotrauma/Source/GameSession/InfoTextManager.cs similarity index 100% rename from Subsurface/Source/GameSession/InfoTextManager.cs rename to Barotrauma/Source/GameSession/InfoTextManager.cs diff --git a/Subsurface/Source/GameSession/ShiftSummary.cs b/Barotrauma/Source/GameSession/ShiftSummary.cs similarity index 100% rename from Subsurface/Source/GameSession/ShiftSummary.cs rename to Barotrauma/Source/GameSession/ShiftSummary.cs diff --git a/Subsurface/Source/GameSettings.cs b/Barotrauma/Source/GameSettings.cs similarity index 91% rename from Subsurface/Source/GameSettings.cs rename to Barotrauma/Source/GameSettings.cs index 92031d217..c032645d5 100644 --- a/Subsurface/Source/GameSettings.cs +++ b/Barotrauma/Source/GameSettings.cs @@ -23,6 +23,8 @@ namespace Barotrauma private WindowMode windowMode; + public List jobNamePreferences; + private KeyOrMouse[] keyMapping; private bool unsavedSettings; @@ -56,6 +58,19 @@ namespace Barotrauma public ContentPackage SelectedContentPackage { get; set; } + public List JobNamePreferences + { + get { return jobNamePreferences; } + set + { + // Begin saving coroutine. Remove any existing save coroutines if one is running. + if (CoroutineManager.IsCoroutineRunning("saveCoroutine")) { CoroutineManager.StopCoroutines("saveCoroutine"); } + CoroutineManager.StartCoroutine(ApplyUnsavedChanges(), "saveCoroutine"); + + jobNamePreferences = value; + } + } + public string MasterServerUrl { get; set; } public bool AutoCheckUpdates { get; set; } public bool WasGameUpdated { get; set; } @@ -73,6 +88,7 @@ namespace Barotrauma private set { unsavedSettings = value; + if (applyButton != null) { //applyButton.Selected = unsavedSettings; @@ -124,6 +140,12 @@ namespace Barotrauma SelectedContentPackage = ContentPackage.list.Any() ? ContentPackage.list[0] : new ContentPackage(""); + JobNamePreferences = new List(); + foreach (JobPrefab job in JobPrefab.List) + { + JobNamePreferences.Add(job.Name); + } + return; } @@ -208,6 +230,13 @@ namespace Barotrauma } } break; + case "gameplay": + JobNamePreferences = new List(); + foreach (XElement ele in subElement.Element("jobpreferences").Elements("job")) + { + JobNamePreferences.Add(ToolBox.GetAttributeString(ele, "name", "")); + } + break; } } @@ -291,6 +320,17 @@ namespace Barotrauma } + var gameplay = new XElement("gameplay"); + + var jobPreferences = new XElement("jobpreferences"); + foreach (string jobName in JobNamePreferences) + { + jobPreferences.Add(new XElement("job", new XAttribute("name", jobName))); + } + + gameplay.Add(jobPreferences); + doc.Root.Add(gameplay); + doc.Save(filePath); } @@ -500,6 +540,13 @@ namespace Barotrauma yield return CoroutineStatus.Success; } + private IEnumerable ApplyUnsavedChanges() + { + yield return new WaitForSeconds(10.0f); + + Save("config.xml"); + } + private bool ApplyClicked(GUIButton button, object userData) { Save("config.xml"); diff --git a/Subsurface/Source/IPropertyObject.cs b/Barotrauma/Source/IPropertyObject.cs similarity index 100% rename from Subsurface/Source/IPropertyObject.cs rename to Barotrauma/Source/IPropertyObject.cs diff --git a/Subsurface/Source/Items/CharacterInventory.cs b/Barotrauma/Source/Items/CharacterInventory.cs similarity index 100% rename from Subsurface/Source/Items/CharacterInventory.cs rename to Barotrauma/Source/Items/CharacterInventory.cs diff --git a/Subsurface/Source/Items/Components/DockingPort.cs b/Barotrauma/Source/Items/Components/DockingPort.cs similarity index 100% rename from Subsurface/Source/Items/Components/DockingPort.cs rename to Barotrauma/Source/Items/Components/DockingPort.cs diff --git a/Subsurface/Source/Items/Components/Door.cs b/Barotrauma/Source/Items/Components/Door.cs similarity index 100% rename from Subsurface/Source/Items/Components/Door.cs rename to Barotrauma/Source/Items/Components/Door.cs diff --git a/Subsurface/Source/Items/Components/Holdable/Holdable.cs b/Barotrauma/Source/Items/Components/Holdable/Holdable.cs similarity index 98% rename from Subsurface/Source/Items/Components/Holdable/Holdable.cs rename to Barotrauma/Source/Items/Components/Holdable/Holdable.cs index d692fad36..cc57a1cb4 100644 --- a/Subsurface/Source/Items/Components/Holdable/Holdable.cs +++ b/Barotrauma/Source/Items/Components/Holdable/Holdable.cs @@ -243,7 +243,11 @@ namespace Barotrauma.Items.Components public override void Update(float deltaTime, Camera cam) { if (item.body == null || !item.body.Enabled) return; - if (!picker.HasSelectedItem(item)) IsActive = false; + if (picker == null || !picker.HasSelectedItem(item)) + { + IsActive = false; + return; + } ApplyStatusEffects(ActionType.OnActive, deltaTime, picker); diff --git a/Subsurface/Source/Items/Components/Holdable/MeleeWeapon.cs b/Barotrauma/Source/Items/Components/Holdable/MeleeWeapon.cs similarity index 100% rename from Subsurface/Source/Items/Components/Holdable/MeleeWeapon.cs rename to Barotrauma/Source/Items/Components/Holdable/MeleeWeapon.cs diff --git a/Subsurface/Source/Items/Components/Holdable/Pickable.cs b/Barotrauma/Source/Items/Components/Holdable/Pickable.cs similarity index 100% rename from Subsurface/Source/Items/Components/Holdable/Pickable.cs rename to Barotrauma/Source/Items/Components/Holdable/Pickable.cs diff --git a/Subsurface/Source/Items/Components/Holdable/Propulsion.cs b/Barotrauma/Source/Items/Components/Holdable/Propulsion.cs similarity index 100% rename from Subsurface/Source/Items/Components/Holdable/Propulsion.cs rename to Barotrauma/Source/Items/Components/Holdable/Propulsion.cs diff --git a/Subsurface/Source/Items/Components/Holdable/RangedWeapon.cs b/Barotrauma/Source/Items/Components/Holdable/RangedWeapon.cs similarity index 100% rename from Subsurface/Source/Items/Components/Holdable/RangedWeapon.cs rename to Barotrauma/Source/Items/Components/Holdable/RangedWeapon.cs diff --git a/Subsurface/Source/Items/Components/Holdable/RepairTool.cs b/Barotrauma/Source/Items/Components/Holdable/RepairTool.cs similarity index 100% rename from Subsurface/Source/Items/Components/Holdable/RepairTool.cs rename to Barotrauma/Source/Items/Components/Holdable/RepairTool.cs diff --git a/Subsurface/Source/Items/Components/Holdable/Throwable.cs b/Barotrauma/Source/Items/Components/Holdable/Throwable.cs similarity index 100% rename from Subsurface/Source/Items/Components/Holdable/Throwable.cs rename to Barotrauma/Source/Items/Components/Holdable/Throwable.cs diff --git a/Subsurface/Source/Items/Components/ItemComponent.cs b/Barotrauma/Source/Items/Components/ItemComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/ItemComponent.cs rename to Barotrauma/Source/Items/Components/ItemComponent.cs diff --git a/Subsurface/Source/Items/Components/ItemContainer.cs b/Barotrauma/Source/Items/Components/ItemContainer.cs similarity index 99% rename from Subsurface/Source/Items/Components/ItemContainer.cs rename to Barotrauma/Source/Items/Components/ItemContainer.cs index 6eceeaf21..db295927a 100644 --- a/Subsurface/Source/Items/Components/ItemContainer.cs +++ b/Barotrauma/Source/Items/Components/ItemContainer.cs @@ -269,10 +269,12 @@ namespace Barotrauma.Items.Components itemIds = null; } + protected override void ShallowRemoveComponentSpecific() + { + } + protected override void RemoveComponentSpecific() { - base.RemoveComponentSpecific(); - foreach (Item item in Inventory.Items) { if (item == null) continue; diff --git a/Subsurface/Source/Items/Components/ItemLabel.cs b/Barotrauma/Source/Items/Components/ItemLabel.cs similarity index 100% rename from Subsurface/Source/Items/Components/ItemLabel.cs rename to Barotrauma/Source/Items/Components/ItemLabel.cs diff --git a/Subsurface/Source/Items/Components/Ladder.cs b/Barotrauma/Source/Items/Components/Ladder.cs similarity index 100% rename from Subsurface/Source/Items/Components/Ladder.cs rename to Barotrauma/Source/Items/Components/Ladder.cs diff --git a/Subsurface/Source/Items/Components/Machines/Controller.cs b/Barotrauma/Source/Items/Components/Machines/Controller.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/Controller.cs rename to Barotrauma/Source/Items/Components/Machines/Controller.cs diff --git a/Subsurface/Source/Items/Components/Machines/Deconstructor.cs b/Barotrauma/Source/Items/Components/Machines/Deconstructor.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/Deconstructor.cs rename to Barotrauma/Source/Items/Components/Machines/Deconstructor.cs diff --git a/Subsurface/Source/Items/Components/Machines/Engine.cs b/Barotrauma/Source/Items/Components/Machines/Engine.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/Engine.cs rename to Barotrauma/Source/Items/Components/Machines/Engine.cs diff --git a/Subsurface/Source/Items/Components/Machines/Fabricator.cs b/Barotrauma/Source/Items/Components/Machines/Fabricator.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/Fabricator.cs rename to Barotrauma/Source/Items/Components/Machines/Fabricator.cs diff --git a/Subsurface/Source/Items/Components/Machines/MiniMap.cs b/Barotrauma/Source/Items/Components/Machines/MiniMap.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/MiniMap.cs rename to Barotrauma/Source/Items/Components/Machines/MiniMap.cs diff --git a/Subsurface/Source/Items/Components/Machines/OxygenGenerator.cs b/Barotrauma/Source/Items/Components/Machines/OxygenGenerator.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/OxygenGenerator.cs rename to Barotrauma/Source/Items/Components/Machines/OxygenGenerator.cs diff --git a/Subsurface/Source/Items/Components/Machines/Pump.cs b/Barotrauma/Source/Items/Components/Machines/Pump.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/Pump.cs rename to Barotrauma/Source/Items/Components/Machines/Pump.cs diff --git a/Subsurface/Source/Items/Components/Machines/Radar.cs b/Barotrauma/Source/Items/Components/Machines/Radar.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/Radar.cs rename to Barotrauma/Source/Items/Components/Machines/Radar.cs diff --git a/Subsurface/Source/Items/Components/Machines/Reactor.cs b/Barotrauma/Source/Items/Components/Machines/Reactor.cs similarity index 99% rename from Subsurface/Source/Items/Components/Machines/Reactor.cs rename to Barotrauma/Source/Items/Components/Machines/Reactor.cs index 8018300a1..ed7ecb063 100644 --- a/Subsurface/Source/Items/Components/Machines/Reactor.cs +++ b/Barotrauma/Source/Items/Components/Machines/Reactor.cs @@ -262,7 +262,8 @@ namespace Barotrauma.Items.Components ", Fission rate: " + (int)fissionRate + ", Cooling rate: " + (int)coolingRate + ", Cooling rate: " + coolingRate + - ", Shutdown temp: " + shutDownTemp, + ", Shutdown temp: " + shutDownTemp + + (autoTemp ? ", Autotemp ON" : ", Autotemp OFF"), ServerLog.MessageType.ItemInteraction); nextServerLogWriteTime = null; diff --git a/Subsurface/Source/Items/Components/Machines/Steering.cs b/Barotrauma/Source/Items/Components/Machines/Steering.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/Steering.cs rename to Barotrauma/Source/Items/Components/Machines/Steering.cs diff --git a/Subsurface/Source/Items/Components/Machines/Vent.cs b/Barotrauma/Source/Items/Components/Machines/Vent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Machines/Vent.cs rename to Barotrauma/Source/Items/Components/Machines/Vent.cs diff --git a/Subsurface/Source/Items/Components/Power/PowerContainer.cs b/Barotrauma/Source/Items/Components/Power/PowerContainer.cs similarity index 100% rename from Subsurface/Source/Items/Components/Power/PowerContainer.cs rename to Barotrauma/Source/Items/Components/Power/PowerContainer.cs diff --git a/Subsurface/Source/Items/Components/Power/PowerTransfer.cs b/Barotrauma/Source/Items/Components/Power/PowerTransfer.cs similarity index 78% rename from Subsurface/Source/Items/Components/Power/PowerTransfer.cs rename to Barotrauma/Source/Items/Components/Power/PowerTransfer.cs index ba246c616..26a424436 100644 --- a/Subsurface/Source/Items/Components/Power/PowerTransfer.cs +++ b/Barotrauma/Source/Items/Components/Power/PowerTransfer.cs @@ -127,45 +127,48 @@ namespace Barotrauma.Items.Components if (it.Condition <= 0.0f) continue; - Powered powered = it.GetComponent(); - if (powered == null || !powered.IsActive) continue; - - if (connectedList.Contains(powered)) continue; - - PowerTransfer powerTransfer = powered as PowerTransfer; - if (powerTransfer != null) + foreach (Powered powered in it.GetComponents()) { - powerTransfer.CheckJunctions(deltaTime); - continue; - } - - PowerContainer powerContainer = powered as PowerContainer; - if (powerContainer != null) - { - if (recipient.Name == "power_in") + if (powered == null || !powered.IsActive) continue; + + if (connectedList.Contains(powered)) continue; + + PowerTransfer powerTransfer = powered as PowerTransfer; + if (powerTransfer != null) { - fullLoad += powerContainer.CurrPowerConsumption; + powerTransfer.CheckJunctions(deltaTime); + continue; + } + + PowerContainer powerContainer = powered as PowerContainer; + if (powerContainer != null) + { + if (recipient.Name == "power_in") + { + fullLoad += powerContainer.CurrPowerConsumption; + } + else + { + fullPower += powerContainer.CurrPowerOutput; + } } else { - fullPower += powerContainer.CurrPowerOutput; - } - } - else - { - connectedList.Add(powered); - //positive power consumption = the construction requires power -> increase load - if (powered.CurrPowerConsumption > 0.0f) - { - fullLoad += powered.CurrPowerConsumption; - } - else if (powered.CurrPowerConsumption < 0.0f) - //negative power consumption = the construction is a - //generator/battery or another junction box - { - fullPower -= powered.CurrPowerConsumption; + connectedList.Add(powered); + //positive power consumption = the construction requires power -> increase load + if (powered.CurrPowerConsumption > 0.0f) + { + fullLoad += powered.CurrPowerConsumption; + } + else if (powered.CurrPowerConsumption < 0.0f) + //negative power consumption = the construction is a + //generator/battery or another junction box + { + fullPower -= powered.CurrPowerConsumption; + } } } + } } } diff --git a/Subsurface/Source/Items/Components/Power/Powered.cs b/Barotrauma/Source/Items/Components/Power/Powered.cs similarity index 100% rename from Subsurface/Source/Items/Components/Power/Powered.cs rename to Barotrauma/Source/Items/Components/Power/Powered.cs diff --git a/Subsurface/Source/Items/Components/Projectile.cs b/Barotrauma/Source/Items/Components/Projectile.cs similarity index 100% rename from Subsurface/Source/Items/Components/Projectile.cs rename to Barotrauma/Source/Items/Components/Projectile.cs diff --git a/Subsurface/Source/Items/Components/Rope.cs b/Barotrauma/Source/Items/Components/Rope.cs similarity index 100% rename from Subsurface/Source/Items/Components/Rope.cs rename to Barotrauma/Source/Items/Components/Rope.cs diff --git a/Subsurface/Source/Items/Components/Signal/AndComponent.cs b/Barotrauma/Source/Items/Components/Signal/AndComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/AndComponent.cs rename to Barotrauma/Source/Items/Components/Signal/AndComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/Connection.cs b/Barotrauma/Source/Items/Components/Signal/Connection.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/Connection.cs rename to Barotrauma/Source/Items/Components/Signal/Connection.cs diff --git a/Subsurface/Source/Items/Components/Signal/ConnectionPanel.cs b/Barotrauma/Source/Items/Components/Signal/ConnectionPanel.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/ConnectionPanel.cs rename to Barotrauma/Source/Items/Components/Signal/ConnectionPanel.cs diff --git a/Subsurface/Source/Items/Components/Signal/DelayComponent.cs b/Barotrauma/Source/Items/Components/Signal/DelayComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/DelayComponent.cs rename to Barotrauma/Source/Items/Components/Signal/DelayComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/LightComponent.cs b/Barotrauma/Source/Items/Components/Signal/LightComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/LightComponent.cs rename to Barotrauma/Source/Items/Components/Signal/LightComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/MotionSensor.cs b/Barotrauma/Source/Items/Components/Signal/MotionSensor.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/MotionSensor.cs rename to Barotrauma/Source/Items/Components/Signal/MotionSensor.cs diff --git a/Subsurface/Source/Items/Components/Signal/NotComponent.cs b/Barotrauma/Source/Items/Components/Signal/NotComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/NotComponent.cs rename to Barotrauma/Source/Items/Components/Signal/NotComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/OrComponent.cs b/Barotrauma/Source/Items/Components/Signal/OrComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/OrComponent.cs rename to Barotrauma/Source/Items/Components/Signal/OrComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/OxygenDetector.cs b/Barotrauma/Source/Items/Components/Signal/OxygenDetector.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/OxygenDetector.cs rename to Barotrauma/Source/Items/Components/Signal/OxygenDetector.cs diff --git a/Subsurface/Source/Items/Components/Signal/RegExFindComponent.cs b/Barotrauma/Source/Items/Components/Signal/RegExFindComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/RegExFindComponent.cs rename to Barotrauma/Source/Items/Components/Signal/RegExFindComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/RelayComponent.cs b/Barotrauma/Source/Items/Components/Signal/RelayComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/RelayComponent.cs rename to Barotrauma/Source/Items/Components/Signal/RelayComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/SignalCheckComponent.cs b/Barotrauma/Source/Items/Components/Signal/SignalCheckComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/SignalCheckComponent.cs rename to Barotrauma/Source/Items/Components/Signal/SignalCheckComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/WaterDetector.cs b/Barotrauma/Source/Items/Components/Signal/WaterDetector.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/WaterDetector.cs rename to Barotrauma/Source/Items/Components/Signal/WaterDetector.cs diff --git a/Subsurface/Source/Items/Components/Signal/WifiComponent.cs b/Barotrauma/Source/Items/Components/Signal/WifiComponent.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/WifiComponent.cs rename to Barotrauma/Source/Items/Components/Signal/WifiComponent.cs diff --git a/Subsurface/Source/Items/Components/Signal/Wire.cs b/Barotrauma/Source/Items/Components/Signal/Wire.cs similarity index 100% rename from Subsurface/Source/Items/Components/Signal/Wire.cs rename to Barotrauma/Source/Items/Components/Signal/Wire.cs diff --git a/Subsurface/Source/Items/Components/StatusHUD.cs b/Barotrauma/Source/Items/Components/StatusHUD.cs similarity index 100% rename from Subsurface/Source/Items/Components/StatusHUD.cs rename to Barotrauma/Source/Items/Components/StatusHUD.cs diff --git a/Subsurface/Source/Items/Components/Turret.cs b/Barotrauma/Source/Items/Components/Turret.cs similarity index 98% rename from Subsurface/Source/Items/Components/Turret.cs rename to Barotrauma/Source/Items/Components/Turret.cs index 76374cde2..c97085f14 100644 --- a/Subsurface/Source/Items/Components/Turret.cs +++ b/Barotrauma/Source/Items/Components/Turret.cs @@ -213,7 +213,11 @@ namespace Barotrauma.Items.Components projectile.FindHull(); projectile.Submarine = projectile.body.Submarine; - projectile.Use((float)Timing.Step); + Projectile projectileComponent = projectile.GetComponent(); + if (projectileComponent != null) + { + projectileComponent.Use((float)Timing.Step); + } if (projectile.Container != null) projectile.Container.RemoveContained(projectile); diff --git a/Subsurface/Source/Items/Components/Wearable.cs b/Barotrauma/Source/Items/Components/Wearable.cs similarity index 100% rename from Subsurface/Source/Items/Components/Wearable.cs rename to Barotrauma/Source/Items/Components/Wearable.cs diff --git a/Subsurface/Source/Items/FixRequirement.cs b/Barotrauma/Source/Items/FixRequirement.cs similarity index 98% rename from Subsurface/Source/Items/FixRequirement.cs rename to Barotrauma/Source/Items/FixRequirement.cs index 8aa532429..15ae83dbb 100644 --- a/Subsurface/Source/Items/FixRequirement.cs +++ b/Barotrauma/Source/Items/FixRequirement.cs @@ -155,6 +155,10 @@ namespace Barotrauma GameMain.Server.CreateEntityEvent(item, new object[] { NetEntityEvent.Type.Status }); requirement.Fixed = true; } + else + { + requirement.Fixed = true; + } return true; } diff --git a/Subsurface/Source/Items/Inventory.cs b/Barotrauma/Source/Items/Inventory.cs similarity index 98% rename from Subsurface/Source/Items/Inventory.cs rename to Barotrauma/Source/Items/Inventory.cs index f48846032..caeeaf480 100644 --- a/Subsurface/Source/Items/Inventory.cs +++ b/Barotrauma/Source/Items/Inventory.cs @@ -590,11 +590,11 @@ namespace Barotrauma { if (Owner == c.Character) { - GameServer.Log(c.Character + " picked up " + item.Name, ServerLog.MessageType.ItemInteraction); + GameServer.Log(c.Character + " picked up " + item.Name, ServerLog.MessageType.Inventory); } else { - GameServer.Log(c.Character + " placed " + item.Name + " in " + Owner, ServerLog.MessageType.ItemInteraction); + GameServer.Log(c.Character + " placed " + item.Name + " in " + Owner, ServerLog.MessageType.Inventory); } } } @@ -605,11 +605,11 @@ namespace Barotrauma { if (Owner == c.Character) { - GameServer.Log(c.Character + " dropped " + item.Name, ServerLog.MessageType.ItemInteraction); + GameServer.Log(c.Character + " dropped " + item.Name, ServerLog.MessageType.Inventory); } else { - GameServer.Log(c.Character + " removed " + item.Name + " from " + Owner, ServerLog.MessageType.ItemInteraction); + GameServer.Log(c.Character + " removed " + item.Name + " from " + Owner, ServerLog.MessageType.Inventory); } } } diff --git a/Subsurface/Source/Items/Item.cs b/Barotrauma/Source/Items/Item.cs similarity index 99% rename from Subsurface/Source/Items/Item.cs rename to Barotrauma/Source/Items/Item.cs index a6d46d672..26f502ddc 100644 --- a/Subsurface/Source/Items/Item.cs +++ b/Barotrauma/Source/Items/Item.cs @@ -408,15 +408,27 @@ namespace Barotrauma break; } } - + + //cache connections into a dictionary for faster lookups + var connectionPanel = GetComponent(); + if (connectionPanel != null) + { + connections = new Dictionary(); + foreach (Connection c in connectionPanel.Connections) + { + if (!connections.ContainsKey(c.Name)) + connections.Add(c.Name, c); + } + } + //containers need to handle collision events to notify items inside them about the impact - if (ImpactTolerance > 0.0f || GetComponent() != null) + var itemContainer = GetComponent(); + if (ImpactTolerance > 0.0f || itemContainer != null) { if (body != null) body.FarseerBody.OnCollision += OnCollision; } - var itemContainer = GetComponent(); - if (itemContainer!=null) + if (itemContainer != null) { ownInventory = itemContainer.Inventory; } @@ -1200,7 +1212,7 @@ namespace Barotrauma foreach (ItemComponent ic in components) { - ic.UpdateHUD(character); + if (ic.CanBeSelected) ic.UpdateHUD(character); } } @@ -2244,17 +2256,6 @@ namespace Barotrauma { ic.OnMapLoaded(); } - - //cache connections into a dictionary for faster lookups - var connectionPanel = GetComponent(); - connections = new Dictionary(); - - if (connectionPanel == null) return; - foreach (Connection c in connectionPanel.Connections) - { - if (!connections.ContainsKey(c.Name)) - connections.Add(c.Name, c); - } } diff --git a/Subsurface/Source/Items/ItemInventory.cs b/Barotrauma/Source/Items/ItemInventory.cs similarity index 100% rename from Subsurface/Source/Items/ItemInventory.cs rename to Barotrauma/Source/Items/ItemInventory.cs diff --git a/Subsurface/Source/Items/ItemPrefab.cs b/Barotrauma/Source/Items/ItemPrefab.cs similarity index 100% rename from Subsurface/Source/Items/ItemPrefab.cs rename to Barotrauma/Source/Items/ItemPrefab.cs diff --git a/Subsurface/Source/Items/RelatedItem.cs b/Barotrauma/Source/Items/RelatedItem.cs similarity index 100% rename from Subsurface/Source/Items/RelatedItem.cs rename to Barotrauma/Source/Items/RelatedItem.cs diff --git a/Subsurface/Source/Map/Entity.cs b/Barotrauma/Source/Map/Entity.cs similarity index 100% rename from Subsurface/Source/Map/Entity.cs rename to Barotrauma/Source/Map/Entity.cs diff --git a/Subsurface/Source/Map/EntityGrid.cs b/Barotrauma/Source/Map/EntityGrid.cs similarity index 100% rename from Subsurface/Source/Map/EntityGrid.cs rename to Barotrauma/Source/Map/EntityGrid.cs diff --git a/Subsurface/Source/Map/Explosion.cs b/Barotrauma/Source/Map/Explosion.cs similarity index 99% rename from Subsurface/Source/Map/Explosion.cs rename to Barotrauma/Source/Map/Explosion.cs index 2040e6d03..975dbd521 100644 --- a/Subsurface/Source/Map/Explosion.cs +++ b/Barotrauma/Source/Map/Explosion.cs @@ -93,7 +93,7 @@ namespace Barotrauma item.ApplyStatusEffects(ActionType.OnFire, 1.0f); - if (item.Condition <= 0.0f) + if (item.Condition <= 0.0f && GameMain.Server != null) { GameMain.Server.CreateEntityEvent(item, new object[] { NetEntityEvent.Type.ApplyStatusEffect, ActionType.OnFire }); } diff --git a/Subsurface/Source/Map/FireSource.cs b/Barotrauma/Source/Map/FireSource.cs similarity index 99% rename from Subsurface/Source/Map/FireSource.cs rename to Barotrauma/Source/Map/FireSource.cs index b15b307fd..977355bed 100644 --- a/Subsurface/Source/Map/FireSource.cs +++ b/Barotrauma/Source/Map/FireSource.cs @@ -280,7 +280,7 @@ namespace Barotrauma if (item.Position.Y < position.Y - size.Y || item.Position.Y > hull.Rect.Y) continue; item.ApplyStatusEffects(ActionType.OnFire, deltaTime); - if (item.Condition <= 0.0f) + if (item.Condition <= 0.0f && GameMain.Server != null) { GameMain.Server.CreateEntityEvent(item, new object[] { NetEntityEvent.Type.ApplyStatusEffect, ActionType.OnFire }); } diff --git a/Subsurface/Source/Map/Gap.cs b/Barotrauma/Source/Map/Gap.cs similarity index 99% rename from Subsurface/Source/Map/Gap.cs rename to Barotrauma/Source/Map/Gap.cs index 0724fae4e..f91af9527 100644 --- a/Subsurface/Source/Map/Gap.cs +++ b/Barotrauma/Source/Map/Gap.cs @@ -670,19 +670,27 @@ namespace Barotrauma return null; } - public override void Remove() + public override void ShallowRemove() { - base.Remove(); - + base.ShallowRemove(); GapList.Remove(this); foreach (Hull hull in Hull.hullList) { hull.ConnectedGaps.Remove(this); } - } + public override void Remove() + { + base.Remove(); + GapList.Remove(this); + + foreach (Hull hull in Hull.hullList) + { + hull.ConnectedGaps.Remove(this); + } + } public override void OnMapLoaded() { diff --git a/Subsurface/Source/Map/Hull.cs b/Barotrauma/Source/Map/Hull.cs similarity index 97% rename from Subsurface/Source/Map/Hull.cs rename to Barotrauma/Source/Map/Hull.cs index d2e30446a..e92b77ad6 100644 --- a/Subsurface/Source/Map/Hull.cs +++ b/Barotrauma/Source/Map/Hull.cs @@ -332,6 +332,39 @@ namespace Barotrauma Pressure = surface; } + public override void ShallowRemove() + { + base.Remove(); + hullList.Remove(this); + + if (Submarine == null || (!Submarine.Loading && !Submarine.Unloading)) + { + Item.UpdateHulls(); + Gap.UpdateHulls(); + } + + List fireSourcesToRemove = new List(fireSources); + foreach (FireSource fireSource in fireSourcesToRemove) + { + fireSource.Remove(); + } + fireSources.Clear(); + + if (soundIndex > -1) + { + Sounds.SoundManager.Stop(soundIndex); + soundIndex = -1; + } + + if (entityGrids != null) + { + foreach (EntityGrid entityGrid in entityGrids) + { + entityGrid.RemoveEntity(this); + } + } + } + public override void Remove() { base.Remove(); @@ -355,8 +388,7 @@ namespace Barotrauma Sounds.SoundManager.Stop(soundIndex); soundIndex = -1; } - - //renderer.Dispose(); + if (entityGrids != null) { foreach (EntityGrid entityGrid in entityGrids) diff --git a/Subsurface/Source/Map/IDamageable.cs b/Barotrauma/Source/Map/IDamageable.cs similarity index 100% rename from Subsurface/Source/Map/IDamageable.cs rename to Barotrauma/Source/Map/IDamageable.cs diff --git a/Subsurface/Source/Map/Levels/CaveGenerator.cs b/Barotrauma/Source/Map/Levels/CaveGenerator.cs similarity index 100% rename from Subsurface/Source/Map/Levels/CaveGenerator.cs rename to Barotrauma/Source/Map/Levels/CaveGenerator.cs diff --git a/Subsurface/Source/Map/Levels/Level.cs b/Barotrauma/Source/Map/Levels/Level.cs similarity index 100% rename from Subsurface/Source/Map/Levels/Level.cs rename to Barotrauma/Source/Map/Levels/Level.cs diff --git a/Subsurface/Source/Map/Levels/LevelGenerationParams.cs b/Barotrauma/Source/Map/Levels/LevelGenerationParams.cs similarity index 100% rename from Subsurface/Source/Map/Levels/LevelGenerationParams.cs rename to Barotrauma/Source/Map/Levels/LevelGenerationParams.cs diff --git a/Subsurface/Source/Map/Levels/LevelRenderer.cs b/Barotrauma/Source/Map/Levels/LevelRenderer.cs similarity index 100% rename from Subsurface/Source/Map/Levels/LevelRenderer.cs rename to Barotrauma/Source/Map/Levels/LevelRenderer.cs diff --git a/Subsurface/Source/Map/Levels/Ruins/BTRoom.cs b/Barotrauma/Source/Map/Levels/Ruins/BTRoom.cs similarity index 100% rename from Subsurface/Source/Map/Levels/Ruins/BTRoom.cs rename to Barotrauma/Source/Map/Levels/Ruins/BTRoom.cs diff --git a/Subsurface/Source/Map/Levels/Ruins/Corridor.cs b/Barotrauma/Source/Map/Levels/Ruins/Corridor.cs similarity index 100% rename from Subsurface/Source/Map/Levels/Ruins/Corridor.cs rename to Barotrauma/Source/Map/Levels/Ruins/Corridor.cs diff --git a/Subsurface/Source/Map/Levels/Ruins/RuinGenerator.cs b/Barotrauma/Source/Map/Levels/Ruins/RuinGenerator.cs similarity index 100% rename from Subsurface/Source/Map/Levels/Ruins/RuinGenerator.cs rename to Barotrauma/Source/Map/Levels/Ruins/RuinGenerator.cs diff --git a/Subsurface/Source/Map/Levels/Ruins/RuinStructure.cs b/Barotrauma/Source/Map/Levels/Ruins/RuinStructure.cs similarity index 100% rename from Subsurface/Source/Map/Levels/Ruins/RuinStructure.cs rename to Barotrauma/Source/Map/Levels/Ruins/RuinStructure.cs diff --git a/Subsurface/Source/Map/Levels/Voronoi.cs b/Barotrauma/Source/Map/Levels/Voronoi.cs similarity index 100% rename from Subsurface/Source/Map/Levels/Voronoi.cs rename to Barotrauma/Source/Map/Levels/Voronoi.cs diff --git a/Subsurface/Source/Map/Levels/VoronoiElements.cs b/Barotrauma/Source/Map/Levels/VoronoiElements.cs similarity index 100% rename from Subsurface/Source/Map/Levels/VoronoiElements.cs rename to Barotrauma/Source/Map/Levels/VoronoiElements.cs diff --git a/Subsurface/Source/Map/Levels/WaterRenderer.cs b/Barotrauma/Source/Map/Levels/WaterRenderer.cs similarity index 100% rename from Subsurface/Source/Map/Levels/WaterRenderer.cs rename to Barotrauma/Source/Map/Levels/WaterRenderer.cs diff --git a/Subsurface/Source/Map/Levels/WrappingWall.cs b/Barotrauma/Source/Map/Levels/WrappingWall.cs similarity index 100% rename from Subsurface/Source/Map/Levels/WrappingWall.cs rename to Barotrauma/Source/Map/Levels/WrappingWall.cs diff --git a/Subsurface/Source/Map/Lights/ConvexHull.cs b/Barotrauma/Source/Map/Lights/ConvexHull.cs similarity index 100% rename from Subsurface/Source/Map/Lights/ConvexHull.cs rename to Barotrauma/Source/Map/Lights/ConvexHull.cs diff --git a/Subsurface/Source/Map/Lights/LightManager.cs b/Barotrauma/Source/Map/Lights/LightManager.cs similarity index 100% rename from Subsurface/Source/Map/Lights/LightManager.cs rename to Barotrauma/Source/Map/Lights/LightManager.cs diff --git a/Subsurface/Source/Map/Lights/LightSource.cs b/Barotrauma/Source/Map/Lights/LightSource.cs similarity index 97% rename from Subsurface/Source/Map/Lights/LightSource.cs rename to Barotrauma/Source/Map/Lights/LightSource.cs index ef595d15e..e8bae993e 100644 --- a/Subsurface/Source/Map/Lights/LightSource.cs +++ b/Barotrauma/Source/Map/Lights/LightSource.cs @@ -19,8 +19,7 @@ namespace Barotrauma.Lights private Sprite overrideLightTexture; private Texture2D texture; - - public SpriteEffects SpriteEffect = SpriteEffects.None; + public Sprite LightSprite; public Submarine ParentSub; @@ -520,7 +519,7 @@ namespace Barotrauma.Lights drawPos.Y = -drawPos.Y; - if (range > 1.0f && false) + /*if (range > 1.0f) { if (overrideLightTexture == null) { @@ -534,15 +533,14 @@ namespace Barotrauma.Lights overrideLightTexture.Draw(spriteBatch, drawPos, color * (color.A / 255.0f), overrideLightTexture.Origin, -Rotation, - new Vector2(overrideLightTexture.size.X / overrideLightTexture.SourceRect.Width, overrideLightTexture.size.Y / overrideLightTexture.SourceRect.Height), - SpriteEffect); + new Vector2(overrideLightTexture.size.X / overrideLightTexture.SourceRect.Width, overrideLightTexture.size.Y / overrideLightTexture.SourceRect.Height)); } } if (LightSprite != null) { - //LightSprite.Draw(spriteBatch, drawPos, Color, LightSprite.Origin, -Rotation, 1, SpriteEffect); - } + LightSprite.Draw(spriteBatch, drawPos, Color, LightSprite.Origin, -Rotation, 1); + }*/ if (NeedsRecalculation) { @@ -575,9 +573,8 @@ namespace Barotrauma.Lights ); } - public void FlipX() + /*public void FlipX() { - SpriteEffect = SpriteEffect == SpriteEffects.None ? SpriteEffects.FlipHorizontally : SpriteEffects.None; if (LightSprite != null) { Vector2 lightOrigin = LightSprite.Origin; @@ -591,7 +588,7 @@ namespace Barotrauma.Lights lightOrigin.X = overrideLightTexture.SourceRect.Width - lightOrigin.X; overrideLightTexture.Origin = lightOrigin; } - } + }*/ public void Remove() { diff --git a/Subsurface/Source/Map/LinkedSubmarine.cs b/Barotrauma/Source/Map/LinkedSubmarine.cs similarity index 100% rename from Subsurface/Source/Map/LinkedSubmarine.cs rename to Barotrauma/Source/Map/LinkedSubmarine.cs diff --git a/Subsurface/Source/Map/Map/Location.cs b/Barotrauma/Source/Map/Map/Location.cs similarity index 100% rename from Subsurface/Source/Map/Map/Location.cs rename to Barotrauma/Source/Map/Map/Location.cs diff --git a/Subsurface/Source/Map/Map/LocationType.cs b/Barotrauma/Source/Map/Map/LocationType.cs similarity index 100% rename from Subsurface/Source/Map/Map/LocationType.cs rename to Barotrauma/Source/Map/Map/LocationType.cs diff --git a/Subsurface/Source/Map/Map/Map.cs b/Barotrauma/Source/Map/Map/Map.cs similarity index 100% rename from Subsurface/Source/Map/Map/Map.cs rename to Barotrauma/Source/Map/Map/Map.cs diff --git a/Subsurface/Source/Map/MapEntity.cs b/Barotrauma/Source/Map/MapEntity.cs similarity index 99% rename from Subsurface/Source/Map/MapEntity.cs rename to Barotrauma/Source/Map/MapEntity.cs index 35a834d5f..2727c4054 100644 --- a/Subsurface/Source/Map/MapEntity.cs +++ b/Barotrauma/Source/Map/MapEntity.cs @@ -382,8 +382,8 @@ namespace Barotrauma { item.Update(cam, deltaTime); } - - Entity.Spawner.Update(); + + Spawner?.Update(); } public virtual void Update(Camera cam, float deltaTime) { } diff --git a/Subsurface/Source/Map/MapEntityPrefab.cs b/Barotrauma/Source/Map/MapEntityPrefab.cs similarity index 100% rename from Subsurface/Source/Map/MapEntityPrefab.cs rename to Barotrauma/Source/Map/MapEntityPrefab.cs diff --git a/Subsurface/Source/Map/Md5Hash.cs b/Barotrauma/Source/Map/Md5Hash.cs similarity index 100% rename from Subsurface/Source/Map/Md5Hash.cs rename to Barotrauma/Source/Map/Md5Hash.cs diff --git a/Subsurface/Source/Map/Structure.cs b/Barotrauma/Source/Map/Structure.cs similarity index 97% rename from Subsurface/Source/Map/Structure.cs rename to Barotrauma/Source/Map/Structure.cs index 39eaa4e99..1ec5885a4 100644 --- a/Subsurface/Source/Map/Structure.cs +++ b/Barotrauma/Source/Map/Structure.cs @@ -452,7 +452,34 @@ namespace Barotrauma } } } - + + public override void ShallowRemove() + { + base.ShallowRemove(); + + if (WallList.Contains(this)) WallList.Remove(this); + + if (bodies != null) + { + foreach (Body b in bodies) + GameMain.World.RemoveBody(b); + } + + if (sections != null) + { + foreach (WallSection s in sections) + { + if (s.gap != null) + { + s.gap.Remove(); + s.gap = null; + } + } + } + + if (convexHulls != null) convexHulls.ForEach(x => x.Remove()); + } + public override void Remove() { base.Remove(); diff --git a/Subsurface/Source/Map/StructurePrefab.cs b/Barotrauma/Source/Map/StructurePrefab.cs similarity index 100% rename from Subsurface/Source/Map/StructurePrefab.cs rename to Barotrauma/Source/Map/StructurePrefab.cs diff --git a/Subsurface/Source/Map/Submarine.cs b/Barotrauma/Source/Map/Submarine.cs similarity index 98% rename from Subsurface/Source/Map/Submarine.cs rename to Barotrauma/Source/Map/Submarine.cs index ba24e6029..4e74bad2c 100644 --- a/Subsurface/Source/Map/Submarine.cs +++ b/Barotrauma/Source/Map/Submarine.cs @@ -1277,9 +1277,25 @@ namespace Barotrauma if (GameMain.GameScreen.Cam != null) GameMain.GameScreen.Cam.TargetPos = Vector2.Zero; - Entity.RemoveAll(); + RemoveAll(); - System.Diagnostics.Debug.Assert(Item.ItemList.Count == 0); + if (Item.ItemList.Count > 0) + { + List items = new List(Item.ItemList); + foreach (Item item in items) + { + DebugConsole.ThrowError("Error while unloading submarines - item \""+item.Name+"\" not removed"); + try + { + item.Remove(); + } + catch (Exception e) + { + DebugConsole.ThrowError("Error while removing \"" + item.Name + "\"!", e); + } + } + Item.ItemList.Clear(); + } PhysicsBody.list.Clear(); diff --git a/Subsurface/Source/Map/SubmarineBody.cs b/Barotrauma/Source/Map/SubmarineBody.cs similarity index 100% rename from Subsurface/Source/Map/SubmarineBody.cs rename to Barotrauma/Source/Map/SubmarineBody.cs diff --git a/Subsurface/Source/Map/TransitionCinematic.cs b/Barotrauma/Source/Map/TransitionCinematic.cs similarity index 100% rename from Subsurface/Source/Map/TransitionCinematic.cs rename to Barotrauma/Source/Map/TransitionCinematic.cs diff --git a/Subsurface/Source/Map/WayPoint.cs b/Barotrauma/Source/Map/WayPoint.cs similarity index 99% rename from Subsurface/Source/Map/WayPoint.cs rename to Barotrauma/Source/Map/WayPoint.cs index fcaf02b5c..8e7417812 100644 --- a/Subsurface/Source/Map/WayPoint.cs +++ b/Barotrauma/Source/Map/WayPoint.cs @@ -820,6 +820,13 @@ namespace Barotrauma } } + public override void ShallowRemove() + { + base.ShallowRemove(); + + WayPointList.Remove(this); + } + public override void Remove() { base.Remove(); diff --git a/Subsurface/Source/Networking/BanList.cs b/Barotrauma/Source/Networking/BanList.cs similarity index 100% rename from Subsurface/Source/Networking/BanList.cs rename to Barotrauma/Source/Networking/BanList.cs diff --git a/Subsurface/Source/Networking/ChatMessage.cs b/Barotrauma/Source/Networking/ChatMessage.cs similarity index 64% rename from Subsurface/Source/Networking/ChatMessage.cs rename to Barotrauma/Source/Networking/ChatMessage.cs index c2ef0099d..fd448eb22 100644 --- a/Subsurface/Source/Networking/ChatMessage.cs +++ b/Barotrauma/Source/Networking/ChatMessage.cs @@ -14,6 +14,8 @@ namespace Barotrauma.Networking { public const int MaxLength = 150; + public const int MaxMessagesPerPacket = 10; + public const float SpeakRange = 2000.0f; public static Color[] MessageColor = @@ -134,23 +136,92 @@ namespace Barotrauma.Networking msg.Write(Text); } - static public void ServerRead(NetIncomingMessage msg, Client c) + public static void ServerRead(NetIncomingMessage msg, Client c) { UInt16 ID = msg.ReadUInt16(); string txt = msg.ReadString(); + if (txt == null) txt = ""; + + if (!NetIdUtils.IdMoreRecent(ID, c.lastSentChatMsgID)) return; + + c.lastSentChatMsgID = ID; if (txt.Length > MaxLength) { txt = txt.Substring(0, MaxLength); } - if (NetIdUtils.IdMoreRecent(ID, c.lastSentChatMsgID)) + c.lastSentChatMessages.Add(txt); + if (c.lastSentChatMessages.Count > 10) { - //this chat message is new to the server - GameMain.Server.SendChatMessage(txt, null, c); - //GameMain.Server.AddChatMessage(txt, ChatMessageType.Default, c.name); - c.lastSentChatMsgID = ID; + c.lastSentChatMessages.RemoveRange(0, c.lastSentChatMessages.Count-10); } + + float similarity = 0.0f; + for (int i = 0; i < c.lastSentChatMessages.Count; i++) + { + float closeFactor = 1.0f / (c.lastSentChatMessages.Count - i); + int levenshteinDist = ToolBox.LevenshteinDistance(txt, c.lastSentChatMessages[i]); + similarity += Math.Max((txt.Length - levenshteinDist) / (float)txt.Length * closeFactor, 0.0f); + } + + if (similarity + c.ChatSpamSpeed > 5.0f) + { + c.ChatSpamCount++; + + if (c.ChatSpamCount > 3) + { + //kick for spamming too much + GameMain.Server.KickClient(c); + } + else + { + ChatMessage denyMsg = ChatMessage.Create("", "You have been blocked by the spam filter. Try again after 10 seconds.", ChatMessageType.Server, null); + c.ChatSpamTimer = 10.0f; + GameMain.Server.SendChatMessage(denyMsg, c); + } + return; + } + + c.ChatSpamSpeed += similarity + 0.5f; + + if (c.ChatSpamTimer > 0.0f) + { + ChatMessage denyMsg = ChatMessage.Create("", "You have been blocked by the spam filter. Try again after 10 seconds.", ChatMessageType.Server, null); + c.ChatSpamTimer = 10.0f; + GameMain.Server.SendChatMessage(denyMsg, c); + return; + } + + GameMain.Server.SendChatMessage(txt, null, c); + } + + public int EstimateLengthBytesClient() + { + int length = 1 + //(byte)ServerNetObject.CHAT_MESSAGE + 2 + //(UInt16)NetStateID + Encoding.UTF8.GetBytes(Text).Length + 2; + + return length; + } + + public int EstimateLengthBytesServer(Client c) + { + int length = 1 + //(byte)ServerNetObject.CHAT_MESSAGE + 2 + //(UInt16)NetStateID + 1 + //(byte)Type + Encoding.UTF8.GetBytes(Text).Length + 2; + + if (Sender != null && c.inGame) + { + length += 2; //sender ID (UInt16) + } + else if (SenderName != null) + { + length += Encoding.UTF8.GetBytes(SenderName).Length + 2; + } + + return length; } public void ServerWrite(NetOutgoingMessage msg, Client c) @@ -171,7 +242,7 @@ namespace Barotrauma.Networking } } - static public void ClientRead(NetIncomingMessage msg) + public static void ClientRead(NetIncomingMessage msg) { UInt16 ID = msg.ReadUInt16(); ChatMessageType type = (ChatMessageType)msg.ReadByte(); diff --git a/Subsurface/Source/Networking/Client.cs b/Barotrauma/Source/Networking/Client.cs similarity index 97% rename from Subsurface/Source/Networking/Client.cs rename to Barotrauma/Source/Networking/Client.cs index bec8eb339..dce365954 100644 --- a/Subsurface/Source/Networking/Client.cs +++ b/Barotrauma/Source/Networking/Client.cs @@ -39,6 +39,10 @@ namespace Barotrauma.Networking public List chatMsgQueue = new List(); public UInt16 lastChatMsgQueueID; + + + //latest chat messages sent by this client + public List lastSentChatMessages = new List(); public float ChatSpamSpeed; public float ChatSpamTimer; public int ChatSpamCount; diff --git a/Subsurface/Source/Networking/EntitySpawner.cs b/Barotrauma/Source/Networking/EntitySpawner.cs similarity index 100% rename from Subsurface/Source/Networking/EntitySpawner.cs rename to Barotrauma/Source/Networking/EntitySpawner.cs diff --git a/Subsurface/Source/Networking/FileTransfer/FileReceiver.cs b/Barotrauma/Source/Networking/FileTransfer/FileReceiver.cs similarity index 100% rename from Subsurface/Source/Networking/FileTransfer/FileReceiver.cs rename to Barotrauma/Source/Networking/FileTransfer/FileReceiver.cs diff --git a/Subsurface/Source/Networking/FileTransfer/FileSender.cs b/Barotrauma/Source/Networking/FileTransfer/FileSender.cs similarity index 100% rename from Subsurface/Source/Networking/FileTransfer/FileSender.cs rename to Barotrauma/Source/Networking/FileTransfer/FileSender.cs diff --git a/Subsurface/Source/Networking/GameClient.cs b/Barotrauma/Source/Networking/GameClient.cs similarity index 97% rename from Subsurface/Source/Networking/GameClient.cs rename to Barotrauma/Source/Networking/GameClient.cs index aed3daedb..121601014 100644 --- a/Subsurface/Source/Networking/GameClient.cs +++ b/Barotrauma/Source/Networking/GameClient.cs @@ -958,12 +958,22 @@ namespace Barotrauma.Networking outmsg.Write(ChatMessage.LastID); chatMsgQueue.RemoveAll(cMsg => !NetIdUtils.IdMoreRecent(cMsg.NetStateID, lastSentChatMsgID)); - - foreach (ChatMessage cMsg in chatMsgQueue) + for (int i = 0; i < chatMsgQueue.Count && i < ChatMessage.MaxMessagesPerPacket; i++) { - cMsg.ClientWrite(outmsg); + if (outmsg.LengthBytes + chatMsgQueue[i].EstimateLengthBytesClient() > client.Configuration.MaximumTransmissionUnit - 5) + { + //not enough room in this packet + return; + } + chatMsgQueue[i].ClientWrite(outmsg); } outmsg.Write((byte)ClientNetObject.END_OF_MESSAGE); + + if (outmsg.LengthBytes > client.Configuration.MaximumTransmissionUnit) + { + DebugConsole.ThrowError("Maximum packet size exceeded (" + outmsg.LengthBytes + " > " + client.Configuration.MaximumTransmissionUnit); + } + client.SendMessage(outmsg, NetDeliveryMethod.Unreliable); } @@ -977,21 +987,28 @@ namespace Barotrauma.Networking outmsg.Write(ChatMessage.LastID); outmsg.Write(entityEventManager.LastReceivedID); - chatMsgQueue.RemoveAll(cMsg => !NetIdUtils.IdMoreRecent(cMsg.NetStateID, lastSentChatMsgID)); - - foreach (ChatMessage cMsg in chatMsgQueue) - { - cMsg.ClientWrite(outmsg); - } - - if (Character.Controlled != null) - { - Character.Controlled.ClientWrite(outmsg); - } + Character.Controlled?.ClientWrite(outmsg); entityEventManager.Write(outmsg, client.ServerConnection); + chatMsgQueue.RemoveAll(cMsg => !NetIdUtils.IdMoreRecent(cMsg.NetStateID, lastSentChatMsgID)); + for (int i = 0; i < chatMsgQueue.Count && i < ChatMessage.MaxMessagesPerPacket; i++) + { + if (outmsg.LengthBytes + chatMsgQueue[i].EstimateLengthBytesClient() > client.Configuration.MaximumTransmissionUnit - 5) + { + //not enough room in this packet + return; + } + chatMsgQueue[i].ClientWrite(outmsg); + } + outmsg.Write((byte)ClientNetObject.END_OF_MESSAGE); + + if (outmsg.LengthBytes > client.Configuration.MaximumTransmissionUnit) + { + DebugConsole.ThrowError("Maximum packet size exceeded (" + outmsg.LengthBytes + " > " + client.Configuration.MaximumTransmissionUnit); + } + client.SendMessage(outmsg, NetDeliveryMethod.Unreliable); } @@ -1057,7 +1074,7 @@ namespace Barotrauma.Networking ((Submarine)c.UserData).MD5Hash.Hash == newSub.MD5Hash.Hash) as GUITextBlock; if (textBlock == null) continue; - textBlock.TextColor = Color.White; + textBlock.TextColor = new Color(textBlock.TextColor, 1.0f); textBlock.UserData = newSub; textBlock.ToolTip = newSub.Description; diff --git a/Subsurface/Source/Networking/GameServer.cs b/Barotrauma/Source/Networking/GameServer.cs similarity index 91% rename from Subsurface/Source/Networking/GameServer.cs rename to Barotrauma/Source/Networking/GameServer.cs index 667310552..766d5a11d 100644 --- a/Subsurface/Source/Networking/GameServer.cs +++ b/Barotrauma/Source/Networking/GameServer.cs @@ -1,5 +1,4 @@ - -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -33,6 +32,8 @@ namespace Barotrauma.Networking private DateTime sparseUpdateTimer; private DateTime refreshMasterTimer; + private DateTime roundStartTime; + private RestClient restClient; private bool masterServerResponded; private IRestResponse masterServerResponse; @@ -171,7 +172,7 @@ namespace Barotrauma.Networking fileSender = new FileSender(this); fileSender.OnEnded += FileTransferChanged; fileSender.OnStarted += FileTransferChanged; - + server.Start(); } catch (Exception e) @@ -254,7 +255,12 @@ namespace Barotrauma.Networking request.AddParameter("currplayers", connectedClients.Count); request.AddParameter("maxplayers", MaxPlayers); request.AddParameter("password", string.IsNullOrWhiteSpace(password) ? 0 : 1); - + request.AddParameter("version", GameMain.Version.ToString()); + if (GameMain.Config.SelectedContentPackage != null) + { + request.AddParameter("contentpackage", GameMain.Config.SelectedContentPackage.Name); + } + masterServerResponded = false; masterServerResponse = null; var restRequestHandle = restClient.ExecuteAsync(request, response => MasterServerCallBack(response)); @@ -395,9 +401,9 @@ namespace Barotrauma.Networking entityEventManager.Update(connectedClients); - bool isCrewDead = - connectedClients.Find(c => c.Character != null && !c.Character.IsDead)==null && - (myCharacter == null || myCharacter.IsDead); + bool isCrewDead = + connectedClients.All(c => c.Character == null || c.Character.IsDead || c.Character.IsUnconscious) && + (myCharacter == null || myCharacter.IsDead || myCharacter.IsUnconscious); //restart if all characters are dead or submarine is at the end of the level if ((autoRestart && isCrewDead) @@ -511,11 +517,10 @@ namespace Barotrauma.Networking catch (Exception e) { -#if DEBUG - DebugConsole.ThrowError("Failed to read incoming message", e); -#endif - - continue; + if (GameSettings.VerboseLogging) + { + DebugConsole.ThrowError("Failed to read an incoming message. {" + e + "}\n" + e.StackTrace); + } } } @@ -534,6 +539,14 @@ namespace Barotrauma.Networking } else { + //if 30 seconds have passed since the round started and the client isn't ingame yet, + //kill the clients character + if (gameStarted && c.Character != null && (DateTime.Now - roundStartTime).Seconds > 30.0f) + { + c.Character.Kill(CauseOfDeath.Disconnected); + c.Character = null; + } + ClientWriteLobby(c); } } @@ -652,8 +665,10 @@ namespace Barotrauma.Networking break; default: return; - //break; } + + //don't read further messages if the client has been disconnected (kicked due to spam for example) + if (!connectedClients.Contains(c)) break; } } @@ -711,28 +726,24 @@ namespace Barotrauma.Networking { c.lastRecvChatMsgID = lastRecvChatMsgID; } -#if DEBUG - else if (lastRecvChatMsgID != c.lastRecvChatMsgID) + else if (lastRecvChatMsgID != c.lastRecvChatMsgID && GameSettings.VerboseLogging) { DebugConsole.ThrowError( "Invalid lastRecvChatMsgID " + lastRecvChatMsgID + " (previous: " + c.lastChatMsgQueueID + ", latest: "+c.lastChatMsgQueueID+")"); } -#endif if (NetIdUtils.IdMoreRecent(lastRecvEntityEventID, c.lastRecvEntityEventID) && !NetIdUtils.IdMoreRecent(lastRecvEntityEventID, lastEntityEventID)) { c.lastRecvEntityEventID = lastRecvEntityEventID; } -#if DEBUG - else if (lastRecvEntityEventID != c.lastRecvEntityEventID) + else if (lastRecvEntityEventID != c.lastRecvEntityEventID && GameSettings.VerboseLogging) { DebugConsole.ThrowError( "Invalid lastRecvEntityEventID " + lastRecvEntityEventID + " (previous: " + c.lastRecvEntityEventID + ", latest: " + lastEntityEventID + ")"); } -#endif break; case ClientNetObject.CHAT_MESSAGE: ChatMessage.ServerRead(inc, c); @@ -752,6 +763,9 @@ namespace Barotrauma.Networking default: return; } + + //don't read further messages if the client has been disconnected (kicked due to spam for example) + if (!connectedClients.Contains(c)) break; } } @@ -844,15 +858,7 @@ namespace Barotrauma.Networking outmsg.Write((byte)ServerNetObject.SYNC_IDS); outmsg.Write(c.lastSentChatMsgID); //send this to client so they know which chat messages weren't received by the server outmsg.Write(c.lastSentEntityEventID); - - c.chatMsgQueue.RemoveAll(cMsg => !NetIdUtils.IdMoreRecent(cMsg.NetStateID, c.lastRecvChatMsgID)); - - int maxChatMsgsPerPacket = 50; - for (int i = 0; i < c.chatMsgQueue.Count && i < maxChatMsgsPerPacket; i++) - { - c.chatMsgQueue[i].ServerWrite(outmsg, c); - } - + //don't send position updates to characters who are still midround syncing //characters or items spawned mid-round don't necessarily exist at the client's end yet if (!c.NeedsMidRoundSync) @@ -895,13 +901,23 @@ namespace Barotrauma.Networking } entityEventManager.Write(c, outmsg); + + WriteChatMessages(outmsg, c); outmsg.Write((byte)ServerNetObject.END_OF_MESSAGE); + + if (outmsg.LengthBytes > config.MaximumTransmissionUnit) + { + DebugConsole.ThrowError("Maximum packet size exceeded (" + outmsg.LengthBytes + " > " + config.MaximumTransmissionUnit + ")"); + } + server.SendMessage(outmsg, c.Connection, NetDeliveryMethod.Unreliable); } private void ClientWriteLobby(Client c) { + bool isInitialUpdate = false; + NetOutgoingMessage outmsg = server.CreateMessage(); outmsg.Write((byte)ServerPacketHeader.UPDATE_LOBBY); @@ -919,6 +935,7 @@ namespace Barotrauma.Networking outmsg.Write(c.lastRecvGeneralUpdate < 1); if (c.lastRecvGeneralUpdate < 1) { + isInitialUpdate = true; ClientWriteInitial(c, outmsg); } outmsg.Write((GameMain.NetLobbyScreen.SubList.SelectedData as Submarine).Name); @@ -955,17 +972,48 @@ namespace Barotrauma.Networking outmsg.Write(false); outmsg.WritePadBits(); } - + outmsg.Write(c.lastSentChatMsgID); //send this to client so they know which chat messages weren't received by the server - - c.chatMsgQueue.RemoveAll(cMsg => !NetIdUtils.IdMoreRecent(cMsg.NetStateID, c.lastRecvChatMsgID)); - foreach (ChatMessage cMsg in c.chatMsgQueue) - { - cMsg.ServerWrite(outmsg, c); - } + + WriteChatMessages(outmsg, c); outmsg.Write((byte)ServerNetObject.END_OF_MESSAGE); - server.SendMessage(outmsg, c.Connection, NetDeliveryMethod.Unreliable); + + if (isInitialUpdate) + { + //the initial update may be very large if the host has a large number + //of submarine files, so the message may have to be fragmented + + //unreliable messages don't play nicely with fragmenting, so we'll send the message reliably + server.SendMessage(outmsg, c.Connection, NetDeliveryMethod.ReliableUnordered); + + //and assume the message was received, so we don't have to keep resending + //these large initial messages until the client acknowledges receiving them + c.lastRecvGeneralUpdate++; + } + else + { + if (outmsg.LengthBytes > config.MaximumTransmissionUnit) + { + DebugConsole.ThrowError("Maximum packet size exceeded (" + outmsg.LengthBytes + " > " + config.MaximumTransmissionUnit + ")"); + } + + server.SendMessage(outmsg, c.Connection, NetDeliveryMethod.Unreliable); + } + } + + private void WriteChatMessages(NetOutgoingMessage outmsg, Client c) + { + c.chatMsgQueue.RemoveAll(cMsg => !NetIdUtils.IdMoreRecent(cMsg.NetStateID, c.lastRecvChatMsgID)); + for (int i = 0; i < c.chatMsgQueue.Count && i < ChatMessage.MaxMessagesPerPacket; i++) + { + if (outmsg.LengthBytes + c.chatMsgQueue[i].EstimateLengthBytesServer(c) > config.MaximumTransmissionUnit - 5) + { + //not enough room in this packet + return; + } + c.chatMsgQueue[i].ServerWrite(outmsg, c); + } } public bool StartGameClicked(GUIButton button, object obj) @@ -1076,15 +1124,19 @@ namespace Barotrauma.Networking Rand.SetSyncedSeed(roundStartSeed); int teamCount = 1; - int hostTeam = 1; + byte hostTeam = 1; GameMain.GameSession = new GameSession(selectedSub, "", selectedMode, Mission.MissionTypes[GameMain.NetLobbyScreen.MissionTypeIndex]); - if (GameMain.GameSession.gameMode.Mission != null && - GameMain.GameSession.gameMode.Mission.AssignTeamIDs(connectedClients,out hostTeam)) + if (GameMain.GameSession.gameMode.Mission != null && + GameMain.GameSession.gameMode.Mission.AssignTeamIDs(connectedClients, out hostTeam)) { teamCount = 2; } + else + { + connectedClients.ForEach(c => c.TeamID = hostTeam); + } GameMain.GameSession.StartShift(GameMain.NetLobbyScreen.LevelSeed, teamCount > 1); @@ -1157,7 +1209,37 @@ namespace Barotrauma.Networking GameMain.GameSession.CrewManager.characters.Add(myCharacter); } } - + + + foreach (Submarine sub in Submarine.MainSubs) + { + if (sub == null) continue; + + WayPoint cargoSpawnPos = WayPoint.GetRandom(SpawnType.Cargo, null, sub); + + if (cargoSpawnPos?.CurrentHull == null) + { + DebugConsole.ThrowError("Couldn't spawn additional cargo (no cargo spawnpoint inside any of the hulls)"); + continue; + } + + var cargoRoom = cargoSpawnPos.CurrentHull; + Vector2 position = new Vector2( + cargoSpawnPos.Position.X, + cargoRoom.Rect.Y - cargoRoom.Rect.Height); + + foreach (string s in extraCargo.Keys) + { + ItemPrefab itemPrefab = MapEntityPrefab.list.Find(ip => ip.Name == s) as ItemPrefab; + if (itemPrefab == null) continue; + + for (int i = 0; i < extraCargo[s]; i++) + { + Entity.Spawner.AddToSpawnQueue(itemPrefab, position + new Vector2(Rand.Range(-20.0f, 20.0f), itemPrefab.Size.Y / 2), sub); + } + } + } + TraitorManager = null; if (TraitorsEnabled == YesNoMaybe.Yes || (TraitorsEnabled == YesNoMaybe.Maybe && Rand.Range(0.0f, 1.0f) < 0.5f)) @@ -1171,20 +1253,9 @@ namespace Barotrauma.Networking } SendStartMessage(roundStartSeed, Submarine.MainSub, GameMain.GameSession.gameMode.Preset, connectedClients); - //var startMessage = CreateStartMessage(roundStartSeed, Submarine.MainSub, GameMain.GameSession.gameMode.Preset); - //server.SendMessage(startMessage, connectedClients.Select(c => c.Connection).ToList(), NetDeliveryMethod.ReliableUnordered, 0); yield return CoroutineStatus.Running; - - //UpdateCrewFrame(); - - //TraitorManager = null; - //if (TraitorsEnabled == YesNoMaybe.Yes || - // (TraitorsEnabled == YesNoMaybe.Maybe && Rand.Range(0.0f, 1.0f) < 0.5f)) - //{ - // TraitorManager = new TraitorManager(this); - //} - + GameMain.GameScreen.Cam.TargetPos = Vector2.Zero; GameMain.GameScreen.Select(); @@ -1195,6 +1266,8 @@ namespace Barotrauma.Networking gameStarted = true; initiatedStartGame = false; + roundStartTime = DateTime.Now; + yield return CoroutineStatus.Success; } @@ -1432,7 +1505,17 @@ namespace Barotrauma.Networking if (c.Character == null || !c.inGame) continue; } } - + + public void SendChatMessage(ChatMessage msg, Client recipient) + { + msg.NetStateID = recipient.chatMsgQueue.Count > 0 ? + (ushort)(recipient.chatMsgQueue.Last().NetStateID + 1) : + (ushort)(recipient.lastRecvChatMsgID + 1); + + recipient.chatMsgQueue.Add(msg); + recipient.lastChatMsgQueueID = msg.NetStateID; + } + /// /// Add the message to the chatbox and pass it to all clients who can receive it /// @@ -1555,7 +1638,7 @@ namespace Barotrauma.Networking if (senderCharacter == null) return; //return if senderCharacter doesn't have a working radio - var radio = senderCharacter.Inventory.Items.First(i => i != null && i.GetComponent() != null); + var radio = senderCharacter.Inventory.Items.FirstOrDefault(i => i != null && i.GetComponent() != null); if (radio == null) return; senderRadio = radio.GetComponent(); @@ -1609,13 +1692,8 @@ namespace Barotrauma.Networking modifiedMessage, (ChatMessageType)type, senderCharacter); - - chatMsg.NetStateID = client.chatMsgQueue.Count > 0 ? - (ushort)(client.chatMsgQueue.Last().NetStateID + 1) : - (ushort)(client.lastRecvChatMsgID + 1); - client.chatMsgQueue.Add(chatMsg); - client.lastChatMsgQueueID = chatMsg.NetStateID; + SendChatMessage(chatMsg, client); } string myReceivedMessage = message; @@ -1646,11 +1724,11 @@ namespace Barotrauma.Networking case ChatMessageType.Radio: if (!receiver.IsDead) { - var receiverItem = receiver.Inventory.Items.First(i => i != null && i.GetComponent() != null); + var receiverItem = receiver.Inventory.Items.FirstOrDefault(i => i?.GetComponent() != null); //client doesn't have a radio -> don't send if (receiverItem == null) return ""; - var senderItem = sender.Inventory.Items.First(i => i != null && i.GetComponent() != null); + var senderItem = sender.Inventory.Items.FirstOrDefault(i => i?.GetComponent() != null); if (senderItem == null) return ""; var receiverRadio = receiverItem.GetComponent(); @@ -1866,6 +1944,37 @@ namespace Barotrauma.Networking return true; } + public void SetClientCharacter(Client client, Character newCharacter) + { + if (client == null) return; + + //the client's previous character is no longer a remote player + if (client.Character != null) + { + client.Character.IsRemotePlayer = false; + } + + if (newCharacter == null) + { + if (client.Character != null) //removing control of the current character + { + newCharacter.IsRemotePlayer = false; + CreateEntityEvent(client.Character, new object[] { NetEntityEvent.Type.Control, null }); + client.Character = null; + } + + } + else if (client.Character != newCharacter) //taking control of a new character + { + newCharacter.ResetNetState(); + newCharacter.LastNetworkUpdateID = client.Character.LastNetworkUpdateID; + + newCharacter.IsRemotePlayer = true; + client.Character = newCharacter; + CreateEntityEvent(newCharacter, new object[] { NetEntityEvent.Type.Control, client }); + } + } + private void UpdateCharacterInfo(NetIncomingMessage message, Client sender) { Gender gender = Gender.Male; @@ -1903,6 +2012,9 @@ namespace Barotrauma.Networking unassigned = new List(unassigned); int[] assignedClientCount = new int[JobPrefab.List.Count]; + + int teamID = 0; + if (unassigned.Count > 0) teamID = unassigned[0].TeamID; if (assignHost) { @@ -1915,7 +2027,7 @@ namespace Barotrauma.Networking assignedClientCount[JobPrefab.List.IndexOf(myCharacter.Info.Job.Prefab)] = 1; } } - else if (myCharacter != null && !myCharacter.IsDead) + else if (myCharacter != null && !myCharacter.IsDead && myCharacter.TeamID == teamID) { assignedClientCount[JobPrefab.List.IndexOf(myCharacter.Info.Job.Prefab)]++; } @@ -1923,7 +2035,7 @@ namespace Barotrauma.Networking //count the clients who already have characters with an assigned job foreach (Client c in connectedClients) { - if (unassigned.Contains(c)) continue; + if (c.TeamID != teamID || unassigned.Contains(c)) continue; if (c.Character != null && !c.Character.IsDead) { assignedClientCount[JobPrefab.List.IndexOf(c.Character.Info.Job.Prefab)]++; diff --git a/Subsurface/Source/Networking/GameServerLogin.cs b/Barotrauma/Source/Networking/GameServerLogin.cs similarity index 79% rename from Subsurface/Source/Networking/GameServerLogin.cs rename to Barotrauma/Source/Networking/GameServerLogin.cs index eca8a0ed7..9fde7eeaa 100644 --- a/Subsurface/Source/Networking/GameServerLogin.cs +++ b/Barotrauma/Source/Networking/GameServerLogin.cs @@ -104,6 +104,9 @@ namespace Barotrauma.Networking //disconnect and ban after too many failed attempts banList.BanPlayer("Unnamed", unauthClient.Connection.RemoteEndPoint.Address.ToString()); DisconnectUnauthClient(inc, unauthClient, "Too many failed login attempts. You have been automatically banned from the server."); + + Log(inc.SenderConnection.RemoteEndPoint.Address.ToString() + " has been banned from the server (too many wrong passwords)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(inc.SenderConnection.RemoteEndPoint.Address.ToString() + " has been banned from the server (too many wrong passwords)", Color.Red); return; } else @@ -112,6 +115,8 @@ namespace Barotrauma.Networking NetOutgoingMessage reject = server.CreateMessage(); reject.Write((byte)ServerPacketHeader.AUTH_FAILURE); reject.Write("Wrong password! You have "+Convert.ToString(4-unauthClient.failedAttempts)+" more attempts before you're banned from the server."); + Log(inc.SenderConnection.RemoteEndPoint.Address.ToString() + " failed to join the server (incorrect password)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(inc.SenderConnection.RemoteEndPoint.Address.ToString() + " failed to join the server (incorrect password)", Color.Red); server.SendMessage(reject, unauthClient.Connection, NetDeliveryMethod.Unreliable); unauthClient.AuthTimer = 10.0f; return; @@ -128,25 +133,30 @@ namespace Barotrauma.Networking DisconnectUnauthClient(inc, unauthClient, "You need a name."); Log(inc.SenderConnection.RemoteEndPoint.Address.ToString() + " couldn't join the server (no name given)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(inc.SenderConnection.RemoteEndPoint.Address.ToString() + " couldn't join the server (no name given)", Color.Red); return; } if (clVersion != GameMain.Version.ToString()) { DisconnectUnauthClient(inc, unauthClient, "Version " + GameMain.Version + " required to connect to the server (Your version: " + clVersion + ")"); - Log(clName + " couldn't join the server (wrong game version)", ServerLog.MessageType.Error); + + Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (wrong game version)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (wrong game version)", Color.Red); return; } if (clPackageName != GameMain.SelectedPackage.Name) { DisconnectUnauthClient(inc, unauthClient, "Your content package (" + clPackageName + ") doesn't match the server's version (" + GameMain.SelectedPackage.Name + ")"); - Log(clName + " couldn't join the server (wrong content package name)", ServerLog.MessageType.Error); + Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (wrong content package name)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (wrong content package name)", Color.Red); return; } if (clPackageHash != GameMain.SelectedPackage.MD5hash.Hash) { DisconnectUnauthClient(inc, unauthClient, "Your content package (MD5: " + clPackageHash + ") doesn't match the server's version (MD5: " + GameMain.SelectedPackage.MD5hash.Hash + ")"); - Log(clName + " couldn't join the server (wrong content package hash)", ServerLog.MessageType.Error); + Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (wrong content package hash)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (wrong content package hash)", Color.Red); return; } @@ -154,18 +164,21 @@ namespace Barotrauma.Networking { DisconnectUnauthClient(inc, unauthClient, "You're not in this server's whitelist."); Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (not in whitelist)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (not in whitelist)", Color.Red); return; } if (!Client.IsValidName(clName)) { DisconnectUnauthClient(inc, unauthClient, "Your name contains illegal symbols."); Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (invalid name)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (invalid name)", Color.Red); return; } if (clName.ToLower() == Name.ToLower()) { DisconnectUnauthClient(inc, unauthClient, "That name is taken."); Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (name taken by the server)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (name taken by the server)", Color.Red); return; } Client nameTaken = ConnectedClients.Find(c => c.name.ToLower() == clName.ToLower()); @@ -186,6 +199,7 @@ namespace Barotrauma.Networking //can't authorize this client DisconnectUnauthClient(inc, unauthClient, "That name is taken."); Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (name already taken)", ServerLog.MessageType.Error); + DebugConsole.NewMessage(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (name already taken)", Color.Red); return; } } @@ -199,7 +213,6 @@ namespace Barotrauma.Networking ConnectedClients.Add(newClient); GameMain.NetLobbyScreen.AddPlayer(newClient.name); - GameMain.Server.SendChatMessage(clName + " has joined the server.", ChatMessageType.Server, null); var savedPermissions = clientPermissions.Find(cp => cp.IP == newClient.Connection.RemoteEndPoint.Address.ToString()); @@ -212,7 +225,7 @@ namespace Barotrauma.Networking newClient.SetPermissions(ClientPermissions.None); } } - + private void DisconnectUnauthClient(NetIncomingMessage inc, UnauthenticatedClient unauthClient, string reason) { inc.SenderConnection.Disconnect(reason); diff --git a/Subsurface/Source/Networking/GameServerSettings.cs b/Barotrauma/Source/Networking/GameServerSettings.cs similarity index 100% rename from Subsurface/Source/Networking/GameServerSettings.cs rename to Barotrauma/Source/Networking/GameServerSettings.cs diff --git a/Subsurface/Source/Networking/INetSerializable.cs b/Barotrauma/Source/Networking/INetSerializable.cs similarity index 100% rename from Subsurface/Source/Networking/INetSerializable.cs rename to Barotrauma/Source/Networking/INetSerializable.cs diff --git a/Subsurface/Source/Networking/NetBufferExtensions.cs b/Barotrauma/Source/Networking/NetBufferExtensions.cs similarity index 100% rename from Subsurface/Source/Networking/NetBufferExtensions.cs rename to Barotrauma/Source/Networking/NetBufferExtensions.cs diff --git a/Subsurface/Source/Networking/NetConfig.cs b/Barotrauma/Source/Networking/NetConfig.cs similarity index 100% rename from Subsurface/Source/Networking/NetConfig.cs rename to Barotrauma/Source/Networking/NetConfig.cs diff --git a/Subsurface/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs b/Barotrauma/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs similarity index 76% rename from Subsurface/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs rename to Barotrauma/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs index ded8fc1e3..1153e0b1a 100644 --- a/Subsurface/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs +++ b/Barotrauma/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs @@ -112,12 +112,20 @@ namespace Barotrauma.Networking unreceivedEntityEventCount = msg.ReadUInt16(); firstNewID = msg.ReadUInt16(); - DebugConsole.NewMessage("received midround syncing msg, unreceived: "+unreceivedEntityEventCount+", first new ID: "+firstNewID, Microsoft.Xna.Framework.Color.Yellow); - + if (GameSettings.VerboseLogging) + { + DebugConsole.NewMessage( + "received midround syncing msg, unreceived: " + unreceivedEntityEventCount + + ", first new ID: " + firstNewID, Microsoft.Xna.Framework.Color.Yellow); + } } else if (firstNewID != null) { - DebugConsole.NewMessage("midround syncing complete, switching to ID "+ (UInt16)(firstNewID - 1), Microsoft.Xna.Framework.Color.Yellow); + if (GameSettings.VerboseLogging) + { + DebugConsole.NewMessage("midround syncing complete, switching to ID " + (UInt16) (firstNewID - 1), + Microsoft.Xna.Framework.Color.Yellow); + } lastReceivedID = (UInt16)(firstNewID - 1); firstNewID = null; @@ -133,8 +141,6 @@ namespace Barotrauma.Networking if (entityID == 0 && thisEventID == (UInt16)(lastReceivedID + 1)) { - DebugConsole.NewMessage("received empty event " + thisEventID, Microsoft.Xna.Framework.Color.Orange); - msg.ReadPadBits(); lastReceivedID++; continue; @@ -147,21 +153,33 @@ namespace Barotrauma.Networking //skip the event if we've already received it or if the entity isn't found if (thisEventID != (UInt16)(lastReceivedID + 1) || entity == null) { - if (thisEventID != (UInt16)(lastReceivedID + 1)) + if (GameSettings.VerboseLogging) { - DebugConsole.NewMessage("received msg " + thisEventID + " (waiting for "+ (lastReceivedID+1) + ")", thisEventID LinesPerFile) { - listBox.RemoveChild(listBox.children[0]); lines.Dequeue(); - } + } + + while (listBox != null && listBox.children.Count > LinesPerFile) + { + listBox.RemoveChild(listBox.children[0]); + } } public void CreateLogFrame() @@ -161,7 +168,7 @@ namespace Barotrauma.Networking if (listBox.BarScroll == 0.0f || listBox.BarScroll == 1.0f) listBox.BarScroll = 1.0f; GUIButton closeButton = new GUIButton(new Rectangle(-100, 10, 100, 15), "Close", Alignment.BottomRight, "", innerFrame); - closeButton.OnClicked = (GUIButton button, object userData) => + closeButton.OnClicked = (button, userData) => { LogFrame = null; return true; diff --git a/Subsurface/Source/Networking/Voting.cs b/Barotrauma/Source/Networking/Voting.cs similarity index 100% rename from Subsurface/Source/Networking/Voting.cs rename to Barotrauma/Source/Networking/Voting.cs diff --git a/Subsurface/Source/Networking/WhiteList.cs b/Barotrauma/Source/Networking/WhiteList.cs similarity index 100% rename from Subsurface/Source/Networking/WhiteList.cs rename to Barotrauma/Source/Networking/WhiteList.cs diff --git a/Subsurface/Source/Networking/disabled/FileStreamReceiver.cs b/Barotrauma/Source/Networking/disabled/FileStreamReceiver.cs similarity index 100% rename from Subsurface/Source/Networking/disabled/FileStreamReceiver.cs rename to Barotrauma/Source/Networking/disabled/FileStreamReceiver.cs diff --git a/Subsurface/Source/Networking/disabled/FileStreamSender.cs b/Barotrauma/Source/Networking/disabled/FileStreamSender.cs similarity index 100% rename from Subsurface/Source/Networking/disabled/FileStreamSender.cs rename to Barotrauma/Source/Networking/disabled/FileStreamSender.cs diff --git a/Subsurface/Source/Networking/disabled/NetworkEvent.cs b/Barotrauma/Source/Networking/disabled/NetworkEvent.cs similarity index 100% rename from Subsurface/Source/Networking/disabled/NetworkEvent.cs rename to Barotrauma/Source/Networking/disabled/NetworkEvent.cs diff --git a/Subsurface/Source/Networking/disabled/ReliableSender.cs b/Barotrauma/Source/Networking/disabled/ReliableSender.cs similarity index 100% rename from Subsurface/Source/Networking/disabled/ReliableSender.cs rename to Barotrauma/Source/Networking/disabled/ReliableSender.cs diff --git a/Subsurface/Source/Particles/Particle.cs b/Barotrauma/Source/Particles/Particle.cs similarity index 100% rename from Subsurface/Source/Particles/Particle.cs rename to Barotrauma/Source/Particles/Particle.cs diff --git a/Subsurface/Source/Particles/ParticleEmitter.cs b/Barotrauma/Source/Particles/ParticleEmitter.cs similarity index 100% rename from Subsurface/Source/Particles/ParticleEmitter.cs rename to Barotrauma/Source/Particles/ParticleEmitter.cs diff --git a/Subsurface/Source/Particles/ParticleManager.cs b/Barotrauma/Source/Particles/ParticleManager.cs similarity index 100% rename from Subsurface/Source/Particles/ParticleManager.cs rename to Barotrauma/Source/Particles/ParticleManager.cs diff --git a/Subsurface/Source/Particles/ParticlePrefab.cs b/Barotrauma/Source/Particles/ParticlePrefab.cs similarity index 100% rename from Subsurface/Source/Particles/ParticlePrefab.cs rename to Barotrauma/Source/Particles/ParticlePrefab.cs diff --git a/Subsurface/Source/Physics/Physics.cs b/Barotrauma/Source/Physics/Physics.cs similarity index 100% rename from Subsurface/Source/Physics/Physics.cs rename to Barotrauma/Source/Physics/Physics.cs diff --git a/Subsurface/Source/Physics/PhysicsBody.cs b/Barotrauma/Source/Physics/PhysicsBody.cs similarity index 100% rename from Subsurface/Source/Physics/PhysicsBody.cs rename to Barotrauma/Source/Physics/PhysicsBody.cs diff --git a/Subsurface/Source/PlayerInput.cs b/Barotrauma/Source/PlayerInput.cs similarity index 100% rename from Subsurface/Source/PlayerInput.cs rename to Barotrauma/Source/PlayerInput.cs diff --git a/Subsurface/Source/Program.cs b/Barotrauma/Source/Program.cs similarity index 100% rename from Subsurface/Source/Program.cs rename to Barotrauma/Source/Program.cs diff --git a/Subsurface/Source/Properties.cs b/Barotrauma/Source/Properties.cs similarity index 100% rename from Subsurface/Source/Properties.cs rename to Barotrauma/Source/Properties.cs diff --git a/Subsurface/Source/Screens/BlurEffect.cs b/Barotrauma/Source/Screens/BlurEffect.cs similarity index 100% rename from Subsurface/Source/Screens/BlurEffect.cs rename to Barotrauma/Source/Screens/BlurEffect.cs diff --git a/Subsurface/Source/Screens/EditCharacterScreen.cs b/Barotrauma/Source/Screens/EditCharacterScreen.cs similarity index 100% rename from Subsurface/Source/Screens/EditCharacterScreen.cs rename to Barotrauma/Source/Screens/EditCharacterScreen.cs diff --git a/Subsurface/Source/Screens/EditMapScreen.cs b/Barotrauma/Source/Screens/EditMapScreen.cs similarity index 100% rename from Subsurface/Source/Screens/EditMapScreen.cs rename to Barotrauma/Source/Screens/EditMapScreen.cs diff --git a/Subsurface/Source/Screens/GameScreen.cs b/Barotrauma/Source/Screens/GameScreen.cs similarity index 100% rename from Subsurface/Source/Screens/GameScreen.cs rename to Barotrauma/Source/Screens/GameScreen.cs diff --git a/Subsurface/Source/Screens/LobbyScreen.cs b/Barotrauma/Source/Screens/LobbyScreen.cs similarity index 100% rename from Subsurface/Source/Screens/LobbyScreen.cs rename to Barotrauma/Source/Screens/LobbyScreen.cs diff --git a/Subsurface/Source/Screens/MainMenuScreen.cs b/Barotrauma/Source/Screens/MainMenuScreen.cs similarity index 100% rename from Subsurface/Source/Screens/MainMenuScreen.cs rename to Barotrauma/Source/Screens/MainMenuScreen.cs diff --git a/Subsurface/Source/Screens/NetLobbyScreen.cs b/Barotrauma/Source/Screens/NetLobbyScreen.cs similarity index 98% rename from Subsurface/Source/Screens/NetLobbyScreen.cs rename to Barotrauma/Source/Screens/NetLobbyScreen.cs index 556de2f26..e4e8a2ad7 100644 --- a/Subsurface/Source/Screens/NetLobbyScreen.cs +++ b/Barotrauma/Source/Screens/NetLobbyScreen.cs @@ -540,10 +540,16 @@ namespace Barotrauma int i = 1; - foreach (JobPrefab job in JobPrefab.List) + foreach (string jobName in GameMain.Config.JobNamePreferences) { - GUITextBlock jobText = new GUITextBlock(new Rectangle(0, 0, 0, 20), i + ". " + job.Name+" ", - "",Alignment.Left, Alignment.Right, jobList, false, + JobPrefab job = JobPrefab.List.Find(x => x.Name == jobName); + if (job == null) + { + continue; + } + + GUITextBlock jobText = new GUITextBlock(new Rectangle(0, 0, 0, 20), i + ". " + job.Name + " ", + "", Alignment.Left, Alignment.Right, jobList, false, GameMain.GraphicsWidth<1000 ? GUI.SmallFont : GUI.Font); jobText.UserData = job; @@ -732,19 +738,19 @@ namespace Barotrauma if (matchingSub == null) { - subTextBlock.TextColor = Color.Gray; + subTextBlock.TextColor = new Color(subTextBlock.TextColor, 0.5f); subTextBlock.ToolTip = "Submarine not found in your submarine folder"; } else if (matchingSub.MD5Hash.Hash != sub.MD5Hash.Hash) { - subTextBlock.TextColor = Color.LightGray; + subTextBlock.TextColor = new Color(subTextBlock.TextColor, 0.5f); subTextBlock.ToolTip = "Your version of the submarine doesn't match the servers version"; } else { if (subList == shuttleList || subList == shuttleList.ListBox) { - subTextBlock.TextColor = sub.HasTag(SubmarineTag.Shuttle) ? Color.White : Color.DarkGray; + subTextBlock.TextColor = new Color(subTextBlock.TextColor, sub.HasTag(SubmarineTag.Shuttle) ? 1.0f : 0.6f); } } @@ -1199,6 +1205,8 @@ namespace Barotrauma private void UpdateJobPreferences(GUIListBox listBox) { listBox.Deselect(); + List jobNamePreferences = new List(); + for (int i = 0; i < listBox.children.Count; i++) { float a = (float)(i - 1) / 3.0f; @@ -1210,8 +1218,11 @@ namespace Barotrauma listBox.children[i].SelectedColor = color; (listBox.children[i] as GUITextBlock).Text = (i+1) + ". " + (listBox.children[i].UserData as JobPrefab).Name; + + jobNamePreferences.Add((listBox.children[i].UserData as JobPrefab).Name); } - + + GameMain.Config.JobNamePreferences = jobNamePreferences; } public bool TrySelectSub(string subName, string md5Hash, GUIListBox subList) diff --git a/Subsurface/Source/Screens/Screen.cs b/Barotrauma/Source/Screens/Screen.cs similarity index 100% rename from Subsurface/Source/Screens/Screen.cs rename to Barotrauma/Source/Screens/Screen.cs diff --git a/Subsurface/Source/Screens/ServerListScreen.cs b/Barotrauma/Source/Screens/ServerListScreen.cs similarity index 100% rename from Subsurface/Source/Screens/ServerListScreen.cs rename to Barotrauma/Source/Screens/ServerListScreen.cs diff --git a/Subsurface/Source/Screens/sygwkgy0.iv5 b/Barotrauma/Source/Screens/sygwkgy0.iv5 similarity index 100% rename from Subsurface/Source/Screens/sygwkgy0.iv5 rename to Barotrauma/Source/Screens/sygwkgy0.iv5 diff --git a/Subsurface/Source/Sounds/OggSound.cs b/Barotrauma/Source/Sounds/OggSound.cs similarity index 100% rename from Subsurface/Source/Sounds/OggSound.cs rename to Barotrauma/Source/Sounds/OggSound.cs diff --git a/Subsurface/Source/Sounds/OggStream.cs b/Barotrauma/Source/Sounds/OggStream.cs similarity index 100% rename from Subsurface/Source/Sounds/OggStream.cs rename to Barotrauma/Source/Sounds/OggStream.cs diff --git a/Subsurface/Source/Sounds/Sound.cs b/Barotrauma/Source/Sounds/Sound.cs similarity index 100% rename from Subsurface/Source/Sounds/Sound.cs rename to Barotrauma/Source/Sounds/Sound.cs diff --git a/Subsurface/Source/Sounds/SoundManager.cs b/Barotrauma/Source/Sounds/SoundManager.cs similarity index 100% rename from Subsurface/Source/Sounds/SoundManager.cs rename to Barotrauma/Source/Sounds/SoundManager.cs diff --git a/Subsurface/Source/Sounds/SoundPlayer.cs b/Barotrauma/Source/Sounds/SoundPlayer.cs similarity index 100% rename from Subsurface/Source/Sounds/SoundPlayer.cs rename to Barotrauma/Source/Sounds/SoundPlayer.cs diff --git a/Subsurface/Source/Sprite.cs b/Barotrauma/Source/Sprite.cs similarity index 100% rename from Subsurface/Source/Sprite.cs rename to Barotrauma/Source/Sprite.cs diff --git a/Subsurface/Source/SpriteSheet.cs b/Barotrauma/Source/SpriteSheet.cs similarity index 100% rename from Subsurface/Source/SpriteSheet.cs rename to Barotrauma/Source/SpriteSheet.cs diff --git a/Subsurface/Source/Timing.cs b/Barotrauma/Source/Timing.cs similarity index 100% rename from Subsurface/Source/Timing.cs rename to Barotrauma/Source/Timing.cs diff --git a/Subsurface/Source/Utils/Homoglyphs.cs b/Barotrauma/Source/Utils/Homoglyphs.cs similarity index 100% rename from Subsurface/Source/Utils/Homoglyphs.cs rename to Barotrauma/Source/Utils/Homoglyphs.cs diff --git a/Subsurface/Source/Utils/MTRandom.cs b/Barotrauma/Source/Utils/MTRandom.cs similarity index 100% rename from Subsurface/Source/Utils/MTRandom.cs rename to Barotrauma/Source/Utils/MTRandom.cs diff --git a/Subsurface/Source/Utils/MathUtils.cs b/Barotrauma/Source/Utils/MathUtils.cs similarity index 100% rename from Subsurface/Source/Utils/MathUtils.cs rename to Barotrauma/Source/Utils/MathUtils.cs diff --git a/Subsurface/Source/Utils/Rand.cs b/Barotrauma/Source/Utils/Rand.cs similarity index 100% rename from Subsurface/Source/Utils/Rand.cs rename to Barotrauma/Source/Utils/Rand.cs diff --git a/Subsurface/Source/Utils/SaveUtil.cs b/Barotrauma/Source/Utils/SaveUtil.cs similarity index 100% rename from Subsurface/Source/Utils/SaveUtil.cs rename to Barotrauma/Source/Utils/SaveUtil.cs diff --git a/Subsurface/Source/Utils/TextureLoader.cs b/Barotrauma/Source/Utils/TextureLoader.cs similarity index 100% rename from Subsurface/Source/Utils/TextureLoader.cs rename to Barotrauma/Source/Utils/TextureLoader.cs diff --git a/Subsurface/Source/Utils/ToolBox.cs b/Barotrauma/Source/Utils/ToolBox.cs similarity index 100% rename from Subsurface/Source/Utils/ToolBox.cs rename to Barotrauma/Source/Utils/ToolBox.cs diff --git a/Subsurface/Source/Utils/UpdaterUtil.cs b/Barotrauma/Source/Utils/UpdaterUtil.cs similarity index 100% rename from Subsurface/Source/Utils/UpdaterUtil.cs rename to Barotrauma/Source/Utils/UpdaterUtil.cs diff --git a/Subsurface/Submarines/Aegir Mark III.sub b/Barotrauma/Submarines/Aegir Mark III.sub similarity index 100% rename from Subsurface/Submarines/Aegir Mark III.sub rename to Barotrauma/Submarines/Aegir Mark III.sub diff --git a/Subsurface/Submarines/Nehalennia.sub b/Barotrauma/Submarines/Nehalennia.sub similarity index 100% rename from Subsurface/Submarines/Nehalennia.sub rename to Barotrauma/Submarines/Nehalennia.sub diff --git a/Subsurface/Submarines/The Blind Carp.sub b/Barotrauma/Submarines/The Blind Carp.sub similarity index 100% rename from Subsurface/Submarines/The Blind Carp.sub rename to Barotrauma/Submarines/The Blind Carp.sub diff --git a/Subsurface/Submarines/The Nibbler.sub b/Barotrauma/Submarines/The Nibbler.sub similarity index 100% rename from Subsurface/Submarines/The Nibbler.sub rename to Barotrauma/Submarines/The Nibbler.sub diff --git a/Subsurface/Submarines/TutorialSub.sub b/Barotrauma/Submarines/TutorialSub.sub similarity index 100% rename from Subsurface/Submarines/TutorialSub.sub rename to Barotrauma/Submarines/TutorialSub.sub diff --git a/Subsurface/Submarines/Vellamo.sub b/Barotrauma/Submarines/Vellamo.sub similarity index 100% rename from Subsurface/Submarines/Vellamo.sub rename to Barotrauma/Submarines/Vellamo.sub diff --git a/Subsurface/changelog.txt b/Barotrauma/changelog.txt similarity index 96% rename from Subsurface/changelog.txt rename to Barotrauma/changelog.txt index c8a300e7d..f7b0e5df7 100644 --- a/Subsurface/changelog.txt +++ b/Barotrauma/changelog.txt @@ -1,3 +1,35 @@ +--------------------------------------------------------------------------------------------------------- +v0.6.0.2 +--------------------------------------------------------------------------------------------------------- + +- Fixed "maximum packet size exceeded" errors when clients join servers. +- Fixed a bug that caused non-interactable checkboxes to always appear unchecked. +- Skill level syncing fix: the syncing isn't dependent on the order of the characters skills anymore. +- IP addresses are included in all login error messages and the errors are also logged to the debug console. +- Servers end rounds if all players are either dead or unconscious when autorestart is on (instead of +waiting for all players to die) +- Fixed nuclear shells and depth charges exploding immediately when launched. +- Fixed a bug that prevented any broken items from being repaired in the single player. +- Fixed items disappearing from inside copypasted items (e.g. cabinets). +- Added character teleporting console command. + +--------------------------------------------------------------------------------------------------------- +v0.6.0.1 +--------------------------------------------------------------------------------------------------------- + +- Readded spam filter. +- Servers log the automatic temperature control setting of nuclear reactors. +- If a client fails to start a round (due to a missing sub file or an error, for example), their character +is automatically killed. This prevents situations where a team can't win a combat mission due to a +disabled, invisible character in the opposing team. +- Fixed clients occasionally displaying the "crew has been defeated" message immediately after a combat +mission starts. +- Fixed a bunch of bugs in the job assignment logic. +- Fixed errors if attempting to send radio messages without a radio in the inventory. +- Fixed "component doesn't have a GUIFrame component" errors when selecting an artifact holder. +- Disabled unnecessary server-side message ID logging. +- Option to enable additional network debug logging by enabling verbose logging in config.xml. + --------------------------------------------------------------------------------------------------------- v0.6.0.0 --------------------------------------------------------------------------------------------------------- @@ -28,6 +60,7 @@ Items: - texts in labels can be resized - alien weapons can be used as railgun ammo - nerfed oxygen and welding fuel tank explosions + - buttons created in fabricators work now Submarine editor: - items/structures that have been copy-pasted from another submarine don't disappear when saving and @@ -37,6 +70,7 @@ Submarine editor: - "are you sure" prompt when trying to delete subs - open menus are closed when opening another one (e.g. the save dialog box is automatically closed if the item selection menu is opened) + - fixed crashes when switching to character or wiring mode after copypasting waypoints Misc: - background ice formations with a parallax effect @@ -46,10 +80,10 @@ Misc: - explosion damage is reduced if there are walls or other solid obstacles between and explosion and a character - heal and revive commands can also be used on other characters than the controlled one - fixed fires occasionally causing incorrect sound clips to loop continuously + - AI controlled crew members are better at avoiding hazards such as water and fire - swimming animation fix: characters don't swim with their legs extended up over their shoulders after a sharp turn - --------------------------------------------------------------------------------------------------------- v0.5.4.5 --------------------------------------------------------------------------------------------------------- diff --git a/Subsurface/config.xml b/Barotrauma/config.xml similarity index 65% rename from Subsurface/config.xml rename to Barotrauma/config.xml index b59175f88..131fbcafc 100644 --- a/Subsurface/config.xml +++ b/Barotrauma/config.xml @@ -3,4 +3,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Subsurface/freetype6.dll b/Barotrauma/freetype6.dll similarity index 100% rename from Subsurface/freetype6.dll rename to Barotrauma/freetype6.dll diff --git a/Subsurface/packages.config b/Barotrauma/packages.config similarity index 100% rename from Subsurface/packages.config rename to Barotrauma/packages.config diff --git a/Subsurface/readme.txt b/Barotrauma/readme.txt similarity index 97% rename from Subsurface/readme.txt rename to Barotrauma/readme.txt index dfda77b12..8caf4a01a 100644 --- a/Subsurface/readme.txt +++ b/Barotrauma/readme.txt @@ -1,7 +1,7 @@ BAROTRAUMA -www.undertowgames.com/subsurface -Copyright © Undertow Games 2016 +www.undertowgames.com/barotrauma +Copyright © Undertow Games 2017 Default controls: WASD - move diff --git a/Subsurface/wrap_oal.dll b/Barotrauma/wrap_oal.dll similarity index 100% rename from Subsurface/wrap_oal.dll rename to Barotrauma/wrap_oal.dll diff --git a/Subsurface_Solution.sln b/Barotrauma_Solution.sln similarity index 99% rename from Subsurface_Solution.sln rename to Barotrauma_Solution.sln index 33d7b3913..4bf948c25 100644 --- a/Subsurface_Solution.sln +++ b/Barotrauma_Solution.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Barotrauma", "Subsurface\Barotrauma.csproj", "{008C0F83-E914-4966-9135-EA885059EDD8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Barotrauma", "Barotrauma\Barotrauma.csproj", "{008C0F83-E914-4966-9135-EA885059EDD8}" ProjectSection(ProjectDependencies) = postProject {C293DB32-FA42-486D-B128-5A12522FAE4E} = {C293DB32-FA42-486D-B128-5A12522FAE4E} EndProjectSection diff --git a/EULA.txt b/EULA.txt new file mode 100644 index 000000000..9b4e6120b --- /dev/null +++ b/EULA.txt @@ -0,0 +1,119 @@ +Human-readable version (does not replace the official EULA) + +Barotrauma is not to be mistaken for free software or open source in +a free-software activist understanding. Undertow Games retains the +copyright to the source code and art assets and you are allowed to +use them under the following conditions. + +The source code, modifications or derivative works can be distributed +only if they are intended to be used as a mod for Barotrauma. You are +not allowed to create a standalone application, or use the code for +commercial purposes or in your own projects. You are not allowed to +remove or bypass Steam integration, SteamID authentication or any +other DRM measures from the code. + +By making a pull request on Barotrauma's git repository, you are +stating that you're author of these changes or have rights to the +changes you've made and agree to give Undertow Games permission to +use, copy, modify, adapt, distribute, and publicly display that +content, for free or as part of a commercial arrangement. + +The origin of this software must not be misrepresented; you must not +claim that you are the author of the original software. Derivative +works must be plainly marked as such, and must not be misrepresented +as being the original software. + +Undertow Games reserves the right to change this license at any time +with or without notice, with immediate and/or retroactive effect. + +If there's anything you don't understand or consider confusing, +please email us your questions or suggestions: contact@undertowgames.com + +Tl;dr: the code is intended for developing mods for Barotrauma. + +OFFICIAL EULA: + +This is a legal agreement between you and Undertow Games. (“Undertow Games” “we” “us” “our”) for computer software, the data supplied with the software, and the associated media (Software) and online documents (Documents) that are necessary for the operation of the following game/s: +- Barotrauma (a Game/the Games) + +BY PURCHASING, DOWNLOADING, ACCESSING, OR USING THE GAME SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS AGREEMENT. + +1. GRANT AND SCOPE OF LICENCE + +1.1. We hereby grant to you a non-exclusive, non-transferable licence to use the Software and the Documents for your personal, non-commercial use (except where commercial use has been expressly permitted by us) on the terms of this Licence. +1.2. You may: + 1.2.1. Download, install and use the Software for your personal purposes only and only for the purpose of the operation of the Game/s; + 1.2.2. Provided you comply with the provisions in condition 2, copy the Software for back-up purposes only; + 1.2.3. Receive and use any free supplementary software code or update of the Software as may be provided by us from time to time; and + 1.2.4. Use any Documents in support of the use permitted under condition. +1.3. The Software may include access to various third party/Licensor tools that can be used to create content within a Game, edit the content of a Game and generally make modifications to the Software (Development Tools). +1.4. The Software is made available to you on an “open source” basis and therefore you may use the Development Tools to modify the Software and you may use, reproduce, publish, perform, display and distribute any modified Software you create in source or object form (subject to clauses 1.5 and 1.6 below) but solely on a non-commercial basis (except where commercial use has been expressly permitted by us) and solely in relation to the Game/s. +1.5. You must not misrepresent modified Software as the original Software and you agree to use all reasonable endeavours to credit us as the owners of the Software and modified Software as part of any modified Software created and distributed by you. Without prejudice to the generality of the foregoing, you must ensure all modified Software carries a prominent notice stating that you have modified the Software. +1.6. YOU UNCONDITIONALLY UNDERTAKE NOT TO SELL, LOAN, LEASE OR SUB-LICENCE MODIFIED SOFTWARE TO ANY THIRD PARTY USER AND YOU UNDERTAKE NOT TO TRANSFER TO, SHARE WITH OR IN ANY WAY DISTRIBUTE MODIFIED SOFTWARE TO ANY THIRD PARTY USER WHO HAS NOT ALREADY LICENSED THE SOFTWARE FROM US AND WHO IS NOT ALREADY AGREEED TO THE TERMS OF THIS LICENCE. +1.7. Without prejudice to clause 3.2 of this Licence, you grant to us a non-exclusive, irrevocable right to use, reproduce, modify, create derivative works from, distribute, transmit, broadcast or otherwise communicate your modified Software in connection with the promotion and operation of a Game. +1.8. If you distribute or otherwise make available your modifications or derivate works of the source code or/and art assets (hereinafter " New Work") , you automatically grant to UNDERTOW GAMES the irrevocable, perpetual, royalty free, sublicensable right and license under all applicable copyrights and intellectual property rights laws to use, reproduce, modify, adapt, perform, display, distribute and otherwise exploit and/or dispose of the New Work (or any part of the New Work) in any way UNDERTOW GAMES, or its respective designee(s), sees fit. You also waive and agree never to assert against UNDERTOW GAMES or its affiliates, distributors or licensors any moral rights or similar rights, however designated, that you may have in or to any of the New Work. + +2. RESTRICTIONS + +2.1. Except as otherwise permitted in this agreement, you may not use the Software or Documents or any modified Software for any purpose other than in relation to the operation of a Game. +2.2. Except as expressly set out in this Licence or as permitted by any local law, you undertake: + 2.2.1. not to copy the Software or Documents except where such copying is incidental to normal use of the Software, or where it is necessary for the purpose of back-up or operational security; + 2.2.2. not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the Software or Documents; + 2.2.3. not to make alterations to, or modifications of, the whole or any part of the Software, nor permit the Software or any part of it to be combined with, or become incorporated in, any other programs; + 2.2.4. not to disassemble, decompile, reverse-engineer or create derivative works based on the whole or any part of the Software nor attempt to do any such thing except to the extent that (by virtue of section 296A of the Copyright, Designs and Patents Act 1988) such actions cannot be prohibited because they are essential for the purpose of achieving inter-operability of the Software with another software program, and provided that the information obtained by you during such activities: + 2.2.4.1. is used only for the purpose of achieving inter-operability of the Software with another software programs; and + 2.2.4.2. is not disclosed or communicated without our prior written consent to any third party; and + 2.2.4.3. is not used to create any software which is substantially similar to the Software; + 2.2.5. to keep all copies of the Software secure and to maintain accurate and up-to-date records of the number and locations of all copies of the Software; + 2.2.6. to include our copyright notice on all entire and partial copies and modifications you make of the Software on any medium; + +3. INTELLECTUAL PROPERTY RIGHTS + +3.1. You acknowledge that all intellectual property rights in the Software and the Documents anywhere in the world belong to us, that rights in the Software are licensed (not sold) to you, and that you have no rights in, or to, the Software or the Documents other than the right to use them in accordance with the terms of this Licence. +3.2. You acknowledge that all intellectual property rights in any modified Software created by you belong to us and we shall have the exclusive right to deal with and restrict the dealing with any modified Software at our sole discretion. +3.3. You must retain, in the source form of any modified Software that you distribute, all copyright, patent, and trade mark notices from the source form of the original Software. +3.4. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the original software. +3.5. You acknowledge that in agreeing to the terms of this Licence, you relinquish your legal rights, including your right to bring legal proceedings, in respect of any part of the Software in which you claim to own intellectual property rights. + +4. LIMITATION OF LIABILITY + +4.1. You acknowledge that the Software has not been developed to meet your individual requirements, and that it is therefore your responsibility to ensure that the facilities and functions of the Software meet your requirements. +4.2. If you are a consumer, we only supply the Software and Documents for domestic and private use. You agree not to use the Software and Documents for any commercial, business or re-sale purposes, and we have no liability to you for any loss of profit, loss of business, business interruption, or loss of business opportunity. +4.3. If you are a business customer (such as an educational establishment), we only supply the Software and the Documents for internal use by your business, and you agree not to use the Software or Documents for any re-sale purposes. +4.4. You acknowledge that the Software may not be free of bugs or errors, and agree that the existence of minor errors shall not constitute a breach of this Licence. +4.5. We do not offer any warranty or guarantee in respect of the operation of your Steam Account and we shall have no liability to you resulting from the operation of your Steam account and the effect that has on the Software +4.6. We shall have no liability under or in connection with this Licence whether in contract, tort (including negligence), breach of statutory duty or otherwise This does not apply to the types of loss set out in condition 4.7. +4.7. Nothing in this Licence shall limit or exclude our liability for: + 4.7.1. death or personal injury resulting from our negligence; + 4.7.2. fraud or fraudulent misrepresentation; or + 4.7.3. any other liability that cannot be excluded or limited by Finnish law. +4.8. This Licence sets out the full extent of our obligations and liabilities in respect of the supply of the Software and Documents. Except as expressly stated in this Licence, there are no conditions, warranties, representations or other terms, express or implied, that are binding on us. Any condition, warranty, representation or other term concerning the supply of the Software and Documents which might otherwise be implied into, or incorporated in, this Licence whether by statute, common law or otherwise, is excluded to the fullest extent permitted by law. + +5. TERMINATION + +5.1. We may terminate this Licence immediately by written notice to you if you commit a material or persistent breach of this Licence which you fail to remedy (if remediable) within 14 days after the service of written notice requiring you to do so. +5.2. Upon termination for any reason: + 5.2.1. all rights granted to you under this Licence shall cease; + 5.2.2. you must immediately cease all activities authorised by this Licence; + 5.2.3. you must immediately delete or remove the Software from all computer equipment in your possession, and immediately destroy or return to us (at our option) all copies of the Software and Documents then in your possession, custody or control and, in the case of destruction, certify to us that you have done so. + +6. COMMUNICATIONS BETWEEN US + +6.1. If you wish to contact us in writing, or if any condition in this Licence requires you to give us notice in writing, you can send this to us by e-mail to contact@undertowgames.com) or by pre-paid post to Undertow Games, Pormestarinkatu 4 H 70, 20750 Turku, Finland. We will confirm receipt of this by contacting you in writing, normally by e-mail. +6.2. If we have to contact you or give you notice in writing, we will do so by e-mail or by pre-paid post to the address you provide to us in your order for the Software. + +7. EVENTS OUTSIDE OUR CONTROL + +7.1. We will not be liable or responsible for any failure to perform, or delay in performance of, any of our obligations under this Licence that is caused by an Event Outside Our Control. An Event Outside Our Control is defined below in condition 7.2. +7.2. An Event Outside Our Control means any act or event beyond our reasonable control, including without limitation failure of public or private telecommunications networks. +7.3. If an Event Outside Our Control takes place that affects the performance of our obligations under this Licence: + 7.3.1. our obligations under this Licence will be suspended and the time for performance of our obligations will be extended for the duration of the Event Outside Our Control; and + 7.3.2. we will use our reasonable endeavours to find a solution by which our obligations under this Licence may be performed despite the Event Outside Our Control. + +8. OTHER IMPORTANT TERMS + +8.1. We may transfer our rights and obligations under this Licence to another organisation, but this will not affect your rights or our obligations under this Licence. +8.2. We may amend this Licence at any time at our sole discretion. You can view the Licence at any time at https://github.com/Regalis11/Barotrauma/blob/master/EULA.txt. If you do not agree to the amendments or any of the terms of this Licence, your only remedy shall be to terminate the Licence. We shall not have any obligation to refund the Licence Fee. +8.3. You may only transfer your rights or your obligations under this Licence to another person if we agree in writing. +8.4. If we fail to insist that you perform any of your obligations under this Licence, or if we do not enforce our rights against you, or if we delay in doing so, that will not mean that we have waived our rights against you and will not mean that you do not have to comply with those obligations. If we do waive a default by you, we will only do so in writing, and that will not mean that we will automatically waive any later default by you. +8.5. Each of the conditions of this Licence operates separately. If any court or competent authority decides that any of them are unlawful or unenforceable, the remaining conditions will remain in full force and effect. \ No newline at end of file diff --git a/Launcher2/Launcher.csproj b/Launcher2/Launcher.csproj index 9aa7ec09b..1d9f91c42 100644 --- a/Launcher2/Launcher.csproj +++ b/Launcher2/Launcher.csproj @@ -66,7 +66,7 @@ - + {008c0f83-e914-4966-9135-ea885059edd8} Barotrauma diff --git a/NETCODE REWRITE DESIGN PLAN.html b/NETCODE REWRITE DESIGN PLAN.html deleted file mode 100644 index 358f87832..000000000 --- a/NETCODE REWRITE DESIGN PLAN.html +++ /dev/null @@ -1,56 +0,0 @@ - - - -Netcode Rewrite Design Plan - - - -

NETCODE REWRITE DESIGN PLAN

-

Problems with current netcode

-
    -
  • Packet rate is a bit too high
  • -
  • Heavy use of reliable channel
  • -
  • Hacking is really easy
  • -
  • Lag is really hard to hide
  • -
  • It'll eventually be unusable because of new stuff being added
  • -
  • Client and server shares code, requiring security checks on the server's side which are too easy to miss
  • -
-

Goals of rewrite

-
    -
  • Greatly reduce use of reliable channel, preferring redundancy instead
  • -
  • Authoritative server; less hacking
  • -
  • More secure code
  • -
  • Maybe better interpolation; make lag less noticeable
  • -
  • Make client and server code as isolated from each other as possible
  • -
-

How new netcode will work

-

Authentication

-Login encryption consists of sending a hash of hashed password with the nonce appended. -
-
Authentication will be split into two steps: -
    -
  • Auth Request: Clients don't know whether they need to use a password until the server tells them. Instead of making the client send an incorrect login packet and bring up a login box after the fact, get them to ask the server first. -
    Server will tell the player if they need a password, in that case they'll be given the random Nonce integer for encryption.
  • -
  • Init Request: Once the auth request goes through, the client will need to send the password with encryption, or will just login automatically if it isn't required.
    -If the client sends an incorrect password, rather than immediately closing the connection, the server will give the client a few chances to retry.
    -If a client connects with the same name as an existing client and has the same IP as it, server will assume the old connection is dead and replace it.
  • -
- -

Syncing data

-Rather than sending data (chat messages, character inputs, etc) with Lidgren's reliability, changes are stacked on each peer's side and given IDs. -
Each peer will tell the other which was the last ID they got. The other peer will send all messages in their stack that are newer than that ID. -
If a peer gets data that it already has, it'll discard it. The other peer will eventually know that it has to stop sending this data. -
-
In the case of player input, the server will freeze each character until it receives input. Once it does, it'll move the player accordingly. -
Clients WILL NOT send positions to the server. Instead, they'll send a queue with inputs from the last frames that haven't been synced, with a limit of about 100 inputs or so. -
Since server will be receiving all inputs from the player, a normal client should not have too much desyncing if their connection is good enough. -
Server will send each client their own positions, because that's the server's decision, not the client's. The client will remember its last 100 predicted positions, so when it receives this data from the server it'll compare with old data and compensate only if there's a big enough difference with that old position. -
-
If none of this makes sense, ask me on Discord and I'll reply whenever I'm on. -
      - juan - - \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 000000000..d07924c25 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# Barotrauma + +Copyright © Undertow Games 2017 + +Before downloading the source code, please read the [EULA](EULA.txt). + +## Links: + +**Official Website:** www.undertowgames.com/barotrauma + +**Forums:** http://undertowgames.com/forum/ + +**Wiki:** http://barotrauma.gamepedia.com/Barotrauma_Wiki + +## Prerequisities: +- [Visual Studio](https://www.visualstudio.com/vs/community/) with C# 6.0 support (VS 2015 or later recommended) +- [MonoGame 3.5](http://www.monogame.net/2016/03/17/monogame-3-5/) diff --git a/Subsurface/Content/Items/Engine/pingCircle.png b/Subsurface/Content/Items/Engine/pingCircle.png deleted file mode 100644 index 6449f1272..000000000 Binary files a/Subsurface/Content/Items/Engine/pingCircle.png and /dev/null differ