Compare commits

...

29 Commits
v4.0s1 ... main

Author SHA1 Message Date
5b7bc3ee86 inform README.md abt the new waf system 2025-11-01 19:42:49 -04:00
VIA
9572cee415 wscript find mono allow for path and --mono_home option override 2025-11-01 16:08:15 -07:00
VIA
f29d498f68 fix some bugs issued by the different mono compiler 2025-11-01 14:59:11 -07:00
VIA
5913d6be38 move everything in Game/ back into top level 2025-11-01 13:32:21 -07:00
VIA
dddbd69a3d get rid of visual studio building support 2025-10-31 15:20:32 -07:00
VIA
8d041fbb34 add waf build system setup 2025-10-31 01:11:00 -07:00
VIA
7a252ce3e8 Revert "Start creating cmake build system"
This reverts commit 9cc907f6535daac2656040e0fd7f4f8293a403c2.
2025-10-30 17:00:36 -07:00
VIA
9cc907f653 Start creating cmake build system 2025-10-29 19:24:25 -07:00
VIA
ba9d5563df add semantic version class and make gameVersion use it 2025-10-27 16:41:30 -07:00
VIA
7676f1c809 stop quarryCam from breaking when the quarry switches vehicles 2025-10-26 22:01:35 -07:00
VIA
dc8598a5c9 rix rpc typo bug 2025-10-26 20:49:23 -07:00
VIA
51c57cd932 fix Prebuild project to work when building solution for release in addition to debug 2025-10-26 20:26:19 -07:00
VIA
a7db3817a6 remove ads from the game code 2025-10-26 19:55:24 -07:00
VIA
200b6a9347 disable language filter for now 2025-10-26 19:54:59 -07:00
VIA
ad5d84cc8b have MakeWindowUpdate point to the gitea releases instead of the discord 2025-10-26 19:46:19 -07:00
VIA
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
VIA
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
VIA
42102b530b turn vehicle xorbs off if the server disables them 2025-10-26 18:31:11 -07:00
VIA
8d1588757e fix the xorb size and color 2025-10-26 17:25:40 -07:00
VIA
e8a9278fc3 fix entrypoint simple diamond 2025-10-26 15:07:14 -07:00
VIA
56c8a48510 quarryveh: make 1st person nametags and vehicle stats corrospond to the vehicle being spectated 2025-10-25 22:02:37 -07:00
VIA
00dcbfc9af idk lmao 2025-10-25 13:24:39 -07:00
VIA
f3157ef0ea fix SeaData invalid cast 2025-10-25 13:14:32 -07:00
VIA
5961a12aa7 fix jumppoint.cs invalid cast 2025-10-25 12:57:35 -07:00
VIA
e2978eac60
Merge pull request #10 from VIA256/marsxplr-4.0
Continue onward to Marsxplr 4.0
2025-10-25 06:50:09 +00:00
VIA
684b74e5a3
Update README.md to inform about the new build system 2025-10-25 06:49:00 +00:00
VIA
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
VIA
16db95b196 Merge branch 'main' into marsxplr-4.0 2025-10-24 17:32:57 -07:00
VIA
b93d2c1f2a Add quarryCam
if toggled, tells Camera to follow Quarry instead of exclusively the Player
2025-10-23 17:22:57 -07:00
353 changed files with 740 additions and 782 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
marsxplr_build/
waf*/
.lock-waf*

View File

@ -0,0 +1,35 @@
## Assembly - CSharp - first pass
import os
import shutil
def post(bld):
global outdir
global out
newout = os.path.join(outdir, 'Assembly - CSharp - first pass.dll')
if os.path.exists(out):
shutil.move(out, newout)
def build(bld):
level = bld.path.abspath()
SOURCES = \
os.path.join(level, 'Properties', 'AssemblyInfo.cs') + ' ' + \
os.path.join(level, '*.cs')
global outdir
outdir = os.path.join(bld.env.MBUILD, 'Mars Explorer_Data')
if not os.path.exists(outdir):
os.makedirs(outdir)
global out
out = os.path.join(outdir, '26998b3a9cbf54825a27e5f2d3cc4df1.dll')
bld.env.REF_AsmCSfp = out
bld(rule='\"${MCS}\" ' +
SOURCES +
' -out:\"' + out +
'\" -sdk:' + bld.env.MONOSDK +
' -langversion:' + bld.env.MONOLANGVERSION +
' -target:library'
' -reference:\"' + bld.env.REF_UnityEngine + '\"')
bld.add_post_fun(post)

35
Assembly_-_CSharp/wscript Normal file
View File

