Guild icon
X-Hax
Modding / sa1-modding / Autodemo research
Avatar
This is a private version of the autodemo research thread to reduce noob pressure.
18:43
@Speeps @woof @Claire the Rabbit @MainJP @supercoolsonic @ItsEasyActually @PkR (mobile) @Sora @Kell @Exant (edited)
Avatar
ItsEasyActually 10.05.2024 18:44
works for me
Avatar
nearly got this guy working
👍 4
Avatar
do we have any info on ehw's patches to get Windy Valley to boot?
Avatar
he said this the other day in the hp server
19:00
sounds like he got RegisterCollisionEntry wrong lol
Avatar
ItsEasyActually 10.05.2024 19:02
i have his old idb with the patches
19:03
not sure if he still has it on hand, but if he doesn't, i can get that one packed up if he's cool with that
Avatar
oh fuck ObjectRuinSnakeEv is used
Avatar
it runs when you first approach the room
👀 1
Avatar
I'm going to bed because it's already bright outside, I fully expect Iizuka being summoned when I wake up
Avatar
Avatar
PkR
I'm going to bed because it's already bright outside, I fully expect Iizuka being summoned when I wake up
i'll patch him out, do not worry ..
Avatar
thanks for this btw @Speeps, i didn't want to commit to a method before you posted it but i ended up coming across that area of memory and ending up seeing those bytes doing something camera related. i'll get it sorted to set 02 on exit. https://discord.com/channels/446023672147345418/1238478372955492384/1238518972660449351
Avatar
snake gets glitchy polygons in demul for some reason, also part of its tail doesn't seem to have collision
Avatar
supercoolsonic 10.05.2024 21:00
👀
Avatar
it's fine on flycast though
21:05
this stage has had a bunch of weird stuff on demul lol
Avatar
this version of the patch sets the camera value to 02 on exit. this works mostly, but there's some stages that want the value to be 01, like cart.
Avatar
cart starts with control disabled but you can set the byte @ 0x8C170098 to 01 to run around, or you can activate and then exit setedit instead. you just then also need to set 0x8C6A5563 to 01 once you've exited setedit.
21:47
scale X is cart colour and scale Y is if it has an enemy in it or not. none of these seem rideable by the player
22:14
so sonic becomes a plant when he goes down the water slide in this version
sonicwhoa 1
Avatar
supercoolsonic 10.05.2024 22:15
wat
22:16
leave it in
Avatar
the water slide has a disp that it doesn't in final and it draws a plant in Sonic's place
Avatar
supercoolsonic 10.05.2024 22:19
lol
Avatar
Sonic takes a weird position and idk if that's me or just this object being weird
Avatar
once I fix this boulder crashing I'll send the files over
Avatar
Avatar
Speeps
Sonic takes a weird position and idk if that's me or just this object being weird
ItsEasyActually 10.05.2024 22:59
i think this might be a splash effect
Avatar
Avatar
ItsEasyActually
i think this might be a splash effect
nah that's the plant being drawn without textures loaded
23:02
the call to CreateWater got replaced with a blank function for whatever reason, though the real one does exist
Avatar
ItsEasyActually 10.05.2024 23:06
fascinating
23:06
the angle of it would work fine for a splash effect if the textures were animated tbh
23:48
@PkR think you can touch up the textures in this? Would be nice to get the objects textured
Avatar
hubs want a pointer in 0x8c751300 (PTR is 0x8c751200, which then points to cutscene data?) if no pointer there a check at 0x8c043d40 passes and stage exit is set to 05. test1: set 0x8c043d45 to 00 = stage doesn't force exit, but it breaks actual cutscenes exiting properly. test2: so long as there is a pointer in that location, it won't kick you. 8c751200 is fine, despite it pointing at nothing without a cutscene. for now these both produce similar results but i have gone with test2 as the current quick method. control is disabled by default, either set 8C170098 to 01 or enter and exit SetEdit. manually setting that byte doesn't mess the camera up though.
👀 3
0:54
for now i need to go to bed, there's a few things that benefit from manually setting ram addresses so i should probably make a cheats file sometime.
Avatar
Avatar
Speeps
@PkR think you can touch up the textures in this? Would be nice to get the objects textured
I see you added a PVM entry to make it load a PVM instead of assorted PVRs, that's pretty nice (edited)
Avatar
it's kinda broken but it works. I need to figure out how to make it use a separate PVM for objects
4:11
skybox also works with pvrs
4:12
yeah....
🌱 1
Avatar
supercoolsonic 11.05.2024 4:23
plant
Avatar
I'm going to remake the patcher as a command line tool that will build a CDI from a folder. This will make patching much faster
Avatar
actually I have a better idea, it will be still GUI but it will also let you pick between GDI and CDI to build
👍 1
Avatar
I'll try adding object texture PVMs
🤔 1
Avatar
i'm thinking i'll patch for button combos that force free movement on/off and that camera value to 01/02, probably all L+R+Dpad directions, because i don't know if i can come up with a reliable check for it on exiting SetEdit
9:44
wanting to do as a patch rather than a cheat file because i want to use it on hardware eventually
Avatar
here's a ghidra script made by @RocketHorse, it was made with rez in mind but it should automate marking a lot of 8c01+ range pointers as pointers in ghidra for dreamcast projects. only works on 8c ones and not any 0c range ones. extract it to a good location and then add it through the script manager in ghidra, set a keybind if needed or run it through the script manager. it does have checks to ensure the pointers should be valid.
10:44
windows and linux compiled versions of their flycast debugger mod too for anyone needing the capability
Avatar
Updated the patcher:
  • When you unpack the GDI for the first time, it will create a data_orig folder with untouched game files and use it to speed up build process.
  • Option to build GDI or CDI
  • Support for patches that add bytes to the end of the file
  • If you edit an active mod and want to rebuild the image with new changes, you can do so without restarting the patcher
