Sonic and Sega Retro Message Board: SADX/SA1 Hacking/Modding - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 185 Pages +
  • ◄ First
  • 181
  • 182
  • 183
  • 184
  • 185
    Locked
    Locked Forum

SADX/SA1 Hacking/Modding Now with more research and development!

#2731 User is offline Strife 

Posted 20 February 2018 - 12:12 AM

  • Posts: 1845
  • Joined: 19-October 11
  • Gender:Male
  • Location:United States
  • Project:Freedom Planet 2
Nice update! Definitely easier to manage now.

I have some extra values you can add if you want, mostly camera-related stuff:

Spoiler

This post has been edited by Strife: 20 February 2018 - 12:32 AM

#2732 User is offline MainMemory 

Posted 20 February 2018 - 12:28 AM

  • Every day's the same old thing... Same place, different day...
  • Posts: 4200
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
Um. That's not an "AI State", that's part of the game's code. 0xC3 is the opcode for 'ret', which returns from the current function.

#2733 User is offline codenamegamma 

Posted 20 February 2018 - 03:44 PM

  • Posts: 71
  • Joined: 29-August 17

View PostStrife, on 20 February 2018 - 12:12 AM, said:

Nice update! Definitely easier to manage now.

I have some extra values you can add if you want, mostly camera-related stuff:

Spoiler


so I got them added, and the camera pointer does seem to work if I change the pointer breaking it, however, the Cam X, Y, & Z never seem to update.
not sure if they're not correct or I'm doing something wrong.

#2734 User is offline Strife 

Posted 20 February 2018 - 04:17 PM

  • Posts: 1845
  • Joined: 19-October 11
  • Gender:Male
  • Location:United States
  • Project:Freedom Planet 2
The values I'm using for the camera coordinates aren't pointers, if that's what you mean. My .exe file should be the same as any other 2004 exe since the other non-pointer codes work so I'm not sure where the discrepancies are.
One thing I do notice is that by double clicking my values in Cheat Engine, the address is written as "sonic.exe+349D388" rather than just the address itself.
This post has been edited by Strife: 20 February 2018 - 04:28 PM

#2735 User is offline codenamegamma 

Posted 20 February 2018 - 09:03 PM

  • Posts: 71
  • Joined: 29-August 17

View PostStrife, on 20 February 2018 - 04:17 PM, said:

The values I'm using for the camera coordinates aren't pointers, if that's what you mean. My .exe file should be the same as any other 2004 exe since the other non-pointer codes work so I'm not sure where the discrepancies are.
One thing I do notice is that by double clicking my values in Cheat Engine, the address is written as "sonic.exe+349D388" rather than just the address itself.

well, yea. when it does that exe+some number that's the base address + the number so in this case that first one. turned out to be 0389D388 so around 400000 off from the address you gave.

now with that sorted.
https://i.imgur.com/OQwcU6t.png

Made a video.


the fact we can decouple the camera using that value is a godsend I don't know how I would nop out and patch the keep the camera from writing without it since it uses this odd method of Pushing to the stack to write to some values.

i did also fully map out the camera structure and there's some interesting stuff. draw distance is there so that's nice, sadly I cant just mod that by itself, but it might be possible to see where it's getting the value from and bump it up since there is no reason a modern pc cant render basically the entire stage without issues.
This post has been edited by codenamegamma: 20 February 2018 - 10:36 PM

#2736 User is offline E-122-Psi 

Posted 21 February 2018 - 11:06 AM

  • Posts: 1764
  • Joined: 29-December 09
  • Gender:Male
  • Wiki edits:41
Sheesh, taking out the sneaky angles sure shows how sloppy those cutscenes were.

In terms of camera editing, one function I think might be interesting to re add or tweak from the Dreamcast original is how the end of the cutscenes often stream into the gameplay camera (or at least are MEANT TO but stutter a bit). The later ports tended to muck them up so they didn't quite work.
This post has been edited by E-122-Psi: 21 February 2018 - 11:07 AM

#2737 User is offline McAleeCh 

Posted 21 February 2018 - 12:01 PM

  • Posts: 874
  • Joined: 12-January 03
  • Gender:Male
  • Wiki edits:27

View PostE-122-Psi, on 21 February 2018 - 11:06 AM, said:

