Files
source/Editor/selectwin.h
T
lalien 0530b53b9c bug fixes from Overhaul:
- Data type changes 
- Templates removed

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@871 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2007-05-09 13:16:37 +00:00

187 lines
4.7 KiB
C

#include "BuildDefines.h"
#ifdef JA2EDITOR
#ifndef _SELECTION_WIN_H_
#define _SELECTION_WIN_H_
#include "Types.h"
#include "vobject.h"
#include "mousesystem.h"
#include "Button System.h"
#define CANCEL_ICON 0
#define UP_ICON 1
#define DOWN_ICON 2
#define OK_ICON 3
extern INT32 iButtonIcons[4];
extern INT32 iSelectWin,iCancelWin,iScrollUp,iScrollDown;
extern BOOLEAN fAllDone;
extern void CreateJA2SelectionWindow( INT16 sWhat );
extern void InitJA2SelectionWindow( void );
extern void ShutdownJA2SelectionWindow( void );
extern void RemoveJA2SelectionWindow( void );
extern void RenderSelectionWindow( void );
extern void DrawSelections( void );
extern void SelWinClkCallback( GUI_BUTTON *button, INT32 reason );
extern void CnclClkCallback( GUI_BUTTON *button, INT32 reason );
extern void UpClkCallback( GUI_BUTTON *button, INT32 reason );
extern void DwnClkCallback( GUI_BUTTON *button, INT32 reason );
extern void OkClkCallback( GUI_BUTTON *button, INT32 reason );
extern void ScrollSelWinUp(void);
extern void ScrollSelWinDown(void);
// defines for DisplaySpec.ubType
#define DISPLAY_TEXT 1
#define DISPLAY_GRAPHIC 2
#define ONE_COLUMN 0x0001
#define ONE_ROW 0x0002
#define CLEAR_BACKGROUND 0x0004
#define DISPLAY_ALL_OBJECTS 0xffff
#define MAX_SELECTIONS 120
enum
{
SELWIN_SINGLEWALL,
SELWIN_SINGLEDOOR,
SELWIN_SINGLEWINDOW,
SELWIN_SINGLEROOF,
SELWIN_SINGLENEWROOF,
SELWIN_SINGLEBROKENWALL,
SELWIN_SINGLEDECOR,
SELWIN_SINGLEDECAL,
SELWIN_SINGLEFLOOR,
SELWIN_SINGLETOILET,
SELWIN_ROOM,
SELWIN_BANKS,
SELWIN_ROADS,
SELWIN_DEBRIS,
SELWIN_OSTRUCTS,
SELWIN_OSTRUCTS1,
SELWIN_OSTRUCTS2
};
typedef struct
{
UINT8 ubType;
union
{
struct
{
HVOBJECT hVObject;
UINT16 usStart;
UINT16 usEnd;
UINT32 uiObjIndx;
};
struct
{
STR16 pString;
};
};
}
DisplaySpec;
typedef struct _DisplayList
{
HVOBJECT hObj;
UINT16 uiIndex;
INT16 iX;
INT16 iY;
INT16 iWidth;
INT16 iHeight;
UINT32 uiObjIndx;
BOOLEAN fChosen;
struct _DisplayList *pNext;
} DisplayList;
typedef struct _Selections
{
UINT32 uiObject;
UINT16 usIndex;
INT16 sCount;
} Selections;
INT32 FindInSelectionList( DisplayList *pNode );
BOOLEAN IsInSelectionList( DisplayList *pNode );
INT32 GetRandomSelection( void );
BOOLEAN RemoveFromSelectionList( DisplayList *pNode );
void AddToSelectionList( DisplayList *pNode );
void RestoreSelectionList( void );
void SaveSelectionList( void );
BOOLEAN ClearSelectionList( void );
void DisplaySelectionWindowGraphicalInformation();
extern INT32 iCurBank;
extern Selections *pSelList;
extern INT32 *pNumSelList;
extern Selections SelOStructs[ MAX_SELECTIONS ];
extern Selections SelOStructs1[ MAX_SELECTIONS ];
extern Selections SelOStructs2[ MAX_SELECTIONS ];
extern Selections SelBanks[ MAX_SELECTIONS ];
extern Selections SelRoads[ MAX_SELECTIONS ];
extern Selections SelDebris[ MAX_SELECTIONS ];
extern Selections SelSingleWall[ MAX_SELECTIONS ];
extern Selections SelSingleDoor[ MAX_SELECTIONS ];
extern Selections SelSingleWindow[ MAX_SELECTIONS ];
extern Selections SelSingleRoof[ MAX_SELECTIONS ];
extern Selections SelSingleNewRoof[ MAX_SELECTIONS ];
extern Selections SelSingleBrokenWall[ MAX_SELECTIONS ];
extern Selections SelSingleDecor[ MAX_SELECTIONS ];
extern Selections SelSingleDecal[ MAX_SELECTIONS ];
extern Selections SelSingleFloor[ MAX_SELECTIONS ];
extern Selections SelSingleToilet[ MAX_SELECTIONS ];
extern Selections SelRoom[ MAX_SELECTIONS ];
extern INT32 iNumOStructsSelected;
extern INT32 iNumOStructs1Selected;
extern INT32 iNumOStructs2Selected;
extern INT32 iNumBanksSelected;
extern INT32 iNumRoadsSelected;
extern INT32 iNumDebrisSelected;
extern INT32 iNumWallsSelected;
extern INT32 iNumDoorsSelected;
extern INT32 iNumWindowsSelected;
extern INT32 iNumDecorSelected;
extern INT32 iNumDecalsSelected;
extern INT32 iNumBrokenWallsSelected;
extern INT32 iNumFloorsSelected;
extern INT32 iNumToiletsSelected;
extern INT32 iNumRoofsSelected;
extern INT32 iNumNewRoofsSelected;
extern INT32 iNumRoomsSelected;
extern INT32 iDrawMode;
extern DisplayList *TrashList( DisplayList *pNode );
extern BOOLEAN BuildDisplayWindow( DisplaySpec *pDisplaySpecs, UINT16 usNumSpecs, DisplayList **pDisplayList,
SGPPoint * pUpperLeft, SGPPoint * pBottomRight,
SGPPoint * pSpacing, UINT16 fFlags );
extern BOOLEAN DisplayWindowFunc( DisplayList *pNode, INT16 iTopCutOff, INT16 iBottomCutOff, SGPPoint *pUpperLeft, UINT16 fFlags);
#endif
#endif