• Most people probably don't realise this, but this forum has had two editors for a number of years. One is the xenForo default editor, and the other is a custom editor I made years back I called BBCEd.

    All the settings for which editor you use was lost during the upgrade. You can find the setting under Account Settings > Preferences > Editor.

Grey Screen Bug With Cave Story (Solved!)

Old topic!
The last post in this thread is over 60 days old. Posting in this thread will be considered a bump, so please make an attempt to be courteous if you go ahead with it.

If the last post is over 6 months old, it may instead be a better idea to start a new topic. If you aren't sure about what to do, feel free to ask a staff member for help, or try to locate a 'general questions'-type thread if it exists in this (sub-)forum.
Aug 27, 2018 at 7:11 AM
gigantic immortal dog...?
"That dog!"
Join Date: Apr 18, 2006
Location: Forever wandering the tower...!
Posts: 1705
#21
Woo! It worked! Thanks so much for everyone who helped and for X-Calibar for fixing this issue! I hope you guys continue to help others like me, and again thanks.
It worked? Awesome! I guess it probably had something to do with DirectDraw then! Some reason it wasn't working for you or at least with Cave Story.

You should be able to copy and paste that ddraw.dll file in your Cave Story folder and put it in any Cave Story mods you download too. Should work most of the time.

Known bugs of DXGL:
Blade lvl 3 looks distorted when fired... I don't know how to fix that.
Also some mods run slower than regular Cave Story.

Some bonuses of DXGL:
Can be used with Steam Overlay (and maybe other injectors supposedly?)
Works with CS-Mod-Loader!

So, if you're happy with how Cave Story is playing, then you can leave it alone for the original experience. But if you want to try running DXGL with Clownacy's CS-Mod-Loader for smoother motion, nice high resolution font, (or optional 60 fps gameplay, widescreen, and music) here are the settings I might recommend testing, also useful if by chance big maps are running too slow:

1) Earlier you moved/renamed/deleted "dsound.dll". Bring it back! Put it back in your Cave Story folder. We'll make a few changes though.
2) Open up your Cave Story folder -> mods folder and while we are here, open up settings.ini again and change "logging = true" to "logging = false". You can probably leave the debug_console, but it's up to you.
3) Save.
4) Still in the mods folder, navigate to graphics_enhancement folder.
5) Open up this new settings.ini in graphics_enhancement folder.
6) Copy over the original and paste one of these:

For 50 fps, 4:3 aspect ratio, sharper fonts, smoother movement:
Code:
; Makes the game run at 60FPS instead of 50, just like the prototype versions
; of the game, and Cave Story+.
60fps = false

; This is the horizontal component of the aspect ratio.
; In 16:9, this would be 16.
aspect_ratio_x = 4

; This is the vertical component of the aspect ratio.
; In 16:9, this would be 9.
aspect_ratio_y = 3

; When this is enabled, the game draws black bars over the out-of-bounds parts
; of the screen when in a small room.
; Without this, some places look silly, including one of the endings.
black_bars = false

; This disables the black bars specifically in the Ironhead boss fight.
; This should be useful for mods that repurpose the Ironhead boss room
; for something else.
disable_ironhead_black_bars = false

; This controls the size of the game window in windowed mode.
; At 4:3, 1 is 320x240, 2 is 640x480, 3 is 960x720, etc.
; This improves font smoothness in fullscreen, and enables higher resolution
; output when combined with remove_sprite_alignment and a high sprite_resolution
window_upscale = 5

; This controls the resolution of the game's sprites.
; 1 is normal, 2 doubles the resolution, 3 triples it, etc.
; For reference, normal Cave Story is 1, Cave Story+'s "New" graphics are 2.
sprite_resolution = 1

; This removes a stylistic choice in the original game where all sprites have their
; pixels locked to a low-resolution grid, forcing an accurate 320x240 aesthetic,
; even when playing in fullscreen on a HD monitor.
; That doesn't work so well when using higher-resolution sprites, as they'll seem to
; just stutter as they move. It also makes camera movements look kind of stiff.
remove_sprite_alignment = true

; This replaces the game's normal fullscreen with a borderless-windowed implementation.
borderless_fullscreen = true

