Merge pull request from Wargus/haiku

: Haiku support
This commit is contained in:
Tim Felgentreff 2018-11-13 11:47:33 +01:00 committed by GitHub
commit 3ad6ec6626
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 14 additions and 1 deletions

View file

@ -845,6 +845,10 @@ if(BEOS)
set(stratagus_SRCS ${stratagus_SRCS} ${beos_SRCS})
endif()
if(HAIKU)
set(stratagus_LIBS ${stratagus_LIBS} -lnetwork)
endif()
# Stratagus needs to have char by default signed
# No idea how to tell this to other compilers
if(CMAKE_COMPILER_IS_GNUCXX)
@ -976,6 +980,8 @@ elseif(BSD)
message("Platform: BSD")
elseif(BEOS)
message("Platform: BEOS")
elseif(HAIKU)
message("Platform: Haiku")
elseif(LINUX)
message("Platform: Linux")
else()

View file

@ -732,6 +732,7 @@ static bool CommandKey(int key)
case SDLK_SLASH:
case SDLK_BACKSLASH:
#ifdef USE_OPENGL
if (KeyModifiers & ModifierAlt) {
if (GLShaderPipelineSupported) {
char shadername[1024] = { '\0' };
@ -739,6 +740,7 @@ static bool CommandKey(int key)
SetMessage("%s", shadername);
}
}
#endif
break;
default:

View file

@ -1648,6 +1648,7 @@ void CFiller::Load()
}
}
#ifdef USE_OPENGL
bool CGraphic::DeleteColorCyclingTextures() {
if (!ColorCyclingTextures) return false;
for (int i = 0; i < NumColorCycles; i++) {
@ -1658,5 +1659,5 @@ bool CGraphic::DeleteColorCyclingTextures() {
ColorCyclingTextures = NULL;
return true;
}
#endif
//@}

View file

@ -639,12 +639,14 @@ void InitVideoSdl()
if (TheScreen == NULL) {
fprintf(stderr, "Couldn't set %dx%dx%d video mode: %s\n",
Video.Width, Video.Height, Video.Depth, SDL_GetError());
#if defined(USE_OPENGL) || defined(USE_GLES)
if (UseOpenGL) {
fprintf(stderr, "Re-trying video without OpenGL\n");
UseOpenGL = false;
InitVideoSdl();
return;
}
#endif
if (Video.FullScreen) {
fprintf(stderr, "Re-trying video without fullscreen mode\n");
Video.FullScreen = false;

View file

@ -394,10 +394,12 @@ void AddColorCyclingRange(unsigned int begin, unsigned int end)
void SetColorCycleAll(bool value)
{
#if defined(USE_OPENGL) || defined(USE_GLES)
if (UseOpenGL) {
// FIXME: In OpenGL-mode, we can only cycle the tileset graphic
return;
}
#endif
CColorCycling::GetInstance().ColorCycleAll = value;
}