예제 #1
0
			public void Write(BlamLib.IO.EndianWriter s)
			{
				if(nullBuffer == null)
					nullBuffer = new byte[ByteCount];

				s.Write(nullBuffer);
			}
예제 #2
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
			public override void Write(BlamLib.IO.EndianWriter s)
			{
				base.Write(s);

				s.Write(CampaignId);
				s.Write(Unknown0004);
				Names.Write(s);
				Descriptions.Write(s);
				foreach (int level in LevelIds) s.Write(level);
				s.Write(Unknown1308);
			}
예제 #3
0
파일: PAK.cs 프로젝트: CodeAsm/open-sauce
		public void Write(BlamLib.IO.EndianWriter s)
		{
			s.Write(DataOffset);
			s.Write(DataSize);
			s.Write(Name.Length);
			if(Name.Length > 0) s.Write(Name.ToCharArray());
			s.Write((int)Type);
			s.Write(unknown1);
			s.Write(unknown2);
		}
예제 #4
0
			public void Write(BlamLib.IO.EndianWriter s)
			{
				s.Write(ResourceBaseAddress);
				s.Write(DebugSectionSize);
				s.Write(RuntimeBaseAddress);
				s.Write(UnknownBaseAddress);

				foreach (var sec in sections) sec.Write(s);
			}
예제 #5
0
		public void Write(BlamLib.IO.EndianWriter s)
		{
			s.WriteTag(Ext);
			int count = Names.Count;
			s.Write(count);
			for (int x = 0; x < count; x++)
			{
				s.Write(Names[x]);
				s.Write(Scenarios[x]);
			}
		}
예제 #6
0
		public override void Write(BlamLib.IO.EndianWriter s)
		{
			CacheFile cf = s.Owner as CacheFile;
			if (cf.EngineVersion == BlamVersion.Halo2_PC) return;
			if (cf.EngineVersion == BlamVersion.Halo2_Alpha) return;

			s.WriteTag((char[])MiscGroups.head);
			s.Write(8);
			s.Write(fileLength);
			s.Write(0);
			s.Write(offsetToIndex);
			s.Write(indexStreamSize);
			s.Write(tagBufferSize);
			s.Write(0); // needs to be calc'd

			s.Write(new byte[256]);
			s.Write("02.09.27.09809", false);
			s.Write((int)cacheType);
			s.Write(0); // needs to be calc'd
			s.Write(0); // needs to be calc'd
			s.Write(0); s.Write(0);

			s.Write(0); // needs to be calc'd

			s.Write(0); // needs to be calc'd
			s.Write(0); // needs to be calc'd

			s.Write(/*stringIdsBufferAlignedOffset*/0);
			s.Write(stringIdsCount);

			s.Write(stringIdsBufferSize);
			s.Write(stringIdIndicesOffset);
			s.Write(stringIdsBufferOffset);

			s.Write(0); // 4 bools

			s.Write(Filetime.dwHighDateTime);			s.Write(Filetime.dwHighDateTime);

			// mainmenu
			s.Write(SharedFiletimes[0].dwHighDateTime);	s.Write(SharedFiletimes[0].dwHighDateTime);
			// shared
			s.Write(SharedFiletimes[1].dwHighDateTime);	s.Write(SharedFiletimes[1].dwHighDateTime);
			// shared sp
			s.Write(SharedFiletimes[2].dwHighDateTime);	s.Write(SharedFiletimes[2].dwHighDateTime);

			s.Write(name, false);
			s.Write(0);
			s.Write(scenarioPath, 256);
			s.Write(Convert.ToInt32(needsShared));

			s.Write(tagNamesCount);
			s.Write(tagNamesBufferOffset);
			s.Write(tagNamesBufferSize);
			s.Write(tagNameIndicesOffset);

			s.Write(0); // checksum

			s.Write(new byte[1320]);

			s.WriteTag((char[])MiscGroups.foot);
		}
예제 #7
0
		public void Write(BlamLib.IO.EndianWriter s)
		{
			s.Write(0);
			s.Write(size);
			s.Write(0);
			s.Write(nameHash);
			offset.Write(s);
		}
