Commit graph

43 commits

Author SHA1 Message Date
Elijah R a075010a96 Minor animation improvements
- Bind nextFrame to window.requestAnimationFrame to prevent hanging if the tab is out of focus
- Playing an animation when one is already queued/in progress now cancels the old one instead of throwing an error
2024-07-20 08:32:09 -04:00
MDMCK10 6893c62c08 Run prettier 2024-07-16 01:50:25 +02:00
MDMCK10 3f2b776325 Allow dragging of windows and agents on mobile, fix unintended text selection on long press 2024-07-16 01:43:29 +02:00
Elijah R 2de60a98a3 reformat with prettier 2024-07-14 20:33:47 -04:00
Elijah R 8394920d4d add image upload support 2024-07-14 19:35:00 -04:00
Elijah R 1ad9ee14fe format code with prettier 2024-07-14 15:26:05 -04:00
Lily Tsuru 61dc78ba3b msagent.js: Cache parsed ACS data
Instead of duplicating it per every instance of an Agent, since it is never mutated by an Agent, we can just cache it.
2024-07-12 19:13:53 -04:00
Elijah R 3525fdcff4 Add admin features (get ip, kick, ban), context menu, ban database, clean disconnect and reconnect, and errors. 2024-07-12 02:00:20 -04:00
Elijah R d1295bcc2f - fix bug where the wordballoon doesn't show if you send a message while the TTS for another message is still playing
- agents now spawn in random positions on the viewport
2024-07-10 22:45:58 -04:00
Elijah R e9504c6359 add username balloons under agents 2024-07-10 22:07:58 -04:00
Elijah R 55ce8b67f5 fixed wordbubble positioning 2024-07-10 21:35:03 -04:00
Lily Tsuru d089018082 allow Agent.speak() to override a previous call to speak() 2024-07-10 07:28:14 -04:00
Lily Tsuru 22f0d4a008 rename renderFrame() so it's more consistent with other drawing functions 2024-07-10 07:16:33 -04:00
Lily Tsuru 7e1999f117 who put critters in my typescript 2024-07-10 07:10:59 -04:00
Lily Tsuru d8b7681ff5 add wordballoon support
needs some fixing but its working
2024-07-10 03:08:55 -04:00
Elijah R 89d0092f65 add agentCreateCharacterFromUrl 2024-07-10 00:08:06 -04:00
Lily Tsuru b50091c5fc remove Agent.animationFinished()
we can just put its logic in the finish callback we give to the animation state
2024-07-09 23:57:50 -04:00
Elijah R 20240215f9 prevent duplicate addToDom 2024-07-09 23:57:19 -04:00
Elijah R 0e4ae45d01 nullify contextmenu 2024-07-09 23:53:34 -04:00
Lily Tsuru b6b069450d remove debug prints, axe testbed-only APIs 2024-07-09 23:50:16 -04:00
Lily Tsuru f720acc738 add param to hide() to auto remove the agent 2024-07-09 23:42:43 -04:00
Elijah R b9099cd635 make agents draggable 2024-07-09 23:38:54 -04:00
Lily Tsuru 29d6213134 add remove() to remove from dom (TODO: will need to handle wordballoon) 2024-07-09 23:35:30 -04:00
Lily Tsuru 803c63f1f9 make show/hide play respective animations 2024-07-09 23:32:20 -04:00
Elijah R 36ad3fe178 - expose agent to window in testbed
- ts-ignore setTimeout line causing errors
2024-07-09 23:29:21 -04:00
Lily Tsuru 8d029c682f add playAnimationByName() api 2024-07-09 23:26:12 -04:00
Lily Tsuru 3845f1c1a7 style change 2024-07-09 23:23:02 -04:00
Lily Tsuru 438489c43f animation playback (no branches or anything yet) 2024-07-09 23:21:24 -04:00
Lily Tsuru 57b272becf fix decompression copying out of wasm heap 2024-07-09 23:09:32 -04:00
Lily Tsuru 1ed14d58f1 remove debug printing 2024-07-09 22:42:46 -04:00
Lily Tsuru 76541dd31d msagent.js: fixed bitmap drawing
Now everything is top down, correctly colored, as you'd expect! Woohoo!
2024-07-09 22:42:12 -04:00
Elijah R 9f211ec36a half working frame rendering 2024-07-09 19:47:10 -04:00
Lily Tsuru 5d5f620fec clean up structures 2024-07-09 19:29:44 -04:00
Lily Tsuru 64226599f8 read image RGNDATA structure 2024-07-09 18:59:11 -04:00
Lily Tsuru 5c3433461d msagent.js: Rewrite decompression to use WASM
Mostly so it actually works. I couldn't get a fully JS version working and I can't be bothered to when this seems to work.

Note that yes, the wasm IS checked in to the repository. This is just so clang isn't a direct build dependency, but will be needed if the decompression module needs to be updated.
2024-07-09 18:53:18 -04:00
Lily Tsuru 9eadf40d4c read images (TODO)
next is displaying them in the testbed
2024-07-04 20:41:11 -04:00
Lily Tsuru 9d88e332f5 parse animation data!
also clean up some offsetting stuff a bit, by adding a RAII-like utility that lets the code temporairly offset elsewhere.
2024-07-04 05:13:35 -04:00
Lily Tsuru 3718b508a5 split structs out into seperate typescript files (in prep for animation) 2024-07-03 21:18:40 -04:00
Lily Tsuru 2c8793a796 msagent.js: Parse character info
msagent.js can now parse the character section of a ACS file fully.

This also adds a testbed thing. Later on it will display individual frames
and animations for debugging before the full character API is ready.
For now, it just has a file input for dumping ACS files into so we can debug
reading of the data.
2024-07-03 06:00:22 -04:00
Elijah R 6bc9631748 FUCK 2024-07-02 23:43:56 -04:00
Elijah R c7963631cb working chat and TTS 2024-07-02 23:43:27 -04:00
Lily Tsuru c3c0d33e5b msagent.js: add wordballoon code
also initalize msagent.js inside of the webapp
2024-07-02 23:04:45 -04:00
Elijah R 3955d05a59 skeleton package for msagent ACS player 2024-07-02 18:27:43 -04:00