So, I'm likely to have a bunch of questions, but here are some from reading the document. I should mention that I both have a pretty solid understanding of how GMCP itself is sent back and forth, and how my client (tintin++) handles it, so these are more related to Achaea's GMCP modules specifically, rather than GMCP itself or how it works in a particular client. Some of these are probably a bit more nitpicky than others, I'm sure - I just like understanding how things work!
I'll also probably start finding out answers to any of these that I'm able to, for the simpler ones. Part of me hopes these questions might be used to improve the specification document itself, though, since they're all questions that came to mind as I read it.
1. What (if anything) is the client-sent Core.Ping value used for? What unit of measurement should it be? (Tintin++ has precision down to the microsecond, after all)
2. Are there any variables in Char.Vitals aside from those listed in the example?
3. What about StatusVars and Status?
4. I remember something about there being an issue with Char.Skills not differentiating between learned and unlearned abilities. Is this still an issue? If not, then how was it resolved? Are unlearned abilities simply not included, or is there some marker to determine if an ability has been learned yet or not?
5. This should probably be in a TYPO, but I just logged out, so I figure I'll bring it up here. Should the example for Char.Items.Inv be Char.Items.Inv instead of the given example Char.Items.Inv "", or is there a reason for the empty string?
6. For Char.Items.List and similar, I'm fairly certain items also have attributes, but what are they and what do they mean? That doesn't seem to be included in the spec at all.
7. Also for Char.Items.List and similar, is the location for held containers just the ID #, as I presume the format should be for sending it via Char.Items.Contents?
8. What sort of windows does Redirect.Window use, and when does it use them?
9. For IRE.Time, what does "daynight" mean?
10. How often does IRE.Time.Update get sent? Does it include all variables that have changed (eg. if the month changes, will it include a new "mon" key?)
Thanks in advance. I know I ask a lot of questions, but I want to know as much as possible before I start designing my new system's GMCP module~