You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

102 lines
3.4 KiB

#pragma once
#include "../../types.h"
extern TTF_Font *font;
extern unsigned char *pFont16;
extern int gdwFont16Width;
extern int gdwFont16Height;
extern void *pPcxFont16sImage;
extern void *pPcxFont16gImage;
extern unsigned char *pFont24;
extern int gdwFont24Width;
extern int gdwFont24Height;
extern void *pPcxFont24sImage;
extern void *pPcxFont24gImage;
extern unsigned char *pFont30;
extern int gdwFont30Width;
extern int gdwFont30Height;
extern void *pPcxFont30sImage;
extern void *pPcxFont30gImage;
extern unsigned char *pFont42;
extern int gdwFont42Width;
extern int gdwFont42Height;
extern void *pPcxFont42gImage;
extern void *pPcxLogoImage;
extern int gdwLogoWidth;
extern int gdwLogoHeight;
extern void *pPcxLogoSmImage;
extern int gdwLogoSmWidth;
extern int gdwLogoSmHeight;
extern void *pPcxTitleImage;
extern int gdwCursorHeight;
extern int gdwCursorWidth;
extern void *pPcxCursorImage;
extern int gdwHeroHeight;
extern int gdwHeroWidth;
extern void *pPcxHeroImage;
extern int gdwSHeroHeight;
extern int gdwSHeroWidth;
extern void *pPcxSHeroImage;
extern void *pMedTextCels;
extern int SelectedItem;
extern int SelectedItemMax;
extern int SCREEN_WIDTH;
extern int SCREEN_HEIGHT;
extern int TotalPlayers;
extern void *MenuPentegram16;
extern void *MenuPentegram;
extern void *MenuPentegram42;
extern char HeroUndecidedName[17];
extern int MenuItem[10];
extern int PreviousItem[10];
extern int submenu;
typedef enum TXT_JUST {
JustLeft = 0,
JustCentre = 1,
JustRight = 2,
} TXT_JUST;
DWORD FormatMessage(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, char *lpBuffer, DWORD nSize, va_list *Arguments);
int MAKEINTRESOURCE(int i);
int DialogBoxParam(HINSTANCE hInstance, int msgId, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
BOOL SetDlgItemText(HWND hDlg, int nIDDlgItem, LPCSTR lpString);
BOOL EndDialog(HWND hDlg, INT_PTR nResult);
BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags);
bool IsInsideRect(const SDL_Event *event, const SDL_Rect *rect);
bool LoadArtImage(char *pszFile, void **pBuffer, int frames, DWORD *data = NULL, PALETTEENTRY *pPalette = NULL);
bool UiFadeIn(int steps = 16);
int GetAnimationFrame(int frames, int fps = 60);
int GetCenterOffset(int w, int bw = 0);
void CapFPS();
void DrawArtImage(int SX, int SY, int SW, int SH, int nFrame, void *pBuffer, BYTE *bMask = NULL, int RW = 0);
void DrawMouse();
void DrawSelector16(int x, int y, int width, int padding, int spacing);
void DrawSelector(int x, int y, int width, int padding, int spacing);
void DrawSelector42(int x, int y, int width, int padding, int spacing);
void FreeMenuItems();
void LoadHeroStats();
void LoadTitelArt(char *pszFile);
void PrintText16Gold(int x, int y, char *text, TXT_JUST align = JustLeft, int bw = 0);
void PrintText16Silver(int x, int y, char *text, TXT_JUST align = JustLeft, int bw = 0);
void PrintText24Gold(int x, int y, char *text, TXT_JUST align = JustLeft, int bw = 0);
void PrintText24Silver(int x, int y, char *text, TXT_JUST align = JustLeft, int bw = 0);
void PrintText30Gold(int x, int y, char *text, TXT_JUST align = JustLeft, int bw = 0);
void PrintText30Silver(int x, int y, char *text, TXT_JUST align = JustLeft, int bw = 0);
void PrintText42Gold(int x, int y, char *text, TXT_JUST align = JustLeft, int bw = 0);
void RenderDiabloLogo();
void RenderDiabloLogoSm();
void SdlDiabloMainWindow();
void SetMenu(int MenuId);