Code:
/*
This file is part of LazyBot - Copyright (C) 2011 Arutha
LazyBot is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
LazyBot is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with LazyBot. If not, see <http://www.gnu.org/licenses/>.
*/
#region
using System.Reflection;
#endregion
namespace LazyLib.Wow
{
[Obfuscation(Feature = "renaming", ApplyToMembers = true)]
public class PublicPointers
{
#region Globals enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum Globals
{
PlayerName = 0x879D18,
};
#endregion
#region InGame enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum InGame
{
InGame = 0x7D0792,
}
#endregion
};
internal class Pointers
{
#region ActionBar enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum ActionBar
{
ActionBarFirstSlot = 0x81E358,
ActionBarBonus = 0xB44324,
};
#endregion
#region AutoLoot enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum AutoLoot
{
Pointer = 0x7D0914,
Offset = 0x30,
};
#endregion
#region CgUnitCGetCreatureRank enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum CgUnitCGetCreatureRank
{
GetCreatureRank = 0x718A00, // 3.3.5a 12340
Offset1 = 0x964,
Offset2 = 0x18,
};
#endregion
#region CgUnitCGetCreatureType enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum CgUnitCGetCreatureType
{
GetCreatureType = 0x71F300, // 3.3.5a 12340
Offset1 = 0x964,
Offset2 = 0x10,
};
#endregion
#region CgWorldFrameGetActiveCamera enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum CgWorldFrameGetActiveCamera
{
// CGWorldFrame__GetActiveCamera = 0x4F5960,
CameraPointer = 0x77436C,
CameraOffset = 0x7E20,
CameraX = 0x8,
CameraY = 0xC,
CameraZ = 0x10,
CameraMatrix = 0x14,
};
#endregion
/// <summary>
/// 4.3
/// </summary>
public enum Quests
{
ActiveQuests = 0x274,
SelectedQuestId = 0xB436F0,
TitleText = 0xB434D0,
GossipQuests = 0xB70F08,
GossipQuestNext = 0x214,
};
#region ClickToMove enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum ClickToMove
{
Pointer = 0x7D08F4,
Offset = 0x30,
};
#endregion
#region Nested type: AutoAttack
/// <summary>
/// 4.3
/// </summary>
internal enum AutoAttack
{
AutoAttackFlag = 0x9E8,
AutoAttackMask = 0x9EC,
};
#endregion
#region Nested type: CastingInfo
/// <summary>
/// 3.3.5a
/// </summary>
internal enum CastingInfo
{
IsCasting = 0xA6C,
ChanneledCasting = 0xA80,
};
#endregion
#region Nested type: Chat
/// <summary>
/// 3.3.5a
/// </summary>
internal enum Chat : uint
{
ChatStart = 0x775A60 + 0x3C,
OffsetToNextMsg = 0x17C0,
};
#endregion
#region BlueChat
/// <summary>
/// 4.2 - Not updated
/// </summary>
internal enum Messages
{
EventMessage = 0xA98068
};
#endregion
#region Nested type: ComboPoints
/// <summary>
/// 4.3
/// </summary>
internal enum ComboPoints
{
ComboPoints = 0xAD7361, //
};
#endregion
#region Nested type: Container
/// <summary>
/// 3.3.5a
/// </summary>
internal enum Container
{
EquippedBagGUID = 0x8DBF40, // 3.3.5a 823540
};
#endregion
#region Nested type: Globals
/// <summary>
/// 3.3.5a
/// </summary>
internal enum Globals
{
RedMessage = 0x7CFB90, // 3.3.5a
MouseOverGUID = 0x7D07A0, // 3.3.5a
LootWindow = 0x7FA8D8, // 3.3.5a
IsBobbing = 0xBC, // 3.3.5a
ArchFacing = 0x1c8,
ChatboxIsOpen = 0xAC6C58,
CursorType = 0x93D0E0,
};
#endregion
#region Nested type: Items
/// <summary>
/// 3.3.5a
/// </summary>
internal enum Items : uint
{
Offset = 0x708C20,
};
#endregion
#region Nested type: KeyBinding
/// <summary>
/// 3.3.5a
/// </summary>
internal enum KeyBinding
{
NumKeyBindings = 0x7EADD8,
First = 0xb8,
Next = 0xb0,
Key = 0x14,
Command = 0x28,
};
#endregion
#region Nested type: ObjectManager
/// <summary>
/// 3.3.5a
/// </summary>
internal enum ObjectManager
{
CurMgrPointer = 0x879CE0, // 3.3.5a
CurMgrOffset = 0x2ED0, // 3.3.5a
NextObject = 0x3C, // 3.3.5a
FirstObject = 0xAC, // 3.3.5a
LocalGUID = 0xc0, // 3.3.5a
};
#endregion
#region Nested type: Reaction
/// <summary>
/// 3.3.5a
/// </summary>
internal enum Reaction : uint
{
FactionStartIndex = 0x6D3894 - 0x638, //3.3.5a
FactionPointer = FactionStartIndex + 0x8, //3.3.5a
FactionTotal = FactionStartIndex - 0x4, //3.3.5a
HostileOffset1 = 0x14,
HostileOffset2 = 0xc,
FriendlyOffset1 = 0x10,
FriendlyOffset2 = 0xc,
};
#endregion
#region Nested type: Runes
/// <summary>
/// 3.3.5a
/// </summary>
internal enum Runes
{
RunesOffset = 0x824388, //0xC24304
RuneState = 0x824388,
RuneType = 0x824304,
RuneCooldown = 0x824364
};
#endregion
#region Nested type: ShapeshiftForm
/// <summary>
/// 3.3.5a
/// </summary>
internal enum ShapeshiftForm
{
// CGUnit_C__GetShapeshiftFormId = 0x0071AF70, // 3.3.5a 12340
BaseAddressOffset1 = 0xD0,
BaseAddressOffset2 = 0x1D3,
};
#endregion
#region Nested type: SpellCooldown
/// <summary>
/// 4.3
/// </summary>
internal enum SpellCooldown : uint
{
CooldPown = 0xACD584,
};
#endregion
#region Nested type: Swimming
/// <summary>
/// 3.3.5a
/// </summary>
internal enum Swimming
{
Pointer = 0x100, // not used in 3.3.5a
Offset = 0xA30, //3.3.5a
Mask = 0x200000, // 3.3.5a
};
#endregion
#region IsFlying enum
/// <summary>
/// 3.3.5a
/// </summary>
public enum IsFlying
{
// Reversed from Lua_IsFlying
Pointer = 0x100, // not used in 3.3.5a
Offset1 = 0xd8, // 3.3.5a
Offset2 = 0x44, // 3.3.5a
Mask = 0x2000000,
};
#endregion
#region Nested type: UnitAuras
/// <summary>
/// 3.3.5a
/// </summary>
internal enum UnitAuras : uint
{
// CGUnit_Aura = 0x00556E10,
AuraCount1 = 0xDD0, // 3.3.5a
AuraCount2 = 0xC54, // 3.3.5a
AuraTable1 = 0xC50, // 3.3.5a
AuraTable2 = 0xC58, // 3.3.5a
AuraSize = 0x18, // 3.3.5a
AuraSpellId = 0x8, // 3.3.5a
AuraStack = 0xF, // needs testing
TimeLeft = 0x14, // needs testing
};
#endregion
#region Nested type: UnitName
/// <summary>
/// 3.3.5a
/// </summary>
internal enum UnitName : uint
{
ObjectName1 = 0x1A4,
ObjectName2 = 0x90,
UnitName1 = 0x964,
UnitName2 = 0x5c,
PlayerNameCachePointer = 0x85D938 + 0x8,
PlayerNameMaskOffset = 0x24,
PlayerNameBaseOffset = 0x1c,
PlayerNameStringOffset = 0x20,
};
#endregion
#region Nested type: UnitSpeed
/// <summary>
/// 3.3.5a
/// </summary>
internal enum UnitSpeed
{
Pointer = 0x6F14A8, // not sure about this one but it gets the job done.
Pointer1 = 0x814,
Pointer2 = 0x8,
};
#endregion
#region Nested type: WowObject
/// <summary>
/// 3.3.5a
/// </summary>
internal enum WowObject
{
X = 0x798,
Y = X + 0x4,
Z = X + 0x8,
RotationOffset = X + 0x10,
GameObjectX = 0xE8,
GameObjectY = GameObjectX + 0x4,
GameObjectZ = GameObjectX + 0x8,
};
#endregion
#region Nested type: Zone
/// <summary>
/// 3.3.5a
/// </summary>
internal enum Zone : uint
{
ZoneText = 0x7D0788,
ZoneID = 0x7D080C,
};
#endregion
#region Nested type: UiFrame
/// <summary>
/// 3.3.5a
/// </summary>
internal enum UiFrame
{
CurrentFramePtr = 0x7499A8, // 3.3.5a
CurrentFrameOffset = 0x78, // 3.3.5a
FrameBase = 0x7499A8, // 3.3.5a
FirstFrame = 0xCD4, // 3.3.5a
NextFrame = 0xCCC, // 3.3.5a
ScrHeight = 0x6C0CB8, // 3.3.5a
ScrWidth = 0x6C0CB4, // 3.3.5a
FrameLeft = 0x68, // 3.3.5a
FrameRight = 0x70, // 3.3.5a
FrameBottom = 0x64, // 3.3.5a
FrameTop = 0x6C, // 3.3.5a
ParentPtr = 0x94, // 3.3.5a
EffectiveScale = 0x7C, // 3.3.5a
Name = 0x1C, // 3.3.5a
Visible = 0xDC, // 3.3.5a DC
RegionsFirst = 0x214, // 3.3.5a
RegionsNext = 0x20C, // 3.3.5a
LabelText = 0xF4, // 3.3.5a
Visible1 = 0x16, // 3.3.5a
Visible2 = 1, // 3.3.5a
ButtonEnabledPointer = 0xB4, // 3.3.5a
ButtonEnabledMask = 0x400, // 3.3.5a
ButtonChecked = 0x2F5, // 3.3.5a
EditBoxText = 0x2B4, // 3.3.5a
};
#endregion
}
}