Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Pawn compiler for SA-MP with bug fixes and new features - runs on Windows, Linux, macOS

License

NotificationsYou must be signed in to change notification settings

pawn-lang/compiler

Repository files navigation

Build StatusBuild Status - Windows

What

This is a modified version of the Pawn 3.2.3664 compiler with many bug fixes andenhancements.

This project was originally started by Zeex but on 2017-12-31, the project wastaken over by some members of the SA:MP community. Zeex still contributes to theproject, along with theCompiler Team.

The original readme is availablehere

Why

This project exists to:

  • Fix known bugs with the original compiler
  • Provide a better development experience for the SA:MP community

If you find a problem, you canopen an issue and contributors can workon a fix. This isn't true with the original compiler that comes with the SA:MPserver distribution.

There are also new features that enhance the development experience, such astelling you which tags are involved in a "tag mismatch" or showing you wherethat pesky "symbol is never used" is actually declared.

There are plenty of features and fixes that are documented, see below for links:

  • Known compiler bugs contains a list of bugs that the team are aware ofwith their status.

  • What's new contains features and other notable changes.

  • Release notes list of all official releases of the compilerbinaries.

How to Use

Binary packages can be downloaded fromReleases, see the belowsections for platform-specific installation instructions.

Note: You willprobably get warnings/errors/fatals when you first buildwith this compiler — you need to add the-Z flag to your build configurationor add#pragma compat. Seethis page for more information.

You can also get the latest development binaries for Windows onAppVeyor. This archive is built automatically on every Git commitand can be pretty unstable, so use at your own risk.

Windows

If you just use an editor configured to runpawncc such as Pawno, Sublime Textor VS Code you can simply delete your existingpawncc.exe and replace it withthe new one.

Download the ZIP archive and extractpawnc.dll,pawncc.exe,pawndisasmsm.exe to your originalpawncc directory. If you use Pawno, thiswill be in thepawno/ folder that's inside your server directory.

openSUSE

There is an installation package available for openSUSE users so that youcan easily install the latest compiler on your distribution. Please followthese steps:

  1. Go tohttps://build.opensuse.org/package/show/home:mschnitzer:pawncc/pawncc
  2. On the right side, select your distribution (only if it's not disabled!)
  3. Click "Go to download repository"
  4. Copy the link and enter in sudo mode in your shell:zypper ar $COPIED_LINK home:mschnitzer:pawncc
  5. Again as root, type:zypper ref
  6. Install the package withzypper in pawncc
  7. Runpawncc in your shell to test if it's working

The download repository for openSUSE does provide older versions as well (oldestversion: 3.10.7). Just install the version you like (e.g.:zypper in pawncc-3.10.8 and run it via$ pawncc-3.10.8 -Z -O3 [...]).Parallel installation is supported.

With sampctl

If you are asampctl user, you are already using this compiler!

Building from Source

If you are interested in contributing then please first readthis document and ensure you have discussed your proposedchanges before writing any code. Check outthis page forinstructions for compiling for your platform.

Background

The project was originally started as a set of patches aimed to create acompiler that would be compatible with the compiler used inSA-MP (San Andreas Multiplayer).

SA-MP uses a modified version of Pawn 3.2.3664 [1] with Windows-onlyexecutables, and the developers said that they lost the source code for it whichmeans it can't be ported to other platforms (e.g. Linux) and newly discoveredbugs can't be fixed. So the main goal of the project is to re-create changesthat were previously made by the devs as well as fix all known compiler bugs.

[1] It's worth noting that the version of the AMX embedded into the SA-MP serverseems to be based on an older release of Pawn.


[8]ページ先頭

©2009-2025 Movatter.jp