[Announcement]

My song 悪魔の御掌 (Devil's Palm) will be featured in an upcoming pack for the game KALPA! Please look forward to it!

RT @KalpaOfficial@twitter.com

⭐️[KALPA] ♊Gemini - Zerr Pack Preview !!⭐️

▷ D_AAN - F℟IEND
▷ Kurokotei / 黒皇帝 - 悪魔の御掌
▷ ???
▷ ???
▷ ???

2022.1
Coming soon...!!

♬Google Play
bit.ly/3DXE7c9

♬App Store
apple.co/3DWr7mP

🐦🔗: twitter.com/KalpaOfficial/stat

RT @dialgadu77@twitter.com

Breakcore / Hardcore / IDM wip 2 (still a collab with @rn_dtm@twitter.com)

🐦🔗: twitter.com/dialgadu77/status/

Breakcore / Hardcore / IDM wip 2 (still a collab with @rn_dtm@twitter.com)

Actually went ahead and made a properly fixed version that accounts for that issue, so now other WAV files don't make woslicerII crash! (repo has been updated)

Had to add a bit of extra code to make it work so I'm only doing it for the translated + modded version for now

Show thread

RT @dialgadu77@twitter.com

Apparently WAV files generated with FL 20.9 make woslicerII

I've made a quick and dirty version that fixes that issue but now it only works with FL 20.9-generated WAV files LOL (I updated my repo where I host the english-translated version with the fix)

github.com/SayakaIsBaka/woslic

🐦🔗: twitter.com/dialgadu77/status/

*makes woslicerII crash

can't believe I missed the most important word LOL

Show thread

That's about it, I have no idea why I did a foone-style thread in the end but yeah
(if someone wants to do a proper fix I'd really appreciate it btw, I might do it one day but it's still very unsure)

Show thread

So ideally to fix that properly you'd have to take into account possible JUNK blocks and basically move until you reach the fmt chunk (which is recognizable with the "fmt" string) but I can't be bothered to do that rn so uhhhh yeah have a quick fix in the meantime

Show thread

Except woslicerII hardcoded the address to jump to at the beginning, not taking account of a possible JUNK block that could be there

So instead of jumping where the 02 value is, it jumps in the middle of the JUNK chunk, which then entirely shifts the whole parsing process

Show thread

Still according to the RIFF spec, apparently it's a special chunk that is only meant to align following chunks to a specific value; so it is basically useless and it should be skipped altogether during parsing

Show thread

woslicerII then parses the remaining fields from that location

Now let's take a look of a WAV file generated with FL 20.9
There's this weird "JUNK" thing with a value and then lots of 0, and then the regular fmt chunk that we saw earlier

Show thread

According to the RIFF spec, it corresponds to the NumChannels field in the fmt chunk, describing the number of channels in the wav file

If you do the math, you can see that it matches (the numbers tell the size of each field in bytes)

Show thread

Basically, it moves the current position of the cursor in the file to the 23rd byte. Why 23rd byte? Let's take a look at a "regular" WAV file in a hex editor

As we can see, it corresponds to that highlighted byte with "02" as the value

Show thread

So basically the whole issue lies on woslicerII's header parsing routine for audio files

The code here shows what woslicerII is doing after loading the wav file (Stream is the FILE pointer corresponding to the wav file)

Show thread

Since the uploaded exe contains additional patches (english translation + init mod), you can also do it yourself on a regular woslicerII copy by patching byte 0x00003568 from 0x16 to 0x3A in woslicerII's exe with a hex editor

Next tweets are a technical explanation of the issue

Show thread

Apparently WAV files generated with FL 20.9 make woslicerII

I've made a quick and dirty version that fixes that issue but now it only works with FL 20.9-generated WAV files LOL (I updated my repo where I host the english-translated version with the fix)

github.com/SayakaIsBaka/woslic

I may or may not be responsible for rickrolling all listeners in @KaraDTM@twitter.com's set during Synthion's debut afterparty

Show older
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!