Sonic and Sega Retro Message Board: Sonic Jam unused objects - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
Page 1 of 1
    Locked Forum

Sonic Jam unused objects just a few things

#1 User is offline evilhamwizard 

Posted 16 August 2016 - 05:17 PM

  • Posts: 1272
  • Joined: 16-June 04
  • Gender:Male
  • Wiki edits:109
Wasn't sure either to post this in some other thread as it's quite small.

I figured out some things about objects in Sonic Jam. The game uses a set file for the stage layout just like Sonic Adventure that's fixed at 0x8000 bytes. Each object in the set file is 0xF bytes long. I don't know much about the other values, but I do know that the second byte in each entry is the object ID. The other bytes are more than likely X/Y/Z coordinates and rotation data, probably not single precision floating point (as far as I know).

Like Sonic Adventure, there is a resemblance to the object table used in stages that's stored in the Sonic World binary (MUSEUM.MUS, anything with a .MUS extension is for Sonic World/Museum). The binary file contains the code and some other data for the Sonic World, the menus, challenges, etc. This file has a base address of 06040000.

In the US version, there is a table that exists at 0605EF34 in MUSEUM.MUS that contains a series of data related to objects as part of this structure:

00000000 ObjListEntry struc ; (sizeof=0x20)
00000000 LoadingSub: .data.l ? ; offset
00000004 Unk_A: .data.b ?
00000005 Unk_B: .data.b ?
00000006 Unk_C: .data.b ?
00000007 Unk_D: .data.b ?
00000008 Obj_Name: .data.b 8 dup(?) ; string©
00000010 PtrTable: .data.l ? ; offset
00000014 DataPtr1: .data.l ? ; offset
00000018 DataPtr2: .data.l ? ; offset
0000001C DataPtr3: .data.l ? ; offset
00000020 ObjListEntry ends

"LoadingSub", is the main subroutine for the object. Each entry in the table only makes reference to one location for code. The four Unk byte entries I have no idea. Possibly parameters of some kind? "Obj_Name" is a hardcoded string containing the name of the object (fixed to 8 bytes long, with the 8th byte being a terminator). This is unlike Sonic Adventure, which references the name of an object by pointer, rather than listing it directly as part of the struct. "TblPtr" always points to a small list of pointers that point to other subsets of pointers, maybe this is referencing some kind of model data? The three DataPtrs contain some misc data which can be sometimes null'd out depending on the object, so what they point to I have no idea either.

The most interesting thing are the objects that are available in the game. Here's a list:
00 - RING
01 - CARD
02 - DOOR
05 - SOUND
07 - MOVIE
08 - CHARA
0a - EXIT
0b - YASHI
0c - KI01
0d - TOTEM
0e - TOTEM2
10 - BARU
11 - -------
12 - F_IWA
13 - CHECK
14 - CHECK2
15 - BANE
16 - H_SONIC
17 - H_EGG
18 - H_DAIZA
19 - -------
1b - POL1
1c - POL2
1d - ARCH
1e - -------
1f - -------
20 - SIBU
21 - SOUN_IN
22 - GALL_IN
23 - HIST_IN
24 - CHAR_IN
25 - MOVE_IN
2d - SIBU2
2e - HAPPA

Some of these are self-explanatory. There are three unused objects that aren't completely null, and they are:

2b - MONKEY:
Posted Image
A monkey that walks in place. You can walk through it and he does nothing else. Probably meant to be in a tree.

2c - KAMOME:
Posted Image
A seagull that just sits in place. Probably meant to be in the sky. You can walk through it too.

2e - HAPPA:
*no image*
This object is strange as the pointers for the data are null'd out but the loading subroutine is still referenced. No idea what it's meant to do.

The impression I get is that most of the unused objects here were probably going to be added to Sonic World but they ran out of time to implement them. In the early demo build featured in some Saturn demo discs, there are still a ton of objects that aren't referenced at all that would be eventually added into the game (such as the Flickies, etc).

That's all I have for now, but I'll keep poking around to see if there's more.

PS: Coincidentally, every version of Sonic Jam has symbol/assembly trash compiled into some random parts of SPRDATA.MUS, _DAT0999.bin, and _DAT1499.bin. They all seem to be a mix of raw art asm output and symbols for Sonic 3/K.

#2 User is offline BlazeHedgehog 

Posted 16 August 2016 - 06:35 PM

  • A "Community Enigma"?
  • Posts: 1431
  • Joined: 23-January 05
  • Gender:Male
  • Wiki edits:51
In Japanese, HAPPA means "leaf" so it could be that when you'd stand on top of a palm tree (which I think you can do), leaves or something might rain down?

Could also be related to the monkey, maybe

#3 User is offline Shoemanbundy 

Posted 17 August 2016 - 01:23 AM

  • Posts: 1010
  • Joined: 01-April 07
  • Gender:Male
  • Location:Chicago, Illinois
  • Project:selling shoes
  • Wiki edits:1
Just when you think you've seen it all. Good detective work!

#4 User is offline Ritz 

Posted 17 August 2016 - 08:07 PM

  • Subhedgehog
  • Posts: 3959
  • Joined: 01-January 06
  • Gender:Not Telling
  • Location:Glimmering Cornhole Zone
  • Wiki edits:2
That monkey brings me joy. Can we get a video showing it from all angles?

Page 1 of 1
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users