Difference between revisions of "San Andreas Multiplayer"

From GTAMods Wiki
Jump to navigation Jump to search
 
Line 1: Line 1:
San Andreas Multiplayer ("SA:MP") is a user-made modification for the PC version of Rockstar Games' Grand Theft Auto: San Andreas ("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.
+
'''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.
 
 
 
 
  
 
== Methods ==
 
== 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.
 
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 ===
 
 
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.
 
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.
 
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.
  
 +
{{Incomplete}}
  
 
+
== Programming Languages ==
''This section needs stuff adding...''
 
 
 
== Technology ==
 
 
 
=== Programming Languages ===
 
 
 
 
SA:MP is developed using a varity of programming languages, each suited to their particular purpose.
 
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++.
  
'''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.
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 [http://www.borland.com/ 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 [http://www.compuphase.com/ Compuphase]'s PAWN scripting language for user-customizable game modes and utilities.
 
  
 +
*'''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 [[:Category:PAWN|PAWN scripting language]] for user-customizable game modes and utilities.
  
 
== Contributors ==
 
== Contributors ==
 
+
* [[User:kyeman|kyeman]] – programming, reverse engineering, scripting
* [http://www.gtaforums.com/index.php?showuser=50001 kyeman] (''Programming, Reverse Engineering, Scripting'')
+
* [[User:Spooky|Spooky]] – programming, reverse engineering, scripting
* [http://www.gtaforums.com/index.php?showuser=2240 Spooky] (''Programming, Reverse Engineering, Scripting'')
+
* [[User:Mike|Mike]] – scripting, website administration
* [http://www.gtaforums.com/index.php?showuser=6313 Mike] (''Scripting, Website Administration'')
+
* [[User:Cam|Cam]] – scripting, [[SCM]]
* [http://www.gtaforums.com/index.php?showuser=37074 Cam] (''Scripting, SCM)
+
* [[User:jax|jax]] – scripting
* [http://www.gtaforums.com/index.php?showuser=37898 jax] (''Scripting'')
+
* [[User:Luke|Luke]] – documentation
* [http://www.gtaforums.com/index.php?showuser=36352 Luke] (''Documentation'')
 
 
 
  
 
== See also ==
 
== See also ==
 
[[Multiplayer]], [[Hardcoded]]
 
[[Multiplayer]], [[Hardcoded]]
  
 
+
== External Links ==
 
+
* [http://www.sa-mp.com/ Official San Andreas Multiplayer Website]
== External links ==
+
* [http://wiki.sa-mp.com/ San Andreas Multiplayer Wiki]
 
+
* {{GTAF|section|204}}
[http://www.sa-mp.com/ Official San Andreas Multiplayer Website]
 
 
 
[http://www.gtaforums.com/index.php?showforum=204 Official San Andreas Multiplayer Forum]
 
 
 
 
 
  
 
[[Category:SA:MP]]
 
[[Category:SA:MP]]

Revision as of 12:27, 23 February 2009

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.

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

See also

Multiplayer, Hardcoded

External Links