ID:135633
 
I was just musing in Chatters a few minutes ago, and an idea popped into my head.

It would work, roughly, as follows: if the checkbox "Preserve text window history" was enabled, upon a normal shutdown, Dream Seeker would read the current contents of the text window and dump them to an RTF file in the cache directory of BYOND. When Dream Seeker loads, it copies the contents of that RTF file back into the Dream Seeker text window. (A "Preserve pager history" checkbox would be appropriate for the pager, as well.)

This has two advantages: one, it would preserve proc crash messages and BYOND BUG messages. (It would be unable to preserve messages leading up to a full-fledged Dream Seeker crash, however, due to the fact that it only stores the RTF file on a normal shutdown. The only solution to that would be to maintain a constant file stream and send output to that file every time a line appeared in the Window, and that's what the log functionality is for.)

Two, it would allow people who accidentally close Dream Seeker, who have to close Dream Seeker to reboot, etc., to be capable of picking up right from where they left off without losing the former text.


Another thing I was considering was an ability to change the text window history length to a non-hard-coded value; as it stands, the window currently has a hard-coded maximum history of 200 lines or so; it would be nice if people with ultra low-end machines (or who are hosting a memory-intensive game) could drop that down in order to save memory, and people with high-end machines could increase that value at the expense of memory in order to maintain longer text window histories.
I like that idea a lot. I have a similar option enabled in Gaim, and it's extremely handy.
Spuzzum wrote:
Another thing I was considering was an ability to change the text window history length to a non-hard-coded value; as it stands, the window currently has a hard-coded maximum history of 200 lines or so; it would be nice if people with ultra low-end machines (or who are hosting a memory-intensive game) could drop that down in order to save memory, and people with high-end machines could increase that value at the expense of memory in order to maintain longer text window histories.

I don't think memory is much of a problem. Even if you were able to extend the limit and did so by a factor of 10 (bringing the number up to 2,000) it still would take up only a fraction of a megabyte in memory. Even my parents' old computer that is a decade or more old has no problem with the text since it is only a fraction of a percent of the total game data.
In response to Loduwijk
I suppose it depends on how efficient RTF is in memory -- something I'm not at all knowledgable about.
In response to Spuzzum
Use XML like msn messenger does.
In response to Critical
Critical wrote:
Use XML like msn messenger does.

Saving to XML would require a conversion, and since it's only a couple hundred lines it's unlikely it would accomplish much. If you save in RTF, you already have the formatting all done for you, since Dream Seeker's text window is a RichEdit dialog.