Duke4.net Forums: DNF Memory Addresses Documentation - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

DNF Memory Addresses Documentation  "Documenting Duke Nukem Forever Memory Addresses"

User is offline   Zurix 

#1

Hey, I want to make everyone who able to reverse engineer and search for memory addresses to bring their work here. It will help us to do a lot of things towards the game
What we can do with them?
Programmers for sure knows how they work, and how they are useful. It makes us able to reach game variables and functions to manipulate the game as we like (As we have the source of the game)
Notes
- Refrain dynamic addresses (that changes when you restart the game), dig more until you reach a static usable pointer
- All DNF versions memory addresses are allowed, Just mention the version.
- You got a structure and offsets of a class, yes for sure post them We don't need only globals!, and Virtual tables for sure
- Use Hungarian Notation ?, It's cooler and easier to read
- For reversers, dig in the dlls they got more information than main .exe, It's a bad and good features in same time, working with several IDA instances but most of functions names are revealed because of being exported.
- All what I found now is for 1.03, the memory addresses MAY be usable in all versions

A small request, Why don't we have a Wiki like https://gtamods.com/wiki/Main_Page but for all DN games?


Let me start first :D



D3DDrv9.dll + 0x100A98F0 = (IDirect3D9 **)&g_DXDevice

The DirectX device, you can do awesome things with it like hooking GUIs and using the DX functions to print text, textures and more.

As we know Console was removed in 1.03 but you still able to modify the variables that the console access them and here are some globals to use
ADD ENGINE.DLL BASE TO ALL THE FOLLOWING
  • g_bDrawActorMirrors 0x649E04 bool
  • g_bDrawAmbient 0x6499C0 bool
  • g_bDrawBSP 0x649DCC bool
  • g_bDrawBSPMirrors 0x649E08 bool
  • g_bDrawMotionBlur 0x649ADC bool
  • g_bDrawPlayerShadows 0x649EEC bool
  • g_bDrawPostEffects 0x649AAC bool
  • g_bDrawSMProjectors 0x649794 bool
  • g_bDrawShadows 0x649DB8 bool
  • g_bDrawSkinMeshAABBAccurate 0x806A84 bool
  • g_bDrawSkinMeshAABBInaccurate 0x806A88 bool
  • g_bDrawStars 0x808A38 bool
  • g_bDrawStaticMeshProjectorDebug 0x8056D0 bool
  • g_bDrawStaticMeshes 0x649784 bool
  • g_bDrawTransparent 0x649F28 bool
  • g_bDrawUberPost 0x649AF4 bool
  • g_bDrawUnderWater 0x649B20 bool
  • g_ShowHud 0x647468 bool
  • g_ShowConsole 0x64746C bool Will not work, although it was mentioned many times in the code.



Structures
Nothing seriously found, but Whenever you find the pointer of Ego [that its type float] add a 0x4 for it (4 bytes) and you will get a float that represents the Max Ego


So here is it folks, It's the start. Go ahead and complete the list, I will add more whenever I find :D .
To the owners of Duke4, What about the modding wiki as I mentioned as I got some docuemtned work for DNMP and DNF.
2

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options