Logo Search packages:      
Sourcecode: warzone2100 version File versions

design.c File Reference


Detailed Description

Functions for design screen.

Definition in file design.c.

#include <string.h>
#include "lib/framework/frame.h"
#include "lib/framework/strres.h"
#include "lib/widget/widget.h"
#include "objects.h"
#include "loop.h"
#include "map.h"
#include "lib/ivis_common/ivisdef.h"
#include "lib/ivis_common/rendmode.h"
#include "lib/ivis_opengl/piematrix.h"
#include "lib/ivis_common/piestate.h"
#include "display3d.h"
#include "edit3d.h"
#include "structure.h"
#include "research.h"
#include "function.h"
#include "lib/gamelib/gtime.h"
#include "hci.h"
#include "stats.h"
#include "game.h"
#include "power.h"
#include "lib/sound/audio.h"
#include "lib/widget/widgint.h"
#include "lib/widget/bar.h"
#include "lib/widget/form.h"
#include "lib/widget/label.h"
#include "lib/widget/button.h"
#include "lib/widget/editbox.h"
#include "lib/widget/slider.h"
#include "order.h"
#include "projectile.h"
#include "intimage.h"
#include "intdisplay.h"
#include "design.h"
#include "component.h"
#include "lib/script/script.h"
#include "scripttabs.h"
#include "main.h"
#include "display.h"
#include "console.h"
#include "cmddroid.h"
#include "scriptextern.h"
#include "mission.h"
#include "multiplay.h"
#include "multistat.h"

Go to the source code of this file.

Defines

#define DBAR_TEMPLATEMAXPOINTS   8400
#define DBAR_TEMPLATEMAXPOWER   1000
#define DES_3DVIEWHEIGHT   192
#define DES_3DVIEWWIDTH   236
#define DES_3DVIEWX   8
#define DES_3DVIEWY   25
#define DES_BARFORMHEIGHT   85
#define DES_BARFORMWIDTH   300
#define DES_BARFORMX   6
#define DES_BARFORMY   6
#define DES_BUTSPERFORM   8
#define DES_CENTERFORMHEIGHT   262
#define DES_CENTERFORMWIDTH   315
#define DES_CENTERFORMX   POW_X
#define DES_CENTERFORMY   DESIGN_Y
#define DES_CLICKBARHEIGHT   11
#define DES_CLICKBARMAJORBLUE   19
#define DES_CLICKBARMAJORGREEN   235
#define DES_CLICKBARMAJORRED   255
#define DES_CLICKBARMINORBLUE   0
#define DES_CLICKBARMINORGREEN   0
#define DES_CLICKBARMINORRED   0x55
#define DES_CLICKBARNAMEHEIGHT   19
#define DES_CLICKBARNAMEWIDTH   20
#define DES_CLICKBARNAMEX   126
#define DES_CLICKBARWIDTH   140
#define DES_CLICKBARX   154
#define DES_CLICKBARY   7
#define DES_CLICKGAP   9
#define DES_CLICKLABELHEIGHT   14
#define DES_COMPBUTHEIGHT   85
#define DES_COMPBUTMAXCHAR   5
#define DES_COMPBUTWIDTH   150
#define DES_ICONHEIGHT   53
#define DES_ICONWIDTH   76
#define DES_ICONX   5
#define DES_ICONY   22
#define DES_LEFTFORMBUTX   2
#define DES_LEFTFORMBUTY   2
#define DES_LEFTFORMHEIGHT   258
#define DES_LEFTFORMWIDTH   RET_FORMWIDTH
#define DES_LEFTFORMX   RET_X
#define DES_LEFTFORMY   DESIGN_Y
#define DES_MAINBUTHEIGHT   24
#define DES_MAINBUTWIDTH   36
#define DES_MAJORSIZE   40
#define DES_MINORSIZE   11
#define DES_NAMEBOXHEIGHT   14
#define DES_NAMEBOXWIDTH   DES_CENTERFORMWIDTH - 2*DES_NAMEBOXX
#define DES_NAMEBOXX   DES_3DVIEWX
#define DES_NAMEBOXY   6
#define DES_NAMELABELWIDTH   100
#define DES_NAMELABELX   10
#define DES_PARTFORMHEIGHT   DES_3DVIEWHEIGHT
#define DES_PARTFORMX   DES_3DVIEWX + DES_3DVIEWWIDTH + 2
#define DES_PARTFORMY   DES_3DVIEWY
#define DES_PARTSEPARATIONX   6
#define DES_PARTSEPARATIONY   6
#define DES_POWERFORMHEIGHT   40
#define DES_POWERFORMWIDTH   (DES_CENTERFORMWIDTH - 2*DES_POWERFORMX)
#define DES_POWERFORMX   DES_3DVIEWX
#define DES_POWERFORMY   (DES_3DVIEWY + DES_3DVIEWHEIGHT + 2)
#define DES_POWERSEPARATIONX   4
#define DES_POWERSEPARATIONY   2
#define DES_POWERX   1
#define DES_POWERY   6
#define DES_RIGHTFORMBUTX   2
#define DES_RIGHTFORMBUTY   2
#define DES_RIGHTFORMHEIGHT   DES_LEFTFORMHEIGHT
#define DES_RIGHTFORMWIDTH   (RET_FORMWIDTH + 20)
#define DES_RIGHTFORMX   RADTLX
#define DES_RIGHTFORMY   DESIGN_Y
#define DES_STATBAR_Y1   (DES_CLICKBARY)
#define DES_STATBAR_Y2   (DES_CLICKBARY+DES_CLICKBARHEIGHT + DES_CLICKGAP)
#define DES_STATBAR_Y3   (DES_CLICKBARY+(DES_CLICKBARHEIGHT + DES_CLICKGAP)*2)
#define DES_STATBAR_Y4   (DES_CLICKBARY+(DES_CLICKBARHEIGHT + DES_CLICKGAP)*3)
#define DES_STATSFORMHEIGHT   100
#define DES_STATSFORMWIDTH   DES_CENTERFORMWIDTH
#define DES_STATSFORMX   POW_X
#define DES_STATSFORMY   (DES_CENTERFORMY + DES_CENTERFORMHEIGHT + 3)
#define DES_SYSTEMBUTTON_X   68
#define DES_SYSTEMBUTTON_Y   10
#define DES_TAB_HEIGHT   OBJ_TABHEIGHT
#define DES_TAB_LEFTOFFSET   OBJ_TABOFFSET
#define DES_TAB_RIGHTOFFSET   OBJ_TABOFFSET
#define DES_TAB_SYSGAP   4
#define DES_TAB_SYSHEIGHT   19
#define DES_TAB_SYSHORZOFFSET   OBJ_TABOFFSET
#define DES_TAB_SYSOFFSET   0
#define DES_TAB_SYSWIDTH   12
#define DES_TAB_WIDTH   OBJ_TABWIDTH
#define DES_TABBUTGAP   2
#define DES_TABBUTHEIGHT   46
#define DES_TABBUTWIDTH   60
#define DES_TABTHICKNESS   0
#define DES_TITLEHEIGHT   20
#define DES_TITLEY   10
#define DES_WEAPONBUTTON_X   26
#define DESIGN_Y   (59 + D_H)
#define FLASH_BUTTONS
#define IDES_EXTRATAB   1
#define IDES_EXTRATAB2   2
#define IDES_MAINTAB   0
#define MAX_DESIGN_COMPONENTS   40
#define MAX_SYSTEM_COMPONENTS   32
#define MAX_TABS   4
#define SHOWTEMPLATENAME   0
#define STRING_BUFFER_SIZE   (32 * MAX_STR_LENGTH)
#define TAB_USEMAJOR   0
#define TAB_USEMINOR   1

