Apr 9, 2024 at 8:25 PM
Join Date: Jul 20, 2015
Location: Under sea level or something
Posts: 802
Age: 26
Pronouns: 菓子
A partial joke mod submitted for CSMC Modfest 38.
It's a 'totally normal' copy of Cave Story that 'enhances' the game's resolution.
Download;
Doukutsu club
It's a 'totally normal' copy of Cave Story that 'enhances' the game's resolution.
Download;
Doukutsu club
Short answer:
(Site may or may not render the used characters correctly since it uses control characters to define a negative number, either copy this or copy the scripts in start cave in this mod)
You will also need the following hack to make negative flags work properly (thanks to Periwinkle!);
You may wonder; does this really work? Just TSC??
Yes! As has already been known for a while, using numbers beyond the normal range for flag related commands actually allows you to mess with the game's memory.
Recently I've been playing around a lot with memory manipulation, and the following has already been tried out once in an ending in an earlier project.
Starting from the data at 0x49D374, a number is stored that defines the magnification of the game window's width, and then immediately after a number for the height.
This basically means that increasing or decreasing said number makes the game larger or smaller, although this only affects the 'game' and not quite the window itself, meaning that making the game bigger also kind of reduces your visibility.
The flag this correlates to is -20832, hence why a control character was needed to even reach this.
It's also worth noting that normally negative flags have an issue where only 1 in 8 bits is actually reached/affected by flag commands, but periwinkle's hack fortunately fixes this, so thanks again.
After that it's just a case of making sure what little is on screen is actually still visible- locking the camera a bit low and on the right of the visible screen, making ui elements smaller, and the rest is history.
I will probably not actually remake the entire game like this, too much effort lol.
Making maps around this instead was kinda fun though, perhaps I'll do more like it.
Code:
<FL-175
<FL+176<FL+178
<FL+177
<FL-205<FL-208
<FL+204<FL+206<FL+207<FL+209
You will also need the following hack to make negative flags work properly (thanks to Periwinkle!);
Code:
0x40E896
31 D2 42 89 C1 83 E1 07 D3 E2 85 C0 78 05 C1 F8
03 EB 0B 8D 48 08 40 0F 48 C1 C1 F8 03 48 08 90
A0 DD 49 00 5D C3 90
0x40E8E6
BA FE FF FF FF 89 C1 83 E1 07 D3 C2 85 C0 78 05
C1 F8 03 EB 0B 8D 48 08 40 0F 48 C1 C1 F8 03 48
20 90 A0 DD 49 00 5D C3 90
0x40E933
8B 4D 08 85 C9 78 0A 89 C8 83 E1 07 C1 F8 03 EB
10 89 CA 8D 41 08 42 0F 49 C2 83 E1 07 C1 F8 03
48 0F B6 90 A0 DD 49 00 31 C0 40 D3 E0 85 D0 0F
95 C0 0F B6 C0 5D C3
You may wonder; does this really work? Just TSC??
Yes! As has already been known for a while, using numbers beyond the normal range for flag related commands actually allows you to mess with the game's memory.
Recently I've been playing around a lot with memory manipulation, and the following has already been tried out once in an ending in an earlier project.
Starting from the data at 0x49D374, a number is stored that defines the magnification of the game window's width, and then immediately after a number for the height.
This basically means that increasing or decreasing said number makes the game larger or smaller, although this only affects the 'game' and not quite the window itself, meaning that making the game bigger also kind of reduces your visibility.
The flag this correlates to is -20832, hence why a control character was needed to even reach this.
It's also worth noting that normally negative flags have an issue where only 1 in 8 bits is actually reached/affected by flag commands, but periwinkle's hack fortunately fixes this, so thanks again.
After that it's just a case of making sure what little is on screen is actually still visible- locking the camera a bit low and on the right of the visible screen, making ui elements smaller, and the rest is history.
I will probably not actually remake the entire game like this, too much effort lol.
Making maps around this instead was kinda fun though, perhaps I'll do more like it.