{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":676116374,"defaultBranch":"master","name":"Moco","ownerLogin":"purifetchi","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-08-08T13:18:22.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/9293619?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1691500706.0","currentOid":""},"activityList":{"items":[{"before":"3564e80e9c0d88da7f026b29a7a07cab1190428c","after":"a0441bea1db5900e5f8ee53d52e39544e6151e77","ref":"refs/heads/master","pushedAt":"2023-08-23T17:25:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: expose the main timeline.","shortMessageHtmlLink":"feat: expose the main timeline."}},{"before":"9c3ce8a11d8e84b56b053ae619863505b6901dd8","after":"3564e80e9c0d88da7f026b29a7a07cab1190428c","ref":"refs/heads/master","pushedAt":"2023-08-23T12:53:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"perf: avoid using GetTag in the reading loop.\n\navoids checking the entire tag list every time we read a new tag.\ngives us a nice speed up while parsing the swf.","shortMessageHtmlLink":"perf: avoid using GetTag<End> in the reading loop."}},{"before":"a38f724d0d5e3b4bf010821984c3eeea86ba65c6","after":"9c3ce8a11d8e84b56b053ae619863505b6901dd8","ref":"refs/heads/master","pushedAt":"2023-08-23T12:52:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat+refactor+fix!: move control tag logic into the tags.\n\nalso, fix some behavioral logic in PlaceObject, greatly improving\nseveral IOSYS flashes.","shortMessageHtmlLink":"feat+refactor+fix!: move control tag logic into the tags."}},{"before":"7e9a758925923621d5606fddbe1f7916b8c2e7fe","after":"a38f724d0d5e3b4bf010821984c3eeea86ba65c6","ref":"refs/heads/master","pushedAt":"2023-08-23T10:50:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"fix: do not force-close the path when rasterizing.\n\nfixes a ton of drawing issues in iosys flashes.","shortMessageHtmlLink":"fix: do not force-close the path when rasterizing."}},{"before":"7023af2f3b07f9cdfa5aeef2840d78a036b41898","after":"7e9a758925923621d5606fddbe1f7916b8c2e7fe","ref":"refs/heads/master","pushedAt":"2023-08-22T12:04:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: read the 24/32bpp rgba format in DefineBitsLossless.\n\nfixes the drawing of the tewi stack on Overdrive.","shortMessageHtmlLink":"feat: read the 24/32bpp rgba format in DefineBitsLossless."}},{"before":"2bf18dfed21abe0e7aab75ec7ef57cc37463ca35","after":"7023af2f3b07f9cdfa5aeef2840d78a036b41898","ref":"refs/heads/master","pushedAt":"2023-08-21T12:04:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: read the Gradient record!\n\nbrings us further in Overdrive and a couple others. no drawing yet.","shortMessageHtmlLink":"feat: read the Gradient record!"}},{"before":"4c96eb713f530555c2266da7d417f3396bfe8ac1","after":"2bf18dfed21abe0e7aab75ec7ef57cc37463ca35","ref":"refs/heads/master","pushedAt":"2023-08-18T10:21:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: parse DefineShape4 and FillStyle2!\n\nwe do not draw FillStyle2 properly yet, but it allows us to progress\nfurther in Remind_Me.swf, drawing the background \\o/","shortMessageHtmlLink":"feat: parse DefineShape4 and FillStyle2!"}},{"before":"81676a1b31cc3c5401ea707b1affece4574aeeb2","after":"4c96eb713f530555c2266da7d417f3396bfe8ac1","ref":"refs/heads/master","pushedAt":"2023-08-17T20:57:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: parse DefineShape3.\n\nand make some preparations for DefineShape4.\n\nfixes some shapes not rendering in kisume_wink.swf","shortMessageHtmlLink":"feat: parse DefineShape3."}},{"before":"6d9485a93db0d63c1ac49fbc74c998c4027790d0","after":"81676a1b31cc3c5401ea707b1affece4574aeeb2","ref":"refs/heads/master","pushedAt":"2023-08-17T20:38:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: start drawing scaled and rotated shapes.\n\nthis has a long way to go, but for now it'll do just fine.\nstill a bunch of issues... scaling seems to be off in some cases\nthat or the skew, idk anymore.\n\noh yeah, it also now propagates transforms, so shapes inside of sprites\nare affected too!\n\nfixes a bunch of stuff, but the todos keep on piling on.\n\ni really need to change the way we draw...","shortMessageHtmlLink":"feat: start drawing scaled and rotated shapes."}},{"before":"3b7644b20a2219e75eb39d7fce41eec75804de6f","after":"6d9485a93db0d63c1ac49fbc74c998c4027790d0","ref":"refs/heads/master","pushedAt":"2023-08-16T17:10:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"fix?: halt execution on Play action.\n\ni don't think we need to execute more actions after we've already\nstarted playing.\n\nthis is probably non-conformant but it fixed some old flashes\nthat rely on ActionScript2 preloaders.","shortMessageHtmlLink":"fix?: halt execution on Play action."}},{"before":"5d529044a5e829b85ec96a859f7ba63019212e57","after":"3b7644b20a2219e75eb39d7fce41eec75804de6f","ref":"refs/heads/master","pushedAt":"2023-08-16T17:00:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: start drawing sprites!!!\n\nthey aren't affected by the placement matrix yet but we can finally\ndraw them!!","shortMessageHtmlLink":"feat: start drawing sprites!!!"}},{"before":"a1ab8e712e37a9c0c8f0efcc2920e828920a7608","after":"5d529044a5e829b85ec96a859f7ba63019212e57","ref":"refs/heads/master","pushedAt":"2023-08-15T16:19:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"fix: properly read the tags inside of define sprite.\n\ni cannot read apparently","shortMessageHtmlLink":"fix: properly read the tags inside of define sprite."}},{"before":"cd0fb691044ea919a991d5fa2ac2aaf272b25a0b","after":"a1ab8e712e37a9c0c8f0efcc2920e828920a7608","ref":"refs/heads/master","pushedAt":"2023-08-15T15:22:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: parse DefineSprite.\n\nbut don't do anything with it yet.","shortMessageHtmlLink":"feat: parse DefineSprite."}},{"before":"0a1059b5209cd7ad6383fd8f63c672e2b1293848","after":"cd0fb691044ea919a991d5fa2ac2aaf272b25a0b","ref":"refs/heads/master","pushedAt":"2023-08-15T09:18:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: do not progress frames if the timeline is paused.","shortMessageHtmlLink":"feat: do not progress frames if the timeline is paused."}},{"before":"6fbe81e42a07793d822906b7841cb990d4ca5148","after":"0a1059b5209cd7ad6383fd8f63c672e2b1293848","ref":"refs/heads/master","pushedAt":"2023-08-15T09:04:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: read the cxform field of PlaceObject.\n\nstops us from crashing in Remind_Me.swf","shortMessageHtmlLink":"feat: read the cxform field of PlaceObject."}},{"before":"e719a84f3ca78f666d3d0905a059ef34c9cf8248","after":"6fbe81e42a07793d822906b7841cb990d4ca5148","ref":"refs/heads/master","pushedAt":"2023-08-15T08:57:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: add the CXFORM definition and read CXFORMWITHALPHA.","shortMessageHtmlLink":"feat: add the CXFORM definition and read CXFORMWITHALPHA."}},{"before":"054a643d3fd3b32602f8683dd71ce53e4bba3f77","after":"e719a84f3ca78f666d3d0905a059ef34c9cf8248","ref":"refs/heads/master","pushedAt":"2023-08-14T22:50:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: implement some actions!\n\nnamely: Play, Stop, GotoFrame and WaitForFrame. all of them work!\n\nmakes osaka-escalator.swf loop properly, and probably fixes a ton of\nflashes utilizing old WaitForFrame based preloaders.","shortMessageHtmlLink":"feat: implement some actions!"}},{"before":"216ae4cdc6774bedc28eeb08826c65ebc5befd2f","after":"054a643d3fd3b32602f8683dd71ce53e4bba3f77","ref":"refs/heads/master","pushedAt":"2023-08-14T22:34:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: add a method for setting the frame.","shortMessageHtmlLink":"feat: add a method for setting the frame."}},{"before":"1f4c7220104feca53d2b36ccd0100be8e0f24ff3","after":"216ae4cdc6774bedc28eeb08826c65ebc5befd2f","ref":"refs/heads/master","pushedAt":"2023-08-14T22:26:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat+refactor: add the execution context and start executing actions.\n\nthis does nothing so far, as every action is a dummy action, but it's\ncoming together...\n\nalso moved the code that modifies the display list into the frame,\nas it really should belong there.\n\ndon't ask me why i went from working on the rasterizer straight to\nactions, i need a break...","shortMessageHtmlLink":"feat+refactor: add the execution context and start executing actions."}},{"before":"b297fa82d5ab916f0be575b65cf08098345cdae3","after":"1f4c7220104feca53d2b36ccd0100be8e0f24ff3","ref":"refs/heads/master","pushedAt":"2023-08-14T21:59:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: parse DoAction and attach actions to frames.\n\nactions don't do anything yet, and while i'm not planning to support\nActionScript 2, i can at least support the *much simpler* SWF3 and\nSWF4 actions.","shortMessageHtmlLink":"feat: parse DoAction and attach actions to frames."}},{"before":"c29c76d45bc7cf49aff79d4331d949660a5b84b9","after":"b297fa82d5ab916f0be575b65cf08098345cdae3","ref":"refs/heads/master","pushedAt":"2023-08-14T21:14:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat+refactor: add the timeline class and preload tags into frames.\n\ntl;dr we now pre-parse the swf into frames on a timeline, which will\nallow us to reuse the same code for sprites later on (as they also\nhave their own timeline)","shortMessageHtmlLink":"feat+refactor: add the timeline class and preload tags into frames."}},{"before":"80c0938c4e34cb0a7a788667ced6c65745fae7c3","after":"c29c76d45bc7cf49aff79d4331d949660a5b84b9","ref":"refs/heads/master","pushedAt":"2023-08-14T19:13:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat+refactor+fix: the grand path rasterization refactor.\n\nthis pretty much implements how path rasterization is supposed to\nwork for shapes. most of the code has been inspired by as3swf, the\ncorresponding blog post and the blog post by m. swanson on msdn.\n\nthis also partially fixes how shapes are supposed to be laid out.\n\ni think the current way we do things is a bit off and we should be\nrasterizing the paths right as we draw them in the future, but meh,\nthis is a toy project after all.","shortMessageHtmlLink":"feat+refactor+fix: the grand path rasterization refactor."}},{"before":"599a846eb05112d19d37e335217fbb1ccbec53e9","after":"80c0938c4e34cb0a7a788667ced6c65745fae7c3","ref":"refs/heads/master","pushedAt":"2023-08-11T18:31:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"fix: replace the values in the context after new styles record.\n\notherwise we'd be reading garbage, fixes a tonna stuff.","shortMessageHtmlLink":"fix: replace the values in the context after new styles record."}},{"before":"7002281cf21c010acae1d77310244b32e363a92d","after":"599a846eb05112d19d37e335217fbb1ccbec53e9","ref":"refs/heads/master","pushedAt":"2023-08-11T18:21:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: read the new styles record in DefineShape2.\n\nallows us to play chen_run.swf and much much more.","shortMessageHtmlLink":"feat: read the new styles record in DefineShape2."}},{"before":"ae4ce043ec2c310e038efef8256c708f933f789a","after":"7002281cf21c010acae1d77310244b32e363a92d","ref":"refs/heads/master","pushedAt":"2023-08-11T18:20:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: support RemoveObject2 and read RemoveObject1.\n\nRemoveObject1 support todo!\n\nremoves the overdraw when playing chen_run.swf","shortMessageHtmlLink":"feat: support RemoveObject2 and read RemoveObject1."}},{"before":"95e3a9bfd1156e0db9dbf45b590dce21da3a294e","after":"ae4ce043ec2c310e038efef8256c708f933f789a","ref":"refs/heads/master","pushedAt":"2023-08-11T18:03:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"fix: fix drawing of overlapped paths in the skia backend.\n\nwhen one path gets drawn over the other in a flash shape, their\nintersection becomes a hole. this now works as intended :)","shortMessageHtmlLink":"fix: fix drawing of overlapped paths in the skia backend."}},{"before":"709d71e2b869f2c488a81842e79612559483dc5b","after":"95e3a9bfd1156e0db9dbf45b590dce21da3a294e","ref":"refs/heads/master","pushedAt":"2023-08-10T23:21:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: support placeobject2 modifying existing characters.\n\nmakes a character in my old swf move!","shortMessageHtmlLink":"feat: support placeobject2 modifying existing characters."}},{"before":"ae82156fe971bd323964765e5c2939c158585add","after":"709d71e2b869f2c488a81842e79612559483dc5b","ref":"refs/heads/master","pushedAt":"2023-08-10T22:32:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat!: draw quadratic bezier curves!\n\na bit broken because the fill tries to fill EVERYTHING, and it's\ndriving me nuts.","shortMessageHtmlLink":"feat!: draw quadratic bezier curves!"}},{"before":"8f7404c89d11184084923781413996aa8058c542","after":"ae82156fe971bd323964765e5c2939c158585add","ref":"refs/heads/master","pushedAt":"2023-08-10T20:05:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"refactor: change how reading style arrays works like.\n\nthis is so we can more easily read the new ones inside\nof StyleChangeRecord.","shortMessageHtmlLink":"refactor: change how reading style arrays works like."}},{"before":"a735702237f1d28dbd46b93b19cfa20b6cb66976","after":"8f7404c89d11184084923781413996aa8058c542","ref":"refs/heads/master","pushedAt":"2023-08-10T20:00:08.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"purifetchi","name":"prefetcher","path":"/purifetchi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9293619?s=80&v=4"},"commit":{"message":"feat: add support for the solid fill in the skia backend.","shortMessageHtmlLink":"feat: add support for the solid fill in the skia backend."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADcQOwjQA","startCursor":null,"endCursor":null}},"title":"Activity ยท purifetchi/Moco"}