61 Commits

Author SHA1 Message Date
VIA256 697eb88a1a add little fix for high resolutions moniters
a lot of people have had issues with fonts/textures getting messed up on high resolutions
2025-12-07 14:38:32 -08:00
VIA256 a3b12586e0 undo Object.cs CompareBaseObject implementation
on second thought lets not get into the weeds with this yet
2025-12-07 14:23:27 -08:00
VIA256 2eb0549f6f reimplement internal call for UnityEngine.Object::CompareBaseObjects 2025-12-06 18:16:52 -08:00
VIA256 79080a6e55 MarsRuntime: fix missing semicolon 2025-11-13 16:14:48 -08:00
VIA256 70a50e3bf5 MarsRuntime: impliment logging to output_log.txt 2025-11-13 15:57:18 -08:00
VIA256 a95257981c organize mono init code into its own func 2025-11-13 09:36:10 -08:00
VIA256 bc90b054e2 MarsRuntime fully make building work on mac 2025-11-12 19:56:11 -08:00
VIA256 047388a74e MarsRuntime: make wscript account for darwin hosts 2025-11-12 19:41:47 -08:00
VIA256 702697ec13 mention the requirement of a c compiler in README.md 2025-11-11 15:20:31 -08:00
VIA256 7fe9a1b8a5 MarsRuntime: fix warning on linux caused by joining win32 and linux mono runtime linker 2025-11-11 15:08:33 -08:00
VIA256 5998a401ff MarsRuntime: attempt 1 at making runtimelinker win/linux cross platform with preprocessor 2025-11-11 12:23:47 -08:00
VIA256 d75bc2aca9 MarsRuntime: start making runtime linking work on windows
much refactoring to do with this ofc but im eepy
2025-11-11 01:19:50 -08:00
VIA256 5c306dac5c MarsRuntime: make memory allo/deallocation of path strings in main.c less mind-numbing 2025-11-10 17:45:56 -08:00
VIA256 d1dbf22af0 MarsRuntime: make FSUtil use const char * as input instead of char *, add variadic MX_pathConcat 2025-11-10 15:15:09 -08:00
VIA256 eafdfec9d8 MarsRuntime: fix mono runtime linking and revert mscorlib.dll to old position 2025-11-10 12:04:53 -08:00
VIA256 07ae01a867 added runtime linking for mono 2025-11-08 23:00:46 -08:00
VIA256 2a8a6bf8e7 MarsRuntime: fix things i missed in the build script when changing to c from c++, and fixed memory allocation bugs in FCUtil.c 2025-11-08 14:25:57 -08:00
VIA256 4dbe5f67ed MarsRuntime: fuck it we use c now
cannot deal with c++ its too much madness istg
2025-11-07 23:36:17 -08:00
VIA256 fa5304e4b2 add unity resources from original Mars Explorer_Data to resources dir 2025-11-07 13:06:12 -08:00
VIA256 d504c12d54 MarsRuntime: fix problems that surfaced when testing on linux 2025-11-06 22:34:54 -08:00
VIA256 55d2752345 get rid of boost, make our own little fs path helper functions
we're not doing much heavy lifting with what we need boost.(filesystem, logging) for and its easy enough to make simple versions of these things ourselves. better than adding another dependancy
2025-11-06 22:16:40 -08:00
VIA256 ebb8d4670d setup to successfully load UnityDomainLoad.exe with dummy internalcall 2025-11-06 14:32:55 -08:00
VIA256 55a3764563 get mscorlib.dll working in runtime 2025-11-06 12:48:39 -08:00
VIA256 b75ffdb50b start preparing source tree for using machine config and mscorlib 2025-11-06 10:02:51 -08:00
VIA256 9be77652c3 MarsRuntime: try loading UnityDomainLoad.exe in mono runtime 2025-11-06 09:45:18 -08:00
VIA256 16a891b425 fixed presumptuous .exe extension in MarsRuntime postbuild copy 2025-11-05 21:29:45 -08:00
VIA256 f1c8dfd6e0 add boost filesystem configuration to new waf file and test it in MarsRuntime 2025-11-05 21:18:41 -08:00
VIA256 ba484a42e2 add marsruntime postbuild copy 2025-11-05 19:40:30 -08:00
VIA256 b55a1e3ce4 fix various issues when testing on linux 2025-11-05 19:26:09 -08:00
VIA256 1592e648d6 add MarsRuntime and linking with mono 2025-11-05 18:50:28 -08:00
VIA256 6d59062c5a refactor waf setup to be able to build efficiently 2025-11-04 19:17:42 -08:00
VIA256 4d28ef7ef5 add waf.bat for convenience 2025-11-03 13:29:55 -08:00
VIA256 5b7bc3ee86 inform README.md abt the new waf system 2025-11-01 19:42:49 -04:00
VIA256 9572cee415 wscript find mono allow for path and --mono_home option override 2025-11-01 16:08:15 -07:00
VIA256 f29d498f68 fix some bugs issued by the different mono compiler 2025-11-01 14:59:11 -07:00
VIA256 5913d6be38 move everything in Game/ back into top level 2025-11-01 13:32:21 -07:00
VIA256 dddbd69a3d get rid of visual studio building support 2025-10-31 15:20:32 -07:00
VIA256 8d041fbb34 add waf build system setup 2025-10-31 01:11:00 -07:00
VIA256 7a252ce3e8 Revert "Start creating cmake build system"
This reverts commit 9cc907f653.
2025-10-30 17:00:36 -07:00
VIA256 9cc907f653 Start creating cmake build system 2025-10-29 19:24:25 -07:00
VIA256 ba9d5563df add semantic version class and make gameVersion use it 2025-10-27 16:41:30 -07:00
VIA256 7676f1c809 stop quarryCam from breaking when the quarry switches vehicles 2025-10-26 22:01:35 -07:00
VIA256 dc8598a5c9 rix rpc typo bug 2025-10-26 20:49:23 -07:00
VIA256 51c57cd932 fix Prebuild project to work when building solution for release in addition to debug 2025-10-26 20:26:19 -07:00
VIA256 a7db3817a6 remove ads from the game code 2025-10-26 19:55:24 -07:00
VIA256 200b6a9347 disable language filter for now 2025-10-26 19:54:59 -07:00
VIA256 ad5d84cc8b have MakeWindowUpdate point to the gitea releases instead of the discord 2025-10-26 19:46:19 -07:00
VIA256 9b181689d2 change the game version to 4.0
this needs to happen because we changed how certain RPC functions operate which will probably crash games now if two versions collide
2025-10-26 19:27:33 -07:00
VIA256 018cfa5846 make zorbBall more persistant. make it so bots sort of can drive with xorbs
zorbBalls now persist across vehicle switching and bot creation.
bots have very poor but sort of functional xorb driving logic
2025-10-26 19:19:45 -07:00
VIA256 42102b530b turn vehicle xorbs off if the server disables them 2025-10-26 18:31:11 -07:00
VIA256 8d1588757e fix the xorb size and color 2025-10-26 17:25:40 -07:00
VIA256 e8a9278fc3 fix entrypoint simple diamond 2025-10-26 15:07:14 -07:00
VIA256 56c8a48510 quarryveh: make 1st person nametags and vehicle stats corrospond to the vehicle being spectated 2025-10-25 22:02:37 -07:00
VIA256 00dcbfc9af idk lmao 2025-10-25 13:24:39 -07:00
VIA256 f3157ef0ea fix SeaData invalid cast 2025-10-25 13:14:32 -07:00
VIA256 5961a12aa7 fix jumppoint.cs invalid cast 2025-10-25 12:57:35 -07:00
VIA256 e2978eac60 Merge pull request #10 from VIA256/marsxplr-4.0
Continue onward to Marsxplr 4.0
2025-10-25 06:50:09 +00:00
VIA256 684b74e5a3 Update README.md to inform about the new build system 2025-10-25 06:49:00 +00:00
VIA256 e0151e558a Replace crappy build batch scripts with visual studio solution
this thing binds all the csharp projects together and sets the stage for creating the mars explorer.exe c++ project and the rest of the runtime stuff
2025-10-24 23:22:13 -07:00
VIA256 16db95b196 Merge branch 'main' into marsxplr-4.0 2025-10-24 17:32:57 -07:00
VIA256 b93d2c1f2a Add quarryCam
if toggled, tells Camera to follow Quarry instead of exclusively the Player
2025-10-23 17:22:57 -07:00
375 changed files with 1671 additions and 804 deletions
+4
View File
@@ -0,0 +1,4 @@
marsxplr_build/
waf*/
.lock-waf*
.DS_Store
+23
View File
@@ -0,0 +1,23 @@
## Assembly - CSharp
import os
import shutil
def post(bld):
distdir = os.path.join(bld.top_dir, 'marsxplr_build', 'Mars Explorer_Data')
os.makedirs(distdir, exist_ok=True)
shutil.copy(
os.path.join(bld.out_dir, 'Assembly_-_CSharp', 'e36192721fc364533a8edf2aefd3b72c.dll'),
os.path.join(distdir, 'Assembly - CSharp.dll'))
def build(bld):
bld.add_post_fun(post)
bld(
source=bld.path.ant_glob(os.path.join('src', '*.cs')),
target='e36192721fc364533a8edf2aefd3b72c.dll',
rule='"${MCS}" -recurse:\"' +
os.path.join(bld.path.abspath(), 'src', '*.cs') +
'\" -reference:\"' + str(os.path.join(bld.out_dir, 'UnityEngine', 'UnityEngine.dll')) +
'\" -reference:\"' + str(os.path.join(bld.out_dir, 'Assembly_-_CSharp_-_first_pass', '26998b3a9cbf54825a27e5f2d3cc4df1.dll')) +
'\" -out:${TGT} -target:library ${MONOOPTS}')
+22
View File
@@ -0,0 +1,22 @@
## Assembly - CSharp - first pass
import os
import shutil
def post(bld):
distdir = os.path.join(bld.top_dir, 'marsxplr_build', 'Mars Explorer_Data')
os.makedirs(distdir, exist_ok=True)
shutil.copy(
os.path.join(bld.out_dir, 'Assembly_-_CSharp_-_first_pass', '26998b3a9cbf54825a27e5f2d3cc4df1.dll'),
os.path.join(distdir, 'Assembly - CSharp - first pass.dll'))
def build(bld):
bld.add_post_fun(post)
bld(
source=bld.path.ant_glob(os.path.join('src', '*.cs')),
target='26998b3a9cbf54825a27e5f2d3cc4df1.dll',
rule='"${MCS}" -recurse:\"' +
os.path.join(bld.path.abspath(), 'src', '*.cs') + '\"' +
' -reference:\"' + str(os.path.join(bld.out_dir, 'UnityEngine', 'UnityEngine.dll')) + '\"'
' -out:${TGT} -target:library ${MONOOPTS}')
@@ -9,7 +9,7 @@ public class BaseSimple : MonoBehaviour
public void Start()
{
mat = (Material)((MeshRenderer)this.GetComponent(typeof(MeshRenderer))).material;
mat = GetComponent<MeshRenderer>().material;
Vector3 mts = mat.mainTextureScale;
mts.x = 1;
mts.y = 0.1f;
@@ -22,7 +22,9 @@ public class BaseSimple : MonoBehaviour
0.5f,
Mathf.Min(
10,
Vector3.Distance(transform.position, Camera.main.transform.position) / 10f
Vector3.Distance(
transform.position,
Camera.main.transform.position) / 10f
)
);
@@ -41,14 +43,16 @@ public class BaseSimple : MonoBehaviour
mto.x--;
}
if(upMode)
if (upMode)
{
mto.y += Time.deltaTime * 0.1f;
if(mto.y < 0.4f)
{
upMode = true;
}
}
mto.y += Time.deltaTime * 0.1f;
if (mto.y > 0.6f) upMode = false;
}
else
{
mto.y -= Time.deltaTime * 0.1f;
if (mto.y < 0.4f) upMode = true;
}
mat.mainTextureOffset = mto;
}
}
@@ -35,7 +35,7 @@ public class Buggy : MonoBehaviour
private Transform[] bouyancyPoints;
private float suspensionRange;
private float friction;
private float[] realComp;
// /*UNUSED*/ private float[] realComp;
private float[] hitDistance;
private float[] hitCompress;
private float[] hitFriction;
@@ -51,7 +51,7 @@ public class Buggy : MonoBehaviour
//Drivetrain Data
private float motorTorque;
private float motorSpeed;
private float motorSpd;
// /*UNUSED*/ private float motorSpd;
private float motorInputSmoothed;
private float wheelRadius;
private float wheelCircumference;
@@ -66,7 +66,7 @@ public class Buggy : MonoBehaviour
wingState = 0f;
//wingFlaps = 0;
isInverted = false;
realComp = new float[4];
//realComp = new float[4];
hitDistance = new float[4];
hitCompress = new float[4];
hitFriction = new float[4];
@@ -76,7 +76,7 @@ public class Buggy : MonoBehaviour
wheelMarkIndex = new int[4];
isDynamic = false;
motorSpeed = 0f;
motorSpd = 0f;
//motorSpd = 0f;
motorInputSmoothed = 0f;
wheelRadius = 0.3f;
wheelCircumference = wheelRadius * (float)Math.PI * 2f;
@@ -188,7 +188,7 @@ public class Buggy : MonoBehaviour
leftTrail.localPosition = localPosition;
localPosition = rightTrail.localPosition;
float num4 = (localPosition.x = 0);
localPosition.x = 0;
rightTrail.localPosition = localPosition;
wingState = 0f;
@@ -588,7 +588,7 @@ public class Buggy : MonoBehaviour
);
//motorSpeed += -motorSpeed * motorDrag / motorTorque * Time.fixedDeltaTime;
}
motorSpd = (frictionTotal - Game.Settings.buggyPower * 3) / (Game.Settings.buggyPower * 3 / Game.Settings.buggySpeed);
//motorSpd = (frictionTotal - Game.Settings.buggyPower * 3) / (Game.Settings.buggyPower * 3 / Game.Settings.buggySpeed);
wheelsAreTouchingGround = true;
isDynamic = (
@@ -23,6 +23,8 @@ public class CameraVehicle : MonoBehaviour
public GlowEffect glowEffect;
public ColorCorrectionEffect colorEffect;
public float worldTime;
public GameObject camTarget;
public Vehicle camTargetVeh;
public CameraVehicle()
{
@@ -56,6 +58,18 @@ public class CameraVehicle : MonoBehaviour
return;
}
//QuarryCam
camTarget = Game.Player;
camTargetVeh = Game.PlayerVeh;
if (
Game.Settings.quarryCam &&
(bool)Game.QuarryVeh &&
(bool)Game.QuarryVeh.ridePos)
{
camTarget = Game.QuarryVeh.gameObject;
camTargetVeh = Game.QuarryVeh;
}
//Blur
if (mb.enabled)
{
@@ -70,7 +84,7 @@ public class CameraVehicle : MonoBehaviour
if (Game.Settings.useHypersound == 1)
{
Game.Settings.gameMusic.pitch = Mathf.Clamp(
-0.5f + Game.Player.rigidbody.velocity.magnitude / 15f,
-0.5f + camTarget.rigidbody.velocity.magnitude / 15f,
0.8f,
1.5f
);
@@ -133,10 +147,10 @@ public class CameraVehicle : MonoBehaviour
arrow.rotation = Quaternion.Lerp(
arrow.rotation,
Quaternion.LookRotation(
((Game.PlayerVeh.isIt != 0 || !Game.QuarryVeh) ?
((camTargetVeh.isIt != 0 || !Game.QuarryVeh) ?
World.baseTF :
Game.QuarryVeh.gameObject.transform
).position - Game.Player.transform.position
).position - camTarget.transform.position
),
Time.deltaTime * 15f
);
@@ -192,7 +206,7 @@ public class CameraVehicle : MonoBehaviour
}
//Constants
float camDist = (float)Game.PlayerVeh.camOffset + Game.Settings.camDist;
float camDist = (float)camTargetVeh.camOffset + Game.Settings.camDist;
//World Entry Effect
if (worldTime < 7f)
@@ -200,11 +214,11 @@ public class CameraVehicle : MonoBehaviour
worldTime = Time.time - Game.Controller.worldLoadTime;
transform.position = Vector3.Lerp(
transform.position,
Game.Player.transform.position,
camTarget.transform.position,
Time.deltaTime * 1f
);
wr = Quaternion.LookRotation(
Game.Player.transform.position - transform.position,
camTarget.transform.position - transform.position,
Vector3.up
);
if (worldTime > 1f)
@@ -224,7 +238,7 @@ public class CameraVehicle : MonoBehaviour
(Input.GetButton("Snipe") && !Game.Messaging.chatting)
)
{
transform.position = Game.PlayerVeh.ridePos.position;
transform.position = camTargetVeh.ridePos.position;
if (Input.GetButtonDown("Fire2") || Input.GetKeyDown(KeyCode.Alpha1))
{
@@ -234,7 +248,7 @@ public class CameraVehicle : MonoBehaviour
{
gyroTation = Quaternion.Euler(
0f,
Game.PlayerVeh.ridePos.rotation.eulerAngles.y,
camTargetVeh.ridePos.rotation.eulerAngles.y,
0f
);
}
@@ -246,7 +260,7 @@ public class CameraVehicle : MonoBehaviour
}
else
{
transform.rotation = Game.PlayerVeh.ridePos.rotation;
transform.rotation = camTargetVeh.ridePos.rotation;
}
rotationX += Input.GetAxis("Mouse X") * (Input.GetButton("Snipe") ? 0.5f : 2f);
@@ -291,9 +305,9 @@ public class CameraVehicle : MonoBehaviour
{
transform.position = Vector3.Lerp(
transform.position,
Game.Player.transform.position - Vector3.Normalize(
Game.Player.transform.position - transform.position
) * camDist + Vector3.one * (Game.PlayerVeh.camSmooth ?
camTarget.transform.position - Vector3.Normalize(
camTarget.transform.position - transform.position
) * camDist + Vector3.one * (camTargetVeh.camSmooth ?
0f :
Mathf.Lerp(0f, 15f, camDist / 30f)
),
@@ -302,9 +316,9 @@ public class CameraVehicle : MonoBehaviour
transform.rotation = Quaternion.Slerp(
transform.rotation,
Quaternion.LookRotation(
Game.Player.transform.position - transform.position,
camTarget.transform.position - transform.position,
(Game.Settings.flightCam ?
Game.Player.transform.up :
camTarget.transform.up :
Vector3.up
)
),
@@ -329,15 +343,15 @@ public class CameraVehicle : MonoBehaviour
else if (Game.Settings.camChase == 1)
{
if (
(bool)Game.Player.transform.gameObject.rigidbody &&
Game.Player.transform.gameObject.rigidbody.velocity.sqrMagnitude > 0.1f &&
Game.Player.transform.gameObject.rigidbody.velocity.normalized.y < 0.8f &&
Game.Player.transform.gameObject.rigidbody.velocity.normalized.y > -0.8f
(bool)camTarget.transform.gameObject.rigidbody &&
camTarget.transform.gameObject.rigidbody.velocity.sqrMagnitude > 0.1f &&
camTarget.transform.gameObject.rigidbody.velocity.normalized.y < 0.8f &&
camTarget.transform.gameObject.rigidbody.velocity.normalized.y > -0.8f
)
{
lastDir = Vector3.Lerp(
lastDir,
Game.Player.transform.gameObject.rigidbody.velocity.normalized,
camTarget.transform.gameObject.rigidbody.velocity.normalized,
0.1f
);
}
@@ -350,12 +364,12 @@ public class CameraVehicle : MonoBehaviour
);
}
Vector3 newPos = (
Game.Player.transform.position +
camTarget.transform.position +
lastDir * -(camDist) +
Vector3.up * (camDist / 3f)
);
Vector3 tpos = transform.position;
float y = tpos.y + (Game.Player.transform.position.y - lastY) * Time.deltaTime;
float y = tpos.y + (camTarget.transform.position.y - lastY) * Time.deltaTime;
tpos.y = y;
transform.position = tpos;
transform.position = Vector3.Lerp(
@@ -363,13 +377,13 @@ public class CameraVehicle : MonoBehaviour
newPos,
Time.deltaTime * 4f
);
lastY = Game.Player.transform.position.y;
lastY = camTarget.transform.position.y;
transform.rotation = Quaternion.Slerp(
transform.rotation,
Quaternion.LookRotation(
Game.Player.transform.position - transform.position,
camTarget.transform.position - transform.position,
(Game.Settings.flightCam ?
Game.Player.transform.up :
camTarget.transform.up :
Vector3.up
)
),
@@ -395,13 +409,13 @@ public class CameraVehicle : MonoBehaviour
//Arcade
else if (
Game.Settings.camChase == 2 &&
Game.Player.transform.rigidbody.velocity.magnitude > 0f
camTarget.transform.rigidbody.velocity.magnitude > 0f
)
{
float heightDamping = 3f;
float rotationDamping = 3f;
float wantedRotationAngle = Quaternion.LookRotation(
Game.Player.transform.rigidbody.velocity
camTarget.transform.rigidbody.velocity
).eulerAngles.y;
wantedRotationAngle += Mathf.Lerp(
30f,
@@ -409,7 +423,7 @@ public class CameraVehicle : MonoBehaviour
camDist / 30f
) * Input.GetAxis("Horizontal");
float wantedHeight = (
Game.Player.transform.position.y +
camTarget.transform.position.y +
Mathf.Lerp(0.1f, 15f, camDist / 30f) +
heightBoost
);
@@ -432,7 +446,7 @@ public class CameraVehicle : MonoBehaviour
currentRotationAngle,
0f
);
Vector3 pos = Game.Player.transform.position;
Vector3 pos = camTarget.transform.position;
pos.y += targetHeight; //Look ABOVE the target
transform.position = pos;
transform.position -= currentRotation * Vector3.forward * camDist;
@@ -455,7 +469,7 @@ public class CameraVehicle : MonoBehaviour
{ //We are under terrain
Physics.Linecast( //Determine how far forward we need to go to be out of it
transform.position,
Game.Player.transform.position + Vector3.up * currentHeight,
camTarget.transform.position + Vector3.up * currentHeight,
out hit,
1 << 8
);
@@ -476,11 +490,11 @@ public class CameraVehicle : MonoBehaviour
{
transform.position = Vector3.Lerp(
transform.position,
Game.Player.transform.position + Vector3.up * 40f,
camTarget.transform.position + Vector3.up * 40f,
Time.deltaTime * 0.3f
);
wr = Quaternion.LookRotation(
Game.Player.transform.position - transform.position,
camTarget.transform.position - transform.position,
Vector3.up
);
transform.rotation = Quaternion.Slerp(
@@ -495,7 +509,7 @@ public class CameraVehicle : MonoBehaviour
{
transform.rotation = Quaternion.Slerp(
transform.rotation,
Quaternion.LookRotation(Game.Player.transform.position - transform.position),
Quaternion.LookRotation(camTarget.transform.position - transform.position),
Time.deltaTime * 1.5f
);
transform.Translate(new Vector3(
@@ -1,16 +1,8 @@
using System;
using CompilerGenerated;
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class
| AttributeTargets.Method)]
public sealed class ExtensionAttribute : Attribute { }
}
public static class CompilerGeneratedExtensions
{
//[Extension]
public static IAsyncResult BeginInvoke(
this adaptableMethod self,
AsyncCallback callback
@@ -19,7 +11,6 @@ public static class CompilerGeneratedExtensions
return self.BeginInvoke(callback, null);
}
//[Extension]
public static IAsyncResult BeginInvoke(
this adaptableMethod self
)
@@ -8,9 +8,9 @@ public class EntryPoint : MonoBehaviour
{
public IEnumerator Start()
{
yield return new WaitForSeconds(15.0f);
yield return new WaitForSeconds(15f);
ParticleEmitter pe = (ParticleEmitter)GetComponent(typeof(ParticleEmitter));
ParticleEmitter pe = this.GetComponent<ParticleEmitter>();
pe.emit = true;
}
}
@@ -111,7 +111,7 @@ public class Game : MonoBehaviour
public bool serverHidden = false;
[NonSerialized]
public Hashtable authenticatedPlayers = new Hashtable();
private ArrayList authenticatingPlayers = new ArrayList();
//private ArrayList authenticatingPlayers = new ArrayList();
[NonSerialized]
public static Hashtable Players;
public List<unauthPlayer> unauthPlayers = new List<unauthPlayer>();
@@ -289,7 +289,8 @@ public class Game : MonoBehaviour
0,
(isHost ? 1 : 0),
0,
0);
0,
false);
if (isHost)
{
@@ -1098,7 +1099,8 @@ public class Game : MonoBehaviour
veh.isBot ? 1 : 0,
veh.isIt,
veh.score,
veh.specialInput ? 1 : 0);
veh.specialInput ? 1 : 0,
veh.zorbBall);
veh.networkView.RPC(
"sC",
player,
@@ -1254,7 +1256,6 @@ public class Game : MonoBehaviour
": ";
try
{
float boo = Convert.ToSingle(thread.Value);
threadList +=
Mathf.RoundToInt(
Convert.ToSingle(thread.Value) *
@@ -1599,7 +1600,8 @@ public class Game : MonoBehaviour
1,
0,
0,
0);
0,
PlayerVeh.zorbBall);
}
public IEnumerator axeBot()
@@ -1635,6 +1637,7 @@ public class Game : MonoBehaviour
int score = PlayerVeh.score;
int specialInput = (PlayerVeh.specialInput ? 1 : 0);
string name = Player.name;
bool zorbBall = PlayerVeh.zorbBall;
Network.Destroy(Player.rigidbody.networkView.viewID);
networkView.RPC(
"iV",
@@ -1646,7 +1649,8 @@ public class Game : MonoBehaviour
0,
isIt,
score,
specialInput);
specialInput,
zorbBall);
}
[RPC]
@@ -1808,7 +1812,8 @@ public class Game : MonoBehaviour
int isBot,
int isIt,
int score,
int specialInput)
int specialInput,
bool zorbBall)
{
//while(worldLoaded == false) yield return null;
@@ -1867,8 +1872,10 @@ public class Game : MonoBehaviour
plyVeh.isIt = isIt;
plyVeh.score = score;
plyVeh.specialInput = (specialInput == 1);
plyVeh.zorbBall = zorbBall;
if (viewID.isMine && isBot == 0) Player = plyObj;
if (plyVeh.isIt == 1) QuarryVeh = plyVeh;
}
[RPC]
@@ -2048,7 +2055,7 @@ public class Game : MonoBehaviour
}
[RPC]
public void sSH(string sname, string sworld, string swelcome, string sblacklist, string spassword, float gVersion, bool shidden, NetworkMessageInfo info)
public void sSH(string sname, string sworld, string swelcome, string sblacklist, string spassword, SemVer gVersion, bool shidden, NetworkMessageInfo info)
{
serverName = sname;
Settings.serverWelcome = swelcome;
@@ -2140,9 +2147,12 @@ public class Game : MonoBehaviour
public static string LanguageFilter(string str)
{
string patternMild = " crap | prawn |d4mn| damn | turd ";
/*string patternMild = " crap | prawn |d4mn| damn | turd ";
str = Regex.Replace(str, patternMild, ".", RegexOptions.IgnoreCase);
string pattern = "anus|ash0le|ash0les|asholes| ass |Ass Monkey|Assface|assh0le|assh0lez|bastard|bastards|bastardz|basterd|suka|asshole|assholes|assholz|asswipe|azzhole|bassterds|basterdz|Biatch|bitch|bitches|Blow Job|blowjob|in bed|butthole|buttwipe|c0ck|c0cks|c0k|Clit|cnts|cntz|cockhead| cock |cock-head|CockSucker|cock-sucker| cum |cunt|cunts|cuntz|dick|dild0|dild0s|dildo|dildos|dilld0|dilld0s|dominatricks|dominatrics|dominatrix|f.u.c.k|f u c k|f u c k e r|fag|fag1t|faget|fagg1t|faggit|faggot|fagit|fags|fagz|faig|faigs|fuck|fucker|fuckin|mother fucker|fucking|fucks|Fudge Packer|fuk|Fukah|Fuken|fuker|Fukin|Fukk|Fukkah|Fukken|Fukker|Fukkin|gay|gayboy|gaygirl|gays|gayz|God-dam|God dam|h00r|h0ar|h0re|jackoff|jerk-off|jizz|kunt|kunts|kuntz|Lesbian|Lezzian|Lipshits|Lipshitz|masochist|masokist|massterbait|masstrbait|masstrbate|masterbaiter|masterbate|masterbates|Motha Fucker|Motha Fuker|Motha Fukkah|Motha Fukker|Mother Fucker|Mother Fukah|Mother Fuker|Mother Fukkah|Mother Fukker|mother-fucker|Mutha Fucker|Mutha Fukah|Mutha Fuker|Mutha Fukkah|Mutha Fukker|orafis|orgasim|orgasm|orgasum|oriface|orifice|orifiss|packi|packie|packy|paki|pakie|peeenus|peeenusss|peenus|peinus|pen1s|penas|penis|penis-breath|penus|penuus|Phuc|Phuck|Phuk|Phuker|Phukker|polac|polack|polak|Poonani|pr1c|pr1ck|pr1k|pusse|pussee|pussy|puuke|puuker|queer|queers|queerz|qweers|qweerz|qweir|recktum|rectum|retard|sadist|scank|schlong|screwing| sex |sh1t|sh1ter|sh1ts|sh1tter|sh1tz|shit|shits|shitter|Shitty|Shity|shitz|Shyt|Shyte|Shytty|Shyty|skanck|skank|skankee| sob |skankey|skanks|Skanky|slut|sluts|Slutty|slutz|son-of-a-bitch|va1jina|vag1na|vagiina|vagina|vaj1na|vajina|vullva|vulva|xxx|b!+ch|bitch|blowjob|clit|arschloch|fuck|shit|asshole|b!tch|b17ch|b1tch|bastard|bi+ch|boiolas|buceta|c0ck|cawk|chink|clits|cunt|dildo|dirsa|ejakulate|fatass|fcuk|fuk|fux0r|l3itch|lesbian|masturbate|masterbat*|motherfucker|s.o.b.|mofo|nigga|nigger|n1gr|nigur|niiger|niigr|nutsack|phuck|blue balls|blue_balls|blueballs|pussy|scrotum|shemale|sh!t|slut|smut|teets|tits|boobs|b00bs|testical|testicle|titt|jackoff|whoar|whore|fuck|shit|arse|bi7ch|bitch|bollock|breasts|cunt|dick|fag |feces|fuk|futkretzn|gay|jizz|masturbat*|piss|poop|porn|p0rn|pr0n|shiz|splooge|b00b|testicle|titt|wank";
return Regex.Replace(str, pattern, "#", RegexOptions.IgnoreCase);
return Regex.Replace(str, pattern, "#", RegexOptions.IgnoreCase);*/
// the kids that played this game back then are no longer kids. little need to babysit them anymore
return str;
}
}
@@ -4,7 +4,8 @@ using UnityEngine;
[Serializable]
public class GameData : MonoBehaviour
{
public static float gameVersion = 2.22f;
//public static float gameVersion = 4.0f;
public static SemVer gameVersion = new SemVer("4.0.1");
public static float serverVersion = 0.2f;
public static string gameName = "marsxplr";
public static string userName = "";
+43
View File
@@ -0,0 +1,43 @@
using System;
using UnityEngine;
[Serializable]
public class Init : MonoBehaviour
{
public GUIText txt;
//----------------------
// temporary fix for texture/font rendering issues on super high res moniters
// resolution is capped to 1920x1080
public void Start()
{
int wnew = -1;
int hnew = -1;
foreach(Resolution r in Screen.resolutions)
{
if(
r.width > 1920 || r.width < wnew ||
r.height > 1080 || r.height < hnew)
{
continue;
}
wnew = r.width;
hnew = r.height;
}
Screen.SetResolution(wnew, hnew, Screen.fullScreen);
}
//----------------------
public void Update()
{
float i = Application.GetStreamProgressForLevel(Application.loadedLevel + 1);
if (i == 1f)
{
Application.LoadLevel(Application.loadedLevel + 1);
}
else
{
txt.text = Mathf.RoundToInt(i * 100f) + "%";
}
}
}
@@ -17,21 +17,21 @@ public class JumpPoint : MonoBehaviour
{
return;
}
if ((bool)whirldObject.parameters["JumpTime"])
if (whirldObject.parameters["JumpTime"] != null)
{
time = (int)whirldObject.parameters["JumpTime"];
time = (int)float.Parse((String)whirldObject.parameters["JumpTime"]);
}
if ((bool)whirldObject.parameters["JumpRandMin"])
if (whirldObject.parameters["JumpRandMin"] != null)
{
randMin = (int)whirldObject.parameters["JumpRandMin"];
randMin = (int)float.Parse((String)whirldObject.parameters["JumpRandMin"]);
}
if ((bool)whirldObject.parameters["JumpRandMax"])
if (whirldObject.parameters["JumpRandMax"] != null)
{
randMax = (int)whirldObject.parameters["JumpRandMax"];
randMax = (int)float.Parse((String)whirldObject.parameters["JumpRandMax"]);
}
if ((bool)whirldObject.parameters["JumpVelocity"])
if (whirldObject.parameters["JumpVelocity"] != null)
{
velocity = (int)whirldObject.parameters["JumpVelocity"];
velocity = (int)float.Parse((String)whirldObject.parameters["JumpVelocity"]);
}
}
@@ -58,6 +58,12 @@ public class JumpPoint : MonoBehaviour
transform.up * velocity,
ForceMode.VelocityChange);
}
/*other.attachedRigidbody.AddExplosionForce(
UnityEngine.Random.Range(randMin, randMax),
transform.position,
0f,
2f,
ForceMode.VelocityChange);*/
}
}
@@ -86,22 +86,6 @@ public class Lobby : MonoBehaviour
private bool dedicatedNAT;
// /*UNUSED*/ private int dedicatedHostAttempts;
private bool showAds = false;
adDesc[] gameAds;
class adDesc : UnityEngine.Object
{
public String url = "";
public String title = "";
public String desc = "";
public adDesc(String u, String t, String d)
{
this.url = u;
this.title = t;
this.desc = d;
}
}
public void Awake()
{
QualitySettings.currentLevel = QualityLevel.Fantastic;
@@ -111,9 +95,6 @@ public class Lobby : MonoBehaviour
public IEnumerator Start()
{
String adBrightUrl = "";
String adSenseUrl = "";
userPassword = PlayerPrefs.GetString("userPassword", "");
userCode = PlayerPrefs.GetString("userCode", "");
userRemembered = (PlayerPrefs.GetInt("userRemembered", 0) == 1 ? true : false);
@@ -155,11 +136,8 @@ public class Lobby : MonoBehaviour
String[] val = tmp.ToArray();
if (
val[0] == "v" &&
float.Parse(
val[1],
CultureInfo.InvariantCulture.NumberFormat
) > (float)GameData.gameVersion)
val[0] == "sv" &&
SemVer.Parse(val[1]) > GameData.gameVersion)
{
outdated = val[1];
}
@@ -167,10 +145,6 @@ public class Lobby : MonoBehaviour
{
hostDedicated = (val[1] == "1" || val[1] == "true");
}
else if (val[0] == "a")
{
showAds = (val[1] == "1" || val[1] == "true");
}
else if (val[0] == "m") msgs.Add(val[1]);
else if (val[0] == "w")
{
@@ -228,14 +202,6 @@ public class Lobby : MonoBehaviour
{
GameData.networkMode = int.Parse(val[1]);
}
else if (val[0] == "adbr")
{
adBrightUrl = val[1];
}
else if (val[0] == "adsn")
{
adSenseUrl = val[1];
}
}
}
else
@@ -247,60 +213,6 @@ public class Lobby : MonoBehaviour
messages = msgs.ToArray();
MasterServer.RequestHostList(gameName);
if (showAds)
{
List<adDesc> ads = new List<adDesc>();
//Adbrite
www = new WWW(adBrightUrl);
yield return www;
if (www.error == null)
{
MatchCollection matches = Regex.Matches(
www.data.Replace(
"\\\"",
"\""),
"<a[^>]*?class=\\\"adHeadline\\\"[^>]*?href=\\\"(.*?)\\\"[^>]*?>(.*?)</a>[^.]*?<a[^>]*?class=\\\"adText\\\"[^>]*?>(.*?)</a>");
foreach (Match match in matches)
{
adDesc ad = new adDesc(
match.Groups[1].ToString(),
htmlDecode(match.Groups[2].ToString()),
htmlDecode(match.Groups[3].ToString()));
if (UnityEngine.Random.value > .5) ads.Add(ad);
else ads.Insert(0, ad);
}
}
//Adsense
www = new WWW(adSenseUrl);
yield return www;
if (www.error == null)
{
MatchCollection matches = Regex.Matches(
www.data.Replace(
"\\\"",
"\""),
"<a[^>]*?class=adt[^>]*?href=\\\"(.*?)\\\"[^>]*?>(.*?)</a>[^.]*?<div[^>]*?class=adb[^>]*?>(.*?)</div>");
foreach (Match match in matches)
{
adDesc ad = new adDesc(
"http://googleads.g.doubleclick.net" +
match.Groups[1].ToString(),
htmlDecode(match.Groups[2].ToString()),
htmlDecode(match.Groups[3].ToString()));
if (ad.url.IndexOf("&nh=1") == -1) ad.url += "&nh=1";
ads.Insert(0, ad);
}
}
//Tally
if (ads.Count > 0)
{
gameAds = ads.ToArray();
}
}
}
public void OnFailedToConnectToMasterServer(NetworkConnectionError info)
@@ -992,7 +904,7 @@ public class Lobby : MonoBehaviour
HostData[] data = MasterServer.PollHostList();
String[] serverData;
float gameVersion;
SemVer gameVersion;
float serverVersion;
//Precull Data
@@ -1007,13 +919,13 @@ public class Lobby : MonoBehaviour
if (filterNATHosts && element.useNat) continue;
serverData = element.comment.Split(";"[0]);
gameVersion = 0.0f;
gameVersion = new SemVer(0);
serverVersion = 0.0f;
foreach (String dat in serverData)
{
if (dat == "") continue;
vals = dat.Split("="[0]);
if (vals[0] == "v") gameVersion = float.Parse(vals[1]);
if (vals[0] == "v") gameVersion = SemVer.Parse(vals[1]);
if (vals[0] == "d") serverVersion = float.Parse(vals[1]);
}
@@ -1041,44 +953,16 @@ public class Lobby : MonoBehaviour
System.Array.Sort(data, sortHostArray);
int i = 0;
float adCounter = 0.000f;
int adTicker = 0;
foreach (HostData element in data)
{
//Ads
if (showAds)
{
adCounter += (float)gameAds.Length / (float)data.Length;
if ((float)adTicker < adCounter && adTicker < gameAds.Length)
{
if (
GUILayout.Button(
gameAds[adTicker].title +
" ~ " +
gameAds[adTicker].desc,
"lobbyAd"))
{
OpenURL(gameAds[adTicker].url);
}
if (
Event.current.type != EventType.Layout &&
mouseInServerList &&
GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition))
{
serverDetails = "This advertisement helps bring Mars Explorer to you for free!\n\nIf you are interested in one of our sponsor's offers,\nplease be sure to check it out.";
}
adTicker++;
}
}
masterServerConFailures = 0;
masterServerMessage = "";
serverData = element.comment.Split(";"[0]);
gameVersion = 0.0f;
gameVersion = new SemVer(0);
serverVersion = 0.0f;
String serverWorld = "";
String serverPlayers = "";
String serverWorldURL = "";
// /*UNUSED*/ String serverWorldURL = "";
String bannedIPs = "";
String serverLag = "";
bool isLocked = false;
@@ -1086,11 +970,11 @@ public class Lobby : MonoBehaviour
{
if (dat == "") continue;
vals = dat.Split("="[0]);
if (vals[0] == "v") gameVersion = float.Parse(vals[1]);
if (vals[0] == "v") gameVersion = SemVer.Parse(vals[1]);
if (vals[0] == "d") serverVersion = float.Parse(vals[1]);
else if (vals[0] == "w") serverWorld = vals[1];
else if (vals[0] == "p") serverPlayers = vals[1];
else if (vals[0] == "u") serverWorldURL = vals[1];
//else if (vals[0] == "u") serverWorldURL = vals[1];
else if (vals[0] == "b") bannedIPs = vals[1];
else if (vals[0] == "s") serverLag = vals[1];
else if (vals[0] == "l") isLocked = true;
@@ -1179,21 +1063,6 @@ public class Lobby : MonoBehaviour
(serverVersion != 0.0 ? " (» Dedicated Host Server)" : "");
}
i++;
//"Advertise Here" Ad
if (showAds && i == data.Length)
{
if (GUILayout.Button("» Advertise on Mars Explorer! «", "lobbyAd"))
{
OpenURL("http://www.adbrite.com/mb/commerce/purchase_form.php?opid=1509409&&nr=1");
}
if (Event.current.type != EventType.Layout &&
mouseInServerList &&
GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition))
{
serverDetails = "That's right - you can bid directly to advertise inside Mars Explorer!\n\nPresent YOUR message to an audience\nof friendly Martians everywhere.";
}
}
}
}
if (activePlayersVisible == 0)
@@ -1532,12 +1401,12 @@ public class Lobby : MonoBehaviour
GUILayout.Label("A new Mars Explorer version is now available on the Discord Server:");
GUILayout.Space(10f);
if (
GUILayout.Button(">> Ask in the #marsxplr channel to Download Mars Explorer version " +
GUILayout.Button(">> Go to the Gitea Releases page to Download MarsXPLR version " +
outdated +
"! <<",
GUILayout.Height(40f)))
{
OpenURL("https://discord.gg/dxTFZRM");
OpenURL("https://gitea.moe/VIA256/marsxplr-decomp/releases");
}
GUILayout.Space(30f);
GUILayout.BeginHorizontal();
@@ -284,7 +284,7 @@ public class MeshSerializer : MonoBehaviour
float xx = ((float)(int)ix - 128f) / 127f;
float yy = ((float)(int)iy - 128f) / 127f;
float zz = ((float)(int)iz - 128f) / 127f;
float ww = ((float)(int)iz - 128f) / 127f;
float ww = ((float)(int)iw - 128f) / 127f;
arr[i] = new Vector4(xx, yy, zz, ww);
}
}
@@ -297,7 +297,7 @@ public class MeshSerializer : MonoBehaviour
byte ix = (byte)Mathf.Clamp(v.x * 127f + 128f, 0f, 255f);
byte iy = (byte)Mathf.Clamp(v.y * 127f + 128f, 0f, 255f);
byte iz = (byte)Mathf.Clamp(v.z * 127f + 128f, 0f, 255f);
byte iw = (byte)Mathf.Clamp(v.z * 127f + 128f, 0f, 255f);
byte iw = (byte)Mathf.Clamp(v.w * 127f + 128f, 0f, 255f);
buf.Write(ix);
buf.Write(iy);
buf.Write(iz);
@@ -130,10 +130,10 @@ public class Messaging : MonoBehaviour
RPCMode.All,
!Game.PlayerVeh.zorbBall);
Game.Controller.msg(
"XORB " + ((!Game.PlayerVeh.zorbBall) ?
"Deactivated" :
"Activated"),
2);
"XORB " + (Game.PlayerVeh.zorbBall ?
"Activated" :
"Deactivated"),
(int)chatOrigins.Server);
}
else
{
@@ -39,7 +39,7 @@ public class SeaData : MonoBehaviour
whirldObject == null ||
whirldObject.parameters == null ||
seaObject == null ||
!(bool)whirldObject.parameters["Mode"])
whirldObject.parameters["Mode"] == null)
{
return;
}
+115
View File
@@ -0,0 +1,115 @@
using System;
public class SemVer
{
public byte maj;
public byte min;
public byte patch;
public SemVer(byte mj, byte mn, byte pt)
{
maj = mj;
min = mn;
patch = pt;
}
public SemVer(byte mj, byte mn)
{
maj = mj;
min = mn;
patch = 0;
}
public SemVer(byte mj)
{
maj = mj;
min = 0;
patch = 0;
}
public SemVer(String str)
{
SemVer sv = SemVer.Parse(str);
maj = sv.maj;
min = sv.min;
patch = sv.patch;
}
public static bool operator ==(SemVer a, SemVer b)
{
return (
a.maj == b.maj &&
a.min == b.min &&
a.patch == b.patch);
}
public static bool operator !=(SemVer a, SemVer b)
{
return (
a.maj != b.maj ||
a.min != b.min ||
a.patch != b.patch);
}
public static bool operator >(SemVer a, SemVer b)
{
return a.maj > b.maj ? true :
a.min > b.min ? true :
a.patch > b.patch ? true :
false;
}
public static bool operator >=(SemVer a, SemVer b)
{
return a.maj >= b.maj ? true :
a.min >= b.min ? true :
a.patch >= b.patch ? true :
false;
}
public static bool operator <=(SemVer a, SemVer b)
{
return b > a;
}
public static bool operator <(SemVer a, SemVer b)
{
return b >= a;
}
public override string ToString()
{
if (patch == 0) return maj.ToString() + "." + min.ToString();
return maj.ToString() + "." + min.ToString() + "." + patch.ToString();
}
public static SemVer Parse(String str)
{
String[] sv = str.Split("."[0]);
if (sv.Length == 3) return new SemVer(
byte.Parse(sv[0]),
byte.Parse(sv[1]),
byte.Parse(sv[2]));
if (sv.Length == 2) return new SemVer(
byte.Parse(sv[0]),
byte.Parse(sv[1]));
if (sv.Length == 1) return new SemVer(
byte.Parse(sv[0]));
throw new FormatException();
}
public override int GetHashCode()
{
return maj.GetHashCode() ^ (min.GetHashCode() << 2) ^ (patch.GetHashCode() >> 2);
}
public override bool Equals(object other)
{
if (!(other is SeaData)) return false;
SemVer osv = (SemVer)other;
return (
osv.maj == maj &&
osv.min == min &&
osv.patch == patch);
}
}
@@ -71,6 +71,7 @@ public class Settings : MonoBehaviour
public float camDist = 0;
public bool flightCam = false;
public bool gyroCam = false;
public bool quarryCam = false;
public float worldGrav = -9.81f;
public float worldFog = 0.001f;
@@ -154,19 +155,17 @@ public class Settings : MonoBehaviour
renderViewCap = PlayerPrefs.GetFloat("viewCap", 1000f);
Application.targetFrameRate = (int)PlayerPrefs.GetFloat("targetFrameRate", 100f);
renderAutoAdjust = false;
showHints = ((PlayerPrefs.GetInt("showHints", 1) != 0) ? true : false);
showHints = PlayerPrefs.GetInt("showHints", 1) != 0;
useMusic = PlayerPrefs.GetInt("useMusic", 1);
useSfx = ((PlayerPrefs.GetInt("useSfx", 1) != 0) ? true : false);
useSfx = PlayerPrefs.GetInt("useSfx", 1) != 0;
useHypersound = PlayerPrefs.GetInt("useHypersound", 0);
useMinimap = ((PlayerPrefs.GetInt("useMinimap", 1) != 0) ? true : false);
bool flag = ((PlayerPrefs.GetInt("superCam", 1) != 0) ? true : false);
flightCam = ((PlayerPrefs.GetInt("flightCam", 1) != 0) ? true : false);
gyroCam = ((PlayerPrefs.GetInt("gyroCam", 0) != 0) ? true : false);
useMinimap = PlayerPrefs.GetInt("useMinimap", 1) != 0;
camMode = PlayerPrefs.GetInt("cam", 1);
camChase = PlayerPrefs.GetInt("camChase", 1);
camDist = PlayerPrefs.GetFloat("camDist", 0.01f);
flightCam = ((PlayerPrefs.GetInt("flightCam", 0) != 0) ? true : false);
gyroCam = ((PlayerPrefs.GetInt("gyroCam", 0) != 0) ? true : false);
flightCam = PlayerPrefs.GetInt("flightCam", 0) != 0;
gyroCam = PlayerPrefs.GetInt("gyroCam", 0) != 0;
quarryCam = PlayerPrefs.GetInt("quarryCam", 0) != 0;
}
public void showDialogGame()
@@ -486,6 +485,12 @@ public class Settings : MonoBehaviour
PlayerPrefs.SetInt("flightCam", flightCam ? 1 : 0);
}
if (GUILayout.Toggle(quarryCam, "QuarryCam Enabled") != quarryCam)
{
quarryCam = !quarryCam;
PlayerPrefs.SetInt("quarryCam", quarryCam ? 1 : 0);
}
float cg;
if (camMode == 0)
{
@@ -926,7 +931,7 @@ public class Settings : MonoBehaviour
ramoSpheres != 0f,
"RORBs Enabled") != (ramoSpheres != 0f))
{
ramoSpheres = ((ramoSpheres == 0f) ? 0.5f : 0f);
ramoSpheres = ((ramoSpheres != 0f) ? 0f : 0.5f);
if (ramoSpheres != 0f)
{
zorbSpeed = 7f;
@@ -954,7 +959,7 @@ public class Settings : MonoBehaviour
zorbSpeed != 0f,
"XORBs Available") != (zorbSpeed != 0f))
{
zorbSpeed = ((zorbSpeed == 0f) ? 7 : 0);
zorbSpeed = ((zorbSpeed != 0f) ? 0 : 7);
updateServerPrefs();
}
@@ -123,7 +123,7 @@ public class TerrainController : MonoBehaviour
if (trnAlt < seaLevel)
{
submerged = true;
float depth = seaLevel + trnAlt;
// /*UNUSED*/ float depth = seaLevel + trnAlt;
}
//Update AlphaMap Array
@@ -308,20 +308,28 @@ public class Vehicle : MonoBehaviour
GUI.depth = -1;
if (networkView.isMine && !isBot)
{
Rigidbody targetRigidbody = myRigidbody;
if (
Game.Settings.quarryCam &&
(bool)Game.QuarryVeh &&
(bool)Game.QuarryVeh.myRigidbody)
{
targetRigidbody = Game.QuarryVeh.myRigidbody;
}
GUI.Button(
new Rect(
(float)Screen.width * 0.5f - 75f,
(float)Screen.height - 30f,
150f,
20f),
(myRigidbody.velocity.magnitude < 0.05f ?
Mathf.RoundToInt(myRigidbody.velocity.magnitude * 2.23f) +
" MPH" :
"Static") +
(targetRigidbody.velocity.magnitude < 0.05f ?
"Static" :
Mathf.RoundToInt(targetRigidbody.velocity.magnitude * 2.23f) +
" MPH") +
" " +
Mathf.RoundToInt(myRigidbody.transform.position.y) +
Mathf.RoundToInt(targetRigidbody.transform.position.y) +
" ALT" +
((isIt != 0) ?
((isIt != 0 || Game.Settings.quarryCam) ?
"" :
(" " +
Mathf.RoundToInt(Game.Controller.quarryDist) +
@@ -330,59 +338,64 @@ public class Vehicle : MonoBehaviour
}
GUI.depth = 5;
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
if (
(!networkView.isMine || isBot &&
Game.Settings.hideNames &&
(Vector3.Distance(
new Vector3(pos.x, pos.y, 0f),
Input.mousePosition) >= 40f ||
Physics.Linecast(
bool mainTag = networkView.isMine && !isBot;
if(Game.Settings.quarryCam && (bool)Game.QuarryVeh)
{
mainTag = (this == Game.QuarryVeh);
}
if (
mainTag ||
!Game.Settings.hideNames ||
(
Vector3.Distance(
new Vector3(pos.x, pos.y, 0),
Input.mousePosition) < 40 &&
!Physics.Linecast(
transform.position,
Camera.main.transform.position,
1 << 8))) ||
(pos.z <= 0f) &&
(!networkView.isMine || isBot))
{
return;
}
if (pos.z < 0f)
{
pos.z = 0f;
}
float sizeX = Mathf.Max(
50f,
Mathf.Min(150f, (float)Screen.width * 0.16f) -
pos.z / 1.5f);
float sizeY = Mathf.Max(
20f,
Mathf.Min(50f, (float)Screen.width * 0.044f) -
pos.z * 0.2f);
if (
(pos.z <= 1f || pos.y < sizeY * 1.9f) &&
networkView.isMine && !isBot)
{
if (pos.z <= 1f)
{
pos.x = Screen.width / 2;
}
pos.y = sizeY + 100f;
}
GUI.Button(
new Rect(
pos.x - sizeX * 0.5f,
(float)Screen.height - pos.y + sizeY * 1f,
sizeX,
sizeY),
name +
"\n" +
shortName +
" " +
score +
netCode,
"player_nametag" +
((isIt == 0) ?
"" :
"_it"));
Camera.main.transform.position, 1 << 8)))
{
if (pos.z > 0 || mainTag)
{
if (pos.z < 0f)
{
pos.z = 0f;
}
float sizeX = Mathf.Max(
50f,
Mathf.Min(150f, (float)Screen.width * 0.16f) -
pos.z / 1.5f);
float sizeY = Mathf.Max(
20f,
Mathf.Min(50f, (float)Screen.width * 0.044f) -
pos.z * 0.2f);
if (
(pos.z <= 1f || pos.y < sizeY * 1.9f) &&
mainTag)
{
if (pos.z <= 1f)
{
pos.x = Screen.width / 2;
}
pos.y = sizeY + 100f;
}
GUI.Button(
new Rect(
pos.x - sizeX * 0.5f,
(float)Screen.height - pos.y + sizeY * 1f,
sizeX,
sizeY),
name +
"\n" +
shortName +
" " +
score +
netCode,
"player_nametag" +
((isIt == 0) ?
"" :
"_it"));
}
}
}
public IEnumerator OnPrefsUpdated()
@@ -401,7 +414,7 @@ public class Vehicle : MonoBehaviour
transform.position,
transform.rotation);
ramoSphere.transform.parent = transform;
Collider[] colliders = (Collider[])vehObj.GetComponentsInChildren(typeof(Collider));
Collider[] colliders = (Collider[])vehObj.GetComponentsInChildren<Collider>();
foreach (Collider cldr in colliders)
{
Physics.IgnoreCollision(ramoSphere.collider, cldr);
@@ -410,15 +423,16 @@ public class Vehicle : MonoBehaviour
ramoSphere.active = false; //DRAGONHERE - MAJOR UNITY BUG: We need to set this all the time, as colliders that are instantiated using a prefab and are then thrown inside of rightbodies are not properly initialized until some of their settings are toggled
ramoSphereScale = (((Game.Settings.ramoSpheres) * 15) +
camOffset * 1);
zorbBall = Game.Settings.zorbSpeed != 0f ? zorbBall : false;
if (ramoSphere.collider.isTrigger == zorbBall)
{
ramoSphere.collider.isTrigger = !zorbBall;
ramoSphere.transform.localScale = Vector3.zero;
ramoSphere.active = true;
((RamoSphere)ramoSphere.GetComponent(typeof(RamoSphere)))
.colorSet(zorbBall);
ramoSphere.collider.active = true;
ramoSphere.SendMessage("colorSet", zorbBall); //ANOTHER UNITY BUG - for some reason, SendMessage isn't working like it should...
ramoSphere.GetComponent<RamoSphere>().colorSet(zorbBall);
}
else ramoSphere.active = true;
else ramoSphere.collider.active = true;
rigidbody.inertiaTensor = tnsor;
rigidbody.centerOfMass = cg;
}
@@ -217,4 +217,30 @@ public class VehicleBot : MonoBehaviour
}
}
}
public void FixedUpdate()
{
if (
(bool)vehicle.ramoSphere &&
vehicle.zorbBall &&
(vehicle.input.y != 0f || vehicle.input.x != 0f))
{
rigidbody.AddForce(
Vector3.Scale(
new Vector3(1f, 0f, 1f),
Camera.main.transform.TransformDirection(new Vector3(
vehicle.input.x * Mathf.Max(
0f,
Game.Settings.zorbSpeed + Game.Settings.zorbAgility),
0f,
vehicle.input.y * Game.Settings.zorbSpeed))),
ForceMode.Acceleration);
rigidbody.AddTorque(
Camera.main.transform.TransformDirection(new Vector3(
vehicle.input.y,
0f,
vehicle.input.x * -1f)) * Game.Settings.zorbSpeed,
ForceMode.Acceleration);
}
}
}
@@ -841,7 +841,7 @@ public class WhirldIn : System.Object
String tSpmp = null;
String tSpmp2 = null;
String[] tTxts = null;
String tDtmp = null;
// /*UNUSED*/ String tDtmp = null;
for (int i2 = 1; i2 < vS2.Length; i2++)
{
@@ -852,7 +852,7 @@ public class WhirldIn : System.Object
else if (str[0] == "s") tSpmp = GetURL(str[1]);
else if (str[0] == "s2") tSpmp2 = GetURL(str[1]);
else if (str[0] == "t") tTxts = str[1].Split(","[0]);
else if (str[0] == "d") tDtmp = GetURL(str[1]);
//else if (str[0] == "d") tDtmp = GetURL(str[1]);
}
String thread = tName;
+23
View File
@@ -0,0 +1,23 @@
## Assembly - UnityScript
import os
import shutil
def post(bld):
distdir = os.path.join(bld.top_dir, 'marsxplr_build', 'Mars Explorer_Data')
os.makedirs(distdir, exist_ok=True)
shutil.copy(
os.path.join(bld.out_dir, 'Assembly_-_UnityScript', '58cc2f0ae478d40e7a89c7ba576c3586.dll'),
os.path.join(distdir, 'Assembly - UnityScript.dll'))
def build(bld):
bld.add_post_fun(post)
bld(
source=bld.path.ant_glob(os.path.join('src', '*.cs')),
target='58cc2f0ae478d40e7a89c7ba576c3586.dll',
rule='"${MCS}" -recurse:\"' +
os.path.join(bld.path.abspath(), 'src', '*.cs') +
'\" -reference:\"' + str(os.path.join(bld.out_dir, 'UnityEngine', 'UnityEngine.dll')) +
'\" -reference:\"' + str(os.path.join(bld.out_dir, 'Assembly_-_CSharp_-_first_pass', '26998b3a9cbf54825a27e5f2d3cc4df1.dll')) +
'\" -out:${TGT} -target:library ${MONOOPTS}')
-41
View File
@@ -1,41 +0,0 @@
Assembly - UnityScript/obj/
Assembly - UnityScript/bin/
Assembly - UnityScript/.vs/
Assembly - UnityScript/Assembly---UnityScript.suo
Assembly - CSharp - first pass/obj/
Assembly - CSharp - first pass/bin/
Assembly - CSharp - first pass/.vs/
Assembly - CSharp - first pass/Assembly---CSharp---first-pass.suo
Assembly - CSharp/obj/
Assembly - CSharp/bin/
Assembly - CSharp/.vs/
Assembly - CSharp/Assembly---CSharp.suo
Assembly - UnityScript - first pass/obj/
Assembly - UnityScript - first pass/bin/
Assembly - UnityScript - first pass/.vs/
Assembly - UnityScript - first pass/Assembly---UnityScript---first-pass.suo
Ionic.Zlib/obj/
Ionic.Zlib/bin/
Ionic.Zlib/.vs/
Ionic.Zlib/Ionic.Zlib.suo
TerrainControllerData/obj/
TerrainControllerData/bin/
TerrainControllerData/.vs/
TerrainControllerData/TerrainControllerData.suo
marsxplr_build/
UnityEngine/obj/
UnityEngine/bin/
UnityEngine/.vs/
UnityEngine/UnityEngine.suo
Boo.Lang/obj/
Boo.Lang/bin/
Boo.Lang/.vs/
Boo.Lang/Boo.Lang.suo
UnityScript.Lang/obj/
UnityScript.Lang/bin/
UnityScript.Lang/.vs/
UnityScript.Lang/UnityScript.Lang.suo
UnityDomainLoad/obj/
UnityDomainLoad/bin/
UnityDomainLoad/.vs/
UnityDomainLoad/UnityDomainLoad.suo
@@ -1,66 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Assembly - CSharp - first pass</RootNamespace>
<AssemblyName>26998b3a9cbf54825a27e5f2d3cc4df1</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<ProjectGuid>{93A8D6B3-DD52-4C21-A101-AF360DAFC096}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<OutputPath>bin</OutputPath>
<AppendTargetFrameworkToOutputPath>False</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<Reference Include="UnityEngine">
<HintPath>..\UnityEngine\bin\UnityEngine.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="ActivateTrigger.cs" />
<Compile Include="BlurEffect.cs" />
<Compile Include="ColorCorrectionEffect.cs" />
<Compile Include="CombineChildren.cs" />
<Compile Include="ContrastStretchEffect.cs" />
<Compile Include="EdgeDetectEffect.cs" />
<Compile Include="GlowEffect.cs" />
<Compile Include="GrayscaleEffect.cs" />
<Compile Include="ImageEffectBase.cs" />
<Compile Include="ImageEffects.cs" />
<Compile Include="MeshCombineUtility.cs" />
<Compile Include="MotionBlur.cs" />
<Compile Include="MouseLook.cs" />
<Compile Include="NoiseEffect.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SepiaToneEffect.cs" />
<Compile Include="SSAOEffect.cs" />
<Compile Include="TwirlEffect.cs" />
<Compile Include="VortexEffect.cs" />
<Compile Include="Water.cs" />
<Compile Include="WaterSimple.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -1,49 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Assembly - CSharp</RootNamespace>
<AssemblyName>e36192721fc364533a8edf2aefd3b72c</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<OutputPath>bin</OutputPath>
<AppendTargetFrameworkToOutputPath>False</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<Reference Include="UnityEngine">
<HintPath>..\UnityEngine\bin\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="26998b3a9cbf54825a27e5f2d3cc4df1">
<HintPath>..\Assembly - CSharp - first pass\bin\26998b3a9cbf54825a27e5f2d3cc4df1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="*.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -1,103 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Assembly - UnityScript</RootNamespace>
<AssemblyName>58cc2f0ae478d40e7a89c7ba576c3586</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<ProjectGuid>{084E81A6-3376-4976-B642-4C6443C97C36}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<OutputPath>bin</OutputPath>
<AppendTargetFrameworkToOutputPath>False</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="UnityEngine">
<HintPath>..\UnityEngine\bin\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="26998b3a9cbf54825a27e5f2d3cc4df1">
<HintPath>..\Assembly - CSharp - first pass\bin\26998b3a9cbf54825a27e5f2d3cc4df1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="BaseSimple.cs" />
<Compile Include="Buggy.cs" />
<Compile Include="CameraVehicle.cs" />
<Compile Include="ColliderAtach.cs" />
<Compile Include="CompilerGeneratedExtensions.cs" />
<Compile Include="CompilerGenerated\GUIAdaptor.cs" />
<Compile Include="CustomCursor.cs" />
<Compile Include="EntryPoint.cs" />
<Compile Include="FloorController.cs" />
<Compile Include="Game.cs" />
<Compile Include="GameData.cs" />
<Compile Include="GameWorldDesc.cs" />
<Compile Include="Hovercraft.cs" />
<Compile Include="HoverThrustClustOfDust.cs" />
<Compile Include="HoverThrustMoonOrBust.cs" />
<Compile Include="Init.cs" />
<Compile Include="Jet.cs" />
<Compile Include="JetThruster.cs" />
<Compile Include="JumpPoint.cs" />
<Compile Include="Lobby.cs" />
<Compile Include="LobbyDecor.cs" />
<Compile Include="LobbyStarfield.cs" />
<Compile Include="MeshSerializer.cs" />
<Compile Include="Messaging.cs" />
<Compile Include="MiniMap.cs" />
<Compile Include="MonoBehaviourScript.cs" />
<Compile Include="PrefabHere.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RamoSphere.cs" />
<Compile Include="Rocket.cs" />
<Compile Include="SeaData.cs" />
<Compile Include="Settings.cs" />
<Compile Include="Skidmarks.cs" />
<Compile Include="SoundEffect.cs" />
<Compile Include="Tank.cs" />
<Compile Include="TankMe.cs" />
<Compile Include="TankTrack.cs" />
<Compile Include="TankTrackSimple.cs" />
<Compile Include="TerrainController.cs" />
<Compile Include="ThrustCone.cs" />
<Compile Include="Vehicle.cs" />
<Compile Include="VehicleBot.cs" />
<Compile Include="VehicleData.cs" />
<Compile Include="VehicleLocal.cs" />
<Compile Include="VehicleMe.cs" />
<Compile Include="VehicleNet.cs" />
<Compile Include="VehicleTrigger.cs" />
<Compile Include="WaterLightmapFog.cs" />
<Compile Include="WhirldData.cs" />
<Compile Include="WhirldIn.cs" />
<Compile Include="WhirldLibrary.cs" />
<Compile Include="WhirldLOD.cs" />
<Compile Include="WhirldObject.cs" />
<Compile Include="World.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
-21
View File
@@ -1,21 +0,0 @@
using System;
using UnityEngine;
[Serializable]
public class Init : MonoBehaviour
{
public GUIText txt;
public void Update()
{
float i = Application.GetStreamProgressForLevel(Application.loadedLevel + 1);
if (i == 1f)
{
Application.LoadLevel(Application.loadedLevel + 1);
}
else
{
txt.text = Mathf.RoundToInt(i * 100f) + "%";
}
}
}
-47
View File
@@ -1,47 +0,0 @@
<details closed>
<summary><h2>Assembly - UnityScript</h2></summary>
<h3>About</h3>
<ul>
<li>(almost) all of the games compiled unityscripts</li>
<li>Used ILSpy to decompile dll from marsxplr 2.22 win32 into C#</li>
<li>Updated upd3 address (Lobby.cs)</li>
<li>Updated game version from 2.22 to 2.3 (GameData.cs)</li>
<li>changed max bots from 10 to 25</li>
</ul>
</details>
<hr>
<details closed>
<summary><h2>Assembly - CSharp</h2></summary>
<h3>About</h3>
<ul>
<li>(almost) all of the games compiled C# scripts</li>
<li>decompiled with ilspy</li>
</ul>
</details>
<hr>
<details closed>
<summary><h2>Assembly - CSharp - first pass</h2></summary>
<h3>About</h3>
<ul>
<li>some of the games compiled C# scripts</li>
<li>decompiled with ilspy</li>
</ul>
</details>
<hr>
<details closed>
<summary><h2>UnityEngine</h2></summary>
<h3>About</h3>
<ul>
<li>Unity Engine functionality</li>
<li>decomipled with ilspy</li>
</ul>
</details>
<hr>
<details closed>
<summary><h2>UnityDomainLoad</h2></summary>
<h3>About</h3>
<ul>
<li>UnityDomainLoad.exe</li>
<li>decompiled with ilspy</li>
</ul>
</details>
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>UnityDomainLoad</RootNamespace>
<AssemblyName>UnityDomainLoad</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<OutputPath>bin</OutputPath>
<AppendTargetFrameworkToOutputPath>False</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="UnityEngine\UnityDomainLoad.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
-42
View File
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>UnityEngine</RootNamespace>
<AssemblyName>UnityEngine</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<ProjectGuid>{C67F4835-3976-49D0-AA05-3487C9FD57A2}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<OutputPath>bin</OutputPath>
<AppendTargetFrameworkToOutputPath>False</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="UnityEngine\*.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
-50
View File
@@ -1,50 +0,0 @@
@echo off
set "flags=/p:Configuration=Debug /p:Platform=Win32"
echo ----------------
echo BUILDING ALL
echo ----------------
msbuild %flags% "UnityEngine\UnityEngine.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
msbuild %flags% "Assembly - CSharp - first pass\Assembly---CSharp---first-pass.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
msbuild %flags% "Assembly - UnityScript\Assembly---UnityScript.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
msbuild %flags% "Assembly - CSharp\Assembly---CSharp.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
msbuild %flags% "UnityDomainLoad\UnityDomainLoad.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
echo -----------------
echo COPYING FILES
echo -----------------
if exist "marsxplr_build\Mars Explorer_Data\lib" rd /S /Q "marsxplr_build\Mars Explorer_Data\lib"
if %errorlevel% neq 0 exit /b %errorlevel%
if exist "marsxplr_build\Mars Explorer_Data" rd /S /Q "marsxplr_build\Mars Explorer_Data"
if %errorlevel% neq 0 exit /b %errorlevel%
if exist marsxplr_build rd /S /Q marsxplr_build
if %errorlevel% neq 0 exit /b %errorlevel%
md marsxplr_build
if %errorlevel% neq 0 exit /b %errorlevel%
md "marsxplr_build\Mars Explorer_Data"
if %errorlevel% neq 0 exit /b %errorlevel%
md "marsxplr_build\Mars Explorer_Data\lib"
if %errorlevel% neq 0 exit /b %errorlevel%
copy "Assembly - CSharp\bin\e36192721fc364533a8edf2aefd3b72c.dll" "marsxplr_build\Mars Explorer_Data\Assembly - CSharp.dll"
if %errorlevel% neq 0 exit /b %errorlevel%
copy "Assembly - CSharp - first pass\bin\26998b3a9cbf54825a27e5f2d3cc4df1.dll" "marsxplr_build\Mars Explorer_Data\Assembly - CSharp - first pass.dll"
if %errorlevel% neq 0 exit /b %errorlevel%
copy "Assembly - UnityScript\bin\58cc2f0ae478d40e7a89c7ba576c3586.dll" "marsxplr_build\Mars Explorer_Data\Assembly - UnityScript.dll"
if %errorlevel% neq 0 exit /b %errorlevel%
copy "UnityEngine\bin\UnityEngine.dll" "marsxplr_build\Mars Explorer_Data\lib\UnityEngine.dll"
if %errorlevel% neq 0 exit /b %errorlevel%
copy "UnityDomainLoad\bin\UnityDomainLoad.exe" "marsxplr_build\Mars Explorer_Data\lib\UnityDomainLoad.exe"
if %errorlevel% neq 0 exit /b %errorlevel%
echo -----------------
echo BUILD SUCCESS
echo -----------------
-16
View File
@@ -1,16 +0,0 @@
------------LISTING/DERIVED BUILD ORDER------------------
UnityEngine:
Assembly - CSharp - first pass:
UnityEngine
Assembly - UnityScript:
Assembly - CSharp - first pass
UnityEngine
Assembly - CSharp:
Assembly CSharp - first pass
UnityEngine
UnityDomainLoad:
-18
View File
@@ -1,18 +0,0 @@
@echo off
set "flags=/p:Configuration=Debug /p:Platform=Win32"
echo -------------------
echo CLEANING BUILDS
echo -------------------
msbuild /t:Clean %flags% "Assembly - CSharp\Assembly---CSharp.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
msbuild /t:Clean %flags% "Assembly - CSharp - first pass\Assembly---CSharp---first-pass.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
msbuild /t:Clean %flags% "Assembly - UnityScript\Assembly---UnityScript.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
msbuild /t:Clean %flags% "UnityEngine\UnityEngine.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
msbuild /t:Clean %flags% "UnityDomainLoad\UnityDomainLoad.csproj"
if %errorlevel% neq 0 exit /b %errorlevel%
+161
View File
@@ -0,0 +1,161 @@
#include "FSUtil.h"
#include <string.h>
#include <stdio.h>
#include <sys/stat.h> /*stat()*/
#include <stdbool.h>
#include <stdlib.h> /*(m/c)alloc free*/
#include <assert.h> /*^^^^*/
#include <stdarg.h> /*MX_pathConcat*/
#ifdef _WIN32
#define PATH_SLASH '\\'
#define MAX_PATH 260
#else
#define PATH_SLASH '/'
#ifdef __APPLE__
#include <sys/syslimits.h>
#else
#include <linux/limits.h>
#endif
#ifndef PATH_MAX
#error "PATH_MAX NOT DEFINED"
#endif
#define MAX_PATH PATH_MAX
#endif
bool pathIsRoot(const char *p)
{
#ifdef _WIN32
return (strnlen(p, MAX_PATH) == 2 && p[1] == ':');
#else
return (strncmp(p, "/", MAX_PATH) == 0);
#endif
}
char *pathTrimmed(const char *p)
{
if(p == NULL)
{
char *emptyp = calloc(1, sizeof(char));
assert(calloc);
return emptyp;
}
size_t plen = strnlen(p, MAX_PATH);
size_t truncate = pathIsRoot(p) ?
0 :
p[plen - 1] == PATH_SLASH ?
1 :
0;
char *newp = calloc(plen + 1, sizeof(char));
assert(newp);
memcpy(newp, p, plen - truncate);
return newp;
}
bool MX_pathExists(const char *p)
{
struct stat sb;
return (stat(p, &sb) == 0);
}
char *MX_pathParent(const char *p)
{
char *tp = pathTrimmed(p);
if(pathIsRoot(tp)) return tp;
int i = ((int)strlen(tp)) - 1;
for(; i >= 0; i--)
if(tp[i] == PATH_SLASH) break;
char *newp;
if(i < 0)
{
newp = calloc(2, sizeof(char));
assert(newp);
newp[0] = '.';
}
else
{
newp = calloc(i + 1, sizeof(char));
assert(newp);
memcpy(newp, tp, i);
}
free(tp);
return newp;
}
#ifndef strndup
char *strndup(const char *s, size_t n) {
size_t len = strnlen(s, n);
char *p = malloc(len + 1);
assert(p);
memcpy(p, s, len);
p[len] = '\0';
return p;
}
#endif
char *MX_pathConcat2(const char *a, const char *b)
{
if(a == NULL && b == NULL)
{
char *emptyp = calloc(1, sizeof(char));
assert(emptyp);
return emptyp;
}
if(a == NULL)
{
char *bdup = strndup(b, MAX_PATH);
assert(strncmp(b, bdup, MAX_PATH + 1) == 0);
return bdup;
}
if(b == NULL)
{
char *adup = strndup(a, MAX_PATH);
assert(strncmp(a, adup, MAX_PATH + 1) == 0);
return adup;
}
char *ta = pathTrimmed(a);
char *tb = pathTrimmed(b);
size_t newlen = strlen(ta) + 1 + strlen(tb) + 1;
char *newp = malloc(newlen * sizeof(char));
assert(newp);
size_t i = 0;
for(size_t ia = 0; ta[ia]; ia++) newp[i++] = ta[ia];
newp[i++] = PATH_SLASH;
for(size_t ib = 0; tb[ib]; ib++) newp[i++] = tb[ib];
newp[i] = '\0';
free(ta);
free(tb);
return newp;
}
char *MX_pathConcatV(int none, ...)
{
char *newp = NULL;
char *tp;
va_list args;
char *val;
va_start(args, none);
while((val = va_arg(args, char *))){
tp = newp;
newp = MX_pathConcat2(tp, val);
if(tp) free(tp);
}
va_end(args);
return newp;
}
+32
View File
@@ -0,0 +1,32 @@
/*
== file path manipulation helpers ==
NOTE: all functions that operate on path strings assume
that the path string is a valid path.
they are not to be fed string created by the user.
all functions that return strings are guaranteed to be
newly allocated strings that must be freed later.
WARNING: if an inputted string is longer than the os's set max path length,
a function will not fail, but will truncate the string before
operating on it
*/
#ifndef MX_FS_UTIL_H
#define MX_FS_UTIL_H
#include <stdbool.h>
#include <stdarg.h>
#include <string.h>
//connects two strings into a path accounting for '/' vs '\'
char *MX_pathConcat2(const char *a, const char *b);
//concats arbitrary number of path strings
#define MX_pathConcat(...) MX_pathConcatV(0, __VA_ARGS__, NULL);
char *MX_pathConcatV(int none, ...); //dont call this directly, initial arg needed to work with MSVC
//gets rid of tailing slash
char *MX_pathParent(const char *p);
//checks if path can be stat-ed by os
bool MX_pathExists(const char *p);
#endif

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