Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 176 lines (144 sloc) 7.92 KB
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.
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
- 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)"
- 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?