# stdafx.h File Reference

`#include <stdint.h>`
`#include <cstdio>`
`#include <cstddef>`
`#include <cstring>`
`#include <cstdlib>`
`#include <climits>`
`#include <cassert>`

Go to the source code of this file.

## Defines

#define | __STDC_LIMIT_MACROS
#define | VARARRAY_SIZE
#define | fopen(file, mode) fopen(OTTD2FS(file), mode)
#define | PATHSEP "/"
#define | PATHSEPCHAR '/'
#define | PERSONAL_DIR ""
#define | assert_compile(expr) extern "C" void __ct_assert__(int a[1 - 2 * !(expr)])
#define | lengthof(x) (sizeof(x)/sizeof(x[0]))
#define | endof(x) (&x[lengthof(x)])
#define | lastof(x) (&x[lengthof(x) - 1])
#define | cpp_offsetof(s, m) (((size_t)&reinterpret_cast<const volatile char&>((((s*)(char*)8)->m))) - 8)
#define | offsetof(s, m) cpp_offsetof(s, m)
#define | NOT_REACHED() error("NOT_REACHED triggered at line %i of %s", __LINE__, __FILE__)
#define | HAS_WCHAR
#define | MAX_PATH 260
#define | MAX_UVALUE(type) ((type)~(type)0)
| The largest value that can be entered in a variable.

## Typedefs

typedef unsigned char | byte
typedef unsigned int | uint
typedef unsigned char | uint8
typedef signed char | int8
typedef unsigned short | uint16
typedef signed short | int16
typedef unsigned int | uint32
typedef signed int | int32
typedef unsigned __int64 | uint64
typedef signed __int64 | int64

## Functions

const char * | FS2OTTD (const char *name)
const char * | OTTD2FS (const char *name)
| Convert from OpenTTD's encoding to that of the local environment.
| assert_compile (sizeof(uint64)==8)
| assert_compile (sizeof(uint32)==4)
| assert_compile (sizeof(uint16)==2)
| assert_compile (sizeof(uint8)==1)
void NORETURN CDECL | error (const char *str,...)

## Detailed Description

Definition in file stdafx.h.

## Define Documentation

#define MAX_UVALUE | ( | type |  | ) | ((type)~(type)0)

The largest value that can be entered in a variable.

Parameters:

  | type | the type of the variable

Definition at line 337 of file stdafx.h.

Referenced by GetCountAndDistanceOfClosestInstance(), and CargoList::MoveTo().

## Function Documentation

const char* OTTD2FS | ( | const char * | name | ) |

Convert from OpenTTD's encoding to that of the local environment.

When the project is built in UNICODE the system codepage is irrelevant and the converted string is wide. In ANSI mode, the UTF8 string is converted to multi-byte. 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

Parameters:

  | name | pointer to a valid string that will be converted (UTF8)

Returns:
  pointer to the converted string; if failed string is of zero-length

See also:
  the current code-page comes from video\win32_v.cpp, event-notification WM_INPUTLANGCHANGE

Definition at line 236 of file os2.cpp.

References convert_to_fs().

Referenced by FioCreateDirectory(), and ttd_opendir().