mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-26 23:10:38 +00:00
add basic PGF font code.
This commit is contained in:
parent
3b45057712
commit
ffd3e76878
@ -66,7 +66,7 @@
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
@ -102,7 +102,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
|
@ -67,7 +67,7 @@
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../common;..;../native;../native/ext/glew;../ext/zlib</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
</ClCompile>
|
||||
@ -98,6 +98,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -375,6 +375,7 @@
|
||||
<ClCompile Include="MIPS\ARM\ArmRegCacheFPU.cpp">
|
||||
<Filter>MIPS\ARM</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="HLE\sceChnnlsv.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="ELF\ElfReader.h">
|
||||
@ -695,6 +696,7 @@
|
||||
<ClInclude Include="MIPS\ARM\ArmRegCacheFPU.h">
|
||||
<Filter>MIPS\ARM</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="HLE\sceChnnlsv.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="CMakeLists.txt" />
|
||||
|
@ -6,6 +6,310 @@
|
||||
#include "../MIPS/MIPS.h"
|
||||
#include "ChunkFile.h"
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static int get_value(int bpe, u8 *buf, int *pos)
|
||||
{
|
||||
int i, v;
|
||||
|
||||
v = 0;
|
||||
for(i=0; i<bpe; i++){
|
||||
v += ( ( buf[(*pos)/8] >> ((*pos)%8) ) &1 ) << i;
|
||||
(*pos)++;
|
||||
}
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
static int read_table(u8 *buf, int *table, int num, int bpe)
|
||||
{
|
||||
int i, p, len;
|
||||
|
||||
len = ((num*bpe+31)/32)*4;
|
||||
|
||||
p = 0;
|
||||
for(i=0; i<num; i++){
|
||||
table[i] = get_value(bpe, buf, &p);
|
||||
}
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
static u32 ptr2ucs(PGF_FONT *pgft, int ptr)
|
||||
{
|
||||
PGF_HEADER *ph;
|
||||
int i, n_charmap;
|
||||
|
||||
ph = (PGF_HEADER*)pgft->buf;
|
||||
n_charmap = ph->charmap_len;
|
||||
|
||||
for(i=0; i<n_charmap; i++){
|
||||
if(pgft->charmap[i]==ptr){
|
||||
return i+ph->charmap_min;
|
||||
}
|
||||
}
|
||||
|
||||
return 0xffff;
|
||||
}
|
||||
|
||||
static int have_shadow(PGF_FONT *pgft, u32 ucs)
|
||||
{
|
||||
PGF_HEADER *ph;
|
||||
int i, n_shadowmap;
|
||||
|
||||
ph = (PGF_HEADER*)pgft->buf;
|
||||
n_shadowmap = ph->shadowmap_len;
|
||||
|
||||
for(i=0; i<n_shadowmap; i++){
|
||||
if(pgft->shadowmap[i]==ucs){
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void get_bitmap(PGF_GLYPH *glyph)
|
||||
{
|
||||
int i, j, p, nb, data, len;
|
||||
u8 *bmp, temp_buf[64*64];
|
||||
|
||||
i = 0;
|
||||
p = 0;
|
||||
len = glyph->width * glyph->height;
|
||||
if((glyph->flag&3)==2){
|
||||
bmp = temp_buf;
|
||||
}else{
|
||||
bmp = glyph->bmp;
|
||||
}
|
||||
|
||||
while(i<len){
|
||||
nb = get_value(4, glyph->data, &p);
|
||||
if(nb<8){
|
||||
data = get_value(4, glyph->data, &p);
|
||||
for(j=0; j<nb+1; j++){
|
||||
bmp[i] = data;
|
||||
i++;
|
||||
}
|
||||
}else{
|
||||
for(j=0; j<(16-nb); j++){
|
||||
data = get_value(4, glyph->data, &p);
|
||||
bmp[i] = data;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if((glyph->flag&3)==2){
|
||||
int h, v;
|
||||
|
||||
i = 0;
|
||||
for(h=0; h<glyph->width; h++){
|
||||
for(v=0; v<glyph->height; v++){
|
||||
glyph->bmp[v*glyph->width+h] = bmp[i];
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void load_shadow_glyph(u8 *ptr, PGF_GLYPH *glyph)
|
||||
{
|
||||
int pos;
|
||||
|
||||
pos = 0;
|
||||
|
||||
glyph->size = get_value(14, ptr, &pos);
|
||||
glyph->width = get_value(7, ptr, &pos);
|
||||
glyph->height = get_value(7, ptr, &pos);
|
||||
glyph->left = get_value(7, ptr, &pos);
|
||||
glyph->top = get_value(7, ptr, &pos);
|
||||
glyph->flag = get_value(6, ptr, &pos);
|
||||
|
||||
if(glyph->left>63) glyph->left |= 0xffffff80;
|
||||
if(glyph->top >63) glyph->top |= 0xffffff80;
|
||||
|
||||
glyph->data = ptr+(pos/8);
|
||||
glyph->bmp = (u8*)malloc(glyph->width*glyph->height);
|
||||
get_bitmap(glyph);
|
||||
}
|
||||
|
||||
static void load_char_glyph(PGF_FONT *pgft, int index, PGF_GLYPH *glyph)
|
||||
{
|
||||
int id, pos;
|
||||
u8 *ptr;
|
||||
|
||||
ptr = pgft->glyphdata + pgft->charptr[index];
|
||||
pos = 0;
|
||||
|
||||
glyph->index = index;
|
||||
glyph->have_shadow = have_shadow(pgft, glyph->ucs);
|
||||
|
||||
glyph->size = get_value(14, ptr, &pos);
|
||||
glyph->width = get_value( 7, ptr, &pos);
|
||||
glyph->height = get_value( 7, ptr, &pos);
|
||||
glyph->left = get_value( 7, ptr, &pos);
|
||||
glyph->top = get_value( 7, ptr, &pos);
|
||||
glyph->flag = get_value( 6, ptr, &pos);
|
||||
|
||||
if(glyph->left>63) glyph->left |= 0xffffff80;
|
||||
if(glyph->top >63) glyph->top |= 0xffffff80;
|
||||
|
||||
/* read extension info */
|
||||
glyph->shadow_flag = get_value(7, ptr, &pos);
|
||||
glyph->shadow_id = get_value(9, ptr, &pos);
|
||||
if(glyph->flag&0x04){
|
||||
id = get_value(8, ptr, &pos);
|
||||
glyph->dimension.h = pgft->dimension[id].h;
|
||||
glyph->dimension.v = pgft->dimension[id].v;
|
||||
}else{
|
||||
glyph->dimension.h = get_value(32, ptr, &pos);
|
||||
glyph->dimension.v = get_value(32, ptr, &pos);
|
||||
}
|
||||
if(glyph->flag&0x08){
|
||||
id = get_value(8, ptr, &pos);
|
||||
glyph->bearingX.h = pgft->bearingX[id].h;
|
||||
glyph->bearingX.v = pgft->bearingX[id].v;
|
||||
}else{
|
||||
glyph->bearingX.h = get_value(32, ptr, &pos);
|
||||
glyph->bearingX.v = get_value(32, ptr, &pos);
|
||||
}
|
||||
if(glyph->flag&0x10){
|
||||
id = get_value(8, ptr, &pos);
|
||||
glyph->bearingY.h = pgft->bearingY[id].h;
|
||||
glyph->bearingY.v = pgft->bearingY[id].v;
|
||||
}else{
|
||||
glyph->bearingY.h = get_value(32, ptr, &pos);
|
||||
glyph->bearingY.v = get_value(32, ptr, &pos);
|
||||
}
|
||||
if(glyph->flag&0x20){
|
||||
id = get_value(8, ptr, &pos);
|
||||
glyph->advance.h = pgft->advance[id].h;
|
||||
glyph->advance.v = pgft->advance[id].v;
|
||||
}else{
|
||||
glyph->advance.h = get_value(32, ptr, &pos);
|
||||
glyph->advance.v = get_value(32, ptr, &pos);
|
||||
}
|
||||
|
||||
glyph->data = ptr+(pos/8);
|
||||
glyph->bmp = (u8*)malloc(glyph->width*glyph->height);
|
||||
get_bitmap(glyph);
|
||||
|
||||
if(glyph->have_shadow){
|
||||
id = glyph->shadow_id;
|
||||
pgft->shadow_glyph[id] = (PGF_GLYPH*)malloc(sizeof(PGF_GLYPH));
|
||||
memset(pgft->shadow_glyph[id], 0, sizeof(PGF_GLYPH));
|
||||
load_shadow_glyph(ptr+glyph->size, pgft->shadow_glyph[id]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
int load_all_glyph(PGF_FONT *pgft)
|
||||
{
|
||||
PGF_GLYPH *glyph;
|
||||
PGF_HEADER *ph;
|
||||
int i, n_chars, ucs;
|
||||
|
||||
ph = (PGF_HEADER*)pgft->buf;
|
||||
n_chars = ph->charptr_len;
|
||||
|
||||
for(i=0; i<n_chars; i++){
|
||||
glyph = (PGF_GLYPH*)malloc(sizeof(PGF_GLYPH));
|
||||
memset(glyph, 0, sizeof(PGF_GLYPH));
|
||||
ucs = ptr2ucs(pgft, i);
|
||||
glyph->ucs = ucs;
|
||||
pgft->char_glyph[ucs] = glyph;
|
||||
load_char_glyph(pgft, i, glyph);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
PGF_FONT *load_pgf_from_buf(u8 *buf, int length)
|
||||
{
|
||||
PGF_FONT *pgft;
|
||||
PGF_HEADER *ph;
|
||||
int i;
|
||||
|
||||
pgft = (PGF_FONT*)malloc(sizeof(PGF_FONT));
|
||||
memset(pgft, 0, sizeof(PGF_FONT));
|
||||
|
||||
pgft->buf = buf;
|
||||
|
||||
/* pgf header */
|
||||
ph = (PGF_HEADER*)buf;
|
||||
buf += ph->header_len;
|
||||
|
||||
/* dimension table */
|
||||
pgft->dimension = (F26_PAIRS*)buf;
|
||||
buf += (ph->dimension_len*8);
|
||||
|
||||
/* left bearing table */
|
||||
pgft->bearingX = (F26_PAIRS*)buf;
|
||||
buf += (ph->bearingX_len*8);
|
||||
|
||||
/* top bearing table */
|
||||
pgft->bearingY = (F26_PAIRS*)buf;
|
||||
buf += (ph->bearingY_len*8);
|
||||
|
||||
/* advance table */
|
||||
pgft->advance = (F26_PAIRS*)buf;
|
||||
buf += (ph->advance_len*8);
|
||||
|
||||
/* read shadowmap table */
|
||||
if(ph->shadowmap_len){
|
||||
pgft->shadowmap = (int*)malloc(ph->shadowmap_len*4);
|
||||
buf += read_table(buf, pgft->shadowmap, ph->shadowmap_len, ph->shadowmap_bpe);
|
||||
}
|
||||
|
||||
/* read charmap table */
|
||||
pgft->charmap = (int*)malloc(ph->charmap_len*4);
|
||||
buf += read_table(buf, pgft->charmap, ph->charmap_len, ph->charmap_bpe);
|
||||
|
||||
/* read charptr table */
|
||||
pgft->charptr = (int*)malloc(ph->charptr_len*4);
|
||||
buf += read_table(buf, pgft->charptr, ph->charptr_len, ph->charptr_bpe);
|
||||
for(i=0; i<ph->charptr_len; i++){
|
||||
pgft->charptr[i] *= ph->charptr_scale;
|
||||
}
|
||||
|
||||
/* font glyph data */
|
||||
pgft->glyphdata = buf;
|
||||
|
||||
load_all_glyph(pgft);
|
||||
|
||||
return pgft;
|
||||
}
|
||||
|
||||
PGF_GLYPH *get_glyph(PGF_FONT *pgft, int ucs)
|
||||
{
|
||||
return pgft->char_glyph[ucs];
|
||||
}
|
||||
|
||||
void free_glyph(PGF_FONT *pgft, PGF_GLYPH *glyph)
|
||||
{
|
||||
int ucs;
|
||||
|
||||
ucs = glyph->ucs;
|
||||
free(glyph->bmp);
|
||||
free(glyph);
|
||||
pgft->char_glyph[ucs] = 0;
|
||||
}
|
||||
|
||||
void free_pgf_font(PGF_FONT *pgft)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
typedef u32 FontLibraryHandle;
|
||||
typedef u32 FontHandle;
|
||||
|
||||
|
@ -6,3 +6,132 @@ void Register_sceFont();
|
||||
|
||||
void __FontInit();
|
||||
void __FontDoState(PointerWrap &p);
|
||||
|
||||
|
||||
typedef unsigned int u32;
|
||||
typedef unsigned short u16;
|
||||
typedef unsigned char u8;
|
||||
|
||||
typedef struct f26_pairs {
|
||||
int h;
|
||||
int v;
|
||||
} F26_PAIRS;
|
||||
|
||||
typedef struct pgf_header_t {
|
||||
/* 0x0000 */
|
||||
u16 header_start;
|
||||
u16 header_len;
|
||||
u8 pgf_id[4];
|
||||
u32 revision;
|
||||
u32 version;
|
||||
|
||||
/* 0x0010 */
|
||||
int charmap_len;
|
||||
int charptr_len;
|
||||
int charmap_bpe;
|
||||
int charptr_bpe;
|
||||
|
||||
/* 0x0020 */
|
||||
u8 unk_20[2]; /* 04 04 */
|
||||
u8 bpp; /* 04 */
|
||||
u8 unk_23; /* 00 */
|
||||
|
||||
u32 h_size;
|
||||
u32 v_size;
|
||||
u32 h_res;
|
||||
u32 v_res;
|
||||
|
||||
u8 unk_34; /* 00 */
|
||||
u8 font_name[64]; /* "FTT-NewRodin Pro DB" */
|
||||
u8 font_type[64]; /* "Regular" */
|
||||
u8 unk_B5; /* 00 */
|
||||
|
||||
u16 charmap_min;
|
||||
u16 charmap_max;
|
||||
|
||||
/* 0x00BA */
|
||||
u16 unk_BA; /* 0x0000 */
|
||||
u32 unk_BC; /* 0x00010000 */
|
||||
u32 unk_C0; /* 0x00000000 */
|
||||
u32 unk_C4; /* 0x00000000 */
|
||||
u32 unk_C8; /* 0x00010000 */
|
||||
u32 unk_CC; /* 0x00000000 */
|
||||
u32 unk_D0; /* 0x00000000 */
|
||||
|
||||
int ascender;
|
||||
int descender;
|
||||
int max_h_bearingX;
|
||||
int max_h_bearingY;
|
||||
int min_v_bearingX;
|
||||
int max_v_bearingY;
|
||||
int max_h_advance;
|
||||
int max_v_advance;
|
||||
int max_h_dimension;
|
||||
int max_v_dimension;
|
||||
u16 max_glyph_w;
|
||||
u16 max_glyph_h;
|
||||
|
||||
/* 0x0100 */
|
||||
u16 charptr_scale; /* 0004 */
|
||||
u8 dimension_len;
|
||||
u8 bearingX_len;
|
||||
u8 bearingY_len;
|
||||
u8 advance_len;
|
||||
u8 unk_106[102]; /* 00 00 ... ... 00 */
|
||||
|
||||
u32 shadowmap_len;
|
||||
u32 shadowmap_bpe;
|
||||
u32 unk_174;
|
||||
u32 shadowscale_x;
|
||||
u32 shadowscale_y;
|
||||
u32 unk_180;
|
||||
u32 unk_184;
|
||||
} PGF_HEADER;
|
||||
|
||||
typedef struct glyph_t {
|
||||
int index;
|
||||
int ucs;
|
||||
int have_shadow;
|
||||
|
||||
int size; /* 14bits */
|
||||
int width; /* 7bits */
|
||||
int height; /* 7bits */
|
||||
int left; /* 7bits signed */
|
||||
int top; /* 7bits signed */
|
||||
int flag; /* 6bits: 2+1+1+1+1 */
|
||||
|
||||
int shadow_flag;/* 7bits: 2+2+3 */
|
||||
int shadow_id; /* 9bits */
|
||||
|
||||
F26_PAIRS dimension;
|
||||
F26_PAIRS bearingX;
|
||||
F26_PAIRS bearingY;
|
||||
F26_PAIRS advance;
|
||||
|
||||
u8 *data;
|
||||
u8 *bmp;
|
||||
} PGF_GLYPH;
|
||||
|
||||
typedef struct pgf_font_t {
|
||||
u8 *buf;
|
||||
|
||||
PGF_HEADER *ph;
|
||||
|
||||
struct f26_pairs *dimension;
|
||||
struct f26_pairs *bearingX;
|
||||
struct f26_pairs *bearingY;
|
||||
struct f26_pairs *advance;
|
||||
|
||||
int *charmap;
|
||||
int *charptr;
|
||||
int *shadowmap;
|
||||
|
||||
u8 *glyphdata;
|
||||
PGF_GLYPH *char_glyph[65536];
|
||||
PGF_GLYPH *shadow_glyph[512];
|
||||
|
||||
} PGF_FONT;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -69,6 +69,7 @@
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../common;..;../native;../native/ext/glew;</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@ -94,6 +95,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -96,7 +96,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
@ -151,7 +151,7 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
|
@ -95,6 +95,7 @@
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -99,7 +99,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -127,7 +127,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FloatingPointModel>Fast</FloatingPointModel>
|
||||
|
@ -80,7 +80,7 @@
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>../Common;..;../Core;../native/ext/glew;../native</AdditionalIncludeDirectories>
|
||||
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||
</ClCompile>
|
||||
@ -111,7 +111,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>../Common;..;../Core;../native/ext/glew;../native</AdditionalIncludeDirectories>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>../common;..;../native;../native/ext/glew;../ext/zlib</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@ -117,7 +117,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>../common;..;../native;../native/ext/glew;../ext/zlib</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
Loading…
Reference in New Issue
Block a user