My own way of having no fog of war, enjoy.
if there is some shadow-flickering, turn off shadows or you can try adjusting the values in the CE table.

Attempted to make a CT file for convenience, let me know if it works:
Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>2</ID>
<Description>"Disable Fog of War (disabling this might cause the game to crash)"</Description>
<Color>800000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
label(lightopc1)
registersymbol(lightopc1)
aobscan(_lightopc1,F3 0F 59 44 24 18 F3 0F 59 25)
label(lightopc2)
registersymbol(lightopc2)
aobscan(_lightopc2,F3 0F 10 4C 24 50 F3 0F 5C 0D)
alloc(light1,4)
registersymbol(light1)
light1:
dd (float)13000
alloc(light2,4)
registersymbol(light2)
light2:
dd (float)3500
_lightopc1+6:
lightopc1:
mulss xmm4, dword ptr [light1]
_lightopc2+6:
lightopc2:
subss xmm1, dword ptr [light2]
[DISABLE]
lightopc1:
mulss xmm4, dword ptr [PathOfExile.exe+0068a264]
lightopc2:
subss xmm1, dword ptr [PathOfExile.exe+006FBFF0]
/*light1:
dd (float)1300
light2:
dd (float)350*/
dealloc(light1)
dealloc(light2)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>3</ID>
<Description>"Changing this value might yield better results (default: 1300)"</Description>
<Color>008000</Color>
<VariableType>Float</VariableType>
<Address>light1</Address>
</CheatEntry>
<CheatEntry>
<ID>4</ID>
<Description>"Changing this value might yield better results (default: 350)"</Description>
<Color>008000</Color>
<VariableType>Float</VariableType>
<Address>light2</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Not bothering with all the antivirus checks, use it, don't use it, I don't care, the source is below.
https://mega.co.nz/#!7YoAgJSK!B2scBD..._92HzbKYAWKqD8
Most likely on the next patch, these offsets will change, so someone might want to make a CE table or something similar.
Source:
Code:
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <stdio.h>
#include <conio.h>
#include <TlHelp32.h>
DWORD get_process_id(char*);
DWORD get_module_address(DWORD, char*);
int main()
{
DWORD pid = get_process_id("PathOfExile.exe");
if (!pid) // game not found
return 1;
DWORD poe_base = get_module_address(pid, "PathOfExile.exe");
if (!poe_base)
return 1;
HANDLE h_process = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
if (!h_process)
return 1;
float fl1 = 1300;
float fl2 = 350;
printf_s("Path of Exile fog-of-war removal by ndc\n\nPress '1' to enable\nPress '2' to disable\nPress any other key to quit\n");
char c = _getch();
if (c != '1' && c != '2')
return 0;
if (c == '1')
{
fl1 = 13000;
fl2 = 3500;
}
DWORD oldProt;
VirtualProtectEx(h_process, (DWORD*)(poe_base+0x0068a264), sizeof(float), PAGE_EXECUTE_READWRITE, &oldProt);
WriteProcessMemory(h_process, (DWORD*)(poe_base+0x0068a264), &fl1, sizeof(float), 0);
VirtualProtectEx(h_process, (DWORD*)(poe_base+0x0068a264), sizeof(float), oldProt, &oldProt);
VirtualProtectEx(h_process, (DWORD*)(poe_base+0x006fbff0), sizeof(float), PAGE_EXECUTE_READWRITE, &oldProt);
WriteProcessMemory(h_process, (DWORD*)(poe_base+0x006fbff0), &fl2, sizeof(float), 0);
VirtualProtectEx(h_process, (DWORD*)(poe_base+0x006fbff0), sizeof(float), oldProt, &oldProt);
return 0;
}
DWORD get_process_id(char* exe)
{
HANDLE h_proc_snap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
PROCESSENTRY32 process_entry = { 0 };
process_entry.dwSize = sizeof(PROCESSENTRY32);
unsigned int process_id = 0;
if (Process32First(h_proc_snap, &process_entry))
{
do
{
if (lstrcmp(process_entry.szExeFile, exe) == 0)
process_id = process_entry.th32ProcessID;
}
while (Process32Next(h_proc_snap, &process_entry));
}
CloseHandle(h_proc_snap);
return process_id;
}
DWORD get_module_address(DWORD process_id, char* module)
{
HANDLE h_proc_snap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, process_id);
MODULEENTRY32 module_entry = { 0 };
module_entry.dwSize = sizeof(MODULEENTRY32);
unsigned int module_address = 0;
if (Module32First(h_proc_snap, &module_entry))
{
do
{
if (lstrcmp(module_entry.szModule, module) == 0)
module_address = (DWORD)module_entry.modBaseAddr;
}
while (Module32Next(h_proc_snap, &module_entry));
}
CloseHandle(h_proc_snap);
return module_address;
}