In terms of camera editing, one function I think might be interesting to re add or tweak from the Dreamcast original is how the end of the cutscenes often stream into the gameplay camera (or at least are MEANT TO but stutter a bit). The later ports tended to muck them up so they didn't quite work.
Funnily enough, a new article which touches on this (among other things) by PkR and Sonikko has just been added to the SADX Sins blog:

https://dreamcastify...x-enhancements/

Really hope someone figures out how to restore the original smooth(er) transitions one day - the sudden cuts in SADX are pretty jarring.
This post has been edited by McAleeCh: 21 February 2018 - 12:08 PM

#2738 User is offline Traversal 

Posted 21 February 2018 - 12:17 PM

  • Posts: 20
  • Joined: 08-February 18
  • Gender:Male

View PostE-122-Psi, on 21 February 2018 - 11:06 AM, said:

Sheesh, taking out the sneaky angles sure shows how sloppy those cutscenes were.


Well if you mean the stuff like characters sliding around or phasing into existence, I wouldn't call that sloppy. Why properly animate stuff off-screen when it isn't going to be seen? It's just extra work for nothing. I'm pretty sure you'd see that kind of stuff in a lot of games, at least around that era, and even nowadays too.
This post has been edited by Traversal: 21 February 2018 - 12:18 PM

#2739 User is offline PkR 

Posted 21 February 2018 - 11:53 PM

  • Posts: 175
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening

View Postcodenamegamma, on 20 February 2018 - 09:03 PM, said:

draw distance is there so that's nice, sadly I cant just mod that by itself, but it might be possible to see where it's getting the value from and bump it up since there is no reason a modern pc cant render basically the entire stage without issues.

Editing draw distance has been possible for quite a long time. There's a "current" maximum level draw distance value at 0x03ABDC74, but it gets updated every time a level is loaded or restarted. There's a function for each level that sets up fog, draw distance and skybox scale, and it picks values for those things from arrays (unique for each level/act and clip setting), the majority of which were identified long ago in the disassembly. It's currently possible to change fog color/distance, level draw distance, skybox scale etc. for any level. Object draw distance is a bit more difficult because in many cases it's hardcoded, but it's still possible to change it. There's an experimental mod by SonicFreak94 that dynamically increases object draw distance.

#2740 User is offline Tadashi 

Posted 22 February 2018 - 12:49 AM

  • 3fast5u
  • Posts: 535
  • Joined: 21-September 06
  • Gender:Male
IMO, the object draw limit is probably the most obvious hint as to how old the graphics are. I mean, the polygon count and texture resolution is quite similar to modern mobile games and even some PC indies, but the objects fading in and out every 10 ft is really jarring.

If it's hardcoded per level, couldn't you intercept the code and just do "level value" = "level value" + "new value"?

#2741 User is offline MainMemory 

Posted 22 February 2018 - 01:07 AM

  • Every day's the same old thing... Same place, different day...
  • Posts: 4200
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
The level geometry draw distance is set per-level. The object loading distance (not just draw distance, the objects actually get loaded/unloaded) is dependent on the flags and values set for each object in the object list for each level.

#2742 User is offline Morph 

Posted 22 February 2018 - 03:54 PM

  • AKA SonicFreak94.
  • Posts: 766
  • Joined: 01-August 08
  • Gender:Male
  • Location:Utah
  • Project:SA1/2 hax
  • Wiki edits:11
Additionally, objects can arbitrarily use their own distance check, ignoring the values set by the object list and screwing everything up. Source: me working on greatly increasing object draw distance.

#2743 User is offline codenamegamma 

Posted 22 February 2018 - 11:53 PM

  • Posts: 71
  • Joined: 29-August 17
here's Rev 1.1 of the cheat table with the camera values and other stuff.
http://codenamegamma...eatTableR11.zip

was hoping to find the time limit for Tail's Flying, but that didn't happen and I figured id better push this out.

#2744 User is offline MainMemory 

Posted 23 February 2018 - 01:39 AM

  • Every day's the same old thing... Same place, different day...
  • Posts: 4200
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
There's a code for that in the mod loader already.

#2745 User is offline codenamegamma 

Posted 24 February 2018 - 03:20 AM

  • Posts: 71
  • Joined: 29-August 17

View PostMainMemory, on 23 February 2018 - 01:39 AM, said:



converted it to a CE script for the table...nothing else really caught my fancy though so while I looked for others to convert over, I didn't really see any.

  • 185 Pages +
  • ◄ First
  • 181
  • 182
  • 183
  • 184
  • 185
    Locked
    Locked Forum

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