Curiously, very often the most obscure games bring the most difficult challenges.
"Signus the Artefact Wars" is a (untranslated) Polish turn-based strategy game that has puzzled me for a long time, since it was perfectly playable on native mode (at least, on platforms supporting 8 bit color depth) and crashing in the most brutal ways when trying to apply DxWnd.
The reason was clear only yesterday, and today here's the fix.
When you lay some pixels over a ddraw surface (using Lock & Unlock DirectDrawSurface methods) you should pay attention not to overflow your surface buffer (whose size is dwWidth * dwHeight * dwRGBBitCount / 8), but inparticular if you're writing on a memory surface. When writing to the video primary surface buffer (that is, on the video card memory) you may have some spare space where the overflow can do no harm.
This is exactly what happens with this game: the video surface is overflowed, and in order to fix the problem DxWnd had to replace the emulated video buffer with a bigger memory area, moving data to and from at every operation.
The fix is included in next dxwnd release (here in attach a leaked beta) and is activated by the ddraw:SafePrimaryLock tweak. Whoever knows some polish would enjoy ...
Only little correction:
According to pictures, the game is not in Polish but in Czech :-)
Here is the page about the game http://signus.paan.cz/, unfortunately for you also in Czech, but you can use google translator ;-)
Interesting, I've never heard of the game before.
Last edit: huh 2018-07-26
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I was probably the person who brought this game to your attention. I just wanna say thank you very much for looking into this. I'll try the new version fix and see how it goes :)
Yeah, the game is in Czech. I got the game's original CD from a local magazine back when I was still in school, and I played through the campaign back then. The game is rather difficult and I'm not aware of any translation to other languages.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Nice finding. From SF project page it may seem that the game was turned to Linux (X11 interface, unavailable on Win32) but I'll check better after I'll get the source code.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I come back to the topic
In my case, the game does not work properly under Windows 10. On the configuration that is in the DxWnd folder, the game creates only Signus.exe and SgServer.exe processes which then cannot be closed because one is created and closed indefinitely, the game itself hangs without starting at all. The processes cannot be closed because it will close itself and then re-create, you need to restart the system to completely kill the game. I also noticed that the system may even slow down in this case. Gho, would you look at this?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've already started the game. The reason was my staring, I didn't notice that I had Win 98 compatibility mode on. The game starts, it's a pity that the mouse cursor is not visible
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In effect, when the game client terminates, the server spawn another client endlessly. I should stop this by selecting the menu entry at the bottom of the main menu. In case it won't work, open the task manager and killed sgserver.exe, that worked.
The game sometimes shows the cursor, sometimes it doesn't. Probably it is designed this way, since when the cursor is needed it seems always visible.
The game is interesting, but it would be even more if I find the "modern" release built for multiplatform and SDL lib whose sources are on GitHub.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I will come back to this topic:
@Gho if you are interested in the source code for this game it is here on GitHub - https://github.com/signus-game/signus
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well, the last time I tried it, no graphics applications could be started, only text mode.
In the article, they write some options via an X11 server, but I don't know if it really works for someone (graphic applications). I couldn't compile the game's source code at the time (lots of bugs) due to the age of the source code and the fact that I don't have any programming skills.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Curiously, very often the most obscure games bring the most difficult challenges.
"Signus the Artefact Wars" is a (untranslated) Polish turn-based strategy game that has puzzled me for a long time, since it was perfectly playable on native mode (at least, on platforms supporting 8 bit color depth) and crashing in the most brutal ways when trying to apply DxWnd.
The reason was clear only yesterday, and today here's the fix.
When you lay some pixels over a ddraw surface (using Lock & Unlock DirectDrawSurface methods) you should pay attention not to overflow your surface buffer (whose size is dwWidth * dwHeight * dwRGBBitCount / 8), but inparticular if you're writing on a memory surface. When writing to the video primary surface buffer (that is, on the video card memory) you may have some spare space where the overflow can do no harm.
This is exactly what happens with this game: the video surface is overflowed, and in order to fix the problem DxWnd had to replace the emulated video buffer with a bigger memory area, moving data to and from at every operation.
The fix is included in next dxwnd release (here in attach a leaked beta) and is activated by the ddraw:SafePrimaryLock tweak. Whoever knows some polish would enjoy ...
Last edit: gho 2018-07-26
screenshots:
Only little correction:
According to pictures, the game is not in Polish but in Czech :-)
Here is the page about the game http://signus.paan.cz/, unfortunately for you also in Czech, but you can use google translator ;-)
Interesting, I've never heard of the game before.
Last edit: huh 2018-07-26
Hello,
I was probably the person who brought this game to your attention. I just wanna say thank you very much for looking into this. I'll try the new version fix and see how it goes :)
Yeah, the game is in Czech. I got the game's original CD from a local magazine back when I was still in school, and I played through the campaign back then. The game is rather difficult and I'm not aware of any translation to other languages.
Here is released source code
https://sourceforge.net/p/signus/code/HEAD/tree/trunk/signus-data/data/
and indicate some English support.
Here are also some fixes (compiles error)
https://github.com/danvac/signus
Unfortunately, no binary files.
Nice finding. From SF project page it may seem that the game was turned to Linux (X11 interface, unavailable on Win32) but I'll check better after I'll get the source code.
I come back to the topic
In my case, the game does not work properly under Windows 10. On the configuration that is in the DxWnd folder, the game creates only Signus.exe and SgServer.exe processes which then cannot be closed because one is created and closed indefinitely, the game itself hangs without starting at all. The processes cannot be closed because it will close itself and then re-create, you need to restart the system to completely kill the game. I also noticed that the system may even slow down in this case. Gho, would you look at this?
I've already started the game. The reason was my staring, I didn't notice that I had Win 98 compatibility mode on. The game starts, it's a pity that the mouse cursor is not visible
In effect, when the game client terminates, the server spawn another client endlessly. I should stop this by selecting the menu entry at the bottom of the main menu. In case it won't work, open the task manager and killed sgserver.exe, that worked.
The game sometimes shows the cursor, sometimes it doesn't. Probably it is designed this way, since when the cursor is needed it seems always visible.
The game is interesting, but it would be even more if I find the "modern" release built for multiplatform and SDL lib whose sources are on GitHub.
I will come back to this topic:
@Gho if you are interested in the source code for this game it is here on GitHub - https://github.com/signus-game/signus
Well, let's hope, it's not the same version which I posted above....
It's a port of the game to Linux. But then again Win10 could be able to run Linux apps from what I've read.
https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
Well, the last time I tried it, no graphics applications could be started, only text mode.
In the article, they write some options via an X11 server, but I don't know if it really works for someone (graphic applications). I couldn't compile the game's source code at the time (lots of bugs) due to the age of the source code and the fact that I don't have any programming skills.
Open source Signus got released a few days ago. You can play it on Windows again without workarounds in both Czech and English.
https://github.com/signus-game/signus/releases
Very good! One my friend liked playing this game, he will be very happy :-)
Thanks.