Gfxlib cleanup: move some functions out of SDL domain; SDL-specific bits split off into TFB_Canvas domain
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3467 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -290,10 +290,6 @@ SOURCE=..\..\src\libs\graphics\sdl\2xscalers_sse.c
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\src\libs\graphics\sdl\3do_funcs.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\libs\graphics\sdl\3do_getbody.c
|
SOURCE=..\..\src\libs\graphics\sdl\3do_getbody.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|||||||
@@ -277,10 +277,6 @@ typedef enum
|
|||||||
FadeSomeToColor
|
FadeSomeToColor
|
||||||
} ScreenFadeType;
|
} ScreenFadeType;
|
||||||
|
|
||||||
extern BOOLEAN InitGraphics (int argc, char *argv[], COUNT
|
|
||||||
KbytesRequired);
|
|
||||||
extern void UninitGraphics (void);
|
|
||||||
|
|
||||||
extern CONTEXT SetContext (CONTEXT Context);
|
extern CONTEXT SetContext (CONTEXT Context);
|
||||||
extern Color SetContextForeGroundColor (Color Color);
|
extern Color SetContextForeGroundColor (Color Color);
|
||||||
extern Color GetContextForeGroundColor (void);
|
extern Color GetContextForeGroundColor (void);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
#include "libs/gfxlib.h"
|
#include "libs/gfxlib.h"
|
||||||
#include "libs/graphics/context.h"
|
#include "libs/graphics/context.h"
|
||||||
#include "libs/graphics/drawable.h"
|
#include "libs/graphics/drawable.h"
|
||||||
|
#include "libs/graphics/tfb_draw.h"
|
||||||
#include "libs/memlib.h"
|
#include "libs/memlib.h"
|
||||||
#include "tfb_draw.h"
|
#include "tfb_draw.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
@@ -58,6 +59,38 @@ GetContextFGFrame (void)
|
|||||||
return _CurFramePtr;
|
return _CurFramePtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static DRAWABLE
|
||||||
|
request_drawable (COUNT NumFrames, DRAWABLE_TYPE DrawableType,
|
||||||
|
CREATE_FLAGS flags, SIZE width, SIZE height)
|
||||||
|
{
|
||||||
|
DRAWABLE Drawable;
|
||||||
|
COUNT i;
|
||||||
|
|
||||||
|
Drawable = AllocDrawable (NumFrames);
|
||||||
|
if (!Drawable)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
Drawable->Flags = flags;
|
||||||
|
Drawable->MaxIndex = NumFrames - 1;
|
||||||
|
|
||||||
|
for (i = 0; i < NumFrames; ++i)
|
||||||
|
{
|
||||||
|
FRAME FramePtr = &Drawable->Frame[i];
|
||||||
|
|
||||||
|
if (DrawableType == RAM_DRAWABLE && width > 0 && height > 0)
|
||||||
|
{
|
||||||
|
FramePtr->image = TFB_DrawImage_New (TFB_DrawCanvas_New_TrueColor (
|
||||||
|
width, height, (flags & WANT_ALPHA) ? TRUE : FALSE));
|
||||||
|
}
|
||||||
|
|
||||||
|
FramePtr->Type = DrawableType;
|
||||||
|
FramePtr->Index = NumFrames;
|
||||||
|
SetFrameBounds (FramePtr, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Drawable;
|
||||||
|
}
|
||||||
|
|
||||||
DRAWABLE
|
DRAWABLE
|
||||||
CreateDisplay (CREATE_FLAGS CreateFlags, SIZE *pwidth, SIZE *pheight)
|
CreateDisplay (CREATE_FLAGS CreateFlags, SIZE *pwidth, SIZE *pheight)
|
||||||
{
|
{
|
||||||
@@ -65,7 +98,7 @@ CreateDisplay (CREATE_FLAGS CreateFlags, SIZE *pwidth, SIZE *pheight)
|
|||||||
|
|
||||||
// TODO: ScreenWidth and ScreenHeight should be passed in
|
// TODO: ScreenWidth and ScreenHeight should be passed in
|
||||||
// instead of returned.
|
// instead of returned.
|
||||||
Drawable = _request_drawable (1, SCREEN_DRAWABLE,
|
Drawable = request_drawable (1, SCREEN_DRAWABLE,
|
||||||
(CreateFlags & (WANT_PIXMAP | WANT_MASK)),
|
(CreateFlags & (WANT_PIXMAP | WANT_MASK)),
|
||||||
ScreenWidth, ScreenHeight);
|
ScreenWidth, ScreenHeight);
|
||||||
if (Drawable)
|
if (Drawable)
|
||||||
@@ -128,7 +161,7 @@ CreateDrawable (CREATE_FLAGS CreateFlags, SIZE width, SIZE height, COUNT
|
|||||||
{
|
{
|
||||||
DRAWABLE Drawable;
|
DRAWABLE Drawable;
|
||||||
|
|
||||||
Drawable = _request_drawable (num_frames, RAM_DRAWABLE,
|
Drawable = request_drawable (num_frames, RAM_DRAWABLE,
|
||||||
(CreateFlags & (WANT_MASK | WANT_PIXMAP
|
(CreateFlags & (WANT_MASK | WANT_PIXMAP
|
||||||
| WANT_ALPHA | MAPPED_TO_DISPLAY)),
|
| WANT_ALPHA | MAPPED_TO_DISPLAY)),
|
||||||
width, height);
|
width, height);
|
||||||
@@ -215,7 +248,7 @@ RotateFrame (FRAME Frame, int angle_deg)
|
|||||||
double d;
|
double d;
|
||||||
double angle = angle_deg * M_PI / 180;
|
double angle = angle_deg * M_PI / 180;
|
||||||
|
|
||||||
Drawable = _request_drawable (1, RAM_DRAWABLE, WANT_PIXMAP, 0, 0);
|
Drawable = request_drawable (1, RAM_DRAWABLE, WANT_PIXMAP, 0, 0);
|
||||||
if (!Drawable)
|
if (!Drawable)
|
||||||
return 0;
|
return 0;
|
||||||
RotFramePtr = CaptureDrawable (Drawable);
|
RotFramePtr = CaptureDrawable (Drawable);
|
||||||
@@ -262,3 +295,4 @@ GetFramePixel (FRAME frame, POINT pixelPt)
|
|||||||
return TFB_DrawCanvas_GetPixel (frame->image->NormalImg,
|
return TFB_DrawCanvas_GetPixel (frame->image->NormalImg,
|
||||||
pixelPt.x, pixelPt.y);
|
pixelPt.x, pixelPt.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,19 +67,12 @@ struct drawable_desc
|
|||||||
extern DRAWABLE AllocDrawable (COUNT num_frames);
|
extern DRAWABLE AllocDrawable (COUNT num_frames);
|
||||||
#define FreeDrawable(D) _ReleaseCelData (D)
|
#define FreeDrawable(D) _ReleaseCelData (D)
|
||||||
|
|
||||||
#define TYPE_GET(f) ((f) & FTYPE_MASK)
|
|
||||||
#define INDEX_GET(f) ((f) & FINDEX_MASK)
|
|
||||||
#define TYPE_SET(f,t) ((f)|=t)
|
|
||||||
#define INDEX_SET(f,i) ((f)|=i)
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
RECT Box;
|
RECT Box;
|
||||||
FRAME FramePtr;
|
FRAME FramePtr;
|
||||||
} IMAGE_BOX;
|
} IMAGE_BOX;
|
||||||
|
|
||||||
extern DRAWABLE _request_drawable (COUNT NumFrames, DRAWABLE_TYPE
|
|
||||||
DrawableType, CREATE_FLAGS flags, SIZE width, SIZE height);
|
|
||||||
extern INTERSECT_CODE _clip_line (const RECT *pClipRect,
|
extern INTERSECT_CODE _clip_line (const RECT *pClipRect,
|
||||||
BRESENHAM_LINE *pLine);
|
BRESENHAM_LINE *pLine);
|
||||||
|
|
||||||
|
|||||||
@@ -16,11 +16,20 @@
|
|||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "gfxintrn.h"
|
#include "libs/graphics/context.h"
|
||||||
|
#include "libs/graphics/drawable.h"
|
||||||
|
#include "libs/graphics/tfb_draw.h"
|
||||||
#include "libs/log.h"
|
#include "libs/log.h"
|
||||||
|
|
||||||
//#define DEBUG_INTERSEC
|
//#define DEBUG_INTERSEC
|
||||||
|
|
||||||
|
static inline BOOLEAN
|
||||||
|
images_intersect (IMAGE_BOX *box1, IMAGE_BOX *box2, const RECT *rect)
|
||||||
|
{
|
||||||
|
return TFB_DrawImage_Intersect (box1->FramePtr->image, box1->Box.corner,
|
||||||
|
box2->FramePtr->image, box2->Box.corner, rect);
|
||||||
|
}
|
||||||
|
|
||||||
static TIME_VALUE
|
static TIME_VALUE
|
||||||
frame_intersect (INTERSECT_CONTROL *pControl0, RECT *pr0,
|
frame_intersect (INTERSECT_CONTROL *pControl0, RECT *pr0,
|
||||||
INTERSECT_CONTROL *pControl1, RECT *pr1, TIME_VALUE t0,
|
INTERSECT_CONTROL *pControl1, RECT *pr1, TIME_VALUE t0,
|
||||||
@@ -201,12 +210,9 @@ frame_intersect (INTERSECT_CONTROL *pControl0, RECT *pr0,
|
|||||||
* separated by a pixel, the shapes wouldn't be touching
|
* separated by a pixel, the shapes wouldn't be touching
|
||||||
* each other.
|
* each other.
|
||||||
*/
|
*/
|
||||||
extern BOOLEAN _image_intersect (IMAGE_BOX *pImageBox0,
|
|
||||||
IMAGE_BOX *pImageBox1, RECT *pIRect);
|
|
||||||
|
|
||||||
CheckFirstIntersection:
|
CheckFirstIntersection:
|
||||||
if (BoxIntersect (&IB0.Box, &IB1.Box, &r_intersect)
|
if (BoxIntersect (&IB0.Box, &IB1.Box, &r_intersect)
|
||||||
&& _image_intersect (&IB0, &IB1, &r_intersect))
|
&& images_intersect (&IB0, &IB1, &r_intersect))
|
||||||
return (t0);
|
return (t0);
|
||||||
|
|
||||||
if (check0)
|
if (check0)
|
||||||
|
|||||||
@@ -1,119 +0,0 @@
|
|||||||
//Copyright Paul Reiche, Fred Ford. 1992-2002
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef GFXMODULE_SDL
|
|
||||||
|
|
||||||
#include "sdl_common.h"
|
|
||||||
#include "pure.h"
|
|
||||||
#include "opengl.h"
|
|
||||||
#include "primitives.h"
|
|
||||||
#include "libs/graphics/drawcmd.h"
|
|
||||||
#include "libs/graphics/tfb_draw.h"
|
|
||||||
|
|
||||||
|
|
||||||
// Status: Ignored
|
|
||||||
BOOLEAN
|
|
||||||
InitGraphics (int argc, char* argv[], COUNT KbytesRequired)
|
|
||||||
// Kbytes should only matter if we wanted to port Starcon2 to the
|
|
||||||
// hand-helds...
|
|
||||||
{
|
|
||||||
(void) argc; /* lint */
|
|
||||||
(void) argv; /* lint */
|
|
||||||
(void) KbytesRequired; /* lint */
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Status: Unimplemented
|
|
||||||
void
|
|
||||||
UninitGraphics () // Also probably empty
|
|
||||||
{
|
|
||||||
// HFree (DrawCommandQueue); This is static now!
|
|
||||||
|
|
||||||
//mem_uninit ();
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOLEAN
|
|
||||||
_image_intersect (IMAGE_BOX *box1, IMAGE_BOX *box2, RECT *rect)
|
|
||||||
{
|
|
||||||
BOOLEAN ret;
|
|
||||||
SDL_Surface *img1, *img2;
|
|
||||||
int img1w, img1xpos, img1ypos, img2w, img2xpos, img2ypos;
|
|
||||||
int x,y;
|
|
||||||
Uint32 img1key, img2key;
|
|
||||||
Uint32 img1mask, img2mask;
|
|
||||||
GetPixelFn getpixel1, getpixel2;
|
|
||||||
|
|
||||||
img1 = (SDL_Surface *)box1->FramePtr->image->NormalImg;
|
|
||||||
img2 = (SDL_Surface *)box2->FramePtr->image->NormalImg;
|
|
||||||
|
|
||||||
getpixel1 = getpixel_for(img1);
|
|
||||||
getpixel2 = getpixel_for(img2);
|
|
||||||
|
|
||||||
img1w = img1->w;
|
|
||||||
img1xpos = box1->Box.corner.x;
|
|
||||||
img1ypos = box1->Box.corner.y;
|
|
||||||
if (img1->format->Amask)
|
|
||||||
{ // use alpha transparency info
|
|
||||||
img1mask = img1->format->Amask;
|
|
||||||
// consider any not fully transparent pixel collidable
|
|
||||||
img1key = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ // colorkey transparency
|
|
||||||
img1mask = ~img1->format->Amask;
|
|
||||||
img1key = img1->format->colorkey & img1mask;
|
|
||||||
}
|
|
||||||
|
|
||||||
img2w = img2->w;
|
|
||||||
img2xpos = box2->Box.corner.x;
|
|
||||||
img2ypos = box2->Box.corner.y;
|
|
||||||
if (img2->format->Amask)
|
|
||||||
{ // use alpha transparency info
|
|
||||||
img2mask = img2->format->Amask;
|
|
||||||
// consider any not fully transparent pixel collidable
|
|
||||||
img2key = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ // colorkey transparency
|
|
||||||
img2mask = ~img2->format->Amask;
|
|
||||||
img2key = img2->format->colorkey & img2mask;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (y = rect->corner.y; y < rect->corner.y + rect->extent.height; ++y)
|
|
||||||
{
|
|
||||||
for (x = rect->corner.x; x < rect->corner.x + rect->extent.width; ++x)
|
|
||||||
{
|
|
||||||
Uint32 p1 = getpixel1(img1, x - img1xpos, y - img1ypos)
|
|
||||||
& img1mask;
|
|
||||||
Uint32 p2 = getpixel2(img2, x - img2xpos, y - img2ypos)
|
|
||||||
& img2mask;
|
|
||||||
|
|
||||||
if ((p1 != img1key) && (p2 != img2key))
|
|
||||||
{
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ret = FALSE;
|
|
||||||
|
|
||||||
return (ret);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -827,46 +827,4 @@ _ReleaseFontData (void *handle)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// _request_drawable was in libs/graphics/drawable.c before modularization
|
|
||||||
|
|
||||||
DRAWABLE
|
|
||||||
_request_drawable (COUNT NumFrames, DRAWABLE_TYPE DrawableType,
|
|
||||||
CREATE_FLAGS flags, SIZE width, SIZE height)
|
|
||||||
{
|
|
||||||
DRAWABLE Drawable;
|
|
||||||
|
|
||||||
Drawable = AllocDrawable (NumFrames);
|
|
||||||
if (Drawable)
|
|
||||||
{
|
|
||||||
int imgw, imgh;
|
|
||||||
FRAME FramePtr;
|
|
||||||
|
|
||||||
Drawable->Flags = flags;
|
|
||||||
Drawable->MaxIndex = NumFrames - 1;
|
|
||||||
|
|
||||||
imgw = width;
|
|
||||||
imgh = height;
|
|
||||||
|
|
||||||
FramePtr = &Drawable->Frame[NumFrames - 1];
|
|
||||||
while (NumFrames--)
|
|
||||||
{
|
|
||||||
TFB_Image *Image;
|
|
||||||
|
|
||||||
if (DrawableType == RAM_DRAWABLE && imgw > 0 && imgh > 0
|
|
||||||
&& (Image = TFB_DrawImage_New (TFB_DrawCanvas_New_TrueColor (
|
|
||||||
imgw, imgh, (flags & WANT_ALPHA) ? TRUE : FALSE))))
|
|
||||||
{
|
|
||||||
FramePtr->image = Image;
|
|
||||||
}
|
|
||||||
|
|
||||||
FramePtr->Type = DrawableType;
|
|
||||||
FramePtr->Index = NumFrames;
|
|
||||||
SetFrameBounds (FramePtr, width, height);
|
|
||||||
--FramePtr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (Drawable);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
uqm_CFILES="3do_funcs.c 3do_getbody.c opengl.c
|
uqm_CFILES="3do_getbody.c opengl.c
|
||||||
palette.c
|
palette.c
|
||||||
primitives.c pure.c sdl_common.c
|
primitives.c pure.c sdl_common.c
|
||||||
scalers.c 2xscalers.c
|
scalers.c 2xscalers.c
|
||||||
|
|||||||
@@ -1721,3 +1721,63 @@ TFB_DrawCanvas_SetClipRect (TFB_Canvas canvas, const RECT *clipRect)
|
|||||||
SDL_SetClipRect (canvas, &r);
|
SDL_SetClipRect (canvas, &r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
TFB_DrawCanvas_Intersect (TFB_Canvas canvas1, POINT c1org,
|
||||||
|
TFB_Canvas canvas2, POINT c2org, const RECT *interRect)
|
||||||
|
{
|
||||||
|
SDL_Surface *surf1 = canvas1;
|
||||||
|
SDL_Surface *surf2 = canvas2;
|
||||||
|
int x, y;
|
||||||
|
Uint32 s1key, s2key;
|
||||||
|
Uint32 s1mask, s2mask;
|
||||||
|
GetPixelFn getpixel1, getpixel2;
|
||||||
|
|
||||||
|
getpixel1 = getpixel_for (surf1);
|
||||||
|
getpixel2 = getpixel_for (surf2);
|
||||||
|
|
||||||
|
if (surf1->format->Amask)
|
||||||
|
{ // use alpha transparency info
|
||||||
|
s1mask = surf1->format->Amask;
|
||||||
|
// consider any not fully transparent pixel collidable
|
||||||
|
s1key = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // colorkey transparency
|
||||||
|
s1mask = ~surf1->format->Amask;
|
||||||
|
s1key = surf1->format->colorkey & s1mask;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (surf2->format->Amask)
|
||||||
|
{ // use alpha transparency info
|
||||||
|
s2mask = surf2->format->Amask;
|
||||||
|
// consider any not fully transparent pixel collidable
|
||||||
|
s2key = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // colorkey transparency
|
||||||
|
s2mask = ~surf2->format->Amask;
|
||||||
|
s2key = surf2->format->colorkey & s2mask;
|
||||||
|
}
|
||||||
|
|
||||||
|
// convert surface origins to pixel offsets within
|
||||||
|
c1org.x = interRect->corner.x - c1org.x;
|
||||||
|
c1org.y = interRect->corner.y - c1org.y;
|
||||||
|
c2org.x = interRect->corner.x - c2org.x;
|
||||||
|
c2org.y = interRect->corner.y - c2org.y;
|
||||||
|
|
||||||
|
for (y = 0; y < interRect->extent.height; ++y)
|
||||||
|
{
|
||||||
|
for (x = 0; x < interRect->extent.width; ++x)
|
||||||
|
{
|
||||||
|
Uint32 p1 = getpixel1 (surf1, x + c1org.x, y + c1org.y) & s1mask;
|
||||||
|
Uint32 p2 = getpixel2 (surf2, x + c2org.x, y + c2org.y) & s2mask;
|
||||||
|
|
||||||
|
if (p1 != s1key && p2 != s2key)
|
||||||
|
return TRUE; // pixel collision
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// no pixel collision
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|||||||
@@ -448,3 +448,10 @@ TFB_DrawImage_FixScaling (TFB_Image *image, int target, int type)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
TFB_DrawImage_Intersect (TFB_Image *img1, POINT img1org,
|
||||||
|
TFB_Image *img2, POINT img2org, const RECT *interRect)
|
||||||
|
{
|
||||||
|
return TFB_DrawCanvas_Intersect (img1->NormalImg, img1org,
|
||||||
|
img2->NormalImg, img2org, interRect);
|
||||||
|
}
|
||||||
|
|||||||
@@ -105,6 +105,8 @@ void TFB_DrawImage_SetMipmap (TFB_Image *img, TFB_Image *mmimg, int hotx,
|
|||||||
int hoty);
|
int hoty);
|
||||||
void TFB_DrawImage_Delete (TFB_Image *image);
|
void TFB_DrawImage_Delete (TFB_Image *image);
|
||||||
void TFB_DrawImage_FixScaling (TFB_Image *image, int target, int type);
|
void TFB_DrawImage_FixScaling (TFB_Image *image, int target, int type);
|
||||||
|
BOOLEAN TFB_DrawImage_Intersect (TFB_Image *img1, POINT img1org,
|
||||||
|
TFB_Image *img2, POINT img2org, const RECT *interRect);
|
||||||
|
|
||||||
void TFB_DrawImage_Line (int x1, int y1, int x2, int y2, Color color,
|
void TFB_DrawImage_Line (int x1, int y1, int x2, int y2, Color color,
|
||||||
TFB_Image *dest);
|
TFB_Image *dest);
|
||||||
@@ -172,6 +174,8 @@ void TFB_DrawCanvas_GetScreenFormat (TFB_PixelFormat *fmt);
|
|||||||
int TFB_DrawCanvas_GetStride (TFB_Canvas canvas);
|
int TFB_DrawCanvas_GetStride (TFB_Canvas canvas);
|
||||||
void *TFB_DrawCanvas_GetLine (TFB_Canvas canvas, int line);
|
void *TFB_DrawCanvas_GetLine (TFB_Canvas canvas, int line);
|
||||||
Color TFB_DrawCanvas_GetPixel (TFB_Canvas canvas, int x, int y);
|
Color TFB_DrawCanvas_GetPixel (TFB_Canvas canvas, int x, int y);
|
||||||
|
BOOLEAN TFB_DrawCanvas_Intersect (TFB_Canvas canvas1, POINT c1org,
|
||||||
|
TFB_Canvas canvas2, POINT c2org, const RECT *interRect);
|
||||||
|
|
||||||
TFB_Canvas TFB_GetScreenCanvas (SCREEN screen);
|
TFB_Canvas TFB_GetScreenCanvas (SCREEN screen);
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ FreeKernel (void)
|
|||||||
|
|
||||||
UninitVideoPlayer ();
|
UninitVideoPlayer ();
|
||||||
UninitSound ();
|
UninitSound ();
|
||||||
UninitGraphics ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
@@ -89,9 +89,6 @@ UninitPlayerInput (void)
|
|||||||
BOOLEAN
|
BOOLEAN
|
||||||
LoadKernel (int argc, char *argv[])
|
LoadKernel (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
#define MIN_K_REQUIRED (580000L / 1024)
|
|
||||||
if (!InitGraphics (argc, argv, MIN_K_REQUIRED))
|
|
||||||
return FALSE;
|
|
||||||
InitSound (argc, argv);
|
InitSound (argc, argv);
|
||||||
InitVideoPlayer (TRUE);
|
InitVideoPlayer (TRUE);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user