Giter VIP home page Giter VIP logo

signus's People

Contributors

jefetienne avatar le-jzr avatar mailaender avatar mdoucha avatar nextghost avatar susnux avatar vslavik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

signus's Issues

Upgrade to LibSDL2

LibSDL 1.2 is outdated and no longer receives bugfixes. We need to upgrade to LibSDL2.

Screen frozen_mission 5__AI move

Hi, I downloaded "signus-1.96.0-win64" and played until in mission 5 the screen got frozen after pressing the END ROUND button. Each time I restart the game, its gets me directly bact to this frozen screen. Adding the "crashguard_saved_state" to analyze the issue. Thx very much for looking into this!

crashguard_saved_state.zip

mission 5__screen frozen

Portable version

As of now (release v1.96.0) "user home directory" is used as folder where Signus' data are saved - saved games, crashguard_saved_state and signus.ini. It would be nice to have an option that would allow to store this data in the signus directory - making it "portable". It would also make it easier for users to find and share crashguard_saved_state .

AddressSanitizer: nested bug in the same thread, aborting.

I try to build&run on gentoo linux:

Linux dell 5.4.72-gentoo #2 SMP PREEMPT Mon Oct 19 13:35:40 CEST 2020 x86_64 Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz GenuineIntel GNU/Linux

but got this error:

kukenc@dell /opt/signus/bin % ./signus
AddressSanitizer:DEADLYSIGNAL
=================================================================
==21577==ERROR: AddressSanitizer: SEGV on unknown address 0x60765b7cfcc0 (pc 0x7c6ab1dd9c7f bp 0x000000000000 sp 0x7ffc29abd150 T0)
==21577==The signal is caused by a READ memory access.
AddressSanitizer:DEADLYSIGNAL
AddressSanitizer: nested bug in the same thread, aborting.

Build was OK, after emerging all dependencies. Can anyone help me please, I have no idea what i did wrong.

German version support

I recently got my hands onto a German version of the game, and of course I was eager to check whether I could use the game data with the open source version. Unfortunately it didn't work out: The game is crashing with a segmentation fault when trying to open the main menu after the intro movies:

graphio.cpp:293:17: runtime error: load of null pointer of type 'byte'
AddressSanitizer:DEADLYSIGNAL
=================================================================
==13642==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x0000006c3f9e bp 0x000000000000 sp 0x7fff75da12b0 T0)
==13642==The signal is caused by a READ memory access.
==13642==Hint: address points to the zero page.
    #0 0x6c3f9d in PutBitmapNZ(int, int, void*, int, int) /home/ignaz/Downloads/sources/signus/signus/src/graphio.cpp:293
    #1 0x51cac0 in DrawMN /home/ignaz/Downloads/sources/signus/signus/src/mainmenu.cpp:51
    #2 0x51da7c in ProcessMenu /home/ignaz/Downloads/sources/signus/signus/src/mainmenu.cpp:106
    #3 0x51de55 in DoMainMenu() /home/ignaz/Downloads/sources/signus/signus/src/mainmenu.cpp:152
    #4 0x6a3a85 in signus_main() /home/ignaz/Downloads/sources/signus/signus/src/signus.cpp:1171
    #5 0x409e6b in signus_thread /home/ignaz/Downloads/sources/signus/signus/src/main.cpp:109
    #6 0x409e6b in main /home/ignaz/Downloads/sources/signus/signus/src/main.cpp:146
    #7 0x7f53dbf21e6a in __libc_start_main (/lib64/libc.so.6+0x23e6a)
    #8 0x40a429 in _start (/usr/local/bin/signus+0x40a429)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/ignaz/Downloads/sources/signus/signus/src/graphio.cpp:293 in PutBitmapNZ(int, int, void*, int, int)
==13642==ABORTING

What did I do? I've put all the .dat files from disc into a new directory called de, namely anims.dat, fonts.dat, graphics.dat, missions.dat, music.dat, screens.dat, sounds16.dat, sounds8.dat and texts.dat.

I assume the file format is just too old / incompatible with the current engine revision?

Crash when click Ukončit kolo button

I got this crash when click Ukončit kolo. I run new game (no loading), easy difficulty, skip all cinematics (left mouse click).

kukenc@kukenc-DELL ~ % /opt/signus/bin/signus
signus: stream.cpp:585: virtual size_t File::write(const void*, size_t): Předpoklad „_file && (_mode & WRITE)“ nesplněn.
zsh: abort      /opt/signus/bin/signus

