Thermal artifact, mid-quest message popups, sortmode from immediate to deferred, saving bugfixes
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 11 KiB |
@@ -4,10 +4,25 @@
|
|||||||
name="Skyholder Artifact"
|
name="Skyholder Artifact"
|
||||||
pickdistance="150">
|
pickdistance="150">
|
||||||
|
|
||||||
<Sprite texture="artifact.png" depth="0.8"/>
|
<Sprite texture="artifact.png" depth="0.8" sourcerect="0,0,38,60"/>
|
||||||
|
|
||||||
<Body width="36" height="60" density="5"/>
|
<Body width="36" height="60" density="5"/>
|
||||||
|
|
||||||
<Holdable slots="BothHands" holdpos="30,-15" handle1="0,10" handle2="0,-10"/>
|
<Holdable slots="BothHands" holdpos="30,-15" handle1="0,10" handle2="0,-10"/>
|
||||||
</Item>
|
</Item>
|
||||||
|
|
||||||
|
<Item
|
||||||
|
name="Thermal Artifact"
|
||||||
|
pickdistance="150">
|
||||||
|
|
||||||
|
<Sprite texture="artifact.png" depth="0.8" sourcerect="74,0,44,61"/>
|
||||||
|
|
||||||
|
<Body radius="20" height="20" density="5"/>
|
||||||
|
|
||||||
|
<Holdable slots="BothHands" holdpos="30,-15" handle1="0,10" handle2="0,-10">
|
||||||
|
<StatusEffect type="OnActive">
|
||||||
|
<Fire/>
|
||||||
|
</StatusEffect>
|
||||||
|
</Holdable>
|
||||||
|
</Item>
|
||||||
</Items>
|
</Items>
|
||||||
@@ -11,6 +11,17 @@
|
|||||||
itemname="Skyholder Artifact">
|
itemname="Skyholder Artifact">
|
||||||
</SalvageQuest>
|
</SalvageQuest>
|
||||||
|
|
||||||
|
<SalvageQuest
|
||||||
|
name="Salvaging an artifact"
|
||||||
|
description="Researchers of [location1] have picked up an infrasonic signal highly similar to those emitted by alien artifacts previously discovered on Europa. Investigate the signal and retrieve the potential artifact."
|
||||||
|
commonness="10"
|
||||||
|
reward="2000"
|
||||||
|
radarlabel="Infrasonic signal"
|
||||||
|
failuremessage="Retrieving the artifact failed"
|
||||||
|
successmessage="The artifact has been succesfully retrieved"
|
||||||
|
itemname="Thermal Artifact">
|
||||||
|
</SalvageQuest>
|
||||||
|
|
||||||
<MonsterQuest
|
<MonsterQuest
|
||||||
name="Killing a Moloch"
|
name="Killing a Moloch"
|
||||||
description="A particularly aggressive Moloch has been terrorizing vessels traveling between [location1] and [location2]. A reward of 1000 credits has been promised to those who kill the creature."
|
description="A particularly aggressive Moloch has been terrorizing vessels traveling between [location1] and [location2]. A reward of 1000 credits has been promised to those who kill the creature."
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ namespace Barotrauma
|
|||||||
|
|
||||||
private Explosion explosion;
|
private Explosion explosion;
|
||||||
|
|
||||||
|
public readonly bool Fire;
|
||||||
|
|
||||||
private Sound sound;
|
private Sound sound;
|
||||||
|
|
||||||
public TargetType Targets
|
public TargetType Targets
|
||||||
@@ -143,6 +145,9 @@ namespace Barotrauma
|
|||||||
case "explosion":
|
case "explosion":
|
||||||
explosion = new Explosion(subElement);
|
explosion = new Explosion(subElement);
|
||||||
break;
|
break;
|
||||||
|
case "fire":
|
||||||
|
Fire = true;
|
||||||
|
break;
|
||||||
case "requireditem":
|
case "requireditem":
|
||||||
case "requireditems":
|
case "requireditems":
|
||||||
RelatedItem newRequiredItem = RelatedItem.Load(subElement);
|
RelatedItem newRequiredItem = RelatedItem.Load(subElement);
|
||||||
@@ -208,6 +213,7 @@ namespace Barotrauma
|
|||||||
protected virtual void Apply(float deltaTime, Entity entity, List<IPropertyObject> targets)
|
protected virtual void Apply(float deltaTime, Entity entity, List<IPropertyObject> targets)
|
||||||
{
|
{
|
||||||
if (explosion != null) explosion.Explode(entity.SimPosition);
|
if (explosion != null) explosion.Explode(entity.SimPosition);
|
||||||
|
if (Fire) new FireSource(ConvertUnits.ToDisplayUnits(entity.SimPosition));
|
||||||
|
|
||||||
if (sound != null) sound.Play(1.0f, 1000.0f, ConvertUnits.ToDisplayUnits(entity.SimPosition));
|
if (sound != null) sound.Play(1.0f, 1000.0f, ConvertUnits.ToDisplayUnits(entity.SimPosition));
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,9 @@ namespace Barotrauma
|
|||||||
|
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
DebugConsole.ThrowError("Coroutine "+Coroutines[i]+" threw an exception: "+e.Message);
|
#if DEBUG
|
||||||
|
DebugConsole.ThrowError("Coroutine " + Coroutines[i] + " threw an exception: " + e.Message);
|
||||||
|
#endif
|
||||||
Coroutines.RemoveAt(i);
|
Coroutines.RemoveAt(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -308,8 +308,7 @@ namespace Barotrauma
|
|||||||
DebugConsole.ThrowError("Illegal symbols in filename (../)");
|
DebugConsole.ThrowError("Illegal symbols in filename (../)");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Submarine.SaveCurrent(fileName +".sub");
|
if (Submarine.SaveCurrent(fileName +".sub")) NewMessage("map saved", Color.Green);
|
||||||
NewMessage("map saved", Color.Green);
|
|
||||||
break;
|
break;
|
||||||
case "loadmap":
|
case "loadmap":
|
||||||
case "loadsub":
|
case "loadsub":
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
class MonsterQuest : Quest
|
class MonsterQuest : Quest
|
||||||
{
|
{
|
||||||
string monsterFile;
|
private string monsterFile;
|
||||||
|
|
||||||
Character monster;
|
private int state;
|
||||||
|
|
||||||
|
private Character monster;
|
||||||
|
|
||||||
public override Vector2 RadarPosition
|
public override Vector2 RadarPosition
|
||||||
{
|
{
|
||||||
@@ -32,6 +34,18 @@ namespace Barotrauma
|
|||||||
monster = new AICharacter(monsterFile, ConvertUnits.ToSimUnits(position+level.Position));
|
monster = new AICharacter(monsterFile, ConvertUnits.ToSimUnits(position+level.Position));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void Update(float deltaTime)
|
||||||
|
{
|
||||||
|
switch (state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (!monster.IsDead) return;
|
||||||
|
ShowMessage(state);
|
||||||
|
state = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override void End()
|
public override void End()
|
||||||
{
|
{
|
||||||
if (!monster.IsDead)
|
if (!monster.IsDead)
|
||||||
|
|||||||
@@ -25,6 +25,9 @@ namespace Barotrauma
|
|||||||
|
|
||||||
protected string radarLabel;
|
protected string radarLabel;
|
||||||
|
|
||||||
|
protected List<string> headers;
|
||||||
|
protected List<string> messages;
|
||||||
|
|
||||||
private int reward;
|
private int reward;
|
||||||
|
|
||||||
public string Name
|
public string Name
|
||||||
@@ -69,6 +72,15 @@ namespace Barotrauma
|
|||||||
failureMessage = ToolBox.GetAttributeString(element, "failuremessage", "");
|
failureMessage = ToolBox.GetAttributeString(element, "failuremessage", "");
|
||||||
|
|
||||||
radarLabel = ToolBox.GetAttributeString(element, "radarlabel", "");
|
radarLabel = ToolBox.GetAttributeString(element, "radarlabel", "");
|
||||||
|
|
||||||
|
messages = new List<string>();
|
||||||
|
headers = new List<string>();
|
||||||
|
foreach (XElement subElement in element.Elements())
|
||||||
|
{
|
||||||
|
if (subElement.Name.ToString().ToLower() != "message") continue;
|
||||||
|
headers.Add(ToolBox.GetAttributeString(subElement, "header", ""));
|
||||||
|
messages.Add(ToolBox.GetAttributeString(subElement, "text", ""));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Quest LoadRandom(Location[] locations, Random rand)
|
public static Quest LoadRandom(Location[] locations, Random rand)
|
||||||
@@ -142,8 +154,17 @@ namespace Barotrauma
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Start(Level level)
|
public virtual void Start(Level level) { }
|
||||||
|
|
||||||
|
public virtual void Update(float deltaTime) { }
|
||||||
|
|
||||||
|
public void ShowMessage(int index)
|
||||||
{
|
{
|
||||||
|
if (index >= headers.Count && index >= messages.Count) return;
|
||||||
|
|
||||||
|
new GUIMessageBox(
|
||||||
|
index < headers.Count ? headers[index] : "",
|
||||||
|
index < messages.Count ? messages[index] : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ namespace Barotrauma
|
|||||||
|
|
||||||
private Item item;
|
private Item item;
|
||||||
|
|
||||||
|
private int state;
|
||||||
|
|
||||||
public override Vector2 RadarPosition
|
public override Vector2 RadarPosition
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -69,6 +71,23 @@ namespace Barotrauma
|
|||||||
//item.MoveWithLevel = true;
|
//item.MoveWithLevel = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void Update(float deltaTime)
|
||||||
|
{
|
||||||
|
switch (state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (item.CurrentHull == null) return;
|
||||||
|
ShowMessage(state);
|
||||||
|
state = 1;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (!Level.Loaded.AtEndPosition && !Level.Loaded.AtStartPosition) return;
|
||||||
|
ShowMessage(state);
|
||||||
|
state = 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override void End()
|
public override void End()
|
||||||
{
|
{
|
||||||
item.Remove();
|
item.Remove();
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ namespace Barotrauma
|
|||||||
|
|
||||||
new GUIMessageBox(quest.Name, quest.Description, 400, 400);
|
new GUIMessageBox(quest.Name, quest.Description, 400, 400);
|
||||||
|
|
||||||
quest.Start(Level.Loaded);
|
//quest.Start(Level.Loaded);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void End(string endMessage = "")
|
public override void End(string endMessage = "")
|
||||||
{
|
{
|
||||||
quest.End();
|
//quest.End();
|
||||||
|
|
||||||
base.End(endMessage);
|
base.End(endMessage);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
CrewManager.AddCharacter(character);
|
CrewManager.AddCharacter(character);
|
||||||
|
|
||||||
|
//CoroutineManager.StartCoroutine(QuitChecker());
|
||||||
CoroutineManager.StartCoroutine(UpdateState());
|
CoroutineManager.StartCoroutine(UpdateState());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,6 +85,7 @@ namespace Barotrauma
|
|||||||
if (infoBox!=null) infoBox.Update(deltaTime);
|
if (infoBox!=null) infoBox.Update(deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private IEnumerable<object> UpdateState()
|
private IEnumerable<object> UpdateState()
|
||||||
{
|
{
|
||||||
Submarine.Loaded.SetPosition(new Vector2(Submarine.Loaded.Position.X, 38500.0f));
|
Submarine.Loaded.SetPosition(new Vector2(Submarine.Loaded.Position.X, 38500.0f));
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ namespace Barotrauma
|
|||||||
guiRoot.Update(deltaTime);
|
guiRoot.Update(deltaTime);
|
||||||
|
|
||||||
if (gameMode != null) gameMode.Update(deltaTime);
|
if (gameMode != null) gameMode.Update(deltaTime);
|
||||||
|
if (Quest != null) Quest.Update(deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Draw(SpriteBatch spriteBatch)
|
public void Draw(SpriteBatch spriteBatch)
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public enum ActionType
|
public enum ActionType
|
||||||
{
|
{
|
||||||
OnPicked, OnWearing, OnContaining, OnContained, OnActive, OnUse, OnFailure, OnBroken, OnFire
|
Always, OnPicked, OnWearing, OnContaining, OnContained, OnActive, OnUse, OnFailure, OnBroken, OnFire
|
||||||
}
|
}
|
||||||
|
|
||||||
class Item : MapEntity, IDamageable, IPropertyObject
|
class Item : MapEntity, IDamageable, IPropertyObject
|
||||||
|
|||||||
@@ -815,11 +815,13 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public void Draw(SpriteBatch spriteBatch)
|
public void Draw(SpriteBatch spriteBatch)
|
||||||
{
|
{
|
||||||
|
if (renderer == null) return;
|
||||||
renderer.Draw(spriteBatch);
|
renderer.Draw(spriteBatch);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Render(GraphicsDevice graphicsDevice, Camera cam)
|
public void Render(GraphicsDevice graphicsDevice, Camera cam)
|
||||||
{
|
{
|
||||||
|
if (renderer == null) return;
|
||||||
renderer.Render(graphicsDevice, cam, vertices);
|
renderer.Render(graphicsDevice, cam, vertices);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ namespace Barotrauma.Lights
|
|||||||
|
|
||||||
if (!ObstructVision) return;
|
if (!ObstructVision) return;
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate, CustomBlendStates.Multiplicative);
|
spriteBatch.Begin(SpriteSortMode.Deferred, CustomBlendStates.Multiplicative);
|
||||||
spriteBatch.Draw(losTexture, Vector2.Zero);
|
spriteBatch.Draw(losTexture, Vector2.Zero);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
||||||
@@ -128,13 +128,13 @@ namespace Barotrauma.Lights
|
|||||||
|
|
||||||
//draw the light shape
|
//draw the light shape
|
||||||
//where Alpha is 0, nothing will be written
|
//where Alpha is 0, nothing will be written
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate, CustomBlendStates.MultiplyWithAlpha, null, null, null, null, cam.Transform);
|
spriteBatch.Begin(SpriteSortMode.Deferred, CustomBlendStates.MultiplyWithAlpha, null, null, null, null, cam.Transform);
|
||||||
light.Draw(spriteBatch);
|
light.Draw(spriteBatch);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
}
|
}
|
||||||
|
|
||||||
ClearAlphaToOne(graphics, spriteBatch);
|
ClearAlphaToOne(graphics, spriteBatch);
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate, CustomBlendStates.MultiplyWithAlpha, null, null, null, null, cam.Transform);
|
spriteBatch.Begin(SpriteSortMode.Deferred, CustomBlendStates.MultiplyWithAlpha, null, null, null, null, cam.Transform);
|
||||||
|
|
||||||
foreach (LightSource light in lights)
|
foreach (LightSource light in lights)
|
||||||
{
|
{
|
||||||
@@ -161,7 +161,7 @@ namespace Barotrauma.Lights
|
|||||||
graphics.SetRenderTarget(losTexture);
|
graphics.SetRenderTarget(losTexture);
|
||||||
graphics.Clear(Color.Black);
|
graphics.Clear(Color.Black);
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate, null, null, null, null, null, cam.Transform);
|
spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, cam.Transform);
|
||||||
|
|
||||||
Vector2 diff = lookAtPosition - ViewPos;
|
Vector2 diff = lookAtPosition - ViewPos;
|
||||||
diff.Y = -diff.Y;
|
diff.Y = -diff.Y;
|
||||||
@@ -185,7 +185,7 @@ namespace Barotrauma.Lights
|
|||||||
|
|
||||||
private void ClearAlphaToOne(GraphicsDevice graphics, SpriteBatch spriteBatch)
|
private void ClearAlphaToOne(GraphicsDevice graphics, SpriteBatch spriteBatch)
|
||||||
{
|
{
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate, CustomBlendStates.WriteToAlpha);
|
spriteBatch.Begin(SpriteSortMode.Deferred, CustomBlendStates.WriteToAlpha);
|
||||||
spriteBatch.Draw(alphaClearTexture, new Rectangle(0, 0,graphics.Viewport.Width, graphics.Viewport.Height), Color.White);
|
spriteBatch.Draw(alphaClearTexture, new Rectangle(0, 0,graphics.Viewport.Width, graphics.Viewport.Height), Color.White);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
}
|
}
|
||||||
@@ -195,7 +195,7 @@ namespace Barotrauma.Lights
|
|||||||
if (!LightingEnabled) return;
|
if (!LightingEnabled) return;
|
||||||
|
|
||||||
//multiply scene with lightmap
|
//multiply scene with lightmap
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate, CustomBlendStates.Multiplicative);
|
spriteBatch.Begin(SpriteSortMode.Deferred, CustomBlendStates.Multiplicative);
|
||||||
spriteBatch.Draw(lightMap, Vector2.Zero, Color.White);
|
spriteBatch.Draw(lightMap, Vector2.Zero, Color.White);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ namespace Barotrauma
|
|||||||
|
|
||||||
class Submarine : Entity
|
class Submarine : Entity
|
||||||
{
|
{
|
||||||
public const string SavePath = "Data/SavedSubs";
|
|
||||||
|
public static string SavePath = "Data" + System.IO.Path.DirectorySeparatorChar + "SavedSubs";
|
||||||
|
|
||||||
public static List<Submarine> SavedSubmarines = new List<Submarine>();
|
public static List<Submarine> SavedSubmarines = new List<Submarine>();
|
||||||
|
|
||||||
@@ -102,8 +103,12 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public Vector2 Speed
|
public Vector2 Speed
|
||||||
{
|
{
|
||||||
get { return subBody.Speed; }
|
get { return subBody==null ? Vector2.Zero : subBody.Speed; }
|
||||||
set { subBody.Speed = value; }
|
set
|
||||||
|
{
|
||||||
|
if (subBody == null) return;
|
||||||
|
subBody.Speed = value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Vector2> HullVertices
|
public List<Vector2> HullVertices
|
||||||
@@ -433,18 +438,13 @@ namespace Barotrauma
|
|||||||
|
|
||||||
//saving/loading ----------------------------------------------------
|
//saving/loading ----------------------------------------------------
|
||||||
|
|
||||||
public void Save()
|
public bool Save()
|
||||||
{
|
{
|
||||||
SaveAs(filePath);
|
return SaveAs(filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SaveAs(string filePath)
|
public bool SaveAs(string filePath)
|
||||||
{
|
{
|
||||||
//if (filePath=="")
|
|
||||||
//{
|
|
||||||
// DebugConsole.ThrowError("No save file selected");
|
|
||||||
// return;
|
|
||||||
//}
|
|
||||||
XDocument doc = new XDocument(new XElement("Submarine"));
|
XDocument doc = new XDocument(new XElement("Submarine"));
|
||||||
doc.Root.Add(new XAttribute("name", name));
|
doc.Root.Add(new XAttribute("name", name));
|
||||||
|
|
||||||
@@ -464,13 +464,13 @@ namespace Barotrauma
|
|||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
DebugConsole.ThrowError("Saving submarine ''" + filePath + "'' failed!", e);
|
DebugConsole.ThrowError("Saving submarine ''" + filePath + "'' failed!", e);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
//doc.Save(filePath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SaveCurrent(string fileName)
|
public static bool SaveCurrent(string fileName)
|
||||||
{
|
{
|
||||||
if (loaded==null)
|
if (loaded==null)
|
||||||
{
|
{
|
||||||
@@ -478,7 +478,7 @@ namespace Barotrauma
|
|||||||
// return;
|
// return;
|
||||||
}
|
}
|
||||||
|
|
||||||
loaded.SaveAs(SavePath+"/"+fileName);
|
return loaded.SaveAs(SavePath+System.IO.Path.DirectorySeparatorChar+fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Preload()
|
public static void Preload()
|
||||||
@@ -646,7 +646,12 @@ namespace Barotrauma
|
|||||||
loaded = this;
|
loaded = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Submarine Load(string fileName, string folder = SavePath)
|
public static Submarine Load(string fileName)
|
||||||
|
{
|
||||||
|
return Load(fileName, SavePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Submarine Load(string fileName, string folder)
|
||||||
{
|
{
|
||||||
Unload();
|
Unload();
|
||||||
|
|
||||||
|
|||||||
@@ -129,6 +129,11 @@ namespace Barotrauma
|
|||||||
|
|
||||||
private List<Vector2> GenerateConvexHull()
|
private List<Vector2> GenerateConvexHull()
|
||||||
{
|
{
|
||||||
|
if (!Structure.wallList.Any())
|
||||||
|
{
|
||||||
|
return new List<Vector2>() { new Vector2(-1.0f, 1.0f), new Vector2(1.0f, 1.0f), new Vector2(0.0f, -1.0f) };
|
||||||
|
}
|
||||||
|
|
||||||
List<Vector2> points = new List<Vector2>();
|
List<Vector2> points = new List<Vector2>();
|
||||||
|
|
||||||
Vector2 leftMost = Vector2.Zero;
|
Vector2 leftMost = Vector2.Zero;
|
||||||
|
|||||||
@@ -57,12 +57,12 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public void RenderBack(SpriteBatch spriteBatch, RenderTarget2D texture, float blurAmount = 0.0f)
|
public void RenderBack(SpriteBatch spriteBatch, RenderTarget2D texture, float blurAmount = 0.0f)
|
||||||
{
|
{
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.LinearWrap);
|
spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.Opaque, SamplerState.LinearWrap, null, null, waterEffect);
|
||||||
|
|
||||||
waterEffect.CurrentTechnique = waterEffect.Techniques["WaterShader"];
|
waterEffect.CurrentTechnique = waterEffect.Techniques["WaterShader"];
|
||||||
waterEffect.Parameters["xWavePos"].SetValue(wavePos);
|
waterEffect.Parameters["xWavePos"].SetValue(wavePos);
|
||||||
waterEffect.Parameters["xBlurDistance"].SetValue(blurAmount);
|
waterEffect.Parameters["xBlurDistance"].SetValue(blurAmount);
|
||||||
waterEffect.CurrentTechnique.Passes[0].Apply();
|
//waterEffect.CurrentTechnique.Passes[0].Apply();
|
||||||
|
|
||||||
wavePos.X += 0.0001f;
|
wavePos.X += 0.0001f;
|
||||||
wavePos.Y += 0.0001f;
|
wavePos.Y += 0.0001f;
|
||||||
@@ -74,7 +74,6 @@ namespace Barotrauma
|
|||||||
|
|
||||||
spriteBatch.Draw(texture, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), Color.White);
|
spriteBatch.Draw(texture, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), Color.White);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ namespace Barotrauma
|
|||||||
graphics.SetRenderTarget(renderTarget);
|
graphics.SetRenderTarget(renderTarget);
|
||||||
graphics.Clear(new Color(11, 18, 26, 255));
|
graphics.Clear(new Color(11, 18, 26, 255));
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.LinearWrap);
|
spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearWrap);
|
||||||
|
|
||||||
Vector2 backgroundPos = cam.Position;
|
Vector2 backgroundPos = cam.Position;
|
||||||
if (Level.Loaded != null) backgroundPos -= Level.Loaded.Position;
|
if (Level.Loaded != null) backgroundPos -= Level.Loaded.Position;
|
||||||
@@ -203,8 +203,8 @@ namespace Barotrauma
|
|||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.BackToFront,
|
spriteBatch.Begin(SpriteSortMode.BackToFront,
|
||||||
BlendState.AlphaBlend,
|
BlendState.NonPremultiplied,
|
||||||
SamplerState.LinearWrap, null, null, null,
|
SamplerState.LinearWrap, DepthStencilState.Default, null, null,
|
||||||
cam.Transform);
|
cam.Transform);
|
||||||
|
|
||||||
BackgroundSpriteManager.Draw(spriteBatch);
|
BackgroundSpriteManager.Draw(spriteBatch);
|
||||||
@@ -237,29 +237,27 @@ namespace Barotrauma
|
|||||||
|
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
||||||
|
|
||||||
GameMain.LightManager.DrawLightMap(spriteBatch, cam);
|
GameMain.LightManager.DrawLightMap(spriteBatch, cam);
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------
|
||||||
//draw the rendertarget and particles that are only supposed to be drawn in water into renderTargetWater
|
//draw the rendertarget and particles that are only supposed to be drawn in water into renderTargetWater
|
||||||
|
|
||||||
graphics.SetRenderTarget(renderTargetWater);
|
graphics.SetRenderTarget(renderTargetWater);
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate,
|
spriteBatch.Begin(SpriteSortMode.Deferred,
|
||||||
BlendState.AlphaBlend);
|
BlendState.Opaque);
|
||||||
spriteBatch.Draw(renderTarget, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), new Color(0.75f, 0.8f, 0.9f, 1.0f));
|
spriteBatch.Draw(renderTarget, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), new Color(0.75f, 0.8f, 0.9f, 1.0f));
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate,
|
spriteBatch.Begin(SpriteSortMode.Deferred,
|
||||||
BlendState.AlphaBlend,
|
BlendState.NonPremultiplied,
|
||||||
null, DepthStencilState.DepthRead, null, null,
|
null, DepthStencilState.Default, null, null,
|
||||||
cam.Transform);
|
cam.Transform);
|
||||||
GameMain.ParticleManager.Draw(spriteBatch, true, Particles.ParticleBlendState.AlphaBlend);
|
GameMain.ParticleManager.Draw(spriteBatch, true, Particles.ParticleBlendState.AlphaBlend);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate,
|
spriteBatch.Begin(SpriteSortMode.Deferred,
|
||||||
BlendState.Additive,
|
BlendState.Additive,
|
||||||
null, DepthStencilState.DepthRead, null, null,
|
null, DepthStencilState.Default, null, null,
|
||||||
cam.Transform);
|
cam.Transform);
|
||||||
GameMain.ParticleManager.Draw(spriteBatch, true, Particles.ParticleBlendState.Additive);
|
GameMain.ParticleManager.Draw(spriteBatch, true, Particles.ParticleBlendState.Additive);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
@@ -268,19 +266,19 @@ namespace Barotrauma
|
|||||||
//draw the rendertarget and particles that are only supposed to be drawn in air into renderTargetAir
|
//draw the rendertarget and particles that are only supposed to be drawn in air into renderTargetAir
|
||||||
|
|
||||||
graphics.SetRenderTarget(renderTargetAir);
|
graphics.SetRenderTarget(renderTargetAir);
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate,
|
spriteBatch.Begin(SpriteSortMode.Deferred,
|
||||||
BlendState.AlphaBlend);
|
BlendState.Opaque);
|
||||||
spriteBatch.Draw(renderTarget, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), Color.White);
|
spriteBatch.Draw(renderTarget, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), Color.White);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate,
|
spriteBatch.Begin(SpriteSortMode.Deferred,
|
||||||
BlendState.AlphaBlend,
|
BlendState.NonPremultiplied,
|
||||||
null, DepthStencilState.DepthRead, null, null,
|
null, DepthStencilState.DepthRead, null, null,
|
||||||
cam.Transform);
|
cam.Transform);
|
||||||
GameMain.ParticleManager.Draw(spriteBatch, false, Particles.ParticleBlendState.AlphaBlend);
|
GameMain.ParticleManager.Draw(spriteBatch, false, Particles.ParticleBlendState.AlphaBlend);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Immediate,
|
spriteBatch.Begin(SpriteSortMode.Deferred,
|
||||||
BlendState.Additive,
|
BlendState.Additive,
|
||||||
null, DepthStencilState.DepthRead, null, null,
|
null, DepthStencilState.DepthRead, null, null,
|
||||||
cam.Transform);
|
cam.Transform);
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
public class SaveUtil
|
public class SaveUtil
|
||||||
{
|
{
|
||||||
private const string SaveFolder = "Data/Saves/";
|
private static string SaveFolder = "Data"+Path.DirectorySeparatorChar+"Saves";
|
||||||
|
|
||||||
public delegate void ProgressDelegate(string sMessage);
|
public delegate void ProgressDelegate(string sMessage);
|
||||||
|
|
||||||
public static void SaveGame(string fileName)
|
public static void SaveGame(string fileName)
|
||||||
{
|
{
|
||||||
fileName = SaveFolder + fileName;
|
fileName = Path.Combine(SaveFolder, fileName);
|
||||||
|
|
||||||
string tempPath = Path.Combine(SaveFolder, "temp");
|
string tempPath = Path.Combine(SaveFolder, "temp");
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user