UFO: Alien Invasion
Toggle main menu visibility
Loading...
Searching...
No Matches
ui_node_model.h
Go to the documentation of this file.
1
4
5
/*
6
Copyright (C) 2002-2025 UFO: Alien Invasion.
7
8
This program is free software; you can redistribute it and/or
9
modify it under the terms of the GNU General Public License
10
as published by the Free Software Foundation; either version 2
11
of the License, or (at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
17
See the GNU General Public License for more details.
18
19
You should have received a copy of the GNU General Public License
20
along with this program; if not, write to the Free Software
21
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
23
*/
24
25
#pragma once
26
27
#include "
../ui_nodes.h
"
28
#include "
ui_node_abstractnode.h
"
29
#include "
../../cl_renderer.h
"
30
31
class
uiModelNode
:
public
uiLocatedNode
{
32
void
draw
(
uiNode_t
* node)
override
;
33
void
onMouseDown
(
uiNode_t
* node,
int
x,
int
y,
int
button)
override
;
34
void
onMouseUp
(
uiNode_t
* node,
int
x,
int
y,
int
button)
override
;
35
void
onLoading
(
uiNode_t
* node)
override
;
36
void
onLoaded
(
uiNode_t
* node)
override
;
37
void
clone
(
uiNode_t
const
* source,
uiNode_t
*
clone
)
override
;
38
void
initNodeDynamic
(
uiNode_t
* node)
override
;
39
void
deleteNode
(
uiNode_t
* node)
override
;
40
void
onCapturedMouseMove
(
uiNode_t
* node,
int
x,
int
y)
override
;
41
void
doLayout
(
uiNode_t
* node)
override
;
42
};
43
44
#define UI_MAX_MODELS 128
45
47
typedef
struct
uiModel_s {
48
char
*
id
;
49
char
*
anim
;
50
char
*
parent
;
51
char
*
tag
;
52
int
skin
;
53
char
*
model
;
54
animState_t
animState
;
55
vec3_t
origin
,
scale
,
angles
,
center
;
56
vec4_t
color
;
57
struct
uiModel_s*
next
;
58
}
uiModel_t
;
59
63
typedef
struct
modelExtraData_s {
64
char
*
oldRefValue
;
65
vec3_t
angles
;
66
vec3_t
origin
;
67
vec3_t
omega
;
68
vec3_t
scale
;
69
const
char
*
skin
;
70
const
char
*
model
;
71
const
char
*
tag
;
72
animState_t
*
animationState
;
73
const
char
*
animation
;
74
bool
autoscale
;
75
bool
rotateWithMouse
;
76
bool
clipOverflow
;
77
bool
containerLike
;
78
}
modelExtraData_t
;
79
80
uiModel_t
*
UI_GetUIModel
(
const
char
* modelName);
81
void
UI_DrawModelNode
(
uiNode_t
* node,
const
char
* source);
82
void
UI_RegisterModelNode
(
uiBehaviour_t
* behaviour);
83
84
void
UI_Model_SetModelSource
(
uiNode_t
* node,
const
char
* modelName);
85
void
UI_Model_SetSkinSource
(
uiNode_t
* node,
const
char
* skinName);
86
void
UI_Model_SetAnimationSource
(
uiNode_t
* node,
const
char
* animName);
87
void
UI_Model_SetTagSource
(
uiNode_t
* node,
const
char
* tagName);
cl_renderer.h
uiLocatedNode
Definition
ui_node_abstractnode.h:68
uiModelNode
Definition
ui_node_model.h:31
uiModelNode::onLoading
void onLoading(uiNode_t *node) override
Called before loading. Used to set default attribute values.
Definition
ui_node_model.cpp:493
uiModelNode::deleteNode
void deleteNode(uiNode_t *node) override
Definition
ui_node_model.cpp:516
uiModelNode::initNodeDynamic
void initNodeDynamic(uiNode_t *node) override
Definition
ui_node_model.cpp:510
uiModelNode::onMouseDown
void onMouseDown(uiNode_t *node, int x, int y, int button) override
Definition
ui_node_model.cpp:470
uiModelNode::onLoaded
void onLoaded(uiNode_t *node) override
Definition
ui_node_model.cpp:523
uiModelNode::draw
void draw(uiNode_t *node) override
Definition
ui_node_model.cpp:119
uiModelNode::clone
void clone(uiNode_t const *source, uiNode_t *clone) override
Call to update a cloned node.
Definition
ui_node_model.cpp:503
uiModelNode::onCapturedMouseMove
void onCapturedMouseMove(uiNode_t *node, int x, int y) override
Definition
ui_node_model.cpp:450
uiModelNode::onMouseUp
void onMouseUp(uiNode_t *node, int x, int y, int button) override
Definition
ui_node_model.cpp:481
uiModelNode::doLayout
void doLayout(uiNode_t *node) override
Call to update the node layout. This common code revalidates the node tree.
Definition
ui_node_model.cpp:102
animState_t
Definition
r_entity.h:54
modelExtraData_t
extradata for the model node
Definition
ui_node_model.h:63
modelExtraData_t::containerLike
bool containerLike
Definition
ui_node_model.h:77
modelExtraData_t::animation
const char * animation
Definition
ui_node_model.h:73
modelExtraData_t::origin
vec3_t origin
Definition
ui_node_model.h:66
modelExtraData_t::angles
vec3_t angles
Definition
ui_node_model.h:65
modelExtraData_t::model
const char * model
Definition
ui_node_model.h:70
modelExtraData_t::scale
vec3_t scale
Definition
ui_node_model.h:68
modelExtraData_t::oldRefValue
char * oldRefValue
Definition
ui_node_model.h:64
modelExtraData_t::rotateWithMouse
bool rotateWithMouse
Definition
ui_node_model.h:75
modelExtraData_t::tag
const char * tag
Definition
ui_node_model.h:71
modelExtraData_t::skin
const char * skin
Definition
ui_node_model.h:69
modelExtraData_t::clipOverflow
bool clipOverflow
Definition
ui_node_model.h:76
modelExtraData_t::autoscale
bool autoscale
Definition
ui_node_model.h:74
modelExtraData_t::omega
vec3_t omega
Definition
ui_node_model.h:67
modelExtraData_t::animationState
animState_t * animationState
Definition
ui_node_model.h:72
uiBehaviour_t
node behaviour, how a node work
Definition
ui_behaviour.h:39
uiModel_t
Model that have more than one part (top and down part of an aircraft).
Definition
ui_node_model.h:47
uiModel_t::parent
char * parent
Definition
ui_node_model.h:50
uiModel_t::next
struct uiModel_s * next
Definition
ui_node_model.h:57
uiModel_t::center
vec3_t center
Definition
ui_node_model.h:55
uiModel_t::anim
char * anim
Definition
ui_node_model.h:49
uiModel_t::tag
char * tag
Definition
ui_node_model.h:51
uiModel_t::angles
vec3_t angles
Definition
ui_node_model.h:55
uiModel_t::animState
animState_t animState
Definition
ui_node_model.h:54
uiModel_t::scale
vec3_t scale
Definition
ui_node_model.h:55
uiModel_t::model
char * model
Definition
ui_node_model.h:53
uiModel_t::origin
vec3_t origin
Definition
ui_node_model.h:55
uiModel_t::skin
int skin
Definition
ui_node_model.h:52
uiModel_t::color
vec4_t color
Definition
ui_node_model.h:56
uiModel_t::id
char * id
Definition
ui_node_model.h:48
uiNode_t
Atomic structure used to define most of the UI.
Definition
ui_nodes.h:80
vec3_t
vec_t vec3_t[3]
Definition
ufotypes.h:39
vec4_t
vec_t vec4_t[4]
Definition
ufotypes.h:40
ui_node_abstractnode.h
UI_Model_SetTagSource
void UI_Model_SetTagSource(uiNode_t *node, const char *tagName)
Definition
ui_node_model.cpp:97
UI_Model_SetAnimationSource
void UI_Model_SetAnimationSource(uiNode_t *node, const char *animName)
Definition
ui_node_model.cpp:92
UI_GetUIModel
uiModel_t * UI_GetUIModel(const char *modelName)
Returns pointer to UI model.
Definition
ui_node_model.cpp:61
UI_DrawModelNode
void UI_DrawModelNode(uiNode_t *node, const char *source)
Definition
ui_node_model.cpp:285
UI_RegisterModelNode
void UI_RegisterModelNode(uiBehaviour_t *behaviour)
Definition
ui_node_model.cpp:528
UI_Model_SetModelSource
void UI_Model_SetModelSource(uiNode_t *node, const char *modelName)
Definition
ui_node_model.cpp:82
UI_Model_SetSkinSource
void UI_Model_SetSkinSource(uiNode_t *node, const char *skinName)
Definition
ui_node_model.cpp:87
ui_nodes.h
src
client
ui
node
ui_node_model.h
Generated on __DATE__ __TIME__ for UFO: Alien Invasion by
1.17.0