Latest Hex Workshop color map: (note: Hex Workshop is free)
Note that this color map is forever a work in progress. I map things as I go along, not for their own sake, but please share items / insights that you have as you go along and I will add them to the map. I will credit your contributions.
For those who prefer not to download Hex Workshop, no worries; CMAP is a plaintext format, and you can find that plaintext for the latest version of the color map here:
- Code: Select all
##############################################################################
# Hex Workshop Color Map Definition File (cmap)
#
# General Format:
# <hex_sequence> | <charrange> = <color_definiton> [,<comment>]
#
# <hex_sequence>
# Defines a hex sequence. The hex sequence must a valid quoted hex string
# and can represent between 1 to 32 bytes of data.
#
# Example:
# "00AABBCC"
#
# <charrange>
# Defines a range of characters in decimal.
#
# For example, byte 0 to 32 is represented as:
# charrange(0, 32)
#
# <color_definition>
# Defines the color definition. Each color definition is defined using an
# RGB tuple. For example, RGB(<red>, <green>, <blue>), where each color
# component is a decimal value between 0 and 255.
#
# RGB(<red>, <green>, <blue>)
# Defines the RGB value for either the foreground or background for
# both the hex and text/ascii areas. This format is compatible with
# Hex Workshop v5.x and earlier.
#
# To display all instances of 'DDDD' in black on yellow:
# "DDDD"=RGB(0, 0, 0), RGB(255, 255, 0)
#
# hexFgRGB(<red>, <green>, <blue>)
# Defines the hex foreground color.
#
# hexBgRGB(<red>, <green>, <blue>)
# Defines the hex background color.
#
# hexRectRGB(<red>, <green>, <blue>)
# Defines the hex border rectangle color.
#
# asciiFgRGB(<red>, <green>, <blue>)
# Defines the ascii foreground color.
#
# asciiBgRGB(<red>, <green>, <blue>)
# Defines the ascii background color.
#
# asciiRectRGB(<red>, <green>, <blue>)
# Defines the ascii border rectangle color.
#
# <comment>
# Defines a comment for a particular color mapping. The comment is
# displayed in a tooltip when hovering the mouse cursor over rendered
# data in Hex Workshop.
#
# Example:
# comment("My Color Mapping")
#
##############################################################################
#
# Examples:
#
# Displays all instances of "00000000" in White on Black:
# "00000000" = RGB(255, 255, 255), RGB(0, 0, 0)
#
# Displays all instances of "00000000" in a Red Rectangle:
# "00000000" = asciiRectRGB(255, 0, 0), hexRectRGB(255, 0, 0)
#
# Displays all instances of "00000000" in Blue on Yellow (hex) and Green on
# Yellow (ascii):
# "00000000" = asciiFgRGB(0, 255, 0), hexFgRGB(0, 0, 255), RGB(255, 255, 0)
#
# Displays all instances of "00000000" in Blue on Yellow (hex) and Green on
# gray (ascii):
# "00000000" = asciiFgRGB(0, 255, 0), hexFgRGB(0, 0, 255), asciiBgRGB(192, 192, 192), hexBgRGB(255, 255, 0)
#
# Displays all instances of "00000000" with a yellow background in the hex
# display and yellow border rectangle in the ascii display:
# "00000000" = hexBgRGB(255, 255, 0), asciiRectRGB(255, 255, 0)
##PAMSFT
"22746F74616C456C656D656E747322" = RGB(255, 255, 255), RGB(128, 0, 0), comment("totalElements")
"0900000000000000" = asciiBgRGB(0, 255, 0), hexBgRGB(0, 255, 0), comment("StateList Marker")
"57D6EE0D" = RGB(255, 255, 255), RGB(0, 128, 0), comment("FontTable Separator")
"ECA7A670" = RGB(255, 255, 255), RGB(255, 0, 255), comment("VC_Font Marker")
"448CBF4C" = asciiBgRGB(255, 128, 0), hexBgRGB(255, 128, 0), comment("VC_ClipRectHeight Marker")
"81020000" = RGB(128, 255, 255), RGB(0, 128, 255), comment("Float Header")
"D1E69E42" = asciiBgRGB(0, 255, 255), hexBgRGB(0, 255, 255), comment("Text Source Marker")
"5907A718" = RGB(255, 255, 255), RGB(255, 128, 0), comment("VC_ClipRectWidth Marker")
"D9991A2A" = asciiBgRGB(255, 128, 192), hexBgRGB(255, 128, 192), comment("VC_LetterSpacing Marker")
"28B53061" = asciiBgRGB(128, 64, 0), hexBgRGB(128, 64, 0), comment("VC_WindowHeight Marker")
"A6E67195" = RGB(255, 255, 255), RGB(128, 64, 0), comment("VC_WindowWidth Marker")
"D742284B" = RGB(255, 255, 255), RGB(160, 160, 164), comment("VC_ShadowOffset0 Marker")
"41722F3C" = asciiBgRGB(160, 160, 164), hexBgRGB(160, 160, 164), comment("VC_ShadowOffset1 Marker")
"FB2326A5" = RGB(255, 255, 255), RGB(160, 160, 164), comment("VC_ShadowOffset2 Marker")
"F931AF21" = RGB(255, 255, 255), RGB(64, 0, 128), comment("VC_Justification Marker")
"81220000" = RGB(192, 192, 192), RGB(0, 0, 0), comment("String-Value Header")
"DC0AF24C" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Left-Aligned")
"A22C08B0" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Center-Aligned")
"E3A68AC2" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team City")
"CC6277A3" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team Name")
"6F6719BE" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team City")
"BFF4E25E" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team Name")
"84294D8D" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team Score")
"F72600AF" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team Score")
"5855441F" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Time")
"83F99D55" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Clock - Retro")
"89606363" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Quarter Text - Retro")
"834A968B" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Foul Text - Retro")
"D0F66543" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("action_nba_bold (Druk Bold)")
"3242FE83" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("action_nba_medium (Druk Medium)")
"B0F176F4" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_black (Druk Super) / barlow_black.FONT2")
"AB8EE0F4" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_black_condensed (Urania Bold) / barlow_black_condensed.FONT2")
"C2190DA8" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_black_condensed_tight (Urania Bold)")
"FC22B522" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_black_tight (Druk Super)")
"3DC5515D" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_bold_condensed (Urania Bold) / barlow_bold_condensed.FONT2")
"52D72BD5" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_bold_condensed_stroked (Druk Wide Heavy) / barlow_bold_condensed_stroked.FONT2")
"FBDC08AE" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_bold_stroked (Druk Super) / barlow_bold_stroked.FONT2")
"2F4FB094" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_bold_stroked_tight (Druk Super)")
"8AADDA38" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("barlow_medium (Urania) / barlow_medium.FONT2")
"81074A33" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("crossword_belle (Crossword Belle)")
"318E406E" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era1980_font1 (NewsLab ExtraBold)")
"8BDF49F7" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era1980_font2 (NewsLab Medium)")
"AF8EEAA2" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era1990_font1 (Transducer)")
"DC9831FA" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era2000_font1 (Rational Display ExtraBold)")
"66C93863" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era2000_font2 (Rational Display Medium)")
"7ADFEC34" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("franklin_book_regular (Urania)")
"CB239779" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("franklin_demi_medium (Druk Super)")
"6D54B381" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("franklin_medium (Druk Wide Heavy)")
"D3197697" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("jd_lcd_rounded")
"8F5AB1BE" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("lobstertwo_italic (Druk Super)")
"A6FA28E7" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("stratum2_black (Druk Super)")
"F48431B6" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("stratum2_bold (Stratum Bold)")
"791CB705" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("stratum2_light (Urania)")
"D0461DCC" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("stratum2_medium (Urania Ultra)")
"2C99AD99" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("stratum2_regular (Urania)")
"65D2F917" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Arena Name")
"D6ED626E" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team City and Name")
"0F4DE9ED" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team Abbreviation")
"7B77F489" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team Name")
"5835B552" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team Name, I think with forced/default mixed-case")
"C9601CB1" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team Name, with team color")
"7981B83F" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team City")
"D045FA90" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team City, with team color")
"DB0A5FDD" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team Record, with team color")
"E5BB8663" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team City and Name")
"8D3CE739" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team Abbreviation")
"08E16174" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team Name")
"910549CA" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team Name, I think with forced/default mixed-case")
"F3FB5EA4" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team Name, with team color")
"F1FB0BB5" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team City")
"E83C8155" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team City, with team color")
"2C8B2B9F" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team Record, with team color")
"234A71B1" = asciiBgRGB(255, 128, 0), hexBgRGB(255, 128, 0), comment("VC_ClipRectTop Marker")
"F5A6A127" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team - Retro")
"B101DAF8" = RGB(255, 255, 255), RGB(255, 0, 128), comment("VC_Capitalization Marker (0=Mixed,1=Upper,2=Lower)")
"1B87DA72" = asciiBgRGB(192, 192, 192), hexBgRGB(160, 160, 164), comment("VC_Shadow Marker")
"3D0F6AFC" = RGB(255, 255, 255), RGB(128, 128, 255), comment("VC_Italicize Marker")
"81120000" = RGB(0, 128, 255), RGB(0, 0, 128), comment("Toggle Header")
"FBAA92F7" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Away Team Abbreviation")
"4D381D85" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("Home Team Abbreviation")
"F537E965" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("druk_super.FONT2")
"C8037379" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("urania_light.FONT2")
"8BD31BF4" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("crosswordbelle.FONT2")
"9B38E03E" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("druk_bold.FONT2")
"3A82C1AE" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("urania_bold.FONT2")
"3A82C296" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era1980_extra_bold.FONT2")
"CE46AFEC" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("druk_medium.FONT2")
"4F97135C" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("led_regular.FONT2")
"AED76943" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era1990_regular.FONT2")
"1005CDE0" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("urania_ultra.FONT2")
"81297C29" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("druk_wide_heavy.FONT2")
"F800907F" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era1980_medium.FONT2")
"BDD3C272" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("cowboy_western.FONT2")
"7F2CFF5D" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("coyboy_western_digits_only (Cowboy Western)")
"ECC4A284" = RGB(255, 255, 255), RGB(255, 0, 255), comment("VC_Font Marker / barlow_bold (Urania Ultra) / barlow_bold.FONT2")
"2BEFBFA1" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era2000_medium.FONT2")
"6EC4EA73" = RGB(0, 128, 255), asciiRectRGB(0, 128, 255), hexRectRGB(0, 128, 255), comment("era2000_extra_bold.FONT2")
VCUIELEMENT General Concepts:
- There are two sections: human-readable and raw data.
- stateList values in the human-readable portion refer to the starting points of their corresponding raw data blocks (they always begin with the byte 09 followed by 0s).
- Each data block is divided mostly into 12-byte modules, organized as follows: 4-byte data-type header (qualitative / text-based, toggle, float), 4-byte attribute marker (e.g., VC_Font, VC_Italicize, VC_Effect), and a 4-byte value for that attribute.
Never hex edited 2K before? Here is a tutorial for certain types of hex edits that may be useful as a general introduction: (created for last year's game, but it is still applicable)