/*================================================================= File created by Yohann NICOLAS. Others features. =================================================================*/ #include "common.h" bool active_othersFeatures = false; /* // Remove protect on the save file .d2s mem_seek( offset_D2Game + 0x77080);//6FC8DD5E-6FAA0000 memt_byte( 0x74, 0xEB ); // JMP SHORT D2Game.6FC8DD6D //6FC8DD5E 74 0D JE SHORT D2Game.6FC8DD6D */ /* void Install_ChangeResolution() { static int isInstalled = false; if (isInstalled) return; log_msg("Patch D2gfx for . (ChangeResolution)\n"); // execute if it's our packet else continue mem_seek( offset_D2Client + 0x23ED);//6FAA23EC-6FAA0000 memt_dword( 0x280, 0x400 ); //6FAA23EC B8 80020000 MOV EAX,280 ; Case 0 of switch 6FAA23C2 mem_seek( offset_D2Client + 0x23F7);//6FAA23F1-6FAA0000 memt_dword( 0x1E0, 0x300 ); //6FAA23F1 C705 F040B76F E0>MOV DWORD PTR DS:[6FB740F0],1E0 // change resolution mem_seek R7(D2gfx, 4B91, 4B91, 4B61, 0000, 0000, 0000, 0000); memt_dword( 0x280, 0x400 ); //6FA74B5D > C74424 14 8002>MOV DWORD PTR SS:[ESP+14],280 ; Case 0 of switch 6FA74B45 mem_seek R7(D2gfx, 4B96, 4B96, 4B66, 0000, 0000, 0000, 0000); memt_dword( 0x1E0, 0x300 ); //6FA74B65 . B8 E0010000 MOV EAX,1E0 // refresh size mem_seek( offset_D2Gdi + 0x118F);//6F831189-6F830000 memt_dword( 0x280, 0x400 ); //6F831189 |> C705 7CC0836F >MOV DWORD PTR DS:[6F83C07C],280 mem_seek( offset_D2Gdi + 0x1199);//6F831193-6F830000 memt_dword( 0x1E0, 0x300 ); //6F831193 |. C705 8CC4836F >MOV DWORD PTR DS:[6F83C48C],1E0 log_msg("\n"); isInstalled = true; } /////////////////////////////////////////////////////////////////////////////////////////// DWORD SetDisabledStat(Unit* ptItem, Stats* ptStats, DWORD disabled) { if (!ptItem || !ptStats) return 0; if (disabled) { if (!ptStats->isDisabled) { D2PreUpdateDisabledStat(ptStats); ptStats->isDisabled = 1; D2UpdateDisabledStat(ptItem->ptStats,ptStats,1); return 1; } } else if (ptStats->isDisabled) { D2PreUpdateDisabledStat(ptStats); ptStats->isDisabled = 0; D2UpdateDisabledStat(ptItem->ptStats,ptStats,1); } return 0; } void STDCALL Test2Fct (Unit* ptChar, Unit* ptItem) { SetDisabledStat(ptItem, ptItem->ptStats->ptStatsList, 0);//(DWORD)(rand()/(RAND_MAX+1.0)*2)); } FCT_ASM ( caller_Test2 ) PUSH EDI //ptItem PUSH ESI //ptChar CALL Test2Fct POP ECX PUSH EBX MOV EAX,DWORD PTR DS:[ESI] XOR EBX,EBX JMP ECX }} void Install_Test2() { static int isInstalled = false; if (isInstalled) return; log_msg("Patch D2Game. (Test)\n"); // Test mem_seek( offset_D2Game + 0x1253C);//6FC4253C-6FC30000 memt_byte( 0x8B, 0xE8 ); // CALL caller_BnetBtnPress MEMT_REF4( 0xDB335306, caller_Test2); //6FC4253C |> 8B06 MOV EAX,DWORD PTR DS:[ESI] //6FC4253E |. 53 PUSH EBX //6FC4253F |. 33DB XOR EBX,EBX isInstalled = true; }*/ /////////////////////////////////////////////////////////////////////////////////////////////// void Install_OthersFeatures() { static int isInstalled = false; if (isInstalled) return; log_msg("Patch. (OthersFeatures)\n"); // Install_RemoveExperienceDiminushingReturn(); // Install_ChangeResolution(); // Install_Test(); isInstalled = true; } /*================================= END OF FILE =================================*/