76 lines
2.5 KiB
XML
Executable File
76 lines
2.5 KiB
XML
Executable File
////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// SCRIPT NAME : Darts_Board.sch //
|
|
// AUTHOR : Lino Manansala //
|
|
// DESCRIPTION : Board Defs //
|
|
// //
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
USING "globals.sch"
|
|
USING "commands_misc.sch"
|
|
USING "commands_object.sch"
|
|
USING "commands_entity.sch"
|
|
USING "commands_streaming.sch"
|
|
USING "Darts_Args.sch"
|
|
|
|
//MODEL_NAMES modelDartBoard = PROP_DART_BD_01
|
|
MODEL_NAMES modelDartBoard = PROP_DART_BD_CAB_01
|
|
|
|
//Darts Board
|
|
STRUCT DARTS_BOARD
|
|
OBJECT_INDEX oiDartBoard
|
|
VECTOR vDartBoard
|
|
FLOAT fBoardHeading
|
|
ENDSTRUCT
|
|
|
|
//VECTOR vLostHideoutDartBoard = << 989.097, -100.356, 75.579 >>
|
|
//FLOAT fLostHideoutDartBoardHeading = 222.400
|
|
|
|
INT iScoreForSection[21]
|
|
|
|
//offset of the reticule from the object, to get as close to the board as possible
|
|
FLOAT fDartBoardOriginOffset = 0.063 //0.08 //0.18
|
|
|
|
//offset of the center of the object to the center of the board
|
|
VECTOR exactCentreOfBoardXZOffset = << -0.0035, 0.0, -0.001 >>
|
|
|
|
PROC INIT_BOARD(DARTS_BOARD & DartsBoard, DARTS_ARGS & DartsArgs)
|
|
|
|
DartsBoard.vDartBoard = DartsArgs.vDartBoard
|
|
DartsBoard.fBoardHeading = DartsArgs.fBoardHeading
|
|
|
|
IF DOES_ENTITY_EXIST(DartsArgs.oiDartBoard)
|
|
DartsBoard.oiDartBoard = DartsArgs.oiDartBoard
|
|
ENDIF
|
|
|
|
// The scores on the dartboard, running clockwise from the 20
|
|
iScoreForSection[0] = 20 iScoreForSection[10] = 3
|
|
iScoreForSection[1] = 1 iScoreForSection[11] = 19
|
|
iScoreForSection[2] = 18 iScoreForSection[12] = 7
|
|
iScoreForSection[3] = 4 iScoreForSection[13] = 16
|
|
iScoreForSection[4] = 13 iScoreForSection[14] = 8
|
|
iScoreForSection[5] = 6 iScoreForSection[15] = 11
|
|
iScoreForSection[6] = 10 iScoreForSection[16] = 14
|
|
iScoreForSection[7] = 15 iScoreForSection[17] = 9
|
|
iScoreForSection[8] = 2 iScoreForSection[18] = 12
|
|
iScoreForSection[9] = 17 iScoreForSection[19] = 5
|
|
iScoreForSection[20] = 20
|
|
ENDPROC
|
|
|
|
FUNC VECTOR GET_DB_VECTOR(DARTS_BOARD& DB)
|
|
RETURN DB.vDartBoard
|
|
ENDFUNC
|
|
|
|
PROC SET_DB_VECTOR(DARTS_BOARD& DB, VECTOR vDartBoard)
|
|
DB.vDartBoard = vDartboard
|
|
ENDPROC
|
|
|
|
FUNC FLOAT GET_DB_HEADING(DARTS_BOARD& DB)
|
|
RETURN DB.fBoardHeading
|
|
ENDFUNC
|
|
|
|
PROC SET_DB_HEADING(DARTS_BOARD& DB, FLOAT fHeading)
|
|
DB.fBoardHeading = fHeading
|
|
ENDPROC
|
|
|