equal
deleted
inserted
replaced
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; |