Skip to content

Commit 32a52ee

Browse files
committed
Merge branch 'master' into autobuild/alpha_v380
2 parents 87c6ca2 + c6f8284 commit 32a52ee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+8417
-4366
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[![AppVeyor Build status](https://img.shields.io/appveyor/ci/c-lipka/povray-exwy4.svg?label=appveyor)](https://ci.appveyor.com/project/c-lipka/povray-exwy4 "AppVeyor: Windows Server 2012 with Visual Studio 2015")
66
[![Travis CI Build Status](https://img.shields.io/travis/POV-Ray/povray.svg?label=travis%20ci)](https://travis-ci.org/POV-Ray/povray "Travis CI: Ubuntu 12.04 LTE 64-bit with gcc 4.6; OS X 10.11 with clang 4.2")
77
[![Coverity Code Analysis](https://scan.coverity.com/projects/269/badge.svg)](https://scan.coverity.com/projects/pov-ray "Coverity: Static Code Analysis")
8-
[![Maintenance Status](https://img.shields.io/maintenance/yes/2018.svg)](README.md "Last edited 2018-05-22")
8+
[![Maintenance Status](https://img.shields.io/maintenance/yes/2019.svg)](README.md "Last edited 2019-01-03")
99

1010
- [License](#license)
1111
- [Forums](#forums)

changes.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ Changed Behaviour
6666
decided to not fix the change to work as originally intended, and instead
6767
only allow type mixing if the array has explicitly been declared as
6868
`mixed`. See the documentation for details.
69+
- The `defined()` pseudo-function now returns `true` (while printing a
70+
warning) if applied to reserved words. The `#ifdef` and `#ifndef` directives
71+
also behave accordingly.
6972
- The dithering implementation has been modified, and may produce slightly
7073
different results for otherwise identical scenes.
7174
- The PGM (greyscale variant of PPM) output gamma handling now matches that
@@ -74,6 +77,10 @@ Changed Behaviour
7477
- Greyscale output no longer automatically forces bit depth to 16 bpc. To get
7578
16 bpp greyscale output, explicitly specify `Bits_Per_Color=16`.
7679
- Preview now reflects greyscale setting.
80+
- The `charset` global setting has been deprecated and may no longer work as
81+
expected. Input files conforming to ASCII, UTF-8, Latin-1 or Windows-1252
82+
encoding will instead be auto-detected, while other encodings are currently
83+
unsupported.
7784

7885
New Features
7986
------------

distribution/include/ior.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@
184184
#declare ( iorPolycarbonate , optional dispPolycarbonate ) = ( iorPC , dispPC );
185185
#declare ( iorPolymethylmethacrylate , optional dispPolymethylmethacrylate ) = ( iorPMMA , dispPMMA );
186186
#declare ( iorPolystyrene , optional dispPolystyrene ) = ( iorPS , dispPS );
187-
#declare ( iorPolyvinylchloride , optional dispPolyvinylchloride ) = ( iorPVP , dispPVP );
187+
#declare ( iorPolyvinylchloride , optional dispPolyvinylchloride ) = ( iorPVC , dispPVC );
188188
#declare ( iorPolyvinylpyrrolidone , optional dispPolyvinylpyrrolidone ) = ( iorPVP , dispPVP );
189189

190190
// Plastics Trademarks

revision.txt

Lines changed: 288 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,294 @@ Notes:
3535
POV-Ray v3.8.0-???
3636
------------------------------------------------------------------------------
3737

38+
Commit c341c943 on 2019-01-11 by Christoph Lipka
39+
40+
Merge branch 'refactor/tokenizer'
41+
42+
Commit 21241276 on 2019-01-11 by Christoph Lipka
43+
44+
[parser] Earmark text primitive `cmap` extension as experimental.
45+
46+
Commit 90afa652 on 2019-01-11 by Christoph Lipka
47+
48+
Parser code cleanup, comments and character encoding changes.
49+
Also changes to TrueType handling code related to character mapping.
50+
51+
Commit 99ce66ab on 2019-01-03 by Christoph Lipka
52+
53+
[parser] Eliminate loop from `Parse_Directive()`.
54+
55+
Commit f0b7ee29 on 2019-01-02 by Christoph Lipka
56+
57+
[parser] Add more experimental assertions.
58+
59+
Commit 83ff9486 on 2019-01-02 by Christoph Lipka
60+
61+
[parser] Eliminate some potential issues related to token counting.
62+
63+
Commit c89f597a on 2019-01-02 by Christoph Lipka
64+
65+
[parser] More refactoring related to symbol tables.
66+
67+
Commit 72433b2f on 2019-01-02 by Christoph Lipka
68+
69+
Pull task management out of Parser module.
70+
71+
Commit 143614db on 2018-12-16 by Christoph Lipka
72+
73+
[parser] Move symbol table handling into separate class.
74+
75+
Commit 73726447 on 2018-12-15 by Christoph Lipka
76+
77+
[parser] Remove some obsolete constants.
78+
79+
Commit a659aac9 on 2018-12-12 by Christoph Lipka
80+
81+
[base] Change some string parameters from C-style to C++-style.
82+
83+
Commit 8c5cf5e7 on 2018-12-12 by Christoph Lipka
84+
85+
[parser] Change some C-style strings to C++-style strings.
86+
87+
Commit d806f661 on 2018-12-11 by Christoph Lipka
88+
89+
[parser] More miscellaneous refactoring.
90+
91+
Commit 7d8dc2db on 2018-12-09 by Christoph Lipka
92+
93+
[parser] Fix build error introduced with previous commit.
94+
95+
Commit 7c85b488 on 2018-12-08 by Christoph Lipka
96+
97+
[parser] Miscellaneous refactoring.
98+
99+
Commit 4eb65137 on 2018-12-08 by Christoph Lipka
100+
101+
[parser] Fix a memory leak.
102+
103+
Commit 8e2d4495 on 2018-11-28 by Christoph Lipka
104+
105+
Merge branch 'master' into refactor/tokenizer
106+
107+
Commit 063e6a9e on 2018-09-23 by Christoph Lipka
108+
109+
Merge branch 'master' into refactor/tokenizer
110+
111+
Commit 730c137d on 2018-09-19 by Christoph Lipka
112+
113+
Merge branch 'master' into refactor/tokenizer
114+
115+
Commit 7361007d on 2018-09-19 by Christoph Lipka
116+
117+
[parser] Fix parse error when a macro invocation is immediately followed
118+
by the end of file.
119+
120+
Commit d4e74268 on 2018-09-18 by Christoph Lipka
121+
122+
Fix crash trying to read a density file.
123+
124+
Commit c661589c on 2018-09-17 by Christoph Lipka
125+
126+
[parser] Clean up behaviour regarding dictionaries and `#ifdef`.
127+
128+
Commit 06f9a321 on 2018-09-17 by Christoph Lipka
129+
130+
Merge branch 'master' into refactor/tokenizer
131+
132+
Commit 33b5edc9 on 2018-09-12 by Christoph Lipka
133+
134+
Merge branch 'master' into refactor/tokenizer
135+
136+
Commit aa871435 on 2018-06-02 by Christoph Lipka
137+
138+
Trim obsolete code from string handling in parser.
139+
140+
- `String_Literal_To_UCS2` was found to only be called in contexts
141+
where string encoding is inevitably set to ASCII, and with `pathname`
142+
parameter set to `false`.
143+
- `String_To_UCS2` was found to only be called with pure ASCII strings,
144+
except potentially when parsing the `datetime()` function (first
145+
introduced in v3.7) with `#version` set to a pre-v3.5 version.
146+
147+
Commit db025cfd on 2018-06-01 by Christoph Lipka
148+
149+
Re-implement support for UTF-8 encoded source files with signature BOM.
150+
151+
Commit fa25626c on 2018-06-01 by Christoph Lipka
152+
153+
Minor cleanup of parser code.
154+
155+
Commit ac88d0e7 on 2018-05-31 by Christoph Lipka
156+
157+
Re-enable `#read` statement.
158+
159+
Commit 9a2cd33e on 2018-05-31 by Christoph Lipka
160+
161+
Minor refactoring of `#for` loop code.
162+
163+
Commit a5e8ee62 on 2018-05-24 by Christoph Lipka
164+
165+
Re-enable version-dependent handlng of backslashes in file name literals.
166+
167+
Commit af7e2a8e on 2018-05-23 by Christoph Lipka
168+
169+
Improve scanner performance.
170+
171+
Commit eae2d4c6 on 2018-05-23 by Christoph Lipka
172+
173+
Re-enable macro caching.
174+
175+
Commit 8e915f7d on 2018-05-23 by Christoph Lipka
176+
177+
Fix scanner/tokenizer errors getting reported as "unknown error".
178+
179+
Commit 51e3aaa2 on 2018-05-22 by Christoph Lipka
180+
181+
Merge branch 'master' into refactor/tokenizer
182+
183+
Commit e3036cb9 on 2018-05-22 by Christoph Lipka
184+
185+
Fix another build error on clang/Mac.
186+
187+
Commit 4e414697 on 2018-05-22 by Christoph Lipka
188+
189+
Fix build errors in previous commit.
190+
191+
Commit e53e181e on 2018-05-22 by Christoph Lipka
192+
193+
Redesign parser scanner/tokenizer stage.
194+
195+
Commit 85db57d9 on 2019-01-11 by Christoph Lipka
196+
197+
[ci skip] Update change log.
198+
199+
Commit 851c3e3d on 2019-01-03 by Christoph Lipka
200+
201+
[ci skip] Fix bug in `ior.inc`.
202+
203+
------------------------------------------------------------------------------
204+
POV-Ray v3.8.0-alpha.9945627
205+
------------------------------------------------------------------------------
206+
207+
Commit a9eb1a62 on 2018-11-28 by Christoph Lipka
208+
209+
[parser] Fix dynamically-sized array initializer causing the parser to
210+
lock up.
211+
Also fix a debug assertion along the way.
212+
213+
Commit a969d8fe on 2018-10-29 by Christoph Lipka
214+
215+
[ci skip] Update docs.
216+
217+
------------------------------------------------------------------------------
218+
POV-Ray v3.8.0-alpha.9893777
219+
------------------------------------------------------------------------------
220+
221+
Commit 55afc36b on 2018-10-21 by Christoph Lipka
222+
223+
[parser] Fix bug trying to undefine a dictionary element.
224+
225+
Commit c3fec22c on 2018-10-21 by Christoph Lipka
226+
227+
Fix dithering being stuck to Stucki.
228+
229+
Commit f2ebbb75 on 2018-10-01 by Christoph Lipka
230+
231+
[base] Fix resource leak introduced with recent commit 7b8df044
232+
(CID 1439830).
233+
234+
------------------------------------------------------------------------------
235+
POV-Ray v3.8.0-alpha.9861167
236+
------------------------------------------------------------------------------
237+
238+
Commit fa813f12 on 2018-10-01 by Christoph Lipka
239+
240+
Move lonely gamma sample scene from `scenes/gamma` to `scenes/output`.
241+
242+
Commit 7b8df044 on 2018-09-30 by Christoph Lipka
243+
244+
Change output handling.
245+
246+
- Add support for bit depths as low as 1 bpc.
247+
- Add support for low-depth greyscale output.
248+
- Add support for greyscale preview.
249+
- Change PGM gamma handling.
250+
- Add more dither algorithms, including blue noise ordered dither.
251+
252+
Also refactor some related code.
253+
254+
Commit b2972995 on 2018-09-28 by Christoph Lipka
255+
256+
Overhaul "meta-make" process to use a proper makefile.
257+
258+
Commit c0cb3c66 on 2018-09-26 by Christoph Lipka
259+
260+
Miscellaneous changes to dithering implementation.
261+
262+
------------------------------------------------------------------------------
263+
POV-Ray v3.8.0-alpha.9850723
264+
------------------------------------------------------------------------------
265+
266+
Commit 7bcbea72 on 2018-09-23 by Christoph Lipka
267+
268+
[parser] Implement mixed-type arrays at last, albeit with a change to
269+
syntax. Also refactor array related code.
270+
271+
Commit b5b17eaa on 2018-09-19 by Christoph Lipka
272+
273+
[parser] Change defaults to no longer be determined by very first
274+
`#version` statement.
275+
Instead, subsequent `#version` statements may switch defaults back and
276+
forth until the first `default` statement.
277+
278+
Commit 45347628 on 2018-09-19 by Christoph Lipka
279+
280+
[core] Remove an assertion from `VectorPool` class that turned out to
281+
be violated, adding a corresponding comment.
282+
283+
Commit 9f9b392e on 2018-09-19 by Christoph Lipka
284+
285+
[parser] Modify bicubic patch and matrix syntax to allow for trailing
286+
commas.
287+
288+
------------------------------------------------------------------------------
289+
POV-Ray v3.8.0-alpha.9844500
290+
------------------------------------------------------------------------------
291+
292+
Commit 425aa488 on 2018-09-19 by Christoph Lipka
293+
294+
[core] Amendment to previous commit.
295+
296+
Commit 6d0e6f93 on 2018-09-19 by Christoph Lipka
297+
298+
[core] Fix memory leak in `VectorPool` class.
299+
300+
Commit 68c73806 on 2018-09-17 by Christoph Lipka
301+
302+
[core] Fix a coding flaw in `randomsequence.cpp` function
303+
`Uniform2dOnSquare()`.
304+
305+
------------------------------------------------------------------------------
306+
POV-Ray v3.8.0-alpha.9841009
307+
------------------------------------------------------------------------------
308+
309+
Commit 8c1eb72b on 2018-09-17 by Christoph Lipka
310+
311+
Add anti-aliasing mode 3 (port from UberPOV).
312+
313+
Also add some bits of infrastructure for future optimization and better
314+
co-operation of various stochastic features like jittered area lights,
315+
jittered media sampling, subsurface light transport and the like.
316+
317+
Commit 8fc5463e on 2018-09-13 by Christoph Lipka
318+
319+
Fix bug in `f_enneper` inbuilt isosurface function detected by static
320+
code analysis (CID 1372542-1372544).
321+
322+
Commit 508f60cf on 2018-09-12 by Christoph Lipka
323+
324+
Update change log.
325+
38326
Commit 915abb22 on 2018-09-12 by Christoph Lipka
39327

40328
Fix uninitialized variables in photons code discovered by static code

source/backend/configbackend.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
/// @parblock
1111
///
1212
/// Persistence of Vision Ray Tracer ('POV-Ray') version 3.8.
13-
/// Copyright 1991-2018 Persistence of Vision Raytracer Pty. Ltd.
13+
/// Copyright 1991-2019 Persistence of Vision Raytracer Pty. Ltd.
1414
///
1515
/// POV-Ray is free software: you can redistribute it and/or modify
1616
/// it under the terms of the GNU Affero General Public License as
@@ -94,7 +94,7 @@ static_assert(
9494
/// @note
9595
/// The macro is responsible for creating a sufficiently large result buffer, using @ref POV_MALLOC().
9696
/// @note
97-
/// The result must be a genuine UCS2 string. UCS4/Unicode characters outside the Base Multilingual Plane
97+
/// The result must be a genuine UCS2 string. UCS4/Unicode characters outside the Basic Multilingual Plane
9898
/// are not supported.
9999
///
100100
/// @param[in] ts Null-terminated byte sequence to convert.

source/backend/control/messagefactory.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
/// @parblock
99
///
1010
/// Persistence of Vision Ray Tracer ('POV-Ray') version 3.8.
11-
/// Copyright 1991-2018 Persistence of Vision Raytracer Pty. Ltd.
11+
/// Copyright 1991-2019 Persistence of Vision Raytracer Pty. Ltd.
1212
///
1313
/// POV-Ray is free software: you can redistribute it and/or modify
1414
/// it under the terms of the GNU Affero General Public License as
@@ -63,15 +63,15 @@ MessageFactory::~MessageFactory()
6363
{}
6464

6565
void MessageFactory::SendMessage(MessageClass mc, WarningLevel level, const char *text,
66-
const UCS2 *filename, POV_LONG line, POV_LONG column, POV_OFF_T offset)
66+
const UCS2String& filename, POV_LONG line, POV_LONG column, POV_OFF_T offset)
6767
{
6868
POVMSObject msg;
6969
unsigned int msgIdent;
7070

7171
(void)POVMSObject_New(&msg, kPOVObjectClass_ControlData);
7272

73-
if (filename != nullptr)
74-
(void)POVMSUtil_SetUCS2String(&msg, kPOVAttrib_FileName, filename);
73+
if (!filename.empty())
74+
(void)POVMSUtil_SetUCS2String(&msg, kPOVAttrib_FileName, filename.c_str());
7575
if (line != -1)
7676
(void)POVMSUtil_SetLong(&msg, kPOVAttrib_Line, line);
7777
if (column != -1)

source/backend/control/messagefactory.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
/// @parblock
99
///
1010
/// Persistence of Vision Ray Tracer ('POV-Ray') version 3.8.
11-
/// Copyright 1991-2018 Persistence of Vision Raytracer Pty. Ltd.
11+
/// Copyright 1991-2019 Persistence of Vision Raytracer Pty. Ltd.
1212
///
1313
/// POV-Ray is free software: you can redistribute it and/or modify
1414
/// it under the terms of the GNU Affero General Public License as
@@ -63,7 +63,7 @@ class MessageFactory : public GenericMessenger
6363
RenderBackend::ViewId viewId;
6464

6565
virtual void SendMessage(MessageClass mc, WarningLevel level, const char *text,
66-
const UCS2 *filename = nullptr, POV_LONG line = -1, POV_LONG column = -1, POV_OFF_T offset = -1);
66+
const UCS2String& filename = u"", POV_LONG line = -1, POV_LONG column = -1, POV_OFF_T offset = -1) override;
6767
};
6868

6969
}

0 commit comments

Comments
 (0)