Typedefs

typedef enum _des_compmode DES_COMPMODE
typedef enum _des_propmode DES_PROPMODE
typedef enum _des_sysmode DES_SYSMODE

Enumerations

enum  _des_compmode {
  IDES_SYSTEM, IDES_TURRET, IDES_BODY, IDES_PROPULSION,
  IDES_NOCOMPONENT, IDES_TURRET_A, IDES_TURRET_B
}
enum  _des_propmode { IDES_GROUND, IDES_AIR, IDES_NOPROPULSION }
enum  _des_sysmode {
  IDES_SENSOR, IDES_ECM, IDES_CONSTRUCT, IDES_REPAIR,
  IDES_WEAPON, IDES_COMMAND, IDES_NOSYSTEM
}

Functions

static BOOL _intAddDesign (BOOL bShowCentreScreen)
static BOOL _intAddTemplateForm (DROID_TEMPLATE *psSelected)
static BOOL _intSetSystemForm (COMP_BASE_STATS *psStats)
static BOOL checkTemplateIsVtol (DROID_TEMPLATE *psTemplate)
static void desCreateDefaultTemplate (void)
void desSetupDesignTemplates (void)
static BOOL desTemplateNameCustomised (DROID_TEMPLATE *psTemplate)
static const char * GetDefaultTemplateName (DROID_TEMPLATE *psTemplate)
static UDWORD getSystemType (DROID_TEMPLATE *droidTemplate)
static BOOL intAddComponentButtons (COMP_BASE_STATS *psStats, UDWORD size, UBYTE *aAvailable, UDWORD numEntries, UDWORD compID, UDWORD WhichTab)
static BOOL intAddComponentForm (UDWORD numButtons)
BOOL intAddDesign (BOOL bShowCentreScreen)
static BOOL intAddExtraSystemButtons (UDWORD sensorIndex, UDWORD ecmIndex, UDWORD constIndex, UDWORD repairIndex, UDWORD brainIndex)
static BOOL intAddSystemButtons (SDWORD mode)
BOOL intAddTemplateButtons (UDWORD formID, UDWORD formWidth, UDWORD formHeight, UDWORD butWidth, UDWORD butHeight, UDWORD gap, DROID_TEMPLATE *psSelected)
static BOOL intAddTemplateForm (DROID_TEMPLATE *psSelected)
static UDWORD intCalcSpeed (TYPE_OF_TERRAIN type, PROPULSION_STATS *psProp)
static BOOL intCheckValidWeaponForProp (void)
static COMP_BASE_STATS * intChooseSystemStats (DROID_TEMPLATE *psTemplate)
static void intDisplayComponentButton (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours)
void intDisplayDesignForm (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL_UNUSED PIELIGHT *pColours)
void intDisplayDesignForm (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours)
void intDisplayPlainForm (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours)
static void intDisplayStatForm (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL_UNUSED PIELIGHT *pColours)
static void intDisplayStatForm (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours)
void intDisplayTemplateButton (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours)
static void intDisplayViewForm (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL_UNUSED PIELIGHT *pColours)
static void intDisplayViewForm (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours)
static UDWORD intNumAvailable (UBYTE *aAvailable, UDWORD numEntries, COMP_BASE_STATS *asStats, UDWORD size)
void intProcessDesign (UDWORD id)
void intRemoveDesign (void)
void intRunDesign (void)
static void intSetBodyPoints (DROID_TEMPLATE *psTemplate)
static void intSetBodyShadowStats (BODY_STATS *psStats)
static void intSetBodyStats (BODY_STATS *psStats)
static void intSetButtonFlash (UDWORD id, BOOL bFlash)
static void intSetConstructShadowStats (CONSTRUCT_STATS *psStats)
static void intSetConstructStats (CONSTRUCT_STATS *psStats)
static void intSetDesignMode (DES_COMPMODE newCompMode)
static void intSetDesignPower (DROID_TEMPLATE *psTemplate)
static void intSetDesignStats (DROID_TEMPLATE *psTemplate)
static void intSetECMShadowStats (ECM_STATS *psStats)
static void intSetECMStats (ECM_STATS *psStats)
static void intSetEditBoxTextFromTemplate (DROID_TEMPLATE *psTemplate)
static BOOL intSetPropulsionForm (PROPULSION_STATS *psStats)
static void intSetPropulsionShadowStats (PROPULSION_STATS *psStats)
static void intSetPropulsionStats (PROPULSION_STATS *psStats)
static void intSetRepairShadowStats (REPAIR_STATS *psStats)
static void intSetRepairStats (REPAIR_STATS *psStats)
static void intSetSensorShadowStats (SENSOR_STATS *psStats)
static void intSetSensorStats (SENSOR_STATS *psStats)
static BOOL intSetSystemForm (COMP_BASE_STATS *psStats)
static void intSetSystemShadowStats (COMP_BASE_STATS *psStats)
static void intSetSystemStats (COMP_BASE_STATS *psStats)
static void intSetTemplateBodyShadowStats (COMP_BASE_STATS *psStats)
static void intSetTemplatePowerShadowStats (COMP_BASE_STATS *psStats)
static void intSetWeaponShadowStats (WEAPON_STATS *psStats)
static void intSetWeaponStats (WEAPON_STATS *psStats)
static BOOL intValidTemplate (DROID_TEMPLATE *psTempl)
void resetDesignPauseState (void)
void reverseTemplateList (DROID_TEMPLATE **ppsList)
static void runTemplateShadowStats (UDWORD id)
static BOOL saveTemplate (void)
void setDesignPauseState (void)

Variables

static char aCurrName [WIDG_MAXSTR]
COMP_BASE_STATS ** apsComponentList
COMP_BASE_STATS ** apsExtraSysList
BOOL bRender3DOnly
static UDWORD desCompID
DES_COMPMODE desCompMode
DES_PROPMODE desPropMode
DES_SYSMODE desSysMode
static UDWORD droidTemplID
UDWORD maxComponent
UDWORD maxExtraSys
static BOOL newTemplate = false
UDWORD numComponent
UDWORD numExtraSys
UDWORD objID
W_SCREEN * psWScreen
DROID_TEMPLATE sCurrDesign
DROID_TEMPLATE sDefaultDesignTemplate
char StringBuffer [STRING_BUFFER_SIZE]


Generated by  Doxygen 1.6.0   Back to index