-
-
Notifications
You must be signed in to change notification settings - Fork 438
Dev Tips
Let's document things. Even tiny ones. Don't ask, don't think too much about formatting. Just put any important knowledge about the project here in any readable form.
botder Today at 5:51 PM
You might not like it, but changing memory directly in deathmatch.dll is not ok
Raw memory address + memcpy in mods/deathmatch/logic/CClientGame.cpp
botder Today at 5:52 PM
multiplayer are hooks and some other weird stuff
game_sa is the "game interface layer"
so if you want to modify the game, do it through the game layer
if you make code for deathmath.dll you are not forced to understand how the game is in memory(edited)
Cazomino05 Today at 6:02 PM
multiplayer sa is hooks and memory modifications e.g. disabling code paths or any other memory overwrites you can think of
Declare DWORD dwReturnAddress = 0;
outside function, then in _asm
block add this code
push eax // save eax
mov eax, [esp + 4] // get return address
mov dwReturnAddress, eax
pop eax // restore eax value
Now you can check from where gta function was called.
Remember to add new interface methods at the end of that class, not in the middle ~ Botder
https://github.com/CrosRoad95/mtasa-blue/commit/9e69b4e64042c9704c0f1a7104f5127a10518103
Authors: Paweł K, Saml1er, CrosRoad95
Project Management
Git cheat sheet
Release Checklist
Code Review
Documentation
Contributors Guide
Style Guide
Lua API
Dev Tips
BitStream
CAccountPassword
Debug Settings
General
Testing Lua
Dependencies
MTADiag
Future Planning
CEF Versions
Windows XP Support
Things for 1.6