UFO: Alien Invasion
Loading...
Searching...
No Matches
ui_internal.h
Go to the documentation of this file.
1
6
7/*
8Copyright (C) 2002-2025 UFO: Alien Invasion.
9
10This program is free software; you can redistribute it and/or
11modify it under the terms of the GNU General Public License
12as published by the Free Software Foundation; either version 2
13of the License, or (at your option) any later version.
14
15This program is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
19See the GNU General Public License for more details.
20
21You should have received a copy of the GNU General Public License
22along with this program; if not, write to the Free Software
23Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25*/
26
27#pragma once
28
29#define UI_MAX_WINDOWS 128
30#define UI_MAX_COMPONENTS 128
31#define UI_MAX_WINDOWSTACK 32
32#define UI_MAX_ACTIONS 2*8192
33#define UI_MAX_VARIABLESTACK 64
34
35#include "node/ui_node_window.h"
36#include "node/ui_node_model.h"
37#include "ui_main.h"
38#include "ui_actions.h"
39#include "ui_behaviour.h"
40#include "ui_nodes.h"
41#include "ui_sprite.h"
42#include "ui_input.h"
43#include "ui_expression.h"
44#include "ui_data.h"
45
93
95
96extern memPool_t* ui_sysPool;
98extern memPool_t* ui_dynPool;
99
104#define STRUCT_MEMORY_ALIGN 8
105
106void* UI_AllocHunkMemory(size_t size, int align, bool reset);
107
108void UI_FinishInit(void);
109void UI_FinishWindowsInit(void);
voidpf void uLong size
Definition ioapi.h:42
Atomic element to store UI scripts The parser use this atom to translate script action into many tree...
Definition ui_actions.h:144
Global data shared into all UI code.
Definition ui_internal.h:49
uiModel_t models[UI_MAX_MODELS]
Definition ui_internal.h:83
uiNode_t * components[UI_MAX_COMPONENTS]
Definition ui_internal.h:71
uiSprite_t sprites[UI_MAX_SPRITES]
Definition ui_internal.h:86
uiSharedData_t sharedData[UI_MAX_DATAID]
Holds shared data.
Definition ui_internal.h:59
byte * adata
Definition ui_internal.h:74
uiKeyBinding_t keyBindings[UI_MAX_KEYBINDING]
Definition ui_internal.h:89
uiAction_t actions[UI_MAX_ACTIONS]
Definition ui_internal.h:80
byte * curadata
Definition ui_internal.h:74
uiValue_t variableStack[UI_MAX_VARIABLESTACK]
Local var for script function.
Definition ui_internal.h:64
int numComponents
Definition ui_internal.h:72
int numKeyBindings
Definition ui_internal.h:90
uiNode_t * windowStack[UI_MAX_WINDOWSTACK]
Definition ui_internal.h:77
uiNode_t * windows[UI_MAX_WINDOWS]
Definition ui_internal.h:68
int windowStackPos
Definition ui_internal.h:78
Model that have more than one part (top and down part of an aircraft).
Atomic structure used to define most of the UI.
Definition ui_nodes.h:80
Type for uiAction_t It also contain type about type (for example EA_BINARYOPERATOR).
Definition ui_actions.h:194
Data and interface to share data.
@ UI_MAX_DATAID
Definition ui_dataids.h:87
#define UI_MAX_KEYBINDING
Definition ui_input.h:30
void * UI_AllocHunkMemory(size_t size, int align, bool reset)
Definition ui_main.cpp:126
#define UI_MAX_VARIABLESTACK
Definition ui_internal.h:33
memPool_t * ui_sysPool
Definition ui_main.cpp:42
memPool_t * ui_dynPool
Definition ui_main.cpp:41
#define UI_MAX_COMPONENTS
Definition ui_internal.h:30
uiGlobal_t ui_global
Definition ui_main.cpp:38
#define UI_MAX_WINDOWSTACK
Definition ui_internal.h:31
#define UI_MAX_WINDOWS
Definition ui_internal.h:29
void UI_FinishWindowsInit(void)
Finish windows initialization.
void UI_FinishInit(void)
Finish initialization after everything was loaded.
Definition ui_main.cpp:268
#define UI_MAX_ACTIONS
Definition ui_internal.h:32
#define UI_MAX_MODELS
memPool_t * ui_dynStringPool
Definition ui_main.cpp:40
#define UI_MAX_SPRITES
Definition ui_sprite.h:27