OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Functions | Variables
textfile_gui.cpp File Reference

Implementation of textfile window. More...

`#include "stdafx.h"`
`#include "fileio_func.h"`
`#include "fontcache.h"`
`#include "gfx_type.h"`
`#include "gfx_func.h"`
`#include "string_func.h"`
`#include "textfile_gui.h"`
`#include "widgets/misc_widget.h"`
`#include "table/strings.h"`
`#include <zlib.h>`
`#include <lzma.h>`
`#include "safeguards.h"`

Go to the source code of this file.

## Functions
static void | Gunzip (byte **bufp, size_t *sizep)
| Do an in-memory gunzip operation.
static void | Xunzip (byte **bufp, size_t *sizep)
| Do an in-memory xunzip operation.
const char * | GetTextfile (TextfileType type, Subdirectory dir, const char *filename)
| Search a textfile file next to the given content.

## Variables
static const NWidgetPart | _nested_textfile_widgets []
| Widgets for the textfile window.
static WindowDesc | _textfile_desc (WDP_CENTER,"textfile", 630, 460, WC_TEXTFILE, WC_NONE, 0, _nested_textfile_widgets, lengthof(_nested_textfile_widgets))
| Window definition for the textfile window.

## Detailed Description

Implementation of textfile window.

Definition in file textfile_gui.cpp.

## Function Documentation

const char* GetTextfile | ( | TextfileType | type,
|  | Subdirectory | dir,
|  | const char * | filename
| ) |  |

Search a textfile file next to the given content.

Parameters

  type | The type of the textfile to search for.
  dir | The subdirectory to search in.
  filename | The filename of the content to look for.

Returns
  The path to the textfile, `NULL` otherwise.

Definition at line 386 of file textfile_gui.cpp.

References FioCheckFileExists(), GetCurrentLanguageIsoCode(), lastof, lengthof, seprintf(), and strecpy().

Referenced by GameOptionsWindow::OnInvalidateData(), and AIConfigWindow::OnInvalidateData().

static void Gunzip | ( | byte ** | bufp,
|  | size_t * | sizep
| ) |  |
| static

Do an in-memory gunzip operation.

This works on a raw deflate stream, or a file with gzip or zlib header.

Parameters

  bufp | A pointer to a buffer containing the input data. This buffer will be freed and replaced by a buffer containing the uncompressed data.
  sizep | A pointer to the buffer size. Before the call, the value pointed to should contain the size of the input buffer. After the call, it contains the size of the uncompressed data.

When decompressing fails, *bufp is set to NULL and *sizep to 0. The compressed buffer passed in is still freed in this case.

Definition at line 220 of file textfile_gui.cpp.

References free(), and ReallocT().

Referenced by TextfileWindow::LoadTextfile().

static void Xunzip | ( | byte ** | bufp,
|  | size_t * | sizep
| ) |  |
| static

Do an in-memory xunzip operation.

This works on a .xz or (legacy) .lzma file.

Parameters

  bufp | A pointer to a buffer containing the input data. This buffer will be freed and replaced by a buffer containing the uncompressed data.
  sizep | A pointer to the buffer size. Before the call, the value pointed to should contain the size of the input buffer. After the call, it contains the size of the uncompressed data.

When decompressing fails, *bufp is set to NULL and *sizep to 0. The compressed buffer passed in is still freed in this case.

Definition at line 276 of file textfile_gui.cpp.

References free(), and ReallocT().

Referenced by TextfileWindow::LoadTextfile().

## Variable Documentation

const NWidgetPart _nested_textfile_widgets[]
| static

Initial value:
{
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_MAUVE),
NWidget(WWT_CAPTION, COLOUR_MAUVE, WID_TF_CAPTION), SetDataTip(STR_NULL, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_TEXTBTN, COLOUR_MAUVE, WID_TF_WRAPTEXT), SetDataTip(STR_TEXTFILE_WRAP_TEXT, STR_TEXTFILE_WRAP_TEXT_TOOLTIP),
NWidget(WWT_DEFSIZEBOX, COLOUR_MAUVE),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_TF_BACKGROUND), SetMinimalSize(200, 125), SetResize(1, 12), SetScrollbar(WID_TF_VSCROLLBAR),
EndContainer(),
NWidget(NWID_VERTICAL),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_TF_VSCROLLBAR),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_HSCROLLBAR, COLOUR_MAUVE, WID_TF_HSCROLLBAR),
NWidget(WWT_RESIZEBOX, COLOUR_MAUVE),
EndContainer(),
}

Widgets for the textfile window.

Definition at line 35 of file textfile_gui.cpp.