Err....
Aspect of Sorrow wrote:
NWN2 has the scaling mechanism that I'd suggest enumerating clientside rather than appearance fiddling. Write a script that loops, adjusting the player scale. Load the game into the module containing that script and start a debugger like olydbg. Look for patterns of data in memory flipped, find their position and the context wrapping it. If you find a pattern that can be easily identified after every client reset via olydbg, create an application that determines the process name, call kernel32.dll, search and marshal the area to enumerate, read it's current state, set scale x,y,z to 0.001.
That's bad idea. I see what you're trying to do here, but it won't work well.
Kernel32.dll will not have any code related to camera position.
Because kernel32 handles creation of processes, opening of files and such. Camera-related stuff will not happen there. You can hook kernel32 dll, of course, but you'll gain nothing by doing that.
Camera-related code will be happening in the game exe or game-specific dll, and you will not be able to pinpoint it easily, because it'll be statically linked and object oriented.
However.
ClientExtender already messes with camera settings by extending camera range, and can adjust its zoom range.
So instead of wasting time looking for stuff (that isn't there) in kernel32, fork ClientExtender and see if there's a portion of it that deals with camera directly. Because client extender already provides standalone client, and can mess with client player position via /mpredict, it is possible that this can be done.
Pinpointing player scale will also take forever, because you don't know how it is stored, and whether a scale even stored anywhee, because it is entirely possible (and adviseable) to write a program that operates on player scale, but does not store the value itself.
And in the end, it is almost guaranteed that player scale - even if it is stored in the program, will be never stored at the same memory location.
----
Short version: Don't bother with ollydbg, try to modify clientextender instead. It has source code available, somewhere.