@ -0,0 +1,35 @@
## Assembly - CSharp
import os
import shutil
def post(bld):
global outdir
global out
newout = os.path.join(outdir, 'Assembly - CSharp.dll')
if os.path.exists(out):
shutil.move(out, newout)
def build(bld):
bld.add_post_fun(post)
level = bld.path.abspath()
SOURCES = \
os.path.join(level, 'Properties', 'AssemblyInfo.cs') + ' ' + \
os.path.join(level, '*.cs')
global outdir
outdir = os.path.join(bld.env.MBUILD, 'Mars Explorer_Data')
if not os.path.exists(outdir):
os.makedirs(outdir)
global out
out = os.path.join(outdir, 'e36192721fc364533a8edf2aefd3b72c.dll')
bld(rule='\"${MCS}\" ' +
SOURCES +
' -out:\"' + out +
'\" -sdk:' + bld.env.MONOSDK +
' -langversion:' + bld.env.MONOLANGVERSION +
' -target:library'
' -reference:\"' +
bld.env.REF_UnityEngine + '\",\"' + bld.env.REF_AsmCSfp + '\"')

View File

@ -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
)
);
@ -40,15 +42,17 @@ 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;
}
}

View File

@ -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 = (

View File

@ -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(

View File

@ -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
)

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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 = "";

View File

@ -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);*/
}
}

View File

@ -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();

View File

@ -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);

View File

@ -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
{

View File

@ -39,7 +39,7 @@ public class SeaData : MonoBehaviour
whirldObject == null ||
whirldObject.parameters == null ||
seaObject == null ||
!(bool)whirldObject.parameters["Mode"])
whirldObject.parameters["Mode"] == null)
{
return;
}

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);
}
}

View File

@ -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();
}

View File

@ -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

View File

@ -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;
}

View File

@ -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);
}
}
}

View File

@ -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;

View File

@ -0,0 +1,36 @@
## Assembly - UnityScript
import os
import shutil
def post(bld):
global outdir
global out
newout = os.path.join(outdir, 'Assembly - UnityScript.dll')
if os.path.exists(out):
shutil.move(out, newout)
def build(bld):
level = bld.path.abspath()
SOURCES = \
os.path.join(level, 'Properties', 'AssemblyInfo.cs') + ' ' + \
os.path.join(level, 'CompilerGenerated', 'GUIAdaptor.cs') + ' ' + \
os.path.join(level, '*.cs')
global outdir
outdir = os.path.join(bld.env.MBUILD, 'Mars Explorer_Data')
if not os.path.exists(outdir):
os.makedirs(outdir)
global out
out = os.path.join(outdir, '58cc2f0ae478d40e7a89c7ba576c3586.dll')
bld(rule='\"${MCS}\" ' +
SOURCES +
' -out:\"' + out +
'\" -sdk:' + bld.env.MONOSDK +
' -langversion:' + bld.env.MONOLANGVERSION +
' -target:library'
' -reference:\"' +
bld.env.REF_UnityEngine + '\",\"' +
bld.env.REF_AsmCSfp + '\"',)
bld.add_post_fun(post)

41
Game/.gitignore vendored
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

View File

@ -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>

View File

@ -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>

View File

@ -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>

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>

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>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>

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>

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 -----------------

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:

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%

View File

@ -4,7 +4,9 @@ My amatuer attempt at decompiling Mars Explorer so that it can be improved to ru
<hr>
<h1>building</h1>
Pretty much all of the game in terms of functionality has compilable source now, but the platform specific code is still a work in progress.<br>
I have setup a quick and dirty build system for all said targets in the single build_all.cmd script (and clean_all.cmd).<br>
At the moment the way the project is built is compiling each targets's respective .csproj using Command Line For Visual Studio 2008<br>
If the build is successful, you should be able to find a bunch of dlls in the directory marsxplr_build\Mars Explorer_Data.<br>
To test the build, can copy the dlls from that directory into the Mars Explorer_Data directory of your own personal Mars Explorer install in place of the original files.<br>
Building the project requires the mono mcs compiler and python.<br>
1. configure the project: <pre>python waf configure [--mono_home=...]</pre>
2. build the project: <pre>python waf build</pre>
2.5: rebuilding the project: <pre>python waf clean build</pre>
If the build is successful, you should be able to find a bunch of dlls in the directory Game\marsxplr_build\Mars Explorer_Data.<br>
To test the build, can copy the contents of the built Mars Explorer_Data dir into the Mars Explorer_Data dir of your own personal Mars Explorer install in place of the original files.<br>

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