private void immunitiesSpellLevel(IntPtr intPtr) { for (int i = 0; i < 10; ++i) { this.spellImmuneLevel[i] = WinAPIBindings.ReadInt32(intPtr + i * 0x4); } }
public CWeaponIdentification(IntPtr addr) { addr = WinAPIBindings.FindDMAAddy(addr, new int[] { }); this.Type = WinAPIBindings.ReadUInt16(addr); this.Flags = WinAPIBindings.ReadUInt32(addr + 0x04); this.FlagMask = WinAPIBindings.ReadUInt32(addr + 0x08); this.Attributes = WinAPIBindings.ReadUInt32(addr + 0x0C); }
public CDerivedStats(IntPtr addr) { this.MaxHP = WinAPIBindings.ReadInt16(addr + 4); this.immunitiesSpellLevel(addr + 0x344); this.immunitiesWeapon(addr + 0x36C); this.immunitiesEffect(addr + 0x30C); //this.immunitiesSpells(addr + 0x5A0); }
public CGameEffect(IntPtr addr) { addr = WinAPIBindings.FindDMAAddy(addr, new int[] { 0x04 }); //addr += 4; this.Version = WinAPIBindings.ReadString(addr, 8); this.EffectId = (Effect)WinAPIBindings.ReadUInt32(addr + 0x08); this.Res = WinAPIBindings.ReadString(addr + 0x28, 8); this.SourceRes = WinAPIBindings.ReadString(addr + 0x8C, 8); this.ScriptName = WinAPIBindings.ReadString(addr + 0xA0, 32); }
public BGEntity(ResourceManager resourceManager, IntPtr entityIdPtr) { this.resourceManager = resourceManager; this.Loaded = false; // 1020 bytes CGameAIBase this.Id = WinAPIBindings.ReadInt32(entityIdPtr); entityIdPtr += 0x4; this.Type = WinAPIBindings.ReadByte(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x004 })); if (Type != 49) { return; } this.X = WinAPIBindings.ReadInt32(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x008 })); this.Y = WinAPIBindings.ReadInt32(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x00C })); if (X < 0 || Y < 0) { return; } IntPtr cGameAreaPtr = WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x14 }); this.RealId = WinAPIBindings.ReadInt32(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x34 })); this.AreaName = WinAPIBindings.ReadString(WinAPIBindings.FindDMAAddy(cGameAreaPtr, new int[] { 0x0 }), 8); this.AreaRef = WinAPIBindings.ReadString(WinAPIBindings.FindDMAAddy(cGameAreaPtr, new int[] { 0x1E4 }), 8); this.MousePosX = WinAPIBindings.ReadInt32(WinAPIBindings.FindDMAAddy(cGameAreaPtr, new int[] { 0x22C })); this.MousePosY = WinAPIBindings.ReadInt32(WinAPIBindings.FindDMAAddy(cGameAreaPtr, new int[] { 0x22C + 4 })); this.MousePosX1 = WinAPIBindings.ReadInt32(WinAPIBindings.FindDMAAddy(cGameAreaPtr, new int[] { 0xA84 })); this.MousePosY1 = WinAPIBindings.ReadInt32(WinAPIBindings.FindDMAAddy(cGameAreaPtr, new int[] { 0xA84 + 4 })); this.Name2 = WinAPIBindings.ReadString(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x28A8, 0 }), 64); this.Name1 = WinAPIBindings.ReadString(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x364 }), 8); this.CreResourceFilename = WinAPIBindings.ReadString(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x3FC }), 8).Trim('*') + ".CRE"; this.CurrentHP = WinAPIBindings.ReadByte(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x438 })); //this.DerivedStats = new CDerivedStats(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0xB30 })); //this.DerivedStatsTemp = new CDerivedStats(entityIdPtr + 0x1454 ); this.DerivedStatsTemp = new CDerivedStats(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x1454 })); //this.DerivedStatsBonus = new CDerivedStats(WinAPIBindings.FindDMAAddy(entityIdPtr, new int[] { 0x1D78 })); if (Type == 49) { this.Reader = resourceManager.GetCREReader(CreResourceFilename.ToUpper()); if (Reader == null) { this.Reader = resourceManager.GetCREReader(CreResourceFilename.ToUpper()); } } this.Loaded = true; }
public void Init() { Configuration.Init(); this.TextEntries = new ObservableCollection <string>(); this.ResourceManager = new ResourceManager(); ResourceManager.Init(); while (Process.GetProcessesByName("Baldur").Length == 0) { Thread.Sleep(3000); } this.proc = Process.GetProcessesByName("Baldur")[0]; this.hProc = WinAPIBindings.OpenProcess(WinAPIBindings.ProcessAccessFlags.All, false, proc.Id); this.modBase = WinAPIBindings.GetModuleBaseAddress(proc, "Baldur.exe"); this.modBase2 = WinAPIBindings.GetModuleBaseAddress(proc.Id, "Baldur.exe"); this.entityList = new ConcurrentBag <BGEntity>(); Configuration.hProc = hProc; }
public Node(IntPtr addr) { this.next = WinAPIBindings.FindDMAAddy(addr, new int[] { 0x0 }); this.prev = WinAPIBindings.FindDMAAddy(addr, new int[] { 0x4 }); this.Data = WinAPIBindings.FindDMAAddy(addr, new int[] { 0x8 }); }
public CPtrList(IntPtr addr) { this.Head = new Node(addr + 0x04); this.Tail = new Node(addr + 0x08); this.Count = WinAPIBindings.ReadInt32(addr + 0x0C); }