20 ::mbinary_search functions and no ::nonbinary_search. sad.
(hard mode: there's no templates here. they seriously wrote 20 variants on their binary-search algorithm)
okay yeah they DEFINITELY built this game on top of a cross-platform engine (their own, I believe).
I just found a function for getting the state of the mouse-wheel.
On a wii.
NOW LOOK, TECHNICALL YOU CAN PLUG A MOUSE INTO A WII, YES.
BUT WHY WOULD A GAME BOTHER TO SUPPORT IT?
Nope. It's unreal engine.
Also, I accidentally launched it, and it has a broken EULA. You can't decline it, it just tells you to accept before you can continue. I'm not trying to continue, I'm trying to QUIT
grabbed another 2009 game for the wii: "Pipeworks bundle v1.03 (big endian)".
JUST HOW DEEP DOES THIS RABBITHOLE GO? AM I GOING TO HAVE TO BECOME THE OFFICIAL EXPERT ON THE PIPEWORKS ENGINE?
Another 2008 game: Pipeworks bundle v1.03 (big endian).
let's see. They released a gamecube game back in 2002. is that Pipeworks v0.01?
"Pipeworks Bundle File version 1.18"
WHAT?
Why is the 2002 GameCube game showing versions that are newer than the 2009 games?
Monopoly (2010) for the PSP:
"Pipeworks bundle v1.13 (little endian)"
Yep.
they made a free-to-play match-three game with a Godzilla license in 2014. Let's check...
Nope, unity.
Night at the Museum: Battle of the Smithsonian, 2009, Wii:
"Pipeworks bundle v1.03 (big endian)"
Godzilla: Unleashed, 2007, wii:
"Pipeworks Bundle File version 1.4"
I suspect this game doesn't use the whole engine, and may just use the bundle files. It has a non-standard layout.
One similar to Destroy All Monsters Melee, in fact, which makes me think they reused some code.
Godzilla: Save the Earth (2004), for PS2, uses "Pipeworks Bundle File version 1.3".
1.3! This is the earliest game I've seen using Pipeworks, and it's got a surprisingly late version number. Weird!
interesting find: the "Colossal Kaiju Combat" games licensed the Spigot engine from Pipeworks. So if they are showing some of the same files, then it's gotta be Spigot.
Time to find out. 5$ to find out
"Pipeworks bundle v1.30 (little endian)"
It's got the .pvd/.pvm files and everything.
This is 100% the same engine.
Started building a wiki page listing all the versions and such.
here's the really fun part:
they clearly were fine with licensing out their spigot engine, given that they licensed it to that kaiju game.
How many other games did they license it to, and it just never was mentioned anywhere?
So they made a few demos (for the xbox) with Microsoft prior to announcing their "first" Spigot game. I don't think those demos were ever released, they were just shown as promos for the Xbox.
It's possible that's where Spigot came from. Maybe they built the engine for that, then reused it for their Godzilla game.
if I see one more place where this code is like "(if x!=0 && x!=0xFFFFFFFF)"...
LEARN TO USE ONE SENTINEL AND STOP PRETENDING -1 IS A POINTER
@foone: There are sometimes good reasons to use multiple sentinels, though.
One of my favourite pieces of Now Ancient Tech is the Pick database system. It popularised (well, for a while) the use of structured data by way of multi-level separators. But one effect of that is, as you're scanning along a data field, there's a bunch of different sentinels you may need to detect and recognise.
@foone Have you checked to see what the Nintendo Wii does if you *do* use -1 as a pointer?
Maybe there's some arcane use of it (My guess would be to indicate when the Wii switches to GameCube Compatibility?).
@foone how's Wikidata about those? I would love to see that be the source of truth for connections like these as it's easier to deal in facts that narrative… in theory.
(How to handle merged/split/renamed/absorbed companies makes things complicated.)