protected override void ReadDelta(BinaryReader reader, NetVersion version) { NetString name = new NetString(); name.Read(reader, version); NetString iD = new NetString(); iD.Read(reader, version); StardustCore.ModCore.ModMonitor.Log("Name: " + name); StardustCore.ModCore.ModMonitor.Log("Mod ID:" + iD); //Texture2D texture = new Texture2D(Game1.graphics.GraphicsDevice,width,height); if (String.IsNullOrEmpty(iD.Value) || String.IsNullOrEmpty(name.Value)) { ModCore.ModMonitor.Log("FOR SOME REASON THE TEXTURE INFO IS NULL????"); return; } Texture2DExtended texture = ModCore.TextureManagers[iD.Value].getTexture(name.Value); if (texture == null) { throw new Exception("FOR SOME REASON NULL IS BEING READ???"); } this.Value = texture; }
protected override void WriteDelta(BinaryWriter writer) { NetCoreObject obj = new NetCoreObject(Value); obj.Write(writer); NetList <KeyValuePair <Vector2, MultiTileComponent>, NetKeyValuePair <Vector2, MultiTileComponent, NetVector2, NetMultiTileComponent> > netList = new NetList <KeyValuePair <Vector2, MultiTileComponent>, NetKeyValuePair <Vector2, MultiTileComponent, NetVector2, NetMultiTileComponent> >(); if (Value.objects == null) { throw new Exception("Trying to write null object list!"); } foreach (var v in Value.objects) { StardustCore.ModCore.ModMonitor.Log(v.Value.name); netList.Add(v); } netList.Write(writer); NetColor col = new NetColor(Value.categoryColor); col.Write(writer); NetString catName = new NetString(Value.categoryName); catName.Write(writer); }
protected override void WriteDelta(BinaryWriter writer) { texture = new NetTexture2DExtended(Value.getExtendedTexture()); texture.Write(writer); which = new NetInt(Value.ParentSheetIndex); which.Write(writer); tilePos = new NetVector2(Value.TileLocation); tilePos.Write(writer); InventoryMaxSize = new NetInt(Value.inventoryMaxSize); InventoryMaxSize.Write(writer); sourceRect = new NetRectangle(Value.sourceRect); sourceRect.Write(writer); boundingBox = new NetRectangle(Value.boundingBox.Value); sourceRect.Write(writer); drawPosition = new NetVector2(Value.drawPosition); drawPosition.Write(writer); locationName = new NetString(Value.locationsName); locationName.Write(writer); /* * if (Value.animationManager == null) * { * throw new Exception("WTF, why is the animation manager null???????????"); * } * animationManager = new NetAnimationManager(Value.animationManager); * animationManager.Write(writer); */ }
public RESTStatus RestartClientForced(SQLLib sql, object dummy, NetworkConnectionInfo ni, string MachineID) { if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Denied); } string guid = Guid.NewGuid().ToString(); PushData p = new PushData(); p.Action = "restartsystemforced"; p.ReplyID = guid; PushServiceHelper.SendPushService(MachineID, p, 0); PushDataResponse resp = PushServiceHelper.PopResponse(MachineID, 0, guid); if (resp == null) { ni.Error = "No response"; ni.ErrorID = ErrorFlags.NoData; return(RESTStatus.NoContent); } Dummy = new NetString(); Dummy.Data = "OK"; return(RESTStatus.Success); }
public RESTStatus AddUser(SQLLib sql, NetString User, NetworkConnectionInfo ni) { if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Fail); } if (string.IsNullOrWhiteSpace(User.Data) == true) { ni.Error = "Missing username"; ni.ErrorID = ErrorFlags.InvalidID; return(RESTStatus.Fail); } if (Convert.ToInt32(sql.ExecSQLScalar("SELECT COUNT(*) FROM Users WHERE Username=@u", new SQLParam("@u", User.Data.Trim()))) != 0) { ni.Error = "User already exists"; ni.ErrorID = ErrorFlags.InvalidID; return(RESTStatus.Fail); } sql.InsertMultiData("Users", new SQLData("Username", User.Data.Trim()), new SQLData("Name", "new user"), new SQLData("Permissions", 0), new SQLData("Password", "")); return(RESTStatus.Success); }
public RESTStatus DeleteUser(SQLLib sql, NetString User, NetworkConnectionInfo ni) { if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Fail); } if (Convert.ToInt32(sql.ExecSQLScalar("SELECT COUNT(*) FROM Users WHERE Username=@u", new SQLParam("@u", User.Data))) == 0) { ni.Error = "Invalid User"; ni.ErrorID = ErrorFlags.InvalidID; return(RESTStatus.Fail); } if (User.Data.ToLower().Trim() == "root") { ni.Error = "Invalid User"; ni.ErrorID = ErrorFlags.InvalidID; return(RESTStatus.Fail); } sql.ExecSQL("DELETE FROM Users WHERE Username=@u", new SQLParam("@u", User.Data)); return(RESTStatus.Success); }
public RESTStatus ChangeCommentsComputer(SQLLib sql, NetString comments, NetworkConnectionInfo ni, string id) { if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Denied); } lock (ni.sqllock) { if (Convert.ToInt32(sql.ExecSQLScalar("SELECT COUNT(*) FROM ComputerAccounts WHERE MachineID=@m", new SQLParam("@m", id))) == 0) { ni.Error = "Invalid data"; ni.ErrorID = ErrorFlags.InvalidData; return(RESTStatus.NotFound); } } if (comments.Data == null) { ni.Error = "Invalid data"; ni.ErrorID = ErrorFlags.InvalidData; return(RESTStatus.Fail); } lock (ni.sqllock) { sql.ExecSQL("UPDATE ComputerAccounts SET Comments=@c WHERE MachineID=@m", new SQLParam("@m", id), new SQLParam("@c", comments.Data)); } return(RESTStatus.NoContent); }
protected override void ReadDelta(BinaryReader reader, NetVersion version) { NetCoreObject obj = new NetCoreObject(); obj.Read(reader, version); //Values already taken care of in NetCoreObject NetList <KeyValuePair <Vector2, MultiTileComponent>, NetKeyValuePair <Vector2, MultiTileComponent, NetVector2, NetMultiTileComponent> > netList = new NetList <KeyValuePair <Vector2, MultiTileComponent>, NetKeyValuePair <Vector2, MultiTileComponent, NetVector2, NetMultiTileComponent> >(); netList.Read(reader, version); if (netList.ToList() == null) { throw new Exception("WTF WHY IS NETLIST NULL?!?!?!?!"); } foreach (var v in netList.ToList()) { StardustCore.ModCore.ModMonitor.Log(v.Value.name, StardewModdingAPI.LogLevel.Alert); } Value.objects = netList.ToList(); //this.value.objects=netList.ToArray().ToList(); NetColor col = new NetColor(); col.Read(reader, version); Value.categoryColor = col.Value; NetString name = new NetString(); name.Read(reader, version); Value.categoryName = name.Value; }
public RESTStatus GetWebsocketURL(SQLLib sql, object foo, NetworkConnectionInfo ni) { WSURL = new NetString() { Data = Settings.Default.WSPublishURL }; return(RESTStatus.Success); }
public void Bytes() { var bytes = Encoding.ASCII.GetBytes("turtle"); var ns = NetString.Create(bytes).ToByteArray(); var parsedBytes = ns.ParseNetstring()[0].ToArray(); assertArraysEqual(bytes, parsedBytes); }
private void testRoundTrip(string str, Encoding enc) { var ns = NetString.Create(str, enc); var bytes = ns.ToByteArray(); var parsedBytes = bytes.ParseNetstring(); var parsedStr = enc.GetString(parsedBytes[0].Array, parsedBytes[0].Offset, parsedBytes[0].Count); Assert.AreEqual(str, parsedStr); }
/// <summary> /// Adds an extra variable to the net class. /// </summary> /// <param name="Key"></param> /// <param name="obj"></param> public virtual void addExtraVariable(string Key, object obj) { NetString str = GameManager.Self.serializer.ToJSONString(obj); if (this.extraVariables == null) { this.extraVariables = new NetDictionary <NetString, NetString>(); } this.extraVariables.Add(Key, str); }
protected override void WriteDelta(BinaryWriter writer) { NetString name = new NetString(Value.Name); name.Write(writer); NetString iD = new NetString(Value.modID); iD.Write(writer); }
public override bool checkIfComplete(NPC n = null, int number1 = -1, int number2 = -1, Item item = null, string monsterName = null) { if ((bool)completed) { return(false); } if (monsterName == null) { monsterName = "Green Slime"; } if (n == null && monsterName != null && monsterName.Contains(this.monsterName.Value) && (int)numberKilled < (int)numberToKill) { numberKilled.Value = Math.Min(numberToKill, (int)numberKilled + 1); if ((int)numberKilled >= (int)numberToKill) { if (target.Value == null || target.Value.Equals("null")) { questComplete(); } else { NPC actualTarget = Game1.getCharacterFromName(target); objective.Value = new DescriptionElement("Strings\\StringsFromCSFiles:FishingQuest.cs.13277", actualTarget); Game1.playSound("jingle1"); } } else if (monster.Value == null) { if (monsterName == "Frost Jelly" || monsterName == "Sludge") { monster.Value = new Monster("Green Slime", Vector2.Zero); monster.Value.Name = monsterName; } else { monster.Value = new Monster(monsterName, Vector2.Zero); } } Game1.dayTimeMoneyBox.moneyDial.animations.Add(new TemporaryAnimatedSprite("LooseSprites\\Cursors", new Rectangle(387, 497, 3, 8), 800f, 1, 0, Game1.dayTimeMoneyBox.position + new Vector2(228f, 244f), flicker: false, flipped: false, 1f, 0.01f, Color.White, 4f, 0.3f, 0f, 0f) { scaleChangeChange = -0.012f }); } else if (n != null && target.Value != null && !target.Value.Equals("null") && (int)numberKilled >= (int)numberToKill && n.Name.Equals(target.Value) && n.isVillager()) { reloadDescription(); n.CurrentDialogue.Push(new Dialogue(targetMessage, n)); moneyReward.Value = reward; questComplete(); Game1.drawDialogue(n); return(true); } return(false); }
protected override void WriteDelta(BinaryWriter writer) { if (String.IsNullOrEmpty(Value.currentAnimationName)) { NetBool isNull = new NetBool(true); writer.Write(isNull); NetTexture2DExtended defaultTexture = new NetTexture2DExtended(Value.getExtendedTexture()); defaultTexture.Write(writer); //do read/write null values here!!! if (Value == null) { throw new Exception("DONT WRITE A NULL VALUE!!!!"); } NetAnimation drawFrame = new NetAnimation(Value.defaultDrawFrame); drawFrame.Write(writer); return; //throw new Exception("Null string value for currentAnimationName!"); } else { NetBool isNull = new NetBool(false); writer.Write(isNull); } NetString curentAnimationName = new NetString(!String.IsNullOrEmpty(Value.currentAnimationName) ? Value.currentAnimationName : ""); currentAnimationName.Write(writer); NetInt currentAnimationListIndex = new NetInt(Value.currentAnimationListIndex); currentAnimationListIndex.Write(writer); NetTexture2DExtended texture = new NetTexture2DExtended(Value.getExtendedTexture()); texture.Write(writer); //do read/write null values here!!! NetAnimation defaultDrawFrame = new NetAnimation(Value.defaultDrawFrame); defaultDrawFrame.Write(writer); NetBool enabled = new NetBool(Value.enabled); enabled.Write(writer); NetString animationData = new NetString(Value.animationDataString); animationData.Write(writer); }
public void Concat() { var enc = Encoding.UTF8; var str1 = "turtles in the sky with diamonds"; var str2 = "喫茶店に行きました。"; var ns = NetString.Concat(NetString.Create(str1, enc), NetString.Create(str2, enc)).ToByteArray(); var b = ns.ParseNetstring()[0].ParseNetstring(); Assert.AreEqual(str1, b[0].ToString(enc)); b = b[1].ParseNetstring(); Assert.AreEqual(str2, b[0].ToString(enc)); }
public static void Postfix(NetBuildingRef __instance, NetString ___nameOfIndoors, ref Building __result) { if (__result != null) { return; } var locationFromName = (FarmExpansion)Game1.getLocationFromName("FarmExpansion"); if (locationFromName == null) { return; } __result = locationFromName.getBuildingByName((string)((NetFieldBase <string, NetString>)___nameOfIndoors)); }
public RESTStatus RunAdminNowREST(SQLLib sql, object dummy, NetworkConnectionInfo ni) { if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Denied); } RunAdminNow = true; Dummy = new NetString(); Dummy.Data = "OK"; return(RESTStatus.Success); }
public RESTStatus CloseWSServerMappingPort(SQLLib sql, NetString GUID, NetworkConnectionInfo ni) { if (ni.HasAcl(ACLFlags.ComputerLogin) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Denied); } RemoteNetworkConnectionWSCrosser.CloseSession(ni.Username, GUID.Data); Res = new PushConnectNetworkResult(); Res.Result = 0; return(RESTStatus.Success); }
public RESTStatus PopSTDIOData(SQLLib sql, NetString StdIOSession, NetworkConnectionInfo ni, string MachineID) { if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Denied); } if (StdIOSession == null) { ni.Error = "Missing Session Data"; ni.ErrorID = ErrorFlags.InvalidData; return(RESTStatus.Fail); } if (string.IsNullOrWhiteSpace(StdIOSession.Data) == true) { ni.Error = "Missing Session Data"; ni.ErrorID = ErrorFlags.InvalidData; return(RESTStatus.Fail); } string sess = "stdio-" + StdIOSession.Data; PushDataResponse resp = PushServiceHelper.PopResponse(MachineID, 0, sess, true); if (resp == null) { res = new Push_Stdio_StdOut(); res.SessionID = StdIOSession.Data; res.State = PushStdoutState.Timeout; return(RESTStatus.NoContent); } try { res = JsonConvert.DeserializeObject <Push_Stdio_StdOut>(resp.Data.ToString()); } catch { res = new Push_Stdio_StdOut(); res.SessionID = StdIOSession.Data; res.State = PushStdoutState.InternalError; return(RESTStatus.NoContent); } return(RESTStatus.Success); }
private static bool CheckLocationChange(Farmer player, NetString currentLocation, NetLong playerId) { if (currentLocation != LastActions[playerId].LocationName) { LastActions[playerId] = new PlayerLastActivity { Activity = "warped", LocationName = currentLocation, When = Game1.timeOfDay, Hidden = false }; return(true); } return(false); }
private static bool CheckUsingTool(Farmer player, NetLong playerId, NetString currentLocation) { if (player.UsingTool) { LastActions[playerId] = new PlayerLastActivity { Activity = player.CurrentTool?.Name.ToLower() ?? "N/A", When = Game1.timeOfDay, LocationName = currentLocation, Hidden = player.hidden.Value }; return(true); } return(false); }
private bool CheckCutscene(Farmer player, NetLong playerId, NetString currentLocation) { if (player.hidden != LastActions[playerId].Hidden && currentLocation == LastActions[playerId].LocationName && !(player.isRidingHorse())) { LastActions[playerId] = new PlayerLastActivity { Activity = player.hidden ? "startevent" : "endevent", When = Game1.timeOfDay, LocationName = currentLocation, Hidden = player.hidden?.Value ?? false }; return(true); } return(false); }
override protected void BytesToData(byte[] data) { if (data == null || data.Length < 3) { return; } short num = IPAddress.NetworkToHostOrder(BitConverter.ToInt16(data, 0)); LoginCharacter[] cs = new LoginCharacter[num]; int i = 0; int offset = 2; for (; i < num; i++) { cs[i] = new LoginCharacter(); cs[i].ID = NetConvert.ToUInt32(IPAddress.NetworkToHostOrder(BitConverter.ToInt32(data, offset))); offset += 4; } num = IPAddress.NetworkToHostOrder(BitConverter.ToInt16(data, offset)); offset += 2; for (i = 0; i < num; i++) { NetString s = new NetString(data, offset); cs[i].Name = s.ToString(); offset += s.TotalLength; } num = IPAddress.NetworkToHostOrder(BitConverter.ToInt16(data, offset)); offset += 2; for (i = 0; i < num; i++) { cs[i].Level = IPAddress.NetworkToHostOrder(BitConverter.ToInt32(data, offset)); offset += 4; } num = IPAddress.NetworkToHostOrder(BitConverter.ToInt16(data, offset)); offset += 2; for (i = 0; i < num; i++) { cs[i].IsOnline = Convert.ToBoolean(IPAddress.NetworkToHostOrder(BitConverter.ToInt32(data, offset))); offset += 4; } this._characters = cs; this._charactersCount = num; }
public RESTStatus CheckFile(SQLLib sql, NetString Req, NetworkConnectionInfo ni, string MachineID) { if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false) { ni.Error = "Access denied"; ni.ErrorID = ErrorFlags.AccessDenied; return(RESTStatus.Denied); } string guid = Guid.NewGuid().ToString(); PushData p = new PushData(); p.Action = "checkfile"; p.ReplyID = guid; p.AdditionalData1 = Req.Data; PushServiceHelper.SendPushService(MachineID, p, 0); PushDataResponse resp = PushServiceHelper.PopResponse(MachineID, 0, guid); if (resp == null) { ni.Error = "No response"; ni.ErrorID = ErrorFlags.NoData; return(RESTStatus.NoContent); } try { FileRes = new NetInt32(); if (Int32.TryParse(resp.Data.ToString(), out FileRes.Data) == false) { ni.Error = "Faulty data"; ni.ErrorID = ErrorFlags.NoData; return(RESTStatus.NoContent); } } catch { ni.Error = "Faulty data"; ni.ErrorID = ErrorFlags.NoData; return(RESTStatus.NoContent); } return(RESTStatus.Success); }
private static void RevertMapImageSource(ref NetString mapImageSource, ref bool loadedDarkArea, int level, int mineAreaNeg, int mineAreaLevel, int mapNumberToLoad) { if (mineAreaNeg == 0 || mineAreaNeg == 10 || (mineAreaLevel != 0 && mineAreaLevel != 10)) { if (mineAreaLevel == 40) { mapImageSource.Value = "Maps\\Mines\\mine_frost"; if (level >= 70) { NetString netString = mapImageSource; netString.Value += "_dark"; loadedDarkArea = true; } } else if (mineAreaLevel == 80) { mapImageSource.Value = "Maps\\Mines\\mine_lava"; if (level >= 110 && level != 120) { NetString netString2 = mapImageSource; netString2.Value += "_dark"; loadedDarkArea = true; } } else if (mineAreaLevel == 121) { mapImageSource.Value = "Maps\\Mines\\mine_desert"; if (mapNumberToLoad % 40 >= 30) { NetString netString3 = mapImageSource; netString3.Value += "_dark"; loadedDarkArea = true; } } else { mapImageSource.Value = "Maps\\Mines\\mine"; } } else { mapImageSource.Value = "Maps\\Mines\\mine"; } }
protected override void ReadDelta(BinaryReader reader, NetVersion version) { texture = new NetTexture2DExtended(); texture.Read(reader, version); Value.setExtendedTexture(texture.Value); which = new NetInt(); which.Read(reader, version); Value.ParentSheetIndex = which.Value; tilePos = new NetVector2(); tilePos.Read(reader, version); Value.TileLocation = tilePos.Value; InventoryMaxSize = new NetInt(); InventoryMaxSize.Read(reader, version); Value.inventoryMaxSize = InventoryMaxSize.Value; sourceRect = new NetRectangle(); sourceRect.Read(reader, version); Value.sourceRect = sourceRect.Value; boundingBox = new NetRectangle(); boundingBox.Read(reader, version); Value.boundingBox.Value = boundingBox.Value; drawPosition = new NetVector2(); drawPosition.Read(reader, version); Value.drawPosition = drawPosition.Value; locationName = new NetString(); locationName.Read(reader, version); Value.locationsName = locationName.Value; Value.thisLocation = Game1.getLocationFromName(locationName.Value); /* * animationManager = new NetAnimationManager(); * animationManager.Read(reader, version); * Value.animationManager = animationManager.Value; */ }
/// <summary> /// Method for pulling a string off the byte array. /// </summary> /// <param name="data">the byte array</param> /// <param name="offset">index to start pulling from the array</param> /// <returns>returns an AoString object</returns> internal static NetString PopString(ref byte[] data, ref Int32 offset) { if (data == null || data.Length - offset < 3) { return(new NetString(String.Empty)); } short len = PopShort(ref data, ref offset); NetString ret; if (data.Length >= len && len > 0) { ret = new NetString(data, offset, len); } else { ret = new NetString(""); } offset += len; return(ret); }
private bool CheckCutscene(Farmer player, NetLong playerId, NetString currentLocation) { if (player.hidden != LastActions[playerId].Hidden && !(player.isRidingHorse())) { if (ConfigHelper.GetOptions().ShowCutsceneInfoInChatBox) { var verbed = player.hidden ? "entered a" : "finished the"; _helper.SelfInfoMessage($"{player.Name} has {verbed} cutscene."); } LastActions[playerId] = new PlayerLastActivity { Activity = "event", When = Game1.timeOfDay, LocationName = currentLocation, Hidden = player.hidden?.Value ?? false }; return(true); } return(false); }
private static void ParrotUpgradePerch_PerformCompleteAnimation_Postfix(NetString ___upgradeName) { // Check if the upgrade name is null and then whether it's the right upgrade, and don't do anything if it's not if (___upgradeName.Value is not "Resort") { return; } // Make sure to add resort built conversation topic to all farmers in the game try { foreach (Farmer f in Game1.getAllFarmers()) { try { MCTHelperFunctions.AddOrExtendCT(f, "islandResortUnlocked", Config.IslandResortDuration); } catch (Exception ex) {// Check to see if the farmer in question is online, and return different exception messages depending if (!Game1.getOnlineFarmers().Contains(f)) { Monitor.Log($"Failed to add resort built conversation topic to an offline farmer with exception: {ex}", LogLevel.Error); } else { Monitor.Log($"Failed to add resort built conversation topic to an online farmer with exception: {ex}", LogLevel.Error); } } } } catch (Exception ex) { Monitor.Log($"Failed to add resort built conversation topic with exception: {ex}", LogLevel.Error); return; } }