C++ needs an inheritance tax
17 comments
ahh, GraphicsDevice extends _GraphicsDevice also this compiler (Metroworks CodeWarrior for PowerPC) loves generating global floating point literals in the binary and then NEVER MERGING THEM do you know how many copies of float 0.0 and 1.0 there are? I DON'T BUT IT'S AT LEAST FIVE it's especially weird for floating point zero. I don't know if you know this, but the IEEE-754 encoding of floating point zero is just that: zeroes. I don't know why I'm saying the compiler should be more optimized. That'd make my job harder. oh hello (floating point 0.0 and 1.0) hey I found a list of supported platforms in the binary! it includes: Wii, PS2, DX9, PSP, X360, and PS3. if ((((bVar1) && (bVar1)) && (bVar1)) && (bVar1)) { I was gonna ask "are you okay, Ghidra?" but nope, the disassembly matches. the fuck happened here, optimizer? if (filename == (String *)0x3) { NOPE NOPE NOPE NOPE NOPE NOPE "3" IS NOT A VALID POINTER TO A STRING. EVER they do a weird thing with picking puzzles: they seem to pick like 13 of them, but the game only uses 4-6. they also do some very weird shit with copying them around in RAM. like, I can see them overwriting my changes. I think I've figured out how codewarrior works: oh god I think this game's Quad class initializes some of the points to negative NaN amazing moments in compiler optimization: if (param_1 != (GrQuad *)0x0) { |
who could have ever predicted that a class named "Matrix4" would be 64 bytes?
(It was either that or 128 bytes)