5.11 IconReplacer (#7)

5.11 IconReplacer
This commit is contained in:
goaaats 2019-11-16 22:06:41 +09:00 committed by GitHub
commit dc01c4a6d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 244 additions and 242 deletions

View file

@ -15,7 +15,7 @@ namespace Dalamud.Game.ClientState
protected override void Setup64Bit(SigScanner sig) {
ActorTable = sig.Module.BaseAddress + 0x1BFBA38;
LocalContentId = sig.Module.BaseAddress + 0x1C2E000;
JobGaugeData = sig.Module.BaseAddress + 0x1BFD110;
JobGaugeData = sig.Module.BaseAddress + 0x1BF8110;
}
}
}

View file

@ -26,7 +26,8 @@ namespace Dalamud.Game.Internal.Gui {
private IntPtr byteBase;
private Dalamud dalamud;
private HashSet<uint> UsedIDs;
private HashSet<uint> CustomIDs;
private HashSet<uint> VanillaIDs;
public unsafe IconReplacer(Dalamud dalamud, SigScanner scanner) {
this.dalamud = dalamud;
@ -34,10 +35,11 @@ namespace Dalamud.Game.Internal.Gui {
this.Address.Setup(scanner);
this.byteBase = scanner.Module.BaseAddress;
this.comboTimer = byteBase + 0x1BB5B50;
this.lastComboMove = byteBase + 0x1BB5B54;
this.comboTimer = byteBase + 0x1BB0B50;
this.lastComboMove = byteBase + 0x1BB0B54;
UsedIDs = new HashSet<uint>();
CustomIDs = new HashSet<uint>();
VanillaIDs = new HashSet<uint>();
PopulateDict();
@ -92,12 +94,12 @@ namespace Dalamud.Game.Internal.Gui {
}
}
*/
if (!this.UsedIDs.Contains(actionID)) return actionID;
if (this.VanillaIDs.Contains(actionID)) return this.iconHook.Original(self, actionID);
if (!this.CustomIDs.Contains(actionID)) return actionID;
// TODO: this is currently broken
// As it stands, don't rely on localCharacter.level for anything.
var localPlayer = this.dalamud.ClientState.LocalPlayer;
//var localPlayer = this.dalamud.ClientState.LocalPlayer;
// Don't clutter the spaghetti any worse than it already is.
var lastMove = Marshal.ReadInt32(this.lastComboMove);
@ -860,240 +862,240 @@ namespace Dalamud.Game.Internal.Gui {
private void PopulateDict() {
UsedIDs.Add(16477);
UsedIDs.Add(88);
UsedIDs.Add(84);
UsedIDs.Add(3632);
UsedIDs.Add(16468);
UsedIDs.Add(3538);
UsedIDs.Add(3539);
UsedIDs.Add(16457);
UsedIDs.Add(42);
UsedIDs.Add(45);
UsedIDs.Add(16462);
UsedIDs.Add(7480);
UsedIDs.Add(7481);
UsedIDs.Add(7482);
UsedIDs.Add(7484);
UsedIDs.Add(7485);
UsedIDs.Add(3563);
UsedIDs.Add(2255);
UsedIDs.Add(16488);
UsedIDs.Add(16145);
UsedIDs.Add(16146);
UsedIDs.Add(16149);
UsedIDs.Add(7413);
UsedIDs.Add(2870);
UsedIDs.Add(3575);
UsedIDs.Add(149);
UsedIDs.Add(17055);
UsedIDs.Add(3582);
UsedIDs.Add(3581);
UsedIDs.Add(163);
UsedIDs.Add(16508);
UsedIDs.Add(16510);
UsedIDs.Add(16543);
UsedIDs.Add(167);
UsedIDs.Add(15994);
UsedIDs.Add(15993);
UsedIDs.Add(16007);
UsedIDs.Add(16008);
UsedIDs.Add(16531);
UsedIDs.Add(16534);
UsedIDs.Add(3559);
UsedIDs.Add(97);
UsedIDs.Add(16525);
UsedIDs.Add(16524);
UsedIDs.Add(7516);
UsedIDs.Add(0x3e75);
UsedIDs.Add(0x3e76);
UsedIDs.Add(0x3e77);
UsedIDs.Add(0x3e78);
UsedIDs.Add(0x3e7d);
UsedIDs.Add(0x3e7e);
UsedIDs.Add(0x3e86);
UsedIDs.Add(0x3f10);
UsedIDs.Add(0x3f25);
UsedIDs.Add(0x3f1b);
UsedIDs.Add(0x3f1c);
UsedIDs.Add(0x3f1d);
UsedIDs.Add(0x3f1e);
UsedIDs.Add(0x451f);
UsedIDs.Add(0x42ff);
UsedIDs.Add(0x4300);
UsedIDs.Add(0x49d4);
UsedIDs.Add(0x49d5);
UsedIDs.Add(0x49e9);
UsedIDs.Add(0x49ea);
UsedIDs.Add(0x49f4);
UsedIDs.Add(0x49f7);
UsedIDs.Add(0x49f9);
UsedIDs.Add(0x4a06);
UsedIDs.Add(0x4a31);
UsedIDs.Add(0x4a32);
UsedIDs.Add(0x4a35);
UsedIDs.Add(0x4792);
UsedIDs.Add(0x452f);
UsedIDs.Add(0x453f);
UsedIDs.Add(0x454c);
UsedIDs.Add(0x455c);
UsedIDs.Add(0x455d);
UsedIDs.Add(0x4561);
UsedIDs.Add(0x4565);
UsedIDs.Add(0x4566);
UsedIDs.Add(0x45a0);
UsedIDs.Add(0x45c8);
UsedIDs.Add(0x45c9);
UsedIDs.Add(0x45cd);
UsedIDs.Add(0x4197);
UsedIDs.Add(0x4199);
UsedIDs.Add(0x419b);
UsedIDs.Add(0x419d);
UsedIDs.Add(0x419f);
UsedIDs.Add(0x4198);
UsedIDs.Add(0x419a);
UsedIDs.Add(0x419c);
UsedIDs.Add(0x419e);
UsedIDs.Add(0x41a0);
UsedIDs.Add(0x41a1);
UsedIDs.Add(0x41a2);
UsedIDs.Add(0x41a3);
UsedIDs.Add(0x417e);
UsedIDs.Add(0x404f);
UsedIDs.Add(0x4051);
UsedIDs.Add(0x4052);
UsedIDs.Add(0x4055);
UsedIDs.Add(0x4053);
UsedIDs.Add(0x4056);
UsedIDs.Add(0x405e);
UsedIDs.Add(0x405f);
UsedIDs.Add(0x4063);
UsedIDs.Add(0x406f);
UsedIDs.Add(0x4074);
UsedIDs.Add(0x4075);
UsedIDs.Add(0x4076);
UsedIDs.Add(0x407d);
UsedIDs.Add(0x407f);
UsedIDs.Add(0x4083);
UsedIDs.Add(0x4080);
UsedIDs.Add(0x4081);
UsedIDs.Add(0x4082);
UsedIDs.Add(0x4084);
UsedIDs.Add(0x408e);
UsedIDs.Add(0x4091);
UsedIDs.Add(0x4092);
UsedIDs.Add(0x4094);
UsedIDs.Add(0x4095);
UsedIDs.Add(0x409c);
UsedIDs.Add(0x409d);
UsedIDs.Add(0x40aa);
UsedIDs.Add(0x40ab);
UsedIDs.Add(0x40ad);
UsedIDs.Add(0x40ae);
UsedIDs.Add(0x272b);
UsedIDs.Add(0x222a);
UsedIDs.Add(0x222d);
UsedIDs.Add(0x222e);
UsedIDs.Add(0x223b);
UsedIDs.Add(0x2265);
UsedIDs.Add(0x2267);
UsedIDs.Add(0x2268);
UsedIDs.Add(0x2269);
UsedIDs.Add(0x2274);
UsedIDs.Add(0x2290);
UsedIDs.Add(0x2291);
UsedIDs.Add(0x2292);
UsedIDs.Add(0x229c);
UsedIDs.Add(0x229e);
UsedIDs.Add(0x22a8);
UsedIDs.Add(0x22b3);
UsedIDs.Add(0x22b5);
UsedIDs.Add(0x22b7);
UsedIDs.Add(0x22d1);
UsedIDs.Add(0x4575);
UsedIDs.Add(0x2335);
UsedIDs.Add(0x1ebb);
UsedIDs.Add(0x1cdd);
UsedIDs.Add(0x1cee);
UsedIDs.Add(0x1cef);
UsedIDs.Add(0x1cf1);
UsedIDs.Add(0x1cf3);
UsedIDs.Add(0x1cf4);
UsedIDs.Add(0x1cf7);
UsedIDs.Add(0x1cfc);
UsedIDs.Add(0x1d17);
UsedIDs.Add(0x1d00);
UsedIDs.Add(0x1d01);
UsedIDs.Add(0x1d05);
UsedIDs.Add(0x1d07);
UsedIDs.Add(0x1d0b);
UsedIDs.Add(0x1d0d);
UsedIDs.Add(0x1d0f);
UsedIDs.Add(0x1d12);
UsedIDs.Add(0x1d13);
UsedIDs.Add(0x1d4f);
UsedIDs.Add(0x1d64);
UsedIDs.Add(0x1d50);
UsedIDs.Add(0x1d58);
UsedIDs.Add(0x1d59);
UsedIDs.Add(0x1d51);
UsedIDs.Add(0x1d53);
UsedIDs.Add(0x1d66);
UsedIDs.Add(0x1d55);
UsedIDs.Add(0xdda);
UsedIDs.Add(0xddd);
UsedIDs.Add(0xdde);
UsedIDs.Add(0xde3);
UsedIDs.Add(0xdf0);
UsedIDs.Add(0xdfb);
UsedIDs.Add(0xe00);
UsedIDs.Add(0xe0b);
UsedIDs.Add(0xe0c);
UsedIDs.Add(0xe0e);
UsedIDs.Add(0xe0f);
UsedIDs.Add(0xe11);
UsedIDs.Add(0xfed);
UsedIDs.Add(0xff7);
UsedIDs.Add(0xffb);
UsedIDs.Add(0xfe9);
UsedIDs.Add(0xb30);
UsedIDs.Add(0x12e);
UsedIDs.Add(0x8d3);
UsedIDs.Add(0x8d4);
UsedIDs.Add(0x8d5);
UsedIDs.Add(0x8d7);
UsedIDs.Add(0xb32);
UsedIDs.Add(0xb34);
UsedIDs.Add(0xb38);
UsedIDs.Add(0xb39);
UsedIDs.Add(0xb3e);
UsedIDs.Add(0x12d);
UsedIDs.Add(0x15);
UsedIDs.Add(0x26);
UsedIDs.Add(0x31);
UsedIDs.Add(0x33);
UsedIDs.Add(0x4b);
UsedIDs.Add(0x5c);
UsedIDs.Add(0x62);
UsedIDs.Add(0x64);
UsedIDs.Add(0x71);
UsedIDs.Add(0x77);
UsedIDs.Add(0x7f);
UsedIDs.Add(0x79);
UsedIDs.Add(0x84);
UsedIDs.Add(0x90);
UsedIDs.Add(0x99);
UsedIDs.Add(0xa4);
UsedIDs.Add(0xb2);
UsedIDs.Add(0xa8);
UsedIDs.Add(0xac);
UsedIDs.Add(0xb8);
UsedIDs.Add(0xe2);
UsedIDs.Add(0x10f);
UsedIDs.Add(0xf3);
UsedIDs.Add(0x10e);
UsedIDs.Add(0x110);
UsedIDs.Add(0x111);
CustomIDs.Add(16477);
CustomIDs.Add(88);
CustomIDs.Add(84);
CustomIDs.Add(3632);
CustomIDs.Add(16468);
CustomIDs.Add(3538);
CustomIDs.Add(3539);
CustomIDs.Add(16457);
CustomIDs.Add(42);
CustomIDs.Add(45);
CustomIDs.Add(16462);
CustomIDs.Add(7480);
CustomIDs.Add(7481);
CustomIDs.Add(7482);
CustomIDs.Add(7484);
CustomIDs.Add(7485);
CustomIDs.Add(3563);
CustomIDs.Add(2255);
CustomIDs.Add(16488);
CustomIDs.Add(16145);
CustomIDs.Add(16146);
CustomIDs.Add(16149);
CustomIDs.Add(7413);
CustomIDs.Add(2870);
CustomIDs.Add(3575);
CustomIDs.Add(149);
CustomIDs.Add(17055);
CustomIDs.Add(3582);
CustomIDs.Add(3581);
CustomIDs.Add(163);
CustomIDs.Add(16508);
CustomIDs.Add(16510);
CustomIDs.Add(16543);
CustomIDs.Add(167);
CustomIDs.Add(15994);
CustomIDs.Add(15993);
CustomIDs.Add(16007);
CustomIDs.Add(16008);
CustomIDs.Add(16531);
CustomIDs.Add(16534);
CustomIDs.Add(3559);
CustomIDs.Add(97);
CustomIDs.Add(16525);
CustomIDs.Add(16524);
CustomIDs.Add(7516);
VanillaIDs.Add(0x3e75);
VanillaIDs.Add(0x3e76);
VanillaIDs.Add(0x3e77);
VanillaIDs.Add(0x3e78);
VanillaIDs.Add(0x3e7d);
VanillaIDs.Add(0x3e7e);
VanillaIDs.Add(0x3e86);
VanillaIDs.Add(0x3f10);
VanillaIDs.Add(0x3f25);
VanillaIDs.Add(0x3f1b);
VanillaIDs.Add(0x3f1c);
VanillaIDs.Add(0x3f1d);
VanillaIDs.Add(0x3f1e);
VanillaIDs.Add(0x451f);
VanillaIDs.Add(0x42ff);
VanillaIDs.Add(0x4300);
VanillaIDs.Add(0x49d4);
VanillaIDs.Add(0x49d5);
VanillaIDs.Add(0x49e9);
VanillaIDs.Add(0x49ea);
VanillaIDs.Add(0x49f4);
VanillaIDs.Add(0x49f7);
VanillaIDs.Add(0x49f9);
VanillaIDs.Add(0x4a06);
VanillaIDs.Add(0x4a31);
VanillaIDs.Add(0x4a32);
VanillaIDs.Add(0x4a35);
VanillaIDs.Add(0x4792);
VanillaIDs.Add(0x452f);
VanillaIDs.Add(0x453f);
VanillaIDs.Add(0x454c);
VanillaIDs.Add(0x455c);
VanillaIDs.Add(0x455d);
VanillaIDs.Add(0x4561);
VanillaIDs.Add(0x4565);
VanillaIDs.Add(0x4566);
VanillaIDs.Add(0x45a0);
VanillaIDs.Add(0x45c8);
VanillaIDs.Add(0x45c9);
VanillaIDs.Add(0x45cd);
VanillaIDs.Add(0x4197);
VanillaIDs.Add(0x4199);
VanillaIDs.Add(0x419b);
VanillaIDs.Add(0x419d);
VanillaIDs.Add(0x419f);
VanillaIDs.Add(0x4198);
VanillaIDs.Add(0x419a);
VanillaIDs.Add(0x419c);
VanillaIDs.Add(0x419e);
VanillaIDs.Add(0x41a0);
VanillaIDs.Add(0x41a1);
VanillaIDs.Add(0x41a2);
VanillaIDs.Add(0x41a3);
VanillaIDs.Add(0x417e);
VanillaIDs.Add(0x404f);
VanillaIDs.Add(0x4051);
VanillaIDs.Add(0x4052);
VanillaIDs.Add(0x4055);
VanillaIDs.Add(0x4053);
VanillaIDs.Add(0x4056);
VanillaIDs.Add(0x405e);
VanillaIDs.Add(0x405f);
VanillaIDs.Add(0x4063);
VanillaIDs.Add(0x406f);
VanillaIDs.Add(0x4074);
VanillaIDs.Add(0x4075);
VanillaIDs.Add(0x4076);
VanillaIDs.Add(0x407d);
VanillaIDs.Add(0x407f);
VanillaIDs.Add(0x4083);
VanillaIDs.Add(0x4080);
VanillaIDs.Add(0x4081);
VanillaIDs.Add(0x4082);
VanillaIDs.Add(0x4084);
VanillaIDs.Add(0x408e);
VanillaIDs.Add(0x4091);
VanillaIDs.Add(0x4092);
VanillaIDs.Add(0x4094);
VanillaIDs.Add(0x4095);
VanillaIDs.Add(0x409c);
VanillaIDs.Add(0x409d);
VanillaIDs.Add(0x40aa);
VanillaIDs.Add(0x40ab);
VanillaIDs.Add(0x40ad);
VanillaIDs.Add(0x40ae);
VanillaIDs.Add(0x272b);
VanillaIDs.Add(0x222a);
VanillaIDs.Add(0x222d);
VanillaIDs.Add(0x222e);
VanillaIDs.Add(0x223b);
VanillaIDs.Add(0x2265);
VanillaIDs.Add(0x2267);
VanillaIDs.Add(0x2268);
VanillaIDs.Add(0x2269);
VanillaIDs.Add(0x2274);
VanillaIDs.Add(0x2290);
VanillaIDs.Add(0x2291);
VanillaIDs.Add(0x2292);
VanillaIDs.Add(0x229c);
VanillaIDs.Add(0x229e);
VanillaIDs.Add(0x22a8);
VanillaIDs.Add(0x22b3);
VanillaIDs.Add(0x22b5);
VanillaIDs.Add(0x22b7);
VanillaIDs.Add(0x22d1);
VanillaIDs.Add(0x4575);
VanillaIDs.Add(0x2335);
VanillaIDs.Add(0x1ebb);
VanillaIDs.Add(0x1cdd);
VanillaIDs.Add(0x1cee);
VanillaIDs.Add(0x1cef);
VanillaIDs.Add(0x1cf1);
VanillaIDs.Add(0x1cf3);
VanillaIDs.Add(0x1cf4);
VanillaIDs.Add(0x1cf7);
VanillaIDs.Add(0x1cfc);
VanillaIDs.Add(0x1d17);
VanillaIDs.Add(0x1d00);
VanillaIDs.Add(0x1d01);
VanillaIDs.Add(0x1d05);
VanillaIDs.Add(0x1d07);
VanillaIDs.Add(0x1d0b);
VanillaIDs.Add(0x1d0d);
VanillaIDs.Add(0x1d0f);
VanillaIDs.Add(0x1d12);
VanillaIDs.Add(0x1d13);
VanillaIDs.Add(0x1d4f);
VanillaIDs.Add(0x1d64);
VanillaIDs.Add(0x1d50);
VanillaIDs.Add(0x1d58);
VanillaIDs.Add(0x1d59);
VanillaIDs.Add(0x1d51);
VanillaIDs.Add(0x1d53);
VanillaIDs.Add(0x1d66);
VanillaIDs.Add(0x1d55);
VanillaIDs.Add(0xdda);
VanillaIDs.Add(0xddd);
VanillaIDs.Add(0xdde);
VanillaIDs.Add(0xde3);
VanillaIDs.Add(0xdf0);
VanillaIDs.Add(0xdfb);
VanillaIDs.Add(0xe00);
VanillaIDs.Add(0xe0b);
VanillaIDs.Add(0xe0c);
VanillaIDs.Add(0xe0e);
VanillaIDs.Add(0xe0f);
VanillaIDs.Add(0xe11);
VanillaIDs.Add(0xfed);
VanillaIDs.Add(0xff7);
VanillaIDs.Add(0xffb);
VanillaIDs.Add(0xfe9);
VanillaIDs.Add(0xb30);
VanillaIDs.Add(0x12e);
VanillaIDs.Add(0x8d3);
VanillaIDs.Add(0x8d4);
VanillaIDs.Add(0x8d5);
VanillaIDs.Add(0x8d7);
VanillaIDs.Add(0xb32);
VanillaIDs.Add(0xb34);
VanillaIDs.Add(0xb38);
VanillaIDs.Add(0xb39);
VanillaIDs.Add(0xb3e);
VanillaIDs.Add(0x12d);
VanillaIDs.Add(0x15);
VanillaIDs.Add(0x26);
VanillaIDs.Add(0x31);
VanillaIDs.Add(0x33);
VanillaIDs.Add(0x4b);
VanillaIDs.Add(0x5c);
VanillaIDs.Add(0x62);
VanillaIDs.Add(0x64);
VanillaIDs.Add(0x71);
VanillaIDs.Add(0x77);
VanillaIDs.Add(0x7f);
VanillaIDs.Add(0x79);
VanillaIDs.Add(0x84);
VanillaIDs.Add(0x90);
VanillaIDs.Add(0x99);
VanillaIDs.Add(0xa4);
VanillaIDs.Add(0xb2);
VanillaIDs.Add(0xa8);
VanillaIDs.Add(0xac);
VanillaIDs.Add(0xb8);
VanillaIDs.Add(0xe2);
VanillaIDs.Add(0x10f);
VanillaIDs.Add(0xf3);
VanillaIDs.Add(0x10e);
VanillaIDs.Add(0x110);
VanillaIDs.Add(0x111);
}
}
}