sctoolsdata
v0.1.5
Published
A collection of StarCraft data used to help interpret replay and map files
Downloads
30
Maintainers
Readme
sctoolsdata
A collection of StarCraft internal data used to help process replay and map files.
Usage
This library is available via npm:
npm i --save sctoolsdata
TODO: explain more about how this is used.
Reference
Function:
framesToMs(frames[, speed])
Parameters:
frames
number
number of in-game frames per secondspeed
string (default: "fastest")
game speed (virtually always "fastest")
Returns:
- number
the number of milliseconds representing the duration of the game frames
Used to get timestamps of game events for a given game speed. For example, this can be used to display a timestamp for a chat message, or to show the duration of a game.
Function:
getSwatchFromSlotID(id)
Parameters:
id
number
slot ID to return the color for
Returns:
- string
swatch name for the color associated with that player slot ID
Every player ID has a default color; for example, player 1 is red, player 2 is blue, etc. This function is used to return the color swatch name associated with a given ID.
Function:
getColorFromSwatch(swatch[, returnType])
Parameters:
swatch
string
swatch name to return the color value forreturnType
string<"hex" | "int"> (default: "hex")
type of value to return; either a hex string or a number
Returns:
- string | number
the color value of the given swatch name
This function can be used to get the actual colors to be displayed for a given swatch (e.g. "paleBlue"
will return "#b8b8e8"
).
TODO.
In-game colors
Colors work quite inconsistently in StarCraft. There are two sets of color codes: one for briefing messages (and map names), and one for in-game chat messages. These each have their quirks that can be different between Brood War (v1.16.1 and below) and Remastered.
Here's a list of all colors:
†: In StarCraft, gray is buggy: when it's used in a map name in Brood War, the rest of the name becomes gray as well—this was fixed in Remastered. In in-game text messages, gray will take over the entire rest of the line, both in Brood War and Remastered. This buggy behavior is not completely implemented in this library, and more research is needed to determine every edge case.
‡: Slot IDs 11, 14, 15 and 20 are not selectable as player colors (the color for 11 is used for the neutral player, however). 11 and 15 are still usable as text color. 14 and 20 are duplicates of Pale Yellow and Cerulean.
A few of the player colors are unavailable on certain tilesets:
Game speed
Number of milliseconds per game frame for each game speed.
E.g. for "Fastest", there are approximately 1000 / 42 = ~23.81 frames in a second. This is used to convert the number of game frames into real time.
| Name | ㎳/frame | Frames/second | % of "Fastest" | |:--------|:--------|:---------------|:---------------| | Fastest | 42 | 23.810 | 100.0% | | Faster | 48 | 20.833 | 87.5% | | Fast | 56 | 17.857 | 75.0% | | Normal | 67 | 14.925 | 62.7% | | Slow | 83 | 12.048 | 50.6% | | Slower | 111 | 9.009 | 37.8% | | Slowest | 167 | 5.988 | 25.1% |
By far most replays use "Fastest" as the speed, but this map can be used for the rare case that isn't. In the very old days of StarCraft, the ladder speed setting was "Fast" by default, but this got changed to "Fastest" relatively early on.
License
MIT license