_________ __ __ / _____// |_____________ _/ |______ ____ __ __ ______ \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > \/ \/ \//_____/ \/ ______________________ ______________________ T H E W A R B E G I N S Stratagus - A free fantasy real time strategy game engine
#include "stratagus.h"
#include <vector>
#include "video.h"
#include "intern_video.h"
#include "cursor.h"
#include "font.h"
#include "iolib.h"
#include "map.h"
#include "ui.h"
#include "SDL.h"
#include "SDL_image.h"
Classes | |
struct | Clip |
class | CColorCycling |
video.cpp - The universal video functions. | |
CVideo | Video |
Do SDL hardware unlock. More... | |
char | VideoForceFullScreen |
Fullscreen or windowed set from commandline. More... | |
double | NextFrameTicks |
fullscreen set from commandline More... | |
unsigned long | FrameCounter |
Ticks of begin of the next frame. More... | |
unsigned long | SlowFrameCounter |
Current frame number. More... | |
int | ClipX1 |
Profile, frames out of sync. More... | |
int | ClipY1 |
current clipping top left More... | |
int | ClipX2 |
current clipping top left More... | |
int | ClipY2 |
current clipping bottom right More... | |
static std::vector< Clip > | Clips |
current clipping bottom right More... | |
int | VideoSyncSpeed = 100 |
int | SkipFrames |
0 disable interrupts More... | |
Uint32 | ColorBlack |
Skip this frames. More... | |
Uint32 | ColorDarkGreen |
Uint32 | ColorLightBlue |
Uint32 | ColorBlue |
Uint32 | ColorOrange |
Uint32 | ColorWhite |
Uint32 | ColorLightGray |
Uint32 | ColorGray |
Uint32 | ColorDarkGray |
Uint32 | ColorRed |
Uint32 | ColorGreen |
Uint32 | ColorYellow |
static unsigned int | ColorCycleSpeed = CYCLES_PER_SECOND |
void | InitVideoSdl () |
void | SdlLockScreen () |
Init SDL video hardware driver. More... | |
void | SdlUnlockScreen () |
Do SDL hardware lock. More... | |
void | SetClipping (int left, int top, int right, int bottom) |
void | PushClipping () |
Push current clipping. More... | |
void | PopClipping () |
Pop current clipping. More... | |
unsigned long | GetTicks () |
Returns the ticks in ms since start. More... | |
void | InitImageLoaders () |
initialize the image loaders part More... | |
void | DeInitImageLoaders () |
deinitialize the image loaders More... | |
void | InitVideo () |
initialize the video part More... | |
void | DeInitVideo () |
deinitliaize the video part More... | |
static int | CclSetVideoSyncSpeed (lua_State *l) |
void | VideoCclRegister () |
register lua function More... | |
void | BlitSurfaceAlphaBlending_32bpp (const SDL_Surface *srcSurface, const SDL_Rect *srcRect, SDL_Surface *dstSurface, const SDL_Rect *dstRect, const bool enableMT) |
Blit a surface into another with alpha blending. More... | |
void | VideoPaletteListAdd (SDL_Surface *surface) |
void | VideoPaletteListRemove (SDL_Surface *surface) |
void | ClearAllColorCyclingRange () |
void | AddColorCyclingRange (unsigned int begin, unsigned int end) |
unsigned int | SetColorCycleSpeed (unsigned int speed) |
void | SetColorCycleAll (bool value) |
void | ColorCycleSurface (SDL_Surface &surface) |
static void | ColorCycleSurface_Reverse (SDL_Surface &surface, unsigned int count) |
void | ColorCycle () |
Does ColorCycling.. More... | |
void | RestoreColorCyclingSurface () |
void AddColorCyclingRange | ( | unsigned int | begin, |
unsigned int | end | ||
) |
void BlitSurfaceAlphaBlending_32bpp | ( | const SDL_Surface * | srcSurface, |
const SDL_Rect * | srcRect, | ||
SDL_Surface * | dstSurface, | ||
const SDL_Rect * | dstRect, | ||
const bool | enableMT | ||
) |
Blit a surface into another with alpha blending.
This implementation of blittind doesn't scale
Crop rectangles if necessary
Alpha blending of the src texture into the dst
TODO: change numOfThreads for small rectangles to prevent False Sharing
pragma omp parallel
|
static |
Set the video sync speed
l | Lua state. |
void ClearAllColorCyclingRange | ( | ) |
void ColorCycle | ( | ) |
Does ColorCycling..
Color cycle.
MACRO defines speed of colorcycling FIXME: should be made configurable
|
static |
Undo Color Cycle for particular surface
void DeInitImageLoaders | ( | ) |
deinitialize the image loaders
void DeInitVideo | ( | ) |
deinitliaize the video part
unsigned long GetTicks | ( | ) |
Returns the ticks in ms since start.
Return ticks in ms since start.
void InitImageLoaders | ( | ) |
initialize the image loaders part
void InitVideo | ( | ) |
initialize the video part
Video initialize.
void InitVideoSdl | ( | ) |
Initialize the video part for SDL.
void PopClipping | ( | ) |
Pop current clipping.
Pop current clipping.
void PushClipping | ( | ) |
Push current clipping.
Push current clipping.
void RestoreColorCyclingSurface | ( | ) |
void SdlLockScreen | ( | ) |
Init SDL video hardware driver.
Lock the screen for write access.
void SdlUnlockScreen | ( | ) |
Do SDL hardware lock.
Unlock the screen for write access.
void SetClipping | ( | int | left, |
int | top, | ||
int | right, | ||
int | bottom | ||
) |
Set clipping for graphic routines.
left | Left X screen coordinate. |
top | Top Y screen coordinate. |
right | Right X screen coordinate. |
bottom | Bottom Y screen coordinate. |
void SetColorCycleAll | ( | bool | value | ) |
unsigned int SetColorCycleSpeed | ( | unsigned int | speed | ) |
Set the Color Cycle speed.
void VideoCclRegister | ( | ) |
register lua function
void VideoPaletteListAdd | ( | SDL_Surface * | surface | ) |
Add a surface to the palette list, used for color cycling
surface | The SDL surface to add to the list to cycle. |
void VideoPaletteListRemove | ( | SDL_Surface * | surface | ) |
Remove a surface to the palette list, used for color cycling
surface | The SDL surface to add to the list to cycle. |
|
static |
current clipping bottom right
int ClipX1 |
Profile, frames out of sync.
int ClipX2 |
current clipping top left
int ClipY1 |
current clipping top left
int ClipY2 |
current clipping bottom right
Uint32 ColorBlack |
Skip this frames.
Editor callbacks.
Uint32 ColorBlue |
|
static |
Uint32 ColorDarkGray |
Uint32 ColorDarkGreen |
Uint32 ColorGray |
Uint32 ColorGreen |
Uint32 ColorLightBlue |
Uint32 ColorLightGray |
Uint32 ColorOrange |
Uint32 ColorRed |
Uint32 ColorWhite |
Uint32 ColorYellow |
unsigned long FrameCounter |
Ticks of begin of the next frame.
Counts frames.
double NextFrameTicks |
fullscreen set from commandline
Next frame ticks.
int SkipFrames |
0 disable interrupts
unsigned long SlowFrameCounter |
Current frame number.
Counts quantity of slow frames.
CVideo Video |
Do SDL hardware unlock.
char VideoForceFullScreen |
Fullscreen or windowed set from commandline.
int VideoSyncSpeed = 100 |
Video synchronization speed. Synchronization time in percent. If =0, video framerate is not synchronized. 100 is exact CYCLES_PER_SECOND (30). Game will try to redraw screen within intervals of VideoSyncSpeed, not more, not less.