-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathTODO
414 lines (221 loc) · 10.5 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
- switch to pcre2
- check if #scan file is escaping braces
- If I set #config log_level low then it ignores #log timestamp {%Y-%m-%d-%H:%M:%S}
- Update script's --time-style=full-iso doesn't work on Mac.
- Investigate: EVENT_FLAG_UPDATE running as gtd->level->quiet++ in check_all_events
- Add an example #edit script to SCRIPTS
- #map offset 10 10 doesn't generate an error
- strip [ ] from auto tab completion
- #draw tile 1 1 1 1 {\x7B}
- #screen scroll 10 1 -3 -1;#showme {bla} {-2}
#draw RED ROUNDED BOX {1 1 2 2} gives a poor error message
- #var foo {{}{aaa}} creates no assignment
- With internet down, #session reconnect events might fail
- Write an example script that makes tintin mimic Discord, with soft enters, emoticons, etc.
- Add an example script to display time left on tickers using #info tickers save
- comprehensive memory breakdown for variables/triggers/mapper/etc
- #draw calign grid table {2} {2} {8} {42} {n;s;w;e} {n;s;w;e}; doesn't work properly.
- a better trigger stack debug buffer
- Problem with restoring true color subs.
#sub bla {<F00AA00>bla}
#high blo <118>
#showme <158>test bli bla blo test
- named delays don't work in gts
- #SPLIT when you give the top bar a negative value for its size, TinTin isn’t drawing the white box around it
- Add an option to insert multiple items to a list
- allow setting output encoding for #port
- https://github.com/mintty/mintty/wiki/CtrlSeqs#audio-support
- mintty --configdir DIRNAME
- Fix: #ERROR: UNKNOWN TOKEN TYPE: 14 (#info tokenizer)
- split screen scrollback setting in #screen
- terrain based weight modifier
- weightless mode for #map list and #map find
- Make #draw scroll grid table work properly.
- update https://tintin.mudhalla.net/info/ansicolor/
- Make sure #config compact also applies to the log file.
- Add an #event that triggers when a function/variable is not found.
- tab completion on input history
- look into handling VARIABLE UPDATE event better
- catch event to handle #map global exceptions
- Add routine to escape 0x00 in port.c RECEIVED DATA event.
- allow a full telnet disable in port.c
- Add message when a substitution exceeds available memory.
- config loglevel medium option
- look into GMCP larger than buffer size
- look into #button SWIPED MOUSE BUTTON ONE option
- finish ? : support in #math
- finish create_node()
- Look into #split 1 1 1 1 on termux when hiding / showing keyboard.
- look into invalid { } in MSDP / GMCP handling
- MSLP jump link handling
- mapper.c FAST handling
- sandbox mode to disable shell integration.
- update telopt_server with MSSP, MTTS and TTYPE changes
- #format %.3s prints two double-width characters.
- fix ctrl-r so it compiles the pcre once.
- #sleep <time>, possibly allow names to cancel or force continuation
- #line escape {variables;functions}
- look into a #debug flag for #class
- Another nice thing would be if there was some flag to make a trigger match newlines as space.
- fix up named delays and undelay
- add a #regex like command for #cursor to update the input line.
- custom mapping for unicode table to set width
- color code for dynamic color ranges
- #MACRO {\cz} {#cursor get t;#var t} does not handle { } in input.
- Look into delete_index_list leaving a table with ->used set to 0 causing #list crashes
- #daemon attach fails under high cpu load
- https://github.com/scandum/tintin/issues/161
Add note to package maintainers
----------------
- add shadow session support with access to all events.
- set_line_screen debug: col = -5 (64) from draw_text(%p,%d,%p,%p,%p)
- set_line_screen stack call triggered on android
- regex101 like regex tester
- check: #var bla { x};#draw scroll box 1 1 3 40 $bla
- input spell checking, #cursor display ?
- Get discworld / aardwolf mxp to work for @sentix
- look into default input color
- add ctrl-r support for scrollback
- Add #event {SESSION CONNECTED} {#command} {5.1} option.
- TT++ HANDBOOK for meticulous organized details.
- vertical bar drawing
- error: cursor_check_line_modified1:
- https://tintin.sourceforge.io/forum/viewtopic.php?f=10&t=2811 (possible
issue with initiating input buffer for a new session)
- finish BUFFER_SIZE replacement.
- WSL sound, double check soundpack scripts for lag/stutter
- WSL faq: #system cmd.exe /c start notepad
- update msdp scripts with #line msdp feature
- #cursor get word option, maybe get the yank buffer as well.
- 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).
* STUFF THAT IS PROBABLY GONNA GET DONE
- #line timeshot to auto destroy a trigger after given interval.
- make named delays proper delays
- Finish port proxy support: resizing, input, security
- look into transparent drawing
- VT2020
- mouse enter/leave events on move. hoover/long-press.
- $var[%*][%*] support.
- better #draw font support
- tab completion on directory structure.
- #map area command to list room counts per area.
- direction field for exits that allow longer than 1x1x1 x/y/z jumps.
- global mapper flag that would imply "Hide" on all exits that change area.
- multiple global exit rooms and noglobal flags.
- auto align routine that inserts void rooms where needed
- look into writing script to drag rooms + void with mouse
- Store the map filename to differentiate between maps.
- #map list {<exits>} breaks on rooms that have e mapped to eu.
- finish landmarks
- map sandbox mode support (flags to disable saving?)
- add ghosting to fix #map flag nofollow exit cmd issues?
- Request: 'stop' #map center command, so i could see how the 'user' moves, rather map moves around him?
- make map spacing easier
- event for failed #map move.
- look into #send triggering follow map.
- add {roomdata} search to #map list
- change 'C' to 'S' in map file
- Make actions with a priority of 0. trigger always
- #draw table {1;2;3;4} {a;b;c;d}
#draw scrollbar
#draw graph
#draw button
#draw titanic
- Make { match both a { and \x7B as it's an annoying issue to debug.
- Add VT100 filter to make outside sources respect terminal size constraints, also needed to run bash in vsplit mode.
- Remote script loading
- add class specific debug
- better class event and class size handling ?
- more potent long-click handling including held down ticks.
- look into discord api / arachnos
- Add SESSIONS to the list table.
- Add debugger to syntax highlighter, substitution highlighing, 256 color support, and variable expansion.
- add packets patched counter
- reportable_sounds
- TELNET documentation.
- Add JSON support to #scan
- see if #break 2 is possible, maybe #continue 2 as well.
- IPv6 for chat
- See about adding ~/ handling for file names.
--------------------------------------------------------------------------------
* LOW PRIORITY
- #if {1 || bla} errors out
- ./configure might error on /dev/ptmx
- Add a file handler.
- multi-line buffer searches / captures / deletes
- add color based auto unwrap routine.
- add #history filter option to filter out 1 letter commands.
- Look into config option to change the working directory
--------------------------------------------------------------------------------
* ROADMAP
- dictionary +tabbing
- editor
- clickable link support
- tintin commander
- sixel graphics
- windowing
- blind automapping
- better attach/detach
- GUI mode
- Braille handling
- Allow converting tt++ scripts to C.
- session proxies
--------------------------------------------------------------------------------
* STUFF THAT MIGHT BE IMPLEMENTED
- ability to #read entire directories.
- fix ctrl-r ctrl-d / ctrl-c / enter
- Option to run #script in background.
- Make &0 to &99 local.
- Color compression (already partial support)
- SGA disabling
- BINARY TELOPT support.
- add #line gag {lines} option
- Add something like #log append $dir/logs/log.txt {%D %H:%M:%S}
- compact map view mode http://tintin.sourceforge.net/board/viewtopic.php?p=9994
- https://github.com/eliukblau/pixterm
--------------------------------------------------------------------------------
* BUGS THAT NEED FIXING
- Word wrap related scroll back problems.
- Crash on multiple session close
- \x7B\x7D_____\x7B\x7D_ doesn't match in #regex.
--------------------------------------------------------------------------------
* BUGS THAT MIGHT NEED FIXING
- http://tintin.sourceforge.net/board/viewtopic.php?p=7124
- There's a bug with prompt repetitions with packet patch set.
- Deal with escaping { } / ; in #script variables.
- Make tintin char setting by session instead of global.
- #cr doesn't reset the packet patch state
+ tintin.sourceforge.net/board/viewtopic.php?t=36
--------------------------------------------------------------------------------
* MAPPING
- add option to show party members on the map
- map where command that shows relative coordinates.
- Add better table support for data fields.
- auto adjust max vnum size of mapper.
- global flag to only show the same area with the mapper.
- Add something to indicate a non standard exit on the ASCII mapper.
- Display hidden exits differently.
- Better #map undo support using maybe timestamp, type, info.
- Add conditional if checks for room traversal.
- add highlight option
- Add #V version info
--------------------------------------------------------------------------------
* STUFF FOR A RAINY DAY
- Fix up IPv6 support in port/chat.
- Look into packet defragmentation for chat.
- Look into using speech-dispatcher for text to speech.
- Add %U (upper) %L (lower) support.
check https://www.boost.org/doc/libs/1_50_0/libs/regex/doc/html/boost_regex/syntax/basic_extended.html
- cursor extension for vim
- interactive script tutorial
-------------------------------------------------------------------------------
* STUFF I'M NOT SURE ABOUT
- Keep last input visible with repeat enter enabled.
-------------------------------------------------------------------------------
* STUFF THAT WON'T BE IMPLEMENTED
- Lua or any other scripting language, focus is on developing tintin scripting.
-------------------------------------------------------------------------------
* ISSUES
- TinTin++ only allows 1 action triggering per line.
- TinTin++ probably should substitute escapes in if checks.
- TinTin++ is not handling #return inside #regex intuitively.