mirror of
https://github.com/grumpycoders/pcsx-redux.git
synced 2025-04-02 10:41:54 -04:00
309 lines
6.1 KiB
HTML
309 lines
6.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<title>EABase Future Plans</title>
|
|
<style type="text/css">
|
|
.SmallBody{
|
|
font-size: 10pt
|
|
}
|
|
|
|
body
|
|
{
|
|
font-family: Palatino Linotype, Book Antiqua, Times New Roman;
|
|
font-size: 11pt;
|
|
}
|
|
|
|
h1
|
|
{
|
|
font-family: Verdana;
|
|
display: block;
|
|
background-color: #FFF0B0;
|
|
border: solid 2px black;
|
|
font-size: 16pt;
|
|
font-weight: bold;
|
|
padding: 6px;
|
|
}
|
|
|
|
h2
|
|
{
|
|
font-size: 14pt;
|
|
font-family: Verdana;
|
|
border-bottom: 2px solid black;
|
|
}
|
|
|
|
h3
|
|
{
|
|
font-family: Verdana;
|
|
font-size: 13pt;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.code-example
|
|
{
|
|
display: block;
|
|
background-color: #e0e0f0;
|
|
margin-left: 3em;
|
|
margin-right: 3em;
|
|
margin-top: 1em;
|
|
margin-bottom: 1em;
|
|
padding: 8px;
|
|
border: solid 2px #a0a0d0;
|
|
font-family: monospace;
|
|
font-size: 10pt;
|
|
white-space: pre;
|
|
}
|
|
|
|
.code-example-span
|
|
{
|
|
font-family: monospace;
|
|
font-size: 10pt;
|
|
white-space: pre;
|
|
}
|
|
|
|
.code-example-comment
|
|
{
|
|
background-color: #e0e0f0;
|
|
padding: 0px 0px;
|
|
font-family: monospace;
|
|
font-size: 10pt;
|
|
white-space: pre;
|
|
color: #999999;
|
|
margin: auto auto;
|
|
}
|
|
|
|
|
|
.faq-question
|
|
{
|
|
background-color: #D0E0D0;
|
|
font-size: 12pt;
|
|
font-weight: bold;
|
|
margin-bottom: 0.5em;
|
|
margin-top: 0em;
|
|
padding-left:8px;
|
|
padding-right:8px;
|
|
padding-top:2px;
|
|
padding-bottom:2px
|
|
}
|
|
|
|
.faq-answer
|
|
{
|
|
display: block;
|
|
margin: 4pt 1em 0.5em 1em;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<h1>EABase
|
|
</h1>
|
|
<h3>What is EABase?
|
|
</h3>
|
|
<p>EABase is a small set of header files that define platform-independent
|
|
data types and macros. As such it is similar to many projects that have
|
|
a platform.h, system.h, defines.h, etc. file. The difference is that
|
|
EABase is very comprehensive and is the annointed Electronic Arts
|
|
worldwide standard for new projects. </p>
|
|
<p>With respect to the base types and definitions, many of these are
|
|
already present in the most recent C language standard, though the C++
|
|
standard has yet to formally adopt them. EABase bridges the gap and
|
|
defines these values if they aren't already defined. With respect to
|
|
compiler and platform definitions, EABase provides a standard reliable
|
|
means of identifying or specifying compilers, platforms, endian-ness,
|
|
alignment attributes, etc. </p>
|
|
<h3>Usage notes </h3>
|
|
<p>You probably don't want to use float_t and double_t. They are there for C99 compatibility but are rarely what you want to use, since their size is variable.</p>
|
|
<p>Prid8, etc. are somewhat painful and ugly to use and you may find you don't like them. They too are for C99 compatibility.</p>
|
|
<p>intptr_t is not a pointer to an int; it's an int with the same size as a pointer, so you can safely store pointers in it.</p>
|
|
<p>EA::result_type is rarely used and exists for backwards compatibility.</p>
|
|
<h3>What specifically does EABase define?</h3>
|
|
<p>Here we list the things EABase defines, grouped by category. These
|
|
defines are up to date as of the file modification date listed at the
|
|
top of this file.</p>
|
|
<h4>Base Types and Definitions<br>
|
|
|
|
</h4>
|
|
|
|
<div style="margin-left: 40px;">bool8_t, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, float_t, double_t, (EAStdC package implements int128_t)<br>
|
|
|
|
intptr_t, uintptr_t, intmax_t, uintmax_t, ssize_t<br>
|
|
|
|
char8_t, char16_t, char32_t<br>
|
|
|
|
INT8_C(), UINT8_C(), etc.<br>
|
|
|
|
INT8_MIN, INT8_MAX, UINT8_MAX, etc.<br>
|
|
|
|
PRId8, PRId16, PRId32, etc, SCNd8, SCNd16, SCNd32, etc.</div>
|
|
|
|
<h4>Result Types and Definitions<br>
|
|
|
|
</h4>
|
|
|
|
<div style="margin-left: 40px;">EA::result_type<br>
|
|
|
|
EA::SUCCESS, EA::FAILURE<br>
|
|
|
|
EA_SUCCEEDED(), EA_FAILED()</div>
|
|
|
|
<h4>Compiler Definitions<br>
|
|
|
|
</h4>
|
|
|
|
<div style="margin-left: 40px;">EA_COMPILER_GNUC<br>
|
|
|
|
EA_COMPILER_SN<br>
|
|
|
|
EA_COMPILER_MSVC<br>
|
|
|
|
EA_COMPILER_METROWERKS<br>
|
|
|
|
EA_COMPILER_INTEL<br>
|
|
|
|
EA_COMPILER_BORLANDC<br>
|
|
|
|
<br>
|
|
|
|
EA_COMPILER_VERSION = <integer><br>
|
|
|
|
EA_COMPILER_NAME = <string><br>
|
|
|
|
EA_COMPILER_STRING = <string><br>
|
|
|
|
<br>
|
|
|
|
EA_COMPILER_NO_STATIC_CONSTANTS<br>
|
|
|
|
EA_COMPILER_NO_TEMPLATE_SPECIALIZATION<br>
|
|
|
|
EA_COMPILER_NO_TEMPLATE_PARTIAL_SPECIALIZATION<br>
|
|
|
|
EA_COMPILER_NO_MEMBER_TEMPLATES<br>
|
|
|
|
EA_COMPILER_NO_MEMBER_TEMPLATE_SPECIALIZATION<br>
|
|
|
|
EA_COMPILER_NO_TEMPLATE_TEMPLATES<br>
|
|
|
|
EA_COMPILER_NO_MEMBER_TEMPLATE_FRIENDS<br>
|
|
|
|
EA_COMPILER_NO_VOID_RETURNS<br>
|
|
|
|
EA_COMPILER_NO_COVARIANT_RETURN_TYPE<br>
|
|
|
|
EA_COMPILER_NO_DEDUCED_TYPENAME<br>
|
|
|
|
EA_COMPILER_NO_ARGUMENT_DEPENDENT_LOOKUP<br>
|
|
|
|
EA_COMPILER_NO_EXCEPTION_STD_NAMESPACE<br>
|
|
|
|
EA_COMPILER_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS<br>
|
|
|
|
EA_COMPILER_NO_EXCEPTIONS<br>
|
|
|
|
EA_COMPILER_NO_UNWIND<br>
|
|
|
|
<br>
|
|
|
|
EA_COMPILER_IS_ANSIC<br>
|
|
|
|
EA_COMPILER_IS_C99<br>
|
|
|
|
EA_COMPILER_HAS_C99_TYPES<br>
|
|
EA_COMPILER_IS_CPLUSPLUS<br>
|
|
|
|
EA_COMPILER_MANAGED_CPP</div>
|
|
<h4>Utilities<br>
|
|
</h4>
|
|
<div style="margin-left: 40px;">
|
|
|
|
<p>EA_ALIGN_OF()<br>
|
|
EA_PREFIX_ALIGN()<br>
|
|
|
|
EA_POSTFIX_ALIGN()<br>
|
|
EA_ALIGNED()<br>
|
|
|
|
EA_PACKED()<br>
|
|
EA_LIKELY()<br>
|
|
EA_UNLIKELY()<br>
|
|
EA_ASSUME()<br>
|
|
EA_PURE<br>
|
|
EA_WCHAR_T_NON_NATIVE<br>
|
|
|
|
EA_WCHAR_SIZE<br>
|
|
EA_RESTRICT<br>
|
|
EA_DEPRECATED<br>
|
|
EA_PREFIX_DEPRECATED<br>
|
|
EA_POSTFIX_DEPRECATED <br>
|
|
EA_FORCE_INLINE<br>
|
|
EA_NO_INLINE<br>
|
|
EA_PREFIX_NO_INLINE<br>
|
|
EA_POSTFIX_NO_INLINE <br>
|
|
EA_PASCAL<br>
|
|
|
|
EA_PASCAL_FUNC()<br>
|
|
|
|
EA_SSE = [0 | 1]<br>
|
|
|
|
EA_IMPORT<br>
|
|
|
|
EA_EXPORT<br>
|
|
EA_OVERRIDE<br>
|
|
EA_INIT_PRIORITY<br>
|
|
EA_MAY_ALIAS<br>
|
|
</p>
|
|
</div>
|
|
|
|
<h4>Platform Definitions<br>
|
|
|
|
</h4>
|
|
|
|
<div style="margin-left: 40px;"><br>
|
|
|
|
|
|
EA_PLATFORM_MAC<br>
|
|
|
|
EA_PLATFORM_OSX<br>
|
|
EA_PLATFORM_IPHONE<br>
|
|
EA_PLATFORM_ANDROID<br>
|
|
EA_PLATFORM_LINUX<br>
|
|
|
|
EA_PLATFORM_WINDOWS<br>
|
|
|
|
EA_PLATFORM_WIN32<br>
|
|
|
|
EA_PLATFORM_WIN64<br>
|
|
|
|
EA_PLATFORM_HPUX<br>
|
|
|
|
EA_PLATFORM_SUN<br>
|
|
|
|
<br>
|
|
|
|
EA_PLATFORM_NAME<br>
|
|
|
|
EA_PLATFORM_DESCRIPTION<br>
|
|
|
|
EA_PROCESSOR_POWERPC, EA_PROCESSOR_X86, EA_PROCESSOR_ARM, etc.<br>
|
|
|
|
EA_SYSTEM_LITTLE_ENDIAN, EA_SYSTEM_BIG_ENDIAN<br>
|
|
|
|
EA_ASM_STYLE_ATT, EA_ASM_STYLE_INTEL, EA_ASM_STYLE_MOTOROLA<br>
|
|
|
|
EA_PLATFORM_PTR_SIZE<br>
|
|
EA_PLATFORM_WORD_SIZE</div>
|
|
|
|
|
|
<br>
|
|
|
|
<hr style="width: 100%; height: 2px;"><br>
|
|
|
|
<br>
|
|
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|