-
Notifications
You must be signed in to change notification settings - Fork 1
/
notes
executable file
·187 lines (153 loc) · 8.54 KB
/
notes
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
Game::Restore is missing functionality for games that ask for the
window size before we get a chance to restore?
Web interface
11:43 <theorbtwo> I want an admin page that I can use to kill off instances forcably, last-used times, and possibly a URL that, when hit, kills off all processes not used in more then 3
hours.
11:43 Proc bad: PRC / Prov / PRO / Pro / Prow / ...
11:43 ProcessTree bad: Process Tree / Process-Tree / Processed / Procedure / Precessed
11:43 <theorbtwo> Also, possibly, use Proc::ProcessTree to monitor total res of the process tree.
nitfol
- Is compiled without graphics support.
- not being used right now.
Banana Republic:
- Does glk_stylehint_set(wintype=33, styl=3 (Header), hint=3 (Size), val=0), trying to set on type 33, which naturally segfaults.
- Seems to not segfault on agaton. Why not?
A Tight Spot:
- Colors not supported
- Make TextGrid output use ' ' instead of ' '?
- Char input ends up capitalized, because it's not letting the browser apply normal character semantics?
- Up-arrow in text box should allow command history?
- widen text box?
curses
- DONE: Gets the windows confused somehow?
- DONE: Spews error messages
- DONE: No newline after echoed user input.
- Save echos strange garbage to screen -- tries to output save file
to current stream, rather then to save file stream!
DONE: How to restore, from new.
- advent: line input "restore\n"
- blue-lacnua: char input "r"
- alabaster: line "yes\n", char space, line "restore\n"
- acg: line "restore\n"
- king: char "r"
- curses: N/A
- zork1: N/A
- emy: char space, line "restore\n"
- sd3: line "foo\n", line "restore\n"
From user testing:
- Make scrollbar more obvious -- see, for ex, just after answering art or love in blue lacuna
- In blue lacuna, ret with no input should do 'look'.
- Double-check if blue lacuna should have a status bar visible during the prelude.
- make 'go' button for the mouse-obsessed.
- DONE: make restore have a list of available games.
- have a production URL
- google ads?
- empty input line before sending ajax, stack up calls?
- set focus on input box, on load + redraw
- after save, set scrollheight
earl grey
- Bottom "thinking" window ends up 400 pixels high, like all textbuffers.
king
- <div style="height: 1 px"><div class='TextGrid' id='winid0x95e83f0'> -- get needs to know about height/width in chars vs pixels.
- Block vs inline elements for styles -- centred text not working, text background color only set directly behind text.
- Inline graphics in textbuffers
- Exiting the printworks more then once will end up with multiple graphics windows, since we do not support close.
- DONE - Size info on graphic windows. - DONE
- DONE - redraw implicitly clears TextBuffer?
- DONE - Graphics - DONE
blue-lacuna
- DONE - help menu is not usable, because there is no way to press enter.
- DONE - JS to capture key onchange of input textfield, and if Return/cursor key etc, send "evtype_CharInput Return\n"
- DONE - see event.c line 131.
- Mucking about with style of hinty window doesn't work, because the window is never deleted
acg
- Working!
alabaster
- The Imager remains 42 px high, because the browser keeps the Graphics div at minimal height.
- Attempt to muck about with game's own config file still not working (doesn't like opening file that isn't preexiting?)
- Graphics
- DONE - graphics window is invisible; javascript will not create new windows that didn't exist.
- DONE - window_fill_rect - extern void glk_window_fill_rect(winid_t win, glui32 color, glsi32 left, glsi32 top, glui32 width, glui32 height);
- DONE - image_get_info - extern glui32 glk_image_get_info(glui32 image, glui32 *width, glui32 *height);
- DONE - image_draw_scaled - extern glui32 glk_image_draw_scaled(winid_t win, glui32 image, glsi32 val1, glsi32 val2, glui32 width, glui32 height);
advent
- DONE: help menu, putting a \x0A to a TextGrid doesn't move the cursor
- DONE: help menu: window_set_arrangement and window_get_parent don't work via dispatch.
- DONE: help menu: gets cleared "for us" after 'n'.
zork1
- DONE: Gets the windows / streams confused somehow?
- DONE: No visible output
- DONE: After typing a line into the apparently empty screen, you can see output, but with no newlines in the game's output, and extra red error messages: "[ERROR: save]: incorrect stack size assessment (0) 22800 (1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10)"
- DONE: Missing newline after echo.
emy
- Done: initial working!
- DONE: Save: needs "???glk_fileref_create_by_prompt usage=1 (SavedGame), filemode=1 (Write)"
- DONE: Save does not work.
- TEST FOR EMY SAVE:
- (echo 80 25; echo 80 25; echo 80 25; echo 'evtype_CharInput 32'; echo 80 25; echo 80 25; echo 'evtype_LineInput enter'; echo 80 25; echo 80 25; echo evtype_CharInput 110; echo 80 25; echo 80 25; echo evtype_LineInput save; echo /tmp/emy-test.sav) | /mnt/shared/projects/games/flash-if/garglk-read-only/terps/agility/glkagil ../../Emy\ Discovers\ Life/DISCOVER
- glkagil: os_glk.c:6268: gagt_get_user_file_glk: Assertion `retfd != -1 && retfd == glkfd' failed.
- All writes go to one window?
- Proper support for glk_style_measure
sd3:
- After a, b, c menu, doesn't scroll back to top.
/mnt/shared/projects/games/flash-if/garglk-read-only/terps/scare
- glk_request_line_event_uni
/mnt/shared/projects/games/flash-if/garglk-read-only/terps/agility
- needs ifphdr
js keycodes:
http://unixpapa.com/js/key.html
workflow:
glk:window_size?
game: send_window_size (callback)
if no size, exit glk loop, return data (redraw windows?) to browser
set current_select to window data for this window, input_type='size'
sends redraw / complete html data, windows with no content.. ?
browser sends new window sizes, set_window_size calls continue?
- removed as this then skips the 2nd/3rd set..
else send window size data
universal
- DONE - TextBuffer window grows instead of scrolling. - DONE
- DONE - No way of pressing ret during char input makes most help menus unusable.
- DONE - <title> tags. - DONE
- DONE? - expand Game::Window to cover all window attrs
- add Game::Style ?
- DONE - ajax: return json/content per window, instead of just one - DONE
- DONE - continue, return content without divs/classes etc. - DONE
- DONE - make TextGrid excempt from pages garbage?
- DONE - make get_own_formatted_text part of Game::Window::*? Likewise ->move_cursor, etc?
- DONE - Chrome: hitting up or down in a charinput box makes the autocomplete thingy show up. - DONE
- Graphics windows force the browser to re-get the image every turn, even if it has not changed.
- robots.txt fetching = 500 Error.
- saving
- DONE - type "save", Game responds by running "save_file_name" callback, exits loop, and user is shown save form instead of normal input form (contains "username" and "save game" fields)
- Re-use input form, by making username universal?
- add hidden username field / user sessions?
- output hint about the maximum length of an input line, and verify before sending to game itself
- truncate or error on "too long"?
- Handle game titles with html metacharacters.
- s/Game/GlkNew/ in all module names?
- front page:
- DONE: Initial: List of game links to click on for new game - TT/View including looking up list of games?
- DONE: Also links to github checkout / github issues list
- DONE: Need to extract the "list of games" data somewhere both Game::Catalyst and Game::Everything else will see it? maybe into the conf file for the app? (and load with config::any elsewhere or pass in)
- DONE: Allow user to login and display customised front page, including users games player with resume links?
- DONE: Need to extract "games for this user" code so cat can see it.. or make available outside a Game::HTML object?
- DONE: How to "restore" a game from a link to the save file?
- is this the same save/re-open code that allows us to stop relying on the @games array globally?
- get rid of @games array.
- DONE: need to test how each game starts/can be restored.. generally, send "r" or "restore" as first command on select?
- what about games that ask for window size first?
=====
1) Add time last accessed to $game obj
2) Admin view; list of games, last access, game name, userid, state?
- view visible to certain openid admins
- kill button
3) non-javascript mode? for google?
4) Auto-save mechanism
- Auto-save is like reload but in reverse
5) Auto-save+kill idles?
- Cron job that hits a url to do this?
- since time unit X, first auto-save, then auto-kill time unit later
6) Play any game - recognise type, etc.
- upload new game with desc etc.
- publish anygame url?