However, I do not know if we can have additional threads at all in a Win32 process without confusing the win32 processes, or if this needs to be solved differently (APC?).
A previous version of my patch used NtTimer/APC:
I'm attaching a cleaned up version of my APC code. It does get called regularly:
000f:fixme:thread:update_shared_data_time 129768277137647820 0041:fixme:win:GetWindowPlacement not supported on other process window 0x90076 0036:fixme:d3d:query_init Unhandled query type 0xc. 000f:fixme:thread:update_shared_data_time 129768277137814980
Though the interval is not exactly 15.600 ms, as it is with a separate thread and nanosleep.
And most importantly, it does not allow SW:TOR to make it to the character selection screen.
Could I have initialized the timer with different values to make it more precise?
thanks,
Joey