; Enables V-Sync, but only in exclusive fullscreen mode (borderless_fullscreen must be off).
; Normally, at 60FPS, the game's frame output is pretty unstable, with dropped frames all
; over the place. With V-Sync, it's much better.
; Note that this will not work if your monitor is not 60Hz.
fullscreen_vsync = false

; This forces fullscreen to only display at a multiple of the original resolution,
; preventing blurring, but potentially reducing the size of the screen.
fullscreen_integer_scaling = true

; With this, the game will automatically detect the aspect ratio of your monitor,
; allowing it to fill as much as possible.
fullscreen_auto_aspect_ratio = false

; This lets the game detect the most it can upscale the game to fit your monitor.
; See window_upscale.
fullscreen_auto_window_upscale = true
For 60 fps, 1:1 aspect ratio, sharper fonts, smoother movement:
Code:
; Makes the game run at 60FPS instead of 50, just like the prototype versions
; of the game, and Cave Story+.
60fps = true

; This is the horizontal component of the aspect ratio.
; In 16:9, this would be 16.
aspect_ratio_x = 1

; This is the vertical component of the aspect ratio.
; In 16:9, this would be 9.
aspect_ratio_y = 1

; When this is enabled, the game draws black bars over the out-of-bounds parts
; of the screen when in a small room.
; Without this, some places look silly, including one of the endings.
black_bars = false

; This disables the black bars specifically in the Ironhead boss fight.
; This should be useful for mods that repurpose the Ironhead boss room
; for something else.
disable_ironhead_black_bars = false

; This controls the size of the game window in windowed mode.
; At 4:3, 1 is 320x240, 2 is 640x480, 3 is 960x720, etc.
; This improves font smoothness in fullscreen, and enables higher resolution
; output when combined with remove_sprite_alignment and a high sprite_resolution
window_upscale = 5

; This controls the resolution of the game's sprites.
; 1 is normal, 2 doubles the resolution, 3 triples it, etc.
; For reference, normal Cave Story is 1, Cave Story+'s "New" graphics are 2.
sprite_resolution = 1

; This removes a stylistic choice in the original game where all sprites have their
; pixels locked to a low-resolution grid, forcing an accurate 320x240 aesthetic,
; even when playing in fullscreen on a HD monitor.
; That doesn't work so well when using higher-resolution sprites, as they'll seem to
; just stutter as they move. It also makes camera movements look kind of stiff.
remove_sprite_alignment = true

; This replaces the game's normal fullscreen with a borderless-windowed implementation.
borderless_fullscreen = true

; Enables V-Sync, but only in exclusive fullscreen mode (borderless_fullscreen must be off).
; Normally, at 60FPS, the game's frame output is pretty unstable, with dropped frames all
; over the place. With V-Sync, it's much better.
; Note that this will not work if your monitor is not 60Hz.
fullscreen_vsync = false

; This forces fullscreen to only display at a multiple of the original resolution,
; preventing blurring, but potentially reducing the size of the screen.
fullscreen_integer_scaling = true

; With this, the game will automatically detect the aspect ratio of your monitor,
; allowing it to fill as much as possible.
fullscreen_auto_aspect_ratio = false

; This lets the game detect the most it can upscale the game to fit your monitor.
; See window_upscale.
fullscreen_auto_window_upscale = true

NOTE: the 60 fps one uses a 1:1 ratio which reduces the size of the screen, more than normal. This smaller size should boost the speed of the game, in case you felt Cave Story wasn't running as fast as it should on large maps.
If you want 50 fps and think that Cave Story is lagging even on the 50 fps one, just copy the 60 fps one and set "60fps = true" to "60fps = false".

ALSO, if you see screen tearing and want vsync whether using CS-Mod-Loader or not. Go back to the DXGL Config:
1) Hit Windows key -> "Configure DXGL"
2) Make sure you are on the "Global" Application profile
3) Change Vertical sync from "Application default" to "Enabled every flip or primary Blit"
4) Hit apply or OK.