imaUwu 1
Avatar
lmao so the set editor wakes up chaos 2
Avatar
@Speeps Haven't got it to load object textures from a PVM yet, but as I was doing that I dumped Lost World landtable texlists and rebuilt the PVMs with RecreatePVM. These are more complete than those in your archive, texlists are fully covered without missing textures.
994.32 KB
751.74 KB
11:55
if you know where the object texlist is let me know lol
Avatar
0xCA0A82C
Avatar
Avatar
Speeps
lmao so the set editor wakes up chaos 2
the current setedit button combo is the actual one the devs specified so.. i guess its accurate? lol
Avatar
Avatar
woof
the current setedit button combo is the actual one the devs specified so.. i guess its accurate? lol
Yeah it's just because the boss sleeping is camera based, I encountered with Chaos 0's event a bunch of times in later versions
12:04
OBJ_RUIN2 looks like 0xCA253FC
Avatar
Avatar
Speeps
0xCA0A82C
Thanks! And I found the skybox texlist at 14E6E0
👍🏻 1
Avatar
I looked up the name of a random pvr in a hex editor and looked for the pointer to the address of the first one in the list
Avatar
0 textures missed lol
107.03 KB
Avatar
nice
12:08
i'll go load all these up and record the stage
Avatar
do you have a fast way to get them to load? Cause these aren't set up as PVMs in the binary and the game will only look for single PVRs
12:12
they do load fine as PVRs though, maybe we don't need to bother
Avatar
well, here's ListofPvmList (highlighted is PvmListMountain)
12:14
Lol they just blanked the string OBJ_RUIN
12:15
you can see the pointer to the texlist 0xCA0A82C is still there
12:16
and two lines below it you can see they blanked OBJ_RUIN2 as well
12:16
it should work if you just fix that
Avatar
oh, nice
12:17
the water texture is glitched out, maybe the function that animates it needs to be patched or something. Doesn't look like it has any animation
Avatar
I think Rd_Ruin handles that
12:18
it creates two texanim objects
Avatar
Avatar
Speeps
Yeah it's just because the boss sleeping is camera based, I encountered with Chaos 0's event a bunch of times in later versions
nice of the devs to let u take chaos to dinner
Avatar
don't let setedit stay active when a stage exits or it will remain active on the next stage loaded and reset to bios, btw
Avatar
RUIN03 starts up but is like 1fps. Almost makes me hope for leftover Ninja lights
Avatar
Avatar
PkR
RUIN03 starts up but is like 1fps. Almost makes me hope for leftover Ninja lights
Yeah I have to open it in flycast lol
Avatar
the function at 8c0475c0 is asSetLight, the one that sets up Ninja lights using the LightInfo struct. I found pointers to it in Emerald Coast, Windy Valley, Speed Highway, Ice Cap (that one survived all versions) and Sky Chase binaries. Sadly not in Lost World or Red Mountain, but that's not the only way to set up Ninja lights
12:44
8c5baa04 (njCreateLight in IEA's disasm) is called in Speed Highway, Lost World and Final Egg
Avatar
ItsEasyActually 11.05.2024 13:32
i come bearing some more stuff i forgot i had on hand. i have a bunch of idbs, most of them are "completely mapped." by that i mean that most all data has been typed/defined, not always named, and functions at least set as functions. these should be easy to bring over to Ghidra using the xml export plugin for IDA. 1st_read, stg02, stg04, stg10, and shooting are not in here as they were in my Ghidra stuff from yesterday and those are the most complete versions. Here's the list of other stuff i have, if there's interest, i'll get them packed and posted: - STG00: Complete - STG01: Mostly complete, some data is not marked - STG05: Mostly complete, end of the file has a lot of undefined data - STG07: Mostly complete, one block at the end is still mostly undefined - STG08: Mostly complete, also has a lot of undefined data at the end still. - STG09: Complete - ADV00OBJ: Complete - ADV01OBJ: Complete - ADV02: Complete - ADV02OBJ: Maybe half complete, most functions have been marked (not named) and some data has been defined. - LAND1800: Complete - B_CHAOS0: Complete - B_CHAOS2: Complete - B_CHAOS4: Complete - B_CHAOS6: Complete - B_CHAOS7: Complete - B_E101_R: Complete - B_EGM1: Complete - B_EGM3: Complete (or at least nearly complete, may have a few bits of undefined data) - B_ROBO: Complete - AL_GARDEN00: Complete - AL_GARDEN01: Complete - AL_GARDEN02: Complete - AL_MAIN: Complete - AL_RACE: Complete - MINICART: Complete - SBOARD: Complete (edited)
Avatar
@Speeps do you know where landtable drawing stuff is?
Avatar
not really
Avatar
okay, gonna try to find it. Got models and actions working with non-palette lighting
Avatar
Avatar
PkR
the function at 8c0475c0 is asSetLight, the one that sets up Ninja lights using the LightInfo struct. I found pointers to it in Emerald Coast, Windy Valley, Speed Highway, Ice Cap (that one survived all versions) and Sky Chase binaries. Sadly not in Lost World or Red Mountain, but that's not the only way to set up Ninja lights
ItsEasyActually 11.05.2024 14:12
btw, where are the pointers in WV and Sky Chase? this has me quite curious
Avatar
Windy Valley: C90B3C0 Sky Chase: C902EC4 and C903DC8
15:01
could be false positives... I only searched with a hex editor (edited)
15:01
but the dev level select is looking for sel_s.pvr, sel_t.pvr and so on
Avatar
Replaced model draw functions with non-Lantern versions. I think it isn't working properly but you can see some of the old lighting in Ice Cap. It gets really slow in some stages, maybe because the palette lighting is still running, and it has the same bug when you go to the next act or restart the stage and everything gets brighter and slower.
🤔 1
15:24
odd that Chaos underlight isn't there, it should be
Avatar
Avatar
PkR
but the dev level select is looking for sel_s.pvr, sel_t.pvr and so on
15:35
little further down from that is where it handles the string for the character select there
Avatar
yeah that's where I saw it
Avatar
Avatar
PkR
Replaced model draw functions with non-Lantern versions. I think it isn't working properly but you can see some of the old lighting in Ice Cap. It gets really slow in some stages, maybe because the palette lighting is still running, and it has the same bug when you go to the next act or restart the stage and everything gets brighter and slower.
those chaos 2 arms lol
16:32
is there supposed to be some kind of background btw?
Avatar
i gotta patch my title input mod for it lol. also unsure, i just made it look like the life icons. i could do it alpha'd
16:33
need to set title menu id to 0d for it to load with the textures existing
Avatar
oh I mean a background texture for the whole level select screen
16:33
it glitches out sometimes when loading so I wondered
16:33
maybe it's because it frees textures too fast
Avatar
oh, no i don't think so. its blue in all versions we have, i think its just them making it look like in S2/3k.
16:34
the glitching might be because title input doesn't force you to wait before letting you do input
16:35
or for not setting mode properly.. i force it to id 00 atm. it wants id 0d.
Avatar
if y'all find any texlist addresses, throw them at me and I'll get you PVMs and update split to include them
16:41
except that blockbit bullshit where every PVR has its own texlist lol
Avatar
level select icons mod and update for title input for correct mode for level select init. will add to the gamebanana page in a sec
Avatar
My vid's uploading, I'll be at a concert when it finishes so I left Windii in charge of publishing it
Avatar
Fuck I forgot to make a thumbnail, can someone make a large screenshot of the stage for me (without the lighting, I removed it because TP didn't have it)
17:14
I'm already outside now so I can't do it
Avatar
Patcher update:
  • Pattern patches can be commented out by placing ; at the start of its line
  • Added support for running the emulator (demul, flycast, redream)
  • Added a "Build & Run" button
17:49
@Speeps not sure if this helps but I took these
Avatar
Avatar
PkR
@Speeps not sure if this helps but I took these
Awesome, thanks
Avatar
Avatar
PkR
Patcher update:
  • Pattern patches can be commented out by placing ; at the start of its line
  • Added support for running the emulator (demul, flycast, redream)
  • Added a "Build & Run" button
patcher doesn't account for when its built a gdi in the emulator run command
Avatar
PkR (mobile) 11.05.2024 18:00
Weird, i tested that… I’ll fix it tomorrow
Avatar
If you try building to the same folder as the base like an idiot (me the other day) it'll just delete the game, you should make it give an error lol
Avatar
SetEdit now stores the last player camera value to a hopefully fine ram address and will only restore it when SetEdit exits on mode 05. this should fix the camera in all levels.
Avatar
Nice
Avatar
i can watch now that i'm not debugging imaUwu
Avatar
Sky Deck is next because signs are pointing to it being before a big nerf final has (edited)
20:48
Like that act 1 cannon being able to destroy everything around it, not just a few platforms
👀 2
20:49
I know from ehw's old posts it has the original extended draw distance
Avatar
i will probably make pausing in stages part of the SetEdit mod, just to make use of the space clearing stage timeout gave me
Avatar
level select displaying textures during the fade in seems to be the loading screen being replaced by the dev character select graphics while it is still displayed. don't know if i can fix that. doesn't even always happen. i have at least made title input wait for the title fade in to finish before it allows input, which prevents a crash from giving input too early. (edited)
Avatar
this function checks stage ids for some hubs.. eventually sets r4 to either 0, 1 or 2, then references three locations within stage data alongside variable names for those hubs. i don't have the stages linked in on my ghidra so i can't go document that there, but even if i could... debugging it shows that when it jumps for stage 1A, you go to the rts nop pit (edited)
🤔 1
Avatar
Avatar
woof
this function checks stage ids for some hubs.. eventually sets r4 to either 0, 1 or 2, then references three locations within stage data alongside variable names for those hubs. i don't have the stages linked in on my ghidra so i can't go document that there, but even if i could... debugging it shows that when it jumps for stage 1A, you go to the rts nop pit (edited)
to get the game to run this code while in hubs, set 0x8C072B42 to 8b instead of 89. maybe there is still something more to it within the stage bins.
Avatar
Avatar
woof
level select displaying textures during the fade in seems to be the loading screen being replaced by the dev character select graphics while it is still displayed. don't know if i can fix that. doesn't even always happen. i have at least made title input wait for the title fade in to finish before it allows input, which prevents a crash from giving input too early. (edited)
PkR (mobile) 12.05.2024 3:30
This probably happens because njReleaseTexture is being called too soon. Might be difficult to fix depending on what it frees
Avatar
Avatar
Speeps
https://youtu.be/WkJGzuEFI8Q my vid is done too
PkR (mobile) 12.05.2024 3:55
Absolutely amazing
3:56
Even the water works, impressive
Avatar
@Speeps just cause i saw you mention it in another server, mystic ruins crashes loading object 07 and above currently
Avatar
Yeah
Avatar
is there a file missing for your lost world fix? lot of objects missing textures, i've tried using the patcher and i've tried gdibuilder on an otherwise unmodified gdi
Avatar
Ah fuck I forgot to mention restoring the object filename
9:35
It's what I was talking about further up in here
9:36
Need to write down OBJ_RUIN and OBJ_RUIN2 somewhere and point it to them over those null areas
9:36
That said a few things still didn't display right in the vid, but whatever
Avatar
PkR (mobile) 12.05.2024 9:41
I added support for that in the patcher btw, so you can convert it to a patch instead of replacing the whole file (edited)
9:42
Writing at the end too
Avatar
For some reason, Demul has several issues with this stage. The snake and boulder throw polygons everywhere and Act 3 runs at 1 FPS. None of these happen in Flycast though. The real question is does it happen on hardware? Wanna find out? lol
Avatar
i was wanting to test it there today
Avatar
I can pop it in my gdemu real quick
Avatar
go for it, didn't know you had one now imaWave
Avatar
alright, will get it in 5 mins or so
10:06
@Speeps did you add music to the video, or is it the game itself playing? I found a function that loads BGM.AFS, there's probably a music list but it sucks that it's in a nameless AFS
Avatar
Avatar
PkR
@Speeps did you add music to the video, or is it the game itself playing? I found a function that loads BGM.AFS, there's probably a music list but it sucks that it's in a nameless AFS
I just added it to the video
Avatar
fair lol
Avatar
Rd_Ruin doesn't create ADXTask
Avatar
Avatar
Speeps
If you try building to the same folder as the base like an idiot (me the other day) it'll just delete the game, you should make it give an error lol
can you elaborate on the exact circumstances pls. Did you have the game in a "data" folder?
Avatar
Avatar
PkR
can you elaborate on the exact circumstances pls. Did you have the game in a "data" folder?
had these set to the same folder
Avatar
oh well, that would do it lmao
10:16
ok it hung when I hit Start on the Sonic Team video lol
Avatar
lmao.. why would she hate that
Avatar
I'll wait through the intro
10:18
we should just make a 0.2 second blank screen video patch or make it skip videos completely
10:20
tried to boot RUIN03, the same file works on flycast. Waiting on the "Now loading" screen. Maybe it's really slow
10:24
yeah I think nothing is happening
10:30
first act hung near the entrance to the snake room, about the same area where vertex explosions first appear on Demul
Avatar
you know what would be super useful on hardware? Some kind of hotkey to go back to the level select or title screen
10:46
in Chaos 2 whenever Chaos' model is visible the screen is like you're on LSD
Avatar
movie.bin set to immediately rts nop instead of executing its code, hopefully works on hardware instead of skip movies for now
Avatar
oooh thx! Lemme try now
Avatar
Avatar
woof
patcher doesn't account for when its built a gdi in the emulator run command
fixed
imaDab 1
Avatar
Avatar
PkR
you know what would be super useful on hardware? Some kind of hotkey to go back to the level select or title screen
also agree, there was just an issue to debug. ideally i'd have the pause menu available, but the game has been crashing loading the next level sometimes
Avatar
Avatar
woof
movie.bin set to immediately rts nop instead of executing its code, hopefully works on hardware instead of skip movies for now
worked on hardware
Avatar
I'm gonna work on some UI stuff for the patcher for a little bit, then will convert Speeps' files to patches
Avatar
you can set mode controller to 02 to go to level select while in a stage, but that leads to the level select char sel textures not being loaded in and then if there are other textures in the next level that are missing, the block bit garbage, they take on other textures that were loaded. affects working textures too... still crashes loading another stage sometimes. stage exit mode 05 worked for leaving a stage and then going into another, but then crashed on title after returning again. i'm going to go look for how it handles ABXYStart restart during cutscenes... (edited)
12:03
i'm testing this on an unpatched gdi btw
Avatar
sky deck's got bgm code at least, but no file lol
Avatar
Added mod sorting and a "reload" button to refresh mods
Avatar
Claire the Rabbit 12.05.2024 15:25
wow stealing my patented UI design
sonicbugging 3
Avatar
I lazied out on sorting by checked state, so I added an "Active" column to make it easier
Avatar
Speeps' Twinkle Park mod (edited)
16:16
To create a diff ini from two binaries you can use the tool in sa_tools_research patternpatchmaker STG03.PRS STG03new.PRS -i Then you add the contents of the output file to the bottom of mod.ini (edited)
Avatar
To rebuild a PVM from a ripped .satex texlist, you can use another tool from the repo: RecreatePVM obj_ruin.tls.satex -q ('-q' will take the first texture matching by name, removing that will ask you every time there's more than one texture with the same name). The tool needs a "textures" folder with PVRs (can have subfolders) it will look through to find matches. I have a huge collection from almost all versions of SA1, some SDK textures and the AD WV mod. Here it is: https://dcmods.unreliable.network/owncloud/data/PiKeyAr/files/SA1%20research/textures_lookup.7z Might need to add Shuffle and SA2 textures just in case (edited)
Avatar
oh god
Avatar
yep the lantern palette editor
Avatar
sky deck has a check for this thing to be off
Avatar
makes sense, maybe it fucks with descending into the clouds since that's when it reloads a different PL file
Avatar
yeah that's what it disables iirc from doing the pc version
16:37
16:38
typical fucking microsoft
16:40
is "file was running so we couldn't write to it" such hard to detect cause of error
16:46
@Speeps is it a lot of work to get Chaos 0 to boot?
Avatar
probably going to be a lot of boss functions
Avatar
Added @ReimuHakurei to this chat (edited)
Avatar
Avatar
Speeps
oh god
I mentioned the palette editor a while back, found the address for it in Ghidra. D-pad moves around the palette; holding A/B/Y and then holding Up/Down changes the RGB value, holding X and pressing right swaps between the four diffuse palettes, and pressing left swaps to the specular variations.
Avatar
yeah, it's still in the final btw. Found by Exant a couple of years ago
17:23
okay guys/gals, pls pick your username for the Ghidra server and post it here, thx
Avatar
supercoolsonic 12.05.2024 17:24
SCS
rubberduck 1
PkR pinned a message to this channel. 12.05.2024 17:28
Avatar
fixed the polygon explosions in LW, I had these the wrong way around
18:22
so the correct way is 7C115A8C->38F75B8C and CC105A8C->88F65B8C
18:25
oh it also makes TP's skybox appear
knuxshocked 3
18:26
gdi
18:30
it's because they swapped them in Bg_Twinkle in DX, I only noticed when I got a really fucked up skybox in Sky Deck
Avatar
anyway say hi to Sky Deck
tailshappy 4
Avatar
Avatar
PkR
okay guys/gals, pls pick your username for the Ghidra server and post it here, thx
my username for these is normally just woof
Avatar
@woof I worked on the score tally code a few minutes ago and it gave me a crazy score.
💯 1
Avatar
anyone else wants access to the Ghidra server? Pls write the username you want
1:32
@ItsEasyActually I'll write you as IEA since that was in the files you shared
Avatar
Avatar
PkR
anyone else wants access to the Ghidra server? Pls write the username you want
MJP
Avatar
Avatar
MainJP
@woof I worked on the score tally code a few minutes ago and it gave me a crazy score.
nice! glad it can at least take a value. what method did you use, since it's skipped the line by line pop in anim there
Avatar
Well I was getting more objects in sky deck done and then my house's power sockets all died lol
tailssad 3
20:03
I think the cylinders haven't had the cannon target code removed though
Avatar
ItsEasyActually 14.05.2024 0:37
got into the Ghidra server, I was gonna try to set it up at least the AD project but i've been busy today. i think tomorrow, assuming i can find the time, i'll get my other idb files converted over to the xml format so they can be loaded into Ghidra with all of the info i already added to them. at least get them into some project in there for reference if nothing else.
Avatar
Exant made a project called "Autodemo", pls add your stuff here. Much appreciated
Avatar
ItsEasyActually 14.05.2024 1:15
will do
Avatar
what version of ghidra are we using for this - i'm currently on 11.0 due to already working in another ghidra server. i can update no problem if needed, but it will matter that we are on the same version when multiple people wanna check out a file
Avatar
Let’s use the latest version
👍 1
Avatar
cutscenes ending fades in a solid colour from 0 to 1. with the dont kick from hubs patch you regain control when the cutscene ends.. if i find where that happens, hopefully i can eliminate the fade or skip straight to how it handles the end of cutscene. still don't know how the game decides it is going to play a cutscene. for release later after i patch to use the pause menu, i fixed title input again so that it reads from a different control heap so that you don't lose the ability to control it when returning from stage to title. exiting to title even from pause is still buggy though, even in unpatched. levels can load incorrect or just crash after. but the game handles the autodemo cutscene/demo loop just fine... debugging that sounds painful. (edited)
Avatar
isn't there an array with level and cutscene IDs? I remember it from the final game. The original TestSpawn functionality for cutscenes abused that array to make the game play arbitrary scenes
15:07
oh wait wtf I linked the wrong thing
15:07
this one
15:08
it should be level, act, character, event ID. So looking for such a pattern would get you to the Autodemo one
Avatar
ItsEasyActually 14.05.2024 15:12
I doubt I have it properly marked in mine, but I can try to check around for any similar data when I get to setting those up
15:12
will share if I find anything
Avatar
is the first cutscene the one with Gamma and Sonic and Amy? If so, it's probably the same pattern of bytes
Avatar
oh, event IDs are different, didn't realize that
Avatar
im trying to look into restoring al_race
17:24
i wanna ask for a bit of assistance, i got the patcher set up and everything
17:24
is there a patch to enable controls lol
17:24
or do i need to dig up the good old sonicretro thread
17:25
here's the tl;dr about the al_race code btw
17:25
Avatar
i found these pointers in total
17:45
sadly they dont seem to be in the pattern.ini in "PatternReplace"
17:47
the 8c5a ones are probably just ninja stuff, those should be easy to find atleast
17:47
(shinobi lib puts its code in a separate segment)
Avatar
Avatar
Exant
is there a patch to enable controls lol
Patches for controlling the Autodemo and to help with researching this build of the game.... A Sonic Adventure DX (SADX) Mod in the Other/Misc category, submitted by woofmute
Avatar
thank youu
Avatar
if you just want to manually set the byte for controls it is at 0x8C170098 in ram, but main title screen has none by default
Avatar
Avatar
woof
movie.bin set to immediately rts nop instead of executing its code, hopefully works on hardware instead of skip movies for now
and this if you don't want to bother with intro movies at all rather than having to skip them with start
Avatar
yee i got the latter earlier
17:50
cool thanks
Avatar
Avatar
Exant
i found these pointers in total
do you happen to know if theres another list of pointers i coudl check out available somewhere
17:50
would save me a lot of time that i dont have lol
Avatar
for a_life or just like useful ones in general
Avatar
uhhh in general, i dont think these are exactly related to a_life
17:52
half of them are probably just ninja stuff
17:52
i found a few that i think are also following alongside a path, if you found anything like that
17:52
was about to look for the symbols equivalent of it to give a name incase it rings a bell to anybody
17:52
i bet a tiiiny bit of this stuff is still in sadx
17:54
sorry to butt in btw lol
Avatar
i have this for cheatengine and demul, it is a little messy because it is the one i'm using while researching behaviour for the game and my patches lol. keep saying i will tidy it but it is never time.. there is 2014 mess in there still
66.55 KB
Avatar
im just super curious what shape and form this is in
Avatar
i have several ghidra projects for my patch writing and they have varying levels of labelled addresses in them but i wasn't using official symbols and don't think i'd know enough to match them up to their actual names
Avatar
thanks
18:04
im gonna try and fix the chao pointers then atleast in the meantime
Avatar
i think i need to look into the pattern replacement thing, looks more "useful" than manually doing them all by hand
18:15
i found a shitton just now (well like 4 of the ninja ones, 2 al_main ones lol with how small al_race is this IS a "shitton" i suppose)
18:15
for now ill manually note them down though i guess
18:36
found everything needed to be fixed
18:44
heh, interesting, they were gonna load in a different eye texlist based on random chance here
18:44
i wonder what the plan was
18:45
theres 7 chao init functions in al_main but only 6 in al_race
18:45
however one of them in al_main is just a return
18:45
im guessing thats the one they dont call in al_race, maybe its something they just started work on in main
18:55
okay, 4 functions left
18:55
the two path stuff, one unknown al_main one, and the weird call, which i think is texlist related but without a path parameter im not really sure how
18:59
one of the path functions is SCPathPntNearToOnpos
19:02
the other one might be GetStatusOnPath but the stack seems off for that
19:02
nvm its perfectly that
Avatar
ok something is super off
19:31
im trying to find out those "weird texlist calls"
19:31
but i cant find a texture load ANYWHERE
19:31
neither in al_main nor al_garden00
19:35
...ah
19:35
1st_read loads it i think lol
19:54
hope this works, only need to find SCPathPntNearToOnpos now in speed highway
19:58
found it
19:58
probably wont work first try but im excited lol
20:01
yeeah it infinite loops on loading screen (maybe inside some crash handler)
20:03
@woof sorry to bug you, is there a way to use your debugger to find crashes (maybe check stack to see where it went to a bad function or something)
20:05
ill breakpoint on stage loading and pray to find something through stepping lol (edited)
Avatar
ok, stage init is called at 0x8C044EF0 incase this breakpoint is useful to anyone
20:13
i cant breakpoint the actual place where the stage gets loaded into because it disables the breakpoint? i think because for breakpoint it just puts a trap, and it gets overwritten by the stage when it loads
20:14
uhhhh nvm it doesnt get hit??
20:15
i see, it gets called in multiple places, sorry for the misinfo
20:15
okay at this point i cant tell, ill stop talking lol
20:17
fiiinally got it, had to breakpoint the file load and THEN breakpoint the stage address
👍 1
Avatar
okay well without figuring out how to make it break on a crash i cant do it
tailssad 1
20:30
okay holy shit i think i found it
tailshappy 1
imaDab 1
20:30
its "AC000010"
20:30
the return address rn is the mainsub handler
20:30
so now we atleast know it passes the chao init lol
20:30
would be nice to know where inside the mainsub though
20:30
it also has an "rte" instruction at that weird address
20:30
which
20:31
20:31
definitely sounds like some crash interrupt thing
20:31
so i think i got it
20:31
im trying to look at the raw stack to see something lol
20:33
...could it just be me doing the patch thing wrong lol
Avatar
can confirm the patch works
20:58
yeah
20:58
im dumb
20:58
i found the crash
20:58
i forgot to replace the generic chao mainsub stuff
20:58
(they are the most obvious ones from the get-go and i somehow skipped through it all)
20:59
anyways this is good news that everything else i replaced so far works
tailshappy 1
21:01
ANUIASNDIOAMSDIOSMAD
21:02
I LOADED IN, SAW A CHAO AND FELL THROUGH THE FLOOR
21:02
YEEEEEEEEEEEEEEEES
21:02
i think i should try and somehow enter set edit as soon as i spawn so i can fly around
21:04
hm, entering set edit makes the emu hard crash??
21:05
21:05
this is all i can see for now lol
👀 1
Avatar
im gonna try setting 2C8333A0 to 73, apparently forces a noclip like thing
Avatar
okay, managed to get a bit closer
21:23
theyre stuck down there below the bridge
21:24
and its really odd they dont have a model
21:24
i think theres still something broken, and i dont think its just because its a beta
21:24
but for today i think i have to stop
21:24
21:24
here it is for now incase anybody wants to take a closer look
21:25
also the game reallllly lags when i look at the chao, not sure if that means anything lol
Avatar
uh oh, i think i know whats up
21:33
i think i mixed up one of the functions
21:47
21:47
my fucking
21:47
god
21:47
rendering is still broken for some reason, BUT THEYRE RUNNING ALONG THE PATH!!!!
tailshappy 4
21:49
THEY HAVE CLIMBING IMPLEMENTED
21:50
NOOOO I FELL THROUGH THE FLOOR AROUND THE END
21:50
i followed them along the whole path lol
21:50
ok now to figure out why they arent rendering properly and we're set
Avatar
I accidentally give the ladders createchildtask instead of pathworkladdering
21:51
was wondering why the entire fucking layout was being obliterated
Avatar
@Speeps yo can i bug you for a sec
22:04
i swear i saw a message from you mentioning you found "listoflistofpvm" or whatever, which iirc is the textures that are loaded for the stages
22:04
but i cant find the message anymore lol
22:04
im trying to find out if the race is loading the wrong textures or something
22:04
ahhhh but that cant be it because the eyes are fine
22:04
nvm then sorry for the ping
22:04
but then whyyy are they not rendering
Avatar
thanks
Avatar
ItsEasyActually 14.05.2024 22:20
I'll have my stuff pushed to the repo once pkr's available, just an fyi. my dumbass somehow made a password that doesn't match what I thought I put in 🙃
22:20
but I have all of my stuff converted into a ghidra project, should at least help some in researching
👍 1
Avatar
are you sure theres no space at the end or front
22:20
it doesnt trim before checking lol
Avatar
ItsEasyActually 14.05.2024 22:20
there wasn't
22:21
I think I typo'd very badly
Avatar
I'll take a look at moving stuff over sometime before the end of the week, cba rn
22:28
anyway weird these are still ladders, you can't see it due to the camera but Sonic is basically floating off them
22:31
also I think I found the reason why there's ladders here to begin with, Sonic can't regrab the same cylinder he jumps off
Avatar
ItsEasyActually 14.05.2024 22:32
that's interesting
Avatar
these top cylinders are coded as generic decor instead of the code the rest of them have
22:46
Avatar
who knows why, it's been the same since the announcement footage
Avatar
his animations are showing up as blank too, maybe that's another broken thing
23:08
the action works at least
Avatar
supercoolsonic 14.05.2024 23:08
ooh
23:09
Wait the ladders are the blocks like in the footage?
Avatar
yeah
Avatar
supercoolsonic 14.05.2024 23:09
Wow
Avatar
i think i found the code they used in the "beta windy valley garden" footage
23:45
its an action that gradually changes the chao sliders on a 60 frame timer
23:45
calls the model update function too
23:45
i think it targets the player position too
23:45
theres a weird part though lol
23:45
it increments x and z rotation??? so it makes the chao spin around
23:46
(also i couldnt figure out the race thing since then, gave up on it for today)
Avatar
i cant get it to run yet but i think it has to be it
Avatar
supercoolsonic 14.05.2024 23:57
🤔
Avatar
yeah theres something missing
0:02
some call or something to actually apply the update to the model properly
0:02
it definitely changes the sliders and everything but it doesnt change the model
0:03
its c900260 if anybody wants to check it out
0:04
that or the slider code never runs because of action mode stuff but i hope thats not it lol
0:07
i think the rotation thing they had might've genuinely be to "view" how it morphs stuff while they were writing it
Avatar
ItsEasyActually 15.05.2024 0:14
just an fyi, I do have like, the majority of the variables mapped out for al_main
0:14
might help in determining what some code is doing
0:14
so once that gets up, hopefully it helps
Avatar
sweet, could be useful yeah
0:14
best i sleep on this for now probably
0:14
its really bugging me why it doesnt update
Avatar
ItsEasyActually 15.05.2024 0:14
I know I have the animation table and the Chao model table in there
Avatar
oh shit
0:23
i think i got it to work on one of the chao
0:23
yep
0:23
i need to disable the spinning and turn it on for more chao so that it shows better
0:23
a flag was needed to be turned on
Avatar
Avatar
Exant
@woof sorry to bug you, is there a way to use your debugger to find crashes (maybe check stack to see where it went to a bad function or something)
sorry i ended up asleep, glad you found a way to do this though, it'll help me now.
Avatar
tailshappy 4
imaWave 1
Avatar
the cannon can destroy the cylinders...but only if Sonic stands on top of them
knuxshocked 2
0:59
if Sonic uses one of the ladders then when he steps back onto the straight platform the cannon will destroy the ladder first
1:00
doesn't look like it takes into account sonic using more than one though, it'll always go after the first one he takes
Avatar
Avatar
Speeps
the cannon can destroy the cylinders...but only if Sonic stands on top of them
also the cylinders take two shots to destroy instead of one
1:02
IT CAN SHOOT YOU IN FRONT OF THE ROCKET
Avatar
supercoolsonic 15.05.2024 1:03
LOL
Avatar
eggman would have won if he kept this
Avatar
yeah it targets these platforms, no modes for this area like the final has (edited)
Avatar
Avatar
Exant
Click to see attachment 🖼️
ItsEasyActually 15.05.2024 1:15
holy shit lol
Avatar
Avatar
ItsEasyActually
I'll have my stuff pushed to the repo once pkr's available, just an fyi. my dumbass somehow made a password that doesn't match what I thought I put in 🙃
ItsEasyActually 15.05.2024 1:18
good news, didn't need pkr. just needed to realize i was leaving out part of it. looking to see how i sync local to the server side, if anyone's able to check it and see if anything's in there yet, that'd be cool
Avatar
supercoolsonic 15.05.2024 1:19
Nothing?
1:19
Oh wait
1:20
1:20
There we go
1:20
Just updated
Avatar
ItsEasyActually 15.05.2024 1:20
sweet
1:21
i don't have stg06 in the uploads, turns out i never did a proper idb for it
1:21
i'll start on it tomorrow, at least try to get all of the functions for it done
1:22
adv00 is also missing, my idb for it is very messed up. gonna redo that one as well (edited)
1:23
oh, and when you open these, they might say they haven't been analyzed. i recommend not letting it analyze it since it's already got a bunch of labels and stuff in place
1:23
not sure if analyzing them might destroy labels
Avatar
where the final cannon creates the "Go to Act 2" object after destroying it, this version has bunch of code by the looks of it
🤔 1
1:41
yeah after he uses the rocket, if the cannon gets destroyed he goes all spazzy in the air and gets thrown up
🧐 1
🆙 1
1:42
it's at 0C91A380 in stg06
1:42
anyway I need to go to bed now lol
1:49
I thought he was being treated as a piece of debris at first lol but GetNearestPlayerNumber is definitely not called right after blowing up that thing in final
Avatar
supercoolsonic 15.05.2024 1:50
An attempt at a more natural transition to act 2 maybe? In the final you do kinda just teleport up to the top side of the wing...
Avatar
it's windy up there, maybe the idea was he just kinda gets blown in but they decided against polishing it. that or they need to manually move sonic to a go to act 2 object at this point in dev
Avatar
Avatar
ItsEasyActually
not sure if analyzing them might destroy labels
if these are all on version control now, worst case you can revert and not check in the changes after
4:20
though it would matter that the data is mapped to the proper location it would expect for execution
Avatar
ItsEasyActually 15.05.2024 4:25
everything should be on version control so if any of the files get messed up on accident, we can revert thankfully
Avatar
1st read survives analysis without destruction of labels
Avatar
ItsEasyActually 15.05.2024 11:05
neat
Avatar
is there a reason not to just mark these as pointers even though its in ram and not in 1st_read?
Avatar
look at them march along ❤️
11:05
oop sorry to bump convo
Avatar
Avatar
Exant
oop sorry to bump convo
no worries at all i love to see more stuff
Avatar
Avatar
woof
is there a reason not to just mark these as pointers even though its in ram and not in 1st_read?
ItsEasyActually 15.05.2024 11:06
should be fine to, i just didn't because i didn't know how to in ida tbh
Avatar
so with a fresh head i figured out quickly what went wrong yesterday chaodata isnt loaded for race lol and it somehow doesnt crash, but reads random numbers as the slider floats which causes the model to explode, causing overdraw (the massive lag), the weird triangle flickering and ofc the body not being visible it also explains why the eye and wings werent affected, they're not morphed, should've noticed that sooner lol (edited)
Avatar
ItsEasyActually 15.05.2024 11:06
only uh
11:06
stg02 and shooting have any work on them done within ghidra, but i don't believe i marked anything as proper pointers in those either, mostly out of neglecting to figure out how to (edited)
Avatar
this test kills the deform function, however the deform function also handles setting and lerping the emotion ball color, so rn emotion ball is 000000 which is why it doesnt render, so its still only a half-fix
Avatar
Avatar
ItsEasyActually
stg02 and shooting have any work on them done within ghidra, but i don't believe i marked anything as proper pointers in those either, mostly out of neglecting to figure out how to (edited)
if the pointers are already defined as data use the defined data view and search this (in the case its dword containing 8c), then sort the results and scroll to the first 4 byte 8c pointers, select all in that list, then right click and make selection. in the asm view you can then use the P key to mark as pointer. there is also this script rockethorse made for searching and defining 8c01+ range pointers that lead to valid data https://discord.com/channels/446023672147345418/1238561775281111133/1238803454982361128
11:14
i can check in my copy of your 1st_read as a seperate file if you want to see the result of analysis, marking pointers, and another analysis
Avatar
ItsEasyActually 15.05.2024 11:14
makes sense, if you wanted to go ahead and mark them all, feel free to. i won't have time to do that for a bit.
Avatar
i'll check it in as a new version of yours then
Avatar
ItsEasyActually 15.05.2024 11:16
alrighty
Avatar
Avatar
Exant
Click to see attachment 🖼️
nice work so far!
Avatar
thank you chaohappy
Avatar
been trying to reconstruct Chao Race textures
tailshappy 3
11:32
apparently some of it is based on old Windy Valley and Twinkle Park
11:32
some of the missing textures are from Twinkle Park, judging by their names
Avatar
ItsEasyActually 15.05.2024 11:44
still bizarre to me how BWV, the Chao Garden, and Chao Race (and parts of TP) all had some relation to each other by way of some of the textures being used.
Avatar
some of it survived in the final. Like m128_tp029 was renamed to cr_029 I think
Avatar
Avatar
ItsEasyActually
still bizarre to me how BWV, the Chao Garden, and Chao Race (and parts of TP) all had some relation to each other by way of some of the textures being used.
as a kid i always thought because of the bwv garden that chao were originally like nightopians, being in the stage and all that (edited)
11:46
would've been really cool
Avatar
tbh WV kinda looks like something out of NiGHTS
Avatar
that's for sure though I thought it's because of the general saturn influence of the early designs
Avatar
ItsEasyActually 15.05.2024 11:57
it's a mix of the Saturn influence and them really pushing their whole South American trip into the design from what i've gathered
11:59
if you take a look at the first level of NiGHTS and look at the starting section in BWV, you'll notice that there's a bunch of similar looking textures. i think ST had some internal library of textures (may have been Sega as a whole, they had audio libraries that they gave to development teams) that basically carried over from their time developing stuff on the Saturn
Avatar
hmm, even in the final version of Chao Race you can see a bunch of old Windy Valley and Twinkle Park textures
14:38
btw they just reappear at the start when they reach the end of the race
👀 3
Avatar
holy shit
14:42
nice work!!!
14:42
14:42
now fix this too
14:42
(fixed the bwv garden)
Avatar
ohh I actually have that done, hold on
Avatar
ItsEasyActually 15.05.2024 14:44
was about to say that the textures for that one should be super easy to pull from bwv, just need the texlist
Avatar
Avatar
PkR
ohh I actually have that done, hold on
yooo
14:45
atleast it wasnt that much of a time waste lol it consists of like one function
Avatar
Avatar
ItsEasyActually
was about to say that the textures for that one should be super easy to pull from bwv, just need the texlist
texlist?? Ain't got no time for that shit, use BLOCKBITS bro
Avatar
or did you mean you got the textures fixed but not the code
Avatar
ItsEasyActually 15.05.2024 14:46
LOL
Avatar
so the problem with these landtables is that they use the block bits flag thing to store pointers to texlists, and every texture has a unique texlist for it
14:46
the only way to load textures for these are individual PVRs as far as I know
smolsonk 1
Avatar
ItsEasyActually 15.05.2024 14:48
it's honestly really neat that's a thing
14:51
so cool to stand here lol
14:51
thanks pkr for the textures
14:51
i should try and yoink some palette file to give it proper lighting to make it "complete"
14:51
you guys have no idea how obsessed my 10 year old ass was with the bwv garden
Avatar
so you all plan to port all of that back in SADX and finally destroy all Chao chunk model right
Avatar
no i already did that once
14:54
i accidentally fixed the mystic ruins garden the first time because i mixed up the files lmao, i only had to replace like two pointers though but yeah i didnt even show that one off, mystic ruins garden is in like "beyond early" stage
Avatar
hmm... the Chao have the old lighting here
Avatar
nothing much to restore there
14:54
old lighting?
Avatar
yeah, cause they aren't fullbright. This means they use the non-palette Ninja thing
14:55
yeah i think that was the case in chao race too?
Avatar
the level will probably get lighting back if you put back the PL files
Avatar
yeee should i get the palette file from like the beta wv restoration mod, or you recommend something else
14:55
or wait, is the beta windy valley palette file left in the autodemo
14:55
ill check it out
Avatar
ItsEasyActually 15.05.2024 14:55
it's not
Avatar
ItsEasyActually 15.05.2024 14:56
custom made one
14:56
still, you're welcome to use it if you want to
Avatar
thank you
14:56
i doubt ill release this anywhere other than this channel but ill make sure to credit you
Avatar
ItsEasyActually 15.05.2024 14:56
appreciated
14:57
honestly
Avatar
...ah shit
14:57
there is no palette load call
14:57
i assumed they had some default full bright one and i just need to change the string
14:57
welp
14:57
thats that then
Avatar
ItsEasyActually 15.05.2024 14:58
aw, that sucks
Avatar
btw this has all the PL and SL files that are missing in the autodemo
14:58
I used it in the Chao Race video but I forgot that I used a broken SL file so looks a bit fucked
Avatar
oooh thank you
14:59
question regarding the patcher
14:59
can i use direct byte replacement alongside a pattern.ini
Avatar
by direct byte replacement i mean this
Avatar
yep, you can
Avatar
cooool
14:59
and also
14:59
when doing byte replacement on prs
15:00
does that do it directly on the prs, or on the uncompressed form
Avatar
uncompressed!
Avatar
fuck yeah
15:00
well
15:00
shit
15:00
that opens up a lot of options
Avatar
this was the first thing I implemented, before the actual patcher lol
Avatar
(i was thinking of needing to do some custom code stuff, or even somehow shoving a palette load call here but i was lazy to compress and all that lol)
15:01
i should find some sort of command line tool that does prs->bin bin->prs instantly, probably a lot of them around there
15:01
currently have to go through puyotools everytime
Avatar
ItsEasyActually 15.05.2024 15:01
archivetool can handle that
Avatar
and i hate that puyotools outputs uncompressed prs with prs extension
15:02
oh sweet
15:02
im very out of date on satools stuff lol
Avatar
ItsEasyActually 15.05.2024 15:02
all good, we need better documentation on everything we've got. i'm working on that though
Avatar
it's kind of eh
Avatar
im sure it was even more kind of eh in the original version lol
15:04
im curious, whats the earliest screenshot that we can find of chao race
15:04
i remember seeing one a long time ago
Avatar
supercoolsonic 15.05.2024 15:04
I think they first appeared around December
15:05
Where it was basically finalized already
Avatar
I remember seeing a wiki with a lot of old screenshots arranged by date, I think it was on TCRF? But I can't seem to find it now
Avatar
supercoolsonic 15.05.2024 15:07
Dreamcast Magazine December 25 '98
Avatar
Avatar
supercoolsonic
Where it was basically finalized already
aw okay then
Avatar
supercoolsonic 15.05.2024 15:07
15:07
Yeah, basically final already
Avatar
hm, okay cool
15:08
i swear i remembered some earlier one where you could see them at the starting line, all child chao
15:08
i mightve dreamed it lol
15:08
or maybe its just some final screenshot
15:08
i also remember, unrelated to chao race
Avatar
supercoolsonic 15.05.2024 15:08
15:09
This?
Avatar
ah shit yeah, theyre not child chao lol
15:09
i think its what i remember
15:09
thanks
Avatar
Avatar
Exant
i also remember, unrelated to chao race
there was this magazine where they talked about chao
15:09
showed a chao adventure screenshot
15:09
and a render of the chao model
15:09
but the chao model
15:09
had the modern blue-yellow colorscheme with white wings
15:09
like a very bizarro slightly different universe chao design lol
15:09
i wonder what happened to that model
15:09
we'll probably never get that one
Avatar
Avatar
PkR
I remember seeing a wiki with a lot of old screenshots arranged by date, I think it was on TCRF? But I can't seem to find it now
Avatar
ItsEasyActually 15.05.2024 15:13
i probably am missing some, but i pulled up my archive of old screenshots. looks like the main chao screen dumps were in November and December.
15:13
yeah, mine match what's on Retro, probably where i saved them from tbh
15:14
kinda funny, unveiling introduced them, but nothing about them was really shown off until November
Avatar
its really weird the state theyre in in autodemo
15:14
like
15:14
they barely function
15:15
but animal parts are there?
15:15
like i wouldve expected animal parts to be done more later in development if that makes sense
15:15
i should also check out the chao models themselves, because there seems to be way more than just child chao and its morphs
Avatar
ItsEasyActually 15.05.2024 15:16
these screens (Retro says several are from 2 November) were probably taken using a slightly later build than the AD, but likely taken not longer after the AD was made
Avatar
Avatar
Exant
i should also check out the chao models themselves, because there seems to be way more than just child chao and its morphs
ItsEasyActually 15.05.2024 15:16
i've looked through them, should have the array they're in marked in my al_main file in the repo. i can't remember what i found in there though
Avatar
ye i have them too
15:16
thanks though
15:17
and yeah these screenshots give me the impression that its just the autodemo chao ai but with like
15:17
slightly less jank
Avatar
ItsEasyActually 15.05.2024 15:17
yeah
Avatar
theyre still doing that running to the player thing which means they probably still didnt have anything more interesting to do lol
Avatar
ItsEasyActually 15.05.2024 15:18
most likely, yeah
15:20
btw, here's this info while i'm looking through my files: Jul 05, 1996 - Release of NiGHTS into Dreams Nov 26, 1996 - Sonic Team flies to Cancun, Mexico. Nov 27, 1996 - Sonic Team visits Chichén Itzá, Yucatán, Mexico. Nov 28, 1996 - Sonic Team visits Tulu'um, Yucatán, Mexico. Nov 29, 1996 - Sonic Team visits the San Gervasio Ruins, Yucatán, Mexico. Nov 30, 1996 - Sonic Team visits the Tikal ruins, Guatemala. Dec 01, 1996 - Sonic Team visits the Uaxactún ruins, Guatemala. Dec 02, 1996 - Sonic Team visits Tulu'um, Yucatán, Mexico again. Dec 03, 1996 - A day break for Sonic Team. Dec 04, 1996 - Sonic Team visits Nazca Lines, Lima, Peru Dec 05, 1996 - Sonic Team visits Cusco, Peru. Dec 06, 1996 - Sonic Team visits Machu Picchu, Peru. Dec 07, 1996 - Sonic Team visits their final location, Pachacamac, Lima, Peru. Dec 24, 1996 - Initial Build date of the GD-Rom for Sonic Adventure [NTSC-J] Jun 20, 1997 - Release of Sonic Jam in NTSC-J Region Nov 11, 1997 - Oldest files to exist in Sonic Adventure (From the AutoDemo) Feb 26, 1998 - Release of Burning Rangers in Japan, last game of Sonic Team before Sonic Adventure Aug 22, 1998 - Tokyo International Forum unveiling of Sonic Adventure Sep 07, 1998 - European Computer Trade Show Public showing of Sonic Adventure. Oct 06, 1998 - SEGA New Challenge Conference II, featured 5 game booths with Sonic (Unknown), Tails (Unknown), Knuckles (Red Mountain), Amy (Final Egg), and Gamma (Red Mountain) Oct 10, 1998 - Tokyo Game Show version of the game shown, featured three playable levels. Oct 16, 1998 - Build date of the Sonic Adventure AutoDemo Dec 23, 1998 - Release of Sonic Adventure in NTSC-J Region Sep 09, 1999 - Release of Sonic Adventure in NTSC-U Region
Avatar
Avatar
supercoolsonic
Click to see attachment 🖼️
well uhhh actuuuually
15:21
this could very well be a coincidence
15:21
but notice how all chao are either just child chao (pretty sure that swim chao is also just a child one)
15:21
or fly
15:21
or a blueish second evo of fly
15:21
...these are the only models in the autodemo too
🤔 1
15:21
child chao uses swim for a placeholder "normal morph"
15:22
all of the other types are placeholdered with this fly model
15:22
except fly chao has placeholder second evos (all using the same model)
15:22
which is
15:22
amyshocked 1
15:22
this? lol
15:22
textures are wrong
15:22
ill try and fix them
15:22
but i think this one is
15:22
15:22
is him
Avatar
supercoolsonic 15.05.2024 15:27
Unrelated, but this object is unused in the final, right? (And the AD?) I don't recall it having those three icicles with it. Was this known about?
15:28
oops sorry to bump
Avatar
supercoolsonic 15.05.2024 15:29
final model for reference
15:29
Also, oooh. I'm not a chao expert and I'm even less knowledgable about the OG SA1 system
Avatar
i dont know much about the sa1 stuff either
15:30
im just showing off that its a bit odd that the screenshot also only has the ad models
15:30
but yeah could easily be a coincidence
15:30
not like it changes much anything
15:30
we cant see much else from the screenshot that could be useful
15:31
okay after this one and a half hour long distraction, ill try and find where the game gets chaodata from to try and properly fix the race lol
Avatar
it's so cool we got so much stuff working
Avatar
here's the bwv garden btw
15:33
yeah its insane, i never wouldve expected a random resurgence of AD work in 2024
15:33
without your cool ass tools though i definitely wouldn't be arsed to fuck around with this lol
Avatar
we need something like CodeBreaker but tailored for SA1. Like something that loads before the game and alters its memory. Unfortunately that's quite a bit beyond my capability
Avatar
i dont really understand how that would work for the stage files though
Avatar
if it sits in memory at all times, it shouldn't matter
Avatar
Avatar
supercoolsonic
Unrelated, but this object is unused in the final, right? (And the AD?) I don't recall it having those three icicles with it. Was this known about?
There was old footage with that object in somewhere, I wonder if they're there too
Avatar
Avatar
Speeps
There was old footage with that object in somewhere, I wonder if they're there too
15:55
Looks like it
Avatar
supercoolsonic 15.05.2024 15:59
Oh hey there it is
15:59
The icicles
15:59
Neat
15:59
Also, how do I enable movement in the BWV garden?
16:00
SETEdit mode hard resets the emulator
Avatar
I got you some movements
tailsscared 1
16:03
also the noises they make are horrid, can't believe someone wanted to rip them lol
Avatar
CHAO CHAO
Avatar
my favorite was the one that sounded like a woman who is about to thow up
16:09
oh wait that's all of them
Avatar
Avatar
supercoolsonic
Also, how do I enable movement in the BWV garden?
2C170098 set two bytes to 1 1
Avatar
supercoolsonic 15.05.2024 16:18
...Can't just be a mod? Cheat engine is not cooperating
Avatar
if we find what functions disable controls, we can make a mod too
Avatar
yeah i always have to manually enable it in flycast memory viewer too
Avatar
I guess with this demo we always need controls enabled right
Avatar
Avatar
PkR
if we find what functions disable controls, we can make a mod too
i can check that out a bit later but don't wait on me
Avatar
Avatar
supercoolsonic
SETEdit mode hard resets the emulator
oh so it does that for you too???
16:20
on flycast it makes the emulator exit instantly lol
Avatar
supercoolsonic 15.05.2024 16:20
In Chao Race and BWV garden
Avatar
I killed the functions that disablec control
16:29
lemme try
Avatar
Avatar
PkR
I guess with this demo we always need controls enabled right
i've been going into and out of setedit to force it
16:32
mostly cause i didn't want to force it by default in cutscenes while analysing them but the method works there too
16:32
i've been able to make a symbol map from my Autodemo ghidra projects so i'm importing it to the 1st_read on the ghidra server. it doesn't overwite any labels that already existed so far as i can tell.. if those exist, my label is added as a secondary yellow label which can be removed if its less descriptive or wrong. if any of you know official symbol names for anything marked or hate how i named anything, feel free to change it. it is probably possible to map the stage bins in to the same project as 1st_read with file>add to program while the 1st_read project is open, setting their base address correctly, and then importing the symbols for them with the correct memory block appended to the address in the file. that should lead to better analysis of the code within stage bins where that relies on 1st_read.
16:34
txt file of what i labelled, but it has uploaded to the server now also
Avatar
not tested too much but will do for now
16:35
@Exant @supercoolsonic
chaohappy 1
16:37
bonus point: you can fuck with cutscenes and kill Amy which will crash
amyshocked 2
Avatar
supercoolsonic 15.05.2024 16:38
LOL
16:38
Awesome, thanks!
Avatar
Avatar
PkR
not tested too much but will do for now
do you mind if i bundle this with my mod pack on gamebanana next time i update it or are you hosting it somewhere? it might not be compatible with setedit patch at the same time though.
Avatar
I don't mind, especially if you turn it into something more useful (edited)
16:44
it should be done properly like the 60 fps hack for the final, I'll look into it later
Avatar
i can upload a version of setedit that allows pause menu, but i still have debugging to do about a crash when using level select to load other levels after returning to title
16:54
your patch doesn't break setedit but it does mean you will move sonic with free movement controls while using it
Avatar
it's just the fastest way to enable controls. A better way would be to find all calls to the functions i hacked, and replace the calls in those which we don't need to disable controls
16:56
I think I simply removed the variable setting in the one that disables controls lol
Avatar
its totally fine for now without a more proper way to do it sorted, i'm just needing to note it in my mod lol
Avatar
Avatar
PkR
bonus point: you can fuck with cutscenes and kill Amy which will crash
don't forget he can kill tails and knuckles though
Avatar
Avatar
Exant
so cool to stand here lol
arguably the coolest thing of the autodemo
Avatar
I just lost like 2 hours
22:26
to this little FUCK
Avatar
anyway Act 2 cannon is a lot faster
22:36
I wouldn't be surprised if this thing was why they eventually changed the rocket model
22:37
it makes sonic fly around in the air like the act 1 cannon does too, but he doesn't go anywhere this time (he just kind of spins around)
Avatar
you can control Sonic inside the big cannon at the start
23:20
it still plays its opening animation with him floating there though
Avatar
lmao I never knew you could get the act 1 cannon to destroy that
knuxshocked 2
Avatar
he has no AI, his controls are enabled
Avatar
supercoolsonic 16.05.2024 0:20
Did Lost World get posted here as a mod yet?
0:20
And updated Twinkle with skybox?
Avatar
looks like what I had written down as "UnkLW8" is njDrawSprite3D if this cannon is right
Avatar
Anyone here using NextCloud? We could set up folder sync to update your mods
5:49
I will share my folder later
5:50
Might be nice to have a shared pointer list too
Avatar
@ReimuHakurei hello, I was too slow to connect so my password probably expired... can you check when you have time please? Username is "kell".
Avatar
Avatar
PkR
Anyone here using NextCloud? We could set up folder sync to update your mods
ReimuHakurei 16.05.2024 7:31
I host a Nextcloud instance if needed.
Avatar
Avatar
Kell
@ReimuHakurei hello, I was too slow to connect so my password probably expired... can you check when you have time please? Username is "kell".
ReimuHakurei 16.05.2024 7:31
One moment.
Avatar
Feel like i'm contacting it support
Avatar
ReimuHakurei 16.05.2024 7:33
Try now.
Avatar
Avatar
Kell
Feel like i'm contacting it support
ReimuHakurei 16.05.2024 7:33
Which is my job amusingly enough.
Avatar
Avatar
ReimuHakurei
I host a Nextcloud instance if needed.
ReimuHakurei 16.05.2024 7:34
Actually wait, yours is the 2nd NC instance I host isn't it? I forgot lol.
Avatar
That's part of mine too so high five
7:38
Anyway it worked thanks, I don't see an existing repository but i'll ask PkR, no idea how Ghidra works (edited)
Avatar
ReimuHakurei 16.05.2024 7:40
Cool
7:40
Also no clue how Ghidra works so you're on your own there.
7:41
Best I can do is bash my head against pirated IDA Pro for like 6 hours and come out with a massive headache.
Avatar
Avatar
Kell
Anyway it worked thanks, I don't see an existing repository but i'll ask PkR, no idea how Ghidra works (edited)
open ghidra, file>new project>shared project, then log in to the server and select the autodemo repository. then just set the local project location and name to whatever you prefer.
Avatar
i didn't see the message about setedit hard resetting in BWV garden also sorry.. i'll take a look if it's my fault or not
Avatar
Avatar
woof
open ghidra, file>new project>shared project, then log in to the server and select the autodemo repository. then just set the local project location and name to whatever you prefer.
There is no repository, "existing repository" is grayed out (edited)
9:47
PkR added me it's ok now
Avatar
anyone know what "2 of 2" means?
Avatar
its version 2 of 2 versions available
Avatar
2nd Read
Avatar
so it's like one before, and one after someone updated it?
Avatar
version 1 was the initial commit, version 2 is the current one after this https://discord.com/channels/446023672147345418/1238561775281111133/1240341066717069323
10:03
you can right click it and show history to see each check in
Avatar
BWV garden setedit messes up somewhere in its mode 03 (activation init) loop, does BWV garden even have any objects to load? (edited)
Avatar
probably not, since it doesn't have a SET file
Avatar
Avatar
PkR
I used it in the Chao Race video but I forgot that I used a broken SL file so looks a bit fucked
wait a minute
11:08
chao race doesnt have a palette load call either?
11:08
so how does it work lol
11:08
maybe it is possible then to give proper lighting to bwv garden
Avatar
doesn't it have lighting if you put back the PL/SL files?
Avatar
im guessing the palette load calls im seeing are more like for special purposes like interpolation
11:08
i havent tried it yet
11:09
i assumed since theres no call and the others that i saw have calls that i would need to patch the call back in
11:09
11:09
like this here, even garden00 loads something
11:09
al_race doesnt though
11:09
so its a bit odd lol
Avatar
I swear there was lighting in the race
Avatar
no i saw the vid too there definitely is?
Avatar
well, let's fire up the test palette mod
Avatar
i think theres probably a separate place where they load one by default based on stage id
11:10
but then i wonder why garden00 needs one manually lol
Avatar
hardcoded
11:11
yeah, it does load some PL file in race, I can tell
Avatar
still doesnt in bwv garden? (edited)
Avatar
it does
11:14
Avatar
okay theres definitely some default load separate of this somewhere, good to know
Avatar
yeah, there should be one in 1st_read
11:15
try PL1E0B or PL_20B (edited)
Avatar
can only find a couple PL_ and SL_ strings
11:18
they're probably it though
11:19
ill need to find the functions, sorry but cant do atm
Avatar
Avatar
PkR
probably not, since it doesn't have a SET file
it has setgarden01s.bin with just one object entry for a ring in the same location as SS garden. the ring shows up if you go to its location in SS garden, but it crashes in BWV garden if you go near it. setedit is crashing for trying to display a ring object.
11:21
happens without setedit by going within render distance
Avatar
ahhhh i bet we didnt fix the pointers for the ring
Avatar
ItsEasyActually 16.05.2024 11:21
most likely
Avatar
oh, sorry I somehow missed the SET file
Avatar
also pkr while youre here
11:22
you know more about sa1 chao save stuff than i do
11:22
do you know if the final "loaded result in ram" is stored in some sort of linked list?
Avatar
uhhh I have no idea what that is lol
Avatar
somethiiing like struct ass { int unk; data* chaodata; ass* next; }
Avatar
where is it anyway?
Avatar
ok so
11:23
both wv and ss garden call some 1st_read function with parameter "1"
11:23
that returns this structure
11:23
and its the chaodata used for spawning the chao
11:23
ill get the function if thats useful, but i dont know much more than that either
11:24
8C022360
11:24
11:24
they call it with 1
11:24
11:24
and then
11:24
well basically pseudocode is
11:24
list* curr = 8C022360(1); while(curr) { spawnChaoWithData(curr->chaodata); curr = curr->next; }
11:25
this is just a sort of "out of curiosity" thing, well im mainly looking into it to try and "finish" chao race though i kinda given up on that since the emotion ball is such a tiny detail anyways lol (edited)
Avatar
hmm... well, I know a little bit about the Chao Garden save file structure, but it doesn't seem to have linked lists in it
Avatar
yee i had a feeling its something that would happen after its loaded
11:25
or its just autodemo stuff
Avatar
maybe that's how they manage the saved file in general
11:26
I'm not sure since I've only worked with the actual file
Avatar
thats cool
11:27
thanks though
11:28
wait
11:28
oooo i gotta try something now
11:28
i found a function below that one in 1st_read
11:28
that seems to init chao with random floats
11:28
and its definitely called
11:28
now im wondering
11:28
that "1" parameter
11:28
maybe its the garden??
11:28
and they forgot it to be 1 as a test
Avatar
hm... come to think of it, where does it get the chao data from anyway? It's not on the VMU
Avatar
while the other gardens have cooler chao
Avatar
Avatar
PkR
hm... come to think of it, where does it get the chao data from anyway? It's not on the VMU
yeah thats what im trying to find out for races lol
11:29
not sure how far ill get today cuz i should start learning in a bit
Avatar
okay i think i found the malloc too
11:37
also, i tried loading all three gardens
11:37
they all look the same
11:37
so for some reason the code isnt being applied properly
11:37
the randomizing code i mean
11:37
chaodata size is 0x1E8 i think
11:39
theres a bunch of checks done before they call the randomizing code
11:39
but i stepped through it just now, it definitely passes those checks
11:39
i have a feeling that somewhere else they call "make them all default lol"
Avatar
in the gardens, is it the same chao each time or are they always different?
Avatar
they are the same
11:40
well
11:40
not in a philosophical sense lmao
11:40
theyre generated runtime, definitely not loaded
Avatar
but theyre supposed to be unique
11:40
with random floats for the sliders and all kinds of shit
11:40
which is what im trying to figure out why they arent
11:40
i think they intentionally killed it for the ad
11:41
well i mean technically not, because them being default is like intentional behavior
11:41
i think the ones in the tgs demo used this randomizing code too (edited)
11:43
11:43
uhhhh help im scared what do i press lol
11:43
i just wanna view it i dont wanna change anything for now
Avatar
you should check it out so it loads faster, it won't commit any changes you make unless you deliberately click to check it back in
Avatar
cool thanks
Avatar
you won't need exclusive checkout though
Avatar
ye i didnt tick that
11:46
11:46
this is rand btw im pretty sure
11:46
and thats the seed (srand inits that variable then rand mutates it and returns it)
Avatar
oh interesting. it didn't store a pointer but it did update when pressing X to display the demo rec end location, so i named it that
11:47
you can change it
11:47
or i can if you want
Avatar
we should be able to get rand and the other stdlib stuff if we apply the shinobi sigs
12:08
problem is i dont have them on hand lol
Avatar
ItsEasyActually 16.05.2024 12:21
shinobi sigs should be applied
12:22
iirc, i ran 1st_read through all of the sigs that you had posted a long time ago
12:24
maybe i didn't run it through with those
Avatar
this version of title input checks a better ram location for waiting for title fade in to finish and won't crash if you hold X+Y or Start for too long now. it checks the proper controller buttons byte for press and not for held
Avatar
Avatar
Exant
this is rand btw im pretty sure
I got rand in my spreadsheet if you want to check
Avatar
i will be away from home from tomorrow for a week and a half, so if any of you find a bug in my patches please let me know ofc but i won't be able to debug any of them for a while
Avatar
SA1 Image Builder https://gitlab.com/PiKeyAr/sa1-dc-hd/-/raw/main/release/Patcher.exe?ref_type=heads Mods Autodemo mod archive: https://dcmods.unreliable.network/owncloud/data/PiKeyAr/files/SA1%20research/autodemo/mods/ Sample mod for the Autodemo that uses all current capabilities of the SA1 Image Builder: https://dcmods.unreliable.network/owncloud/data/PiKeyAr/files/SA1%20research/autodemo/mods/SampleMod.7z Other files Screenshots, videos: https://dcmods.unreliable.network/owncloud/data/PiKeyAr/files/SA1%20research/autodemo/media/ Other files: https://dcmods.unreliable.network/owncloud/data/PiKeyAr/files/SA1%20research/autodemo/files/ Autodemo tools on the SA Tools Research repo https://github.com/X-Hax/sa_tools_research BlockBitTool: Processes an Autodemo landtable that uses Block Bits for individual texture pointers, and outputs a fixed landtable and a .satex texlist. RecreatePVM: Builds a PVM from a list of texture names in a .txt or .satex file by looking up textures by name in the textures folder. Useful in combination with BlockBitTool. PatternPatchMaker: Creates byte or pattern (pointer) patches for SA1 Image Builder by comparing original and modified files. (edited)
PkR pinned a message to this channel. 16.05.2024 14:38
PkR pinned a message to this channel. 16.05.2024 14:50
Avatar
Updated patcher:
  • Fixed (hopefully) an occasional hang on building CDI
  • Added mod sort buttons
👍 1
Avatar
If anyone wants me to add their mods or media to the cloud pls ping, I'd really appreciate if we all had a shared NextCloud folder for it though lol. I don't know how long I will be able to keep up
15:17
you just need to install the NextCloud desktop client, I'll give you a name and a password and then you can use it like Dropbox pretty much
Avatar
ItsEasyActually 16.05.2024 15:36
i'll do that in a bit
15:36
would love to be able to at least have access to stuff getting shared in it
Avatar
i will be uploading the current versions of my mods to my gamebanana tonight, i will be away as mentioned tomorrow but i don't mind if somebody mirrors the contents of that zip across once it's up. never used nextcloud but if i don't need the client installed this second to get a username and pass given to me then i will do it myself tonight instead.
Avatar
I can prepare you the name and pass in advance
imaWave 1
16:09
if anyone else wants access ping me
Avatar
Tails has a desynced SET for Act 1, it looks like they added a lot of slots for Act 3 stuff
19:47
It's mostly fine, but the big cannon is Act 3 decor
Avatar
supercoolsonic 16.05.2024 19:47
Ahh, right he did
Avatar
I think Act 2 is also set up to have the Act 3 music
19:50
And it has a very different ID iirc
🤔 1
Avatar
uploaded the current versions of my patches to gamebanana and to the nextcloud PkR is running https://gamebanana.com/mods/512594
Patches for controlling the Autodemo and to help with researching this build of the game.... A Sonic Adventure DX (SADX) Mod in the Other/Misc category, submitted by woofmute
tailshappy 1
21:53
worth downloading if you have already downloaded the loose working zips to make sure you've got the most current versions. current patches are: Skip Movies, No Movies, Title Input (WIP), Level Select Icons, TGS Title BG, No Title Timeout, Retail Title Timeout Length, No Level Idle Timeout, Don't Kick from Hub Stages (WIP), SetEdit Restore, Unblock 'At Dawn' Entrance.
21:57
SetEdit will run fine in BWV garden once the ring's pointer and any other objects in its object list have been sorted and is not a bug with my patch
Avatar
random question, does anybody know if tgs footage had proper chao animals in it, or still only had the flickies
Avatar
ItsEasyActually 17.05.2024 18:11
i don't know if i've seen any tgs footage tbh
18:11
i think that was a behind closed doors showing unfortunately
18:11
wait
18:11
that was the egs show
18:11
hm, lemme do some digging, i might have something
Avatar
when was the egs show?
18:26
im just referring to this video
18:26
date is in title i guess
18:27
im mainly asking because im curious if the morphed chao in the vid use the randomization code that is disabled and i couldnt figure out yet why, or they were just done with animals
18:27
its stupid ik lol very much just an "im curious" thing
Avatar
Avatar
Exant
its stupid ik lol very much just an "im curious" thing
that's how we got setedit restored
18:33
i was just asking cause it got me thinking about the three different compile dates for stages in the autodemo
Avatar
Avatar
woof
when was the egs show?
ItsEasyActually 17.05.2024 18:59
Avatar
Avatar
Exant
im mainly asking because im curious if the morphed chao in the vid use the randomization code that is disabled and i couldnt figure out yet why, or they were just done with animals
This is the International Forum unveiling, TGS took place long after, slightly before the Autodemo build date
Avatar
oops, sorry
20:05
i never knew honestly
Avatar
the broken character select icons tell u all u need to know
20:32
actually level select at all does. i documented all this when it released why didn't they just set title mode 03 instead if they wanted to be convincing
Avatar
Avatar
Exant
i never knew honestly
ItsEasyActually 17.05.2024 20:44
it's kind of confusing and easy to get mixed up with. the main events the game was at were:
  • Tokyo International Forum (Unveiling event)
  • European Computer Trade Show (partially public, but no images or videos. it was also an AutoDemo behind closed doors)
  • SEGA New Challenge Conference II (basically another big event for promoting the Dreamcast. i have found some footage of the game being played there as it had a kiosk section. i need to find it again)
  • Tokyo Game Show (last public outing of the game at an event to my knowledge)
Avatar
Avatar
ItsEasyActually
btw, here's this info while i'm looking through my files: Jul 05, 1996 - Release of NiGHTS into Dreams Nov 26, 1996 - Sonic Team flies to Cancun, Mexico. Nov 27, 1996 - Sonic Team visits Chichén Itzá, Yucatán, Mexico. Nov 28, 1996 - Sonic Team visits Tulu'um, Yucatán, Mexico. Nov 29, 1996 - Sonic Team visits the San Gervasio Ruins, Yucatán, Mexico. Nov 30, 1996 - Sonic Team visits the Tikal ruins, Guatemala. Dec 01, 1996 - Sonic Team visits the Uaxactún ruins, Guatemala. Dec 02, 1996 - Sonic Team visits Tulu'um, Yucatán, Mexico again. Dec 03, 1996 - A day break for Sonic Team. Dec 04, 1996 - Sonic Team visits Nazca Lines, Lima, Peru Dec 05, 1996 - Sonic Team visits Cusco, Peru. Dec 06, 1996 - Sonic Team visits Machu Picchu, Peru. Dec 07, 1996 - Sonic Team visits their final location, Pachacamac, Lima, Peru. Dec 24, 1996 - Initial Build date of the GD-Rom for Sonic Adventure [NTSC-J] Jun 20, 1997 - Release of Sonic Jam in NTSC-J Region Nov 11, 1997 - Oldest files to exist in Sonic Adventure (From the AutoDemo) Feb 26, 1998 - Release of Burning Rangers in Japan, last game of Sonic Team before Sonic Adventure Aug 22, 1998 - Tokyo International Forum unveiling of Sonic Adventure Sep 07, 1998 - European Computer Trade Show Public showing of Sonic Adventure. Oct 06, 1998 - SEGA New Challenge Conference II, featured 5 game booths with Sonic (Unknown), Tails (Unknown), Knuckles (Red Mountain), Amy (Final Egg), and Gamma (Red Mountain) Oct 10, 1998 - Tokyo Game Show version of the game shown, featured three playable levels. Oct 16, 1998 - Build date of the Sonic Adventure AutoDemo Dec 23, 1998 - Release of Sonic Adventure in NTSC-J Region Sep 09, 1999 - Release of Sonic Adventure in NTSC-U Region
Is it worth adding GD Drive Repair Program Ver 0.1? It contains the infamous SEGA Confidential Windy Valley screenshots with a compile date of Dec. 9, 1997.
Avatar
supercoolsonic 17.05.2024 21:09
AD Windy is apparently the oldest stage made for the game, so makes sense it existed back then. Just surprised it lasted as long as it did
Avatar
Avatar
MainJP
Is it worth adding GD Drive Repair Program Ver 0.1? It contains the infamous SEGA Confidential Windy Valley screenshots with a compile date of Dec. 9, 1997.
ItsEasyActually 17.05.2024 21:25
I should add these to that. I honestly don't know how I forgot to, guess I never checked their date
Avatar
Avatar
supercoolsonic
Click to see attachment 🖼️
this is one of the website pictures
Avatar
supercoolsonic 17.05.2024 23:42
Oh
Avatar
those aren't final either but they're later than AD (with some obvious exceptions like that one RM shot)
23:45
I want this version of casinopolis so bad lol
Avatar
supercoolsonic 17.05.2024 23:47
With the rotated ship and swapped pinball entrance locations?
23:47
We'd need a later build, probably around late October/November
Avatar
yeah
Avatar
supercoolsonic 17.05.2024 23:47
Dunno if one would even exist, tho...
Avatar
just go break into Iizuka's house pls
Avatar
supercoolsonic 17.05.2024 23:48
Nah, even if they had one he probably lost it chuckles
Avatar
there's also a shot of spiral nights pinball on the disc lol
sonicwhoa 2
23:51
there was a similar shot in one of the magazines
Avatar
ItsEasyActually 18.05.2024 1:11
found the earliest screenshots from sonic adventure in a "tgs archive" that Laurent posted some time ago
1:11
1:12
dated 10 and 11 June 1998
Avatar
what do you mean that's a motorcycle game
Avatar
ItsEasyActually 18.05.2024 1:12
lol
Avatar
https://www.theghz.com/forum/viewtopic.php?p=101728 I found this old thread a while ago about the pic
Avatar
ItsEasyActually 18.05.2024 1:18
oh shit, so these are apparently from around E3 that year?
1:18
pretty much tracks
1:18
it was May 28-30, these being dated just after makes sense
Avatar
the Dreamcast itself was unveiled around the same time too
Avatar
ItsEasyActually 18.05.2024 1:20
that makes a hell of a lot of sense
1:21
TGS Kiosk
👀 1
1:22
some Chao VMS stuff in here too
1:23
TGS Speed Highway
1:23
looks like Speed Highway and Ice Cap with Tails were playable, but there's some screens in here i'm not sure of
1:24
Gamma in the prison room I think? and Sonic in Sky Deck
Avatar
yeah that's the prison room
Avatar
wasn't there evidence of a demo with only three characters available? on the "choose your buddy" level select
Avatar
ItsEasyActually 18.05.2024 1:29
yeah, Knuckles should have Red Mountain iirc
Avatar
yeah that was the one at the tokyo announcement
Avatar
Avatar
ItsEasyActually
found the earliest screenshots from sonic adventure in a "tgs archive" that Laurent posted some time ago
We have the footage for that early At Dawn. https://youtu.be/3BMhmyz4670?t=1271
👀 1
Avatar
ItsEasyActually 18.05.2024 1:29
holy shit i've not seen this
Avatar
also kinda tracks with what i think iizuka said about windy valley. it got redesigned last minute.. hard to confirm with autodemo but it's like. it released december or november of 98, there had to be about a month for disc production..
1:31
the beta version stage was a late september compile so. i'm not even mad tails can skip the final act 3 section by flying good (edited)
Avatar
ItsEasyActually 18.05.2024 1:32
December 23rd, 1998 was the release
Avatar
so estimate final build late november-ish?
1:32
they did so much in two months
Avatar
ItsEasyActually 18.05.2024 1:32
not sure how long ahead of schedule they needed for disc production
1:33
it was a single region release
1:34
i'm also willing to say that despite the AD build's state, a lot of stuff was being worked on in September and October. they just weren't part of the build (edited)
Avatar
supercoolsonic 18.05.2024 1:34
This is where that flippin tornado footage comes from
1:34
Holy crap
Avatar
mid-october autodemo goes out in november (pressed and labelled discs), initial japan release late december
Avatar
ItsEasyActually 18.05.2024 1:34
BWV is missing its textures for instance, and we know those had been in for a while
Avatar
half of AD data seems to be them redesigning and scrapping stuff
1:35
then adding hot shelter from october onwards
Avatar
ItsEasyActually 18.05.2024 1:36
it was probably done by a section of the team that had been working on making their demos available for the shows they were going to. that shit probably caused them a lot of headaches tbh
Avatar
it works for the demo presentation but trying to force it to work the way it's meant to as a full game seems to break it. i tried testing this myself, can someone test an unpatched autodemo, go to level select and load highway 1, set load controller to 0c for pause menu, quit, go to level select again and load mountain 1?
1:38
for me this produces a crash on loading into red mountain
1:39
also the reason i haven't released my setedit patch that includes being able to use the pause menu
Avatar
Avatar
ItsEasyActually
Gamma in the prison room I think? and Sonic in Sky Deck
btw that skydeck layout is later than the one in the AD - that tower isn't placed in it
Avatar
supercoolsonic 18.05.2024 1:48
Or it was scrapped early and leftover in later builds and the final
1:48
MarkdownContext { Depth = 1 }
Avatar
ItsEasyActually 18.05.2024 1:48
picture is dated 10 Oct 1998
1:48
so
Avatar
supercoolsonic 18.05.2024 1:49
Ah
Avatar
ItsEasyActually 18.05.2024 1:49
that kind of confirms that the AD is just whatever they had at the time slapped together (edited)
Avatar
AD's SET is 8th September
Avatar
supercoolsonic 18.05.2024 1:50
But wait, didn't the control tower appear in the unveiling footage? 🤔
Avatar
It’s so weird cause we know for sure they had more stuff in a more complete state. Like AD Casino seems way earlier than it would’ve been, unless they scrapped the old one and began completely from scratch
Avatar
ItsEasyActually 18.05.2024 1:51
Unveiling footage was probably recorded in July and into August as they prepped for the event
Avatar
supercoolsonic 18.05.2024 1:51
AD Casino is the original one as far as we know. It has the spiral NiGHTS board blocked out in it
Avatar
ItsEasyActually 18.05.2024 1:51
the build they played there is later than most of the footage they showed
Avatar
Avatar
supercoolsonic
AD Casino is the original one as far as we know. It has the spiral NiGHTS board blocked out in it
Yes, but we have screens from earlier that have proper UVs and stuff
Avatar
supercoolsonic 18.05.2024 1:52
Uh, we do?
1:53
Of Casinopolis with textures before the AD?
Avatar
Avatar
supercoolsonic
But wait, didn't the control tower appear in the unveiling footage? 🤔
Avatar
Yeah, the original pinball thing
Avatar
(1:20)
Avatar
Avatar
Speeps
supercoolsonic 18.05.2024 1:53
Oh
Avatar
ItsEasyActually 18.05.2024 1:54
20 November is just when the press had screenshots of it to share, so they had it "ready to show" by then
1:54
1:54
do we have a date for this screenshot?
1:54
it's the only one i don't think i've ever seen a date for
Avatar
I don't think so
1:57
also the various removed decors do exist they're just not placed
imaDab 1
Avatar
Avatar
ItsEasyActually
Click to see attachment 🖼️
this may've been from around the same time, no date on it either
3:44
okay this is November 20
3:44
so I guess those screens might've been after the autodemo, not before
3:45
need to check the Saturn Magazine, it had a lot of early SA1 screens
Avatar
wonder what the issue was with the original nights pinball that made them simplify it
3:55
cause it seems they might have simplified it just to be able to ship the game, if something was not working. unless it just played bad in testing.
Avatar
SaturnFan is dated November 20th. The other one is Dreamcast Magazine, also November 20th.
Avatar
Avatar
PkR
this may've been from around the same time, no date on it either
That was tagged as concept art for years for some reason
Avatar
Avatar
PkR
this may've been from around the same time, no date on it either
the curve at the back of this table has just explained a lot to me about the final version, cause sonic still seems to move up as if there's a curve there but it visually is an open area in the back in final
9:04
wish we had more than the blockout for it
Avatar
Avatar
Speeps
That was tagged as concept art for years for some reason
Yeah it made me think it might've been, but looking closer at that screen in Saturn Fan you can see Sonic dashing, so it was most likely ingame
Avatar
yeah it is ingame
13:23
you can see the same area in this screen
Avatar
Using the non-Lantern model draw functions for models enable the renderer to parse material colors, so you can see the test stages
tailshappy 3
tailsooh 1
16:42
I need help with this
Avatar
what is wrong
Avatar
Avatar
PkR
Using the non-Lantern model draw functions for models enable the renderer to parse material colors, so you can see the test stages
and Twinkle Circuit
🏎️ 3
Avatar
Avatar
woof
what is wrong
so... my replacement is not good enough, not all stuff is replaced, some models are glitchy and usually it causes massive slowdown
16:43
the functions I replaced looked close enough but I'm not entirely sure
16:43
DrawObject,8C030592,8C5FDEB2 DrawModel,8C03068C,8C5F1D2C ActionClip,8c5ac6ba,8c5aecbc DrawLandModel,8c030788,8C5F1D2C DrawModelWhatever,8c030718,8C5F1D2C
16:45
also get this weird shit for water
Avatar
water sorted behind everything and wrong texture... i'm not going to be able to try debugging this for over a week sorry, probably someone else will help before then, but if it's still weird by that time i will try
16:48
is this behaving any different in flycast
Avatar
it also seems like it's drawing some thing twice
Avatar
i can't think of much to try remotely, but testing it with flycast too or breakpointing main to see each frame to check that it's actually still rendering every other frame (due to frame limiter) might be useful for narrowing things down a little? not sure how to confirm that it is drawing some things twice though without analysing those functions
Avatar
I think it's just a matter of making sure the correct functions are being swapped (edited)
Avatar
is there any example of anything in the stages compiled for autodemo that uses that lighting system?
Avatar
are you sure youre using the "njCnkDrawModel" and not the "_njCnkDrawModel"
🏴‍☠️ 1
DeletThis 1
amysad 1
17:12
oops not cnk
17:12
sorry im used to sa2 lol
17:12
accidentally gonna piss you off by reminding you of chunk models (edited)
Avatar
we don't talk about ninja chunk
Avatar
do they even exist in SA1? I thought that was a SADX thing stolen from SA2
Avatar
no they dont lol
17:14
17:14
anyways this is what i meant
17:14
you shouldnt call the double underscore one
17:14
also the double underscore drawmodel is probably no good either because that version is "reserved" for drawobject to call it
Avatar
Avatar
Sora
do they even exist in SA1? I thought that was a SADX thing stolen from SA2
they didn't exist in the sdk at the time they made SA1 afaik
👍 1
Avatar
8C5FDE50
17:14
this is what drawmodel should use instead
17:14
17:14
because this sets up the vert buffer bs beforehand
17:15
drawobject looks correct
Avatar
Avatar
woof
is there any example of anything in the stages compiled for autodemo that uses that lighting system?
Basically everything in the game can be made to use that system. Every stage has a lights configuration that is still there, including the final version and even SADX. Some objects like some models for the Chao use this system exclusively. With this system you could design custom dynamic lights that could affect objects and characters. Chaos 0 2 4 6 have this "Chaos underlight" thing that illuminates the environment and characters. I haven't seen the underlight in the AD, but it should be there. Ice Cap 2 has a custom function that creates lights, too (edited)
👍 1
Avatar
oh yeah iirc even sadx has leftovers of that icecap thing
Avatar
Avatar
Exant
8C5FDE50
also maybe try this to fix the glitches? if you have time
Avatar
thanks for sharing this, will try now
17:17
also for drawlandmodel you used the incorrect one too, not sure if thats intentional
17:17
(the same on as drawmodel)
Avatar
which should it be?
Avatar
aaand same with the one below it lol
17:18
they should all use the one i sent instead
17:18
or atleast, im guessing
17:18
i dont know what they were originally
17:18
but for all 3 (drawmodel drawlandmodel drawmodelwhatever) you used the same one, so i just meant as a reminder to make sure to fix all 3
Avatar
so like this? DrawModel,8C03068C,8C5FDE50 DrawLandModel,8c030788,8C5FDE50
Avatar
i guess yeah
Avatar
maybe this lighting system would also help for that mystic ruins map
Avatar
are these incorrect pointers originally?
Avatar
no, they're the pointers used by regular draw functions that use Lantern
17:21
same thing with skybox/water issue unfortunately
17:21
i think some of them used the right one and some of them didnt
Avatar
I think the landtable one is good now
17:23
This is just with DrawLandModel,8c030788,8C5FDE50, no glitches
Avatar
i think these two were originally correct
17:23
DrawLandModel,8c030788,8C5F1D2C DrawModelWhatever,8c030718,8C5F1D2C
17:23
thats weird then lol
17:23
im basically looking for the palette draw functinos that dont do anything with kmpointer
17:24
but i guess thats not a right pattern then
17:24
its definitely just a matter of fucking around with both until it somewhat works i think
Avatar
DrawLandModel,8c030788,8C5F1D2C works too lol
Avatar
maybe its drawmodelwhatever that causes the glitches
17:25
im fairly certain the regular "drawmodel" one has to be right
Avatar
This? DrawModel,8C03068C,8C5FDE50
17:25
the original function that you replace also does kmpointer init stuff
17:26
it would be odd if it didnt work
Avatar
yeah when I first got it I felt it was right
Avatar
so im hoping its only drawmodelwhatever that we dont have?
Avatar
well there's also action stuff
17:26
but I think it works
Avatar
the action stuff should also be correct
17:26
not much options to pick from
17:27
also ik this was discussed before but while looking at these functions
17:27
i again think that the palette draw shit is very handwritten asm
Avatar
action might be drawing twice
Avatar
Avatar
Exant
i again think that the palette draw shit is very handwritten asm
oh yeah it totally is
17:29
i dont think the compiler even has code to generate this instruction lol (edited)
Avatar
Avatar
PkR
action might be drawing twice
hm
Avatar
Avatar
Exant
oh yeah it totally is
is there a flag that lets you skip it and use regular ninja lighting?
Avatar
i dont think so
17:30
uh
17:30
wtf
17:30
that actionclip function
17:30
is it supposed to just be njAction
17:31
oh ok nvm ignore me
17:32
i
17:32
dont know why it would draw twice, its definitely the right function swap
17:32
17:32
i mean to the point that even the compiled code is basically the same, it just does the init for drawing the thing in it a bit different
17:39
theres something called "njActionOld" btw
17:39
i doubt its meant to be used
17:39
but its 8C5AEDE6 if you wanna take a peek lol
Avatar
yeah I saw it
Avatar
in SADX it's used for MK2
Avatar
Avatar
Exant
oh yeah it totally is
ItsEasyActually 18.05.2024 17:51
i believe Naka once tweeted about having written stuff in "scratch assembly," but what he said was a rather broad statement. based on interviews i've read from the time and the fact it was on the Saturn, Lantern itself was almost certainly written in assembly. (edited)
Avatar
yeee i just assumed that they only wrote like
17:53
the vertex buffer filling stuff to use those prefetch instructions and shit that ninja uses when filling it
17:53
but even the regular drawmodel thing that just calls 3 functions is made in asm, which is what surprised me
Avatar
having seen commercial dreamcast source code i can't be more specific about, there's a surprising amount that gets done with handwritten asm instead so probably not too uncommon of a practice for the system
🤔 1
Avatar
wow youre a tease
18:14
if it uses shc just tell us the compiler flags from it incase it helps us figure out what compiler sa1dc used lol
18:14
(kidding)
18:14
(or am i)
Avatar
i am working to get permission to release sorry :p slowest process
Avatar
ye its cool im kidding lol
18:15
incase youre wondering what i was referring to
18:15
i had an sa1dc match decomp project set up
18:15
(and theres also an sa2dc one that decomps chao which is kinda working but i didnt have time to continue it since a while)
18:15
and the first file i tried matching was like a relatively simple
18:15
particle.c iirc
18:16
and there was a function that was basically unmatchable because the generated asm in the game has some sort of weird extra completely redundant mov in it???
18:16
and our result didnt
18:16
we tried getting an earlier compiler thanks to pkr efforts but that didnt help either
18:16
i even tried the sgi builds of shc
18:16
using the same set up that the n64 folks used to run the irix compiler stuff
18:17
soooo my only theory rn is, well its a fact that shc has a ton of weird hidden flags that are labelled with like numbers, maybe one of them causes this weird generation?
18:17
and because of this i never continued cuz i didnt wanna waste my time trying to match other functions when we might not even have the right compiler etc
Avatar
getting away with the secret undocumented internal tricks
Avatar
i was really lucky that i basically got sa2's setup down the first try
18:18
they didnt do anything fancy there
Avatar
Avatar
Exant
if it uses shc just tell us the compiler flags from it incase it helps us figure out what compiler sa1dc used lol
i would have to go home to even look imaDab maybe. no guarantee at all it would be the same compiler tho
Avatar
yeee i have a feeling that only sega used shc?
18:20
though i feel like shc had to have been the "smartest" of them all for sh4 (despite still being extremely fucking stupid) (edited)
Avatar
ItsEasyActually 18.05.2024 18:21
seeing shc and all i can think of is the sonic hacking contest
Avatar
Avatar
ItsEasyActually
seeing shc and all i can think of is the sonic hacking contest
there has to be lots of asm in there
18:25
space channel 5 had an alpha build get out, debug compiled elfs with symbols.. could there be anything interesting to match up from those? or do we already have all libraries and stuff sorted
Avatar
ItsEasyActually 18.05.2024 18:26
wouldn't hurt to look i'm sure
Avatar
@RocketHorse had been doing some work with them for rez
18:30
the debug elfs and symbols are in track 1 of the gdi if anyone wants a look https://hiddenpalace.org/Space_Channel_5_(Aug_11,_1999_prototype)
A prototype of Space Channel 5 for the Dreamcast.
18:36
you can use gdr explorer instead of familyguy's track 3 extractor to access track 1
Avatar
i was literally about to write lol
18:37
thanks
Avatar
no worries, only just remembered lol
Avatar
Avatar
woof
so estimate final build late november-ish?
ItsEasyActually 18.05.2024 19:06
callback to this yesterday, was looking at my files again and forgot i had a list of all of the build dates for all of the versions (taken from IP.BIN) [Build Versions] - Info taken from IP.bin (Initial Program) 10-16-1998 NTSC-J Sonic Adventure AutoDemo v1.000 12-10-1998 NTSC-J Sonic Adventure v1.007 03-02-1999 NTSC-J Sonic Adventure Taikenban v1.002 06-03-1999 NTSC-U Sonic Adventure Limited Edition v1.001 06-04-1999 NTSC-U Sonic Adventure Limited Edition v1.002 06-08-1999 PAL Sonic Adventure Trial for E3 v1.000 08-10-1999 NTSC-U Sonic Adventure (Tournament Disk) v1.000 08-12-1999 NTSC-U Sonic Adventure v1.004 09-09-1999 PAL Sonic Adventure v1.003 09-20-1999 NTSC-J Sonic Adventure International v1.003 10-05-1999 NTSC-U Sonic Adventure (Sega All Stars) v1.005 (edited)
Avatar
Avatar
ItsEasyActually
callback to this yesterday, was looking at my files again and forgot i had a list of all of the build dates for all of the versions (taken from IP.BIN) [Build Versions] - Info taken from IP.bin (Initial Program) 10-16-1998 NTSC-J Sonic Adventure AutoDemo v1.000 12-10-1998 NTSC-J Sonic Adventure v1.007 03-02-1999 NTSC-J Sonic Adventure Taikenban v1.002 06-03-1999 NTSC-U Sonic Adventure Limited Edition v1.001 06-04-1999 NTSC-U Sonic Adventure Limited Edition v1.002 06-08-1999 PAL Sonic Adventure Trial for E3 v1.000 08-10-1999 NTSC-U Sonic Adventure (Tournament Disk) v1.000 08-12-1999 NTSC-U Sonic Adventure v1.004 09-09-1999 PAL Sonic Adventure v1.003 09-20-1999 NTSC-J Sonic Adventure International v1.003 10-05-1999 NTSC-U Sonic Adventure (Sega All Stars) v1.005 (edited)
the hidden palace version of LE has 06-03-1999
Avatar
ItsEasyActually 18.05.2024 19:37
oh no, not another sa2: the trial ordeal where there's multiple dates (edited)
Avatar
ItsEasyActually 18.05.2024 19:38
i cry
19:38
i also wonder if i just wrote it down wrong
19:39
since i'm pretty sure i did pull from HP for all of the non-release builds
Avatar
the HP version is also V1.001
Avatar
ItsEasyActually 18.05.2024 19:41
what mine shows (edited)
19:41
and mine is from hp
19:42
wait
19:42
wrong one
19:42
i'm dumb
19:42
i actually don't have that LE version on my computer, probably on one of my hdds
19:42
interesting there's two
Avatar
you may as well add the tournament disk too
Avatar
ItsEasyActually 18.05.2024 19:45
and updated
19:45
thanks for those
19:46
didn't know there were somehow two versions of LE and never bothered to get the tourney one added
Avatar
Sky Deck's done:
679.32 KB
tailshappy 4
20:09
Here's the latest version of my sheet:
Avatar
ItsEasyActually 18.05.2024 20:10
sweet, nice job speeps
Avatar
Tails' Act 1 layout seems to be fine apart from the big cannon, I think this is the first time we have a stage of his with the dash rings in
20:19
his act 2 and 3 look the same as final
Avatar
is his act 1 still ending at the cannon
Avatar
it still has the rocket there
Avatar
the NEXT ACT is there too, but it's desynced like the cannon and spawns S_MAP instead
20:34
this version might not be the full pre-nerf Sky Deck but it has traces of it at least, like the higher draw distance
20:37
like you can't see most of these background lights in the final game
Avatar
Act 3 is pretty WIP: Everyone still has that early spawn Tails has in final, the sideways gravity section has a lot of issues and the falling objects make the stage laggy.
21:39
They tried to put jump panels in the sideways part but Sonic can't land on them from that direction.
21:44
Knuckles has the same layout as Tails, you can spawn the lever in but it doesn't seem to do anything.
21:45
It didn't call SetUserGravityXZ at all iirc
Avatar
There's this handrail in Act 2 that doesn't exist in final:
Avatar
supercoolsonic 18.05.2024 23:05
video when
Avatar
it's uploading
23:08
tailshappy 3
Avatar
Avatar
woof
for me this produces a crash on loading into red mountain
Same thing.
imaNoUse 1
Avatar
Avatar
MainJP
Same thing.
can't believe they broke core game mechanic in the one version that didn't need it (can believe, no idea how to debug or fix)
0:54
i have a setedit mod that can pause properly (in that mod cause i cleared so much space removing stage timeout), but it feels kind of pointless if it's going to require a reset anyway
Avatar
Avatar
Speeps
Here's the latest version of my sheet:
Can I put this on nextcloud?
Avatar
sure
Avatar
act 2 spawn makes a lot more sense with the rocket thing at the end of act 1
11:02
lol congrats you got a 1-up and KNUCKLES!
Avatar
somewhere in that world he is getting extra lives and he doesn't know why
Avatar
you can get the whale to spawn, it stops behind you lol
imaWave 3
11:18
someone should add the object layout from final to that area (without the dash panels I guess)
Avatar
that is clearly a ring
10ring 1
Avatar
supercoolsonic 19.05.2024 14:19
Is Casinopolis next?
Avatar
nah let's get the big bastard out the way
👀 2
Avatar
get that shit on hardware and it's perfect
16:06
with textutres and shit
Avatar
supercoolsonic 19.05.2024 16:08
OH FUCK YEAH
16:08
Please record a video of that thing snaking
16:08
I wanna know if it actually moved back and forth, or just pops out once and then goes back and disappears
16:09
I have so many questions lmao
Avatar
and how the fuck does it work with the object list
Avatar
supercoolsonic 19.05.2024 16:10
Tornado is a stage function in this version, not a SET object (edited)
Avatar
yeah but I mean like, this stage uses like what, thousands of objects?
Avatar
supercoolsonic 19.05.2024 16:11
Act 1 has a little over 1800 objects placed
Avatar
so I'm curious how that works because there's probably no way it would've worked like that in the final game
Avatar
supercoolsonic 19.05.2024 16:12
Oh definitely. One of the three reasons why I think this version of the stage met its demise
Avatar
Avatar
PkR
yeah but I mean like, this stage uses like what, thousands of objects?
I removed them in case it would make the game crash (Rd_Windy is very large because they shoved the entire tornado in it, so I needed to make sure it loaded first), I'll put it back in now and see what happens
16:16
everything that's common is rings rn so this is either gonna break horribly or put sonic in Ring hell
Avatar
supercoolsonic 19.05.2024 16:16
Ring Valley
Avatar
oh dear god
20ring 4
Avatar
supercoolsonic 19.05.2024 16:17
lol
Avatar
it's like an infestation
Avatar
supercoolsonic 19.05.2024 16:22
I wonder if we can get Act 2 working...
Avatar
still crashing atm, lemme take a second look
Avatar
i think i figured out whats up with the chao randomization code
16:38
sorry to interrupt way cooler stuff going on lol
16:39
its
16:39
it generates negative floats lmao
16:39
which get clamped
16:39
thats sad
16:39
now i cant tell if its intentional or not
16:40
i genuinely feel like it isnt
16:40
like something changed with the shape calculation between this and when it was written and thats whats causing it or something?
16:40
oh no, its not that
16:40
oh god
16:40
okay i thought the order is magnitude, slider1, slider2 but its the other way around
16:41
sliders being negative is definitely intentional, but magnitude is 0 i think so the changes arent visible
16:41
i think this might be the reason why animals give seemingly random results, animals increment magnitude so when you first give an animal to a chao, it increments magnitude, does its slider change but the rest of the sliders are still the original random ones
16:43
chaohappy 3
tailshappy 3
16:43
yeah lol
16:44
well thats mystery solved then
16:44
again sorry to bump, scroll above my bs to see cool windy valley shit
Avatar
what if i want the chao
Avatar
Exant always feel at home with the Chao stuff, you can tell the love he has for them just by talking about the code
Avatar
aww lol
Avatar
i honestly really like when there's several different directions of research happening at the same time
17:06
glad they gave us the messiest build
17:07
is the chao magnitude initialised as 0 from reading predefined data or is it calculated but ending up 0 in the end?
Avatar
its initialized as 0 directly
17:08
set to 0 in code
17:08
i dont know for sure if they actually used this code in the bwv footage or not
17:08
thats why i asked about the flickies last time
17:09
but if they did then its fair to assume that as a quick hack to make them spawn as default chao for the autodemo garden
17:09
they just changed whatever code they had there to set it to 0
17:09
because rn like this the animal stat changes dont make sense either
17:09
which could be explained by this being a quick hack
17:09
if they wanted to do it properly they shouldve initialized the sliders as 0 too (edited)
Avatar
makes sense. was curious for how easy making a patcher mod for it would be, so that's good
17:23
collision's gone mental in this stage
Avatar
most accurate tornado
Avatar
here's the problem with the huge SET File
Avatar
supercoolsonic 19.05.2024 17:50
OH MY-
Avatar
my patch shouldn't be interfering with that so i'm pretty confident that is it functioning as it should as of AD but surely it wasn't always like that for them
Avatar
FINALLY
17:51
i had to make a huuge patch
17:51
write two custom functions
17:52
one more test with the random chao restored and im done lol (edited)
17:53
17:53
and fuck yeah
17:53
NOW its "restored"
imaWave 3
imaDab 3
Avatar
aaaand thats kinda all i wanted to do with the AD lol
🥲 1
Avatar
Avatar
Speeps
Click to see attachment 🖼️
supercoolsonic 19.05.2024 17:53
How did you get it working?!
Avatar
but i would be happy to help with other stuff if needed
17:53
ill package the fixes a bit later
17:53
taking a break now
👍 1
Avatar
wonder if there's any evidence of chao eggs and cocoon mechanics in the code, there was at least a flag name for station square office for the egg spawning
Avatar
o yeah i should try and make that one animal related debug function run later
18:00
and yeah al_main definitely needs an indepth look for more unused models and functions and shit
18:00
cocoon is definitely not there
18:00
i mean just based on the fact that there is no type checking for model init, and there being basically one single placeholder adult model for all the types
Avatar
Avatar
Speeps
collision's gone mental in this stage
ItsEasyActually 19.05.2024 19:17
1. very surprised you got this working right 2. not surprising collision whack since the tornado section uses a different load function than a normal landtable.
Avatar
supercoolsonic 19.05.2024 19:30
👀 !!!!!!!
19:30
AHHH I KNEW IT
19:30
What the hell is happening lol
Avatar
the reason why it's not using a normal landtable is because all the land is animated, they're all created in Rd_Windy
Avatar
supercoolsonic 19.05.2024 19:32
...I knew it
19:32
IEA and I theorized about this
19:32
But then how come it doesn't move in the early footage we have?
Avatar
also when Sonic hits the edge of the tornado it bounces him back in, I did it in the vid but it's a bit hard to see (edited)
19:35
I think they use RegisterCollisionEntry, which as we know from SH2 has no issues at all syncing with the models
Avatar
supercoolsonic 19.05.2024 19:35
uh
Avatar
(it sucks)
Avatar
supercoolsonic 19.05.2024 19:37
So....
19:37
It is indeed broken
Avatar
looking that way
Avatar
ItsEasyActually 19.05.2024 19:38
their mobile collision system is a bit trashy in general tbh
Avatar
they don't bounce in edit mode
Avatar
ItsEasyActually 19.05.2024 19:39
I'm not surprised it was broken here
Avatar
Avatar
Speeps
they don't bounce in edit mode
ItsEasyActually 19.05.2024 19:40
that makes sense
19:41
wonder if that array that holds pointers to the act 2 objects has controls for the movement speeds. I can't remember what it looked like
19:42
might have been a function that sets it all up actually
Avatar
supercoolsonic 19.05.2024 19:51
Honestly, as cool as the floating geometry is, I'm kinda really glad that they didn't do this in the final
19:51
Because it would make me wanna puke
19:53
Also, this was almost surely added in after the footage that we have of the tornado segment was recorded, as they don't move in that version. Makes me wonder how the object layout would've worked, then. Because you can see that starting platform clipping through what would be a T_Spring there on the left.
20:16
ok so that debug function changes between the animal parts on a timer and prints the current tested animal's name and id
👀 1
20:16
its running on all chao so theyre overlapping sadly but yeah
20:24
oops i somehow cropped off the full text
👀 1
20:24
text is LIKE
20:24
basically what we call in modern chao "happiness"
Avatar
act 2 has the same skybox as act 3 outside the tornado
Avatar
supercoolsonic 19.05.2024 20:28
oh
20:28
iirc the final just doesn't have anything outside the tornado walls
Avatar
yeah
Avatar
I couldn't get act 2's textures loaded, it loads them in some weird way and the pointer I have for this one (which works for other times it's used) crashes the game.
tailssad 1
21:27
will probably come back to this tomorrow now because I've been working on it all day lol
Avatar
happy seeing what you've shown so far but all i can imagine is bringing the bouncy tornado experiment into the design meeting and walking away being told to redesign the entire stage instead
Avatar
supercoolsonic 19.05.2024 22:16
do you have the texture files for Act 2 in the way the build expects them? It could be trying to find files that don't exist and crashes (Although missing texture files for this build hasn't stopped it from loading before, but you never know) (edited)
Avatar
would be pretty strange
Avatar
Avatar
Speeps
I couldn't get act 2's textures loaded, it loads them in some weird way and the pointer I have for this one (which works for other times it's used) crashes the game.
so BlockBits evolved from that lol
Avatar
It's also a pain to load Act 2 directly because I have to nop the overlay object or I can't see
6:41
It's fine entering from Act 1 though
Avatar
That said, the skybox and Act 3 end up weird since Act 1's textures just don't unload
🤔 1
Avatar
there's something broken about level select loading levels and then different levels seemingly not being unloaded properly that way too. level select is even accessible within stages too which would be cool to make use of, but this leads to textures having not been unloaded properly and other stage things not initialising correctly. and like, all of this potentially just evidence that something broke when they made the demo builds that wasn't really important to fix cause it's only apparent when doing things outside of the title screen demos and tgs char sel loops... literally just everything they didn't need to test within TGS and autodemo. i'm interested if you find a way to deal with the unloading and proper loading for BWV stuff cause maybe it'll help for diagnosing this.
Avatar
I think it could be fixed by calling njReleaseTextureAll when level select loads
Avatar
Avatar
PkR
I think it could be fixed by calling njReleaseTextureAll when level select loads
i could try to patch for that next week, if someone else wants to investigate there's title screen mode 0d for level select init. this loads the level select char icons without crashing. should be marked in the title screen jump table in ghidra.
Avatar
it's probably because the title screen calls it
Avatar
there's that title mode that worked with the beta version title graphic you reinserted, and i haven't tested if going there and then going to level select might produce better results. that screen seems to have been for a title debug menu that isn't present properly.
13:00
like i think it's supposed to be, you go from title to that screen, then x+y to level select which it already handles input for.
23:25
@Chao Professor found something really cool in the BWV garden
23:25
chao... can swim?
23:25
they cant in ss garden
23:25
im thinking they use some hardcoded if(y < 0) check thing
23:25
and ss garden isnt low enough for that
23:25
ill look into it tomorrow
Avatar
Chao Professor 20.05.2024 23:27
oh, I can message here cocohype yeah isn't this cool??
imaWave 1
23:27
im so used to them ignoring the water
Avatar
yee im hoping i can patch in a different float check (if there is one? i hope its not some weird shit like only swim if there isnt floor below the chao lol) hardcoded for the ss garden to atleast see how it will work there
23:30
i have a feeling based on this though that they cant turn in the water lol
23:30
but thats okay, one more finding i guess
Avatar
Avatar
Exant
and ss garden isnt low enough for that
can they go out the missing elevator door and do it that way? the spawn is at 0,0,0 i think (edited)
Avatar
supercoolsonic 21.05.2024 3:34
Something odd I noticed in Sky Deck is that COLDFAN and CTRLTOWER both have the same spining issue that they do in SADX, where their animated parts spin once, stop, then spin again. Meanwhile in the final Dreamcast version, they both spin just fine. 🤔 I wonder why they broke again for DX
Avatar
Try on Gamecube
Avatar
@ehw here u go
Avatar
Avatar
ItsEasyActually
what mine shows (edited)
yo, sorry for the offtopic but do you know what to edit to change the floating point flag? Also, what is this tool?
Avatar
ItsEasyActually 21.05.2024 10:32
the tool is GDExplorer (or GDI Explorerer?). unfortunately I don't know/remember what needs to be edited to change that. once I'm on my PC later, I can look and see if I did know and can jog my memory
Avatar
alright, thx. I think that tool is open source so I can check
10:35
oh shit, it isn't lol
Avatar
ItsEasyActually 21.05.2024 10:39
for some reason I had that same thought about it...huh
Avatar
Avatar
woof
can they go out the missing elevator door and do it that way? the spawn is at 0,0,0 i think (edited)
Chao Professor 21.05.2024 11:12
yes CB_wheeze
chaohappy 2
sonicbored 1
Avatar
SAVE HIM
Avatar
friendship ended with rings now springs are my best friend
klo_laugh 1
chuckles 1
Avatar
ItsEasyActually 22.05.2024 0:28
windy valley looking more like spring valley
Avatar
after some tips from ehw yesterday I got the object list expanded tonight so WV1 can load all 1813 objects
tailshappy 3
👀 4
Avatar
some kind of spring yard zone
Avatar
Avatar
Speeps
after some tips from ehw yesterday I got the object list expanded tonight so WV1 can load all 1813 objects
also i was wondering does that modification work fine with setedit as is
Avatar
yeah I haven't had any problems with it
imaUwu 1
Avatar
sweet, ty
1:03
this thing's problem is loading too many texlists
1:03
I noped half of them and it works
Avatar
supercoolsonic 22.05.2024 1:06
Oh
1:06
Really? That's the problem??
1:06
Also, is it even loading all the tornado geometry?
1:06
It looks like it's cutting off
Avatar
the overlay cuts off at the top
Avatar
i worry this stage is so old that a lot of engine quirks have changed since. do u wanna debug texlist buffer sizes....
Avatar
supercoolsonic 22.05.2024 1:07
It was compiled in September
1:07
It has to be functional to some extent
1:07
(Copium)
Avatar
yeah but remember iizuka said this thing was basically sonic adventure hidden palace
Avatar
i can see them cutting back for performance quite fast in the last two months of dev
Avatar
here it loads the same texture 3 times
tv 1
knuxbored 1
Avatar
09 00 is my favourite asm instruction
Avatar
Avatar
Speeps
yeah but remember iizuka said this thing was basically sonic adventure hidden palace
Yuji Naka said Sonic Adventure dev on the Dreamcast began in July 1997, and BWV was the first level made. It’s pretty old.
Avatar
if they'd already decided it was getting redesigned it's not impossible the stage was also just being compiled kinda broken anyway until there's something worth fixing implemented right? i'm not remembering offhand if there's any other september compile stage being as strange
Avatar
supercoolsonic 22.05.2024 1:37
The stage was absolutely compiled before all the needed work could be done on it.
1:37
Example: the object texture list is incomplete within the stage file itself and textures will begin desyncing with the object models fairly early on into the list
1:38
It's missing two entries, which are being used by Lauchin and T_Raft2
1:38
The stage isn't obligated to work correctly, but it at least shouldn't crash due to bad pointers or anything similar
Avatar
Avatar
Speeps
friendship ended with rings now springs are my best friend
Level textures look kinda odd, are they missing mipmaps? I can rebuild them with mipmaps if you want (edited)
Avatar
it's the old files ehw had so they're outdated anyway
666.66 KB
Avatar
supercoolsonic 22.05.2024 1:46
Are the 2018 ones not compatible?
Avatar
GOD DAMN IT I JUST GOT IT WORKING AND IT WAS THE STUPIDEST THING
1:50
It wasn't loading too many texture lists at all
1:50
1:50
🧐 2
Avatar
null texture intended behaviour mod done chaosleep
Avatar
supercoolsonic 22.05.2024 1:52
YOOO
Avatar
it's late so I need to go to bed now, but tomorrow I'll fix unloading act 2, throw in the rest of the textures and finally start working on objects lol
smolsonk 1
chaosleep 1
Avatar
@supercoolsonic the Debris PVM in AD Windy Valley is missing mipmaps
Avatar
supercoolsonic 22.05.2024 13:28
Dammit
13:29
Does SADX not auto-generate them with the mod manager?
Avatar
it does if the option is enabled
Avatar
supercoolsonic 22.05.2024 13:30
Huh...
Avatar
actually several PVMs seem to have missing mipmaps, the Tomado one and the WINDY_BACK ones
13:43
there are also some textures that look the same and have the same name and GBIX but they aren't byte identical, not sure if it's an issue or not
Avatar
supercoolsonic 22.05.2024 13:44
Which ones are like that?
13:44
They should all be the same
13:45
That's very strange...
Avatar
there are many. s_m28 in OBJ_WINDY_AD, WINDY01_AD and WINDY02_AD is one example
Avatar
supercoolsonic 22.05.2024 13:50
Compared the Act 1 and Act 2 versions of it. Winmerge says it's identical
Avatar
the OBJ one is different
Avatar
supercoolsonic 22.05.2024 13:51
Still says it's identical
13:51
Also not sure what issues this can cause
13:52
I doubt it would cause issues, but it got picked up by my tool when trying to match texlists
Avatar
supercoolsonic 22.05.2024 13:52
Hmm
Avatar
ItsEasyActually 22.05.2024 13:53
we never added mipmaps to them
13:54
every texture we used wasn't taken from a normal pvr either. everything was done using png and converting it down into pvr
Avatar
other PVMs have mipmaps though
13:54
it's easy to add them anyway
Avatar
ItsEasyActually 22.05.2024 13:54
sure, but this was 2018
13:55
we barely got through programming the thing
13:57
trying to maintain consistency in textures was a nightmare, our general code base was a mess.
13:57
once the rewrite starts in full, any existing issues will be addressed
Avatar
I used the BG pvrs from the ADWV mod but the game didn't like the stage pvms, not even compressed
17:10
sora96/sora62 are the other way around in the AD btw
Avatar
let me know if anyone gets better texture files than what I have now, I need OBJ_WINDY because this one seems to screw up a bunch of geometry textures when I load it
Avatar
supercoolsonic 22.05.2024 17:55
I can provide one later. I made one a few years ago that has the AD’s object list instead of what it’s supposed to be
Avatar
make sure gbix doesn't conflict bc I just got a really fucked up act 1 lol
18:08
combine this with the springs and pretty sure you have a sonic 3d stage
Avatar
Avatar
Speeps
let me know if anyone gets better texture files than what I have now, I need OBJ_WINDY because this one seems to screw up a bunch of geometry textures when I load it
ItsEasyActually 22.05.2024 18:08
my assumption is it's gbix related. i can't guarantee these work, but i went through and fixed all of the files that are shared between these. everything should have correct the gbix values now between textures. if it doesn't, then it's gonna take going through and giving everything unique gbix values to ensure there's no conflicts.
396.68 KB
Avatar
👍🏻 will throw them in now
Avatar
ItsEasyActually 22.05.2024 18:09
expecting it to fail
18:09
there may also be a texture or two in act 3 doesn't line up correctly. i recall there being some textures with the same name, but were clearly meant to be different, between the files
18:10
and i ran into at least one in act 3 that had a smaller sized variation in the files, no idea what the texture was.
Avatar
it's good
tailshappy 3
Avatar
ItsEasyActually 22.05.2024 18:21
woo
Avatar
some of the debris is still missing textures
Avatar
ItsEasyActually 22.05.2024 18:22
probably need to put the textures from debris.pvm into the windy02 or obj one, will do in a bit
👍🏻 1
18:28
do you know which pvm those should be in? my first thought is the obj one, but i'm not positive which one should actually have those
Avatar
oh hold on I don't think I re-added OBJ_WINDY to the texlists, lemme see if that fixes it
Avatar
ItsEasyActually 22.05.2024 18:40
aight
Avatar
this is what happens:
knuxbored 1
Avatar
ItsEasyActually 22.05.2024 19:04
i cry
19:04
that at least gives me a point to look for where the texture is breaking
Avatar
ItsEasyActually 22.05.2024 20:05
okay so
20:06
that only happens when obj_windy is for sure loaded in?
20:07
because at the moment, none of the textures used for those sections of wall have a gbix matching something in obj_windy
20:07
so it must be conflicting with something else....hm
Avatar
Avatar
ItsEasyActually
probably need to put the textures from debris.pvm into the windy02 or obj one, will do in a bit
If those are single texlists in the original, that wouldn’t work. Only individual pvrs will work
Avatar
ItsEasyActually 22.05.2024 20:36
that's enough to handle then
Avatar
obj_windy's texlist is at 0C9FECB8
Avatar
Yeah I added it to split last night
20:40
I woke up too early so I can have a look at this stuff now
20:42
OBJ_WINDY texture count is different between the texlist and the PVM
20:43
I split a bunch of texlists based on IEA's disasm so I'll try to reconstruct them
Avatar
here's the stg file so far if you want to test stuff
20:45
1ST_READ edits to expand the object list for Act 1: 8C0730C2: 0x3FF -> 0x7FF 0080B60C -> 0037C80C 40EA788C - > 701AC98C 44EA788C - > 741AC98C 48EA788C - > 781AC98C 4CEA788C - > 7C1AC98C
20:45
there's a few decorative objs in there I did earlier today
20:47
WV's pvm list is at 8C1906F0, these are the blank entries that need pointers to strings: 8C1906F0-F4 - 00000000 B8EC9F0C - 0x7A Textures (OBJ_WINDY) 8C190710-14 - 00000000 2CDDAA0C - 1 Texture ("win.pvr") 8C190718-1C - 00000000 F4E0AA0C - 0x2D Textures (WINDY_E103) 8C190720-24 - 00000000 B841AD0C - 8 textures (MOUNTAIN_MEXPLOSION)
20:48
last one's already got a string in the file because RM uses it
Avatar
@MainJP how much of the results display branch checks have you looked at so far? i'm thinking when i'm home i probably want to get back to that but if you've anything to add to the ghidra server for it that would be cool..
21:32
there's a sound test for sound effects available from the pause menu with some work required which rockethorse patched for a while ago if that is useful to anybody
Avatar
the game hangs when trying to load textures with mipmaps. It might be running out of memory
22:26
or maybe the mipmap encoding in VrSharp is busted
Avatar
you could test with the sdk tool for generating pvrs maybe
22:28
i used it when i did the level sel char sel icons, just without mipmap generation enabled.. but at least you'd be able to check if it's the mipmaps or the memory or vrsharp more easily..
Avatar
Updated patcher:
  • Emulator is now terminated when you click "build", "build and run" or "run", helps if the demul process gets stuck
  • Added support for including files in folders in mod.ini (example: IncludeFolders=textures), this will add all files (including those in subfolders) to the game's root folder. Useful for organizing PVRs
  • Added single INI file support for pattern replacement. If you have STG02.ini in the mod folder, it will read that instead of pattern.ini when patching STG02.
(edited)
👍 1
Avatar
sadly I gotta go now
22:44
I'll look at textures later if nobody fixes them by then
23:52
Sorry, had work
Avatar
supercoolsonic 23.05.2024 2:11
So, how would the 1ST_READ edits be set up? I don't fully understand the formatting in the ini file
2:13
Also, current version of the patcher doesn't boot
Avatar
That is not the correct format for the ini file (edited)
Avatar
supercoolsonic 23.05.2024 2:22
Oh I know. I was just wondering how to set up those address edits correctly
Avatar
Try the sample mod, it has documentation
Avatar
supercoolsonic 23.05.2024 2:40
Ooh okay
2:45
Looking at it, still not making sense
Avatar
I can help when I’m back but it’ll be in a while
Avatar
supercoolsonic 23.05.2024 2:51
Okay thanks
Avatar
Avatar
supercoolsonic
So, how would the 1ST_READ edits be set up? I don't fully understand the formatting in the ini file
Speeps writes it manually and doesn't use the patcher, so the format is a bit different. The first line would be 630C2=FF07 630C2 is the actual address in the file (memory address 8C0730C2 minus 1ST_READ key 8C010000), FF 07 are the bytes to be written at that address in the order they would appear in the file, so the value 0x03FF would be written as FF 03, and 0x07FF would be FF 07. Since the FF part doesn't change, this can be optimized to: 630C3=07 The other lines are pointer replacements. Basically you look for bytes 00 80 B6 0C and replace them with 00 37 C8 0C and so on. In the patcher, there's the "pattern patch" thing which looks through the file and patches all specified pointers. However, unlike byte patches (like the first line), pattern patches replace actual pointers, not byte sequences. So to convert what Speeps wrote to a pattern patch, you need to flip those values like this: patch1,0CB68000,0CC83700 patch2,8C78EA40,8CC91A70 patch3,8C78EA44,8CC91A74 patch4,8C78EA48,8CC91A78 patch5,8C78EA4C,8CC91A7C Save that in 1ST_READ.ini and place it in the mod folder. Then in mod.ini you need to include the file to be checked for pattern patching in the PatternFiles field. The whole file (without the texture stuff) would look like this: Name=Windy Valley Author=Speeps Version=1.0 Description= Autodemo=True PatternFiles=1ST_READ.BIN [1ST_READ.BIN] ;Expand object list for Act 1 630C3=07 Since the patcher is being developed alongside the mods made for it, I'm experimenting with different ways to make changes to files. This is how it's set up at this point. (edited)
Avatar
Updated patcher:
  • Added "Stop" button to kill emulator process
  • Fixed a bug with applying pattern patches via individual INI files Updated the sample mod too with more explanations and use of new stuff.
(edited)
Avatar
now I want to add manual VQ encoding to Texture Editor
Avatar
Avatar
supercoolsonic
Also, current version of the patcher doesn't boot
the patcher not booting i've had happen before when i formatted a mod ini incorrectly but it was fixed by removing the invalid mod and also by correcting it, if that is what was happening here
12:46
changing which mods are active and then saving and then clicking reload would effectively undo what was just saved also cause patcher would reload the state it initialised in instead of what was saved since then iirc
Avatar
is that on the latest version? I remember fixing that
Avatar
Avatar
PkR
now I want to add manual VQ encoding to Texture Editor
welp, apparently VrSharp doesn't support it, at least from what I can tell (edited)
Avatar
Avatar
PkR
is that on the latest version? I remember fixing that
last version available before 17th of may, so if you remember fixing it since then then you must have
Avatar
Avatar
PkR
welp, apparently VrSharp doesn't support it, at least from what I can tell (edited)
ItsEasyActually 23.05.2024 13:22
https://github.com/X-Hax/SA3D.Texturing Justin's might. it's also a NuGet package.
SA3D Texture handler library. Contribute to X-Hax/SA3D.Texturing development by creating an account on GitHub.
Avatar
Thanks, but there's no way I'm going to rewrite everything that uses textures to use a completely different library
Avatar
ItsEasyActually 23.05.2024 13:25
that's fair
Avatar
from my past experience with Justin's code it's also pretty alien to how SA Tools are written
13:26
as in, it's probably much better from a professional point of view but it's just hard to adapt for our purposes
Avatar
ItsEasyActually 23.05.2024 13:28
it's debatable on being better in any sense. it's just a different design philosphy. tbh, i missed where you said you were looking at it for the texture editor lol
13:28
otherwise i'd have not suggested it. as much as i'd love to switch to his library since it's got more/better support than PuyoTools, it's just too much to switch (edited)
Avatar
Claire the Rabbit 23.05.2024 19:24
can someone explain what the "SET DATA TYPE" in the SET editor actually does
Avatar
ItsEasyActually 23.05.2024 19:41
I think it was for dev purposes. common means it should appear in everyone's set file while player dependent means its for that character only.
Avatar
Claire the Rabbit 23.05.2024 19:45
does it actually reference _s and _u files, like SA2?
Avatar
ItsEasyActually 23.05.2024 19:46
no
19:46
that's an sa2 thing
Avatar
Claire the Rabbit 23.05.2024 19:46
so whoever wrote the tcrf articles just blindly copypasted from SA2
Avatar
ItsEasyActually 23.05.2024 19:47
there is a chance there's something i'm unaware of with it, but i'm about 99% sure they don't have any reference to that
19:47
there's never been evidence they had filenames like that in sa1 at any point to my knowledge
19:52
afaik, the set editor in the games doesn't actually write anything to the set files, so we can't really say it'd save them to an _s or _u named file based on what the data type was set to. and i'm doing some looking for those strings, but nothing is popping regarding set files in the autodemo. meanwhile checking sa2, it's riddled with references to the set filename formatting including those. (edited)
19:52
so it's definitely an sa2 thing
Avatar
supercoolsonic 23.05.2024 20:03
Ah okay
20:03
Thanks
Avatar
Always thought it was weird that was in SA1's, does it change literally anything about the objects that get placed?
Avatar
ItsEasyActually 23.05.2024 20:47
not to my knowledge
20:47
there's a chance
20:47
iirc, the autodemo does have at least one set file (i think) that doesn't have the character identifier string attached to it i can't find it, so i'm wrong (edited)
20:47
perhaps at some point in dev
20:48
they intended on having a single set file that would contain the common data and then a player specific one, later changing that design to solely be character specific set files
Avatar
Avatar
ItsEasyActually
iirc, the autodemo does have at least one set file (i think) that doesn't have the character identifier string attached to it i can't find it, so i'm wrong (edited)
it's the CAM files that have them, there's Twinkle Park and Lost World
Avatar
ItsEasyActually 23.05.2024 20:49
there it is.
Avatar
they're both very old (30 July)
Avatar
ItsEasyActually 23.05.2024 20:50
yeah
Avatar
the game makes you pause execution and grab the data from ram when saving files like demos. it prints the ending location and you can grab everything from base to there and put it into a file on the computer. there's gotta be some way to do the same for it's set data, and edits do persist through restarting the stage, but you'd maybe be able to look at the setedit work ram for active object and see if anything meaningful changes by setting common or player dependant in system there
21:19
iirc the way i've got it set up atm, active object parameters are right by the setedit mode byte and it's pointer. so around 8c075dc0 i think?
21:20
i can't verify the correct one while away sorry
Avatar
Avatar
supercoolsonic
Here it is
that came out like this ingame:
tv 1
Avatar
supercoolsonic 23.05.2024 21:30
?!?
21:30
I didn't touch the gbix ids in it (edited)
21:31
Maybe those are problematic?
🤔 1
Avatar
ItsEasyActually 23.05.2024 21:35
it's something about obj_windy specifically, and i have no idea what
21:36
probably something we also had to account for in the mod that neither of us can remember
Avatar
yeah there's something fucky with this file, because it does the same thing to Lost World if I load it there
22:30
(I moved it to where OBJ_RUIN usually is to make sure I didn't choose a bad spot for the string)
22:33
Telling WV to load OBJ_RUIN still screws up the skybox but OBJ_RUIN2 seems to work fine
22:34
aside from the fact it's now Sonic's schoolhouse valley
rankB 1
rankC 1
Avatar
argh I know what it is
22:44
the size of all the textures is too large
22:45
see OBJ_WINDY loads fine when I make the land use robot monkey graphics
22:51
someone make windy valley jpeg edition pls
Avatar
maybe the memory allocation size/address is fixed similar to set file
23:04
could probably adjust it
🤔 1
Avatar
supercoolsonic 23.05.2024 23:27
They're...too large?
23:27
lol wut
Avatar
i mean object limit was decreased so texture buffer may have gone a similar way
23:51
so just that or making a really optimised version of enough of the textures in the pvm
23:53
would love to investigate forcing the game to run frame limit and game speed for 60fps with bigger object limit and any buffer changes.. ninja lighting and pain..
Avatar
supercoolsonic 24.05.2024 0:10
👀
0:10
Is it true?
0:10
Is it less sensitive than the common spring?
Avatar
well you have to hit the spring to bounce
0:12
it doesn't have any sounds and a few of the chains in act 3 seem to be for older physics because Sonic misses some
Avatar
supercoolsonic 24.05.2024 0:12
Yeah, some are mis-angled for the physics
0:12
Huh...
0:13
It's not programmed to make any noise?
0:13
Have any objects been so far? Have you noticed?
Avatar
most objects in these broken stages don't have sounds
Avatar
supercoolsonic 24.05.2024 0:13
Ohhh...
0:13
iirc Wele's sounds are leftover in the final
0:13
The elevator
Avatar
i've only seen them in Sky Deck iirc
Avatar
supercoolsonic 24.05.2024 0:13
Ah
Avatar
this thing is so broken lol
Avatar
supercoolsonic 24.05.2024 0:47
👀
Avatar
it uses CheckEditMode instead of OnEdit so this text shows up whenever it's onscreen
0:48
idk why they've put it down there, Zang/XYZScl are offscreen
0:48
Avatar
supercoolsonic 24.05.2024 0:48
YO
0:48
Looks like it's kinda like how I implemented it!
0:48
Yesssss
0:49
But does it work?
Avatar
supercoolsonic 24.05.2024 0:49
fuck
Avatar
when you enter it'll start descending
0:50
after a few seconds you start falling
Avatar
supercoolsonic 24.05.2024 0:50
It deloads, I guess?
Avatar
nah it's still going down
Avatar
supercoolsonic 24.05.2024 0:51
???
Avatar
it eventually stops
Avatar
supercoolsonic 24.05.2024 0:51
Does it fit at the docks area near the end of the stage?
0:52
With how far it goes down, I mean
Avatar
it ends up going just out of range so if you try to touch it then it'll respawn up top, but Sonic's shadow shows up on it so it does have collision down there
Avatar
supercoolsonic 24.05.2024 0:56
Weird
Avatar
it went straight past that dock when I placed it up there, but I think YScl is supposed to set the distance it travels judging by the edit mode graphics
0:58
like it draws a flashing second one where offset is
👀 1
Avatar
Avatar
Speeps
it ends up going just out of range so if you try to touch it then it'll respawn up top, but Sonic's shadow shows up on it so it does have collision down there
it stops on the same Y coord every time
🧐 1
Avatar
Avatar
Speeps
it uses CheckEditMode instead of OnEdit so this text shows up whenever it's onscreen
there's been other objects in like ec_hall that draw strings off the screen, wonder if maybe the whole thing was drawn further up at some point..
1:16
don't really know how else it would have been useful to them
Avatar
actually in later objects than bwv, param strings like that draw to the right of the values that affect them and can then clip off the right hand side of the screen. so it's like they originally drew parameter strings below setedit and setedit would be positioned further up? i'll look at the string init when i can.
Avatar
I only have like 18 objects left because of how many are decorative lol, that's amazing
tailshappy 3
Avatar
going to bed now, just got these to go: TRAMPOL B LEAF (Unused) WC WIND PU WIND RAFT RAFT 2 RAFT 3 T_RAFT1 T_RAFT2 TANPOPO TAKO W DOME 1 DOME 2 DOME 3 TSPRING S BRIDG E E-103
👍 3
Avatar
red mountain's got e-104 so probably not too hard there
Avatar
Yeah it's the same
1:59
It's just a big object
1:59
Actually I can probably use ehw's old table for that one since that's what he did
Avatar
Avatar
Speeps
this thing is so broken lol
is that actually part of the stage? or did you add it with setedit?
2:40
iirc its not called by the set file
2:40
come to think of it i didnt think that there mightve been act 3 specifc things in the main level loop
Avatar
Yeah I placed it with setedit
Avatar
Avatar
Speeps
Actually I can probably use ehw's old table for that one since that's what he did
yea that was my initial rosetta stone but definitely verify
Avatar
iirc it does differ a little bit but its mostly the same
Avatar
Avatar
woof
would love to investigate forcing the game to run frame limit and game speed for 60fps with bigger object limit and any buffer changes.. ninja lighting and pain..
i made a 60fps code for the autodemo if you want it
2:50
im not sure if flycast has overclocking support tho
2:50
i know redream doesnt and its really needed
Avatar
flycast can
2:54
i'll take a code but i think i do have the right ram locations for frame limit, delay, and game speed in a cheat table. patcher can take a code list, you could maybe get all your codes included with that (edited)
Avatar
oh actually @Speeps mustve made these originally lol 8C75D0A8 //framerate 8C75D0B0 //framelimit
2:55
i think these are both just set to one
Avatar
This probably breaks cutscenes. For a more complete patch you could edit the functions that set these values for levels, and leave the ones for cutscenes as default. I have a similar patch in SA1-DC-HD for the final US version, I can port it if anyone wants it
Avatar
is there a specific in hub but not in cutscene game loop in this build? as far as i've seen hubs all send through the cutscene loop and action stages send through a loop that also draws hud and doesn't do the pointer check kick from stage thing
14:58
there were more specific stage checks about if the id was higher than the last action stage, something like higher than the last hub, and/or specifically shooting.bin at least... but any stage that would kick you without the mod for it is in that cutscene loop
Avatar
Avatar
woof
there were more specific stage checks about if the id was higher than the last action stage, something like higher than the last hub, and/or specifically shooting.bin at least... but any stage that would kick you without the mod for it is in that cutscene loop
i believe 1st_read has a call to set the framerate and framelimit before a cutscene. i think 8C75D0A8 and 8C75D0B0 are both outside of 1st_read, so if you patch the actual instructions that use those addresses one of them might be the one that sets it for the cutscene
15:13
1st_read locations for 8C75D0A8 (autodemo): ROM:8C045D40 mov.l #h'8C75D0A8, r6 ; Move Immediate Long Data ROM:8C045D64 mov.l #h'8C75D0A8, r5 ; Move Immediate Long Data ROM:8C045D7A mov.l #h'8C75D0A8, r3 ; Move Immediate Long Data ROM:8C045E40 dword_8C045E40: .data.l h'8C75D0A8 ; Probably used by all three of the above 1st_read locations for 8C75D0B0 (autodemo): ROM:8C0444E8 mov.l #h'8C75D0B0, r2 ; Move Immediate Long Data ROM:8C04454E mov.l #h'8C75D0B0, r2 ; Move Immediate Long Data ROM:8C0445F0 dword_8C0445F0: .data.l h'8C75D0B0 ; Probably used by all two above ROM:8C045D4E mov.l #h'8C75D0B0, r1 ; Move Immediate Long Data ROM:8C045E48 dword_8C045E48: .data.l h'8C75D0B0 ;Probably used by above (edited)
Avatar
supercoolsonic 24.05.2024 15:34
Noticed in the tornado section that the collision for all the geometry parts does move slightly up and down. It's just not as exaggerated as the actual visual model's movement. I wonder if that's a pointer error or a value error or... if it's even fixable at all? 🤔
Avatar
Act 2's init is 0C90AC50
Avatar
supercoolsonic 24.05.2024 16:14
16:15
You can see the flowers moving up and down on the right, but it's actually the collision
16:15
that's moving
Avatar
supercoolsonic 24.05.2024 16:19
I mean, either that, or there's a special function running that moves all SET objects up and down slightly except when in edit mode, and the collision is actually still stuck and doesn't move.
16:20
Hmm
16:21
Nah, it's collision
16:21
Collision is moving
Avatar
wouldnt the flowers themselves need landtable collision implemented for that though
16:27
which sounds pretty overkill lol
16:27
i dont know how the "dynamic" landtable collision register stuff works so im just speculating
Avatar
just checked, the platform sonic is on is indeed moving
🧐 1
16:36
ghidra isn't very readable but this object uses forcewk, maybe that's overpowered or something
16:37
it doesn't seem to be a pointer problem because from I can see it doesn't use anything I'm not sure about, it just has stuff like GetMobileLandObject and RegisterCollisionEntry
Avatar
it could be as simple as a missing njTranslate call in the rendering part
16:39
isn't there a COL flag for dynamic collision btw? maybe messing with some flags could help it
Avatar
is there anything i can help figure out
Avatar
btw pls release your Chao Race patch
Avatar
ah fuck thanks for reminding
Avatar
bwv garden needs its ring object pointed to properly if you haven't already fixed that
16:48
this is the build that uses the garden chao, im not sure how much of a restoration it counts as but its definitely the easiest way to have a properly setup chaodata
16:48
also, it doesnt include your textures i think
16:48
i mean pkr
16:49
not intentionally, i dont think i ever got my hands on them or i missed it i guess
16:49
16:49
and ill check out bwv garden now cuz im pretty sure i left some random test bullshit in it
16:50
not in the uploaded build i mean but in my copy lol
16:50
ok cool removed, it was the debug "display" stuff (edited)
16:50
ill fix the ring pointer
5ring 2
16:51
anyone know an existing working stg file that i can quickly yoink the ring from
16:51
i dont remember which levels were already functional in the ad lol
16:51
speed highway should be
16:51
ill check that
16:53
should be okay now
16:53
wait
16:53
no
16:53
christ lol
16:53
i was looking at al_race while i was doing it not the bwv garden (edited)
chuckles 1
Avatar
hoping ring is the only object in its list.
16:54
bleh it was the same pointer anyways lol
16:54
oh
Avatar
Avatar
woof
hoping ring is the only object in its list.
no its not
16:54
fuck
16:54
lol
16:54
this is interesting
Avatar
ss garden's objects all work if you need the others
Avatar
it even has the transporter and everything
16:54
whaaat
16:55
so it had some actual placed objects at some point?
Avatar
set up for it at least
Avatar
we could try making a custom SET file for it
16:55
I wanted to do that with Twinkle Park 1 cause the cart seems to work?
Avatar
that should definitely be like a separate mod though since its "not authentic"
16:57
16:57
ok now it should have everything, sorry for the huge bump everyone (edited)
👍 1
imaWave 1
16:58
17:00
17:00
the flower is really tiny lol
17:04
ohhh I wonder if the SS garden still has that weird fountain thing
Avatar
the ssgarden set list only has these + cube and cyliner
Avatar
the object list might have something
Avatar
I'm gonna go do more objects now but if anyone else wants to check out the WV2 platforms their code is at 0C90A860
Avatar
i would like to help out with it but i couldnt perfectly follow what the issue is lol
17:41
if im understanding correctly is the collision being desynced from the visuals?
Avatar
both collision and actual visual are moving, but the geometry is moving so much more severely than the collision actually is
Avatar
okay im starting to understand the code
17:49
function that uses LoadWindy02Geo is spawning them with specific ids
17:50
ids are used to get the position from the models
17:50
17:50
im guessing this is the earlier mentioned GetMobileLandObject
17:50
(since theres no args)
17:52
some of them are collision objects and some of them are visual?
17:52
thats the part i cant really tell atm
17:52
17:53
based on this it looks like the model either handles visual or collision but not both?
17:53
OR it could be using the visual as collision
17:53
(im guessing all this has been figured out already, just trying to figure it out for myself lol)
Avatar
Avatar
Exant
im guessing this is the earlier mentioned GetMobileLandObject
yup (edited)
Avatar
if its not much trouble can you also tell me 8c045480?
Avatar
RegisterCollisionEntry
Avatar
ooooh okay i confused it with AddToColliEntry earlier (or whatever that function is called)
Avatar
shit I actually have to fix sonic's animations this time
17:56
thank god they're already in the split lol
17:57
is this really getstagenumber?
Avatar
yeah, it's checking if act is 1
Avatar
a lot of objects check the act number for deciding whether they should unload
Avatar
hacky as hell lol
Avatar
yeah lol, sometimes they store the act when they spawn and compare it every frame
17:59
a lot of casinopolis stuff does it
Avatar
the pos_spd thing is realllly weird
18:00
if they use sine for it
18:00
why do they add it to the position
18:00
wouldnt that cause it to keep going up and up and up?
18:00
like, instead of directly setting it to the position?
18:01
i assumed they just kinda float up and down in place consistently without any other position change over down
18:01
though i havent seen ingame gameplay of it, ill see if there is any above
18:01
sorry to muddy the waters
Avatar
isn't sine normally used for that kind of thing?
18:01
cause it goes up and down
Avatar
yes, but whats weird is that instead of directly setting the result (edited)
18:01
okay ill keep looking further because the video shows it works how i thought it does
18:02
basically its like
18:02
pos.y += pos_spd pos_spd = sin
18:02
which means if the pos.y isnt reset between the additions (edited)
18:02
it would cause bizarre movement
18:02
thats what i got caught up on
18:03
18:03
im guessing this is just a really lazy check to see if the platform is onscreen to render
18:05
well i understand the code now i think
Avatar
okay done, 8C180B0C -> 8C19B27C (this should fix the pillars in Sky Deck too)
Avatar
Avatar
Exant
which means if the pos.y isnt reset between the additions (edited)
not this part though but im guessing im just missing something?
Avatar
Avatar
Exant
Click to see attachment 🖼️
yeah that 750 is like max cam dist or something, I checked it earlier
18:08
it's obvious if you make it lower
Avatar
did anyone check if its not just the visual and colli model being weird
18:10
though i dont completely understand that part yet either
18:10
if im understanding correctly it uses collision object for the collision when there is one at the specified index, if not then visual
18:11
18:11
yeah
18:11
and in the render
18:11
if there isnt a collision model
18:12
it means it can directly use the mobileobject or whatever i should call it
18:12
to render
18:12
since thats also the visual model anyways
18:12
however if there is a collision model then it shouldnt render that, and isntead use the actual visual model
18:12
this is very roundabout way of explaining it but i think this is what it does lol
18:12
now the question is
18:13
do the "desynced"/off platforms have a collision model or not
18:15
this could be unlikely
18:15
and this idea might be bullshit from the getgo
18:15
but what im imagining rn is
18:15
imagine the collision model is something very flat, moving a tiny bit up and down
18:16
okay so long story short what if the visual model is made really weirdly and because its like a child of something thats scaled down or some weird shit like that it causes it to look exaggurated like that
18:16
its a very crackhead idea but it should be easy to rule out if we check them
18:16
or even better
18:17
nop out c90ab14 (09 00), patch 0c90ab16 to 16 a0
18:17
this should always force the collision model to render
18:17
maybe that could be valuable as a lead
18:17
ill try and check the models in the meantime
Avatar
Avatar
Exant
this should always force the collision model to render
will do now
18:21
it still moves the same way as the rest of the models
Avatar
wait so
18:22
the collision is moving like the visual does too?
18:22
when youre rendering it like this i mean
Avatar
with that patch yeah
Avatar
thats
18:22
very bizarre
18:23
18:23
this is the full code, now imagine if the if-else got deleted and its only that one line in the if portion that runs
18:23
thats what the patch does
18:23
that means it literally does nothing
18:23
other than push, render, pop
18:24
that would mean it should be accurate to what the actual collision logic sees too
18:24
sooooo
18:24
thats really weird lol
Avatar
I just froze it in CE before loading the stage but if it's constantly reading that code it shouldn't matter
Avatar
no i believe you that the patch worked fine
18:25
i just have no idea what it could be
Avatar
strange
Avatar
im starting to think its something about the collision itself
18:26
lol i mean like
18:26
the logic not being able to handle moving parts this well or something
Avatar
no wonder nobody at ST wanted to touch this stage lol
Avatar
im sorry if im overreaching but
18:28
do you think you could send the existing stuff and help me load into act 2 (if there is a way to instantly do that, if not ill savestate or something)
18:28
i wanna take a peek at it in a debugger
Avatar
sure hold on
Avatar
ItsEasyActually 24.05.2024 18:29
moving collision in sa1 is just kinda fucked in general. i'm not the least bit surprised this is such a mess
Avatar
there is also another thing
18:30
use the patcher to get title screen input and set editor
Avatar
do you know if they reuse any of the pieces
18:30
in the tornado
18:30
like the ones you stand on atleast
18:30
well specifically the ones that are broken
18:30
18:31
they set the position here to 0 (so that only the translation from the twp applies)
Avatar
they all look unique to me
Avatar
yeeah thought so
Avatar
Avatar
Speeps
Click to see attachment 🖼️
thanks btw
Avatar
there's some missing floors but that's because I haven't done the RAFT objects yet
Avatar
ItsEasyActually 24.05.2024 18:33
all the tornado pieces should be unique
Avatar
yeeeah i was about to say
18:33
do you know how to
18:33
not fall through the whole stage lol
18:33
oh
18:33
you mentioned set edit
18:33
nvm
18:33
ill do that
Avatar
yeah lol
18:34
you have to wait a bit at the start too for the camera to stop running away
18:46
as i predicted
18:46
its constantly going up
18:46
or atleast i think it is
18:46
its a bit hard to look at it through ram editor
18:46
i should get CE
18:48
18:48
18:48
slow and steady it keeps going up and up and up
18:48
so for one, i think that might be a mistake lol
18:48
but i dont think thats what causes this behavior
18:52
18:52
it stores the original position here though
18:53
wait
18:54
okay i had a theory that maybe it has the ignore position flag on it or something
18:54
it only has flag 0x10 on it though i think
18:55
yeah thats not ignore translation
18:55
what about the attribute flag in the register?
18:57
its also pretty interesting that
18:57
they set the taskwk flag |= 0x100 manually outside of the register
18:58
while the register does it itself anyways
18:58
i think this might point to
18:58
the function changed since they used it here
19:01
i looked at decomp land.h, there's a flag that sets update collision every frame, maybe that's needed? just shooting the shit though
19:01
ill try making a custom function that passes that flag cuz I dont think I have enough space to patch it in here
19:02
@PkR can the patcher apply pattern patch to replaced files?
19:02
er not pattern
19:02
mod.ini patch
19:02
byte patch
Avatar
yeah that should work as long as the mod order is correct
19:07
I found a terrible bug though, lemme fix it
19:08
btw here you go
342 bytes
19:08
should work in flycast
Avatar
for a proof of concept, ill shit all my code onto the act 1 path for now since i cant find unused space (i need 0x24 bytes)
Avatar
welp it just crashes no matter what i try even though its like the simplest code ever
19:19
maybe it still loads the path1 shit and somehow fucks up
Avatar
lol if you spawn Tails in Speed Highway 1 he will follow Eggman's path and die (edited)
Avatar
yeah I recorded it years ago
Avatar
in Ice Cap too he has something weird going on. Maybe we could fix up the start positions
19:59
with "Don't kick out from hubs" if you play a cutscene, the screen is stuck on black but you can move around
Avatar
if you load Tails in Sky Deck you'll get 2P Sonic with controls enabled
Avatar
is there any way I can test an act transition? anywhere
Avatar
those are usually like 5 functions
Avatar
I mean like any location in the game
Avatar
The entrance to the mirror hall can be triggered multiple times
Avatar
ah ok thx
20:05
so I made a less invasive version of "Always enable controls". It seems to work in Action Stages and fields, doesn't affect cutscenes and demos. The old version is still in the ini file, just commented out
Avatar
Avatar
Exant
maybe it still loads the path1 shit and somehow fucks up
took a short break, can confirm the game doesnt nearly get to my code, its definitely the location
20:08
shiiiit
Avatar
I hope it's not the patcher lmao
Avatar
i doubt
20:09
theyre in separate mods, first one is the file speeps sent, second one is my hack
20:09
logs when building the iso looked fine
20:09
@Speeps if you have time can you quickly pass me a function that guaranteed 10000% only runs in act 1
20:09
or something like that
20:09
i need some place to shit my code in lol
20:10
ill try windyelevator for now
20:11
still doesnt load, this is starting to be weird
Avatar
ok it might be the patcher lol
20:15
20:15
20:15
this pointer didnt change
20:15
maybe it applies it to the original file?
20:15
ok well
20:15
ill try that tool
20:15
that converts it
20:15
and then append my hack onto that
Avatar
Avatar
PkR
To create a diff ini from two binaries you can use the tool in sa_tools_research patternpatchmaker STG03.PRS STG03new.PRS -i Then you add the contents of the output file to the bottom of mod.ini (edited)
i dont know where sa_tools_research is lol
Avatar
Avatar
Exant
i dont know where sa_tools_research is lol
Additional tools related to hacking Sonic Adventure and other games. - X-Hax/sa_tools_research
20:18
thanks
20:18
and im guessing
20:19
this also automatically uncompresses the target/original prs to make the ini?
20:19
since the ini applies it to the uncompressed form
20:21
you appended stuff? @Speeps
20:21
i assumed thats kind of a bad idea because it might overlap with the "bss" segment but im not sure about that
Avatar
yeah Speeps does this to add PVM names
Avatar
yeah I shove them at the end of the file
20:21
it works
20:21
holy shit
20:21
NOW
20:21
(ill make a recording in a sec)
20:21
the question is
20:21
i do two things
20:22
in the hack
20:22
20:22
but which one is it
20:22
the update every frame col flag
20:22
or the translation flag
20:22
those were my two theories
20:22
ill figure that out in a sec
20:22
20:23
this is working right
20:23
im not asking to be snarky lol i just wanna make sure
20:23
i think it is
20:23
sonic is synced to the platform now
20:23
okay
20:23
lemme kill
20:23
the "update every frame" flag set (edited)
20:24
also like this i didnt instantly fall through the floor either
20:25
yes its the flag
20:25
thats what was missing
20:25
(not the ignore translation theory i mean)
Avatar
Claire the Rabbit 24.05.2024 20:25
are you guys making a mod loader for the autodemo
Avatar
good morning
20:25
yeah its awesome
Avatar
Claire the Rabbit 24.05.2024 20:25
insane people in here tbh
imaUwu 2
Avatar
pkrs work
Avatar
Avatar
Claire the Rabbit
are you guys making a mod loader for the autodemo
I'm planning to coerce Exant to make code injection for SA1/Autodemo
20:27
@Speeps here's the fix for now, it fucks up windyelevator though, it will need a better location
20:27
i might be able to shrink it way more
20:27
i just need like, any location lol
Avatar
Avatar
Exant
Click to see attachment 🖼️
footage incase you dont wanna catch up
Avatar
Avatar
Exant
Click to see attachment 🖼️
oh my god
Avatar
Claire the Rabbit 24.05.2024 20:28
so this means SA Tools support for DC right
Avatar
Avatar
Exant
@Speeps here's the fix for now, it fucks up windyelevator though, it will need a better location
in its current state it properly completely crashes if windyelevator is present so this only works for act 2
20:28
the patch is on the bottom
Avatar
how many bytes do you need
Avatar
0x28 but i can try shrink it
20:28
ill try rn
Avatar
loads here
20:29
i need a way to not make it generate padding
20:29
woah that seems like a shitton of space
20:29
what is that?
Avatar
near the end of the file
Avatar
looks like its some empty njs motion?
20:29
ill move it there
Avatar
Avatar
Claire the Rabbit
so this means SA Tools support for DC right
hmmm... go on?
20:30
what kind of support
Avatar
Avatar
Exant
ok it might be the patcher lol
im sorry to keep bumping you guys' convo but can you take a look at this please
20:30
(i mean pkr)
20:31
@Speeps location worked
15.56 KB
20:31
really happy i could contribute something to bwv lol
Avatar
ItsEasyActually 24.05.2024 20:33
well
20:33
i know how terrible the rewrite's gonna be now
20:33
:p
Avatar
niiice
20:33
I wasn't expecting that to get fixed
20:34
now if only we could extend the texture buffer
Avatar
Avatar
ItsEasyActually
i know how terrible the rewrite's gonna be now
lol well this case specifically is easy to fix, it looks like the default behavior when they did the stage was to make collision update every frame so they didnt apply that flag
20:34
fix is just to apply that flag
20:34
20:34
this is all my code does lol
Avatar
Avatar
Speeps
now if only we could extend the texture buffer
is the problem with that the actual "nj_texture_buffer"
20:35
or do you mean the file buffer it loads pvms into
Avatar
put some more work into finding textures for Chao Race
Avatar
Avatar
Exant
or do you mean the file buffer it loads pvms into
Act 1 can't load all the textures it needs because all of the files are too large
20:36
does that use pvms?
20:36
or separate pvrs
20:36
like the blockbit thing
Avatar
ItsEasyActually 24.05.2024 20:36
you mean the individual pvrs?
20:37
cause i can go in and reduce the size of several of them
Avatar
Act 2 and the backgrounds are PVRs but the rest are PVMs
Avatar
it chokes system memory with those textures
20:37
we need to VQ them
Avatar
oh so its actual vram
20:37
not much we can do about that then lol
Avatar
ItsEasyActually 24.05.2024 20:37
i can probably do that too
Avatar
the background is the first thing that breaks, so if you can get that working it should be fine
Avatar
ItsEasyActually 24.05.2024 20:37
i have one of the sdk tools for pvr shit
20:37
should be good enough
Avatar
the other acts are fine iirc
20:37
oh though there are some missing textures in the act 2 debris, but I don't know if that's just missing files
Avatar
ItsEasyActually 24.05.2024 20:38
probably missing files. i never put the debris in the obj pvm since i wasn't sure if they were loose or meant to go with the stage or obj pvm
Avatar
this would be so cool to see in action
20:39
i would love to see how the tornado act plays out now
20:39
with the fix i mean lol
20:39
unless its not very playable
Avatar
Avatar
Exant
ok it might be the patcher lol
yeah... the patcher uncompresses PRS files before applying mods, so if the PRS file is replaced it applies the patch and compresses the file back without the replacement. I'll fix this
Avatar
thanks
20:41
no rush, i was just saying since im guessing speeps works rn with direct file replacement
20:42
so they cant apply my fix without using the ini byte patch exclusively
20:57
it checks if the replacement file is a prs and whether it is on the patch list, and unpacks it
Avatar
yep works
20:59
and i can even confirm that it works in the same mod that has the prs replacement
20:59
so that should make it easy for speeps
20:59
thanks for quick fix
Avatar
the amount of work that BWV has needed compared to the other stages lol, it's a monster
Avatar
so... do we know where start positions are?
Avatar
ItsEasyActually 24.05.2024 21:26
we should have them
21:26
i'm not sure if i labeled them in my 1st_read or not, probably didn't since you're asking
Avatar
uhhh, if we don't already Gamma's Act 2/3 still use BWV's in the final
Avatar
Avatar
ItsEasyActually
probably missing files. i never put the debris in the obj pvm since i wasn't sure if they were loose or meant to go with the stage or obj pvm
ItsEasyActually 24.05.2024 21:28
also re this: it's gonna take me a bit to get this fixed. i did discover that there's dupe textures in these files, so i'm fixing that as a start
👍🏻 1
Avatar
it's pretty nice
tailshappy 3
21:42
I kinda want to fix Sonic spawning under the level though
21:44
with textures
Avatar
Avatar
PkR
with "Don't kick out from hubs" if you play a cutscene, the screen is stuck on black but you can move around
it does the fade but gives you control when it ends. i looked at some ram values that affected that fade, but it seems to be dynamically allocated each time
Avatar
maybe we can prevent it from doing the fadeout at the end
21:53
Here's a slightly nicer version of "enable player controls" that doesn't affect cutscenes
21:54
I added a cart enemy to Twinkle Park 1, it was moving and I could kill it but Sonic doesn't jump in 😦
Avatar
think that's intended as of the state it's in by autodemo, when i did this it behaved the same https://discord.com/channels/446023672147345418/1238561775281111133/1238607852248109076
21:56
you don't need to set the camera value there now i took care of it in the setedit mod
Avatar
I don't use the set edit because the key combination gets in the way lol
Avatar
what's it get in the way of?
Avatar
I accidentally press it all the time
Avatar
oh. it could be modded to a different key combo if that's helpful, but the one it uses rn is the one they designed it for
Avatar
if there was a simple free movement mode without all the other features that'd be super nice
Avatar
that's as simple as setting a byte to 01 but i will not be able to patch or make a code for it rn
22:00
patching for it just requires finding a logical place to check button press values and not obliterate stack after. maybe a button check code works better until then
Avatar
ItsEasyActually 25.05.2024 0:54
okay
0:55
i resized some textures, removed a bunch of duplicates, fixed some name issues
0:55
and used the sdk's pvr tool to convert them all to VQ with mipmaps
0:56
with that said...i don't have an easy way to pull the gbix values from the mod versions and slap them on these
0:58
but once i can get those added so there's no conflicts, these should work
Avatar
easiest way to tell is to load WV1 and see if the BG breaks
Avatar
ItsEasyActually 25.05.2024 1:26
yeah
1:27
i've started on the gbix stuff, but it's gonna be tomorrow at best for me to get it done
1:27
unless PkR or someone has a solution i can use to speed up setting these gbix correctly
1:28
but i'm out for the night regardless, hopefully tomorrow or Sunday i'll have these fixed up
Avatar
supercoolsonic 25.05.2024 2:07
Holy shit
2:08
I can't believe this stage is getting so fixed up and playable in the AD!~
2:08
And it just all started randomly happening this year lol
2:08
Oh, couple questions
2:09
I noticed this a while back when we were making the mod, but how is Baneiwa's rotation handled? It seems to always rotate to have its propellor angled towards the floor. This isn't in our mod, since I couldn't figure out the math for it, so I'm very curious.
2:10
Other question is do we know how functional the wind paths are? The path data exists, but last I recall ehw said that they didn't work; they just ejected you back out immediately if entered.
Avatar
Avatar
supercoolsonic
Other question is do we know how functional the wind paths are? The path data exists, but last I recall ehw said that they didn't work; they just ejected you back out immediately if entered.
I'll take a look when I get around to them, I noped them so they wouldn't crash
Avatar
supercoolsonic 25.05.2024 3:13
Ah
Avatar
Avatar
ItsEasyActually
unless PkR or someone has a solution i can use to speed up setting these gbix correctly
I swear I've seen a "GBIX Transfer" tool before. If I can't find it, I'll put something together
3:18
also, it appears that the VrSharp fork in the Shenmue modding SDK might be able to encode VQ
3:19
oh, the GBIX transfer tool has a different purpose, nvm. I'll get it done in a moment
Avatar
done! - Transfer GBIX from one PVM to another for textures with the same names: GBIXTool -t <file_src> <file_dst> [-i] file_src: PVM with GBIX to be transferred file_dst: PVM which will have the new GBIX -i: Treat upper and lower case as identical when comparing texture names.
Avatar
tried to port over VQ stuff from the Shenmue SDK, wasn't successful. I'll try again sometime
Avatar
Twinkle Park with fixed skybox and other textures
8:09
might be interesting to put the final's objects in there like trap doors in Act 3, enemies etc.
8:18
@Speeps I made it easy to copy paste from the Excel sheet, just copy the names and original/fixed BE values and replace tabs with commas and you've got a pointer replacement in the patcher
Avatar
meh lol
Avatar
hey gyus, look I restored Twinkle Park entrance textures!
tv 1
smolsonk 1
Avatar
Avatar
supercoolsonic
I noticed this a while back when we were making the mod, but how is Baneiwa's rotation handled? It seems to always rotate to have its propellor angled towards the floor. This isn't in our mod, since I couldn't figure out the math for it, so I'm very curious.
i personally couldnt find anything about this, maybe im looking at the wrong object though
9:47
i was looking at 0c902340
9:47
mode 0 just assigns some rand() float
9:47
mode 1 does do a bunch of math, but the end result is only used for setting playertwp[] position
9:48
same with mode 2
9:48
mode 2 might also be doing something unused i think
9:48
9:48
i dont know what that bottom function is, i didnt see it in the excel
9:48
but it only writes into that rotation variable on the stack (edited)
9:48
though maybe it does stuff to the player too based on context?
9:48
anyways, this is also just writing player position stuff
9:49
so yeah i cant find a rotation assignment anywhere to figure that out lol
9:49
displaysub looks very ordinary too
9:50
oh youre in for major disappointment
9:51
nvm lol
9:51
that rand assignment is used for z rotation
9:51
(which i thought maybe i found your rotation and it was random the whole time but thats not it)
9:51
its used for making all propellers start at a random "spin"
9:51
then they increment it by 0x200 on every render
9:51
yeah anyways (edited)
9:51
i couldnt really find anything about it
Avatar
ItsEasyActually 25.05.2024 12:04
@Speeps if you wanna try these. all VQ compressed with mipmaps.
166.47 KB
214.53 KB
12:05
and that gbix tool worked like a charm to fix the gbix values, so there shouldn't be any conflicts
12:10
rather significant file size reduction between reducing the size of some textures and VQ'ing them, hopefully this fixes it. if you need me to do this to any other texture archives, let me know.
imaWave 1
Avatar
doesn't boot with textures but boots if I remove the PVMs 😦
Avatar
Avatar
ItsEasyActually
@Speeps if you wanna try these. all VQ compressed with mipmaps.
nice, I had to remove the mipmaps though because the game was crashing
Avatar
ItsEasyActually 25.05.2024 16:08
i'm just glad it's working
Avatar
Avatar
PkR
hey gyus, look I restored Twinkle Park entrance textures!
supercoolsonic 25.05.2024 16:10
Yeah, AD Station Square has a lot of old textures that we just don't have.
Avatar
the floating wind object is digustingly laggy lol
Avatar
supercoolsonic 25.05.2024 16:25
Oh?
Avatar
of course it doesn't help that before the tornado they placed it 5 times in one spot
Avatar
supercoolsonic 25.05.2024 16:25
I know it has that dynamic leaf effect that's disabled in the final
16:25
Ah lol
16:26
just need to change the fps and it'll be the authentic tokyo international gameplay
16:28
leaves got a bug I need to sort out though
Avatar
I wonder why it hates mipmaps
Avatar
did you get the bridge to show up in act 1
17:03
iirc in mine it was there but invisible
Avatar
which one?
Avatar
both, the one that interacts with sonic when you walk on it
17:03
like in ice cap
Avatar
I haven't done that one yet
Avatar
supercoolsonic 25.05.2024 17:05
The models for the bridge are actually in 1ST_READ, not STG02, interestingly
Avatar
Avatar
Speeps
Click to see attachment 🖼️
btw i love that motion blur lol
Avatar
Avatar
Exant
i couldnt really find anything about it
supercoolsonic 25.05.2024 17:12
Dang. Also, question about the floating behavior of the Act geometry. Do we know for certain that it's meant to be that exaggerated? The much more tame movement of the collision seems more likely, as the larger movement causes the first platform the player starts on inside to clip straight through a TSpring. Also, I noticed that the Lauchins were moving _along with the geometry, and also had their positions kinda fucked up. What's up with that? How in the world does that work lol (edited)
17:13
I mean, unless T_Spring has coding to also move with the geometry... (edited)
Avatar
Avatar
Speeps
Click to see attachment 🖼️
I think the wind in this area is creating too many objects and exploding the game
17:16
I mean look at this lmao
Avatar
supercoolsonic 25.05.2024 17:16
🤔
Avatar
Avatar
supercoolsonic
Dang. Also, question about the floating behavior of the Act geometry. Do we know for certain that it's meant to be that exaggerated? The much more tame movement of the collision seems more likely, as the larger movement causes the first platform the player starts on inside to clip straight through a TSpring. Also, I noticed that the Lauchins were moving _along with the geometry, and also had their positions kinda fucked up. What's up with that? How in the world does that work lol (edited)
this might sound
17:17
a bit crazy
17:17
and it definitely needs backing up
17:17
but i think you guys' eyes were playing tricks on you lol
17:17
because of the "faulty" logic
17:17
all the platforms keep slightly going more and more up
17:17
it would explain that the other shit moving was more of an illusion
17:18
im pretty sure the much more tame movement was because of the collision not updating every frame but who knows how many times per second, and that it always updated in like an "inbetween" state
Avatar
supercoolsonic 25.05.2024 17:18
?!?
Avatar
i personally didnt see
17:18
any movement
17:18
when sonic was standing on it
17:19
so it wouldnt be unlikely that without the update collision every frame flag it always somehow ended up updating around the time the sine was at 0
17:19
and whatever perceptible movement you guys saw on the collision was just the whole thing moving slightly up and up
17:20
as i said this probably needs actual checking but i dont really get why the flowers would track the movement of the land they're put on
17:20
unless that was intentionally coded with like a raycast or something
Avatar
supercoolsonic 25.05.2024 17:20
I swear it was moving up and down. I left Sonic standing on one for minutes
Avatar
maybe a tiny bit yeah but not because of like an actual float change or something
17:21
as in
Avatar
I checked Sonic's position when he was standing on one and it was changing a little bit
Avatar
Avatar
Speeps
I mean look at this lmao
i love it
17:21
the tech demo level
17:21
this is how i imagine the theory
17:21
the red bar is how the landtable moved
17:21
and the blue "interval" is when the collision updated (without the every frame flag)
17:22
so thats my explanation for why the collision sorta moved
17:22
i dont really have an explanation for the flowers
17:22
someone needs to confirm if they have code to stick onto terrain or move or something
17:22
if they dont then its probably fair to assume its the moving up and up and up thing im talking about
Avatar
Avatar
Exant
someone needs to confirm if they have code to stick onto terrain or move or something
it was just the camera from sonic standing on a platform
Avatar
and that the actual flowers are not moving
17:23
yeah thats what im saying
17:23
so yeah i want to say that its like 99% likely this is the intended movement of the terrain
Avatar
supercoolsonic 25.05.2024 17:23
Hmm
Avatar
well, besides the sine bug
17:23
that makes all the terrain go slightly upwards slowly
17:23
i think that was genuinely some bug
17:24
but since the change builds up so little over time and all the other terrain do its not noticable
17:24
this is the sine thing btw
17:24
17:24
like this is a "simulation" of what happens lol
17:24
pos_speed is set to sine
17:24
and it keeps getting added to pos.y
17:24
without pos.y ever being reset back to the origin
17:24
so it builds up
17:25
after 3 seconds the position is already way out of the [-1,1] range that sine should have
Avatar
supercoolsonic 25.05.2024 17:25
Well
17:25
Alright then
Avatar
maybe with less glitchy collision the level might function better now idk?
Avatar
supercoolsonic 25.05.2024 17:26
By the by, this is how the Pu Wind appears in the final with that dynamic effect enabled. I have no idea where all those extra leaves are appearing from lol
17:26
Maybe it was originally like that
17:26
Just more leaves
Avatar
Avatar
supercoolsonic
Just more leaves
yeah
Avatar
Avatar
Exant
maybe with less glitchy collision the level might function better now idk?
supercoolsonic 25.05.2024 17:26
I've tried to "play" it so far, and it definitely feels more stable than before
Avatar
supercoolsonic 25.05.2024 17:27
Hmm
17:27
Definitely seems like a heavy nerf
Avatar
the game can handle it if I remove that one that was copied 5 times
Avatar
supercoolsonic 25.05.2024 17:29
They're not all placed in the exact same spot, are they?
17:29
Because if so that might be a mistake lol
Avatar
those 5 are
Avatar
supercoolsonic 25.05.2024 17:30
Ah
Avatar
I've removed it here
Avatar
supercoolsonic 25.05.2024 17:30
Hm
Avatar
maybe that one was a leftover, it looks like all the others are there to cover the vent
17:31
the copied 5 are usually right next to the leftmost one
Avatar
supercoolsonic 25.05.2024 17:31
It really might not have been intentional
17:31
I don't remember if we removed those from the mod
17:32
I know I scrubbed a lot of dupes, but... It's been a bit
Avatar
i wonder
17:35
this is a long shot
17:35
im not sure how much it would help
17:35
but what render function do the leaves use
17:36
as in like
17:36
easy/simple/palette/regular
17:36
maybe its supposed to use easy
17:36
if it doesnt already
Avatar
the ninja light one, I tried swapping it to palette earlier but that didn't do much other than make them look weird
Avatar
ooooh try easy then pleeease
17:37
palette probably needs some weird additional setup code
17:37
is it drawobject or drawmodel?
17:37
ill get you the pointer
Avatar
object
Avatar
8C5C1CD2
Avatar
oh that's what that is, I just had that as "DrawObject2" lol
Avatar
ye its njEasyDrawObject
17:38
and not the __ one which would cause issues (edited)
Avatar
runs better?
Avatar
it's less laggy than the other one but I still needed to remove those extra winds
Avatar
looking at the SET data I think they were actually dupes of the one next to them
17:54
all of those winds in the other spots have different data but these were identical to that one
Avatar
i got a question, i wonder how much of the set data is like
17:54
complete
17:54
like does it have all the enemies too and stuff?
Avatar
supercoolsonic 25.05.2024 17:55
Everything is placed...
17:55
If that's what you mean
Avatar
ah cool
17:55
yeah
Avatar
supercoolsonic 25.05.2024 17:55
The levels just lacks checkpoints and items and such
17:55
ST never placed them
Avatar
Act 3 has quite a few barren areas
17:57
doesn't have that tails layout they were showing in the announcement footage either
Avatar
supercoolsonic 25.05.2024 17:57
Yeah, his SET wasn't included, sadly
Avatar
no immortal leons at least
Avatar
does the game crash or just lag with the 5 copies?
18:50
if it doesnt crash but just lags a lot i wouldnt remove it imo
Avatar
it crashes with them
Avatar
lol jeeze
Avatar
0C907E9C: 1->2 stops the camera going into space when the big tornado appears
👀 2
18:52
I wonder what texture it's trying to draw on the bottom of it
Avatar
supercoolsonic 25.05.2024 18:52
It's that weird hazy dust effect
18:52
You can see it in the unveiling footage
Avatar
yeah, I mean the name
Avatar
supercoolsonic 25.05.2024 18:53
Oh uh
18:53
...Was it win.pvr?
Avatar
Avatar
Speeps
0C907E9C: 1->2 stops the camera going into space when the big tornado appears
hard coded camera type changes in the main level loop?
18:55
i couldnt really figure out the cam file
Avatar
Avatar
ehw
hard coded camera type changes in the main level loop?
CameraSetEventCamera
Avatar
so i didnt identify all the cam types that were supposed to be there
18:55
nice lol
18:56
the problem with the camera types is they changed the orders around when they added more instead of append to the list they already had at the time
18:56
i dont think i was able to find a rosetta stone for the camera types
Avatar
the camera mode table is at 8C164410
19:03
I think #32/33 are CameraFishing
Avatar
"tomado001", there's multiple frames of it
Avatar
supercoolsonic 25.05.2024 19:17
Oh
Avatar
supercoolsonic 25.05.2024 19:17
Ohhh
Avatar
Avatar
Speeps
like it draws a flashing second one where offset is
yeah the flashing one is the intended finish point, the floating platforms do the same thing in edit mode
👀 1
Avatar
supercoolsonic 25.05.2024 20:23
Can....can they move sideways??
Avatar
SCLX/SCLY are used to scale the line and ANGX sets the angle
Avatar
supercoolsonic 25.05.2024 20:25
Wh-
20:25
So it can go in any direction
20:25
Pretty sure the SET layouts have it only going up and down...
20:26
in Act 2
Avatar
oh and ANGZ is speed (edited)
20:35
Avatar
supercoolsonic 25.05.2024 20:35
I remember that one
Avatar
Well, time for another remake of BWV
tailsscared 2
📴 1
Avatar
let's replace every stage with a different version of WV
Avatar
blockout bwv
Avatar
i'm really glad it was the case that setedit was still compiled despite the code to run it every frame being removed, but that's making me wonder about the final dc version.. has anyone confirmed it's not also unreferenced there?
Avatar
ItsEasyActually 25.05.2024 20:51
the strings are still in there for it iirc
20:51
but i don't know what remains of it in there
Avatar
Avatar
woof
i'm really glad it was the case that setedit was still compiled despite the code to run it every frame being removed, but that's making me wonder about the final dc version.. has anyone confirmed it's not also unreferenced there?
fyi shc compiles all unused functions into the final binary
20:54
including stuff like small utility static functions that get inlined
20:54
which is useful for match decomp lol
20:54
otherwise it would probably be a huge pain in the ass to figure out what was inlined
Avatar
well on the bright side i don’t think restoring the rest of the autodemo can be more complicated than wv lol
21:08
what a weird stage
Avatar
the game is crashing in the tornado if you enter edit mode, it seems to be caused by njPrintC somehow?
21:32
I have zero clue, but taking that out stops it crashing
21:33
wish they used OnEdit instead of CheckEditMode for those things
🤔 1
Avatar
I nopd the offscreen lines from this one and it seems to be working now
21:44
the collision is definitely the wrong one for the floating platforms, since all of these objects have the same issue as the act 2 geometry and only this curved platform's model reaches up here
Avatar
supercoolsonic 25.05.2024 21:44
Huh?
Avatar
supercoolsonic 25.05.2024 21:53
Does the collision not scale with it?
Avatar
it's the same problem the act 2 geometry had
Avatar
supercoolsonic 25.05.2024 21:53
Ah
Avatar
this WV is later than the one in this vid because there's no tornado overlay
Avatar
Avatar
Speeps
the game is crashing in the tornado if you enter edit mode, it seems to be caused by njPrintC somehow?
rendering out of range somehow? it really seems set up for setedit entirely to be rendered over the hud from the top of the screen.. (edited)
Avatar
Avatar
Speeps
this WV is later than the one in this vid because there's no tornado overlay
supercoolsonic 25.05.2024 22:08
Yep
Avatar
i'm gonna look at if the string init can be modified to render it all higher. that occurs in mode 03 of setedit iirc
22:09
mode 04 is once its active and the ring object is being manipulated
22:09
there is no mode 02
22:10
we call it on mode 00, it inits to the button check in mode 01, higher is activation and active and then closing it on mode 05
Avatar
im kinda glad to see the collision issues with some of these objects wasnt just my error lol, at least i hope it still wasnt
Avatar
it's a proto, no refinement yet. it's okay for things to be broken
22:10
i think
22:11
like, if we fix it all idk how accurate it would even be to what it was at that time
22:11
seems like the engine changed a lot and they decided to redo the stage and probably just left it as is until there was a final wv blockout ready to work with
Avatar
the thing is though a lot of objects exhibit collision issues which is suspect. i think there were some object near the capsule in act 3 that i swear should work when you step on them but you fall through
Avatar
the columns
Avatar
i cant remember if they were objects are just part of the landtable but theyre the columbs
22:14
tea
22:14
yeah
Avatar
supercoolsonic 25.05.2024 22:14
They're objects
22:15
That issue is caused by a bounds issue, tho.
Avatar
thats the object i assumed i did something wrong because its just a pure static object, it doesnt do anything. the other objects i can kinda get because they move around
22:18
i also kinda wonder if the set file sets invalid parameters for some objects - some of the turbine objects seem to go too fast for instance. like the functions that deal with animation speed rates was different at some point and needed a higher value specified in the set file to work at a similar speed if the result was cut in half
Avatar
it is really like a snapshot of the reveal trailer version of the game. and not unlikely they'd already decided it was getting redone at that point.. no reason to keep it up to date with the late engine changes
22:22
also suggesting a lot of crunch for the last three months of dev. like they have windy valley, hot shelter, casinopolis, mystic ruins, station square, chaos battles, the end of the twinkle park redesign to do... physics changes and engine fundamentals being changed
22:22
so if you wanted this to be accurate to what it was, you'd have to change the physics and fix the ninja lighting and make the game run bad at 60 fps and game speed
22:23
which we can do and it would be fun
22:23
but it's also going to be a guess without like, really analysing the reveal footage for physics stuff
Avatar
oh thats right is the foliage still animating at a high speed as well
22:42
the flower/grass was a tip off that maybe it was something wrong
Avatar
supercoolsonic 25.05.2024 22:47
...Still don't really get why some people think the animations are going too fast. The wind is blowin' them around. Nothing else really to it.
Avatar
is Tspring's model in 1ST_READ?
Avatar
supercoolsonic 25.05.2024 22:47
Afaik, it's been removed
22:47
Try pointing to the common spring model and see what happens
22:48
But yeah, it was apparently in 1ST_READ, like the bridge
Avatar
works with it loading spring models, needed to nop the two bytes at 0C906642 so their ypos didn't get set to 0
👀 1
Avatar
ItsEasyActually 25.05.2024 23:03
knowing the stage parts in act 2 move now
23:03
TSpring was probably a mild variant to work better with the moving platforms
Avatar
supercoolsonic 25.05.2024 23:03
^
Avatar
they do move with the platforms
Avatar
supercoolsonic 25.05.2024 23:03
That explains it
Avatar
and it uses SetRegularTexture
Avatar
supercoolsonic 25.05.2024 23:04
Oh?
Avatar
Avatar
supercoolsonic
...Still don't really get why some people think the animations are going too fast. The wind is blowin' them around. Nothing else really to it.
lemme check my domesday cap from the tokyo forum rubberduck
Avatar
supercoolsonic 25.05.2024 23:04
It uses common textures?!
Avatar
yeah
Avatar
supercoolsonic 25.05.2024 23:04
Interesting...
23:05
And it points to a single model and displays it twice?
Avatar
Avatar
supercoolsonic
And it points to a single model and displays it twice?
nah it has 3, I just used one to make it load
Avatar
supercoolsonic 25.05.2024 23:06
Ah
Avatar
oh it might just actually be a spring lol
Avatar
ItsEasyActually 25.05.2024 23:07
it's pointing to the spring base, yeah? it's just a normal spring with code to make it move. it was something i thought it could be.
Avatar
here's the regular spring's code
Avatar
supercoolsonic 25.05.2024 23:08
ehw said that it's supposed to be pointing to a certain area in 1ST_READ, but there's no appropriate model or data that would work in that area
Avatar
yea i thought at first it was looking for data in 1st_read iirc
Avatar
lol omg
23:13
is that the object that acts like a spring but slowly retracts after you hit it
Avatar
Avatar
ehw
is that the object that acts like a spring but slowly retracts after you hit it
supercoolsonic 25.05.2024 23:38
That's Lauchin. Its model is in STG02. This is T_Spring.
Avatar
supercoolsonic 25.05.2024 23:52
What if you point it at the jam spring?
Avatar
hold on
Avatar
testing something:
0:09
0:09
this is from a domesday cap of the tokyo forum tape
0:10
so i can get some accurate-ish reference material if needed
0:12
deinterlaced too
Avatar
Avatar
supercoolsonic
What if you point it at the jam spring?
Avatar
supercoolsonic 26.05.2024 0:13
huh
Avatar
were the textures for the spring stored somewhere when they were initially discovered?
Avatar
it just used common ones
Avatar
this shows the animated foliage pretty clearly btw:
0:22
not sure if thats what it looks like atm
Avatar
looks the same to me
0:52
hello placeholder bridge
Avatar
supercoolsonic 26.05.2024 0:52
Yeah they were gonna put one there
Avatar
even made it into this lol
Avatar
haw i forgot that the railing goes nowhere
Avatar
this looks so good..
Avatar
Avatar
Speeps
Click to see attachment 🖼️
roughly the same spot
1:09
lol amazing
1:11
so about the prepalette based lighting seen in some of the early footage, did that work in tandem with lantern or was it a lighting system that took care of both the environment and character/object models at the same time?
Avatar
Avatar
Speeps
even made it into this lol
like the textureless bridge has a blue tint to it, i wonder if that wouldve been affected by lantern or something else
Avatar
it's still used for a few things (switches) but most stuff was moved to lantern
Avatar
Avatar
ehw
like the textureless bridge has a blue tint to it, i wonder if that wouldve been affected by lantern or something else
ItsEasyActually 26.05.2024 1:36
it's a material color iirc, so it would have rendered with it under the non-lantern lighting I believe. I would have to check the models again to be sure though
Avatar
gonna go to bed, only set object left is E103
Avatar
Is there a compilation of every showcase of bwv already?
Avatar
supercoolsonic 26.05.2024 14:41
I think MainMemory made one a long time ago, but I can't find it
Avatar
are starting positions located in 1st_read or the stage binary? i'm thinking about the unused knuckles demo recording for it. it doesn't seem correct at all for the start position he uses in AD
Avatar
supercoolsonic 26.05.2024 15:06
What Knuckles demo?
Avatar
this for reference. it's an alternate key file on the disc https://x.com/woofmute/status/987097339205685253
Difficult to judge how much of this goes wrong due to desync, but there's an unused demo file in the Sonic Adventure Autodemo that's pretty much a dev messing around with the demo recorder for a few seconds.
🤔 1
15:08
i'm thinking maybe a stage design change happened, but maybe just a different start position would work (edited)
Avatar
Avatar
woof
are starting positions located in 1st_read or the stage binary? i'm thinking about the unused knuckles demo recording for it. it doesn't seem correct at all for the start position he uses in AD
in the final they're in 1ST_READ for sure
15:08
I'm also interested in finding them, will look now
15:10
btw I have a request. Could you make a patch to start the game right on the dev level select screen?
Avatar
could force title jumplist to case 0d immediately.. could probably just modify the first jump it takes there to the correct offset
Avatar
found 3 copies of Twinkle Park Act 1 start position
Avatar
i think somebody did make a mod for that already but i haven't investigated it. they might be forcing it to case 00 which will break if you have level sel char sel icons in
15:13
0d loads those properly
Avatar
I get this issue that the game sometimes hangs when transitioning to the dev level select
Avatar
are you on the current version of title input?
Avatar
Avatar
PkR
found 3 copies of Twinkle Park Act 1 start position
Gamma still has the BWV starts for Act 2/3 in final so those should be easy to find too
Avatar
i had an issue where it was possible to hold the buttons too long which forced 0d too much and crashed it, i fixed it by checking the on press button bytes. that fix is in the current version uploaded.
15:15
but if it's still doing it.. debug time when i'm home
Avatar
Avatar
woof
are you on the current version of title input?
0.2
15:16
oooh you updated it
15:16
sorry, I'll check with the new version
Avatar
no worries, but if there's still crashes there lmk
Avatar
supercoolsonic 26.05.2024 15:17
I'm on 0.5 and it still hangs sometimes
Avatar
Avatar
supercoolsonic
I'm on 0.5 and it still hangs sometimes
imaNoUse
15:18
i can debug from wednesday night
👍 1
15:19
i don't know why it would be wrong unless maybe i need to delay input longer..
Avatar
supercoolsonic 26.05.2024 15:19
I noticed that it only started happening when I added the level select icons mod, I believe
Avatar
might be textures
Avatar
it does that weird thing where the loading graphic gets overwritten by the icons... have i messed up the gbix maybe
15:20
maybe they are too big maybe i need to do that better
15:21
file size i mean, for dimensions they're 128x128 because that was the dimension of the square when i measured it
15:25
final doesn't use the loading graphic except for when you force it into the demo loop, i'm kinda wondering if it's better to try and get rid of it...
Avatar
I had a similar issue with textures for the loading thing glitching in the TGS Mode mode mod. It happened after the intro movie because it force frees all textures right before the title screen. Maybe it's something similar
15:29
it seems like the start position arrays have duplicate items?
15:29
split crashes because it finds Windy Valley Act 2 twice
Avatar
supercoolsonic 26.05.2024 15:30
Is it finding both Sonic's and Gamma's coordinates? Or is saying that Sonic has two coordinates for Act 2?
Avatar
it says an item with the same key has already been added
Avatar
Avatar
PkR
I had a similar issue with textures for the loading thing glitching in the TGS Mode mode mod. It happened after the intro movie because it force frees all textures right before the title screen. Maybe it's something similar
is that a mod for final version?
Avatar
it's a mod for SADX 2004
Avatar
maybe we can just destroy the loading texture init functions
15:34
i think i found the one where it passes the filename and goes on to load it. probably marked in ghidra
Avatar
are there any sound effect calls in any objects for wv?
15:58
i never figured out how playing music worked but figured it wouldnt work because i assume the demo exclusively uses the afs file for everything
16:05
it looks like i looked at it a long time ago and figured that 1st_read specified a fixed number of tracks in the afs, so youd need to modify the routine if you wanted to read more
16:05
ROM:8C0DE1BA mov.l #aEvent_adx_afs, r5 ; "event_adx.afs" ROM:8C0DE1BC mov.l #LoadFromAFS, r3 ; Move Immediate Long Data ROM:8C0DE1BE mov.w #h'800, r7 ; voice amount? ROM:8C0DE1C0 mov.l #h'8C797918, r6 ; Move Immediate Long Data ROM:8C0DE1C2 jsr @r3 ; LoadFromAFS ; Jump to Subroutine ROM:8C0DE1C4 mov #0, r4 ; Move Immediate Byte Data ROM:8C0DE1C6 mov.l #aBgm_afs, r5 ; "bgm.afs" ROM:8C0DE1C8 mov #h'20, r7 ; ' ' ; track no? ROM:8C0DE1CA mov.l #LoadFromAFS, r2 ; Move Immediate Long Data ROM:8C0DE1CC mov.l #h'8C798930, r6 ; Move Immediate Long Data ROM:8C0DE1CE jsr @r2 ; LoadFromAFS ; Jump to Subroutine
16:06
8C798930 is someplace in ram, probably the 'track number'?
Avatar
i think it was mentioned skydeck was set up for music to be played at least? might be nice to mod the afs to include the songs along with modifying that function
Avatar
lemme check what i did for red mountain
16:10
i was confused because the music for all three acts of emerald coast are here but they dont load for act 1/2, but do for 3
16:11
i wonder how/why
Avatar
Avatar
PkR
split crashes because it finds Windy Valley Act 2 twice
looks like the arrays never terminate and all characters just go one after another
16:19
seems like one character is missing
Avatar
red mountain is adx #23, track 22 or $16 in hex if thats how it works
Avatar
it'll be passing it in hex for sure
16:27
but like i think skydeck had afs track ids, but the tracks aren't there ofc
16:28
so maybe it's as simple as adding them and maybe figuring out any other track ids that are referenced but missing
16:28
either in the stage bin or maybe spr task debug would tell you
Avatar
are there any emulators that can do a memory dump?
Avatar
demul through cheat engine
16:30
flycast through cheat engine if you have serial out and use a tool to view std out on game boot and get the ram base address
16:30
demul is always ram base 2c010000 for 1st_read and work ram
Avatar
Avatar
PkR
seems like one character is missing
ok I think I found all of them
imaWave 1
Avatar
Avatar
woof
demul is always ram base 2c010000 for 1st_read and work ram
you can export a ram range through the cheat engine memory view, but make sure to tell it not to include a header so it's just raw ram
Avatar
has anyone just looked at a savestate file from various emulators? im sure the state info includes a full ram dump somewhere too
16:34
just compressed
Avatar
could just load a state and then dump from cheat engine with demul paused maybe?
16:44
not 100% sure if the character order is the same but it should be
Avatar
Avatar
ehw
has anyone just looked at a savestate file from various emulators? im sure the state info includes a full ram dump somewhere too
also there is a shared ghidra server we are using, do you have or want access to that?
Avatar
nah not right now
16:52
i think i can add a ram dump to flycast
16:52
sec
Avatar
Avatar
PkR
not 100% sure if the character order is the same but it should be
thank you, i'll investigate if there's any logical places for that unused knuckles demo to start at
Avatar
Exant's Chao Race with fixed start position for Sonic
17:29
just need to fix his action list (I had to make every animation the dying one lol)
Avatar
supercoolsonic 26.05.2024 17:30
lol
Avatar
does the final game spawn the object using the set file or with something in the main loop
Avatar
it's a set object
17:30
i was hoping there was a hint where he mightve been used
Avatar
well when he flies he'll want to go back to his arena
17:31
lemme put him high up
Avatar
ohh so thats what that is
17:31
i remember when i spawned him ages ago he just kept flying lol
17:31
i had to keep hitting him to get him to stop
17:32
im still building flycast btw
17:32
lol
17:33
the object even still loads the boss title card too i remember
17:34
he goes to the area before the tornado just like final
👍 3
Avatar
oh nice!
17:34
i shouldve assumed so, i thought since gamma had coords specified for all 3 acts i thought maybe he was meant to go to act 3
17:35
so thats where ive been spawning him
17:36
does the tornado still spawn tho
Avatar
there's usually leftover coords in the acts characters don't go to anyway
17:36
also yeah
17:36
bye
🌪️ 2
chalkgamma 2
Avatar
supercoolsonic 26.05.2024 17:37
"This presents a problem"
Avatar
Avatar
Exant
looks like its some empty njs motion?
just found out what NJS_MOTION this was lol, we've shoved it in the middle of mdata_e_wait2_1034_wait0_windy
Avatar
I threw it at the end of the file (0CAD4AC8) and reallocated some RAM pointers that use the area A84AAD0C -> F44AAD0C C84AAD0C -> 144BAD0C D04AAD0C -> 2C4BAD0C E84AAD0C -> 344BAD0C I missed the first one last time and Act 3's textures seem to be working after the transition now lol
Avatar
did you figure out the windy paths yet?
Avatar
not yet, I'm gonna do those after this
Avatar
ItsEasyActually 26.05.2024 18:58
the actual path data in act 3 is royally fucked, just an fyi. i don't remember if they use a different function to act 1, but the actual paths have very few points on them.
18:58
a different function may make it work better, but i have doubts
Avatar
supercoolsonic 26.05.2024 18:58
Each path in Act 3 is 100 points iirc
18:58
Act 1's has more, tho
Avatar
there he is
19:26
final texture file works but the textures he shares with gamma need their gbix changed to match AD's version
Avatar
are gamma's textures the same as final here. are e-104's same as final in red mountain? i'm wondering if we need to do a mod to make e-103 accurate to those despite final texture's working. if we want to be pedantic about accuracy
19:36
knowing they have e-104 textured properly too is making me wonder about how old the egg carrier froggy cutscene even is for using four gammas as placeholder
Avatar
Avatar
woof
are gamma's textures the same as final here. are e-104's same as final in red mountain? i'm wondering if we need to do a mod to make e-103 accurate to those despite final texture's working. if we want to be pedantic about accuracy
yeah the only difference is gbix
imaDab 1
Avatar
ugh finally
19:53
for windows, i can make a linux version too
19:53
just make a savestate and check the root folder where flycast.exe is in
19:53
youll see ramdump.bin which is 16mb of system memory
19:54
https://github.com/flyinghead/DreamcastLoader/commits/master/ heres a loader for it, i havent used it yet
A Ghidra loader for Dreamcast, Naomi and Atomiswave memory dumps - Commits · flyinghead/DreamcastLoader
20:38
got the Act 1 path working
👀 2
🍃 3
Avatar
does it look as smooth as in the tokyo forum vid?
20:54
also heres e_sai's textures fixed, just drop it in there, i dont think you need to mod 1st_read (edited)
20:54
24.48 KB
Avatar
supercoolsonic 26.05.2024 20:54
Ohh thank
Avatar
Avatar
ehw
does it look as smooth as in the tokyo forum vid?
here's it at 60
Avatar
Avatar
Speeps
here's it at 60
compare:
Avatar
please please when you post the youtube video can we debunk and silence the people that keep saying they developed this game on more powerful hardware than the final dreamcast.. cause like. they developed this alongside the hardware, and all the previous set units were only worse
Avatar
I think it's about done now, just need to fill in some missing textures
Avatar
supercoolsonic 26.05.2024 21:29
Which ones are still missing?
Avatar
those tornado ones and a bunch of debris around the edge of act 2
Avatar
supercoolsonic 26.05.2024 21:39
The debris uses PVRs, no?
Avatar
yeah
Avatar
supercoolsonic 26.05.2024 21:39
The 2018 mod should have a PVM for them.
Avatar
yeah I missed those
🥺 1
Avatar
supercoolsonic 26.05.2024 22:04
Those white rocks look incorrect
22:04
Most should be darker in color
Avatar
maybe I left the old ones in, hold on
Avatar
Tspring has smaller collision than regular springs (shown on PC)
🤔 3
Avatar
the older jam style springs dont work?
Avatar
maybe it was supposed to be a jam spring
22:56
I guess it would make sense if it didn't get updated
Avatar
The normal springs in Act 1 and 3 have a tendency to clip into the surrounding geometry, but the Jam spring fits in those same areas. Perhaps after updating the normal springs they hadn’t yet gotten around to updating the Tsprings.
Avatar
supercoolsonic 26.05.2024 23:09
The stage probably used the jam spring at one point, but if you look at the unveiling footage, you'll notice that the springs aren't as large as they are in the Autodemo. That's because in the Autodemo, the springs are being scaled up visually in code, which is a leftover from the previous spring model being used that needed to be scaled up to be a good size to fit in stages. So, those springs were likely placed with that earlier spring model in mind.
🤔 1
🧐 1
Avatar
baneiwa has roughly the same diameter doesnt it
23:16
Avatar
Avatar
woof
@MainJP how much of the results display branch checks have you looked at so far? i'm thinking when i'm home i probably want to get back to that but if you've anything to add to the ghidra server for it that would be cool..
I was out of town for a few days sorry. I got the line by line animation and ‘your score’ gives a value, but we still need to see about getting the score to count up.
Avatar
Avatar
MainJP
I was out of town for a few days sorry. I got the line by line animation and ‘your score’ gives a value, but we still need to see about getting the score to count up.
i wanna investigate where it pulls it from.. or if it's something like setedit and needs to loop through all its branch checks one by one
23:40
no worries about being away i am still away also
Avatar
Avatar
Speeps
Tspring has smaller collision than regular springs (shown on PC)
collision debug is available if that's helpful in autodemo
Avatar
alright, the only things left are tomado_001-8.pvr (The dust effect for the tornado in Act 1) and fixing whatever's going on with these two platforms
Avatar
supercoolsonic 26.05.2024 23:57
Did you also get that dust cloud that the swerving tornado kicks up in Act 1?
Avatar
i just realized, if theres no landtable for act 2 do you have to play through act 1 to get to 2, meaning you cant jump via level select?
Avatar
supercoolsonic 26.05.2024 23:57
You can load directly into Act 2
Avatar
Avatar
ehw
i just realized, if theres no landtable for act 2 do you have to play through act 1 to get to 2, meaning you cant jump via level select?
Rd_Windy takes care of it
Avatar
can you even complete act 2 lol (edited)
Avatar
yeah, at least with the platform collision fixed
Avatar
wew lad
Avatar
Avatar
supercoolsonic
Did you also get that dust cloud that the swerving tornado kicks up in Act 1?
that is those pvrs
Avatar
supercoolsonic 26.05.2024 23:59
...?
23:59
I thought it was meant to be the common dust cloud effect
0:00
This one
Avatar
oh, I don't have that one either but this one's for the bigger model when it sucks you in
Avatar
supercoolsonic 27.05.2024 0:01
Ye
Avatar
Avatar
Speeps
"tomado001", there's multiple frames of it
this pic was when I made it a grass texture
Avatar
supercoolsonic 27.05.2024 0:02
Uhh...I don't think the 2018 had something for that (edited)
Avatar
Avatar
Speeps
this pic was when I made it a grass texture
supercoolsonic 27.05.2024 0:02
Right right
Avatar
i actually dont remember how that texture came about lol
0:15
it was a surprise when i restored it
0:15
i thought they snuck pvr textures in the stage file somewhere
Avatar
supercoolsonic 27.05.2024 0:16
It's just the dust effect from the common PRS file
0:16
It's used by plenty of other functions and objects in the game
Avatar
ohh youre right
Avatar
🤔 wonder why that isn't showing up
Avatar
btw whats the deal with this area
0:39
there are some leaf like objects i think that spawn under the grate but they dont do anything
0:39
are they supposed to do something?
Avatar
supercoolsonic 27.05.2024 0:39
They're just decorational
Avatar
theres no parameter that makes them maybe do something?
Avatar
supercoolsonic 27.05.2024 0:40
Not afaik
0:40
That object is also in the final
Avatar
Avatar
supercoolsonic
That object is also in the final
this is WCWIND?
Avatar
supercoolsonic 27.05.2024 1:07
Yes
1:07
theres a buttload of them
Avatar
I'm tired, here's the stage file if anyone wants a look
Avatar
um im looking at the routine for wcwind in the autodemo, i figure the cmp/eq routines are handling argument 1 from the set file...6 isnt a valid parameter
1:17
i dont see 7 either
1:18
the set file is a lot older than i thought heh
1:20
the set files might be worth taking a look at for objects with invalid parameters
1:21
although i doubt anything can be restored - but id take a look at wcwind because how its used in the stage doesnt make sense
Avatar
Avatar
Speeps
I'm tired, here's the stage file if anyone wants a look
supercoolsonic 27.05.2024 1:22
Is this the most up to date stage file?
Avatar
Yeah
Avatar
supercoolsonic 27.05.2024 1:24
The bridge is still missing
1:24
And the Rafts
1:24
And such
1:30
never mind
1:30
It was collision code thingie
Avatar
hmm interesting
Avatar
supercoolsonic 27.05.2024 1:31
Early footage shows a small and a large Raft here. I remember evilham's showing of this, and both Rafts were mistakenly using the larger model as well
1:31
Did something break or change?
Avatar
comparing the wcwind function in ntscj to the autodemo, it does look like its a very similar object but again what i assume are instructions for handling the first argument uses a different number
1:33
mind the different addresses and such but you can clearly see its doing more or less the same thing but the numbers are different
1:33
but why
🤔 1
1:37
its possible some functionality in some of the objects isnt as intended even if theyre being used due to improper arguments
1:37
wcwind is the first id go after
Avatar
supercoolsonic 27.05.2024 1:41
Also I'm pretty sure this object here, T_RAFT1, is meant to be able to scale to different sizes
1:43
Ah, good
1:43
It does
1:46
Wow those elevator Rafts move way faster than I thought they would (edited)
1:46
So you really don't have to wait around for them. They just zip and zoom
1:49
traft1
1:49
yea it repeats twice there with the same rot/pos and atr
1:49
weird
Avatar
supercoolsonic 27.05.2024 1:54
Someone mentioned like motion blurr effects for PU Wind? What's going here? That blurr texture thingie... it's not using a proper texture, right? What is it meant to use?
1:54
That's definitely not in the final at all
1:55
Leaf count got nerfed, and the surrounding leaf effect when you touch it got disabled, but this is def not in the final
1:56
And what in the fuck is going on with Dome's collision??
1:56
It's moving
1:57
ehw had it going like this
1:57
originally. This can't be intentional, right?
Avatar
for the object debugger does SCL go with ATR from DXEdit?
2:01
2:04
@supercoolsonic do you know what the debugger prints with WCWIND in the autodemo? (edited)
Avatar
supercoolsonic 27.05.2024 2:05
Nothing. Ignore the Raft text at the bottom. It got stuck there
Avatar
ok lets see
2:34
2:34
is this from the set file
2:35
so SCL are the params
2:35
but sometimes ANG can be too
2:36
i feel like there should be a PU WIND in that area in act 3 in the auto demo
2:36
i guess not? or it has the wrong parameters
2:37
thats how the final does it, it has grates that stick wc wind around but they put a PU WIND object to make you float
2:39
it certaintly isnt being used the same way based on the autodemos set file heh (edited)
2:40
apparently it might be passing a float in SCL Y
Avatar
supercoolsonic 27.05.2024 2:41
It's more likely that they just hadn't placed PU Wind objects around that area yet
2:41
Incomplete level is incomplete
Avatar
i kinda doubt that because they did put pu wind in other places and its the next object in the list (edited)
2:42
(wasnt there a badnik that clipped through the floor around here?)
Avatar
supercoolsonic 27.05.2024 2:42
Yup, a rhino next to the trampoline
Avatar
i havent tried the autodemo's object debugger but does it allow snapping to objects already placed on the map?
Avatar
supercoolsonic 27.05.2024 2:44
Yes
2:44
Uhh
2:44
Start + A? I think?
Avatar
i think in gc preview you hold start and a
2:44
yea
Avatar
supercoolsonic 27.05.2024 2:44
Ye
Avatar
might be better to just play around with the restored one heh
Avatar
@supercoolsonic for SCL X for WC WIND in the autodemo what happens when you manipulate it from 0 to 8?
Avatar
supercoolsonic 27.05.2024 2:59
It gets bigger
3:00
what about Y and Z?
Avatar
supercoolsonic 27.05.2024 3:01
Y increases the height of the white cylinder, while Z increases the speed that the little white thingie goes up it
Avatar
does anything happen if sonic touches it?
Avatar
supercoolsonic 27.05.2024 3:03
Not that I can tell
Avatar
is this the saito that keeps falling
3:12
where exactly is he spawning
3:14
if thats him it looks like hes spawning below the floor for sure because his y cord is below even the wc wind objects
3:14
i thought maybe they didnt put in the right id for that object but it doesnt look like it
Avatar
you might be able to confirm in SALVL with the Autodemo project
Avatar
oh yea its been a while since i used that, is that easy to set up
Avatar
SALVL Project setup for Autodemo Windy Valley. Contribute to X-Hax/AutoDemo-Project_SALVL development by creating an account on GitHub.
Avatar
havent used it since 2015 lol
Avatar
this is an updated version based on the 2018 mod and SA Tools post the 2022 update
3:20
this one might be beyond the level?
🤔 1
3:23
this is in Act 1 right?
Avatar
you cant just open the autodemo's directory and just load up the set file along with the landtable?
3:27
i made an autodemo project and i clicked on windy's landtable but i cant figure out how to get the set file
3:27
to display
3:27
oh duh
3:27
there we go
Avatar
@PkR the middle mouse button is the click wheel right? for some reason i cant figure out how to move the camera lol
3:41
i can use the wheel to zoom in and out, but im trying to follow the guide and hold down shift/ctrl and trying both camera modes and all i can do is zoom in and out
Avatar
yes. You can redefine keys in preferences
Avatar
nope, its not working for me
3:49
i got it, i guess windows doesnt think the mouse button is the MButton
Avatar
normally it does
3:49
maybe your mouse has a different button setup
Avatar
yea its a razer mouse so it has a bunch of extra buttons
Avatar
here he is
4:04
he spawns by this circle of rings but just a little below the ground so he clips through
Avatar
you'll be able to navigate much easier if you create an SADXPC project, replace the files with the stuff I linked, open the .sap file in SALVL and select Windy Valley
4:07
it would load up the textures, object models, skybox etc.
4:08
just replace the SET file in the system folder with the original Autodemo one
Avatar
im ok with this the only issue is that when im moving around in certain angles it starts clipping the models, even with the draw distance and everything cranked up
Avatar
you can fix that by recalculating bounds in Edit>Advanced
4:08
it's a weird thing some DC and AD levels have
Avatar
awesome lol thanks
Avatar
aside from that saito enemy theres nothing out of bounds as far as i can see for act 3, but its interesting to see the areas whoever was in charge of the object placement worked on first assuming the order the objects appear on the set file are the order they were historically written to the file (edited)
4:17
apparently at the time of the demo they started putting pretty flowers in the starting area
Avatar
Updated patcher:
  • Fixed anchoring in new UI items
Avatar
thank fuck
🌪️ 2
11:17
sprite link was wrong
Avatar
Avatar
supercoolsonic
And what in the fuck is going on with Dome's collision??
I have no idea, maybe it's because neither of us could figure out what 8C02E14A is supposed to be
Avatar
the raft objects use textures 0-4, which are already in use by the leaves and the object I DAI 2, I think they were broken even in the promotional footage because you can see T_RAFT1 and whack the colour up to see green come out of it
13:46
I think I'm ready to record the stage now, I substituted those tomado pvrs with the regular dust effect (while it isn't great it's better than nothing)
Avatar
supercoolsonic 27.05.2024 13:58
All of the Raft objects are using those textures?
13:58
I thought only T_Raft1 and T_Raft2 used their own texlists?
13:59
Also, is Lauchin still misplaced? It looks like the Y Coordinate is still being set to the same thing for each of them
Avatar
all the rafts use OBJ_WINDY
Avatar
supercoolsonic 27.05.2024 14:12
?!?
14:12
Weird
14:12
Because I know the tornado ones each have their own texlist
14:12
But okay, I guess
14:13
Lauchin should also have its own texlist. Are its textures still glitchy?
Avatar
nah I just threw in the pvrs it needed
Avatar
supercoolsonic 27.05.2024 14:13
Ah okay
14:14
Can you also provide the PRS and pvr files you've been using? The stage still runs out of texture memory for me...
Avatar
Avatar
supercoolsonic
Can you also provide the PRS and pvr files you've been using? The stage still runs out of texture memory for me...
14:15
oh wait I forgot I removed mipmaps from them, hold on
👍 1
14:16
Avatar
supercoolsonic 27.05.2024 14:16
Thank
Avatar
the rest are just pvrs
Avatar
supercoolsonic 27.05.2024 14:20
So, when I build without all the individual pvrs, none of the objects have textures
14:20
And then random vertex explosion
tv 1
Avatar
the reference to OBJ_WINDY's filename goes in 1st_Read
Avatar
supercoolsonic 27.05.2024 14:28
?
Avatar
some prs files had their reference names not compiled in so you gotta add them back
Avatar
supercoolsonic 27.05.2024 14:35
Uhh
14:35
So I can add them back with the mod.ini method, right?
14:35
Like this sort of thing?
Avatar
yeah you can do it via patch
Avatar
it's more ideal if they're set up as mod ini patches and it can be done
14:36
i think pkr was converting speeps stage mods to those but i only remember twinkle park being posted in that form
Avatar
I'm just too lazy to do it when I've already got a mess of a folder now lol
Avatar
supercoolsonic 27.05.2024 14:37
I'm still a little lost on how this works
14:39
Like this?
Avatar
something like this: [1ST_READ.BIN] 180678 = 57 49 4E 44 59 5F 45 31 30 33 00 00 4F 42 4A 5F 57 49 4E 44 59 00 00 00 1806F0 = 84 06 19 8C 180718 = 78 06 19 8C 180720 = 0C 79 12 8C
Avatar
supercoolsonic 27.05.2024 14:40
oh
Avatar
here's the stg with the tornado dust fixed
Avatar
supercoolsonic 27.05.2024 14:41
It works! Huzzah! Thank you so much!
imaWave 1
14:43
Do we know what texture this is looking for?
14:43
There's still this "wind effect" going on with Pu Wind and the wind paths that have a missing texture
Avatar
I think that's win.pvr? Not sure
Avatar
supercoolsonic 27.05.2024 14:44
I'll try it
14:45
You betcha
14:45
Can we see this in the unveiling footage?
Avatar
I'm not sure
14:47
I can you can just barely make out some blurs in this scene
14:47
or maybe this on the left
Avatar
supercoolsonic 27.05.2024 14:49
hmm
14:50
I really can't tell lol
14:52
Maybe it's like a faded leaf graphic?
14:53
Man, really feels like I'm back in 2018 lol
14:53
I was doing this all the time with IEA
Avatar
It looks like a faded leaf graphic in motion.
Avatar
supercoolsonic 27.05.2024 15:01
I guess this would work as good as anything for now
2.02 KB
Avatar
supercoolsonic 27.05.2024 15:17
There's still this one geometry chunk up here that doesn't load textures...
15:17
I wonder, did we get the textures for it wrong?
15:17
I'm loading everything that's used for the landtable in the 2018 mod for Act 2
Avatar
here's all the WV-related pvrs I have in the folder
429.91 KB
Avatar
supercoolsonic 27.05.2024 15:22
SoraTorn is a custom-made texture for the newly added skybox bottom for Act 3 in the 2018 mod. You can remove it, it's not actually used by the AD
👍🏻 1
Avatar
supercoolsonic 27.05.2024 15:31
Okay, now it loads it?
15:31
lol wtf
15:31
Okay game
Avatar
Avatar
Speeps
I have no idea, maybe it's because neither of us could figure out what 8C02E14A is supposed to be
maybe its the right function but the wrong parameter?
15:45
it just seems like its rotating in the wrong direction
15:49
btw does the game hard code the set files or do they work like the palette files where you can just throw them in?
15:49
maybe make a quick set file for gamma for the boss at the end of act 1, replace the pu wind
Avatar
supercoolsonic 27.05.2024 15:51
Super dynamic PU Wind effects ported to SADX when
Avatar
you can just throw them in I think
Avatar
@Speeps i think im able to make a set file if you wanna test, do you know a rough position x/y/z and rotation for e103?
15:59
i removed all the pu winds in that area and i placed e103
15:59
hopefully the tornado gtfos
Avatar
❤️ 1
👍 1
chalkgamma 1
Avatar
hmm no rotation then
16:01
ok all done
16:03
@Speeps
16:03
hopefully it works, i just noticed the SCLs were set to 1, oops. but they probably wont do anything
16:04
16:04
there we go
Avatar
will check it now hold on
Avatar
wait does his title card and health meter textures show up
16:08
idk if we can do something about those
16:10
fwiw in the final there is a y rotation specified, scl is all set to 0
16:10
1F 0 53984 0 3065.58 -505.03 -1467.65 0 0 0
16:10
just in case it needs to be changed
16:13
did that traft1 object in act 2 still need changing to fit the trampoline?
Avatar
supercoolsonic 27.05.2024 16:14
That's a Raft2 object
16:14
The object can adjust its scale via a parameter passed to it per instance
Avatar
does it need to be changed in the set file?
Avatar
supercoolsonic 27.05.2024 16:17
The original SET file handles it just fine
16:17
you can change the parameters in the SET file (edited)
Avatar
dat boi
16:20
wait can you actually get up the half ramp in the beginning with him? lol
16:20
here he is with his chrome head
16:24
should i fix the e_saito in act 3 that falls through the floor
16:24
im not sure how revisionist we wanna go here lol
Avatar
it's accurate to final wv3
chuckles 1
16:24
also no lol he can't make it up the ramp
Avatar
he can take the wind path though
Avatar
i was thinking the right most path along with cliff next to the ramp he could do no?
16:26
just jump onto the raft objects from an angle and hop down along the side of the cliff
16:26
i assume thats what it was for
16:26
for the garbage tier characters sa2big
Avatar
just like final egg
16:30
take this e103
🌪️ 2
Avatar
i think this should fix the esaito
16:34
anything else that might need a mod in the set files?
Avatar
Avatar
supercoolsonic
ehw had it going like this
is this object in the final i forget now lol
Avatar
supercoolsonic 27.05.2024 16:35
Nope
Avatar
Avatar
Speeps
I have no idea, maybe it's because neither of us could figure out what 8C02E14A is supposed to be
my notes for this pointer: 8C02E14A -> () (found ) <-- this needs experimentation to find a pointer that wont crash ..tested.. ..8C02F500 .. <-- object loads, no crash, but collision off ..8C02F45C .. <-- object loads, no crash, but collision off like above but "pushout" when walk away, using this ..8C02F420 .. <-- object loads, no crash, but collision off like above ..8C02F38C .. <-- object loads, no crash, but collision off like above ..8C02F5CA .. <-- object loads, no crash, but collision off like above ..8C02F640 .. <-- object loads, no crash, but collision off like above ..8C02FB00 .. <-- object loads, screen goes to Now Loading and crashes if you walk away. places used: c902814 <-ptr c902908 <-ptr C902788->C902790 <- nopping out crashes game if you walk away, this seems to be responsible for erasing the object.
16:45
lol mfw
Avatar
I used 8C02F45C too
16:47
least fucked up at least
Avatar
did i even get 8C1568B0 correct
16:49
i guess so
Avatar
checkeditmode, yeah
16:51
that one'd be obvious if you didn't lol
Avatar
8C02F132 -> 8C030592 makes sense right?
16:54
ill see if i can find something else
Avatar
yeah
16:56
those draw ones are confusing because the game switches them around a lot
Avatar
so the way i did this before
16:59
i take two pointers that are in the broken stage and subtract the smallest from the largest to get a distance between the two
16:59
so since i confirmed 8c02f132
16:59
8C02F132 - 8C02E14A = fe8
16:59
so 8C030592 - fe8 = the closest i could find here, 8C02F5CA or 8C02F45C if going up further (edited)
Avatar
that's how I was doing it for when I couldn't find the same function in a working file
Avatar
but doesnt work
Avatar
by the time I got to doing WV I had about 240 of them from the other stages, which since they didn't get huge redesigns I could just look up what the name of the func was in the 360 version and then check a working file that used the same func
Avatar
idk what the functions in 1st_read when corrected are tho, they could be correct but maybe the function parameter is wrong
Avatar
it seems like it is the right function but the behavior based on maybe the parameter is wrong or something, because from what i see in the object i think i know what they were intending
17:03
in fact im pretty sure of it
17:03
17:04
theres two collision cylinders. i think one is supposed to be where the model is and isnt supposed to move, and the second cylinder rotates around the model
17:05
to "push" you away from it, like a force of wind or something
17:06
dome 2/3 share similar code though, do they work?
Avatar
I think they're about the same
Avatar
oh dome2 and dome3 arent used thats right
Avatar
yeah
17:11
17:11
lol
17:12
but yea idk, i think that would be the intended behavior
17:12
cant think of any object in the final that might use the "PUSHOUT" thing
Avatar
@Speeps i cant check rn but what happens if you just null out the instructions that call 8C02E14A?
17:30
0C902788 to 0C902790
Avatar
nothing different happened
Avatar
when I nopd that pointer
Avatar
oh duh i dont think its ever called
17:37
r0 i think should contain one of the SCL values from the set file? in act 3, its almost always set to 0 except for one instance of it where its set to a bunch of values
17:37
seg001:0C902782 tst r0, r0 ; Test Logical seg001:0C902784 bt loc_D5902792 ; Branch if True (edited)
17:42
i cant read but i think in this case 0 & 0 = 0, the T-bit is set (to 1?), otherwise its cleared
17:43
if the result is 0 its true, else its false...i think?
17:43
i feel like i got it backwards
17:44
so if the scl is always 0, r0 should always be 0, so it should always be branching because its true for most of the instances
17:47
i think this isnt used either since r0 needs to be 1 in order to branch here seg001:0C90276A loc_D590276A: ; CODE XREF: Load_Dome1+28↑j seg001:0C90276A bsr sub_D5902920 ; Branch to Subroutine seg001:0C90276C mov r14, r4 ; Move Data seg001:0C90276E mov.l #8C029560, r2 ; Move Immediate Long Data seg001:0C902770 jsr @r2 ; 8C029560 ; Jump to Subroutine seg001:0C902772 mov r14, r4 ; Move Data seg001:0C902774 bra loc_D590277C ; Branch seg001:0C902776 nop ; No Operation
Avatar
supercoolsonic 27.05.2024 17:48
I just had the biggest, stupidest realization.
17:48
OBJ_WINDY isn't missing any textures. They don't desync
17:48
I just missed them all those years ago and never noticed
17:48
I always thought the OBJ file was off by two
17:48
Nah (edited)
17:48
lol
17:49
But Lauchin and TRAFT2 _do use textures that aren't in OBJ_WINDY's texlist
17:49
S_w14 and O_wm20
Avatar
I wonder why the TRAFTs set OBJ_WINDY's texlist
17:50
maybe they lazily copied raft2 code or something lol
Avatar
Avatar
ehw
if the result is 0 its true, else its false...i think?
you are correct
17:51
0&0 t bit 1 branch true..
Avatar
wew glad i still kinda remember sh4 lol
17:53
so heres the data used by all three dome objects
17:53
seg001:0CA55A48 dword_D5A55A48: .data.l 1, h'AF00, 0 ; DATA XREF: Load_Dome1+38↑o seg001:0CA55A48 ; Load_Dome2:off_D5902804↑o seg001:0CA55A54 .data.l h'41D80000, 0 seg001:0CA55A5C .data.l h'418C0000, h'41D80000 seg001:0CA55A5C .datab.l 6, 0 seg001:0CA55A7C dword_D5A55A7C: .data.l 1, h'AF00, 0 ; DATA XREF: Load_Dome2+38↑o seg001:0CA55A7C ; Load_Dome2:off_D5902818↑o seg001:0CA55A88 .data.l h'420C0000, 0 seg001:0CA55A90 .data.l h'418C0000, h'420C0000 seg001:0CA55A90 .datab.l 6, 0 seg001:0CA55AB0 dword_D5A55AB0: .data.l 1, h'AF00, 0 ; DATA XREF: Load_Dome3+38↑o seg001:0CA55AB0 ; seg001:off_D5902910↑o seg001:0CA55ABC .data.l h'422C0000, 0 seg001:0CA55AC4 .data.l h'418C0000, h'422C0000 seg001:0CA55AC4 .datab.l 7, 0
17:53
is this animation data or something?
Avatar
this should be all the files (including that E102 layout)
4.78 MB
Avatar
(i checked it doesnt look like this exists in the final rubberduck )
Avatar
supercoolsonic 27.05.2024 17:55
What is WindSea001.pvr?
Avatar
idk I think that got left in lol
17:56
I couldn't be bothered to remove it
17:56
probably final act 1 skybox bottom
Avatar
supercoolsonic 27.05.2024 17:58
Windy2_NBG5.pvr?
17:58
There's a couple more like it
Avatar
might be more old stuff
Avatar
video coming?
18:08
might leave dome1 as is for now, lol
18:08
cant figure it out
Avatar
yeah it's uploading
imaDab 1
tailshappy 2
Avatar
I have Windy Valley burnout now lol
Avatar
don't let them ask you for anything again..
Avatar
supercoolsonic 27.05.2024 18:22
Understandable
Avatar
Practice and Casinopolis are going to be breeze compared to the stuff this stage demanded
Avatar
cant get worse than wv lol
19:04
unless shooting does something very very weird
Avatar
that one is going to be character object fun
Avatar
ItsEasyActually 27.05.2024 19:12
since the AD still has the boss' old path data in it, you can probably make the boss use it
19:12
iirc, it goes unreferenced in the file, but i could have done a poor job looking for a reference to it
Avatar
let me know how it runs if anyone tries running this on hardware lol
Avatar
Acts 1 and 3 hang on "Now Loading", Act 2 loads but is laggy
Avatar
jesus
Avatar
can you post a gdi/cue with all the changes for everything so far 👀
16:30
too lazy to use gdibuild
Avatar
sure hold on, i'll zip the folder
18:40
Avatar
supercoolsonic 28.05.2024 20:35
Did you post the updated Lost World that fixes the vertex explosions?
Avatar
Nah, I can do it later though
Avatar
supercoolsonic 28.05.2024 20:38
Awesome, thanks
Avatar
I updated the one in the drive just now, here's the file
618.44 KB
Avatar
supercoolsonic 29.05.2024 0:24
Yay! thank
Avatar
Avatar
Speeps
Click to see attachment 🖼️
nicee
1:00
how do you get into the level select?
Avatar
supercoolsonic 29.05.2024 1:02
Press X and Y at the same time on the title screen
Avatar
it doesnt seem to work
1:06
oh there we go
Avatar
Avatar
ehw
oh there we go
what changed
Avatar
looks like my attempt to keep everything organized has completely failed lol
Avatar
fixed again if someone converts the edits to patches instead but i've been making a little list of requests and fixes for when i get home tomorrow so i will be doing those instead imaNoUse
Avatar
I've been keeping notes on the edits that aren't just replacing pointers, so eventually when all of the files work we can convert it to patch and set up the patcher to make stuff like WV2 platform fix optional in case someone wants to see that for whatever reason
Avatar
idk, do y'all even need the mods stuff?
11:16
I had an idea about the patcher, I could make it a generic DC game patcher with settings for different games, not just SA1... Maybe it could be useful to people hacking DC versions of games
Avatar
Avatar
Speeps
I've been keeping notes on the edits that aren't just replacing pointers, so eventually when all of the files work we can convert it to patch and set up the patcher to make stuff like WV2 platform fix optional in case someone wants to see that for whatever reason
supercoolsonic 29.05.2024 13:35
That's good
Avatar
btw the lag in wv is cpu bound so overclocking in flycast fixes it
14:29
i have it at 300mhz it works ok
Avatar
Avatar
PkR
I had an idea about the patcher, I could make it a generic DC game patcher with settings for different games, not just SA1... Maybe it could be useful to people hacking DC versions of games
i'd love it being able to be used in a more generic way for a lot of other prototype work i do, and i think it speeds up my testing of patches. i'd been experimenting with universal dc patcher before this but it relies on diffing the entire track 3 and that refuses to patch on top of other patches so mixing and matching is annoying
Avatar
Avatar
woof
i'd love it being able to be used in a more generic way for a lot of other prototype work i do, and i think it speeds up my testing of patches. i'd been experimenting with universal dc patcher before this but it relies on diffing the entire track 3 and that refuses to patch on top of other patches so mixing and matching is annoying
I think I'll be going in that direction now. I also want to add more patch types so you could write floats, ints etc. without needing to flip the byte order
Avatar
Got CO loaded, there's a speed display active and if you press Y you'll become a pinball
👀 1
20:39
Press Y to become Pinball is still in the final game, but only in the pinball maps (Where you're a ball anyway)
20:45
lol why is this here
20:47
Act 3 has the purple background too, did they build off LW lol
Avatar
are you going to be trying for ninja lights here or are they still a pain
Avatar
I just put the palette files in
21:18
well, pinball works lol
Avatar
the slots work but getting a combo just stops them
21:28
the camera only returns when you don't, but with these controls you'll tend to be standing on the trigger and reroll anyway
21:34
390.49 KB
21:35
there were only 3 new pointers: 8C065F00 -> 8C06A020 8C017160 -> 8C017EE0 8C599BF4 -> 8C5B81C4
👍 2
Avatar
Wanted to try playing without the speed display. Set 8C833350 to 2
👍 1
Avatar
here's Practice. Act 2 and 3 are crashing for some reason, which is weird because this stage doesn't have a Rd or a Bg function, nor any non-1ST_READ objects
212.82 KB
23:55
maybe it's doing it somewhere else? I'm not sure where it's getting the blue background from
0:02
anyway the sample objects that final has in the MR object list are here
0:10
I vaguely remember being able to boot all of them with the pointer patches, but I could be misremembering
Avatar
alright, so they definitely booted before with Speeps' pointers
Avatar
supercoolsonic 30.05.2024 1:30
Practice 2 resets the game when I try to load it (edited)
Avatar
supercoolsonic 30.05.2024 1:55
Practice 3 loads without issue, tho
1:55
As does Practice 1
Avatar
Avatar
supercoolsonic
Practice 2 resets the game when I try to load it (edited)
It's strange because afaik stg00 has no code of its own
9:57
Even the pathlist for act 3 was a 1stread pointer
Avatar
I couldn't get Act 1 to boot at first but it booted after I removed the SET file
Avatar
Use the object editor and see what's crashing it
Avatar
I think it might be just invalid object list pointers
10:17
but then I made a SET file of 0 bytes and Act 1 booted with it but Act 2 didn't...
Avatar
btw, about Windy Valley and other levels. They don't have MLT files listed in 1ST_READ so their sounds don't load. We could try to fix that (probably also fixing pointers to "play sound" functions in stage binaries) to see if they have any sound calls left. I'm sure Windy Valley still has some, there's even that elevator SFX that survived in the enum and the soundbank
Avatar
@supercoolsonic you'll never guess what I just spotted lol
👀 2
10:45
fuckin leaf object in intro FMV lol
10:48
for a second I got excited thinking this might be the wind effect, but on closer look it's just the transparent geometry fading thing 😞 (edited)
10:54
how does that activate anyway? would be interesting to see in a few stages
Avatar
I think it auto activates when the game struggles with performance. You can still sort of see it in Act 3
10:59
For some reason I saw a lot more of it when I switched the game to Ninja lights
Avatar
can you guys elaborate
11:00
im curious what this is
11:00
never really heard about this before
Avatar
oh nvm in Act 3 it's the skybox
Avatar
Avatar
Exant
never really heard about this before
You've seen it, I showed it to you lol
11:01
like when the landtable "fades in" as you approach it
Avatar
maybe lol i genuinely dont really have a memory of it
11:01
sorry
11:05
i remember now
11:05
did we ever figure out how this works though
11:05
this is suuuper weird
11:06
i looked at the AD's landtable render code last time
11:06
i dont remember really why
11:06
but i definitely dont remember seeing aaanything like this
11:06
i wonder is this somehow done with fog?
Avatar
hmm not sure, but it also happens in final
11:07
I think it may be a Ninja thing?
Avatar
do you know if
11:09
palettized geometry can also have this effect
11:09
like
11:09
lantern draw calls
11:09
well i would guess yes since
11:09
since this is just emerald coast in this video
11:09
but since the palette draw code is just basic handrolled stuff
Avatar
I haven't seen it on paletted models
Avatar
isnt the landtable paletted?
Avatar
that Emerald Coast video is when I replaced the landtable drawmodel thing with the ninja one
Avatar
ooooooh
11:10
well shit
11:10
that is interesting
Avatar
I thin the replacement makes it draw the model multiple times, hence the slowdown
11:11
maybe my replacement isn't correct
11:11
it could be done deeper in the function
11:13
it obviously gets some translation stuff wrong because of shit like this
11:13
so I'm guessing just replacing functions with their original Ninja counterparts wouldn't work
11:17
here's the mod if you want to mess with it. I commented out the broken stuff so only landtables and some models use ninja lights. Enable the test palettes mod to easily see which models are paletted and which aren't
11:19
The fade effect happens when the game slows down a lot. On final I got it to happen by restarting the stage multiple times (there's some light counter it forgets to reset, and stuff keeps getting brighter and slower every time)
👍 1
Avatar
Avatar
ehw
my notes for this pointer: 8C02E14A -> () (found ) <-- this needs experimentation to find a pointer that wont crash ..tested.. ..8C02F500 .. <-- object loads, no crash, but collision off ..8C02F45C .. <-- object loads, no crash, but collision off like above but "pushout" when walk away, using this ..8C02F420 .. <-- object loads, no crash, but collision off like above ..8C02F38C .. <-- object loads, no crash, but collision off like above ..8C02F5CA .. <-- object loads, no crash, but collision off like above ..8C02F640 .. <-- object loads, no crash, but collision off like above ..8C02FB00 .. <-- object loads, screen goes to Now Loading and crashes if you walk away. places used: c902814 <-ptr c902908 <-ptr C902788->C902790 <- nopping out crashes game if you walk away, this seems to be responsible for erasing the object.
I found a closer object in Practice (SCENE CHANGE) 0x5B4 bytes away that gets corrected to 8C02FB7E, with the difference applied to find 8C02E14A it leads to 8C02F5CA
Avatar
why did set data type become highway
Avatar
Avatar
woof
why did set data type become highway
angz
Avatar
oh right, it does weird print positions for those
11:47
i can almost go home and look at asm again finally imaUwu
11:48
i'll do a variant of title input that jumps straight to 0d instead of regular title and see if it likes it
Avatar
@Exant do you have any 1st_read label changes to check in on the ghidra server? no worries if not, i just remember that srand thing from two weeks ago
14:54
looking back you mentioned we could apply the shinobi sigs, so i will leave correcting it for now
Avatar
uhh nah i dont really have anything new
Avatar
if you don't go to the main title screen at all, pausing and quitting and loading another stage doesn't crash anymore.... can't reproduce the previous crash i had this way. testing with a patch of the title screen jump table to go to 0d instead of 01 and a version of setedit restore that also allows for pausing.
Avatar
two mods in this zip, Instant Level Select and SetEdit Restore with Pause Menu. you'll go straight to level select instead of the title screen, and pausing in stages is possible so you can restart or quit stages easier. so long as Instant Level Select is active this shouldn't crash on loading more stages. currently i am using the OnRelease button value for the pause menu, when i tested with the OnFrame value it stopped working. i probably need to find a better location to patch for this in future... it still pauses fine and should prevent itself getting stuck in an infinite unpause/pause loop.
15:38
i'm interested in any bugs found, but most important is if you do encounter any crashes loading more stages from exiting a stage.
Avatar
Avatar
woof
if you don't go to the main title screen at all, pausing and quitting and loading another stage doesn't crash anymore.... can't reproduce the previous crash i had this way. testing with a patch of the title screen jump table to go to 0d instead of 01 and a version of setedit restore that also allows for pausing.
makes sense, it probably calls njReleaseTexture on all textures when the title screen loads (it does in final)
Avatar
Avatar
PkR
makes sense, it probably calls njReleaseTexture on all textures when the title screen loads (it does in final)
i'd have thought it would lead to a crash to not be doing that though
16:19
i noticed that returning to the actual title and pressing start makes the fade for loading TGS char sel weird, like the title background got brighter/more saturated as it faded but only when you return there from a quit
Avatar
this doesn't fix everything yet because i haven't gone to look for where the position value for the parameter strings is, but any code that wants to print a debug string passes the position value its going to use ahead of the jump to the DisplayDebugString function. it might be a pain to correct for the objects that want to print strings off the screen without then breaking the ones that print in more logical locations...
Avatar
current ninja lighting in MR at least means the runway isn't an invisible solid now
Avatar
Avatar
woof
i'd have thought it would lead to a crash to not be doing that though
Just a guess, but it could be freeing the textures without clearing pointers to texture data. Final does that too sometimes. There's no guaranteed way to tell whether the textures are loaded or not if you don't clear the pointers manually. Maybe it does that somewhere else.
Avatar
Avatar
woof
i noticed that returning to the actual title and pressing start makes the fade for loading TGS char sel weird, like the title background got brighter/more saturated as it faded but only when you return there from a quit
could be njTextureShadingMode shenanigans, stuff gets brighter if it uses the ONE alpha instruction
1:57
or simply drawing twice somehow
Avatar
well title works fine for TGS loop, and that's probably all they cared about in the demo builds. i think i'm fine with just skipping going there entirely as a fix for now
Avatar
Avatar
woof
i'm interested in any bugs found, but most important is if you do encounter any crashes loading more stages from exiting a stage.
supercoolsonic 31.05.2024 5:26
Seems pausing and quitting and loading a different stage can cause this to happen.
5:26
In this case, Emerald Coast - > Windy Valley
5:28
Pausing in the tornado section causes T_Sprnig and Lauchins to either keep rising or falling depending on what direction they were moving in before pausing lol
Avatar
Avatar
supercoolsonic
Seems pausing and quitting and loading a different stage can cause this to happen.
ough.. thank you for finding
Avatar
it's similar to when you go to level select while in a stage, there i've had life icons and item box icons being displayed instead of the char sel icons.. guessing i need to make it release textures but i don't know how i'd do that correctly if i need the texture ram locations. if i can do it for all textures at once, maybe calling it on pressing A to select a level is correct? just before it prepares the loading texture.
Avatar
there should be a function that frees all currently loaded texlists
Avatar
Avatar
PkR
makes sense, it probably calls njReleaseTexture on all textures when the title screen loads (it does in final)
that's just this one then right? i shouldn't need to do anything special other than calling it and ensuring registers are still what they need to be after if it's simple.. so either i call it in title mode 0d before it does the loading screen, or on pressing A for a level.
Avatar
I think so, assuming freeing textures is the actual issue involved in this
Avatar
it's a start anyway, gets a lot harder if it's not that
Avatar
supercoolsonic 31.05.2024 13:53
You can also pause and select quit, but you can pause again before the screen fully fades to cancel the quit. Not sure if that would impact anything, as that's what happened in the example I gave above
chuckles 1
Avatar
i will have to invent a check to account for that at some point.. if quit sets the exit mode immediately i can probably just check that it's 0 before responding to input.
Avatar
You do this with custom asm right? Is there an easy way to compile C to SH4 asm?
18:32
well easy is
18:32
an exaggeration but it's exactly how i do it
18:32
i just wrote it in c, compiled it in shc and use the bytes from that
18:33
for the platform patch for example
18:33
shc also has an option to output asm file instead of object file
18:33
but for patches like this idk how useful that would be
18:33
it's easier to just get the compiled bytes themselves
Avatar
Avatar
PkR
You do this with custom asm right? Is there an easy way to compile C to SH4 asm?
i can't program so i write asm in ghidra, so i don't have an answer for compiling for it sorry
Avatar
you know sh4 asm but can't write C?
18:35
not judging just
18:35
curious lol
Avatar
exactly lol. idk it feels abstract too fast when i could just be.. doing what the cpu knows
Avatar
I tried to get SHOOTING running yesterday but I couldn't get into anything, I'm suspecting it's like with the tornado player object in that there's function calls to the file in 1ST_READ I'm not seeing
21:11
If anyone's curious here's the file I had and the latest list of pointers (Everything I wasn't sure on I put under UnkSHT)
21:17
I'm going to guess it's HUD code or something
Avatar
it sent me to error handler here on load, screenshot is after the rte so we went back to the pr
🤔 1
Avatar
its code at 0x8c0754a0 that will end up setting the pr to 0x8c190658
22:14
that is as far as i've gotten, i need to eat
22:15
that pointer is stored in stack at 0x8c00f358
Avatar
the debugger doesn't have a step over like VS does it, that would be helpful
Avatar
atm no, actual codescape debugger did. the original dev of the debugger started working on theirs again so there's a chance to ask them for it maybe
Avatar
it'd be good to have since it'd be easier to find broken pointers if the program can't progress past a specific call rather than getting some random address inside it
Avatar
agree, i messaged the original dev just now.
Avatar
Avatar
Speeps
it'd be good to have since it'd be easier to find broken pointers if the program can't progress past a specific call rather than getting some random address inside it
"Step Over and Step Out are both in my roadmap, and I should be able to implement by next week or so"
Avatar
nice
Avatar
can the original dev add a memory dumper too?
1:47
its an easy change to make, i have it so that when you make a savestate it creates one but itd be more fitting for the ram viewer (edited)
Avatar
there was a request for this functionality on the naomi hacking discord and the dev seemed keen, i've expressed interest too just now though
Avatar
apparently step over is available to test now, though the commit only says step out. artifacts are here https://github.com/lhsazevedo/flycast/actions/workflows/c-cpp.yml?query=branch%3Adev-gui-debugger
Flycast is a multiplatform Sega Dreamcast, Naomi and Atomiswave emulator - C/C++ CI · Workflow runs · lhsazevedo/flycast
Avatar
Avatar
woof
its code at 0x8c0754a0 that will end up setting the pr to 0x8c190658
i have no idea if this is helpful at all. on loading into Shooting, after the switch case that handles loading files for Shooting and then going to mainloop and through the ModeControllerStuff: at 0x8c0791ea r13 has the location of a pointer store, r14 has a function in Shooting. it jumps to 0x0c9001c0, and then 0x0c9001c2 will set that stack location (0x8c00f358) to the store location from r13. later at 0x8c0754a0 it tries to jump to the pointer in that stack location, the store location. it is not valid as code and causes the exception.
Avatar
i got it to load, sort of. at 0x8c0791e0, r4 is 8c8032b0. 0x10 from that is where it is storing the next jump, to 0x0c9001c0. by setting the value at 8c8032c0 from 0c9001c0 to 0c900000, i have this instead of an exception.
18:49
it stops shooting all the time if i press or hold A, resumes shooting if i let go. seems to follow a path because it was turning when i exited setedit.
Avatar
ItsEasyActually 01.06.2024 18:53
it should follow a path, yeah. the path for act 1 is the same as the final at least. act 2's should be almost the same. act 2 splits it into two paths instead of one, so seeing this working will give us some interesting insight on how they originally handled this whole minigame
Avatar
15ecf8 (raw) in 1st_read has the pointer store for 0c9001c0, modifying that to 0c900000 works
18:59
i'm just forcing with cheatengine for now
Avatar
shooting2 is behaving more or less the same so far. you start in a turn, going into and out of setedit seems to be restarting the path.
Avatar
left it running for a bit, seems to just be a straight line forever.. so maybe it is not running a proper path yet.
Avatar
ItsEasyActually 01.06.2024 19:21
there is a path that i thought was unused that's basically a straight line: https://youtu.be/SfM5AvfBcRo?t=112
19:21
(timestamped)
19:21
wonder if this is what it's using
Avatar
Y+L/R zooms the camera in and out
Avatar
Avatar
ItsEasyActually
wonder if this is what it's using
also hard to tell. this video has the plane descend, but it seems flat here atm. position values only actually seem to update while i am in setedit, Z decreases and Y increases. (edited)
Avatar
ItsEasyActually 01.06.2024 20:24
interesting
20:25
the start section of act 1 is pretty much a straight line iirc, so it could just be that.
Avatar
Avatar
woof
Y+L/R zooms the camera in and out
that's just default cam
Avatar
Avatar
Speeps
that's just default cam
whoops, i was thinking of the setedit version being the normal controls
Avatar
Avatar
woof
15ecf8 (raw) in 1st_read has the pointer store for 0c9001c0, modifying that to 0c900000 works
ffs I was looking at the wrong rd_ pointer then (edited)
21:20
past MR doesn't exist I guess lol
tikalsad 2
21:25
and the sky chases are actually acts in this rather than two different stages
Avatar
woohoo
tailshappy 3
23:01
dragon spotted
23:01
I guess it got spawned in rd
23:02
23:05
the dragon flies into them where the stage usually ends, but the emulator reset so I need to go fix something there
Avatar
that's great so far!
Avatar
Avatar
Speeps
the dragon flies into them where the stage usually ends, but the emulator reset so I need to go fix something there
ItsEasyActually 01.06.2024 23:52
I thought the boss used its original path. they do collide at the very end of the path. I didn't realize this guy was actually spawned though, that's neat
Avatar
the more we get running here just gives me a worse and worse feeling about how much work the devs actually had left to do in the last three months before the compile of the first japan release
Avatar
ItsEasyActually 02.06.2024 0:54
we at least do know that it seems this particular build was seemingly behind compared to where they seemed to be in dev. I do wonder how much of the team was splintered off for the events in October of 1998 and had to build out these demos (edited)
Avatar
the only things i know would be different are removing the input checks in movie and main title (for AD at least), they implemented a joke for doing a button combo there (i think it's only seen when accessing the demo title modes from final but likely also in the actual TGS build), blocking the end of speed highway 2, short title timeout and the level idle timeout being added.. stuff like not compiling in the original debug title menu and code to invoke setedit was likely already being accounted for with build flags... but no idea what state stuff like story mode was actually in. there's evidence of a missing debug for hub flags that would work here if not for gutted code in the hub bins. assuming it wasn't too complicated to implement these changes, i'm not seeing it needing to have been a huge amount of the team.
Avatar
I think I found the camera editor, 8C019D80
1:16
I only overwrote the score tally at the end of this with it so it's not working there but I just stumbled across it while browsing 1stread
Avatar
Avatar
Speeps
I only overwrote the score tally at the end of this with it so it's not working there but I just stumbled across it while browsing 1stread
does it display just by calling it?
Avatar
Avatar
woof
does it display just by calling it?
it needs a mode
Avatar
setedit wanted calling every frame, ran through its own init on mode 00, and had its own code to check for buttons to change its mode and display itself.. this looks like only two modes so if this checks the button heap at all in mode 00 that would be great.
Avatar
well it definitely checks buttons
Avatar
i will have to look at this properly tomorrow but it might be easy enough to patch for
1:27
ideally you can call it every frame in a stage and then it'll take a button combo and go to mode 01 and display (i am assuming mode 00 does not display it)
1:35
I just overwrote the pointer to the editor in your patch for now lol
🥲 1
Avatar
that might be fine for now, camfix only does anything on setedit mode 05 :p
1:41
no worries if you don't want to but the txt file here is formatted to be able to be imported as labels in ghidra with the import symbols script if this helps you https://discord.com/channels/446023672147345418/1238561775281111133/1240341442598015037
Avatar
Avatar
Speeps
Click to see attachment 🖼️
Controls: A+B: Toggle Mode SYSTEM: B: Toggle visible cameras Y: Toggle visible display SET: Start+A: Grab Camera Start+B: Place Camera Start+X: Adjust Mode Start+Y: Collision Type A+L/R - Camera Mode A+U/D - Edit Element A+X - Camera Level
imaWave 1
📹 2
Avatar
Avatar
Speeps
I just overwrote the pointer to the editor in your patch for now lol
with this sonic is still around and I can't get the camera back to him after it starts looking at a camera
Avatar
sounds like it needs its own camfix.. i store the last used camera value before setedit and restore it on return in mode 05. otherwise that was getting camera stuck too
Avatar
I'm gonna go to bed now anyway, here's sky chase so far
2:07
The tornado 2 isn't transforming, I think it's waiting for a camera but I'm not sure
2:08
act 1 is fine so you can see the dragon though
Avatar
well, at the moment setting 8CAA9FA8 (PathMode) to 5 and 8CAA8F90 (FlyingPoint) to 0 gets the second half of SC2 to work
Avatar
those round things that shoot bombs look a lot more like sky deck cannons in this version
12:36
they even shoot green bullets instead of glowing red bombs
👀 3
Avatar
with the objects, though only #14 is used by the SET files (not counting the unused one).
13:45
that missing texture on the top left is the target cursor and stuff does get highlighted when it passes over them
13:48
there's a pointer crash going on somewhere, not sure where though
13:48
happens randomly
13:53
anyway I'm gonna take a break today
Avatar
perfect chaos booted
sa2chaos0 3
Avatar
oh god
Avatar
⠋ The Sewer ⣠ 02.06.2024 15:52
This is more terrifying than the final version, honestly.
Avatar
flooded with concrete
Avatar
Avatar
Speeps
I think I found the camera editor, 8C019D80
the code you found is referenced, but the code referencing it is unreferenced outside of itself. it looks a lot like the setedit init if you follow the reference back. i'm going to test with supplying a safe pointer for r4 on init and hopefully it can get through its modes properly, camedit is referenced on mode 02. (edited)
👍🏻 1
Avatar
seems correct so far. i'll release here for testing in a sec
17:43
like i've had a camera invert suddenly but i don't know if that's my code's fault or for messing with the editor and exiting it (edited)
17:46
invoking these is all more or less the same so far, happy if i don't have to implement camfix again but we'll see. unreferenced debug functions like this want you to supply a pointer to heap base, a pointer to the mode to be written 20 bytes after that, and then the mode precedes the work ram for it. i'm just trying to document some more controls for it
Avatar
try this, X+Y enters CamEdit. i've included controls txt files in the mod folder for SetEdit and for CamEdit. pausing is no longer handled by this mod and i am looking for a better location to patch for it.
👍 3
18:01
it seems to properly handle restoring its own camera unlike SetEdit, so.. good luck.
18:04
if you need to analyse its heap in ram, SetEdit: base= 8c750da0 mode= 8c750dd0 CamEdit: base= 8c750e10 mode= 8c750e40
Avatar
btw did anyone see what autodemos windy valley looked like with straight up ninja lighting?
Avatar
An exploding Dreamcast
Avatar
Avatar
Speeps
they even shoot green bullets instead of glowing red bombs
wut set file is this using? SETSHT1S and SETSHT2S are byte for byte identical iirc, but theres a SETSHTS thats much older that has references to a ton of unused objects
20:12
like the weird furniture objects and BOSS (edited)
Avatar
Avatar
ehw
btw did anyone see what autodemos windy valley looked like with straight up ninja lighting?
i can't test ninja lighting there yet because i lost track of the edits required and patching on top of the gdi speeps posted the other day is leading to issues. i'll test it eventually if nobody else does.
Avatar
Avatar
ehw
wut set file is this using? SETSHT1S and SETSHT2S are byte for byte identical iirc, but theres a SETSHTS thats much older that has references to a ton of unused objects
1/2
21:46
They place those cannons in the same spots and that's it
Avatar
Avatar
ehw
btw did anyone see what autodemos windy valley looked like with straight up ninja lighting?
I have, not too interesting though I only had a brief look
Avatar
i still think levels in blockout form were probably designed to be displayed with ninja lighting, or at least would look better with it. they mostly have set up material colours that make sense for them.
Avatar
they might've been... but it's complicated
1:11
it looks like the system itself is there, but most lights were removed
1:12
so basically the stages get one "main" light that is set up using the parameters in the SL file
1:13
there's only one separate light that I've found so far, and it's in Ice Cap, it also remains in the final game and even in SADX to some extent
1:14
I haven't investigated the njCreateLight calls found earlier, those could be worth looking at
1:15
I'm a bit bothered that "Chaos underlight" doesn't appear in Chaos 2, need to boot Chaos 0 to test too. It might be that our hack is incorrect (the underlight appears in final with a similar hack)
Avatar
that link is coming through as no access
Avatar
oh, you didn't seem to have the decompiler role, I've just added it
👍 1
Avatar
we have palette light debug and there was camedit just found, maybe the code still has some relevant tool buried away to make this easier to research.
Avatar
there is one interesting function in the final, I wasn't able to get it to work but it seems to have been used to load and save palette lighting files on the VMU
1:23
the strings involved were SONICADV_P00 and SONICADV_S00 though I have a note saying it's PL_ and SL_ in the autodemo
1:23
It also seems like LANTERN_PALETTE and LANTERN_SOURCE were VMS titles, while LANTERN/パレット情報 and LANTERN/環境情報 were VMS file descriptions.
Avatar
Avatar
PkR
the strings involved were SONICADV_P00 and SONICADV_S00 though I have a note saying it's PL_ and SL_ in the autodemo
i know other modes on the debug that displays the palette curve graph have vmu info, that might be able to output files. don't know if it's specifically this or not
Avatar
I think we tried it on final with Exant and it just hung lol
1:26
or it might've been the PC one
1:26
there's something with PC transfer too
1:28
that has the ram address and notes on its modes for palette debug in autodemo
Avatar
yeah this is still in the final
Avatar
i never quite figured out pc transfer of data from a dev kit. only managed the kind that required pausing execution and dumping ram because the data would be too big for a vmu file
1:30
if it can happen over serial i have that cable for my retail dreamcast, but i don't have a dev kit anymore so no scsi options available
Avatar
Avatar
woof
i know other modes on the debug that displays the palette curve graph have vmu info, that might be able to output files. don't know if it's specifically this or not
Yeah, modes 3 & 4. (edited)
👍 1
Avatar
Avatar
PkR
the function at 8c0475c0 is asSetLight, the one that sets up Ninja lights using the LightInfo struct. I found pointers to it in Emerald Coast, Windy Valley, Speed Highway, Ice Cap (that one survived all versions) and Sky Chase binaries. Sadly not in Lost World or Red Mountain, but that's not the only way to set up Ninja lights
just realized I completely forgot that 1ST_READ pointers are different in older stage files, so this info is only relevant for levels that boot without hacks
1:42
okay looking at Speeps' excel: asSetLight: pointer 8C045C20 in old files, 8C0475C0 in 1ST_READ njCreateLight: pointer 8C59C434 in old files, 8C5BAA04 in 1ST_READ (edited)
1:45
Windy Valley has the pointer to asSetLight at C908580
Avatar
hmm, it calls that in the function that sets up the skybox apparently
1:54
0ca58ec8 is the light info struct LightInfo { int lsrc; // Ninja light flags float spc; float dif; float amb; NJS_ARGB argb; NJS_POINT3 pos; // Light position (for spot and point lights) NJS_POINT3 vec; // Light direction float nrang; // Distance at which light source attenuation begins float frang; // Distance to cut the effect of the light source (range) int iang; // The angle at which the specular or spotlight is at maximum intensity int oang; // The angle at which the specular or spotlight effect ceases };
1:54
flag is NJD_DIR_LIGHT
1:58
note: this is just one light, the other light is set up using the data from the SL file, which may wash out or override it
Avatar
found other functions in 1ST_READ: 8c0474a0: asLight - main sub for tasks created by asSetLight, auto deletes the task when the level ID doesn't match 8c011120: this might be the function that creates lights from the SL file, it also sets light debug info display variable to 0 8c047320: this is probably le_createLight, function used to set up custom Ninja lights manually 8c0121c0: this either sets existing lights or creates some kind of fixed light
2:47
njCreateLight is referenced directly in Speed Highway and Final Egg, so they might have custom lights of some sort
Avatar
Avatar
PkR
0ca58ec8 is the light info struct LightInfo { int lsrc; // Ninja light flags float spc; float dif; float amb; NJS_ARGB argb; NJS_POINT3 pos; // Light position (for spot and point lights) NJS_POINT3 vec; // Light direction float nrang; // Distance at which light source attenuation begins float frang; // Distance to cut the effect of the light source (range) int iang; // The angle at which the specular or spotlight is at maximum intensity int oang; // The angle at which the specular or spotlight effect ceases };
hmm doesnt act 3 do something with the sky box where part of the geometry is actually faded into the skybox?
2:48
i remember seeing that and being like 'that doesnt normally happen'
Avatar
yeah but I think that's just transparency shenanigans
2:51
asSetLight is called in Emerald Coast, Speed Highway and Ice Cap so these definitely have some kind of light setup for the old system
2:52
really weird that nothing shows up for Chaos 0
Avatar
id imagine the older stages with the invalid pointers would be more likely to use the old system especially since maybe thats a possible reason the sl/pl files arent present
Avatar
maybe, but then you have Ice Cap that still creates that light for some reason, even if you can't see it
Avatar
stage files never make direct calls to functions that mess with the lantern lighting that are presumably only stored in 1st_read in the final do they? i can only think of casino that might do it (edited)
3:05
to animate the environmental lighting
Avatar
I think they do some light direction adjustments in some other stages too
3:06
in the Mystic Ruins maybe
3:06
the SL file has different rotation for the light direction vector and they override it in code for day/evening/night (edited)
Avatar
Avatar
PkR
perfect chaos booted
the order of textures in the PVM doesn't match the texlist so it looks broken like that. Here's what it's actually like
3:51
3:53
👀 2
tailshappy 1
3:56
Interesting that 1) They have textures for a stage that isn't featured in the demo 2) The texture order doesn't match the texlist even though the stage binary and the PVM have the same date
Avatar
supercoolsonic 03.06.2024 3:57
Definitely very odd...
Avatar
having a good night researching
Avatar
calling 8c075ac4 every frame runs the soundtest outside of pause (the pause version is referenced while this one is not, though pause one is set to immediately rts nop)
👍 1
23:33
actually it could be referenced. remembering i haven't checked since switching to this ghidra server if it actually analysed everything past that rts nop. but there it is, regardless. it is literally the function just after that rts nop in this ghidra project, i defined it as a function from the rts nop but that is a nullsub here. that rts nop is ran whenever you press start on the pause menu on the option to resume. (edited)
Avatar
i'm not currently seeing anything else of use that is referencing DisplayDebugString that hasn't already been looked at within 1st_read
Avatar
are those weird shift-jis strings still in the autodemo still unreferenced
0:48
with some old stage names like MUSHROOM
0:48
i remember when i was doing these eons ago that was one thing on the bucket list
Avatar
i'm not finding anything by converting one of those strings to hex and searching. i know there are other sjis strings in the binary such as japanese vmu file descriptions for lantern and those were not defined yet until i did them.. so if they are actually there, they're likely still just displaying as hex too.
Avatar
Patcher update:
  • The "Stop" button can now stop a build in progress
  • Build progress is logged to a file
  • Minor bugfixes
Avatar
i am interested in a good location for patching for pausing and for free movement without needing setedit, ideally wherever the button checks for input within stages is occurring. i'll look myself when i have time but if anybody already knows where this is, that would be good to have.
Avatar
and it seems the behaviour if camedit is even invoked at all is it will start target latching to certain cameras if you pass through them (camera mode Sonic is definitely causing it so far), so it snaps and targets the camera which ends up acting like the camera has inverted from following sonic. targeting a camera and then exiting the debug mode has a similar behaviour still. i don't know how i'd even fix that. it also looks horrible if you force frame limit and game speed for 60fps, active camera collision starts flickering visible every other frame without even activating the debug and the camedit text if active will do the same. (edited)
Avatar
Ohh I know that thing, 99% it checks for the “missed frames” variable to tell if it should draw or not. I had to patch a lot of objects for that in the final too
Avatar
Avatar
woof
and it seems the behaviour if camedit is even invoked at all is it will start target latching to certain cameras if you pass through them (camera mode Sonic is definitely causing it so far), so it snaps and targets the camera which ends up acting like the camera has inverted from following sonic. targeting a camera and then exiting the debug mode has a similar behaviour still. i don't know how i'd even fix that. it also looks horrible if you force frame limit and game speed for 60fps, active camera collision starts flickering visible every other frame without even activating the debug and the camedit text if active will do the same. (edited)
camera stickiness is probably actually my fault for regressing and reintroducing a bug. fixed that old bug, but i am going to implement camfix for camedit now too, just debugging.
Avatar
Avatar
PkR
Ohh I know that thing, 99% it checks for the “missed frames” variable to tell if it should draw or not. I had to patch a lot of objects for that in the final too
what did you patch those to do instead?
6:55
this should fix camera stickiness for the most part. since entering CamEdit causes Sonic to spindash, it is possible that the camera wanted on exit has actually changed because Sonic has moved, but in these cases it seems to be fixed by moving into a different camera
Avatar
you can ride the karts but.. please help him...
confuse 1
chuckles 1
7:47
spawn E_Cart, scale X is colour and scale Y is whether it has an enemy or not. an empty one can be entered by pressing Y beside it until it works, B to accelerate and A to reverse, Dpad Left to change ring counter, Y again to exit. only Sonic will actually be sitting inside the kart, everyone else just does falling animation while driving it. (edited)
Avatar
Hahahaha
Avatar
Avatar
woof
what did you patch those to do instead?
There can be different ways depending on the asm. For example, in the function that only creates Amy's hammer hearts if loop_count doesn't equal 0, I changed != to = by swapping between bt and bf instructions. In the function that animates Tails' tails when he is tired from flying, I just nopped some instructions to remove the check.
👍 1
Avatar
Avatar
woof
you can ride the karts but.. please help him...
excellent ending
14:56
do the enemy variants work ???
Avatar
Avatar
ehw
do the enemy variants work ???
yeah
Avatar
thank god they use that object for two stages because that thing would've sucked if it wasn't a 1st_read object
Avatar
are we moving to that other thread?
17:42
either way I just checked sky chase in flycast and it can do the skybox in it (but really glitched), so I'll work on seeing what I fucked up with that (edited)
17:47
here's that early cannon's model btw
Avatar
supercoolsonic 08.06.2024 17:49
no idea
17:49
Also, neat
Avatar
Avatar
Speeps
either way I just checked sky chase in flycast and it can do the skybox in it (but really glitched), so I'll work on seeing what I fucked up with that (edited)
fixed it, I had 8C0669FC fixed to 8C06AAE0 (SetPlayerPosition) instead of 8C06AB54 (GetPlayerTaskPointer)
👀 3
☁️ 1
Avatar
I think this was the cause of the random crashing too nope (edited)
Avatar
Avatar
Speeps
here's that early cannon's model btw
the animation here isn't used
18:39
they spawn already open ingame
Avatar
supercoolsonic 08.06.2024 18:39
Oh?
Avatar
it doesn't look like the transformation animation is in here, at least with what the toolbox's scanner pulled
20:30
it pulls everything from final, but the only plane animations it gets from AD are the idle ones
🤔 1
Avatar
can you post your current sky chase files, i could take a look with a breakpoint on error handler if it goes there when it crashes (or you can do that if you'd like)
20:43
also is the only change needed in 1st_read still the rd pointer?
Avatar
there aren't any pointer changes needed in 1st_read for this one iirc
20:48
i'll get the files now
20:48
20:50
the crash is random, it might take a few tries to get it
20:50
I tried savestating in demul on a few runs half an hour ago but I didn't manage to get it
Avatar
Here's what toolbox ripped from AD and JP:
Avatar
Avatar
Speeps
are we moving to that other thread?
Eventually… but it’s not ready yet
Avatar
so far i can only get a crash for leaving it on the results screen too long, but good luck debugging that
Avatar
not any further on that crash cause it exits the game when it happens. one is happening a lot more consistently for me on mode 05 in demul though. 0x8caa9Fa8 is the sky chase mode, you can use the other paths if you want. the default is path 03. here is the end of 04 and the start of 05 (ignoring the results screen appearing when i switched mode)
Avatar
0x8caa9Fa4 skybox render 00/white bg 01 0x8caa9Fa8 mode 0x8caa9Fac health 0x8caa9Fb0 score 0x8caa9Fb4 plane model id
Avatar
8CAA8F90 is how far along in the path you are
Avatar
crash seems to be something caused by the plane, I managed to get a savestate right before a crash then looked up every pointer in the 8C9XXXXX range in CE and tried noping them, worked with 8C900E48 (a pointer for SonicMilesTornade), but that just contains a LoopTaskC call so it's something in there
Avatar
okay it looks like it's the task at 8C904F14 doing it, getting closer
Avatar
okay well fixed the controls lol
👍 1
Avatar
i'm going to guess the enemy target list is going somewhere weird
14:14
time to dive into e102 code nvm can probably get it from EntryColliList (edited)
Avatar
supercoolsonic 09.06.2024 14:30
How many pointers have had to be changed to something other than what's worked in previous pointer fixes? Just curious.
Avatar
well those pointers themselves are fine, the problem is something nearby
14:31
I was right about the enemy list being fucked though, I'm going to try it in a minute with the fixes I just made
Avatar
aside from the last one these were all +4 bytes off (perG was set to 8C75CE54 etc)
14:41
now that the controls are working we get early laser controls
14:41
it highlights everything the target cursor moves over automatically and you press B to fire
14:43
👀 1
14:45
the small cannons take 2 hits to destroy
Avatar
supercoolsonic 09.06.2024 14:50
YOO It still uses the unused rocket!!
Avatar
so content wise this is basically the same as what they showed in the international forum right?
16:12
hmm I wonder if the Egg Carrier transformation scene with the lightning strikes is still there
Avatar
the tornado transformation scene is still missing, I haven't seen any sign of it in the code though, it's weird
Avatar
the clouds are also angled like they're expecting the camera to be behind the plane like it is in the final game
Avatar
I wonder if the scanner missed them?
16:15
they showed it off pretty early, it would be really weird if it wasn't there
16:15
unless they somehow set it up to not include those models in the compilation
Avatar
Act 2 can't progress without it without changing the path manually
Avatar
yeah it's gotta be in there somewhere
Avatar
well it missed the egg carrier (action 0C93F36C)
Avatar
Egg Carrier shows up if I scan like this objscan SA1 SHOOTING.BIN C900000 basicmodel -findall
16:32
tornado related models: 00059CF4 000894B8 00097364
16:32
0006E2A8 dragon lol
Avatar
it picked up those four
16:36
the only animations it found for those planes were idles though
Avatar
RocketHorse 09.06.2024 16:57
Could the tornado transformation be in an event file?
Avatar
if the scene was programmed as an actual cutscene, it may've been
16:59
in the final game it's not an actual cutscene though
Avatar
Avatar
PkR
if the scene was programmed as an actual cutscene, it may've been
actually this reminds me, the game does have a list of strings that correlate to cutscenes (flags?) that get loaded in ram
17:10
SHOOTING2 is among them
17:10
idk what this but i saw it when i did a full ram dump
17:10
17:11
not sure if the autodemo has its own list
Avatar
the camera editor has an "event camera" setting that it usually skips over
17:31
set 8C6A56AC to 2 for "EVENT CAMERA" and 4 for "DEBUG CAMERA" (which just has the cams used for edit mode I think)
imaThonk 1
Avatar
Avatar
ehw
Click to see attachment 🖼️
Those strings are used for the Sequence Editor tool in the final The AutoDemo lacks those strings since the SEQ EDITOR doesn’t appear to exist in this build (edited)
Avatar
btw here's the file with the controls fixed
👍 1
Avatar
Avatar
MainJP
Those strings are used for the Sequence Editor tool in the final The AutoDemo lacks those strings since the SEQ EDITOR doesn’t appear to exist in this build (edited)
there was this one for flags but so far no stage bin it looks for has seemed to have any code to execute for it https://discord.com/channels/446023672147345418/1238561775281111133/1238991532644634664
🤔 1
Avatar
cursor texture works if you extract it from the shooting0.pvm and include it as a loose pvr instead
👍 1
Avatar
Avatar
Speeps
set 8C6A56AC to 2 for "EVENT CAMERA" and 4 for "DEBUG CAMERA" (which just has the cams used for edit mode I think)
it specifically has tornade cameras under the event cam mode, idk if you checked. using it is weird and i probably just don't know its parameters enough yet, with either of the two of them the camera does change and target you but it zooms out very far
Avatar
and there is why camedit won't let u select them for some reason
Avatar
Avatar
woof
it specifically has tornade cameras under the event cam mode, idk if you checked. using it is weird and i probably just don't know its parameters enough yet, with either of the two of them the camera does change and target you but it zooms out very far
yeah not being able to find those before despite seeing the strings is what led me to finding the two modes
Avatar
i'm going to patch for this once i think a bit about branch locations
Avatar
Avatar
woof
ok try this
i updated my gamebanana with it and uploaded the mod collection zip to nextcloud
Avatar
i'm wondering if the logic behind them being disabled in CamEdit is that they aren't meant for manual placing in that way for actual level dev, only for debugging and testing reasons. like, the debug cameras are used through the debug functions normally and not actually placed in a level anywhere.. are event cameras usually meant to be ran like that too? debug cam GuriGuri rotates around based on thumbstick input outside of Sky Chase, Tornade tracks you but its as if for some reason the camera will always sit at 0,0,0 to do it. surely there'd be some code somewhere meant to update its position relative to sonic's position instead.. in Sky Chase it doesn't update itself to keep tracking sonic, but it will snap to track you and stop again every time you exit an edit mode.
Avatar
0x8c834b80 controls egg carrier's current action, function at 0x0c902680
Avatar
is 0x0c900000 ran in the current version of shooting? i can breakpoint in 1st_read before passing execution into the bin for 8 other functions, but not that
8:06
it seems like it would allow for the path to loop forever rather than go to results
Avatar
running 0x0C902880 spawns a line of tvs right here. i'm hijacking the task created during EC action mode 02, modifying the pointer here works 0x0c902870
tv 2
Avatar
Avatar
woof
is 0x0c900000 ran in the current version of shooting? i can breakpoint in 1st_read before passing execution into the bin for 8 other functions, but not that
I don't know, it has a weird 1st read pointer in
Avatar
Avatar
Speeps
I don't know, it has a weird 1st read pointer in
so far it seems not. entry on 0c9001co, it runs 8 of the functions on the first handover from mainloop and everything else is either jumped to within those or is set up to be ran through createtask or is an object i think? i have not found anything related to a camera so far. the code at the beginning of the file doesn't initialise textures for the plane or egg carrier or sky and doesn't initialise any paths, but it does check the sky chase path id and does reset the path progress if it reaches the path max. seems more for testing but i can't tell if that's meant to be an entry point. sorry if you already know any/all of this. i think i'm maybe supposed to use createtask to invoke setedit and camedit.
Avatar
@Speeps i think the cameras you want are like in the final version's, despite the cam file not having changed from autodemo to then. one of the cameras final has listed is the Knuckles2 camera, which doesn't exist. it almost entirely works with a Knuckles camera. i had to place it manually from CamEdit though. i did modify the cam file to use as close of a match to the cameras as i could, and the game does run code to generate the file name to load it.. but i don't know if the game is actually even using the cam data once loaded. modified cam file attached if it is ever needed, and a spreadsheet of the camera types and levels in the Autodemo. my changes to the cam file, used value, final cam type, what i changed it to: CamSht1S 00 is used / Follow -> 00 08 is used / Knuckles2 -> 1f Knuckles 0a is used / C_Knuckles2 -> 2e C_Knuckles 0c is used / Magonote -> 02 0F is used / Col_Magonote -> 2a C_Magonote unlisted video testing the manually placed Knuckles camera: https://www.youtube.com/watch?v=oSOgFcjMj1U (edited)
👍 2
Avatar
0x8CAB1EC8 Dragon actions
🔥 1
Avatar
cams definitely being loaded from that cam file, but their positions don't all make a lot of sense. lots inside of the egg carrier. this cam file doesn't have changes to final, so i have no idea if final has accurate camera ids even. how much do we know about final sky chase and how it sets up camera?
23:02
we could probably mod the cam file with a Knuckles cam at the spawns and other cameras on the path wherever that cam breaks.. doesn't seem accurate to do that though.
Avatar
Avatar
woof
@Speeps i think the cameras you want are like in the final version's, despite the cam file not having changed from autodemo to then. one of the cameras final has listed is the Knuckles2 camera, which doesn't exist. it almost entirely works with a Knuckles camera. i had to place it manually from CamEdit though. i did modify the cam file to use as close of a match to the cameras as i could, and the game does run code to generate the file name to load it.. but i don't know if the game is actually even using the cam data once loaded. modified cam file attached if it is ever needed, and a spreadsheet of the camera types and levels in the Autodemo. my changes to the cam file, used value, final cam type, what i changed it to: CamSht1S 00 is used / Follow -> 00 08 is used / Knuckles2 -> 1f Knuckles 0a is used / C_Knuckles2 -> 2e C_Knuckles 0c is used / Magonote -> 02 0F is used / Col_Magonote -> 2a C_Magonote unlisted video testing the manually placed Knuckles camera: https://www.youtube.com/watch?v=oSOgFcjMj1U (edited)
I'll record the stage now as-is without the camera and add this vid in the description
Avatar
Avatar
Speeps
I'll record the stage now as-is without the camera and add this vid in the description
fine by me
Avatar
i looked at active camera in final sky chase and it seems to set up and use a Back2 camera there. but spawning that in autodemo through a cam file makes it target the back of 0,0,0.. the tornade cams are meant to be used by the tornado, at least in final windy valley act 2. wondering if there's some camera create function in 1st_read being missed for cameras like those here or if it's looking for the camera type id in a weird location and going to default cam.
Avatar
The camera object is created in 1st_read's GameInit
👍 1
Avatar
thank you
Avatar
supercoolsonic 13.06.2024 18:54
Took me a second. That's Sand Hill
Avatar
the board spawns but he doesn't spawn riding it, he'll do it when leaving edit mode though
Avatar
i got a dumb question
Avatar
it also only uses Sonic's board
Avatar
with how much stuff is getting restored the AD is starting to feel like
19:29
weirdly complete lol
Avatar
supercoolsonic 13.06.2024 19:29
???
Avatar
i wonder how possible it is
19:29
to also have the adventure fields and such restored to be able to have a more "story mode"-like autodemo
Avatar
Avatar
supercoolsonic
???
i wouldnt've thought that sky deck is even remotely functional
19:29
er not sky deck, sky chase
19:30
as said, dumb question lol
19:30
im just curious
Avatar
there isn't that much in the adventure fields afaik
Avatar
ah okay
19:32
i was starting to think that the adventure fields might be like, "very functional" (in the literal sense, that they still have loading zones for the levels and everything like that)
Avatar
supercoolsonic 13.06.2024 19:32
Nah, most objects are either not placed, or don't exist
19:33
iirc, the only unique objects Station Square has atm is a scenechange and the Casino lights thingie object
Avatar
interesting
19:34
pretty impressive that they finished the fields up too in like 2 months lol
Avatar
practice has a scenechange object that can go anywhere in the game but the demo end thing would need to be dealt with
🧐 1
Avatar
woah that sounds intriguing
Avatar
it's a 1st_read object so it could go in any level
Avatar
i havent really been able to follow along and wont really be able to for another week, last exams
19:35
but i might look into that once im done if nobody does
Avatar
though i'll also have to finish up decomp stuff too first
19:35
which im hoping the people here that learned sh4 will be interested in now that decomp.me support is a thing (almost)
Avatar
final egg has 6 acts in this lol
sonicwhoa 1
imaNoUse 1
Avatar
this is pretty off topic but i really have to do a PSA about this since this channel kinda "collects" everybody here that knows any sh4 lol https://decomp.me/scratch/ZGDsw this is how the tool works (you can find actual working examples on the main page for other projects) even if people don't wanna engage in taking on a complete file, using this site anybody can take a shot at trying to match a problematic function i finished the code for it and it worked on my docker but for some reason once the PR was approved and deployed onto the page it ended up breaking and due to not really having any time i can't get into debugging it for another week, that's why the output is empty in the linked scratch (edited)
👀 1
Avatar
Avatar
Speeps
Click to see attachment 🖼️
end of psa, sorry for bumps, sand hill progress here
Avatar
inb4 autodemo gets decomped before PC
👍 1
Avatar
supercoolsonic 13.06.2024 19:40
Might happen lol
Avatar
at the very least you have a slightly earlier version of some of the debug tools to bring across to final one day lol. the only change CamEdit seems to need is to support the Collision camera level that doesn't exist in AD
Avatar
not having to use my shitty version would be nice lol
Avatar
it would probably be more practical to start with final and "go backwards" from there (i know we're just shooting the shit i dont wanna be a smartass) however, i can imagine something like an individual stg02.bin decomp
19:44
or anything like that that has unique code and not incomplete code
19:45
in theory though, if i would set up an autodemo split and repo, even on 1st_read you guys could just match only the interesting stuff like the debug menus
19:45
so thats definitely a viable thing too
19:45
its not hard to do at all, i just need to map out where all the object files are compiled into it by finding the 00 padding boundaries
19:46
and then finding out their names and shit by crossreferencing with sadx and such
19:47
also (last thing i promise), i wrote a tool early this week that calculates the progress, apparently my CHAO.bin decomp is at 16% lol
Avatar
i'm a little biased to starting from a proto and going forwards from the stuff i was helping with for Rez. if its got debug tools it exposes a lot of interactions in the code better and later versions don't tend to change way too much about it to make it impossible to identify things in later versions, or to know how to interact with those to enable anything leftover in the final. ended up getting stuff that carries over to a 2019 pc port from work on a debug proto of Rez lol, ignoring it being 64 bit and not 32. think i just like exposing buried dev tools..
Avatar
oh from a reverse engineering standpoint thats completely true
19:51
i meant mine from a match decomp standpoint
19:51
that decomping the final is "more beneficial" and its easier to dumb down the code afterwards to get match AD
Avatar
Avatar
Speeps
The camera object is created in 1st_read's GameInit
CamInit @ 0x8c017fa0 off from GameInit
19:52
i'd like to do more with final once helping wrap up the restoration work
19:52
but i need to actually learn C probably...
Avatar
lol yeah
19:53
match decomp is just a shitton of guess work, it usually ends up going faster and faster once you get a feel for their coding patterns but that probably applies more to my CHAO.bin decomp where it was most likely only a couple programmers
19:54
i have a feeling that 1st_read will have parts that are complete ass to match because some dev liked doing shit like if(var = call()) (edited)
Avatar
if i knew programming i could make it worse
19:56
i've been adding more labels to AD 1st_read ghidra project from my patch research so i'll check those in soon..
19:57
i can export symbol maps from ghidra with an export script and several regex commands to format it for the import script, so i'll also have an updated one to post alongside that check in
Avatar
supercoolsonic 13.06.2024 20:09
lol?
Avatar
RocketHorse 13.06.2024 20:11
cacti?
Avatar
Avatar
woof
at the very least you have a slightly earlier version of some of the debug tools to bring across to final one day lol. the only change CamEdit seems to need is to support the Collision camera level that doesn't exist in AD
I noticed some tools have fewer components than their final counterparts when checking 1st_Read. Like the Sound Test in the final doesn't have the Note and FX feature like in AD.
Avatar
lol sand hill has a gigantic mountain that's bigger than the skybox as one of its objects
Avatar
supercoolsonic 13.06.2024 20:33
Huh???
Avatar
supercoolsonic 13.06.2024 20:35
Is...that even in the final?
Avatar
nope
Avatar
supercoolsonic 13.06.2024 20:35
Zamn
20:35
Is it used?
20:35
In this layout?
Avatar
yeah apparently
Avatar
supercoolsonic 13.06.2024 20:36
oh
Avatar
i'll go find it now
20:40
hold on
20:41
it's this thing
Avatar
supercoolsonic 13.06.2024 20:41
Hmm
Avatar
they removed it because they added it directly to the landtable
Avatar
supercoolsonic 13.06.2024 20:42
This was...integrated as level-
20:42
yeah
Avatar
anyone happen to know what the 0x0cbxxxxx range of ram is built from? caminit ends up generating pointers to pointers that go there based on stage ID and act ID. it is not within the stage bin. i gotta go eat so i don't know yet what it is going to do with the values found in those locations
20:45
i'm kinda hoping its something to do with the starting camera for the stages and maybe its fixable for the stages that weren't compiled for this version
20:51
its where it finds the cam bin...
Avatar
Avatar
Speeps
they removed it because they added it directly to the landtable
its spawn range is too low, you have to fly out of bounds to the left to get it to appear
Avatar
supercoolsonic 13.06.2024 20:53
Oops lol
Avatar
these pyramids are both objects and landtable models
Avatar
supercoolsonic 13.06.2024 20:56
Both? 🤔
Avatar
yeah, here's the area in SALVL
21:01
giant mountain is only an object but the pyramids are there
Avatar
supercoolsonic 13.06.2024 21:01
...Huh.
21:01
Weird
21:02
Wonder if they were using them as SET objects to decide where to place them, and when decided, they integrated them directly and removed their object versions
Avatar
probably, the objects are in the exact same spots
21:03
in that screenshot I moved it a little to show the double
21:06
the sand snake parts are in the list as individual pieces too
Avatar
supercoolsonic 13.06.2024 21:07
🤔
Avatar
Avatar
Speeps
it's this thing
damn it looks like I was right about the weird SET file this stage has in the E3 version being an early one, the entry is gone from the final layout but it still exists in the E3 one
21:20
it has a different ID but the Y and Z coords are the same
👀 2
21:23
so while the snake parts aren't used in the autodemo you can see how they were placed in the E3 one
Avatar
supercoolsonic 13.06.2024 21:23
Oh wow!
Avatar
supercoolsonic 13.06.2024 21:25
What's the date on the SET file?
Avatar
nothing special
Avatar
supercoolsonic 13.06.2024 21:25
?!
21:26
Very weird
Avatar
same as the rest of the files
Avatar
supercoolsonic 13.06.2024 21:26
Huh
21:28
it looks like it's the same layout as the one in these shots
21:28
the object highlighted is the snake's head
Avatar
supercoolsonic 13.06.2024 21:28
Ah, like in the prerelease screens?
Avatar
supercoolsonic 13.06.2024 21:29
So we have the earliest seen layout for it?
21:29
Basically?
Avatar
yeah for some reason it's in the e3 version
Avatar
supercoolsonic 13.06.2024 21:30
Huh
21:30
Wow
Avatar
the stage itself is the final version though
21:32
it's in that video
Avatar
The IDs need fixing but it's probably just a reorder of the autodemo one Mountain AD: 28 Mountain E3: 36
Avatar
Avatar
woof
anyone happen to know what the 0x0cbxxxxx range of ram is built from? caminit ends up generating pointers to pointers that go there based on stage ID and act ID. it is not within the stage bin. i gotta go eat so i don't know yet what it is going to do with the values found in those locations
CB08 is where it loads cutscenes, this stuff seems to be located between that and Sonic’s motions (CC…)
👍 1
Avatar
anyway SH is done so lemme zip it up
Avatar
does the snowboard give you a snowboard cam here (edited)
Avatar
yeah
21:47
oh
21:47
well no but you can spawn one
Avatar
Could you do Chaos 0 next pls?
21:50
this is the E3 file if anyone's curious about that btw
Avatar
Avatar
PkR
Could you do Chaos 0 next pls?
sure lol
chaohappy 1
Avatar
Thank you!
Avatar
supercoolsonic 13.06.2024 21:53
Is the stage file SBOARD or SANDBOARD?
Avatar
sboard
Avatar
supercoolsonic 13.06.2024 21:53
Thank
Avatar
did they also construct the cacti with objects lol
21:54
that's not used but these are suspicious
Avatar
supercoolsonic 13.06.2024 21:55
Just how many extra objects are there lol (edited)
Avatar
supercoolsonic 13.06.2024 21:56
Ah
22:03
Is there something I have to do to get the object textures to load?
Avatar
1ST_READ patch 1809D8: C00A198C 180AC0: 4F424A5F 53414E44 424F4152 44000000
👍 1
Avatar
supercoolsonic 13.06.2024 22:13
almost
Avatar
supercoolsonic 13.06.2024 22:14
What needs changin?
Avatar
they should be in the order I sent
Avatar
supercoolsonic 13.06.2024 22:15
Oh
22:16
Why did I think they had to be reversed...?
Avatar
the second one is a string lol
Avatar
supercoolsonic 13.06.2024 22:16
Oh lol
22:17
Yay! Thank again
👍🏻 1
Avatar
The next version of the patcher will let you write strings
Avatar
nice
Avatar
supercoolsonic 13.06.2024 22:38
🤔 Placing a capsule at the end of the level and breaking it puts Sonic in Station Square, at Knuckles' exit for Speed Highway...
Avatar
supercoolsonic 13.06.2024 22:48
Also, similar issue with Lost World objects. Was there a 1st_Read patch I missed for these textures?
22:49
The water is also freaking out
Avatar
shove these files in the directory
👀 1
Avatar
supercoolsonic 13.06.2024 22:55
Ye, that fixed the water
Avatar
oh you do exist
23:14
it just doesn't show up in the object list outside this area
👀 2
23:18
nice to finally see the hit version even if the textures are fucked
🔨 1
Avatar
supercoolsonic 13.06.2024 23:18
Yoo!
0:06
0:09
these can be pulled
🗄️ 1
Avatar
For some reason these maps crashed with gdibuilder's discs, had to patch vanilla AD for them
0:40
Anyway I'm going to bed now, will try Chaos on the weekend
Avatar
i know you're using some of them when the obj_ strings are missing, but have you got all of the texlist pointers documented at 0x8c190dc0
Avatar
i found an issue with where you suggested putting the strings for Windy Valley's object textures, you suggested from 0x8c190678 but the beginning of the OBJ_WINDY string will be stepped on by a write during loading the practice stages.
Avatar
Avatar
supercoolsonic
Seems pausing and quitting and loading a different stage can cause this to happen.
which is leading to this
10:19
moving the strings fixes that but i broke something else in another stage with where i put one. i'll post a mod when i fix that
Avatar
i think this works, if anyone tries fixing up ALife MR and gets crashes then its probably because of this (reuploading cause i swapped a byte around by mistake) (edited)
Avatar
level select table is at 0x8c18f8c8
Avatar
final egg 4-5 are empty and 6 hard resets. of the bosses that are hidden, only EggmanRobo loads anything atm
Avatar
Chaos 0 has objects, Chaos 4, Perfect Chaos, Egg Viper, ZERO and E-101R have a more or less complete landtable with textures, Egg Hornet has a very basic landtable with no textures, Egg Walker is completely missing
12:43
forgot Chaos 6, also has a landtable with textures
Avatar
regular E101 (not R) sends to the default switch case of infinite loop so missing too i guess
Avatar
there aren't binary files for Egg Walker and E-101 so that makes sense I guess
Avatar
Avatar
woof
i think this works, if anyone tries fixing up ALife MR and gets crashes then its probably because of this (reuploading cause i swapped a byte around by mistake) (edited)
Cool, thanks for fixing that
13:44
I think I only added in strings for LW, WV and SH
13:46
TP/SD/SC already have working textures (sans SC target which is a pvr anyway) and CO barely has any
13:49
Well TP needed landtable textures but that's done in the stg file
13:51
I wonder if we can throw the obj strings at the end of the stg file too, though I know in WV's case there's a bunch of debug ram to deal with in that area
Avatar
thought it was empty but i tried going to 0,0,0. final egg act 4 has the same object desync going on as final but it has the stage geometry of the egg viper cutscene
14:46
not done with this at all but if it helps i extended level select for some of the other stages that weren't accessible that way by default (not final egg 6 to avoid hard reset). adjusting the menu size is a little weird with many values affecting it and i haven't fully figured that and the control stuff out, so rn it overlaps a bit and it won't let you move right to the bottom right levels. you can go up to get to them, or go right to shooting2 and then down.
Avatar
Avatar
woof
thought it was empty but i tried going to 0,0,0. final egg act 4 has the same object desync going on as final but it has the stage geometry of the egg viper cutscene
that layout is just a fucked up practice 1 iirc
Avatar
yeah it's got the loop formation
Avatar
the mystery is how the hell a ring became a capsule
15:22
it's always the first object so wtf lol
15:23
the extra acts of final egg make me suspicious that act 1 isn't the original act 1, but I've found no proof beyond no other level having a weird entryway covered up behind it
15:25
hot shelter has a bunch of unused acts in the final but I think from leftover texture files it was them just having split gamma's train originally
Avatar
Avatar
Speeps
the extra acts of final egg make me suspicious that act 1 isn't the original act 1, but I've found no proof beyond no other level having a weird entryway covered up behind it
it is a weird level for that, both entrance and exit being cut down and sealed off by final.
15:34
how'd they end up handling viper cutscene in final, just another part of the actual egg viper map?
Avatar
Yeah Y -50000
Avatar
I counted 48 new pointers in B_CHAOS0 lol
19:15
assuming I haven't missed any
19:16
I'd imagine most of them will be in Chaos 2 at least
Avatar
yeah I got the names of all but 3
21:21
and one of those has a distance of 1 byte so why bother lol
Avatar
Avatar
Speeps
the extra acts of final egg make me suspicious that act 1 isn't the original act 1, but I've found no proof beyond no other level having a weird entryway covered up behind it
to add to this, the start position data for final egg act 6 actually makes logical sense for final egg act 4 (while act 4 does have textures they display blockbit by default, i'm temporarily using loose pvrs)
🤔 1
Avatar
act 4 and act 5 start pos data only spawns you inside level geometry in act 3, both at the top and bottom of one of the long twisty paths. could just be coincidence. the act 5 start pos here does start you on the ground and visually aligned looking into the tube exit.
Avatar
updated Extended Level Select, Texture File Name Restores, made a mod for Final Egg act 4 start pos and optional loose textures. also converted the rest of Speeps' stage restores to mods. they are all uploaded to the nextcloud here: https://dcmods.unreliable.network/owncloud/data/PiKeyAr/files/SA1%20research/autodemo/mods/ (edited)
Avatar
Avatar
PkR
I'm a bit bothered that "Chaos underlight" doesn't appear in Chaos 2, need to boot Chaos 0 to test too. It might be that our hack is incorrect (the underlight appears in final with a similar hack)
behold the underlight functions according to chaos 2's code
14:36
14:36
I wonder why they did it like that
Avatar
they weren't like that in the 1st_read chaos 0 was made for, there's a gap of 0x88 between ChaosUnderLightInit and ChaosUnderLightDelete there, but it's 0xC here
Avatar
yeah but I mean like
Avatar
so that means the code was there when chaos 0 was made but then removed in our current version and the one chaos 2 was compiled for?
Avatar
in Chaos 2 it's effectively removed right
Avatar
they're empty so basically yeah
Avatar
it's weird that they put it back in later...
14:45
it would make sense that they wanted to remove it because it wouldn't be visible with Lantern anyway, but why it would be back in a later version is beyond me
14:45
I almost wonder if they were hoping to use both Lantern and Ninja lights at the same time
Avatar
chaos 0 is working with a few bugs, he has a tendency to leave the map and the stage won't load in demul for some reason
Avatar
supercoolsonic 15.06.2024 18:48
Do the plant objects from the unveiling appear? Or were their display routines already null’ed?
Avatar
null'd
19:24
there's a small invisible wall around the arena that sonic can run up using one of the police cars lol
19:27
you can't get these rings in the final game if you port the set file
Avatar
Avatar
Speeps
behold the underlight functions according to chaos 2's code
they love this trick so much
Avatar
i was thinking long term of making two mods, one trying to correct the older set and cam files in the autodemo to make stages work with actual layouts and at least sort of working cameras where they exist. perhaps including cam edits for sky chase and sand hill. the other being slightly less faithful to proto to just port initial jp release set and cam files to autodemo for characters that don't have them where they later do. i think that's still interesting for seeing the older versions of object code running for each character without having to set things up in SetEdit each time. i did a test with first release final egg act 3 for gamma already. the doll targets in AD can only rotate on one axis, wall mounted ones are not possible aside from the sonic doll rail. the uploaded start positions txt needs adjusting, character ids and some level ids are wrong. i have a list of stage and act ids to go up later and i also uploaded a new version of the cam types spreadsheet that now includes the ids for each camera adjust mode in AD.
6:58
there are so many camera adjust modes missing in AD compared to final so i'll be trying to document the behaviours of the AD ones for the sake of fixing and porting. the wiki notes for the SADX ones don't have finished descriptions yet either though.
Avatar
Restoring stuff that is functional but didn't make it into the build (due to set file changes etc.) seems like a great idea. Like Exant I was also wondering how much of the game is actually in there, as in, how functional you can get it to be, whether there's saving and story progression etc. It's very interestin
7:26
The new patcher is almost ready, it will give you a lot of new ways to write data into the game: strings, specific types of values, writing data chunks from external files etc.
Avatar
Avatar
PkR
Restoring stuff that is functional but didn't make it into the build (due to set file changes etc.) seems like a great idea. Like Exant I was also wondering how much of the game is actually in there, as in, how functional you can get it to be, whether there's saving and story progression etc. It's very interestin
saving may not be possible if there are no strings anywhere for the vms file. these will likely only be in s-jis format so they won't be detected by default by ghidra if they are in. i know there's lighting file vms strings but forcing the debug for them into the state that prints "sure?" hasn't yet led to being able to save any of those. could be missing code, can't say for sure yet. the sdk docs have the format info for vms icon data, i did end up marking some down while researching rez.. might still have a valid type for it ready if it doesn't exist in the ghidra project types already.
7:38
and adventure field flags seemed to be in in some form, but the debug for it in SS Office led to the same sort of rts nop as Speeps posted earlier. i think only egg carrier deck and interior needs checking now.
7:39
i vaguely remember MainJP years ago posting about being able to get the bridges in EC_Hall to extend and retract?
Avatar
Avatar
woof
saving may not be possible if there are no strings anywhere for the vms file. these will likely only be in s-jis format so they won't be detected by default by ghidra if they are in. i know there's lighting file vms strings but forcing the debug for them into the state that prints "sure?" hasn't yet led to being able to save any of those. could be missing code, can't say for sure yet. the sdk docs have the format info for vms icon data, i did end up marking some down while researching rez.. might still have a valid type for it ready if it doesn't exist in the ghidra project types already.
Yeah, the flags are still intact.
Avatar
I made a new version of the image builder that gives you more ways to apply patches. I haven't written the documentation yet but there are some sample mods included. Also it's now a general patcher so it supports other games, including SA2. The EXE for the latest version will be here: https://gitlab.com/PiKeyAr/dreamcast-image-builder/-/blob/main/release/DreamcastImageBuilder.exe?ref_type=heads I also added a compatibility layer so the old mods for the Autodemo should still work. I haven't tried the mods posted here recently. I'll be going over all of them and converting them to the new format once I finish the documentation. (edited)
👍 1
Avatar
hmm, I found out that some of the PL and SL filenames don't match between the Autodemo and the final version. For example PL1B0B is for Station Square Garden (Sky Chase Act 2 in final). It probably has to do with level IDs being different. I'll investigate more and update the lighting files mod
17:50
I think it's because of Sky Chase being one level ID with two acts instead of separate level IDs
17:55
34 Cart (PL_Y0B) 35 Sky Chase Act 1 (PL_Z0B) 35 Sky Chase Act 2 (PL_Z0B - looks like it loads the one for Act 1 even if the one for Act 2 exists) 36 Sand Hill (PL1A0B) 37 SS garden (PL1B0B) 38 EC garden (PL1C0B) 39 MR garden (PL1D0B) 40 Chao Race (PL1E0B) Here's the updated mod https://dcmods.unreliable.network/owncloud/data/PiKeyAr/files/SA1%20research/autodemo/mods/Lighting.7z (edited)
Avatar
i uploaded this to nextcloud just now but these are the level ids for autodemo
21:38
characters for start pos go in the same order as in level select, sonic, tails, knuckles, big, amy, gamma. currently that list has amy, gamma, and then big, which is wrong
Avatar
What's the difference between "NO" "NO ENTRY" and "ERROR"
Avatar
no for invalid stages and bosses, no entry for invalid hubs. error is for when the string id exceeds the maximum
1:00
probably all of the stages would fit on that title debug menu that is missing cause it is meant to have a scroll list or something. i wasn't able to get the level select list heights to increase properly without breaking list movement or having one column extend while one did not or two extending or none
Avatar
I'm going to update some mods that I downloaded from here. For the Autodemo, the old mods will still work fine, the update will just make them easier to read since you can now write strings, floats etc. If you want any mods/data to be converted feel free to send them to me. Also, if y'all don't mind this thread going public, I've made a new thread here https://discord.com/channels/446023672147345418/1248608194436141178. It's in the #game-research channel, which is visible to all members of the server but only moderators and people with the Researcher role can post there.
imaWave 1
Exported 3 430 message(s)
Timezone: UTC+0