|
Hugo_Peters Level: 26 ![]() Posts: 1/147 EXP: 99347 For next: 2928 Since: 10-29-13 From: The Netherlands Since last post: 2.0 years Last activity: 1.1 years |
|
| For the past few days I have been going through the files and making notes at the same time. I think I did some fairly interesting finds, take a look.
There are 2 different versions of the voice clip of Princess Kyte, in the first scene with Scales and Krystal. "You coward Scales, my mother will send an army against you". Version one can be heard at 43:41 in the MPEG.bin file that leaked from the SFA E3 demo, and at 06:24 on the 1 hour Dinosaur Planet video. The second one sounds calm, while at the first one Kyte (which sounds more like Krystal) is shouting. INTERESTING STUFF: We know that certain files from the E3 disk are definitely from Dinosaur Planet, like MPEG.bin, MODELS.bin, MUSIC.bin, etc. In the "out" file, a list of files is displayed, with a date to them. These dates vary in the 1999 - 2000 area, 2 years before SFA was released. This could very well be the date that the DP -> SFA transition began. All of the files that we DO know are from DP are mentioned in this file list. These could very well be the whole DP game. They include everything. Textures, models, audio, game text, and there's a high chance the scripts are in there as well (NOTE: It's DLLS.bin, more info below). All of the files mentioned in the file list are available in the root directory of the E3 disk. default.dol dumped to binary, contains interesting strings. 0x00312255 "Hello My Friend" 0x00311bed "Cryaction" (suggesting Krystal may have been spelled with a "C"?) 0x0030fe05 "Hit Krystal", "The Player Guesses that a Seed goes here!" 0x0030f4f0 "fish has reached the end of it life" (note the typo) TAKE A LOOK BELOW! THIS COULD BE A CLUE TO A HUGE FIND!! 0x0030de00 "Trying to strike baddie, but it doesn't work! Would someone please fix this" (LMAO) 0x0030c584 "tricky error 2!!!!!" (lots of interesting stuff around this offset!) 0x0030b136 "Windows Protection Fault" (and a lot of other debug ?dev unit? strings) 0x0030a7d4 "Distance = %d...Polygons = %3d Textures = %3d.....Size = %6d bytes Model %3d/%3d....Time: SP %.2f%% DP %.2f%%.Animations = %d...csize %i cend %i ambient %i intensity %i....Standard Lighting...starting weapon data....Generating weapon data..ex=%f ey=%f ez=%f hx=%f hy=%f hz=%f dx=%f dy=%f dz=%f...dx underflow....dx overflow.....dy underflow....dy overflow.....dz underflow....dz overflow.....animpos=%f max=%f...POST: animpos=%f max=%f.....modv:trans.. PACKET SIZE %i .... Data %i ... Packed It in %i ...Illegal material number.........Memory Allocation......h.... Àÿÿ€0Úð....€.äp................................Used = %d+%d.Slots = %d+%d.. %08x:%s %d/%d+%d... %s %d+%d...TextStart.= %x.Size = %x....DataStart.= %x.Size = %x....BssStart..= %x.Size = %x....RomTableStart.= %x..Size = %x...RomDataStart.= %x..Size = %x........MainCharacter :....Landscape :....Models :....Sprites :....AntiAliasing :....Transparencies :....Audio :....Clouds :....Shadows+Foots :....Shadow Render :....Lighting : 0x0030A477 "Ping pong" 0x0030928C Seems to be either script names, folder names and / or level names. Also includes Swapstone Circle, AS WELL as Swapstone-Hollow 0x00307BD0 Start of a lot of debug expressions, including "Too suspicious", "Init in attack", "Cant see enemy", "Incoming fire" and "Aggression" 0x00304974 A lot of more debug stuff, don't know if this is normal or a joke, but there's an expression called "DinoVista:", after "WideScreen:". There we go! 0x003043E8 "Dino Planet.Development.System" 0x00303D70 "SERIOUS ERRROR in meter.c, and I mean SERIOUS" 0x00303B10 Seems to be some initalization stuff, I think from the N64 DP era. There's some version info of some sort which states "Version 2.8 14/12/98 15.30 L Schuneman" 0x0031A928 Sequence text with mentioning of Sabre (only game text in the file, rest is in GAMETEXT.bin (the DP stuff), so THERE IS N64 DP code hidden in here. "starting seq %d.......What is it ? .......I Can Feel Something Strange !......Randorn... Are You There ??....Be Careful..Skeetas Everywhere !....Stay Close to a Torch!......Light Kills Them....Krystal! How Is My Son?.....Sabre Is Just Glad Your Alive.......When His Brother Died I blamed Myself.......I Couldn't Face Being A Father......Until I Found You My Dear Girl......He Understands Why You Left Him.....He Is A Good Son....I've Yet To See Him To Apologise....He Has Already Forgiven You.....When This Is Over You Shall Be Reunited!....What's happening to you Randorn?....There's not much energy left in this Mountain.......I'm dying..I need food......Do You Remember How We Got Here?....Of Course I Remember........Back On Our Own Planet We Found A.......Strange Room In The Lost City.......There We Uncovered A Message From The.......King EarthWalker, Begging Us To Help Him........And Then I Entered A Wormhole.......And Arrived On Dinosaur Planet......You Followed Later With Sabre.......Yes, We Ended Up In A Chamber Beneath.......One Of The Earthwalker Temples......Unless You Can Find A Cure For Me.......I'm Not Going To Last Much Longer.......But What Can We Do......There Must Be A Similiar Room Here......That Will Allow Us To Return....Either You Or Sabre Must Find It.." Then there follow some object names. wmsun:alist.wmcrystal.c VFlevcontrol.c minifire.c statueball.c ladders.c fireblock.c platform1.c doorswitch.c draghead.c lavaflow.c spellplace.c DBrockfall.c [offtopic]I WOULD DO SO MUCH FOR THOSE .c FILES [/offtopic]
Some task / action names, I *think* they're from DP (NOTE: ALSO A CLUE!): popOutOfGround burstIntoGroun biteAttack standStill standAndSpit hitFightMain fight_die runt bject
runto_ThrowObj pickup_Object throw_AtObject wait_forObject Wait_for_throw try_to_catch catch_Object Kill_Object LOL 0x0031F4F5 "HIT BY SHIT" *cough* Rare, behave yourselves. LOL2 0x00320ED1 "DOING WARP YEAH HAA" 0x00321CB4 Some other actions... Laser: Recharging...Laser: Fire->Power..Laser: Fire->Twin...Laser: Fire->Single->Right..Laser: Fire->Single->Left...Laser: Idle.....Bomb: Recharging....Bomb: Fire->Twin....Bomb: Fire->Single->Right...Bomb: Fire->Single->Left....Double Click Right..Click Timers: left=%f right=%f..Mode: VELOCITY LIMIT X..Vel Limit: x=%f y=%f....Mode: VELOCITY LIMIT Y..Mode: VELOCITY SCALE X..Vel Scale: x=%f y=%f....Mode: VELOCITY SCALE Y..Mode: ANGLE LIMIT YAW...Ang Limit: yaw=%f pitch=%f roll=%f..Mode: ANGLE LIMIT PITCH.....Mode: ANGLE LIMIT ROLL..Mode: ANGLE LIMIT ROLLBANK..Ang Limit: %f...Mode: ANGLE SCALE YAW...Ang Scale: yaw=%f pitch=%f roll=%f..Mode: ANGLE SCALE PITCH.....Mode: ANGLE SCALE ROLL..Mode: ANGLE SCALE ROLLBANK..Ang Scale: %f...Mode: LASER TYPE....Mode: LASER RECHARGE....Time(frames): %d....Mode: LASER LIFE....Mode: LASER SPEED...Speed: %f...Mode: BOMB TYPE.....Mode: BOMB RECHARGE.....Mode: BOMB LIFE.....Mode: BOMB SPEED....Mode: BOMB MAX..Max: %d.....Mode: BOMB CURRENT..Current: %d.....Mode: FLAP SCALE....Scale: %f...Mode: BOOSTER ANIM SPEED....Anim Speed %d...Mode: IDLE SPEED ROLL...Mode: IDLE AMPLITUDE ROLL...Amplitude: %f...Mode: IDLE SPEED X..Mode: IDLE AMPLITUDE X..Mode: IDLE SPEED Y..Mode: IDLE AMPLITUDE Y..Mode: IDLE MAX VELOCITY.....Vel: %f.....Mode: IDLE RAMPUP SPEED.....Mode: BANK RAMPUP LIMIT.....Angle: %f...Mode: BANK RAMPUP SPEED.....Mode: BARREL ROLL SPEED.....Mode: BARREL ROLL SLOW ANGLE....Mode: DOUBLE CLICK TIME.....Mode: POSITION LIMIT X..Limit: %f...Mode: POSITION LIMIT Y..Mode: FORWARD VEL...Mode: INFO..JoyStick: x=%2f y=%2f l=%2f r=%2f...Vel: x=%f y=%f..Vel Want: x=%f y=%f.....Ang: yaw=%d pitch=%d roll=%d....Ang: bank=%d barrel=%d..Ang Want: yaw=%d pitch=%d roll=%d bank=%d...Idle: roll=%d x=%d y=%d.....Barrel roll: Scale=%f...Mode: INVALID THE ZLB FILES ARE PROBABLY COMPRESSED USING "RZIP" There are a few references to RZIP in default.dol:
--FISH HAS REACHED THE END OF IT LIFE-- So what's this about? Well, this string is probably something from a debug menu of Dinosaur Planet. And also, we're talking game code. All code gets compiled, so it's unreadable for a human, but strings stay (obviously) in tact. So when you have a document like default.dol, which contains code, and you see strings in there, especially debug strings while the game strings are located in a serperate file, you know you have code. Now, why am I telling this... I mentioned before that the "out" file seems to specify all Dinosaur Planet source files. Now, the interesting bit, is the file "DLLS.bin". I've been looking through it, and I ran across this one line. "fish has reached the end of it life". It's the SAME line as in the default.dol file! This makes me believe that the DLLS.bin file --IS-- the Dinosaur Planet (compiled) code. In the DLLS.bin are a few other strings, but not NEARLY as much as in default.dol. The DLLS.bin file also has the same sequence as the one mentioned before between Randorn, Sabre and Krystal. So it really is about default.dol and DLLS.bin now. You might say: "No, that's a DEBUG file". Wrong, lemme explain again. It makes sense that the main code only has debug strings in it, as all of the other strings are in GAMETEXT.bin. Every line of code gets compiled, the strings stay intact in the actual file. And those strings are, you guessed it, mostly debug strings. So I'm pretty certain that, also judging from the file size of the DLLS.bin, it's the whole DP code. The DLLS.bin and default.dol file look totally different as well, which is a VERY good sign, as they should be different if one is an N64 main program, and the other a GameCube main program. Also, in the DLLS.bin file is NO mention whatsoever to the words "fox" and "DVD" (which is used a lot in default.dol). I did find code that was similar to default.dol's code but not entirely. Remember the list with popOutOfGround , burstIntoGroun, biteAttack, etc? It looks like this in DLLS.bin. New State [%s] popOutOfGround New State [%s] burstIntoGround New State [%s] biteAttack New State [%s] standStill New State [%s] standAndSpit New State [%s] hitFightMain New State [%s] fight_die New State [%s] run to object New State [%s] run to object WARNING : Has No LOCK New State [%s] pick up object New State [%s] throw egg object New State [%s] wait to catch egg object WARNING : Current Type Not Found Sending Off to pick up EGG %x GOING TO CATCH IT .New State [%s going to catch ball. HAS BALL : %x= %x I don't have he ball THROW CHANCE %i -> Going TO Throw New State [%s] try to catch New State [%s] catching egg New State [%s] going to kill New AI State [%s] aiTop New AI State [%s] aiIveBeenHit New AI State [%s] aiIamDying New AI State [%s] aiIamDead New AI State [%s] aiDormant New AI State [%s] aiL2_MainEngageControl New AI State [%s] aiL2_MainEngageStackControl STACK EMPTY SO RESETING None Of the Object Exists Any More LOCK is Not of Given Type None Of the Object Exists Any More Egg Has Been Picked Up By Someone Else DBSTEALERWORM: state stack overflow Stack ------------------- This different layout DOES exist in default.dol, though, only parts of it, it was probably used in SFA as reference for the new code, and thus was modified accordingly, and parts were copied and pasted and so on. Here's a comparison between default.dol and DLLS.bin. Left = DLLS.bin. Right = default.dol. ![]()
All of the other GameCube-related strings like Dolphin OS $Revision: 36 $ Kernel built : %s %s May 22 2001.01:47:06 Console Type : Retail %d Mac Emulator PC Emulator EPPC Arthur EPPC Minnow Development HW%d Memory %d MB Arena : 0x%x - 0x%x NOTE: This part ALSO exists on the GameCube service disc! See http://www.electricpickleonline.com/?p=38&page=3 (note the texture that has been found, on the top of the page!) It all does NOT exist in DLLS.bin. My guess is that the N64 didn't have such a lot of debug-related stuff that had to come from the game itself, like the DVD actions and so on, because of the space it would all take. That would also explain why the DLLS.bin file has less strings in comparison to the default.dol file, and would be another reason to believe that the DLLS.bin file is infact Dinosaur Planet's main program / compiled code. Another find (just for the sake of comparing ).
Here are the credits found in the GAMETEXT.bin file (which only seems to have Dinosaur Planet strings, which also confirms my theory on the accuracy of the "out" file): SOFTWARE DIRECTOR.PHIL TOSSELL.SOFTWARE ENGINEERS.NIK PALMER.NICK BURTON.PHIL WOODS.RAYMOND KERR.BRENDAN GUNN.ANDREW INNES.RICHARD GALE.ROB HARRISON.ART DIRECTORS.JOHNNI CHRISTENSEN.KEITH RABBETTE.KEVIN BAYLISS.3D ARTISTS.DEAN SMITH.FEARGAL PLANT.GAVIN FLINT.STUART HOGTON.MATTHEW GROVER.ANIMATION.NICK SOUTHAM.MICHAEL CAWOOD.DAVID McDERMOTT.AISLING DUDDY.GAME DESIGN.STEVE BRAND.SHAUN READ.MUSIC.DAVID WISE.SOUND FX.MARTIN PENNY.SPEECH ENGINEER.BEN CULLUM.EXECUTIVE PRODUCERS.JOEL HOCHBERG.CHRIS STAMPER.TIM STAMPER.GAME DIRECTOR.LEE SCHUNEMAN And what did we find at 0x00303B10 of default.dol? A string referencing to a version from 1998 with the name L. Schuneman on it. Some more interesting DLLS.bin stuff: 0x002B9391 "Chim Freed" is either a character, or a debug string for freeing Chim (not heard of that character before) 0x002B4001 "HELLO I AM THE PUSHCART" (WTF XD) 0x002B0405 "FInished Is SEt for Some Reason" (they had A LOT of pretty useless debug stuff... geez.) In fact. After having a look at all the files that are available from the E3 demo and that match up with the "out" file, it seems to me... that it's all... pretty, complete. I mean, everything's there! Models, textures, voice clips, sound FX, instruments, midi data, CODE, levels, animations, fonts, game strings, EVERYTHING! This may sound ridiculous, but we might be able to compile Dinosaur Planet. I have a few concerns though. I heard in a (few) Dinosaur Planet "tribute" videos that the game would have been shipped on a 512 MB cartridge (other sources say 128 MB so it might make more sense). But... all of the files that are located here come to a total of 52 MB. So... yeah. It could be because everything is in a BIN format(!?) and seems to be compressed using LZIP and/or RZIP, however, I can not get them decompressed. Someone needs to hit up Phil Tossell and ask him nicely if he would please tell us how to decompress them (or maybe I will). But maybe, that's not even necessary. Remember how this development team also worked on Diddy Kong Racing? And remember there were files found FROM Diddy Kong Racing, even on the SFA RETAIL disc? What if... Diddy Kong Racing uses the same file formats as Dinosaur Planet? We could then either get some references from it, [stupid idea]or swap out the files with Dinosaur Planet's ones[/stupid idea]. It might all be impossible what I'm saying here, but there's definitely some potential here. And I just. want. to. PLAY. IT.
MAGIC NUMBER FOR ?COMPRESSION? So, I am currently trying to get some usable data out of some of the bin files that are compressed, probably using ZLIB or, judging from default.dol, RZIP. I accidentally opened the MODELS.bin file in Sublime Text, and the first 2 words read "face feed". I googled it, and it turned out to be a magic number for Mach-O, and it seems to match with what I read on Wikipedia, as after the words face feed there seems to be header data. When you open the MAPS.bin file, it seems to be either compressed and encrypted, or just compressed. But you can definetely see a pattern in the file's encrypted data. But, going back to the "face feed" thingy, on Wikipedia it says: 0xCEFAEDFE ("face feed") is used by Mach-O to identify flat (single architecture) object files. In little endian this reads FEEDFACE, "Feed Face". On another page: "Feed face", Seen in PowerPC Mach-O binaries on Apple Inc.'s Mac OS X platform. Would make sense, as the GameCube runs on a PowerPC, so developing a game for it on a PowerPC Mac would make sense (though there are references to Windows in default.dol !!), especially debugging / emulating the game (note that Mac Emulator string from the default.dol file). Binaries match as well, they're bin files with what seems to be a correct header, juding from other Mach-O files. But... I don't think they're supposed to be executable. There's a possibility though that the devs used this file format but not for what it's supposed to be used for? Instead of using it for execution they used it for archiving... The BLOCKS.bin does not have "face feed" in its header. That's all for now! I will post more if I find more. EDIT: The "fish has reached the end of it life" string does NOT exist in the retail default.dol!! So only in the E3 default.dol, and in the DLLS.bin file, just like the sequence between Krystal, Randorn and Sabre, exists in both DLLS.bin and E3 default.dol, but not in the retail default.dol. Seems to even more confirm my theory. |


bject




).



I know nothing of SFA since I never played it, so don't know the differences between it and DP, but is this tune not in SFA? How much music that was found was DP exclusive?
It's also on YT too.