BONUS:
1) Go to Cave Story -> mods folder
2) open up mods.txt
3) Add the following line at the bottom: "title_background"
4) Save! (Oh and if you want to remove any of those lines, feel free. Like the 3ds_hud line if you want to change Cave Story's GUI back to normal.)
Here's a copy of the mods.txt for reference.
Code:
3ds_hud
alternate_music
debug_save
disable_image_protection
graphics_enhancement
ikachan_cursor
sdl_controller_input
title_background

Hopefully all of this works for you, and if not, or you want to disable it, just do what you did previously to change or remove dsound.dll.
 
Aug 27, 2018 at 9:27 PM
Neophyte Member
"Fresh from the Bakery"
Join Date: Aug 23, 2018
Location:
Posts: 12
Age: 18
#22
Wow! Again thanks for all the hard work you've put into this and I think it's alright to say, Take it easy man. (But thanks lol)
 
Aug 30, 2018 at 12:40 PM
Perfectionist
CS Beta Content Discord Admin
CSE Discord Moderator
"Man, if only I had an apple..."
Join Date: Dec 26, 2014
Location: the back of their own hand.
Posts: 1414
Age: 119
#23
Hurray! Cheers to X-Calibar.
I think I remember 20kdc working on something to do with steam overlay, actually.
 
Sep 2, 2018 at 12:59 PM
Perfectionist
CS Beta Content Discord Admin
CSE Discord Moderator
"Man, if only I had an apple..."
Join Date: Dec 26, 2014
Location: the back of their own hand.
Posts: 1414
Age: 119
#25
Elaborate, please.
-Its music playback isn't even close to being right. The waves all sound compressed. And the drums tend to buzz and hiss way too much, and their pitch is all wrong. Also volume decay is too harsh. Also also high notes are ear rape. ALSO ALSO ALSO notes ending often causes popping? ALSO ALSO ALSO ALSO I think note freq. is scaled incorrectly? ALSOALSOALSOALSOALS-- you get the picture -- pipi is slightly too short, and should be longer on Cs.
-The display size for the Chinese and Japanese font is one pixel off of an integer upscale, so all the text in those languages has gone through "Nearest Neighbour hell."
-Sound playback won't spam sounds properly. (like the character advance sound) And it also tends to miss the start of sound effects.
-All of the NPCs' hitboxes are too big (on all sides?) and/or offset to the right.
-The white dots that equals signs turn into are too high.
-After landing the player's animation doesn't go back to frame 0 (standing) at all if you're holding right or left.
-Minimising the game doesn't pause its sound.
-It can't use normal Cave Story save files?
-It's possible to jump without leaving the ground??
-The pause menu doesn't have the usual F1/F2/ESC shortcuts.
-Shooting seems to have input lag?
-It's possible to look up and interact at the same time.
-After shooting the hidden item in Egg No. 06 a few times, leaving and coming back, trying to screenshot the smoke it made clipping through the roof (probably because of that hitbox issue), this happened. The shootable item is harder to hit for some reason. This is the same when I leave the room and come back. I cannot interact with that chest from the left or above.
-... I managed to crash the game by exiting Cthulhu's Abode, but only once?
-<PRIs don't lock the camera.
-The Polar Star's bullet cap is too high. https://i.imgur.com/077yimL.png Should only allow 3 at once. (does not apply to lvl3)
-<AM+ should not switch the weapon that the player is holding.
-Igor's jump doesn't have enough horizontal velocity.
-Gravity is unbearable. ;-;
-P. sure this font ain't monospace.
-Secret items take too much punishment?
-X won't cancel teleportation.
-Power Critters don't try to crush the player properly, they just kinda stop flying the moment you pass underneath them.
-After dying and retrying there's a fade in, rather than the screen instantly being cleared.
-The fireball either bounces too high, or its hitbox is too big.
-The fireball won't properly clip into blocks when fired at them diagonally, and won't stick to roves.
-Sometimes weapon energy changes direction upon hitting the ground.
-Picking up the first Life Capsule from Grasstown crashed the game once?
-The kulala's "hurt" frame is displayed too late.
-Holding left while opening the item menu and then closing it will stop you from moving left until you re-press left.
-The Bubbler will lose ammo even when it doesn't shoot anything due to its bullet limit.
-Effects will keep animating during a <PRI.
-The player's velocity doesn't seem to be being properly added to the fireball, causing it to start somewhat behind where it should do.
-The bubbler's sharp projectiles on Level 3 use the wrong framerects.
>Global save profiles
-gags ... what now!
-Okay I found where it stores them. "C:\Users\[username]\AppData\Roaming\nxengine\nxengine-evo\profile.dat", in case you wanted to know.
-Booster particles move and animate too slowly, and the player will often spawn two of them one very shortly after another when starting to boost. They also don't properly add the player's momentum to themselves, causing them to spawn right in front of the player, etc.
-The way the booster moves the player feels really weird and off.
-Boost jumping is impossible. :sun::sun::sun:
-It's possible to get two of the same item if you get it IT+'d twice.
-There's a max of 6 portal slots?
-Boosting into slopes kills momentum. (goes back to boost jumping being impossible)
-https://i.imgur.com/LLK05up.png ????
-I managed to break one of the tracks in Cave Story somehow for a short period of time??
-Stumpies push me around. They shouldn't be solid at all.
-The booster ignores underwater physics????!??
-The Machine Gun cannot be spammed properly.
-Yeah, the booster won't move the player a linear amount, it'll tend to move me very slightly, then slightly more, then throw me up into the air. It's really weird.
-Last Cave critters tend to just ... stop attacking?
-The animation for BkMoon is one pixel off on the top of its framerects, so the bottom of the moon moves with the highest clouds.
-The Nemesis won't go through enough enemies, and doesn't make any sound when firing on Level 3.
-The Spur doesn't go through enough enemies.
-The way the Blade Level 3 works is just... wrong.
-Events don't reset the player's invincibility frames.
-I K.O.'d Misery and it took ages before the Undead Core would show its face...
-The Undead Core's death animation is wrong.
-Damage counters also animate during <PRIs.
-Text advancing seems to be too slow with buttons held?
-Ballos' death animation is also wrong...
-Pretty sure this isn't the internal percussion version of The Way Back Home here. .3.
-I managed to halt the credits whilst pressing some buttons, and then crash the game during the credits by pressing some more buttons.

In summary: NXengine is pretty-much a lost cause, and Evo is a step forwards and a step backwards in many ways. I don't think it's worth anyone's time to try and fix it.
Cucky's "Cave Story Engine" has already surpassed it in accuracy and quality (although, it's not finished yet), and will surely become the preferred engine for porting Cave Story in the future... I hope. And then may NXengine rest with the devil.
 
