public class Huds
{
public static class HElems { public static uint xOffset = 0x04, yOffset = 0x08, textOffset = 0x84, fontOffset = 0x24, fontSizeOffset = 0x14, colorOffset = 0x30, relativeOffset = 0x2c, widthOffset = 0x44, heightOffset = 0x48, shaderOffset = 0x4c, GlowColor = 0x8C, clientOffset = 0xA8, alignOffset = 0x2C; }
public static uint CreateText(string text)
{
RPC.CallFunc(1828556u, RPC.str_pointer(text));
System.Threading.Thread.Sleep(50);
return RPC.GetFuncReturn();
}
public static byte[] uintBytes(uint input) { byte[] data = BitConverter.GetBytes(input); Array.Reverse(data); return data; }
public static byte[] CacheString(string text)
{
byte[] Index = uintBytes(CreateText(text + "\0"));
return Index;
}
public static byte[] ReverseBytes(byte[] inArray) { Array.Reverse(inArray); return inArray; }
public static byte[] ToHexFloat(float Axis) { byte[] bytes = BitConverter.GetBytes(Axis); Array.Reverse(bytes); return bytes; }
public static byte[] RGBA(decimal R, decimal G, decimal B, decimal A) { byte[] RGBA = new byte[4]; byte[] RVal = BitConverter.GetBytes(Convert.ToInt32(R)); byte[] GVal = BitConverter.GetBytes(Convert.ToInt32(G)); byte[] BVal = BitConverter.GetBytes(Convert.ToInt32(B)); byte[] AVal = BitConverter.GetBytes(Convert.ToInt32(A)); RGBA[0] = RVal[0]; RGBA[1] = GVal[0]; RGBA[2] = BVal[0]; RGBA[3] = AVal[0]; return RGBA; }
public static void StoreIcon(uint elemIndex, uint client, int shader, int width, int height, int x, int y, uint align, int sort, int r, int g, int b, int a, string Priority_)
{
byte[] PriorityB = new byte[0];
byte[] PriorityA = new byte[0];
if (Priority_ == "Back")
{
PriorityB = new byte[] { 5 };
PriorityA = new byte[] { 0 };
}
if (Priority_ == "Front")
{
PriorityB = new byte[] { 7 };
PriorityA = new byte[] { 69 };
}
uint elem = 0xF0E10C + ((elemIndex) * 0xB4);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(client));
PS3.SetMemory(elem, new byte[0xB4]);
PS3.SetMemory(elem, new byte[] { 0x00, 0x00, 0x00, 0x00 });
PS3.SetMemory(elem + HElems.relativeOffset, new byte[] { 0x00, 0x00, 0x00, 0x01 });
PS3.SetMemory(elem + HElems.relativeOffset - 4, new byte[] { 0x00, 0x00, 0x00, 0x00 });
PS3.SetMemory(elem + HElems.shaderOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(shader))));
PS3.SetMemory(elem + HElems.heightOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(height))));
PS3.SetMemory(elem + HElems.widthOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(width))));
PS3.SetMemory(elem + HElems.alignOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(align))));
PS3.SetMemory(elem + HElems.textOffset + 4, ReverseBytes(BitConverter.GetBytes(sort)));
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + 0x88, PriorityA);
PS3.SetMemory(elem + 0xa7, PriorityB);
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);
PS3.SetMemory(elem + 0x2b, new byte[] { 0x5 });
PS3.SetMemory(elem + 0xA8, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client))));
System.Threading.Thread.Sleep(20);
}
public static void StoreTextElem(uint elemIndex, int client, string text, int font, float fontScale, int x, int y, uint align, int sort, int r, int g, int b, int a, int r1, int g1, int b1, int a1, string Priority_)
{
byte[] PriorityB = new byte[0];
byte[] PriorityA = new byte[0];
if (Priority_ == "Back")
{
PriorityB = new byte[] { 5 };
PriorityA = new byte[] { 0 };
}
if (Priority_ == "Front")
{
PriorityB = new byte[] { 7 };
PriorityA = new byte[] { 69 };
}
string setText = text + "\0";
byte[] TextIndex = CacheString(text);
uint elem = 0xF0E10C + ((elemIndex) * 0xB4);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client)));
PS3.SetMemory(elem, new byte[0xB4]);
PS3.SetMemory(elem, new byte[] { 0x00, 0x00, 0x00, 0x00 });
PS3.SetMemory(elem + HElems.textOffset, TextIndex);
PS3.SetMemory(elem + HElems.relativeOffset, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x92, 0xFF, 0xFF, 0xFF, 0xFF });
PS3.SetMemory(elem + HElems.relativeOffset - 4, new byte[] { 0x00, 0x00, 0x00, 0x05 });
PS3.SetMemory(elem + HElems.fontOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(font))));
PS3.SetMemory(elem + HElems.alignOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(align))));
PS3.SetMemory(elem + HElems.textOffset + 4, ReverseBytes(BitConverter.GetBytes(sort)));
PS3.SetMemory(elem + HElems.fontSizeOffset, ToHexFloat(fontScale));
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + 0x88, PriorityA);
PS3.SetMemory(elem + 0xa7, PriorityB);
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.GlowColor, RGBA(r1, g1, b1, a1));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);
PS3.SetMemory(elem + 0x2b, new byte[] { 0x5 });
PS3.SetMemory(elem + 0x88, new byte[] { 0x44 });
PS3.SetMemory(elem + 0xA8, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client))));
System.Threading.Thread.Sleep(20);
}
class MenuItems
{
public static uint
Shader = 0,
ScrollBarBackGround = 1;
}
public static void ActivateIndex(Boolean State, int index, int type)
{
uint elem = 0xF0E10C + ((uint)index * 0xB4);
byte[] Type_ = BitConverter.GetBytes(type);
Array.Reverse(Type_);
if(State == true)
{
PS3.SetMemory(elem, Type_);
}
else
{PS3.SetMemory(elem, new byte[] {0x00, 0x00, 0x00, 0x00});}
}
}
{
public static class HElems { public static uint xOffset = 0x04, yOffset = 0x08, textOffset = 0x84, fontOffset = 0x24, fontSizeOffset = 0x14, colorOffset = 0x30, relativeOffset = 0x2c, widthOffset = 0x44, heightOffset = 0x48, shaderOffset = 0x4c, GlowColor = 0x8C, clientOffset = 0xA8, alignOffset = 0x2C; }
public static uint CreateText(string text)
{
RPC.CallFunc(1828556u, RPC.str_pointer(text));
System.Threading.Thread.Sleep(50);
return RPC.GetFuncReturn();
}
public static byte[] uintBytes(uint input) { byte[] data = BitConverter.GetBytes(input); Array.Reverse(data); return data; }
public static byte[] CacheString(string text)
{
byte[] Index = uintBytes(CreateText(text + "\0"));
return Index;
}
public static byte[] ReverseBytes(byte[] inArray) { Array.Reverse(inArray); return inArray; }
public static byte[] ToHexFloat(float Axis) { byte[] bytes = BitConverter.GetBytes(Axis); Array.Reverse(bytes); return bytes; }
public static byte[] RGBA(decimal R, decimal G, decimal B, decimal A) { byte[] RGBA = new byte[4]; byte[] RVal = BitConverter.GetBytes(Convert.ToInt32(R)); byte[] GVal = BitConverter.GetBytes(Convert.ToInt32(G)); byte[] BVal = BitConverter.GetBytes(Convert.ToInt32(B)); byte[] AVal = BitConverter.GetBytes(Convert.ToInt32(A)); RGBA[0] = RVal[0]; RGBA[1] = GVal[0]; RGBA[2] = BVal[0]; RGBA[3] = AVal[0]; return RGBA; }
public static void StoreIcon(uint elemIndex, uint client, int shader, int width, int height, int x, int y, uint align, int sort, int r, int g, int b, int a, string Priority_)
{
byte[] PriorityB = new byte[0];
byte[] PriorityA = new byte[0];
if (Priority_ == "Back")
{
PriorityB = new byte[] { 5 };
PriorityA = new byte[] { 0 };
}
if (Priority_ == "Front")
{
PriorityB = new byte[] { 7 };
PriorityA = new byte[] { 69 };
}
uint elem = 0xF0E10C + ((elemIndex) * 0xB4);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(client));
PS3.SetMemory(elem, new byte[0xB4]);
PS3.SetMemory(elem, new byte[] { 0x00, 0x00, 0x00, 0x00 });
PS3.SetMemory(elem + HElems.relativeOffset, new byte[] { 0x00, 0x00, 0x00, 0x01 });
PS3.SetMemory(elem + HElems.relativeOffset - 4, new byte[] { 0x00, 0x00, 0x00, 0x00 });
PS3.SetMemory(elem + HElems.shaderOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(shader))));
PS3.SetMemory(elem + HElems.heightOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(height))));
PS3.SetMemory(elem + HElems.widthOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(width))));
PS3.SetMemory(elem + HElems.alignOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(align))));
PS3.SetMemory(elem + HElems.textOffset + 4, ReverseBytes(BitConverter.GetBytes(sort)));
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + 0x88, PriorityA);
PS3.SetMemory(elem + 0xa7, PriorityB);
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);
PS3.SetMemory(elem + 0x2b, new byte[] { 0x5 });
PS3.SetMemory(elem + 0xA8, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client))));
System.Threading.Thread.Sleep(20);
}
public static void StoreTextElem(uint elemIndex, int client, string text, int font, float fontScale, int x, int y, uint align, int sort, int r, int g, int b, int a, int r1, int g1, int b1, int a1, string Priority_)
{
byte[] PriorityB = new byte[0];
byte[] PriorityA = new byte[0];
if (Priority_ == "Back")
{
PriorityB = new byte[] { 5 };
PriorityA = new byte[] { 0 };
}
if (Priority_ == "Front")
{
PriorityB = new byte[] { 7 };
PriorityA = new byte[] { 69 };
}
string setText = text + "\0";
byte[] TextIndex = CacheString(text);
uint elem = 0xF0E10C + ((elemIndex) * 0xB4);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client)));
PS3.SetMemory(elem, new byte[0xB4]);
PS3.SetMemory(elem, new byte[] { 0x00, 0x00, 0x00, 0x00 });
PS3.SetMemory(elem + HElems.textOffset, TextIndex);
PS3.SetMemory(elem + HElems.relativeOffset, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x92, 0xFF, 0xFF, 0xFF, 0xFF });
PS3.SetMemory(elem + HElems.relativeOffset - 4, new byte[] { 0x00, 0x00, 0x00, 0x05 });
PS3.SetMemory(elem + HElems.fontOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(font))));
PS3.SetMemory(elem + HElems.alignOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(align))));
PS3.SetMemory(elem + HElems.textOffset + 4, ReverseBytes(BitConverter.GetBytes(sort)));
PS3.SetMemory(elem + HElems.fontSizeOffset, ToHexFloat(fontScale));
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + 0x88, PriorityA);
PS3.SetMemory(elem + 0xa7, PriorityB);
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.GlowColor, RGBA(r1, g1, b1, a1));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);
PS3.SetMemory(elem + 0x2b, new byte[] { 0x5 });
PS3.SetMemory(elem + 0x88, new byte[] { 0x44 });
PS3.SetMemory(elem + 0xA8, ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client))));
System.Threading.Thread.Sleep(20);
}
class MenuItems
{
public static uint
Shader = 0,
ScrollBarBackGround = 1;
}
public static void ActivateIndex(Boolean State, int index, int type)
{
uint elem = 0xF0E10C + ((uint)index * 0xB4);
byte[] Type_ = BitConverter.GetBytes(type);
Array.Reverse(Type_);
if(State == true)
{
PS3.SetMemory(elem, Type_);
}
else
{PS3.SetMemory(elem, new byte[] {0x00, 0x00, 0x00, 0x00});}
}
}
Credits :
Choco