hedgewars/uStore.pas
branchwebgl
changeset 8446 c18ba8726f5a
parent 8444 75db7bb8dce8
child 8847 ff7fbab7cd56
equal deleted inserted replaced
8444:75db7bb8dce8 8446:c18ba8726f5a
   466 IMG_Quit();
   466 IMG_Quit();
   467 
   467 
   468 WriteLnToConsole('Leaving StoreLoad');
   468 WriteLnToConsole('Leaving StoreLoad');
   469 end;
   469 end;
   470 
   470 
       
   471 {$IFNDEF PAS2C}
   471 {$IF DEFINED(USE_S3D_RENDERING) OR DEFINED(USE_VIDEO_RECORDING)}
   472 {$IF DEFINED(USE_S3D_RENDERING) OR DEFINED(USE_VIDEO_RECORDING)}
   472 procedure CreateFramebuffer(var frame, depth, tex: GLuint);
   473 procedure CreateFramebuffer(var frame, depth, tex: GLuint);
   473 begin
   474 begin
   474     glGenFramebuffersEXT(1, @frame);
   475     glGenFramebuffersEXT(1, @frame);
   475     glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, frame);
   476     glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, frame);
   489 begin
   490 begin
   490     glDeleteTextures(1, @tex);
   491     glDeleteTextures(1, @tex);
   491     glDeleteRenderbuffersEXT(1, @depth);
   492     glDeleteRenderbuffersEXT(1, @depth);
   492     glDeleteFramebuffersEXT(1, @frame);
   493     glDeleteFramebuffersEXT(1, @frame);
   493 end;
   494 end;
       
   495 {$ENDIF}
   494 {$ENDIF}
   496 {$ENDIF}
   495 
   497 
   496 procedure StoreRelease(reload: boolean);
   498 procedure StoreRelease(reload: boolean);
   497 var ii: TSprite;
   499 var ii: TSprite;
   498     ai: TAmmoType;
   500     ai: TAmmoType;
   564                 FreeTexture(TeamsArray[t]^.Hedgehogs[i].HatTex);
   566                 FreeTexture(TeamsArray[t]^.Hedgehogs[i].HatTex);
   565                 TeamsArray[t]^.Hedgehogs[i].HatTex:= nil;
   567                 TeamsArray[t]^.Hedgehogs[i].HatTex:= nil;
   566                 end;
   568                 end;
   567             end;
   569             end;
   568         end;
   570         end;
       
   571 {$IFNDEF PAS2C}
   569 {$IFDEF USE_VIDEO_RECORDING}
   572 {$IFDEF USE_VIDEO_RECORDING}
   570     if defaultFrame <> 0 then
   573     if defaultFrame <> 0 then
   571         DeleteFramebuffer(defaultFrame, depthv, texv);
   574         DeleteFramebuffer(defaultFrame, depthv, texv);
   572 {$ENDIF}
   575 {$ENDIF}
   573 {$IFDEF USE_S3D_RENDERING}
   576 {$IFDEF USE_S3D_RENDERING}
   574     if (cStereoMode = smHorizontal) or (cStereoMode = smVertical) then
   577     if (cStereoMode = smHorizontal) or (cStereoMode = smVertical) then
   575         begin
   578         begin
   576         DeleteFramebuffer(framel, depthl, texl);
   579         DeleteFramebuffer(framel, depthl, texl);
   577         DeleteFramebuffer(framer, depthr, texr);
   580         DeleteFramebuffer(framer, depthr, texr);
   578         end
   581         end
       
   582 {$ENDIF}
   579 {$ENDIF}
   583 {$ENDIF}
   580 end;
   584 end;
   581 
   585 
   582 
   586 
   583 procedure RenderHealth(var Hedgehog: THedgehog);
   587 procedure RenderHealth(var Hedgehog: THedgehog);
   992 
   996 
   993     Tint(255, 255, 255, 255);
   997     Tint(255, 255, 255, 255);
   994     UpdateModelviewProjection;
   998     UpdateModelviewProjection;
   995 {$ENDIF}
   999 {$ENDIF}
   996 
  1000 
       
  1001 {$IFNDEF PAS2C}
   997 {$IFNDEF USE_S3D_RENDERING}
  1002 {$IFNDEF USE_S3D_RENDERING}
   998     if (cStereoMode = smHorizontal) or (cStereoMode = smVertical) or (cStereoMode = smAFR) then
  1003     if (cStereoMode = smHorizontal) or (cStereoMode = smVertical) or (cStereoMode = smAFR) then
   999     begin
  1004     begin
  1000         // prepare left and right frame buffers and associated textures
  1005         // prepare left and right frame buffers and associated textures
  1001         if glLoadExtension('GL_EXT_framebuffer_object') then
  1006         if glLoadExtension('GL_EXT_framebuffer_object') then
  1007             glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, defaultFrame)
  1012             glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, defaultFrame)
  1008             end
  1013             end
  1009         else
  1014         else
  1010             cStereoMode:= smNone;
  1015             cStereoMode:= smNone;
  1011     end;
  1016     end;
       
  1017 {$ENDIF}
  1012 {$ENDIF}
  1018 {$ENDIF}
  1013 
  1019 
  1014 // set view port to whole window
  1020 // set view port to whole window
  1015 glViewport(0, 0, cScreenWidth, cScreenHeight);
  1021 glViewport(0, 0, cScreenWidth, cScreenHeight);
  1016 
  1022 
  1207         ProgrTex:= Surface2Tex(texsurf, false);
  1213         ProgrTex:= Surface2Tex(texsurf, false);
  1208 
  1214 
  1209         squaresize:= texsurf^.w shr 1;
  1215         squaresize:= texsurf^.w shr 1;
  1210         numsquares:= texsurf^.h div squaresize;
  1216         numsquares:= texsurf^.h div squaresize;
  1211         SDL_FreeSurface(texsurf);
  1217         SDL_FreeSurface(texsurf);
       
  1218         {$IFNDEF PAS2C}
  1212         with mobileRecord do
  1219         with mobileRecord do
  1213             if GameLoading <> nil then
  1220             if GameLoading <> nil then
  1214                 GameLoading();
  1221                 GameLoading();
  1215 
  1222         {$ENDIF}
  1216         end;
  1223         end;
  1217 
  1224 
  1218     TryDo(ProgrTex <> nil, 'Error - Progress Texure is nil!', true);
  1225     TryDo(ProgrTex <> nil, 'Error - Progress Texure is nil!', true);
  1219 
  1226 
  1220     glClear(GL_COLOR_BUFFER_BIT);
  1227     glClear(GL_COLOR_BUFFER_BIT);
  1234     inc(Step);
  1241     inc(Step);
  1235 end;
  1242 end;
  1236 
  1243 
  1237 procedure FinishProgress;
  1244 procedure FinishProgress;
  1238 begin
  1245 begin
       
  1246     {$IFNDEF PAS2C}
  1239     with mobileRecord do
  1247     with mobileRecord do
  1240         if GameLoaded <> nil then
  1248         if GameLoaded <> nil then
  1241             GameLoaded();
  1249             GameLoaded();
       
  1250     {$ENDIF}
  1242     WriteLnToConsole('Freeing progress surface... ');
  1251     WriteLnToConsole('Freeing progress surface... ');
  1243     FreeTexture(ProgrTex);
  1252     FreeTexture(ProgrTex);
  1244     ProgrTex:= nil;
  1253     ProgrTex:= nil;
  1245     Step:= 0
  1254     Step:= 0
  1246 end;
  1255 end;