Sep 2, 2018 at 1:50 PM
Junior Member
"It's dangerous to go alone!"
Join Date: Feb 26, 2018
Location:
Posts: 39
#26
-The display size for the Chinese and Japanese font is one pixel off of an integer upscale, so all the text in those languages has gone through "Nearest Neighbour hell."
That depends on resolution.

-It can't use normal Cave Story save files?
-It's possible to jump without leaving the ground??
What?
-The pause menu doesn't have the usual F1/F2/ESC shortcuts.
-It's possible to look up and interact at the same time.
Doesn't seem like something bad.
-Gravity is unbearable. ;-;
What? Gravity is *exactly* the same as in CS.
-P. sure this font ain't monospace.
Which one? Anyway, they both aren't. It's easily fixable if anyone wishes to provide *free* monospace unicode font. And CS uses arial by default, if i remember correctly.
-Secret items take too much punishment?
-X won't cancel teleportation.
What?
-It's possible to get two of the same item if you get it IT+'d twice.
-There's a max of 6 portal slots?
And that's a bug, because?
-The animation for BkMoon is one pixel off on the top of its framerects, so the bottom of the moon moves with the highest clouds.
That was fixed long time ago.

In summary: NXengine is pretty-much a lost cause, and Evo is a step forwards and a step backwards in many ways. I don't think it's worth anyone's time to try and fix it.
Cucky's "Cave Story Engine" has already surpassed it in accuracy and quality (although, it's not finished yet), and will surely become the preferred engine for porting Cave Story in the future... I hope. And then may NXengine rest with the devil.
While other points look valid, and it's indeed a long list, it is worth my time fixing it.
Also, if you're talking about this https://github.com/ThatOneGreenGuy/CaveStoryRemake/, then, ugh, I'll just leave my opinion to myself and go fix some bugs in nxevo, because i prefer doing things, rather than shitting on other's work.
 
