45 procedure StoreLoad; |
45 procedure StoreLoad; |
46 procedure StoreRelease; |
46 procedure StoreRelease; |
47 procedure DrawGear(Stuff : TStuff; X, Y: integer; Surface: PSDL_Surface); |
47 procedure DrawGear(Stuff : TStuff; X, Y: integer; Surface: PSDL_Surface); |
48 procedure DrawSpriteFromRect(r: TSDL_Rect; X, Y, Height, Position: integer; Surface: PSDL_Surface); |
48 procedure DrawSpriteFromRect(r: TSDL_Rect; X, Y, Height, Position: integer; Surface: PSDL_Surface); |
49 procedure DrawSprite (Sprite: TSprite; X, Y, Position: integer; Surface: PSDL_Surface); |
49 procedure DrawSprite (Sprite: TSprite; X, Y, Position: integer; Surface: PSDL_Surface); |
|
50 procedure DrawSprite2(Sprite: TSprite; X, Y, FrameX, FrameY: integer; Surface: PSDL_Surface); |
50 procedure DrawLand (X, Y: integer; Surface: PSDL_Surface); |
51 procedure DrawLand (X, Y: integer; Surface: PSDL_Surface); |
51 procedure DXOutText(X, Y: Integer; Font: THWFont; s: string; Surface: PSDL_Surface); |
52 procedure DXOutText(X, Y: Integer; Font: THWFont; s: string; Surface: PSDL_Surface); |
52 procedure DrawCaption(X, Y: integer; Rect: TSDL_Rect; Surface: PSDL_Surface; const fromTempSurf: boolean = false); |
53 procedure DrawCaption(X, Y: integer; Rect: TSDL_Rect; Surface: PSDL_Surface; const fromTempSurf: boolean = false); |
53 procedure DrawHedgehog(X, Y: integer; Dir: integer; Pos, Step: LongWord; Surface: PSDL_Surface); |
54 procedure DrawHedgehog(X, Y: integer; Dir: integer; Pos, Step: LongWord; Surface: PSDL_Surface); |
54 procedure DrawExplosion(X, Y, Radius: integer); |
55 procedure DrawExplosion(X, Y, Radius: integer); |
529 rr.y:= Y; |
530 rr.y:= Y; |
530 rr.w:= r.w; |
531 rr.w:= r.w; |
531 rr.h:= r.h; |
532 rr.h:= r.h; |
532 if SDL_UpperBlit(SourceSurface, r, DestSurface, @rr) < 0 then |
533 if SDL_UpperBlit(SourceSurface, r, DestSurface, @rr) < 0 then |
533 begin |
534 begin |
534 Writeln('Blit: ', SDL_GetError); |
535 OutError('Blit: ' + SDL_GetError, true); |
535 exit |
536 exit |
536 end; |
537 end; |
537 end; |
538 end; |
538 |
539 |
539 procedure DrawGear(Stuff: TStuff; X, Y: integer; Surface: PSDL_Surface); |
540 procedure DrawGear(Stuff: TStuff; X, Y: integer; Surface: PSDL_Surface); |
552 var r: TSDL_Rect; |
553 var r: TSDL_Rect; |
553 begin |
554 begin |
554 r.x:= 0; |
555 r.x:= 0; |
555 r.w:= SpritesData[Sprite].Width; |
556 r.w:= SpritesData[Sprite].Width; |
556 r.y:= Position * SpritesData[Sprite].Height; |
557 r.y:= Position * SpritesData[Sprite].Height; |
|
558 r.h:= SpritesData[Sprite].Height; |
|
559 DrawFromRect(X, Y, @r, SpritesData[Sprite].Surface, Surface) |
|
560 end; |
|
561 |
|
562 procedure DrawSprite2(Sprite: TSprite; X, Y, FrameX, FrameY: integer; Surface: PSDL_Surface); |
|
563 var r: TSDL_Rect; |
|
564 begin |
|
565 r.x:= FrameX * SpritesData[Sprite].Width; |
|
566 r.w:= SpritesData[Sprite].Width; |
|
567 r.y:= FrameY * SpritesData[Sprite].Height; |
557 r.h:= SpritesData[Sprite].Height; |
568 r.h:= SpritesData[Sprite].Height; |
558 DrawFromRect(X, Y, @r, SpritesData[Sprite].Surface, Surface) |
569 DrawFromRect(X, Y, @r, SpritesData[Sprite].Surface, Surface) |
559 end; |
570 end; |
560 |
571 |
561 procedure DXOutText(X, Y: Integer; Font: THWFont; s: string; Surface: PSDL_Surface); |
572 procedure DXOutText(X, Y: Integer; Font: THWFont; s: string; Surface: PSDL_Surface); |