This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
magicka/utils/magiedit/odoors/TODO-v7.txt
2016-12-03 15:08:50 +10:00

37 lines
1.8 KiB
Plaintext

Features/Changes which will break the API and so must go into v7
----------------------------------------------------------------
- Do not pack the od_control structure in memory. This is plain silly.
- Do not use the BOOL type in od_control or in any of the public functions.
Using it causes problems with stuff that defines a BOOL as a different
size. For example, xpdev uses int as a BOOL whereas OpenDoors uses a char.
- Support telnet IAC escaping, add an item to the od_control struct to
keep track of the current status of IAC escapes.
- Fix up the local display for Win32. It's horribly slow currently.
Possibly just dust of the DOS stuff and use ciolib?
- Make output functions take an optional position and attribute to cut down
on small send()s.
- Audit for small send()s in general.
- Possibly improve the output thread and make *nix multi-threaded for block
buffering ala Synchronet.
- Change to 24-line default. This means fixing the personalities, and the
screen stuff.
- Autodetect if passed handle is a socket (Like I did for MyCroft doors)
- We need some non-socket way of dealing with I/O for Win32. Something that
operates along the lines of stdio on *nix. When BBSs commonly start doing
SSH, is the door supposed to do SSH also? A local socket would work, but it
seems like the Wrong Thing. The main reason stdio is out is that there's no
standard way of passing hangup info etc.
- Check the timestamp on the dropfile... do not use an old one! Add and
od_control variable to prevent this behaviour.
- Add a bunch of status-line specific functions to allow new personalities:
od_status_set_cursor()
od_status_set_attrib()
od_status_puttext()
od_status_gettext()
od_status_printf()
od_status_disp_str()
od_status_putch()
od_status_addkey()
od_status_delkey()
- OD_DISP_EMU() has problems with ANSI music (of course)