This not happend every click, but by feel it happens when more units manipulations is made in turn.

Additional info

When I run game repeatedly for more catchs, once game start in middle of enemy turn. When I correctly finish game, got this.

kukenc@kukenc-DELL ~ [134] % /opt/signus/bin/signus                                                                                                                                  14:39:26
ui_toolkit.cpp:191:20: runtime error: load of value 15488, which is not a valid value for type 'SDLKey'
ui_toolkit.cpp:192:20: runtime error: load of value 15488, which is not a valid value for type 'SDLKey'
ui_toolkit.cpp:193:20: runtime error: load of value 15488, which is not a valid value for type 'SDLKey'
ui_toolkit.cpp:194:20: runtime error: load of value 15488, which is not a valid value for type 'SDLKey'
units.cpp:1264:48: runtime error: load of value 15488, which is not a valid value for type 'SDLKey'
signus.cpp:733:24: runtime error: load of value 15488, which is not a valid value for type 'SDLKey'

=================================================================
==7068==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 15040 byte(s) in 235 object(s) allocated from:
    #0 0x76449a067368 in __interceptor_malloc (/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libasan.so.5+0x10c368)
    #1 0x764499f0162d in SDL_AllocRW (/usr/lib64/libSDL-1.2.so.0+0x1162d)

Direct leak of 14 byte(s) in 2 object(s) allocated from:
    #0 0x764499fefd97 in strdup (/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libasan.so.5+0x94d97)
    #1 0x7644988ef786  (/usr/lib64/libX11.so.6+0x6f786)

Direct leak of 8 byte(s) in 2 object(s) allocated from:
    #0 0x76449a067558 in __interceptor_calloc (/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libasan.so.5+0x10c558)
    #1 0x764498de6c0e in pa_xmalloc0 (/usr/lib64/libpulse.so.0+0x3bc0e)

SUMMARY: AddressSanitizer: 15062 byte(s) leaked in 239 allocation(s).

Can I help by some extended debugs?

QoL Improvements

