As an enhancement from the original game, I'd suggest implementing a means to view the text stored in the log. Its pretty often playing VNs you find you've double-clicked and missed a line, or you accidentally tap the ctrl-key and skipped 3-4 lines of text...and since the text log is being stored internally anyway, it'd be nice to have a way to retrieve that when desired.
It doesn't matter to me whether it gets rendered in the normal textview window, or if its implemented as an overlay...as long as there is some means of going back and reading what you've missed. This is a pretty low priority for me...but I thought I would bring it up since it is a nice feature for a game we can actually claim to fully support.
That would be nice!
We should also implement generic access through the scolling-wheel while we are at it, deriving a new dialog for the backlog and creating it in the default EventShowLog() is all we need.
It would also be nice to implement a hashing system for read strings in older games (Newer games usually index the strings themselves) and polish the auto-/skip- modes.
I want to implement such features at the core as a default implementation and override it for games that has custom requirements. Im not too happy about the way we currently process text though (The game interpreter sends it directly to the textview widget). It is very flexible and easy to work with, but there are no common points where we can apply translations or reencode the text across the titles.
Im also unsatisfied with storing the text in the textview widget, this is a hack from Mayclub (Which displayed the log inside the textview with button controls) and screams for a full redesign. All data should be stored in the engine itself, the widgets should never do anything but displaying the data.
I want to redesign this with a set of EventTextPrint(...), EventTextClear() and EventTextCheck() event handlers, but there are still the issue of dynamically changing font size and color as well as appending newlines and other special characters (unicode problems!!).
Anybody know a lightweight markup language we could implement? There is a SDL_rtf library about, but it is version 0.1.1 and only supports reading and displaying rich text, not formatting it.
You can handle text conversions with libiconv and/or libcharset (LGPL licensed, http://www.gnu.org/s/libiconv/ ). Its a good idea to abstract the text functions so there is a layer in which all these conversions are handled internally, especially since this will make it easier to make changes to text-handling later since you only need to target one format (preferably utf-8).
As for a lightweight markup language, you can see if TinyXML (zlib license, http://www.grinninglizard.com/tinyxmldocs/index.html ) or the derived ticpp with more C++ specific functionality (a.k.a. TinyXML++, under MIT license, http://code.google.com/p/ticpp/ ) will do the job for you. I doubt an SDL-specific implementation would really be useful for something like this.