windows: fix(workaround) illegal instruction in release build

This commit is contained in:
nillerusr 2022-12-17 10:14:49 +03:00
parent af8c358ce9
commit ff2211f0ad
2 changed files with 10 additions and 3 deletions

View File

@ -46,7 +46,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Build windows-i386 - name: Build windows-amd64
run: | run: |
git submodule init && git submodule update git submodule init && git submodule update
./waf.bat configure -T debug -8 ./waf.bat configure -T debug -8

View File

@ -322,10 +322,17 @@ int ParseDirective( const char *pText )
{ {
if ( ParseFloats( pText, tempFloat, 4 ) ) if ( ParseFloats( pText, tempFloat, 4 ) )
{ {
for ( int i = 0; i < 4; ++i ) // that's original code, msvc2015 generates illegal instruction on amd64 architecture
/*for ( int i = 0; i < 4; ++i )
{ {
gMessageParms.boxcolor[ i ] = (byte)(int)tempFloat[ i ]; gMessageParms.boxcolor[ i ] = (byte)(int)tempFloat[ i ];
} }*/
// workaround
gMessageParms.boxcolor[0] = (int)tempFloat[0];
gMessageParms.boxcolor[1] = (int)tempFloat[1];
gMessageParms.boxcolor[2] = (int)tempFloat[2];
gMessageParms.boxcolor[3] = (int)tempFloat[3];
} }
} }
else if ( IsToken( pText, "clearmessage" ) ) else if ( IsToken( pText, "clearmessage" ) )