OpenTTD Source  20241121-master-g67a0fccfad
bootstrap_gui.cpp File Reference

Barely used user interface for bootstrapping OpenTTD, i.e. More...

#include "stdafx.h"
#include "base_media_base.h"
#include "blitter/factory.hpp"
#include "error_func.h"
#include "core/geometry_func.hpp"
#include "error.h"
#include "fontcache.h"
#include "gfx_func.h"
#include "network/network.h"
#include "network/network_content_gui.h"
#include "openttd.h"
#include "strings_func.h"
#include "video/video_driver.hpp"
#include "window_func.h"
#include "widgets/bootstrap_widget.h"
#include "table/strings.h"
#include "safeguards.h"

Go to the source code of this file.

Data Structures

class  BootstrapBackground
 The background for the game. More...
 
class  BootstrapErrorWindow
 The window for a failed bootstrap. More...
 
struct  BootstrapContentDownloadStatusWindow
 Window for showing the download status of content. More...
 
class  BootstrapAskForDownloadWindow
 The window for the query. More...
 

Functions

bool HandleBootstrap ()
 Handle all procedures for bootstrapping OpenTTD without a base graphics set. More...
 

Variables

static constexpr NWidgetPart _background_widgets []
 Widgets for the background window to prevent smearing. More...
 
static WindowDesc _background_desc (WDP_MANUAL, nullptr, 0, 0, WC_BOOTSTRAP, WC_NONE, WDF_NO_CLOSE, _background_widgets)
 Window description for the background window to prevent smearing.
 
static constexpr NWidgetPart _nested_bootstrap_errmsg_widgets []
 Nested widgets for the error window. More...
 
static WindowDesc _bootstrap_errmsg_desc (WDP_CENTER, nullptr, 0, 0, WC_BOOTSTRAP, WC_NONE, WDF_MODAL|WDF_NO_CLOSE, _nested_bootstrap_errmsg_widgets)
 Window description for the error window.
 
static constexpr NWidgetPart _nested_bootstrap_download_status_window_widgets []
 Nested widgets for the download window. More...
 
static WindowDesc _bootstrap_download_status_window_desc (WDP_CENTER, nullptr, 0, 0, WC_NETWORK_STATUS_WINDOW, WC_NONE, WDF_MODAL|WDF_NO_CLOSE, _nested_bootstrap_download_status_window_widgets)
 Window description for the download window.
 
static constexpr NWidgetPart _bootstrap_query_widgets []
 The widgets for the query. More...
 
static WindowDesc _bootstrap_query_desc (WDP_CENTER, nullptr, 0, 0, WC_CONFIRM_POPUP_QUERY, WC_NONE, WDF_NO_CLOSE, _bootstrap_query_widgets)
 The window description for the query.
 

Detailed Description

Barely used user interface for bootstrapping OpenTTD, i.e.

downloading the required content.

Definition in file bootstrap_gui.cpp.

Function Documentation

◆ HandleBootstrap()

bool HandleBootstrap ( )

Handle all procedures for bootstrapping OpenTTD without a base graphics set.

This requires all kinds of trickery that is needed to avoid the use of sprites from the base graphics set which are pretty interwoven.

Returns
True if a base set exists, otherwise false.

Definition at line 362 of file bootstrap_gui.cpp.

References _network_available, BlitterFactory::GetCurrentBlitter(), and BaseMedia< GraphicsSet >::GetUsedSet().

Variable Documentation

◆ _background_widgets

constexpr NWidgetPart _background_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_PANEL, COLOUR_DARK_BLUE, WID_BB_BACKGROUND), SetResize(1, 1),
}
@ WID_BB_BACKGROUND
Background of the window.
constexpr NWidgetPart NWidget(WidgetType tp, Colours col, WidgetID idx=-1)
Widget part function for starting a new 'real' widget.
Definition: widget_type.h:1309
constexpr NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME,...
Definition: widget_type.h:1191
constexpr NWidgetPart SetResize(int16_t dx, int16_t dy)
Widget part function for setting the resize step.
Definition: widget_type.h:1126
@ WWT_PANEL
Simple depressed panel.
Definition: widget_type.h:50

Widgets for the background window to prevent smearing.

Definition at line 35 of file bootstrap_gui.cpp.

◆ _bootstrap_query_widgets

constexpr NWidgetPart _bootstrap_query_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_MISSING_GRAPHICS_SET_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BAFD_YES), SetDataTip(STR_MISSING_GRAPHICS_YES_DOWNLOAD, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BAFD_NO), SetDataTip(STR_MISSING_GRAPHICS_NO_QUIT, STR_NULL),
}
@ WID_BAFD_QUESTION
The question whether to download.
@ WID_BAFD_NO
An negative answer to the question.
@ WID_BAFD_YES
An affirmative answer to the question.
constexpr NWidgetPart SetDataTip(uint32_t data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1202
@ WWT_PUSHTXTBTN
Normal push-button (no toggle button) with text caption.
Definition: widget_type.h:112
@ NWID_HORIZONTAL
Horizontal container.
Definition: widget_type.h:75
@ WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:61

The widgets for the query.

It has no close box as that sprite does not exist yet.

Definition at line 176 of file bootstrap_gui.cpp.

◆ _nested_bootstrap_download_status_window_widgets

constexpr NWidgetPart _nested_bootstrap_download_status_window_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_CONTENT_DOWNLOAD_TITLE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NCDS_PROGRESS_BAR), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NCDS_PROGRESS_TEXT), SetFill(1, 0), SetMinimalSize(350, 0),
}
static const WidgetDimensions unscaled
Unscaled widget dimensions.
Definition: window_gui.h:67
constexpr NWidgetPart SetFill(uint16_t fill_x, uint16_t fill_y)
Widget part function for setting filling.
Definition: widget_type.h:1181
constexpr NWidgetPart SetPIP(uint8_t pre, uint8_t inter, uint8_t post)
Widget part function for setting a pre/inter/post spaces.
Definition: widget_type.h:1260
constexpr NWidgetPart SetPadding(uint8_t top, uint8_t right, uint8_t bottom, uint8_t left)
Widget part function for setting additional space around a widget.
Definition: widget_type.h:1228
constexpr NWidgetPart SetMinimalSize(int16_t x, int16_t y)
Widget part function for setting the minimal size.
Definition: widget_type.h:1137
@ WID_NCDS_PROGRESS_TEXT
Text explaining what is happening.
@ WID_NCDS_PROGRESS_BAR
Simple progress bar.
@ NWID_VERTICAL
Vertical container.
Definition: widget_type.h:77
@ WWT_EMPTY
Empty widget, place holder to reserve space in widget tree.
Definition: widget_type.h:48

Nested widgets for the download window.

Definition at line 125 of file bootstrap_gui.cpp.

◆ _nested_bootstrap_errmsg_widgets

constexpr NWidgetPart _nested_bootstrap_errmsg_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CAPTION, COLOUR_GREY, WID_BEM_CAPTION), SetDataTip(STR_MISSING_GRAPHICS_ERROR_TITLE, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BEM_QUIT), SetDataTip(STR_MISSING_GRAPHICS_ERROR_QUIT, STR_NULL), SetFill(1, 0),
}
@ WID_BEM_MESSAGE
Error message.
@ WID_BEM_QUIT
Quit button.
@ WID_BEM_CAPTION
Caption of the window.

Nested widgets for the error window.

Definition at line 68 of file bootstrap_gui.cpp.