mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@21 3b4a5df2-a311-0410-b5c6-a8a6f20db521
187 lines
4.7 KiB
C
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
|
|
{
|
|
UINT16 * 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
|
|
|
|
|
|
|
|
|
|
|
|
|