When was the Software renderer overhauled, if at all?

Status
Not open for further replies.

Lach

he/him
Moderator
Sonic Team Junior
Kart Krew™️
Judge
At some point in 2.1's update history, srb2win's Software rendering stopped working for me. I initially circumvented this by using Direct Draw's Software mode, and when online play was removed for Direct Draw I began using srb2win under OpenGL. I don't mind using OpenGL so it doesn't bother me that Direct Draw is being depreciated, but I'm kinda curious as to what happened to Software that made it stop working, if anything at all—and if possible, report the issues so that they can be fixed. As far as I know, the change likely occurred in 2.1.14 or 2.1.15, but I wouldn't know for sure. Any pointers?
 
When you say "stopped working for me", what happens exactly?

The software renderer hasn't really been overhauled as such, but yes, a lot of changes to it were indeed made in 2.1.15 to support slopes and texture skewing. Some fixes were also made in 2.1.14 for software mode, but those didn't overhaul the renderer either.
 
The software renderer itself hasn't been overhauled, but the main (srb2win) EXE was changed from a Direct Draw backend to an SDL2 backend. srb2dd is an EXE using the old backend, and is provided as a backup option so people can still play the game while reporting issues.

That said, does srb2win give any sort of error messages when you run it? And what operating system are you using?
 
The software renderer itself hasn't been overhauled, but the main (srb2win) EXE was changed from a Direct Draw backend to an SDL2 backend. srb2dd is an EXE using the old backend, and is provided as a backup option so people can still play the game while reporting issues.

Ah, that would explain why srb2dd still works. I guess SDL2 is the culprit here.

When you say "stopped working for me", what happens exactly?

Oops, my bad. I detailed it in a draft of the post but forgot to include it when I wrote it out, heh. The only issue is the lack of picture. The audio works fine, but I can't see anything in the game window—so no, there are no errors shown, but nothing else is either, heh.
 
Hm, do you see any SDL errors in log.txt, following an attempt to play srb2win.exe with software mode? Like "Couldn't initialize SDL's Video System" or something?
 
Hm, it doesn't look like it. Here's the log just in case:

Compiled for SDL version: 2.0.4
Linked with SDL version: 2.0.3
Setting up SRB2...
M_StartupLocale...
Looking for WADs in: SRB2WADDIR,.
Z_Init(): Init zone memory allocation daemon.
System memory: 2047MB - Free: 2047MB
I_StartupTimer()...
W_InitMultipleFiles(): Adding IWAD and main PWADs.
Added file C:\Program Files\2.1\srb2.srb (6214 lumps)
Loading main config from C:\Program Files\2.1\srb2.srb
Added file C:\Program Files\2.1\zones.dta (962 lumps)
Loading main config from C:\Program Files\2.1\zones.dta
Added file C:\Program Files\2.1\player.dta (526 lumps)
Added file C:\Program Files\2.1\rings.dta (444 lumps)
Added file C:\Program Files\2.1\patch.dta (94 lumps)
Added file C:\Program Files\2.1\music.dta (171 lumps)
I_StartupGraphics()...
NOTE: Under SDL2, all modes are supported on all platforms.
Under opengl, fullscreen only supports native desktop resolution.
Under software, the mode is stretched up to desktop resolution.
0: 1920x1200
1: 1920x1080
2: 1680x1050
3: 1600x1200
4: 1600x900
5: 1366x768
6: 1440x900
7: 1280x1024
8: 1280x960
9: 1280x800
10: 1280x720
11: 1152x864
12: 1024x768
13: 800x600
14: 640x480
15: 640x400
16: 320x240
17: 320x200
Current Video Mode
320x200 at 16 bit color
Stored in system memory
CPU Info: 486: 1, 586: 1, MMX: 1, 3DNow: 0, MMXExt: 0, SSE2: 1
HU_Init(): Setting up heads up display.
Number of console HUD lines is now 5
executing config.cfg
Unknown command 'cpuaffinity'
Unknown command 'gr_coronasize'
Unknown command 'gr_coronas'
Unknown command 'gr_dynamiclighting'
Unknown command 'gr_staticlighting'
Unknown command 'splats'
Default resolution: 1280 x 800 (16 bits)
M_Init(): Init miscellaneous info.
R_Init(): Init SRB2 refresh daemon.
R_LoadTextures()...
P_InitPicAnims()...
R_InitSprites()...
srb2.srb added 2975 frames in 231 sprites
player.dta added 163 frames in 1 sprites
rings.dta added 431 frames in 18 sprites
patch.dta added 1 frames in 1 sprites
Added skin 'tails'
Added skin 'knuckles'
R_InitColormaps()...
Number of Extra Colormaps: 6
S_Init(): Setting up sound.
ST_Init(): Init status bar.
D_CheckNetGame(): Checking network game status.
executing .\autoexec.cfg
Entering main game loop...
I_StartupKeyboard()...
===========================================================================
We hope you enjoy this game as
much as we did making it!
...wait. =P
===========================================================================
Sonic Robo Blast 2 v2.1.18 (May 12 2017 16:20:29 a1f5caeb)
Added file ./mod/music_remade.wad (34 lumps)
34 digital musics replaced
No maps added
 
Hm, nothing unusual there at all, compared to a typical log of my SRB2 startup...

Do you play in fullscreen or windowed mode? If fullscreen, what happens if you try windowed mode? What happens if you tried a smaller resolution such as 640x400 as well?

May also help if you tell us what operating system you're using too.
 
Last edited:
Are you using a custom shell of any sort? I couldn't get the SDL version to run for the longest time before Alam (Logan?) had me dumping debug logs and I somehow figured out that it was bblean's window skinning that was crashing the program. Adding an exception for the .exe in the shell fixed it.

(bblean's not very common these days, but it might be more prevalent here than most places, since it was Arrow's thread here that got me into it and I've been using it ever since)
 
Last edited:
Yes, it simply doesn't display anything.

Also, yes, I'm actually running SRB2 on a Mac through Wineskin—I guess that's a "shell" as you call it? I initially discarded the idea that this was a major part of the issue because I can run older versions of 2.1 under SDL2 just fine—but this thread has since taught me that SDL2 is actually a new addition, replacing Direct Draw, which has always worked for me.

The thing that confuses me now is why SDL2 doesn't work under Software, but runs perfectly fine under OpenGL. But I think this issue is a little out of reach for the developers now that I know the change wasn't within the Software renderer itself.
 
Ah, that'd explain it. The SDL2 builds have had major problems running through Wine. You really should be running a native Mac build, but we've been terrible about making non-Windows builds obnoxiously hard to find, and I don't think anyone on the dev team even has access to a Mac to compile with. I mean, maybe work wouldn't get too mad if I tried doing it on my work machine?

You're free to try compiling it yourself, if you deem yourself tech-savvy enough to brave the horrid lack of documentation:
https://wiki.srb2.org/wiki/Source_code_compiling
https://github.com/stjr/srb2
 
I did try compiling my own build once, but something prevented Xcode from completing the build. I think it was an error related to one of the sound mixer source files. Is the issue worth reporting? I can attempt to replicate it if so. But if it compiles fine on Windows then it wouldn't be a source code issue, right?
 
There's always the chance that we've just broken something in the interface code for other OSes. Mac in particular is hard to maintain since, as I said, few if any people on the dev team have access to one. If you're having issues compiling, post the errors you're having and maybe someone can help; if it's a code issue it's good to fix, and if it's a setup issue it's a good chance to improve the documentation.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top