San Andreas Multiplayer
San Andreas Multiplayer (SA:MP) is a user-made modification for the PC version of GTA San Andreas, adding capabilities to the game's engine to allow multiple players, each on a seperate computer, to play together in the same environment.
Contents
Methods
Adding multiplayer capabilities to a single player game requires additional code in the game's engine, but like most retail games, the source code to San Andreas is not available.
Reverse Engineering
Reverse Engineering is our process of anyalizing San Andreas at it's base level, to identify portions of code that are required or useful and could be used in the development of multiple player support.
At the next step, changes are made to San Andreas' code; These changes can be as simple as "nopping" (disabling certain parts of the code that are unneeded for multiplayer gameplay), or as complex as rewriting entire engine functions.
This section is incomplete. You can help by fixing and expanding it.
Programming Languages
SA:MP is developed using a varity of programming languages, each suited to their particular purpose.
- C/C++
- The core of the SA:MP client, and the SA:MP server is is written in C/C++.
- Assembly (ASM)
- Changes to San Andreas' engine are written in Assembly. When access to the original source code of an application is restricted, the only viable method of changing or adding code is by going to it's most base level.
- Borland Delphi
- SA:MP's external server browser software is written in Borland's Delphi. This language was chosen for this part of the project due to it's Rapid Application Development ("RAD") features.
- PAWN scripting
- SA:MP makes use of Compuphase's PAWN scripting language for user-customizable game modes and utilities.
Contributors
- kyeman – programming, reverse engineering, scripting
- Spooky – programming, reverse engineering, scripting
- Mike – scripting, website administration
- Cam – scripting, SCM
- jax – scripting
- Luke – documentation