Hi there.
I downloaded the v v1.96.0 release for winx64, and I have some suggestions for improvements.

  1. edit: After exploring the github I found the readme,md file which contains the control scheme. I noticed the english readme includes a short description while the czech readme does not.
    The readme should probably include other information, ie. where to find save files, how to start in fullscreen, how to switch language, etc. It might be helpful to players.

  2. Change default volume settings.
    Current default volumes are all at 20, which makes the music play pretty loud while the speech is very quiet (at least in the czech version - that's how the game launched for me). I recommend lowering the music volume and raising the speech volume:
    [audio] music_volume = 10 ; sound_volume = 20 ; speech_volume = 60 ;

  3. Add an option to start in fullscreen mode. There's no apparent option to switch to fullscreen, other than the user finding signus.ini in %Appdata%\signus and changing the fullscreen value to 1

  4. Change the default scroll speed delay.
    The current default scroll_delay starts at 10, which makes the screen literally fly across the whole map as soon as you touch the edge. I recommend a default setting of 45.

These are just some quick things I noticed after launch. Sorry for the edits, I'm just a little tired :)

Crash when edit settings in mission

I got this DEADLYSIGNAL when edit settings in misson. I run new game (no loading), easy difficulty, skip all cinematics (left mouse click). Changed setting was Rychlost animací jednotek. Crash happend when i click OK button.

I saw similar backtrace, when I edit Rychlost pohybu jednotek

kukenc@dell ~ % /opt/signus/bin/signus
global.cpp:242:12: runtime error: null pointer passed as argument 1, which is declared to never be null
AddressSanitizer:DEADLYSIGNAL
=================================================================
==31821==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000000c0 (pc 0x78102a464382 bp 0x7ffe925fbf90 sp 0x7ffe925fba30 T0)
==31821==The signal is caused by a READ memory access.
==31821==Hint: address points to the zero page.
    #0 0x78102a464381  (/lib64/libc.so.6+0x67381)
    #1 0x78102b4f8765  (/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libasan.so.5+0x9c765)
    #2 0x78102b4f89ae  (/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libasan.so.5+0x9c9ae)
    #3 0x654fa6bb44e0  (/opt/signus/bin/signus+0x9f64e0)
    #4 0x654fa6e5b94a  (/opt/signus/bin/signus+0xc9d94a)
    #5 0x654fa6e61bdb  (/opt/signus/bin/signus+0xca3bdb)
    #6 0x654fa6e66bb6  (/opt/signus/bin/signus+0xca8bb6)
    #7 0x654fa6e6754e  (/opt/signus/bin/signus+0xca954e)
    #8 0x654fa6bb65af  (/opt/signus/bin/signus+0x9f85af)
    #9 0x78102a420d1a  (/lib64/libc.so.6+0x23d1a)
    #10 0x654fa6bb6b69  (/opt/signus/bin/signus+0x9f8b69)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib64/libc.so.6+0x67381) 
==31821==ABORTING

This issue happend randomly, not by every edit. New value is lost. But in another run, edit setting is successfull.

Windows port

The commercial version of the game does not run on new Windows versions without special DLLs. We should add support for Windows builds (at least using MinGW).

libpng to deps

Hello,
upon compilation libpng seems to be needed as dependency for signus-data.

Cannot compile the data

Hi, trying to compile this on Arch Linux with the data (as per the instructions) doesn't seem to work.

This is from a fresh git clone:

[liam@liam-pc signus-data]$ make
Making all in utils
make[1]: Entering directory '/home/liam/signus/signus-data/utils'
g++ -DPACKAGE_NAME="signus-data" -DPACKAGE_TARNAME="signus-data" -DPACKAGE_VERSION="1.96" -DPACKAGE_STRING="signus-data\ 1.96" -DPACKAGE_BUGREPORT="[email protected]" -DPACKAGE_URL="" -DPACKAGE="signus-data" -DVERSION="1.96" -I. -g -O2 -MT makedat.o -MD -MP -MF .deps/makedat.Tpo -c -o makedat.o makedat.cpp
makedat.cpp:47:25: error: reference to ‘byte’ is ambiguous
47 | byte Terrain; // prvn� level
| ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
from /usr/include/c++/11.1.0/bits/char_traits.h:39,
from /usr/include/c++/11.1.0/ios:40,
from /usr/include/c++/11.1.0/ostream:38,
from /usr/include/c++/11.1.0/iostream:39,
from makedat.cpp:16:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: note: candidates are: ‘enum class std::byte’
404 | enum class byte : unsigned char;
| ^~~~
In file included from makedat.cpp:18:
fonts.h:14:23: note: ‘typedef unsigned char byte’
14 | typedef unsigned char byte;
| ^~~~
makedat.cpp:48:25: error: reference to ‘byte’ is ambiguous
48 | byte Terrain2; // druh� �rove� ter�nu
| ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
from /usr/include/c++/11.1.0/bits/char_traits.h:39,
from /usr/include/c++/11.1.0/ios:40,
from /usr/include/c++/11.1.0/ostream:38,
from /usr/include/c++/11.1.0/iostream:39,
from makedat.cpp:16:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: note: candidates are: ‘enum class std::byte’
404 | enum class byte : unsigned char;
| ^~~~
In file included from makedat.cpp:18:
fonts.h:14:23: note: ‘typedef unsigned char byte’
14 | typedef unsigned char byte;
| ^~~~
makedat.cpp:49:25: error: reference to ‘byte’ is ambiguous
49 | byte Unit; // where 0xFF = none
| ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
from /usr/include/c++/11.1.0/bits/char_traits.h:39,
from /usr/include/c++/11.1.0/ios:40,
from /usr/include/c++/11.1.0/ostream:38,
from /usr/include/c++/11.1.0/iostream:39,
from makedat.cpp:16:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: note: candidates are: ‘enum class std::byte’
404 | enum class byte : unsigned char;
| ^~~~
In file included from makedat.cpp:18:
fonts.h:14:23: note: ‘typedef unsigned char byte’
14 | typedef unsigned char byte;
| ^~~~
makedat.cpp:50:25: error: reference to ‘byte’ is ambiguous
50 | byte Height : 3; // v��ka ter�nu (0..7)
| ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
from /usr/include/c++/11.1.0/bits/char_traits.h:39,
from /usr/include/c++/11.1.0/ios:40,
from /usr/include/c++/11.1.0/ostream:38,
from /usr/include/c++/11.1.0/iostream:39,
from makedat.cpp:16:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: note: candidates are: ‘enum class std::byte’
404 | enum class byte : unsigned char;
| ^~~~
In file included from makedat.cpp:18:
fonts.h:14:23: note: ‘typedef unsigned char byte’
14 | typedef unsigned char byte;
| ^~~~
makedat.cpp:51:25: error: reference to ‘byte’ is ambiguous
51 | byte IsAnim : 1; // je to animovan�?
| ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
from /usr/include/c++/11.1.0/bits/char_traits.h:39,
from /usr/include/c++/11.1.0/ios:40,
from /usr/include/c++/11.1.0/ostream:38,
from /usr/include/c++/11.1.0/iostream:39,
from makedat.cpp:16:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: note: candidates are: ‘enum class std::byte’
404 | enum class byte : unsigned char;
| ^~~~
In file included from makedat.cpp:18:
fonts.h:14:23: note: ‘typedef unsigned char byte’
14 | typedef unsigned char byte;
| ^~~~
makedat.cpp:52:25: error: reference to ‘byte’ is ambiguous
52 | byte Visib : 2; // viditelnost 00-nic, 01-�ed�, 11-pln�
| ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
from /usr/include/c++/11.1.0/bits/char_traits.h:39,
from /usr/include/c++/11.1.0/ios:40,
from /usr/include/c++/11.1.0/ostream:38,
from /usr/include/c++/11.1.0/iostream:39,
from makedat.cpp:16:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: note: candidates are: ‘enum class std::byte’
404 | enum class byte : unsigned char;
| ^~~~
In file included from makedat.cpp:18:
fonts.h:14:23: note: ‘typedef unsigned char byte’
14 | typedef unsigned char byte;
| ^~~~
make[1]: *** [Makefile:406: makedat.o] Error 1
make[1]: Leaving directory '/home/liam/signus/signus-data/utils'
make: *** [Makefile:362: all-recursive] Error 1

Game crahed in 7th mission (segfault)

I was in 7th mission and destroy second Minotaurus. Game crashed while enemy turn. If I load this file, game crashe every time.

I can see this crash in game build from tag 1.96.0 either from master. crashguard_saved_state file is generated from tag 1.96.0. Here is crashguard_saved_state.gz.

Here is kernel log, I do some tries with different builds.

2021-10-17 16:13:36 kernel: signus[30536]: segfault at 55e296995538 ip 000055e2968233c8 sp 00007ffed44af9d0 error 4 in signus[55e2967aa000+96000]
2021-10-17 16:13:36 kernel: Code: 00 00 00 bf 69 00 00 00 e8 65 81 f9 ff 0f b7 40 04 81 3d 93 16 10 00 ff ff 00 00 89 05 89 16 10 00 74 18 48 8d 1d 78 21 0f 00 <48> 8b 04 c3 8b 40 0c 25 ff 03 00 80 83 f8 32 74 0a c7 05 65 16 10
2021-10-17 16:20:10 kernel: signus[5238]: segfault at 55f2c62a2538 ip 000055f2c61303c8 sp 00007ffcf8bc5f60 error 4 in signus[55f2c60b7000+96000]
2021-10-17 16:20:10 kernel: Code: 00 00 00 bf 69 00 00 00 e8 65 81 f9 ff 0f b7 40 04 81 3d 93 16 10 00 ff ff 00 00 89 05 89 16 10 00 74 18 48 8d 1d 78 21 0f 00 <48> 8b 04 c3 8b 40 0c 25 ff 03 00 80 83 f8 32 74 0a c7 05 65 16 10
2021-10-17 16:20:56 kernel: signus[5371]: segfault at 561331a02538 ip 00005613318903c8 sp 00007ffddd4b7b70 error 4 in signus[561331817000+96000]
2021-10-17 16:20:56 kernel: Code: 00 00 00 bf 69 00 00 00 e8 65 81 f9 ff 0f b7 40 04 81 3d 93 16 10 00 ff ff 00 00 89 05 89 16 10 00 74 18 48 8d 1d 78 21 0f 00 <48> 8b 04 c3 8b 40 0c 25 ff 03 00 80 83 f8 32 74 0a c7 05 65 16 10
2021-10-17 16:57:44 kernel: signus[19762]: segfault at 55d1aa370538 ip 000055d1aa1ff154 sp 00007fff2223f380 error 4 in signus[55d1aa189000+92000]
2021-10-17 16:57:44 kernel: Code: 00 00 00 bf 69 00 00 00 e8 69 af f9 ff 81 3d 4b 09 10 00 ff ff 00 00 0f b7 40 04 89 05 3d 09 10 00 74 18 48 8d 1d ec 13 0f 00 <48> 8b 04 c3 8b 40 0c 25 ff 03 00 80 83 f8 32 74 0a c7 05 19 09 10

I can't see any ouput at stderr and stdout, but it is probably my fault - I build gcc without debug USE flag.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.