Mario Chocolate
02.08.2025 17:38 — 👍 1 🔁 0 💬 0 📌 0@molecularmusing.bsky.social
Founder of Molecular Matters • C++ & low-level programming • Created Live++ (@liveplusplus.bsky.social) https://liveplusplus.tech
Mario Chocolate
02.08.2025 17:38 — 👍 1 🔁 0 💬 0 📌 0www.gamesradar.com/games/micros...
Somebody needs to stop them from drinking the Kool Aid.
Read the blog and have a lovely, lovely weekend. It's just a great trip down memory lane, and he actually got it working and running *nicely* on a stock C64.
When I read the blog back then I remember how utterly amazed I was at the tricks he pulled.
A colleague of mine ported Prince of Persia to C64. Without source code or assets, purely based on running the game in an emulator.
The amount of craziness this requires is mind-boggling.
He wrote a blog about it years ago:
popc64.blogspot.com?m=1
I have nothing but the highest respect for people porting *anything* without source code.
That's not porting, that's reverse engineering, eyeballing, and being very good at your profession.
Casey presents some optimizations that seem intuitive and they work correctly for determining separation. However, when computing distance and closest points there are some cases which should not be skipped.
11.07.2025 15:09 — 👍 8 🔁 2 💬 0 📌 0A whitewashed pub wall, with mortar standing proud of the stones.
When I found a pub with an inverted normal map. (If you understand what this means, you have to repost.)
09.07.2025 22:21 — 👍 1864 🔁 905 💬 54 📌 23Regarding my idea for Live++ 3, here we go:
Hot-Redirect.
Hook any function in any module to your own impl., hot-reload that as often as you want.
Can all be done on the fly.
And the best: got it working on consoles too, which I believe is a first.
Think DTrace & ProcMon & Hot-Reload on steroids.
I think one of the most beautiful things that happens when you work on a game long enough is that every feature evokes a specific person in your mind.
Particles are someone you started this job with, ocean waves are your deskmate, clouds are your boss, moths flying around are your best man.
I just had an idea for Live++ 3 for something that no other middleware - hot-reload solution or otherwise - allows you to do, which could be tremendously helpful for debugging.
08.07.2025 15:28 — 👍 8 🔁 1 💬 0 📌 0Live++ 2.9.3 out now:
liveplusplus.tech/releases.html
Last month was busy!
A lot of bugfixes across all platforms and vastly improved loading times for projects with several dozens of dynamic libraries.
Extra thanks to Resmi Hasankolli from EA for his help with Frostbite support.
#cpp
Regarding my last post, here's a Compiler Explorer link: godbolt.org/z/Mc6s3bvea
With optimizations, Clang will add a ".0" suffix (don't know why) to the name, so e.g.:
struct POD
{
int value;
};
// name with -O1: "_ZL5g_pod.0"
// name with -O0: "_ZL5g_pod"
static POD g_pod;
Screenshot of a modal assert message. It has ASCII art of Gandalf alongside the text "YOU SHALL NOT PASS invalid parameters." Below this is text explaining that the caller to my function passed it NaN values, and the function is triggering an immediate fatal assert to ensure the callstack indicates the function supplying the bad data at the moment it's sent into the system. It's like a defensive moat at the interface between gameplay code and the engine system.
Years later, still the best assert message I've written.
07.07.2025 19:08 — 👍 21 🔁 6 💬 1 📌 0Just found a case where the compiler emits a symbol in .bss with a different name, depending on whether optimizations are turned on or off, which messes with Hot-Deoptimize.
There are so many strange things I learn about compilers.
www.tomshardware.com/tech-industr...
I would love to still be alive in 100-200 years, only to hear historians talk about the current era.
I honestly thought this was satire when I first read it yesterday. How can someone be so completely tone deaf and oblivious? My condolences to anyone still in a job together with people who think like this..
04.07.2025 08:32 — 👍 15 🔁 2 💬 1 📌 0Reading this has me going through a few Debra Dexter expletives.
04.07.2025 21:46 — 👍 1 🔁 0 💬 1 📌 0Q: How far removed from the real world can a person possibly be?
A: Yes.
It's a good workaround, but I really wonder what's going on underneath in addition to the bazillion thrown exceptions and loading symbols from a thousand PDBs.
I exaggerate, but only slightly. I'm on a 64-core machine, it should blaze right through.
Trying to debug a VSIX extension by launching with F5 in VS, which opens a debuggable, experimental VS instance must be the ultimate "Why is everything *sooo* slow?" experience.
Try it.
Definitely one of the hackiest pieces of code I've written in the last decade or so, it's nasty.
01.07.2025 10:50 — 👍 5 🔁 0 💬 1 📌 0Rip and tear, until it is done.
30.06.2025 15:10 — 👍 3 🔁 0 💬 0 📌 0New personal record: MSFT fixed a bug I reported more than 7 (!) years ago:
developercommunity.visualstudio.com/t/Dereferenc...
Though I hope it's been fixed already a long time ago and they just made a cleanup of the bug database...
After debugging for a week, I guess I'm a member of the "have to work around a platform SDK bug" now.
Do I get a medal or something?
Thanks Adrian!
liveplusplus.tech/testimonials...
Forgot one thing regarding server host: companies and servers in the EU preferred.
23.06.2025 13:34 — 👍 0 🔁 0 💬 1 📌 0Due to unforeseen circumstances and a major blunder on my current host's behalf: I'm looking for a new RELIABLE server host, managed/dedicated. Recommendations?
Contacted Hetzner already, but haven't heard back in 2.5 days, which does not instill confidence. How is their support?
Sounds like a plan!
Let me know about that company once it comes into existence...
I can see that vacation has its perks :)
22.06.2025 15:58 — 👍 0 🔁 0 💬 1 📌 0Thanks, I hope so too! I'm now in good hands at a therapist, but it will take weeeeks before I can go back to running, which sucks, because summer is the best time for it (for me).
The pain is negligible, need to put on muscle to reduce the strain on both my knees.