hedgewars/CCHandlers.inc
changeset 2697 75880595a9f1
parent 2695 ed789a7ef68d
child 2714 c85ffe57d971
equal deleted inserted replaced
2696:41aa7b56c17b 2697:75880595a9f1
   596 procedure chFullScr(var s: shortstring);
   596 procedure chFullScr(var s: shortstring);
   597 var flags: Longword = 0;
   597 var flags: Longword = 0;
   598 {$IFDEF DEBUGFILE}
   598 {$IFDEF DEBUGFILE}
   599     buf: array[byte] of char;
   599     buf: array[byte] of char;
   600 {$ENDIF}
   600 {$ENDIF}
   601 begin
   601 {$IFDEF SDL13}
   602 if Length(s) = 0 then cFullScreen:= not cFullScreen
   602 	windowID: TSDL_WindowID;
       
   603 {$ENDIF}
       
   604 begin
       
   605 	if Length(s) = 0 then cFullScreen:= not cFullScreen
   603 	else cFullScreen:= s = '1';
   606 	else cFullScreen:= s = '1';
   604 
   607 
   605 {$IFDEF DEBUGFILE}
   608 {$IFDEF DEBUGFILE}
   606 AddFileLog('Prepare to change video parameters...');
   609 	AddFileLog('Prepare to change video parameters...');
   607 {$ENDIF}
   610 {$ENDIF}
   608 
   611 
       
   612 	flags:= SDL_OPENGL;// or SDL_RESIZABLE;
   609 {$IFDEF IPHONEOS}
   613 {$IFDEF IPHONEOS}
   610 SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 0);
   614 	// remove the topbar from the iPhone
   611 SDL_GL_SetAttribute(SDL_GL_RETAINED_BACKING, 1);
   615 	flags:= flags or SDL_NOFRAME;
   612 SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 0);
   616 {$ENDIF}
   613 SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
   617 
   614 SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
   618 	if cFullScreen then
   615 SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
   619 	begin
   616 SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
   620 		flags:= flags or SDL_FULLSCREEN;
   617 SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32);
   621 		cScreenWidth:= cInitWidth;
       
   622 		cScreenHeight:= cInitHeight
       
   623 	end;
       
   624 
       
   625 	SDL_WM_SetCaption('Hedgewars', nil);
       
   626 	if SDLPrimSurface <> nil then
       
   627 	begin
       
   628 {$IFDEF DEBUGFILE}
       
   629 		AddFileLog('Freeing old primary surface...');
       
   630 {$ENDIF}
       
   631 		SDL_FreeSurface(SDLPrimSurface);
       
   632 	end;
       
   633 	
       
   634 {$IFDEF SDL13}
       
   635 	windowID:= SDL_CreateWindow(nil, 0, 0, cScreenWidth, cScreenHeight,	SDL_WINDOW_OPENGL or SDL_WINDOW_SHOWN 
       
   636 				{$IFDEF IPHONEOS} or SDL_WINDOW_BORDERLESS{$ENDIF});
       
   637     SDL_CreateRenderer(windowID, 0, 0);
       
   638 	PixelFormat:=nil;// SDLPrimSurface^.format;
       
   639 	
       
   640 	SDL_SetRenderDrawColor(0, 0, 0, 255);
       
   641     SDL_RenderFill(nil);
       
   642     SDL_RenderPresent();
   618 {$ELSE}
   643 {$ELSE}
   619 SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
   644 	SDLPrimSurface:= SDL_SetVideoMode(cScreenWidth, cScreenHeight, cBits, flags);
   620 {$ENDIF}
   645 	SDLTry(SDLPrimSurface <> nil, true);
   621 
   646 	PixelFormat:= SDLPrimSurface^.format;
   622 {$IFNDEF SDL13}
   647 {$ENDIF}
   623 // this attribute is default in 1.3 and must be enabled in MacOSX
       
   624 {$IFNDEF DARWIN}
       
   625 if cVSyncInUse then
       
   626 {$ENDIF}
       
   627 	SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1);
       
   628 {$ENDIF}
       
   629 
       
   630 flags:= SDL_OPENGL;// or SDL_RESIZABLE;
       
   631 {$IFDEF IPHONEOS}
       
   632 // remove the topbar from the iPhone
       
   633 flags:= flags or SDL_NOFRAME;
       
   634 {$ENDIF}
       
   635 
       
   636 if cFullScreen then
       
   637 	begin
       
   638 	flags:= flags or SDL_FULLSCREEN;
       
   639 	cScreenWidth:= cInitWidth;
       
   640 	cScreenHeight:= cInitHeight
       
   641 	end;
       
   642 
       
   643 SDL_WM_SetCaption('Hedgewars', nil);
       
   644 if SDLPrimSurface <> nil then
       
   645 	begin
       
   646 	{$IFDEF DEBUGFILE}
       
   647 	AddFileLog('Freeing old primary surface...');
       
   648 	{$ENDIF}
       
   649 	SDL_FreeSurface(SDLPrimSurface);
       
   650 	end;
       
   651 
       
   652 SDLPrimSurface:= SDL_SetVideoMode(cScreenWidth, cScreenHeight, cBits, flags);
       
   653 SDLTry(SDLPrimSurface <> nil, true);
       
   654 PixelFormat:= SDLPrimSurface^.format;
       
   655 
   648 
   656 {$IFDEF DEBUGFILE}
   649 {$IFDEF DEBUGFILE}
   657 AddFileLog('Setting up OpenGL...');
   650 	AddFileLog('Setting up OpenGL...');
   658 AddFileLog('SDL video driver: ' + string(SDL_VideoDriverName(buf, sizeof(buf))));
   651 	AddFileLog('SDL video driver: ' + string(SDL_VideoDriverName(buf, sizeof(buf))));
   659 {$ENDIF}
   652 {$ENDIF}
   660 SetupOpenGL();
   653 	SetupOpenGL();
   661 
       
   662 end;
   654 end;
   663 
   655 
   664 procedure chVol_p(var s: shortstring);
   656 procedure chVol_p(var s: shortstring);
   665 begin
   657 begin
   666 inc(cVolumeDelta, 3)
   658 inc(cVolumeDelta, 3)