예제 #8
0
파일: Game.cs 프로젝트: CodeAsm/open-sauce
		public void Write(BlamLib.IO.EndianWriter s)
		{
			NameId.Write(s);
			s.Write(Offset);
		}
예제 #9
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public void Write(BlamLib.IO.EndianWriter s)
				{
					s.Write(Flags);
					s.Write(LivesPerRound);
					s.Write(TeamLivesPerRound);
					s.Write(RespawnTime);
					s.Write(SuicideTime);
					s.Write(BetrayalTime);
					s.Write(RespawnGrowthTime);
					s.Write(PlayerTraitsDuration);
					RespawnTraits.Write(s);
				}
예제 #10
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public void Write(BlamLib.IO.EndianWriter s)
				{
					s.Write(Flags);
					s.Write(RoundTimeLimitMinutes);
					s.Write(RoundLimit);
					s.Write(EarlyVictoryWinCount);
				}
예제 #11
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
					public void Write(BlamLib.IO.EndianWriter s)
					{
						s.Write(MotionTracker);
						s.Write(MotionTrackerRange);
					}
예제 #12
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
					public void Write(BlamLib.IO.EndianWriter s)
					{
						s.Write(ActiveCamo);
						s.Write(Waypoint);
						s.Write(Aura);
						s.Write(ForcedChangeColor);
					}
예제 #13
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
					public void Write(BlamLib.IO.EndianWriter s)
					{
						s.Write(MovementSpeed);
						s.Write(Gravity);
						s.Write(VehicleUsage);
						s.Write(byte.MinValue);
					}
예제 #14
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
					public void Write(BlamLib.IO.EndianWriter s)
					{
						s.Write(InitialGrenadeCount);
						s.Write(InitialGrenadeType);
						s.Write(InitialPrimaryWeapon);
						s.Write(InitialSecondaryWeapon);
						s.Write(DamageModifier);
						s.Write(RechargingGrendes);
						s.Write(InfiniteAmmoSetting);
						s.Write(WeaponPickupAllowed);
					}
예제 #15
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
					public void Write(BlamLib.IO.EndianWriter s)
					{
						s.Write(DamageResistance);
						s.Write(ShieldRechargeRate);
						s.Write(Vampirism);
						s.Write(HeadshotImmunity);
						s.Write(ShieldMultiplier);
						s.Write(byte.MinValue);
						s.Write(ushort.MinValue);
					}
예제 #16
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public override void Write(BlamLib.IO.EndianWriter s)
				{
					base.Write(s);

					s.Write(ScoreToWin);
					s.Write(Flags);
					s.Write(KillPoints);
					s.Write(TakedownPoints);
					s.Write(KillAsVipPoints);
					s.Write(VipDeathPoints);
					s.Write(DestinationArrivalPoints);
					s.Write(SuicidePoints);
					s.Write(BetrayalPoints);
					s.Write(VipSuicidePoints);
					s.Write(VipSelection);
					s.Write(ZoneMovement);
					s.Write(ZoneOrder);
					s.Write(byte.MinValue);
					s.Write(InfluenceRadius);
					VipTraits.Write(s);
					ProximityTraits.Write(s);
					VipTeamTraits.Write(s);
				}
예제 #17
0
파일: Game.cs 프로젝트: CodeAsm/open-sauce
		public void Write(BlamLib.IO.EndianWriter s)
		{
			s.Write(ulong.MinValue);
			Count.Write(s);
			Size.Write(s);
			OffsetReferences.Write(s);
			OffsetStrings.Write(s);
			s.Write(uint.MinValue);
		}
예제 #18
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public void Write(BlamLib.IO.EndianWriter s)
				{
					s.Write(Flags);
					BaseTraits.Write(s);
					s.Write(WeaponSet);
					s.Write(VehicleSet);
					RedPowerupTraits.Write(s);
					BluePowerupTraits.Write(s);
					YellowPowerupTraits.Write(s);
				}
