WasFlash banner

WasFlash

12 devlogs
52h 55m 55s

Attention: This was reshipped due to a bug in my original ship only showing one devlog and only counting 2 hours. Note: The console only works if you toggle it on!

Currently:
An SWF Movie Player that plays typical SWF video like files, withou…

Attention: This was reshipped due to a bug in my original ship only showing one devlog and only counting 2 hours. Note: The console only works if you toggle it on!

Currently:
An SWF Movie Player that plays typical SWF video like files, without audio. It works for both Linux, and HTML5(Please use the samples from the github repo).

The Hope:

A (Hopefully) Fully Featured Flash Player Replacement(Say that 10 times fast), designed for both PC and Web(Using EMScripten :D). In essence, this would be able to run flash games in the modern day. This will process .SWF files and display their contents, much like current SWF players like Ruffle and LightSpark, but with a higher focus on portability, and simple integration with websites.

This project uses AI

I asked AI a few general coding questions for C++ libraries that were obscure and difficult to find documentation on (Oddly EMScripten has awful documentation for static libraries), but the majority of research was done using public documentation. I also used it to help understand some linker errors.

Demo Repository

Loading README...

jacobjraaff

Shipped this project!

Hours: 50.16
Cookies: 🍪 1251
Multiplier: 24.95 cookies/hr

This is a reship because of a bug that only showed one of my devlogs.

jacobjraaff

Finnished Working on EMScripten Implimentation. Our little video player now works on both Debian and WASM. I am getting everything ready to ship!

Attachment
1

Comments

jacobjraaff
jacobjraaff 5 days ago

Also I did a crap ton of optimization in this update, fixed tag lag, stopped some memory leak stuff, cleaned up some redundancies, and tho its not logged, I spent days getting all of the WASM together.

jacobjraaff

THIS IS A BIG DAY! Countless hours of work later, and we have ourselves a (Mostly/Works with medium quality SWF movies, and can only show the video) functional SWF Movie player without playback options. This is so close to shippable, I have poured so many hours into this, and I really hope to have something out soon.

0
jacobjraaff

Ok, so I took some time away from the action script, and I’ve been working on video tags, so hopefully I will have a ship soon of a proof of concept, I will add more updates when I am done with the video rendering…

Attachment
0
jacobjraaff

Worked heavily on making my own AS3 stuff, but my file was a bit broken, and I cannot find any AS3 files ig, so idk, I’ll keep working on tags. So far we’re doing ok, Its just taxing right now.

Attachment
0
jacobjraaff

AHHHHHH!!! Ok ok ok… So, I took some time to get this together, and holy crap I did it, we are now using Lightspark’s AVM2! So the plan is to use Ruffle’s AVM1, because they have the best featured AVM1, and Lightspark has the best AVM2. Lightspark was the hard part, now we have another hard part, which is assembling the ActionScript3, and passing to processing and rendering. So this is yet another huge milestone, and sets us well on our way to making our fully functional, flash player! If anyone’s here, thank you for joining me on my journey, and I hope to see you soon!

Attachment
0
jacobjraaff

I HAVE BIG NEWS! I was able to get the entire processing, and rendering pipeline created, and I am now rendering the background color! I also decided to use Google’s Skia, for rendering, as comparatively it is better than anything any other renderer in c++, and was the original renderer for flash anyways. This makes swf rendering instructions, near 1:1 to the renderer instructions.
Anyways this is an absolutely massive milestone, and I am hoping to start rendering actual shapes soon!

Attachment
Attachment
Attachment
Attachment
0
jacobjraaff

Hi guys, holy moly that took forever! But 4 hours later and we have our first tag parsed, the entire base pipeline of the processor(Stores info and assembles the content, basically the brain behind getting info ready for the rendering stage)! We are that much closer to getting to our first item we can see on the screen! If anyone, anyone at all can see this, thank you for even looking because this project means so much to me! I have never been more motivated to keep putting out something as awesome as this! Anyways, thank you all, and I’ll be back soon!

#Change Log:#
Added the very first fully parsed tag! And added the entire pipeline for each tag! And And added asynchronous processing of tags! And And And added three ands and an added to the end of this commit message :D

Attachment
Attachment
1

Comments

jacobjraaff
jacobjraaff about 1 month ago

WAIT ON THAT SECOND IMAGE!! Ok ok ok, I just realized that Tag Code 9 is Background color tag! That means we are super close to having an image!!

jacobjraaff

Hello everyone(Sorry I was napping), I decided to jump right in on working with tags, and moved my goal post a little bit. I first want to work on a few very simple tags, so I got a sample that only has a few words displayed without any movement, and only one frame, so no action script or anything crazy. This will act as a proof of concept, and perhaps with a few more tags and a slightly better example(Maybe a colorful image) I could ship this(Because completely finishing is never going to happen before ft ends D: ). We’ll will see in time what happens, I have been working pretty quickly so far, so anything can happen! If you have been watching, thank you so much, it means the world! Anyways, see you all again soon!

Attachment
1

Comments

jacobjraaff
jacobjraaff about 1 month ago

And no, Tag length, and Actual Tag length are not faked, one is from the tag header, and the other is the size of the data, and seeing as there are no fatal memory overflow errors, I would call that a success :D

jacobjraaff

This was a smaller session, but a major milestone! I completed the header! Now I just have to write an entire tag parser/interpreter/parser/renderer/engine/omg please help/I’m kidding but please ask questions because I want to spread my project :D. Anyways, I’m gonna keep working on some stuff and check in a little later!

Attachment
0
jacobjraaff

Hello Guys… If there is anyone out here 👀… I finally finished do LZMA Decompression, which is like huge because that’s like the hardest part of the header, and guess what… It worked… FIRST TRY! I know I’m crazy, but in all seriousness, this is a major milestone and means that we are very close to being done with header parsing. What this also means is that the hardest parts of this project are yet to come, tag parsing is going to be A TASK! I have to start from SWF version 1 and crawl my way up to SWF 19… Which is a bit daunting, but it will be good. I encourage you to join me on my journey, even if you don’t really understand whats going on, because we’re all developers here and who knows you might learn something cool! Anyways that’s all for this one, I can’t wait to see what happens next!

Attachment
0
jacobjraaff

Shipped this project!

Hours: 2.78
Cookies: 🍪 33
Multiplier: 11.87 cookies/hr

I have made great progress on writing my very own SWF Flash Player! I have almost completely parsed the header, and I’ve gotten passed all of the super difficult bit math involved in doing so. I learned a lot about binary to hex conversions, and how they translate to decimal numbers, as well as how files can have different Endianess, basically meaning that when you have more than one byte, they are ordered backwards. I think it’s super cool that you can take a file and read out it’s bytes, and actually build something from them, when it’s just numbers.

jacobjraaff

Added ZLIB support, and updated error messages. As well as some compiling fixes and a work in progress dependency script for Linux.

Attachment
4

Comments

jacobjraaff
jacobjraaff about 1 month ago

Currently displays the values of the frame, these are derived from a RECT structure located in the header!

jacobjraaff
jacobjraaff 4 days ago

Please note that there are around 10 devlogs and not just this one :(

jacobjraaff
jacobjraaff 4 days ago

Also I shipped this very recently not a month ago

jacobjraaff
jacobjraaff 4 days ago

Please use my official page to look at devlogs when voting:
https://flavortown.hackclub.com/projects/15918