Player names in Voxlap do not use code page 437, unless they want to.
The mystery encoding is used in the tab menu only, and code page 437 is used in chat.
I found a source that specified what character set that is used some time before. However, I have lost it, so I need to dig it out of my bookmarks later.
And here is some evidence.
In addition, the player's name is "fish \x01\x02\x03\x80"
Unverified, but judging by the \x80 character Windows-1252 seems like a good candidate.
I may have found this in pyspades.
pyspades/common.pyx:108:# Ace of Spades uses the CP437 character set for chat and Windows-1252 for pyspades/common.pyx-109-# player list
Looks like \x7f is a block character instead of a delete character however.
Looks like a lot of characters are block characters actually.
And I believe all characters <= 0x20 are rendered as a space, along with all characters labeled "unused" on wikipedia. Those are \x81, \x90, \x8d, \x9d, \x8f
I have manually confirmed that all characters <=0x20 are rendered as a space character.
However, I am uncertain of the location of all "block" characters as of now.
Probably can't hurt to create a buffer overflow to check the entire character set at once, right?
Voxlap just denies the packet, how sad.
I have created an accurate table, using Wikipedia's table as a reference.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | ||||||||||||||||
| 1 | ||||||||||||||||
| 2 | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | |
| 3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 6 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | █ |
| 8 | € | █ | █ | █ | █ | † | ‡ | ˆ | █ | █ | █ | █ | █ | |||
| 9 | █ | █ | █ | █ | █ | █ | █ | ˜ | █ | █ | █ | █ | █ | █ | ||
| a | ¡ | ¢ | £ | ¤ | ¥ | ¦ | § | ¨ | © | ª | « | ¬ | - | ® | ¯ | |
| b | ° | ± | ² | ³ | ´ | µ | ¶ | · | ¸ | ¹ | º | » | ¼ | ½ | ¾ | ¿ |
| c | À | Á | Â | Ã | Ä | Å | Æ | Ç | È | É | Ê | Ë | Ì | Í | Î | Ï |
| d | Ð | Ñ | Ò | Ó | Ô | Õ | Ö | × | Ø | Ù | Ú | Û | Ü | Ý | Þ | ß |
| e | à | á | â | ã | ä | å | æ | ç | è | é | ê | ë | ì | í | î | ï |
| f | ð | ñ | ò | ó | ô | õ | ö | ÷ | ø | ù | ú | û | ü | ý | þ | ÿ |
Note: 0x98 and 0x7e look identical in Voxlap. They are shown in respective order here.
Note that 0xa6 and 0x7c are NOT identical, however. They are once again shown in respective order.
Hi, for the record, condescension and snark towards a project is not very advisable if you want any support or your changes merged etc.
We are all volunteers doing this for free in what little spare time we have. We are working with the best human-readable resource there was, which was a semi-corrupt 2012 wiki database dump which I went to pains to obtain from the owner and manually convert from it's weird format to markdown.
If you want to help us continue improving it from that state that's great, but only if you're going to behave in a way that doesn't make me want to do literally anything else with my time. Consider this your warning.
My apologies. I acknowledge that I acted immature and unprofessional in my comments on and in this project, repeatedly. I do not mean to get on any of your bad sides or annoy, so I will do my best to ensure that I do not do this in the project again.