Author Topic: TrueType font rendering  (Read 14990 times)

0 Members and 3 Guests are viewing this topic.

Offline m!m

  • 210
Re: TrueType font rendering
I noticed that as well but couldn't track it down. My best guess is that I changed the OpenGL state somewhere without accounting for it in the rest of the code. I'll try to track it down but it might take a while...

 

Offline m!m

  • 210
Re: TrueType font rendering
I updated the test builds which should now be up to date which also includes the deferred lightning changes.
Something I forgot to mention previously is that TTF support now requires shader support which means that the minimum version of OpenGL required by these builds is 2.1.

I also found the issue causing the drawing artifacts (the bug was fixed in master but I overwrote it when I merged master into my branch).

 

Offline Yarn

  • 210
Re: TrueType font rendering
I noticed a bug with TrueType rendering a while ago but neglected to report it until now (and yes, it also happens in your new builds):

If the screen resolution is greater than 1024x768 (more accurately, if a VF font would be scaled at the current resolution), some of the text looks a bit blurred. The attached screenshot demonstrates this issue--notice how some of the lines in the Pilot Stats section are slightly blurred, while the others aren't (or at least not as much).

The problem is most likely not caused by rendering at too low a resolution and then scaling up, because TrueType text looks crisp at extreme resolutions. Rather, it's probably caused by rendering at non-integer coordinates. (If I'm not mistaken, you switched from integer to floating point for font rendering.) If that's the case, then perhaps the solution is to convert the font coordinates to integers just before the actual rendering. You can use the fl2ir macro (located in floating.h) to round the numbers and hopefully avoid reintroducing the first bulletted bug in this post.


The same attached screenshot demonstrates another problem that I noticed just now: TrueType fonts aren't being right-aligned properly. In the Pilot Stats section of the screenshot, the lines should be aligned such that all the semicolons line up, but they're not. Right-alignment works fine with VF fonts, and it also works fine with TrueType fonts at 1024x768 resolution, so this is another scaling-related problem. (I suggest tackling the first problem in this post before trying this one.)

[attachment deleted by nobody]
"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178

 

Offline m!m

  • 210
Re: TrueType font rendering
There is definitely something wrong with how the size of a string is determined. The image below shows how long the engine beliefs the string to be:



