OpenTTD Source
1.11.2
|
#include "../../stdafx.h"
#include "../../debug.h"
#include "../../gfx_func.h"
#include "../../textbuf_gui.h"
#include "../../fileio_func.h"
#include <windows.h>
#include <fcntl.h>
#include <mmsystem.h>
#include <regstr.h>
#include <shlobj.h>
#include <shellapi.h>
#include "win32.h"
#include "../../fios.h"
#include "../../core/alloc_func.hpp"
#include "../../openttd.h"
#include "../../core/random_func.hpp"
#include "../../string_func.h"
#include "../../crashlog.h"
#include <errno.h>
#include <sys/stat.h>
#include "../../language.h"
#include "../../thread.h"
#include <array>
#include "../../safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | DIR |
Macros | |
#define | NO_SHOBJIDL_SORTDIRECTION |
#define | SORT_DIGITSASNUMBERS 0x00000008 |
#define | LINGUISTIC_IGNORECASE 0x00000010 |
Functions | |
bool | MyShowCursor (bool show, bool toggle) |
bool | LoadLibraryList (Function proc[], const char *dll) |
Helper function needed by dynamically loading libraries. | |
void | ShowOSErrorBox (const char *buf, bool system) |
void | OSOpenBrowser (const char *url) |
static DIR * | dir_calloc () |
static void | dir_free (DIR *d) |
DIR * | opendir (const wchar_t *path) |
struct dirent * | readdir (DIR *d) |
int | closedir (DIR *d) |
bool | FiosIsRoot (const char *file) |
void | FiosGetDrives (FileList &file_list) |
bool | FiosIsValidFile (const char *path, const struct dirent *ent, struct stat *sb) |
bool | FiosIsHiddenFile (const struct dirent *ent) |
bool | FiosGetDiskFreeSpace (const char *path, uint64 *tot) |
static int | ParseCommandLine (char *line, char **argv, int max_argc) |
void | CreateConsole () |
static INT_PTR CALLBACK | HelpDialogFunc (HWND wnd, UINT msg, WPARAM wParam, LPARAM lParam) |
Callback function to handle the window. | |
void | ShowInfo (const char *str) |
int APIENTRY | WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) |
char * | getcwd (char *buf, size_t size) |
void | DetermineBasePaths (const char *exe) |
bool | GetClipboardContents (char *buffer, const char *last) |
Try to retrieve the current clipboard contents. More... | |
const char * | FS2OTTD (const wchar_t *name) |
Convert to OpenTTD's encoding from wide characters. More... | |
const wchar_t * | OTTD2FS (const char *name, bool console_cp) |
Convert from OpenTTD's encoding to wide characters. More... | |
char * | convert_from_fs (const wchar_t *name, char *utf8_buf, size_t buflen) |
Convert to OpenTTD's encoding from that of the environment in UNICODE. More... | |
wchar_t * | convert_to_fs (const char *name, wchar_t *system_buf, size_t buflen, bool console_cp) |
Convert from OpenTTD's encoding to that of the environment in UNICODE. More... | |
const char * | GetCurrentLocale (const char *) |
Determine the current user's locale. | |
void | Win32SetCurrentLocaleName (const char *iso_code) |
int | OTTDStringCompare (const char *s1, const char *s2) |
bool | IsWindowsVistaOrGreater () |
Is the current Windows version Vista or later? More... | |
void | SetCurrentThreadName (const char *) |
Name the thread this function is called on for the debugger. More... | |
Variables | |
static bool | _has_console |
static bool | _cursor_disable = true |
static bool | _cursor_visible = true |
static DIR | _global_dir |
static LONG | _global_dir_is_in_use = false |
static const char * | _help_msg |
Temporary pointer to get the help message to the window. | |
std::string | _config_file |
Configuration file of OpenTTD. | |
static WCHAR | _cur_iso_locale [16] = L"" |
Implementation of MS Windows system calls
Definition in file win32.cpp.
char* convert_from_fs | ( | const wchar_t * | name, |
char * | utf8_buf, | ||
size_t | buflen | ||
) |
Convert to OpenTTD's encoding from that of the environment in UNICODE.
OpenTTD encoding is UTF8, local is wide.
name | pointer to a valid string that will be converted |
utf8_buf | pointer to a valid buffer that will receive the converted string |
buflen | length in characters of the receiving buffer |
Definition at line 595 of file win32.cpp.
Referenced by FS2OTTD(), and HandleIMEComposition().
wchar_t* convert_to_fs | ( | const char * | name, |
wchar_t * | system_buf, | ||
size_t | buflen, | ||
bool | console_cp | ||
) |
Convert from OpenTTD's encoding to that of the environment in UNICODE.
OpenTTD encoding is UTF8, local is wide.
name | pointer to a valid string that will be converted |
system_buf | pointer to a valid wide-char buffer that will receive the converted string |
buflen | length in wide characters of the receiving buffer |
console_cp | convert to the console encoding instead of the normal system encoding. |
Definition at line 617 of file win32.cpp.
Referenced by HelpDialogFunc(), HFontFromFont(), and OTTD2FS().
const char* FS2OTTD | ( | const wchar_t * | name | ) |
Convert to OpenTTD's encoding from wide characters.
OpenTTD internal encoding is UTF8. The returned value's contents can only be guaranteed until the next call to this function. So if the value is needed for anything else, use convert_from_fs
name | pointer to a valid string that will be converted (local, or wide) |
Definition at line 565 of file win32.cpp.
References convert_from_fs(), and lengthof.
Referenced by Win32FontCache::GetFontName(), HandleIMEComposition(), DLSFile::LoadFile(), and NetworkAddress::Resolve().
bool GetClipboardContents | ( | char * | buffer, |
const char * | last | ||
) |
Try to retrieve the current clipboard contents.
buffer | Clipboard content. |
last | The pointer to the last element of the destination buffer |
Definition at line 532 of file win32.cpp.
References strecpy().
Referenced by Textbuf::InsertClipboard().
bool IsWindowsVistaOrGreater | ( | ) |
const wchar_t* OTTD2FS | ( | const char * | name, |
bool | console_cp | ||
) |
Convert from OpenTTD's encoding to wide characters.
OpenTTD internal encoding is UTF8. The returned value's contents can only be guaranteed until the next call to this function. So if the value is needed for anything else, use convert_from_fs
name | pointer to a valid string that will be converted (UTF8) |
console_cp | convert to the console encoding instead of the normal system encoding. |
Definition at line 580 of file win32.cpp.
References convert_to_fs(), and lengthof.
Referenced by FileExists(), and IniFile::SaveToDisk().