Following on from the 'some carts kill the browser tab' thread, those carts are no longer hanging for me, but there's still something funky going on in some of them compared to the desktop version.
It's most noticeable with https://www.lexaloffle.com/bbs/?pid=16351:
edit: background differences are more obvious at full res, sorry for the poor vertical alignment.
The BBS' player seems a little unstable since the update, some carts are hanging in both Firefox (63.0.3 / 64bit) & Chrome (70.0.3538.110, 64 bit) for me at least.
Here's a couple of examples:
These both work fine in the PC application.
I'm not sure it's directly related to high CPU use - for example, if I move the camera inside the models in this cart to force > 100% cpu, I don't get hangs: https://www.lexaloffle.com/bbs/?pid=46687
Just messing around in the tracker. Music was converted from an old Amiga .mod by Jester, logo stolen from the internet. Code is an attempt at a water effect that went wrong. (edit: reflectsize=28 looks ok, ish)
(also Happy New Year!)
Perhaps this has been asked before, but I don't recall seeing anything about it specifically. Apologies if so.
I've just gone over the png compression limit on a cart, but have about 1128 tokens & 20,000 odd characters left to go. I'll probably use all of them.. I know I can reduce the length of my variable names, or minify the source to make it fit, but -
I was wondering if there was a technical reason why the cart file size couldn't be, say, doubled, or even left unrestricted? As long as you're within the token and character limit that is.
For the record, I think the idea of storing data directly in the image is pretty damn cool & I'm not suggesting that be changed, but if it's only restricted by image size, perhaps the 'overflow' data could be stored in a private png chunk? In theory it shouldn't interfere with how it appears or downloads in browsers or image viewers etc.
I guess it's no big deal, but I'd love to be able to keep the original source in the cart is all.
edit: clarification - cart file size.
I was dabbling in Npp & ended up making this. It's made navigating through source code much simpler for me, I figured others might find it useful too.
Example from one of Zep's compression carts (whose nested functions caused no end of trouble for my puny regex-fu):
NB, it requires you to edit Notepad's config files, so maybe make a backup first in case something goes wrong.
Link: Github Gist
The other thread about converting numbers to hex strings got me wondering if it was possible to do the same with fixed point data. (I did try searching here first but didn't find anything about this specifically)
I wrote a quick test to dump the bits out, but for floats I'm not sure where to find the fractional part. I figured it'd be in the top byte, but as the last test shows, it's not there (or my code is wrong). Is it possible to get at this data?
function convert(value) local binary = "" for i=1,16 do local shift = shl(1,i-1) binary=abs(shr(band(shift,value),i-1))..binary end print("convert "..value.." to binary:") print(binary) local integerval = 0 for k=1,16 do local str = shl(sub(binary, k, k),16-k) integerval += str end print("and back again: "..integerval) print("") end function _init() cls() convert(0xc0de) convert(12345) convert(3.14159) end
Here's a screenshot: (ironically it's larger than the cart, but it's done now)
edit: in fact, the code to convert back is wrong, as it doesn't handle the decimal point. I think the binary conversion is correct though.