TODO 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. - double check packet patch code, gagging patched line? Echo command?
  2. - look into large variable handling, foreach, once again
  3. - output from the other session remains in the input line of the new session sometimes.
  4. - dev/test/mouse/windowmap.tin has issues with ; in chat window
  5. caused by %w in format, add SUB_BRA to just substitute braces.
  6. - #echo {%g} {10684.3609}
  7. ----------------
  8. - backspace rewrites the input line, which can confuse screen readers.
  9. - precision is poorly handled in #math (sprintf(temp, "%.12Lf", value);) needs to be improved.
  10. - Add #event {SESSION CONNECTED} {5.1} option.
  11. - allow using #snoop to print to the foreground in provided square?
  12. - #split 0 1;#screen inputregion -2 1 -2 -1;#showme bug -1
  13. - look into using $HOME/.config/tintin
  14. - look into checking XDG: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
  15. - Display directory on failed #read.
  16. - Add the option to use + ? . and * as variable exit fields.
  17. - TT++ HANDBOOK for meticulous organized details.
  18. - improve #draw bar.▪▪ ◼◼ ■■ ◆◆ ▬▬ ●● ⣿⣿⣿⣷
  19. dual bar using reverse color and ██ ▀▀ ▄▄
  20. 128 bit flags
  21. text inside bar.
  22. - store creation epoch in arg4 for #tick, add example script to display.
  23. - get rid of SORT_DELAY due to one shot code.
  24. - add #path load option to #path create
  25. - double check script crashes on screen resize
  26. - Add catch events for SIGUSR1 and SIGUSR2
  27. - See about turning window close into a program termination event.
  28. - check out hibbmap.dat in dev/test, mudlet to tt++ conversion
  29. - add #history filter option to filter out 1 letter commands.
  30. - no longer works?
  31. #event {SESSION ACTIVATED} {
  32. #BUFFER end;
  33. };
  34. - Possible crash with launching 2 sessions reading a large variable.
  35. - https://tintin.sourceforge.io/forum/viewtopic.php?f=3&t=2818 (likely a
  36. telnet compatibility issue)
  37. - https://tintin.sourceforge.io/forum/viewtopic.php?f=10&t=2811 (possible
  38. issue with iniating input buffer for a new session, possibly prompt
  39. related somehow)
  40. - possible issue with sessions randomly getting activated.
  41. - possible wordwrapping on raw string length instead of stripped length
  42. in some edge case.
  43. - Look into WSL sound handling
  44. - CP949.TXT full table support
  45. - Look into escaped color code handling in zmp, possibly msdp
  46. - See about making @$var{} work. Maybe allow @{$var}{}
  47. - finish BUFFER_SIZE replacement.
  48. - WSL faq: #system cmd.exe /c start notepad
  49. - update msdp scripts with #line msdp feature
  50. - refresh input on session switch
  51. - swap arg1, arg2, arg for do_port
  52. - https://tintin.sourceforge.io/forum/viewtopic.php?f=5&t=2776
  53. Need special casing for non capturing {?!} regex handling.
  54. - #cursor get word option, maybe get the yank buffer as well.
  55. - Look into config option to change the working directory
  56. - Add a way to set env variables either 1) for the current process, and/or 2) as a parameter to #system (i.e. after fork in the child process).
  57. - Add #info input, mainly to save the cursor position
  58. * STUFF THAT IS PROBABLY GONNA GET DONE
  59. - #path get position saves as 1 if no path is loaded.
  60. - Finish port proxy support: resizing, input, security
  61. - look into transparent drawing
  62. - if error pcre.h, need export C_INCLUDE_PATH= where it locate
  63. - The #else command could follow a #foreach so as to create "for-else" loops
  64. in case a loop is not broken.
  65. - Add #line gag 2 +2 -2 support.
  66. - Work on VT2020 protocol (mouse click)
  67. - $var[%*][%*] support.
  68. - make list sorting move nests as well
  69. - #line convert utf-8 support.
  70. - better #draw font support
  71. - case insensitive tabbing (partial start with rewrite)
  72. - tabbing on directory structure.
  73. - tabbing on dictionary
  74. #0 0x00005555555a5418 in tunnel_void (ses=0x555558a97b00, from=8004, room=1931506785, dir=1684955508) at mapper.c:4220
  75. #1 0x00005555555a599d in searchgrid_find (ses=0x555558a97b00, from=153, search=0x555558d8f850) at mapper.c:4336
  76. #2 0x00005555555afb44 in map_list (ses=0x555558a97b00, arg=0x5555572e1b95 "{} {} {} {$roomarea} {variable} {area_mapped}",
  77. arg1=0x555555d2d910 "", arg2=0x555555d23cb0 "") at mapper.c:6791
  78. #3 0x0000555555596562 in do_map (ses=0x555558a97b00, arg=0x5555572e1b95 "{} {} {} {$roomarea} {variable} {area_mapped}",
  79. arg1=0x555555d2d910 "", arg2=0x555555d23cb0 "", arg3=0x0, arg4=0x0) at mapper.c:133
  80. #4 0x00005555555be82a in parse_script (root=0x555557f71960, lvl=0, token=0x55555c6ba230, shift=0x55555767ab10) at tokenize.c:812
  81. #5 0x00005555555bfded in script_driver (ses=0x555558a97b00, list=1,
  82. str=0x555555d19ff0 "#map {get} {ROOMVNUM} {roomvnum};#map {get} {ROOMAREA} {roomarea};#map {get} {ROOMNAME} {roomname};#map {get} {ROOMDESC} {roomdesc};#format {roomname_len}\t{%L} {$roomname};#format {roomvnum_len}\t{%L} "...) at tokenize.c:1242
  83. #6 0x0000555555581ee1 in parse_input (ses=0x555558a97b00, input=0x55555767c099 "") at parse.c:226
  84. #7 0x00005555555bef73 in parse_script (root=0x555557680c80, lvl=0, token=0x555557f719d0, shift=0x555557f719d0) at tokenize.c:1011
  85. #8 0x00005555555bfded in script_driver (ses=0x555558a97b00, list=6, str=0x555558d95d10 "mapupdate") at tokenize.c:1242
  86. #9 0x00005555555865af in delay_update () at update.c:938
  87. #10 0x000055555558434d in mainloop () at update.c:159
  88. #11 0x000055555557df19 in main (argc=2, argv=0x7fffffffe4c8) at main.c:416
  89. - #map list {<exits>} breaks on rooms that have e mapped to eu.
  90. - finish landmarks
  91. - map sandbox mode support (flags to disable saving?)
  92. - add ghosting to fix #map flag nofollow exit cmd issues?
  93. ! #map legend support for unicode graphics.
  94. - multi-line room symbols
  95. - pancake mode to display rooms at all levels and annotations
  96. - there might be a terrain density bug
  97. - provide the coordinate of the X on the vtmap.
  98. - add maze flag for maze handling.
  99. - Request: aura around the character position. Something similar to terrain dense narrow. Could improve visibility of the character position on big resolutions. Furthermor config to allow modification of the character terrain.
  100. - vt map doesn't utilize all available space.
  101. - Request: 'stop' #map center command, so i could see how the 'user' moves, rather map moves around him?
  102. - #map uninsert <vnum>
  103. - make map spacing easier
  104. - add configurable default symbol
  105. - exit symbol?
  106. - more data to #map list saving, and maybe easier sorting of tables.
  107. - event for failed #map move.
  108. - look into #send triggering follow map.
  109. - add {roomdata} search to #map list
  110. - truncate prompt longer than split.
  111. - Make actions with a priority of 0. trigger always
  112. - #draw table {1;2;3;4} {a;b;c;d}
  113. #draw scrollbar
  114. #draw graph
  115. #draw button
  116. #draw titanic
  117. - proper vt100 skip detection for improper color codes.
  118. - Make { match both a { and \x7B as it's an annoying issue to debug.
  119. - Add VT100 filter to make outside sources respect terminal size constraints, also needed to run bash in vsplit mode.
  120. - Remote script loading
  121. - add class specific debug
  122. - better class event and class size handling ?
  123. - more potent long-click handling including held down ticks.
  124. - look into discord api / arachnos
  125. - better color syntax highlighting configuration.
  126. - Add #log delete/remove option.
  127. - See about adding SESSIONS to the list table.
  128. - Add debugger to syntax highlighter, substitution highlighing, 256 color support, and variable expansion.
  129. - fix readmud in net.c to not move the cursor on inactive sessions.
  130. - add packets patched counter
  131. - Fix arrow key up history recall overwriting the prompt (partial redesign)
  132. Auto prompt fixing on overwrite.
  133. - reportable_sounds
  134. - https://tintin.sourceforge.io/forum/viewtopic.php?f=4&t=2597 #add #screen support
  135. - TELNET documentation.
  136. - Add JSON support to #scan
  137. - see if #break 2 is possible, maybe #continue 2 as well.
  138. - http://tintin.sourceforge.net/board/viewtopic.php?p=9625 (map undo issue) (not a big issue)
  139. - http://tintin.sourceforge.net/board/viewtopic.php?t=2339 (map area data)
  140. - IPv6 for chat
  141. - http://tintin.sourceforge.net/board/viewtopic.php?p=9109 (vt102 strip \e[2J\e[H )
  142. - http://tintin.sourceforge.net/board/viewtopic.php?p=8766#8766 (global verbose toggle?)
  143. - http://tintin.sourceforge.net/board/viewtopic.php?p=8745#8745 (verbose logging?)
  144. - See about adding ~/ handling for file names.
  145. --------------------------------------------------------------------------------
  146. * LOW PRIORITY
  147. - Add a file handler.
  148. - multi-line buffer searches / captures / deletes
  149. - multi-line triggers (use nested actions?)
  150. - add color based auto unwrap routine.
  151. - Start of line anchors aren't working in #replace.
  152. --------------------------------------------------------------------------------
  153. * ROADMAP
  154. - dictionary +tabbing
  155. - editor
  156. - clickable link support
  157. - tintin commander
  158. - sixel graphics
  159. - windowing
  160. - blind automapping
  161. - better attach/detach
  162. - GUI mode
  163. - Braille handling
  164. - Allow converting tt++ scripts to C.
  165. - session proxies
  166. --------------------------------------------------------------------------------
  167. * STUFF THAT MIGHT BE IMPLEMENTED
  168. - ability to #read entire directories.
  169. - fix ctrl-r ctrl-d / ctrl-c / enter
  170. - Option to run #script in background.
  171. - Make &0 to &99 local.
  172. - Color compression (already partial support)
  173. - SGA disabling
  174. - BINARY TELOPT support.
  175. - add #line gag {lines} option
  176. - Add something like #log append $dir/logs/log.txt {%D %H:%M:%S}
  177. - compact map view mode http://tintin.sourceforge.net/board/viewtopic.php?p=9994
  178. - https://github.com/eliukblau/pixterm
  179. --------------------------------------------------------------------------------
  180. * BUGS THAT NEED FIXING
  181. - Word wrap related scroll back problems.
  182. - Crash on multiple session close
  183. - \x7B\x7D_____\x7B\x7D_ doesn't match in #regex.
  184. --------------------------------------------------------------------------------
  185. * BUGS THAT MIGHT NEED FIXING
  186. - http://tintin.sourceforge.net/board/viewtopic.php?p=7124
  187. - There's a bug with prompt repetitions with packet patch set.
  188. - Deal with escaping { } / ; in #script variables.
  189. - Make tintin char setting by session instead of global.
  190. - #cr doesn't reset the packet patch state
  191. + tintin.sourceforge.net/board/viewtopic.php?t=36
  192. --------------------------------------------------------------------------------
  193. * MAPPING
  194. - add option to show party members on the map
  195. - add option to add a delay to each exit for #map run
  196. - map where command that shows relative coordinates.
  197. - Room creation event
  198. - Add better table support for data fields.
  199. - auto adjust max vnum size of mapper.
  200. - global flag to only show the same area with the mapper.
  201. - map color setting for hidden exits.
  202. - Create global exits, (aka portals) like recall, that can be used
  203. with #map run.
  204. - Add something to indicate a non standard exit on the ASCII mapper.
  205. - Display hidden exits differently.
  206. - Better #map undo support using maybe timestamp, type, info.
  207. - Add conditional if checks for room traversal.
  208. - add highlight option
  209. - Add #V version info
  210. --------------------------------------------------------------------------------
  211. * STUFF FOR A RAINY DAY
  212. - Fix up ipv6 support in chat.
  213. - Look into packet defragmentation for chat.
  214. - Look into using speech-dispatcher for text to speech.
  215. - Add %U (upper) %L (lower) support.
  216. check https://www.boost.org/doc/libs/1_50_0/libs/regex/doc/html/boost_regex/syntax/basic_extended.html
  217. - cursor extension for vim
  218. - interactive script tutorial
  219. -------------------------------------------------------------------------------
  220. * STUFF I'M NOT SURE ABOUT
  221. - Keep last input visible with repeat enter enabled.
  222. - would be nice to have "#map list" show the variable being filtered on, instead of defaulting to roomname ie, I'm currently writing a script to save "#map list {roomnote} {{\w+}}" into a variable, then map get roomnote for each item in the list and display it...would be nice if when listing for a roomnote, it showed the roomnote
  223. -------------------------------------------------------------------------------
  224. * STUFF THAT WON'T BE IMPLEMENTED
  225. - Lua or any other scripting language, focus is on developing tintin scripting.
  226. -------------------------------------------------------------------------------
  227. * ISSUES
  228. - TinTin++ only allows 1 action triggering per line.
  229. - TinTin++ probably should substitute escapes in if checks.
  230. - TinTin++ is not handling #return inside #regex intuitively.