Open michael-fadely opened 8 years ago
(FIXED) Recently I came across a comment stating that playing at higher resolutions affects score calculation in Sky Chase. Apparently getting a high score (needed for emblems) is much easier at lower resolutions. Also, according to that comment, some enemies don't fire at 1080p. Original comment here.
(FIXED)
sub_6436B0
- tutorial background
sub_6430F0
- controller picture + button mappings and explanation
sub_4343E0
- instruction background (called by the above sub)
Just need chao stuff and blackmarket and ill be forever happy
sub_72C4C0
- Chao Race entry menu
sub_749300
- "Press the jump button (space) to cheer Chao on", "Please select a course" etc.
sub_7493B0
- some more GUI-related stuff for Chao Race entry menu
sub_4DACC0
- Twinkle Circuit continue screen
Not sure if this is useful, but it's possible to make the game play higher resolution videos or scale lower resolution videos properly. Here's how I got it to play a 1280x960 video.
In the array of VideoData
structures at 0x010DB8B0 edit the Width
and Height
value for the needed video to match those of the actual video. This will make the game scale the video properly, which is enough for videos smaller than 640x480. For bigger videos you also need to patch the function that scales the texture used to display the video. In sub_513850
there's a structure whose coordinates and UVs are adjusted using hardcoded dimensions of 640x480.
There are two 2-byte ints used to set the TEXANIM
struct's X and Y coordinates: X at 0x513918 and Y at 0x513921. So to scale it to 1280x960 I wrote 00 05 to 0x513918 and C0 03 to 0x513921. Then I patched the floats used to calculate the texture's UVs:
WriteData((float**)0x51392C, &VideoSize_X);
WriteData((float**)0x513950, &VideoSize_Y);
Finally, I also had to patch dword_10F1D68
to be larger than its default value of 1024 (1280 seems to work), obviously this is a dumb way to do it and it's better to rewrite sub_513850
to use a bigger value. I think it's involved in memory allocation, but I'm not familiar enough with this stuff. Also the above things need to be checked in other resolutions because I used a video that matched my SADX window size.
Missed thingie: Adventure Field Emblem Counters appear to not scale
fdf557d5a93aa670c659764a9acf1e42e7ebe690 fixes the adventure field emblem counter
sub_642790
- Character recap screen text
v10 = (double)v5 - 240.0 + VerticalStretch * 240.0;
v11 = (double)v6 - 320.0 + HorizontalStretch * 320.0;
sub_6424A0((int)(v4 + 36), -1, 64.0, v11, v10, 20.0, v9, v8);
(fixed by SF94) Looks like the tutorials break with the default "Stretch" option for backgrounds enabled Screenshot (no mods):
Funny I was actually just about to post about this myself. Can confirm, someone reported this issue to me in the BetterSADX comments, with this screenshot: https://steamcommunity.com/sharedfiles/filedetails/?id=1378184911
(Fixed) sub_750E70 - Chao Race HUD timer sub_7512F0 - Chao Race HUD rankings
Float at 0x0070142D is screen scale for the Game Gear emulator.
Would somebody mind validating that the posted addresses/UI elements still need fixing? I have the free time, so I'd like to tackle these ASAP.
I'd imagine a lot of them still do All the Game Gear stuff for example, I think lots of chao garden stuff needs looked at too. Really just open the game and you'll see, tons of stuff needs work for scaling correctly.
That much is obvious. What I was asking for was specifically for validation of the posted addresses.
Float at 0x0070142D is screen scale for the Game Gear emulator.
This is used as part of a larger structure which I would like to understand first.
EDIT: fixed in af55cb8525f04c3c80f6a32777faaff7b20e7fc0
Looks like the tutorials break with the default "Stretch" option for backgrounds enabled Screenshot (no mods): [snip]
I've identified the issue here. There are user interface elements that are scaling as they technically should since HUD scaling is still enabled, but that ought not in this context
In debug builds of the mod loader, pressing the Dreamcast Z button will disable the scaling. Without holding the debug button:
While holding the debug button:
I will figure out a solution.
Thought I should mention this here. SADX title screen is currently stretched at aspect ratios other than 4:3.
Title screen fixed.
737BD0 - Chao stat panel 71B210 - Chao button prompts
728A40 - sets up Black Market UI 725420 - Draws menu header 7256C0 - Draws text 726760 - Draws buttons 7270E0 - Draws item list 725A30 - Draws item preview
71B210 - Chao button prompts
Scaling for this has been sitting in the mod loader for quite some time, but it has been disabled because the text rendering in this context is not reverse engineered and becomes invisible.
Re: Game Gear emulator, I think the structure in question might be this:
struct __cppobj TAdvertiseBase : TObject
{
TAdvertiseBase::AdvertiseBaseParam Param;
NJS_POINT2 Center;
float Spd;
float Radian;
float DispScaleX;
float DispScaleY;
float Current;
__int16 Triangle;
__int16 TriangleUp;
int Trans;
NJS_POINT2 Offset;
int Timer;
};
I don't think the animated HUD thing for Big the Cat when he catches a fish, ya know, where it adds the weight to your weight indicator is scaled quite properly.
example?
Sure. The game is running at 4K here.
On Catch at 4K: https://gfycat.com/VictoriousPleasedDipper
On Catch 640x480 no scaling enabled: https://gfycat.com/WhimsicalLeanBoar
This also seems to be the case for when you fail to catch something.
On Fail at 4K:
On Fail at 640x480 no scaling enabled:
Some remaining issues with Chao HUD scaling. Chao emotion balls and Chaos Chao sparks are positioned incorrectly. Also, the sparks are too big while the emotion balls are slightly too small I think.
Here's a screenshot captured at 640x480 stretched to the 4:3 equivalent of 1440p. It seems that the environment maps break at higher resolutions.
The Sonic Team homepage prompt isn't scaled:
Minor issue, but I think it would look less awkward if the sliding elements in Chao Race Entry menu had their initial position adjusted to be off screen at aspect ratios other than 4:3. This is how they currently look when the screen fades in at 16:9.
Sonic Team homepage screen fixed.
To-do:
Misc:
Non-standard:
Backgrounds/Menus (menu-scale branch):