StarCraft

From BarikWiki
Jump to: navigation, search

Introduction

Starcraft logo.jpg

You need to grab StarCraft from the Blizzard Store. Also remember to download the patches. You can also buy StarCraft from G2PLAY, and it's far more affordable, though somewhat dodgy.

The included StarEdit is good enough for maps, but you won't be able to load the help file without WinHlp32.exe.

Unlike the other real-time strategy games, this one actually has a working API to interface with it, though it still has its quirks. You will need to know CPlusPlus.

BWAPI

  • IRC channel on QuakeNet, try xs4all.nl.quakenet.org (#BWAPI).
  • BWAPI Manual.
  • You probably want to make your AI DLL as a module.
  • BWAPI will not compile under Visual Studio 2010, since the library files are incompatible. You can still use the Visual Studio 2010 IDE, but you will need to re-target to Visual Studio 2008.


The W-Mode plugin has some interesting keyboard shortcuts. The important ones are:

  • ALT+F1 turns on/off the cursor clip.
  • ALT temporarily inverts the current state of cursor clip while it is held down.
  • ALT+F10 enables/disables moving the StarCraft window.
  • ALT+F11 turns on/off always-on-top mode.
  • ALT+F9 doubles the window mode to 2x.

A few issues that I'll probably end up needing to fix myself:

Finally:

BWAPI Frequently Used Commands

  • Game::sendText acts just like text sent in a chat session.
  • Game::printf is for local printing (nothing gets sent to other players).

BWAPI Configuration File

  • StarCraft MultiInstance. If you need the DLL revision number, it appears in Chaos Launcher under the description of BWAPI.
  • Create a different player name for each player when using multi-instance. Otherwise, the game will crash.
  • ChaosLauncher gives you the following error, which is documented under BWAPI Usage Errors. You need to install Visual C++ 2008 Express, if you are using the DEBUG builds. Otherwise you can just get by with the redistributable.
Could not load Plugin "C:\StarCraft\Chaoslauncher\BWAPI_ChaosLauncherInjectord.bwl"
Error: This application has failed to start because the application configuration is
incorrect. Reinstalling the application may fix this problem.
(14001)

BWAPI Subversion

  • Repository is located at: http://bwapi.googlecode.com/svn/.
  • You can see what the release revisions are by examining info.txt. This is located in Starcraft/bwapi-data/revisions/info.txt. Or easier, BWAPI changes.
  • Use svn co instead of svn export; the builds are currently dependent on the svn metadata to compile.

Development

  • StarCraft character files are located in the characters folder.
  • You can change the Gamma in the StarCraft options.

Map Editing

  • Scmdraft map editor. Under downloads, you will obtain version 0.8.0, but this is not the latest version. Instead, you will want to look at the news page and get ScmDraft 2 (0.8.1), located in the temp folder.
  • Unfortunately, the author did not update the version number in the build, so it incorrectly says 0.8.0, making things quite confusing. You will need this if you want to be able to create Extended Unit Death (EUD) triggers (the Memory condition will be enabled when creating a trigger).
  • The downside of using EUDs is that the memory offsets change with every version of StarCraft; I doubt that will be a problem these days though.
  • EUD Database, with EUDTrig to find unit offsets. With EUDTrig, you need to copy comctl32.ocx (alternate location) into the current directory. You need ArtMoney for monitoring the process and finding the hex values in the first place. Then, see this exported wiki article.
  • Staredit Network's Wiki, and the StarEdit forums. Be sure to change the theme after login, as I find the default one annoying.
  • You have 256 switches that you can use to set/reset game state. Death counters are an alternative, and they trigger at a rate of 1 death count = 84 milliseconds.
  • Only Players 1 through 8 can own triggers. Neutral (Player 12) cannot, and such triggers will be ignored.
  • How to make 4 players share minerals + gas. Lousy resource, but hard to find anything on this.
  • It looks like a lot of the good EUD's are patched. EUDEnable. This post clears up exactly what is being read (4 bytes at a time). Many of the tutorials simply assume that all other bytes are 0, which is often incorrect.
  • Using Death Count Timers instead of waiting.
  • How damage works, such as for burning buildings.
  • And overview of working with MPQ archives. Use MPQDraft to patch MPQ files. For reading and editing the contents, use MPQ Editor.
  • StarEdit FAQ. StarCraft Mapmaker's Guide.
  • StarCraft unit sizes. You can use DatEdit (StarEdit tab) to get the Placement box in pixels. The pixels for a Terran Dropship, for example, are height 37 and width 49. Since scmdraft is zero indexed, be sure to enter your locations for bottom and right as one less than what it actually is. In this example, bottom would be 36 and right would be 48.
  • Frequently Asked Questions
  • StarCraft Sounds, with annotated descriptions of built-in wav files.

Inverted Location

Some discussions on inverted locations from 14 year old kids who are failing public education:

Normally, locations detect when something is brought into the location, using the bring trigger. An inverted location continues to use this trigger, but behaves in the opposite way. It indicates when something has left the location.

Replay

Graphics

  • The graphics (color palette) is broken under Windows 7.