Школоло / Говнокод #2776 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
function LockBack:bool;
var sd:tddsurfacedesc2;
begin
fillchar(sd,sizeof(sd),0);
sd.dwSize:=sizeof(sd);
result:=fbacksurface.Lock(nil,sd,DDLOCK_SURFACEMEMORYPTR  or ddlock_nosyslock or DDLOCK_WAIT,0)=dd_ok;
if not result then exit;
BackPtr:=sd.lpSurface;
end;
function UnLockBack:bool;
begin
result:=fbacksurface.UnLock(nil)=dd_ok;
BackPtr:=nil;
end;
function MakeSceenBackPtr:bool;
begin
result:=true;
if backptr=nil then
 result:=lockBack;
end;
function GetSceenSafeBackPtr:pointer;//use only this
begin
result:=nil;
if not MakeSceenBackPtr then exit;
result:=backptr;
end;

Тот же проЭкт, что и ниже на DirectDraw7.
Не смотря на то, что была функция function UnLockBack:bool; - она никогда не вызывалась. Странно, что на многих машинах это работало, тк я успешно выполнял блитинг в заблокированные поверхности в течении многих часов. :D

Запостил: Говногость Говногость, (Updated )

Комментарии (2) RSS

  • Странно, что с заблокированной поверхностью вы что-то могли делать.
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8