@bonkmaykr@canithesis.org
55 following, 28 followers
...
yes this is a bug and yes we're reporting it upstream
Via flickr https://flic.kr/p/111pCxTg3 (zoofanatic)
#Fox #Bot
@toomanyfoxes I guess that's one of the silver foxes from the Russian breeding program, considering the slightly floppy ears... so I'm both a bit sad for them, and have to say in this particular portrait they look super cute >.>
@Tvorsk Does not have to be necessarily. The photo is from a German zoo so it's normally an animal from some breeding/conversation program but usually not from a "pet" breeder. Or it's a surrendered/confiscated animal from illegal ownership.
Some time ago I've learned that foxes are technically legal exotic pets here. So buying a whole forest (with foxes!) is on my to-do list.
Here's what I learned.
MinGW is better behaved than MSVC, as I expected. However, it also has some bugs specific to it. For some reason our INI read/write library (@wirlaburla@canithesis.org) sends corrupted junk to the file input stream during config construction - I figured out this is apparently a known issue that occurs in one of the -O1 optimizations since at least three years ago and was never addressed. For now, the Windows ports have zero optimizations until I can figure out the exact offending CFLAG.
https://stackoverflow.com/questions/71109757/very-strange-mingw64-c-bug-when-readinig-from-a-file-inside-a-function
Allegro's official TrueType plugin relies on a FreeDesktop library called Freetype, which in turn has an optional, but highly encouraged (and recursive! the hell?) dependency on Harfbuzz, another library that does the exact same thing. Harfbuzz in turn depends on DirectX 10's "DirectWrite", ANOTHER library that does THE SAME THING, as well as GLib, which is to put it very simply a collection of stuff that's mostly already in libc.
If you raised your eyebrows a little and said "That sounds fucking retarded", then you would be 100% correct. In typical FDO/GNOME/RedHat fashion, they have managed to take something so simple and contrive absurd levels of pointless complexity out of it.
This single dependency tree, which is enabled in every binary distribution of Freetype out there, is singlehandedly responsible for Allegro silently dropping support for Windows XP out of the box. Freetype has to be recompiled to remove the bloat.
To be clear, I'm not mad at the Allegro guys - most of the design decisions for liballeg 5.x were made like a decade and a half ago when the whole FreeDesktop situation was a lot different, and I doubt any of them even noticed this was the case because nobody uses XP anymore. The only way I even found all this out was when I was forced to dependency walk the compiled binary to find out why it was failing to load, the average developer now is not going to think twice when they just grab the MinGW/Nuget packages and ship them as-is.
So yeah. MYTHOS engine works on Windows now. I'm glad to check another milestone towards completing the first demo version off the list.
@bonkmaykr "Small vector" is a term of art for a vector that has its storage within the object itself instead of allocated dynamically (see "small string optimization" for an analog as to why it means that). In that sense, it's closer to an array, but it can grow and shrink within its maximum size instead of being fixed at declaration. With all the template plumbing that comes with generic containers and the fact that the contained data isn't stored separately, "small vectors" are neither small in code nor byte size.
Bad decisions getting you harder fights is easy to explain. Bad fighting getting you harder decisions can be explained like this: if you barely win, the guy grudgingly helps you according to the obligations of combat, but if you get a high score with a lot of grazes then the guy realizes he's totally outmatched or thinks you're certainly going to win in the end anyway, and gives you eager help.
There's also a natural impulse to reverse the original logic so that the game is self-balancing by difficulty, or so that you avoid players having to "commit self-harm" to get more interesting gameplay:
1. the better you do at puzzles, the harder the bullet hell
2. the better you do at bullet hell, the harder the puzzles
This isn't an insane thing to do, but as you might remember from Bioshock pulling this shit, it's actually incredibly dissatisfying for a game to punish success rather than failure. The 'self-harm' of a player role-playing a dumb investigator that still solves everything with his fists, comparatively it's not bad.
In other news, I hate math.
"Dank Demoss", the 490 pound rapper who attempted to sue Lyft has apparently released a song promoting sex and plan B in front of a KFC