The lines are correctly aligned but the drawn text doesn't match the length of the respective line. It looks like the scaling of the text isn't consistent between determining the string size and actually drawing the text (which also explains why it's fine at 1024x768).

The blurring issue is not as obvious to me (maybe I'm just used to how the old fonts were always blurred...). I'll try to fix the other scaling issue which may also fix this issue...

 

Offline Cyborg17

  • 29
  • A-1 Supar
Re: TrueType font rendering
The blurring can be hard to see.  At first I thought it wasn't there.  I had to move my screen to see it correctly.

 

Offline Yarn

  • 210
Re: TrueType font rendering
You need to view the image at full size without scaling to see the blurring well. (In Firefox, this can be done by right-clicking the image, clicking "View Image," and clicking the image to zoom in if necessary. In other browsers, this is either done differently or not even possible.)

In-game, the problem may be less apparent at higher resolutions. I suggest using running in windowed mode at a resolution that's not much greater than 1024x768. (1600x900 should be a good resolution for testing this; it's the same one that I use.)

But yes, even if you follow this advice, the blurring can be hard to notice. Still, the problem should be fixed.
"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178

 

Offline Yarn

  • 210
Re: TrueType font rendering
I'm once again unable to compile your code. These are the errors that I get:

Code: [Select]
error C2280: 'std::unique_ptr<ubyte [],std::default_delete<_Ty>> &std::unique_ptr<_Ty,std::default_delete<_Ty>>::operator =(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)' : attempting to reference a deleted function

Location: C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\graphics\software\FontManager.cpp

Line: 326

Code: [Select]
error LNK1181: cannot open input file '..\bin\Debug\code_d.lib'

Location: C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\projects\MSVC_2013\freespace2\LINK

I'm using CMake 3.2.3, by the way. (And yes, I did make sure that COTIRE_ENABLE is disabled.)
« Last Edit: July 21, 2015, 12:50:06 pm by Yarn »
"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178

 

Offline m!m

  • 210
Re: TrueType font rendering
What Visual Studio version are you using? That error message looks odd but I changed all usages of operator= to use std::swap which should hopefully work better.

I have gone through all of the code again but couldn't find anything that would explain the scaling issues, I'll keep looking...

EDIT: I found the cause of the alignment issue but I am still searching for a good solution.
« Last Edit: July 21, 2015, 12:03:46 pm by m!m »

 

Offline Yarn

  • 210
Re: TrueType font rendering
I'm using Visual Studio Community 2013 Update 4. I know that VS 2015 has been released, but I'm waiting for a non-RC version of the 2015 MFC library to be available before upgrading (unless I need to upgrade to compile your code, in which case I can do that now).
"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178

 

Offline m!m

  • 210
Re: TrueType font rendering
VS 2013 should be more than sufficient. Can you try compiling the newest version? I changed some things that may have fixed that issue.

 

Offline Yarn

  • 210
Re: TrueType font rendering
Nope, didn't help. I should say, though, that I also get over 300 warnings both before and after the changes that you just made. I'll have them posted later today.

What compiler do you use? And what happens if you clear your CMake cache, build a new project, and then try to compile?
"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178

 

Offline m!m

  • 210
Re: TrueType font rendering
I am using VS 2015 RC.
Clearing the CMake cache or rebuilding my project will not help as the issue is clearly one that would happen all the time. GCC and Clang are also happy with the code so it's likely that VS 2013 is doing something weird.
Where are those warnings generated? There are some in the thrird-party libraries but those shouldn't matter. I though I fixed all other warnings that originated in my code.

 

Offline Yarn

  • 210
Re: TrueType font rendering
Clearing the CMake cache or rebuilding my project will not help as the issue is clearly one that would happen all the time. GCC and Clang are also happy with the code so it's likely that VS 2013 is doing something weird.
I was actually asking you to do that to see whether the problem would happen to you. This is mainly to check whether the problem occurs only with newly and cleanly generated project files. (And I forgot to include the step of deleting or moving the project files first; that should definitely be done if you try this.)

Where are those warnings generated? There are some in the thrird-party libraries but those shouldn't matter. I though I fixed all other warnings that originated in my code.
Most, but not all, of them do appear to come from third-party libraries.

The entire warning log (which I did say would be posted later today) is below. The numbers at the end of each section are line numbers. For the sake of completeness, I also included the two errors.

Code: [Select]
Warning
1
warning C4131: 'compress2' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\compress.c
23

Warning
2
warning C4131: 'inflateBackInit_' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
29

Warning
3
warning C4131: 'inflate_table' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inftrees.c
33

Warning
4
warning C4131: 'adler32' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\adler32.c
66

Warning
5
warning C4131: 'inflateResetKeep' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
105

Warning
6
warning C4131: 'deflateInit_' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
202

Warning
7
warning C4131: 'adler32_combine_' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\adler32.c
137

Warning
8
warning C4131: 'crc32' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
205

Warning
9
warning C4131: 'adler32_combine' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\adler32.c
166

Warning
10
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
217

Warning
11
warning C4131: 'inflate_fast' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inffast.c
68

Warning
12
warning C4131: 'crc32_little' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
248

Warning
13
warning C4131: 'adler32_combine64' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\adler32.c
174

Warning
14
warning C4131: 'crc32_big' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
288

Warning
15
warning C4131: 'gf2_matrix_times' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
328

Warning
16
warning C4131: 'gf2_matrix_square' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
345

Warning
17
warning C4131: 'crc32_combine_' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
356

Warning
18
warning C4131: 'deflateInit2_' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
215

Warning
19
warning C4131: 'crc32_combine' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
412

Warning
20
warning C4131: 'crc32_combine64' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\crc32.c
420

Warning
21
warning C4131: 'fixedtables' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
83

Warning
22
warning C4131: 'compress' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\compress.c
63

Warning
23
warning C4131: 'inflateBack' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
251

Warning
24
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
295

Warning
25
warning C4131: 'deflateSetDictionary' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
324

Warning
26
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
299

Warning
27
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
301

Warning
28
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
323

Warning
29
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
328

Warning
30
warning C4131: 'deflateResetKeep' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
393

Warning
31
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
329

Warning
32
warning C4131: 'deflateReset' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
428

Warning
33
warning C4131: 'deflateSetHeader' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
440

Warning
34
warning C4131: 'compressBound' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\compress.c
76

Warning
35
warning C4131: 'deflatePending' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
451

Warning
36
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
338

Warning
37
warning C4131: 'deflatePrime' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
465

Warning
38
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
343

Warning
39
warning C4131: 'deflateParams' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
491

Warning
40
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
344

Warning
41
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
360

Warning
42
warning C4131: 'deflateTune' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
532

Warning
43
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
362

Warning
44
warning C4131: 'deflateBound' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
567

Warning
45
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
364

Warning
46
warning C4131: 'putShortMSB' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
629

Warning
47
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
366

Warning
48
warning C4131: 'flush_pending' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
643

Warning
49
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
379

Warning
50
warning C4131: 'inflateReset' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
130

Warning
51
warning C4131: 'deflate' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
666

Warning
52
warning C4131: 'inflateReset2' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
143

Warning
53
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
381

Warning
54
warning C4131: 'inflateInit2_' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
181

Warning
55
warning C4244: '=' : conversion from 'int' to 'Bytef', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
811

Warning
56
warning C4131: 'inflateInit_' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
223

Warning
57
warning C4244: '=' : conversion from 'int' to 'Bytef', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
842

Warning
58
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
403

Warning
59
warning C4131: 'inflatePrime' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
231

Warning
60
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
406

Warning
61
warning C4131: 'fixedtables' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
262

Warning
62
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
411

Warning
63
warning C4131: 'deflateEnd' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
980

Warning
64
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
412

Warning
65
warning C4131: 'deflateCopy' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1015

Warning
66
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
420

Warning
67
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
423

Warning
68
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
424

Warning
69
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
427

Warning
70
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
430

Warning
71
warning C4131: 'read_buf' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1077

Warning
72
warning C4131: 'updatewindow' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
380

Warning
73
warning C4131: 'lm_init' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1107

Warning
74
warning C4131: 'inflate' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
606

Warning
75
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
634

Warning
76
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
431

Warning
77
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
645

Warning
78
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
434

Warning
79
warning C4131: 'longest_match' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1149

Warning
80
warning C4131: 'fill_window' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1391

Warning
81
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1404

Warning
82
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
484

Warning
83
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
649

Warning
84
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
650

Warning
85
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
488

Warning
86
warning C4131: 'deflate_stored' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1565

Warning
87
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
496

Warning
88
warning C4131: 'deflate_fast' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1629

Warning
89
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
504

Warning
90
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
671

Warning
91
warning C4244: 'initializing' : conversion from 'uInt' to 'uch', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1672

Warning
92
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
506

Warning
93
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
684

Warning
94
warning C4244: 'initializing' : conversion from 'uInt' to 'ush', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1672

Warning
95
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
508

Warning
96
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
688

Warning
97
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
516

Warning
98
warning C4131: 'deflate_slow' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1731

Warning
99
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
540

Warning
100
warning C4244: 'initializing' : conversion from 'uInt' to 'uch', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1797

Warning
101
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
702

Warning
102
warning C4244: 'initializing' : conversion from 'uInt' to 'ush', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1797

Warning
103
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
703

Warning
104
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
706

Warning
105
warning C4131: 'deflate_rle' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1862

Warning
106
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
542

Warning
107
warning C4244: 'initializing' : conversion from 'uInt' to 'uch', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1906

Warning
108
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
550

Warning
109
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
709

Warning
110
warning C4131: 'deflate_huff' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\deflate.c
1935

Warning
111
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
710

Warning
112
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
558

Warning
113
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
713

Warning
114
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
560

Warning
115
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
718

Warning
116
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
562

Warning
117
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
719

Warning
118
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
573

Warning
119
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
723

Warning
120
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
727

Warning
121
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
575

Warning
122
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
728

Warning
123
warning C4244: '=' : conversion from 'unsigned int' to 'Bytef', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
764

Warning
124
warning C4244: '=' : conversion from 'unsigned int' to 'Bytef', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
785

Warning
125
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
798

Warning
126
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
804

Warning
127
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
815

Warning
128
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
817

Warning
129
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
821

Warning
130
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
830

Warning
131
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
834

Warning
132
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
836

Warning
133
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
849

Warning
134
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
862

Warning
135
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
865

Warning
136
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
866

Warning
137
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
587

Warning
138
warning C4131: 'inflateBackEnd' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\infback.c
632

Warning
139
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
875

Warning
140
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
898

Warning
141
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
900

Warning
142
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
902

Warning
143
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
904

Warning
144
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
917

Warning
145
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
919

Warning
146
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
941

Warning
147
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
944

Warning
148
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
949

Warning
149
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
950

Warning
150
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
958

Warning
151
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
961

Warning
152
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
962

Warning
153
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
965

Warning
154
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
968

Warning
155
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
969

Warning
156
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
972

Warning
157
warning C4100: 'input_buf' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jctrans.c
272

Warning
158
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdapimin.c
153

Warning
159
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1023

Warning
160
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1025

Warning
161
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1034

Warning
162
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1042

Warning
163
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1044

Warning
164
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1047

Warning
165
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1072

Warning
166
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1074

Warning
167
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1084

Warning
168
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1092

Warning
169
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1094

Warning
170
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1097

Warning
171
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1109

Warning
172
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1111

Warning
173
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1176

Warning
174
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1193

Warning
175
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1200

Warning
176
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1206

Warning
177
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1231

Warning
178
warning C4131: 'inflateEnd' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1255

Warning
179
warning C4131: 'inflateGetDictionary' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1269

Warning
180
warning C4131: 'inflateSetDictionary' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1292

Warning
181
warning C4131: 'inflateGetHeader' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1327

Warning
182
warning C4131: 'syncsearch' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1355

Warning
183
warning C4131: 'inflateSync' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1378

Warning
184
warning C4131: 'uncompress' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\uncompr.c
25

Warning
185
warning C4131: 'inflateSyncPoint' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1429

Warning
186
warning C4131: 'inflateCopy' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1439

Warning
187
warning C4131: 'inflateUndermine' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1486

Warning
188
warning C4131: 'inflateMark' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\inflate.c
1503

Warning
189
warning C4131: '_tr_init' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
382

Warning
190
warning C4131: 'init_block' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
410

Warning
191
warning C4131: 'pqdownheap' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
454

Warning
192
warning C4131: 'gen_bitlen' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
489

Warning
193
warning C4131: 'gen_codes' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
576

Warning
194
warning C4244: '=' : conversion from 'unsigned int' to 'ush', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
602

Warning
195
warning C4131: 'build_tree' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
618

Warning
196
warning C4131: 'scan_tree' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
706

Warning
197
warning C4244: '+=' : conversion from 'int' to 'ush', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
726

Warning
198
warning C4131: 'send_tree' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
751

Warning
199
warning C4131: 'build_bl_tree' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
802

Warning
200
warning C4131: 'send_all_trees' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
837

Warning
201
warning C4131: 'zError' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\zutil.c
137

Warning
202
warning C4131: '_tr_stored_block' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
866

Warning
203
warning C4131: 'zcalloc' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\zutil.c
305

Warning
204
warning C4131: '_tr_flush_bits' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
883

Warning
205
warning C4131: '_tr_align' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
893

Warning
206
warning C4131: '_tr_flush_block' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
908

Warning
207
warning C4131: 'zcfree' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\zutil.c
315

Warning
208
warning C4131: '_tr_tally' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
1011

Warning
209
warning C4131: 'compress_block' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
1061

Warning
210
warning C4131: 'detect_data_type' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
1121

Warning
211
warning C4131: 'bi_reverse' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
1155

Warning
212
warning C4131: 'bi_flush' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
1170

Warning
213
warning C4131: 'bi_windup' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
1187

Warning
214
warning C4131: 'copy_block' : uses old-style declarator
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\zlib\trees.c
1206

Warning
215
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdatasrc.c
57

Warning
216
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdatasrc.c
196

Warning
217
warning C4244: '+=' : conversion from 'int' to 'JCOEF', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdarith.c
472

Warning
218
warning C4244: '+=' : conversion from 'int' to 'JCOEF', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdarith.c
474

Warning
219
warning C4244: '=' : conversion from 'int' to 'JCOEF', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdarith.c
480

Warning
220
warning C4244: '=' : conversion from 'int' to 'JCOEF', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdarith.c
482

Warning
221
warning C4100: 'wenvp' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libsdl\src\SDL_windows_main.c
142

Warning
222
warning C4100: 'sw' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libsdl\src\SDL_windows_main.c
163

Warning
223
warning C4100: 'szCmdLine' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libsdl\src\SDL_windows_main.c
163

Warning
224
warning C4100: 'hPrev' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libsdl\src\SDL_windows_main.c
163

Warning
225
warning C4100: 'hInst' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libsdl\src\SDL_windows_main.c
163

Warning
226
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdcolor.c
293

Warning
227
warning C4244: '+=' : conversion from 'int' to 'JCOEF', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdhuff.c
989

Warning
228
warning C4244: '+=' : conversion from 'int' to 'JCOEF', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdhuff.c
991

Warning
229
warning C4244: '+=' : conversion from 'int' to 'JCOEF', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdhuff.c
1023

Warning
230
warning C4244: '+=' : conversion from 'int' to 'JCOEF', possible loss of data
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdhuff.c
1025

Warning
231
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdcoefct.c
228

Warning
232
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
251

Warning
233
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
253

Warning
234
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
254

Warning
235
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
255

Warning
236
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
256

Warning
237
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
262

Warning
238
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
285

Warning
239
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
286

Warning
240
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
289

Warning
241
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
293

Warning
242
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
315

Warning
243
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
317

Warning
244
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
331

Warning
245
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
332

Warning
246
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
349

Warning
247
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
353

Warning
248
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
355

Warning
249
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
357

Warning
250
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
362

Warning
251
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
385

Warning
252
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
389

Warning
253
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
390

Warning
254
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
434

Warning
255
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
438

Warning
256
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
445

Warning
257
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
453

Warning
258
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
456

Warning
259
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
465

Warning
260
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
505

Warning
261
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
510

Warning
262
warning C4100: 'in_row_groups_avail' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdsample.c
92

Warning
263
warning C4100: 'compptr' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdsample.c
158

Warning
264
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdsample.c
158

Warning
265
warning C4100: 'input_data' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdsample.c
172

Warning
266
warning C4100: 'compptr' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdsample.c
171

Warning
267
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdsample.c
171

Warning
268
warning C4100: 'compptr' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdsample.c
234

Warning
269
warning C4100: 'compptr' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdsample.c
262

Warning
270
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
555

Warning
271
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
557

Warning
272
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
568

Warning
273
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
592

Warning
274
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
597

Warning
275
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
655

Warning
276
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
717

Warning
277
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
736

Warning
278
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
747

Warning
279
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
788

Warning
280
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
888

Warning
281
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
917

Warning
282
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
926

Warning
283
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
934

Warning
284
warning C4100: 'in_row_groups_avail' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmerge.c
146

Warning
285
warning C4100: 'out_rows_avail' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmerge.c
197

Warning
286
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
969

Warning
287
warning C4100: 'in_row_groups_avail' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmerge.c
195

Warning
288
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdmarker.c
970

Warning
289
warning C4100: 'out_rows_avail' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdpostct.c
162

Warning
290
warning C4100: 'output_buf' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdpostct.c
161

Warning
291
warning C4100: 'in_row_groups_avail' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdpostct.c
204

Warning
292
warning C4100: 'in_row_group_ctr' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdpostct.c
203

Warning
293
warning C4100: 'input_buf' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jdpostct.c
203

Warning
294
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
35

Warning
295
warning C4100: 'sizeofobject' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
41

Warning
296
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
41

Warning
297
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
55

Warning
298
warning C4100: 'sizeofobject' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
61

Warning
299
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
61

Warning
300
warning C4100: 'already_allocated' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
74

Warning
301
warning C4100: 'min_bytes_needed' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
73

Warning
302
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
73

Warning
303
warning C4100: 'total_bytes_needed' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
88

Warning
304
warning C4100: 'info' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
87

Warning
305
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
100

Warning
306
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemnobs.c
106

Warning
307
warning C4100: 'ci' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant1.c
245

Warning
308
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant1.c
245

Warning
309
warning C4100: 'ci' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant1.c
259

Warning
310
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant1.c
259

Warning
311
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant1.c
287

Warning
312
warning C4100: 'output_buf' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant2.c
225

Warning
313
warning C4127: conditional expression is constant
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jmemmgr.c
1044

Warning
314
warning C4100: 'is_pre_scan' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant1.c
741

Warning
315
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant1.c
798

Warning
316
warning C4100: 'cinfo' : unreferenced formal parameter
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\lib\libjpeg\jquant2.c
1156

Warning
317
warning C4018: '<=' : signed/unsigned mismatch
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\gamesnd\gamesnd.cpp
765

Warning
318
warning C4244: '=' : conversion from 'int' to 'float', possible loss of data (C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\graphics\paths\NVGRenderer.cpp)
c:\games\freespace2\fs2_open\asarium_ttf-nvg\code\graphics\paths\nanovg\nanovg_gl.h
900

Error
319
error C2280: 'std::unique_ptr<ubyte [],std::default_delete<_Ty>> &std::unique_ptr<_Ty,std::default_delete<_Ty>>::operator =(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)' : attempting to reference a deleted function
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\graphics\software\FontManager.cpp
326

Warning
320
warning C4005: 'HAVE_STDDEF_H' : macro redefinition (C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\jpgutils\jpgutils.cpp)
c:\games\freespace2\fs2_open\asarium_ttf-nvg\lib\libsdl\include\SDL_config.h
144

Warning
321
warning C4505: 'accurate_square_root' : unreferenced local function has been removed
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\math\fvi.cpp
25

Warning
322
warning C4505: 'rotate_z' : unreferenced local function has been removed
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\math\vecmat.cpp
1612

Warning
323
warning C4702: unreachable code
c:\games\freespace2\fs2_open\asarium_ttf-nvg\code\parse\parselo.cpp
698

Error
324
error LNK1181: cannot open input file '..\bin\Debug\code_d.lib'
C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\projects\MSVC_2013\freespace2\LINK


"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178

 

Offline m!m

  • 210
Re: TrueType font rendering
I tried again with new project files, no change.

The error doesn't make sense though. It may be an issue with TrueTypeFontData, can you post the full error message?

I changed the map insertion to use std::map::insert which should completely circumvent any copy assignment operators.

 

Offline Yarn

  • 210
Re: TrueType font rendering
Your change didn't solve the problem, but it did change the error message a bit.

Here are the full (I think) errors, both before and after the change:

Before:
Code: [Select]
8>C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\graphics\software\FontManager.cpp(326): error C2280: 'std::unique_ptr<ubyte [],std::default_delete<_Ty>> &std::unique_ptr<_Ty,std::default_delete<_Ty>>::operator =(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)' : attempting to reference a deleted function
8>          with
8>          [
8>              _Ty=ubyte []
8>          ]
8>          C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\memory(1620) : see declaration of 'std::unique_ptr<ubyte [],std::default_delete<_Ty>>::operator ='
8>          with
8>          [
8>              _Ty=ubyte []
8>          ]
8>          This diagnostic occurred in the compiler generated function 'font::TrueTypeFontData &font::TrueTypeFontData::operator =(const font::TrueTypeFontData &)'

After:
Code: [Select]
8>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xlocnum(155): error C2280: 'std::unique_ptr<ubyte [],std::default_delete<_Ty>>::unique_ptr(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)' : attempting to reference a deleted function
8>          with
8>          [
8>              _Ty=ubyte []
8>          ] (C:\Games\FreeSpace2\fs2_open\asarium_ttf-nvg\code\graphics\software\FontManager.cpp)
8>          C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\memory(1618) : see declaration of 'std::unique_ptr<ubyte [],std::default_delete<_Ty>>::unique_ptr'
8>          with
8>          [
8>              _Ty=ubyte []
8>          ]
8>          This diagnostic occurred in the compiler generated function 'font::TrueTypeFontData::TrueTypeFontData(const font::TrueTypeFontData &)'

I also tried deleting my local repository and reimported it from GitHub; no change.
"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178

 

Offline m!m

  • 210
Re: TrueType font rendering
I expected that it happened in the automatically generated constructor. I have no idea why the function gets referenced but I added custom copy and move constructors and operators which should at least narrow down where this issue happens.

 

Offline Yarn

  • 210
Re: TrueType font rendering
Yep, that fixed it. I'm able to compile and run it now.
"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178

 

Offline m!m

  • 210
Re: TrueType font rendering
Great, now I'll just have to find a good solution for that alignment issue and maybe I'll be able to debug that blurring issue at some point...

EDIT: I found a "solution" that reduces the alignment issues but it doesn't completely solve it. I also finally noticed that blurring issue although the documentation of the drawing library claims that all characters are drawn at pixel edges so I'm not sure what's the issue there...
« Last Edit: July 22, 2015, 04:07:29 pm by m!m »

 

Offline m!m

  • 210
Re: TrueType font rendering
I think I solved most of the blurring, the glyphs were indeed placed on non-integer coordinates which was not what the documentation promised.

I updated the builds in the first post with the newest version.

EDIT: Below is a picture showing two different methods of rendering the text (please ignore the lines above the text), which one looks better?
« Last Edit: July 24, 2015, 01:44:51 pm by m!m »

 

Offline Yarn

  • 210
Re: TrueType font rendering
I think the one on the right looks better.


And yes, the blurring issue appears to be gone.
"Your fighter is running out of oil.  Please check under the hood and add more if necessary"
--strings.tbl, entry 177

"Freespace is very tired.  It is shutting down to get some rest."
--strings.tbl, entry 178