Redline/source/interfaceutil.h

129 lines
3.9 KiB
C
Raw Permalink Normal View History

#ifndef __INTERFACEUTIL
#define __INTERFACEUTIL
#include "vectors.h"
#include "fileio.h"
enum{
kInterfaceMenuItemDisabled=1<<0,
kInterfaceMenuItemArrowInput=1<<1,
kInterfaceMenuItemTypeable=1<<2,
kInterfaceMenuItemTypeHidden=1<<3,
kInterfaceMenuItemSlider=1<<4,
kInterfaceMenuItemFixedPos=1<<5
};
enum{
kInterfaceMenuEsc=1<<31,
kInterfaceMenuLeftArrow=1<<30,
kInterfaceMenuRightArrow=1<<29,
kInterfaceMenuOK=1<<28,
kInterfaceMenuEasterEgg=1<<27,
kInterfaceMenuReplayKey=1<<26,
kInterfaceMenuSpaceFlag=1<<25,
};
#define kInterfaceBackgroundTexture "background.tif"
#define kInterfaceMenuSlideBarTexture "bar.tif"
#define kInterfaceMenuSlideBarHeight 0.01
#define kInterfaceMenuSlideBarStart 0.35
#define kInterfaceMenuSlideBarWidth 0.45
#define kInterfaceMenuSliderTexture "slider.tif"
#define kInterfaceMenuSliderSize 0.02
#define kInterfaceKeyImageSize 0.06
#define kBackgroundXStretch 0.622
#define kBackgroundYStretch 0.43
#define kInterfaceStatusTexture kInterfaceMenuSlideBarTexture
#define kInterfaceMenuItemMask (~(kInterfaceMenuLeftArrow|kInterfaceMenuRightArrow|kInterfaceMenuEasterEgg|kInterfaceMenuReplayKey|kInterfaceMenuSpaceFlag))
typedef struct{
char label[256];
char describtion[512];
char type[256];
int flags;
int maxTypeLength;
float maxTypeXPos;
float sliderPos;
float sliderTransparency;
float sel;
float size;
float scroll;
float lineSpacing;
float r,g,b;
float fixedX,fixedY;
} tInterfaceMenuItemDescribtion;
enum{
kMenuTypeableOff,
kMenuTypeableOn,
kMenuTypeableReggie
};
typedef struct{
char title[256];
char type[256];
int initialSelection;
int numItems;
int scrollEnable;
int menuTypeable;
tFileRef image,background;
int enterAlwaysOK;
int returnOnSpace;
int easterEggEnable;
int easterEggString;
int joinDisable;
float cursorPos,cursorShowPos;
float easterEggScrollPos;
float imageXScale,imageYScale;
float imageXPos,imageYPos;
float imageAlpha;
float itemsXPos,itemsYPos;
float minScroll;
tVector2 mousePos;
tVector2 descPos;
tInterfaceMenuItemDescribtion *items;
void *userData;
void (*RenderCallback)(void*,int,void*);
int (*TimerCallback)(void*);
} tInterfaceMenuDescribtion;
#define kTitlePosX -0.93
#define kTitlePosY 0.98
#define kInterfaceMenuPointerTexture "menupointer.tif"
#define kInterfaceMenuPointerSize 0.02
extern int gJoinFlag;
extern char gJoinHost[];
extern char gLastMenuChar;
extern int gInterfaceType;
extern float gStartIdleTime;
int InterfaceGetUserInputString(char *prompt,char *stringBuffer,int bufferSize,int fullCharSet,int hideType);
int InterfaceGetUserMenuSelection(tInterfaceMenuDescribtion *menu);
void InterfaceDrawStrings(char *stringBuffer,char *secondaryStringBuffer,tFileRef background);
void InterfaceDisplayMessage(tFileRef background,char *stringBuffer,char *secondaryStringBuffer);
void CashString(int cash, char *str);
void MakeNumString(int i,char *str);
void TextScrollFile(tFileRef text);
void InterfaceTextBufferZoomAnimation(tFileRef background,int in);
void InterfaceMenuZoomAnimation(tInterfaceMenuDescribtion *menu,int selection,int in);
void InterfaceInitMenu(tInterfaceMenuDescribtion *menu,int numItems,char *title);
void InterfaceDisposeMenu(tInterfaceMenuDescribtion *menu);
void InterfaceDrawBackground(tFileRef background,tFileRef image,float imageXScale,float imageYScale,float imageXPos,float imageYPos,float alpha);
int InterfaceGetUserConfirmation(char *title,char *text);
void InterfaceFadeInImageFromBlack(float xSize,float ySize,tFileRef image,float maxTime);
void InterfaceFadeInInterfaceFromImage(tFileRef image,float maxTime);
void InterfaceFadeInImageFromImage(float xSize,float ySize,tFileRef image,float xSize2,float ySize2,tFileRef image2,float maxTime);
void InterfaceDrawBackgroundFade(float opacity,int showtop);
void InterfaceDrawStatusBar(char *stringBuffer,char *secondaryStringBuffer,float status);
void InterfaceRenderReplay(void *userData,int selection,void *menu);
#endif