예제 #19
0
		public void Write(BlamLib.IO.EndianWriter s)
		{
			s.Write(Entries.Count);
			foreach (var entry in Entries)		entry.Write(s);
			foreach (var datum in Dependencies)	datum.Write(s);
		}
예제 #20
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public virtual void Write(BlamLib.IO.EndianWriter s)
				{
					MiscOptions.Write(s);
					RespawnOptions.Write(s);
					s.Write(SocialFlags);
					s.Write(SocialTeamChanging);
					MapOverrides.Write(s);
					s.Write(Unknown0A8);
					s.Write(TeamScoringMethod);
					s.Write(Unknown0AC);
					s.Write(ushort.MinValue);
				}
예제 #21
0
		public void Write(BlamLib.IO.EndianWriter s)
		{
			MiscGroups.crdb.Write(s);
			s.Write(kVersion);
			s.Write(items.Count);
			for (int x = 0; x < items.Count; x++) items[x].Write(s);
		}
예제 #22
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public override void Write(BlamLib.IO.EndianWriter s)
				{
					base.Write(s);

					s.Write(Flags);
					s.Write(HomeFlagWaypoint);
					s.Write(GameType);
					s.Write(Respawn);
					s.Write(TouchReturnTime);
					s.Write(SuddenDeathTime);
					s.Write(ScoreToWin);
					s.Write(FlagResetTime);
					CarrierTraits.Write(s);
				}
예제 #23
0
		public void Write(BlamLib.IO.EndianWriter s)
		{
			s.Write(Start);
			s.Write(Count);
		}
예제 #24
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public override void Write(BlamLib.IO.EndianWriter s)
				{
					base.Write(s);

					s.Write(ScoreToWin);
					s.Write(KillPoints);
					s.Write(AssistPoints);
					s.Write(DeathPoints);
					s.Write(SuicidePoints);
					s.Write(BetrayalPoints);
					s.Write(LeaderKilledPoints);
					s.Write(EliminationPoints);
					s.Write(AssassinationPoints);
					s.Write(HeadshotPoints);
					s.Write(MeleePoints);
					s.Write(StickyPoints);
					s.Write(SplatterPoints);
					s.Write(KillingSpreePoints);
					LeaderTraits.Write(s);
				}
예제 #25
0
			public void Write(BlamLib.IO.EndianWriter s)
			{
				s.Write(VirtualAddress);
				s.Write(Size);
			}
예제 #26
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public override void Write(BlamLib.IO.EndianWriter s)
				{
					base.Write(s);

					s.Write(Flags);
					s.Write(ScoreToWin);
					s.Write(CarryingPoints);
					s.Write(KillPoints);
					s.Write(BallKillPoints);
					s.Write(CarrierKillPoints);
					s.Write(BallCount);
					s.Write(BallSpawnDelay);
					s.Write(BallInactiveRespawnDelay);
					CarrierTraits.Write(s);
				}
예제 #27
0
파일: Util.cs 프로젝트: CodeAsm/open-sauce
			public void Write(BlamLib.IO.EndianWriter s)	{ s.Write(Value); }
예제 #28
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public override void Write(BlamLib.IO.EndianWriter s)
				{
					base.Write(s);

					s.Write(Flags);
					s.Write(ScoreToWin);
					s.Write(MovingHill);
					s.Write(MovingHillOrder);
					s.Write(InsideHillPoints);
					s.Write(OutsideHillPoints);
					s.Write(UncontestedHillBonus);
					s.Write(KillPoints);
					HillTraits.Write(s);
				}
예제 #29
0
파일: PAK.cs 프로젝트: CodeAsm/open-sauce
		public virtual void Write(BlamLib.IO.EndianWriter s)
		{
			s.Write(m_entries.Count);
			foreach (var entry in m_entries) entry.Write(s);
		}
예제 #30
0
파일: BLF.cs 프로젝트: CodeAsm/open-sauce
				public override void Write(BlamLib.IO.EndianWriter s)
				{
					base.Write(s);

					s.Write(Flags);
					s.Write(EditMode);
					s.Write(RespawnTime);
					EditorTraits.Write(s);
				}