Sep 2, 2018 at 3:22 PM
Senior Member
CSE Discord Admin
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Jan 13, 2016
Location:
Posts: 92
#28
I guess that's the problem with making a clone engine black-box style. I can tell you 100 things wrong with those Taxman+Stealth Sonic remasters... ugh.

The above post does bring up something that always bothers me about these clones: sometimes they go for enhancements, when I just want a vanilla-accurate engine that has readable source code. Not to sound entitled or anything, I just think it's important to not make edits to the game to make it 'better', at least when said edits aren't optional.

Sure, I could edit the source code myself, and remove the enhancements, but it's a bit of an ironic burden: I'm using a clone engine so I don't have to recreate the game myself... except I do have to recreate parts of it.

Also, I think the 'Gravity is unbearable' bit might be referring to the song, Gravity.
 
Sep 2, 2018 at 3:27 PM
Junior Member
"It's dangerous to go alone!"
Join Date: Feb 26, 2018
Location:
Posts: 39
#29
Well, current target is accuracy. If you'll point out "optional enhancements", sure, i'll make them optional.
Also, it's not currently black box style development, due to hypothetical someone somewhere messing compile flags, and another hypothetical someone abusing this.
(Although, it looks like that's the case with mentioned above engine too, being initially a cleaned up version of decompiled with HexRays source of original CS (or CS+). And while, it's ofcourse far more accurate, being almost direct copy source-wise, lagality of such engine is a big question)
 
Last edited:
Sep 2, 2018 at 4:04 PM
Junior Member
CSE Discord Admin
"It's dangerous to go alone!"
Join Date: Jun 13, 2017
Location:
Posts: 34
Age: 15
#30
Seeing as the source code for the CaveStoryEngine is deduced from the Linux port of CS, which was developed by Simon Parzer and Peter Mackay, they would be the ones to have to complain to us (the fact that Pixel gave them his source code does not matter here except if they signed some sort of legal agreement giving him rights to the executables they produced from his code).

Also, reverse engineering is probably not implicitly forbidden (otherwise I don't see why I can find "thou shall not reverse engineer this" clauses in almost half EULAs I read).

Really though, we're just in the same gray area as the people who contributed to Sonic disassemblies.

I also have to point out that there are 4 people contributing to the CaveStoryEngine, so we're prolly gonna go faster than you :awesomeface:.
 
Last edited:
Sep 2, 2018 at 5:03 PM
Junior Member
"It's dangerous to go alone!"
Join Date: Feb 26, 2018
Location:
Posts: 39
#31
>Also, reverse engineering is probably not implicitly forbidden
It isn't for the purposes of interoperability, self-education, etc.
It is for the purposes of creating competing software.
Also, it depends on country. Above is valid for USA (DMCA) and EU (EU Directive 2009/24)
Also, it doesn't matter who developers are, it only matters who copyright holder is.
 
Sep 2, 2018 at 5:20 PM
Junior Member
CSE Discord Admin
"It's dangerous to go alone!"
Join Date: Jun 13, 2017
Location:
Posts: 34
Age: 15
#32
1. We're not creating competing software (except if you consider making an base engine for mods "competing" with just hacking the original)

2. It's also for the purposes of interoperability, considering the code is portable on all platforms with SDL.


Btw, I'm not saying nxEngine is bad or anything, really it's amazing work considering you (and Shaw) didn't use decompiled code (you must have spent a lot of time inspecting how NPCs worked and remaking them lol), but I think our remake is prolly gonna be better at compatibility with mods and stuff.
 
Last edited:
Sep 2, 2018 at 5:27 PM
Junior Member
"It's dangerous to go alone!"
Join Date: Feb 26, 2018
Location:
Posts: 39
#33
You are mistaking portability with interoperability. Interoperability is an exchange of data with original software. Map editor, for example.
BTW, i've never said i'm not looking at decompiled code, however, i won't say, that i do, lol.
 
Sep 2, 2018 at 5:37 PM
Junior Member
CSE Discord Admin
"It's dangerous to go alone!"
Join Date: Jun 13, 2017
Location:
Posts: 34
Age: 15
#34
Oh ok lol. So we're in same grey area anyway lol.
 
Top