I see some parallels between this and rpgproto features ("Inline actions (e.g. viewing unique items inline, clickable URLs)", "Unicode support").
I suggest making multiple MessageBuffer child classes, such as UnicodeMessageBuffer, MetacodeMessageBuffer, etc, hierachy being MessageBuffer -> UnicodeMessageBuffer -> MetacodeMessageBuffer in this case. The type of MessageBuffer determines what type of messages are stored in it. UnicodeMessageBuffer obviously holding Unicode messages.
Metacode messages are a special type of message that has symbols (HTML?) and a format header of some kind for each message. MetacodeMessageBuffers can have Metacode messages which have different formats (so a chat message might have a DCC file transfer to embed an image, for instance, but some might be IRC)
I don't want to impose on Unicode, so it will likely be xsngine-specific markers in the message that allows data lookup, similar to how Q3 does it (read control character, skip n bytes)
I see some parallels between this and rpgproto features ("Inline actions (e.g. viewing unique items inline, clickable URLs)", "Unicode support").
I suggest making multiple MessageBuffer child classes, such as UnicodeMessageBuffer, MetacodeMessageBuffer, etc, hierachy being MessageBuffer -> UnicodeMessageBuffer -> MetacodeMessageBuffer in this case. The type of MessageBuffer determines what type of messages are stored in it. UnicodeMessageBuffer obviously holding Unicode messages.
Metacode messages are a special type of message that has symbols (HTML?) and a format header of some kind for each message. MetacodeMessageBuffers can have Metacode messages which have different formats (so a chat message might have a DCC file transfer to embed an image, for instance, but some might be IRC)