forked from worldforge/mercator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
1566 lines (997 loc) · 50.2 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2011-02-13 Al Riddoch <[email protected]>
* Release 0.3.0, interface version 1
2011-02-12 Al Riddoch <[email protected]>
* Major overhaul of the area and mod systems removing code
duplication, and to make them more consistent. Allow areas
and terrain mods to be updated in place. Fix a number of issues
and memory leaks.
2010-11-14 Al Riddoch <[email protected]>
* NEWS: Update news.
* Release 0.2.9, interface version 8
2010-11-12 Al Riddoch <[email protected]>
* Mercator/Segment.h: Add an accessor so the mods stored in a segment
are accessible for testing.
* Mercator/TerrainMod.cpp, Mercator/TerrainMod.h: Add support for
storing context data from the application in each terrain mod
object.
2010-08-19 Al Riddoch <[email protected]>
* NEWS: Update news.
* Release 0.2.8, interface version 7
2010-08-19 Al Riddoch <[email protected]>
* Mercator/Buffer.h, Mercator/DepthShader.cpp,
Mercator/GrassShader.cpp, Mercator/ShaderFactory.cpp,
Mercator/ThresholdShader.cpp, Mercator/TileShader.cpp:
Remove <cassert> from the library headers.
* Mercator/Segment.cpp, Mercator/Segment.h,
Mercator/Terrain.cpp, Mercator/Terrain.h: Modify the interface
to refer to Areas and Shaders as const where appropriate.
* Mercator/TerrainMod.cpp, Mercator/TerrainMod,h: Remove a large
inline function.
2009-02-25 Al Riddoch <[email protected]>
* tests/testTerrain.cpp: Add required cstdlib include to get rand().
2009-02-25 Al Riddoch <[email protected]>
* mercator.spec.in: Add Packager tag. Fix the included docs to be
consistent with other packages.
2009-02-24 Al Riddoch <[email protected]>
* configure.ac: Increment version.
* NEWS: Update news.
* Release 0.2.7, interface version 6
2009-01-12 Al Riddoch <[email protected]>
* Mercator/GrassShader.cpp: Add required <cmath> include.
2009-01-04 Simon Goodall <[email protected]>
* Mercator/Terrain.cpp, Mercator/Terrain.h: Add a removeShader method
to remove previously added shaders. Fix removeArea so that surfaces
with no areas are removed.
2009-01-04 Simon Goodall <[email protected]>
* Mercator/Segment.cpp: Fix iterator erase logic in removeArea. Erase
invalidates iterators.
2008-11-10 Al Riddoch <[email protected]>
* tests/testForest.cpp, tests/testPlant.cpp: Fix a warning caused
by defining DEBUG to force asserts in the tests.
2008-11-09 Al Riddoch <[email protected]>
* tests/testForest.cpp, tests/testPlant.cpp: Force debug mode before
including asserts so checks are always run.
2008-11-08 Al Riddoch <[email protected]>
* Mercator/Terrain.cpp: Convert #warnings to FIXMEs.
2008-11-04 Al Riddoch <[email protected]>
* configure.ac: Added AC_PROG_CXX as it is required to set up the
C++ compiler correctly.
2008-08-14 Al Riddoch <[email protected]>
* NEWS: Update news.
* Release 0.2.6
2008-08-14 Al Riddoch <[email protected]>
* mercator.spec.in: Remove packager tag, as it should be
set in the packagers macros.
2008-08-14 Al Riddoch <[email protected]>
* Mercator/Terrain.cpp: When created a new Segment, apply existing
mods now that we actually store them in the right place.
2008-08-14 Al Riddoch <[email protected]>
* Mercator/Segment.cpp, Mercator/Segment.h: Make
Segment::clipToSegment() public as it's useful, and const as
it should be.
2008-08-14 Al Riddoch <[email protected]>
* Mercator/Terrain.cpp, Mercator/Segment.cpp: Redefine the x and y
reference for the terrain to be in world coords, not grid offset,
to simplify the arithmetic considerably.
2008-08-14 Al Riddoch <[email protected]>
* Mercator/Terrain.h: Accompany each stored mod with information
about its bbox at the time it was added, so we can more effectively
move it around.
* Mercator/Terrain.cpp: Implement moving mods around more effectively.
2008-08-14 Al Riddoch <[email protected]>
* Mercator/Terrain.h: Accompany each stored area with information
about its bbox at the time it was added, so we can more effectively
move it around.
* Mercator/Terrain.cpp: Implement moving areas around more
effectively.
2008-08-13 Al Riddoch <[email protected]>
* Mercator/Segment.cpp, Mercator/Segment.h: Remove code that handled
ownership of allocated terrain mods, as Terrain now owns them.
Implement API for removing an individual TerrainMod. Convert
storage over to a set for easy removal.
* Mercator/Terrain.cpp, Mercator/Terrain.h: Add storage for terrain
mods. Flesh out the API for mods and areas allowing them
to be modified in place, and allowing mods to be removed.
* tests/testArea.cpp: Add test stub for removing terrain mods.
2008-08-13 Al Riddoch <[email protected]>
* Mercator/Terrain.cpp: Don't mess around with surface data
for segments which don't intersect with a modifier.
2008-08-12 Al Riddoch <[email protected]>
* configure.ac: Increment the interface version as the API has
changed.
2008-08-12 Al Riddoch <[email protected]>
* Mercator/Segment.cpp, Mercator/Segment.h,
Mercator/Terrain.cpp, Mercator/Terrain.h:
Add new interface to remove Area mods from the terrain.
* tests/testArea.cpp: Update the tests to cover removeArea().
2008-08-07 Al Riddoch <[email protected]>
* Mercator/Segment.cpp: Fix applyMod() so it correctly calculates
mod offset in segments other than 0,0.
* tests/testTerrainMod.cpp: Re-order setup of modified terrain
in such an order that the modifiers actually have an effect.
2008-08-04 Al Riddoch <[email protected]>
* Mercator/Terrain.cpp: Fix one of the more obvious gratuitous
ineffeciencies. Use I_ROUND rather than integer casting.
Add some debug code for debugging issues with modifiers.
2008-07-02 Erik Hjortsberg <[email protected]>
* Mercator/Segment.cpp: Delete surfaces at shut down, else we'll have
a memory leak.
2008-07-01 Alexey Torkhov <[email protected]>
* Mercator/RandCache.h, Mercator/AreaShader.h,
Mercator/AreaShader.cpp: Add standard headers required by
versions of GCC 4.3 or later.
2007-11-25 Al Riddoch <[email protected]>
* mercator.spec.in: Break out the static libraries into their own
package. Add a new sub package for the documentation.
* Doxyfile: Do an automated update of the doxygen configuration.
2007-11-05 Al Riddoch <[email protected]>
* acinclude.m4: Update to the latest pkgconfig check macros.
* configure.ac: Use the latest pkgconfig macros, provide more useful
error messages when libraries can't be found. Increment the version
number for future release.
* NEWS: Add news to test distribution of latest version.
* AUTHORS: Update maintainers email address.
* mercator.spec.in: Disable dependencies, and use multiple CPU cores
when building the rpm.
2007-11-05 Al Riddoch <[email protected]>
* tests/testForest.cpp: Add some more straightforward coverage.
2007-09-22 Al Riddoch <[email protected]>
* Doxyfile: Update to a more recent version.
2007-09-20 Al Riddoch <[email protected]>
* Mercator/Area.cpp, Mercator/Area.h, Mercator/AreaShader.cpp,
Mercator/AreaShader.h, Mercator/BasePoint.h, Mercator/RandCache.h:
Add doc comments for some members.
2007-09-20 Al Riddoch <[email protected]>
* Mercator/Buffer.h, Mercator/DepthShader.h, Mercator/FillShader.h,
Mercator/GrassShader.h, Mercator/RandCache.h, Mercator/Segment.cpp,
Mercator/ThresholdShader.h: Add doc comments for some members.
2007-09-20 Al Riddoch <[email protected]>
* Mercator/Segment.cpp, Mercator/ShaderFactory.cpp,
Mercator/ShaderFactory.h, Mercator/ThresholdShader.h: Add doc
comments for some members.
2007-09-18 Al Riddoch <[email protected]>
* Mercator/Area.cpp, Mercator/Forest.h, Mercator/Surface.cpp,
Mercator/Surface.h, Mercator/TileShader.h: Add doc comments for
some members.
2007-09-18 Al Riddoch <[email protected]>
* Mercator/Area.cpp, Mercator/Area.h, Mercator/AreaShader.cpp,
Mercator/AreaShader.h, Mercator/BasePoint.h, Mercator/Buffer.h,
Mercator/DepthShader.h, Mercator/FillShader.h, Mercator/Forest.h,
Mercator/GrassShader.h, Mercator/RandCache.h, Mercator/Segment.cpp,
Mercator/ShaderFactory.h, Mercator/Surface.h,
Mercator/ThresholdShader.h, Mercator/TileShader.h: Add doc comments
for all compounds and types. Many members now to be done.
2007-09-17 Al Riddoch <[email protected]>
* Mercator/Forest.cpp, Mercator/Forest.h, Mercator/Plant.h,
Mercator/Segment.cpp, Mercator/Segment.h, Mercator/Shader.h,
Mercator/Terrain.cpp, Mercator/Terrain.h, Mercator/TerrainMod.h:
Add doxygen comments documenting all members that area currently
reported as undocumented.
2007-09-17 Al Riddoch <[email protected]>
c Mercator/TerrainMod.h: Add some API documentation to the naughty
undocumented classes.
2007-08-11 Al Riddoch <[email protected]>
* Mercator/Forest.cpp: Ensure any subsequent species candidates
are skipped once the species for a given node has been instanced.
* tests/testForest.cpp: Test the plant counts increase in the
expected proportions as species are added.
2007-08-11 Al Riddoch <[email protected]>
* Mercator/Forest.cpp, Mercator/Forest.h: Shuffle the namespacing
around a little to make code less verbose and clearer.
* tests/testForest.cpp: Add tests to cover the new species code.
2007-08-10 Al Riddoch <[email protected]>
* Mercator/Forest.cpp, Mercator/Forest.h, Mercator/Plant.h:
First pass at re-implementing the forest code as a flexible
general case, rather than a quick hack.
2006-08-22 Al Riddoch <[email protected]>
* configure.ac: Increment version number.
* NEWS: Update news.
* Release 0.2.5
2006-01-03 Al Riddoch <[email protected]>
* configure.ac, Mercator/iround.h, Mercator/GrassShader.cpp,
Mercator/Segment.cpp: Add macro for absolute value of floating
point numbers. Check for fabsf() and fall back to fabs() on non
C99 systems.
2005-12-02 James Turner <[email protected]>
* Add X-Code 2.0 project file (ProjectBuilder project will be deleted
shortly).
2005-07-13 Al Riddoch <[email protected]>
* Mercator/BasePoint.h: Re-order "const static" to "static const"
to eliminate some warnings.
2005-06-16 Al Riddoch <[email protected]>
* configure.ac: Increment version number.
* NEWS: Update news.
* Releases 0.2.4
2005-06-14 Al Riddoch <[email protected]>
* Mercator/DepthShader.cpp, Mercator/DepthShader.h,
Mercator/GrassShader.cpp, Mercator/GrassShader.h,
Mercator/ThresholdShader.cpp, Mercator/ThresholdShader.h:
Move static variable definitions into the cpp files, as gcc 4
isn't happy otherwise.
2005-06-11 Al Riddoch <[email protected]>
* configure.ac: Increment interface version.
* NEWS: Update NEWS.
* Release 0.2.3
2005-06-02 Al Riddoch <[email protected]>
* Mercator/DepthShader.cpp, Mercator/DepthShader.h,
Mercator/GrassShader.cpp, Mercator/GrassShader.h,
Mercator/ThresholdShader.cpp, Mercator/ThresholdShader.h:
Rename static variables that hold parameter key strings
to be prefixed with key_. Add static variables to hold the
default values of parameters. Make sure the default values
of parameters are set in the constructor that takes named
paramters. Add accessors for all shader parameters.
* tests/testShaderFactory.cpp: Add code to test whether shaders
correctly set their paramaters when passes in as named paramters.
Includes check to make sure parameters all default to the right
value.
2005-05-28 Al Riddoch <[email protected]>
* Mercator/GrassShader.cpp: Added missing static variable definitions.
2005-05-28 Al Riddoch <[email protected]>
* configure.ac: Increment version for dependency handling.
* Mercator/DepthShader.h, Mercator/GrassShader.h,
Mercator/ThresholdShader.h: Add static string variable declarations
for parameter names for shaders that take parameters. Provide a more
in depth explanation of the algorithm used by GrassShader.
* Mercator/DepthShader.cpp, Mercator/FillShader.cpp,
Mercator/GrassShader.cpp, Mercator/ThresholdShader.cpp:
Implement the code in the Parameters version of the constructor
to set the parameters of the shader by named values.
2005-05-24 James Turner <[email protected]>
* Mercator/Area.cpp: fix ::checkIntersect to handle the case where
the Area is fully contained by a segment.
2005-05-18 Al Riddoch <[email protected]>
* tests/testWFMath.cpp: Clear up some of the reporting.
2005-05-18 Al Riddoch <[email protected]>
* tests/testWFMath.cpp, tests/Makefile.am: Add a test for wfmath
Intersect functions.
2005-05-18 Al Riddoch <[email protected]>
* tests/testShaderFactory.cpp: Forgot to add test.
2005-05-17 Al Riddoch <[email protected]>
* Mercator/TileShader.cpp: Delete subShaders from destructor.
* Mercator/DepthShader.cpp, Mercator/DepthShader.h,
Mercator/FillShader.cpp, Mercator/FillShader.h,
Mercator/GrassShader.cpp, Mercator/GrassShader.h,
Mercator/ThresholdShader.cpp, Mercator/ThresholdShader.h,
Mercator/Shader.h: Add a second constructor to all shaders
which takes a generic parameter map type, to allow creation
of shaders to be automated.
* Mercator/ShaderFactory.h, Mercator/ShaderFactory.cpp,
Mercator/ShaderFactory_impl.h: New factory classes to handle
creating shaders from a string giving the shader type.
* tests/testShaderFactory.cpp: Test for new shader factory classes.
2005-05-09 James Turner <[email protected]>
* Mercator/AreaShader.cpp: zero out the Buffer before shading it,
to avoid problems if the memory allocator doesn't zero it for us.
2005-05-08 Al Riddoch <[email protected]>
* NEWS: Set date on 0.2.2 release entry.
* configure.ac: Increment interface version for release.
* Release 0.2.2, interface version 3.
2005-05-08 James Turner <[email protected]>
* Mercator/Terrain.cpp: when adding an area, if the segment already has
a shader for the area's layer, mark the surface as invalid.
* Mercator/Segment.h, Mercator/Segment.cpp: rename 'getBox' to 'getRect',
and make a real 'getBox' that returns an AxisBox<3>, where the z values
are defined by the min and max height of the segment.
* Mercator/AreaShader.cpp: update for the changed Segment API
2005-05-08 Al Riddoch <[email protected]>
* Mercator/Area.cpp, Mercator/Area.h, Mercator/Buffer.h,
Mercator/Buffer_impl.h, Mercator/GrassShader.cpp,
Mercator/Shader.cpp, Mercator/Shader.h, Mercator/Surface.cpp,
Mercator/Surface.h: Surfaces now have a const reference to Segment
so they can't modify the Segment data.
2005-05-05 Al Riddoch <[email protected]>
* Mercator/Segment.h: Add accessor for segment position on the
basepoint grid.
2005-04-30 Al Riddoch <[email protected]>
* acinclude.m4: Remove unused CPPUnit macro, and add required
pkg-config macro.
2005-04-30 Al Riddoch <[email protected]>
* NEWS: Add a pending news item for the upcoming release.
* configure.ac: Update autoconf usage. Remove MERCATOR_VERSION.
* tests/Makefile.am: Add test*.pgm to the DISTCLEANFILES so that
distcheck runs cleanly.
2005-04-23 Al Riddoch <[email protected]>
* mercator.spec.in: Remove some unnecessary Requires lines from the
rpm spec.
2005-04-21 Al Riddoch <[email protected]>
* Mercator/TileShader.cpp: Fix shader so it allocates surface store
before shading, and does not attempt to shade subsurfaces that will
contain no data.
2005-04-21 Al Riddoch <[email protected]>
* Mercator/TileShader.h, Mercator/TileShader.cpp: Implement shading
the tile buffer, and method required to add sub shaders.
* tests/testTileShader.cpp: Unit test for TileShader.
2005-04-21 Al Riddoch <[email protected]>
* Mercator/Terrain.h: Fix documentation comment now that member
has been changed.
* Mercator/TileShader.h, Mercator/TileShader.cpp:
Starting point for new class to handle determining what the
surface is made of.
2005-04-12 James Turner <[email protected]>
* Mercator/Terrain.cpp: when adding an area to a segment, check if
any shaders now intersect the segment, and if so, add a surface for
them.
* Mercator/Terrain.cpp: re-order Segment building code in setBasePoint,
so areas are added before surfaces.
* Mercator/Segment.cpp, Mercator/Segment.h: factor segment invalidation
into a helper method, and invalidate segments when an Area is added
to a Segment.
* Mercator/Area.cpp: remove debug code.
2005-04-12 Al Riddoch <[email protected]>
* tests/testShader.cpp: Check if a shader being tested intersects with
a given Segment before attempting to populate it.
2005-04-12 Al Riddoch <[email protected]>
* Mercator/Terrain.cpp, Mercator/Segment.cpp: Fix use of iterators
in for loops to be more efficient.
2005-04-12 James Turner <[email protected]>
* Mercator/Terrain.cpp: formatting / style changes to appease the
great dark lord of Soton.
2005-04-12 James Turner <[email protected]>
* Mercator/Shader.h: change checkIntersects to work on Segments
(as the comments suggest it originally did).
* Mercator/Terrain.cpp, Mercator/Terrain.h: when adding a shader,
clients must now specify a unique integer ID, which is used
to identify the shader in a Segment's surfacestore. As a result,
the Shaderstore is now a std::map<>. When adding shaders to
a Segment, checkIntersects is now used to only add shaders which
affect the segment.
* Mercator/Segment.cpp, Mercator/Segment.h: change Surfacestore to
be sparse, implement as a map, where the index value is the ID of
the shader which generated the surface.
* Mercator/AreaShader.cpp, Mercator/AreaShader.h,
Mercator/DepthShader.h, Mercator/DepthShader.cpp,
Mercator/FillShader.cpp, Mercator/FillShader.h,
Mercator/GrassShader.cpp, Mercator/GrassShader.h,
Mercator/ThresholdShader.cpp, Mercator/ThresholdShader.h:
update the revised shader API. In all cases the only change is
removed a level of indirection, since every implementation of
checkIntersect simply called 's.m_segment' to do useful work.
* tests/testArea.cpp, tests/testTerrain.cpp: update tests for new
shader API.
2005-04-11 James Turner <[email protected]>
* tests/timeSeg.cpp: fix up for changes to Forest API.
2005-04-10 Al Riddoch <[email protected]>
* Mercator/Area.h: Fix bbox() accessor to return by reference, and
add an accessor for the area polygon.
* configure.ac: Bump version to 0.2.2, so apps can test for new
Forest and Area API.
2005-04-10 James Turner <[email protected]>
* Mercator/Forrest.cpp, Mercator/Forrest.h: make Forrest objects own
an area, replacing their own Box + Polygon storage, which was
only partially supported.
* tests/testForrest.cpp: update for changed Forrest API
* Mercator/Terrain.cpp, Mercator/Terrain.h: make Terrain track a list
of areas, and install them on newly created segments if required.
Necessary to allow Areas to be defined prior to segments they
may intersect.
2005-04-05 James Turner <[email protected]>
* Mercator/AreaShader.cpp, Mercator/Area.cpp: remove #pragmas I
left in, which GCC moans about.
2005-03-28 Al Riddoch <[email protected]>
* Mercator/AreaShader.cpp: Fix iterator usage in shade().
* tests/Makefile.am: Enable testArea again.
2005-03-26 Al Riddoch <[email protected]>
* tests/Makefile.am: Remove testArea from tests so its not run as
its broken.
2005-03-26 Al Riddoch <[email protected]>
* tests/Makefile.am: Add testArea to the check programs so it builds.
2005-03-25 Al Riddoch <[email protected]>
* Mercator/AreaShader.cpp: Include config.h so that iround.h works
right.
2005-03-25 James Turner <[email protected]>
* Mercator/Area.cpp, Mercator/Area.h, Mercator/AreaShader.cpp,
Mercator/AreaShader.h: adding missing copyright statements on the
new files.
2005-03-25 James Turner <[email protected]>
* Mercator/Area.cpp, Mercator/Area.h: initial work on supporting
polygonal areas in Mercator.
* Mercator/AreaShader.cpp, Mercator/AreaShader.h: shader which scan-
converts areas into a Surface, with basic anti-aliasing.
* test/testArea.cpp: basic tests of the Area API
2005-03-03 Al Riddoch <[email protected]>
* Mercator/TerrainMod.cpp, Mercator/TerrainMod.h: Add a virtual
destructor to TerrainMod.
2005-02-21 Al Riddoch <[email protected]>
* Mercator/Segment.cpp, Mercator/Segment.h: Remove obsolete unused
vertex cache code.
2004-12-31 Al Riddoch <[email protected]>
* mercator.spec.in: Update spec with License URL Package Vendor
and Distribution tags.
2004-08-05 Al Riddoch <[email protected]>
* tests/testIntersect.cpp: Fix equality test in the tests and
add a commenting explaining why.
* Commit configure.ac changes for the 0.2.1 release.
Actual 0.2.1 release date was 2004-07-21.
2004-08-05 Al Riddoch <[email protected]>
* Mercator/Forest.cpp, Mercator/Forest.h, Mercator/Matrix.h,
Mercator/Plant.h, Mercator/Segment.cpp, Mercator/Segment.h,
Mercator/Shader.cpp, Mercator/Shader.h, Mercator/Terrain.cpp,
Mercator/Terrain.h: Some minor API tweaks and cleanups.
* tests/main.cpp, tests/testShader.cpp: Update tests to take
account of API changes.
2004-06-07 Al Riddoch <[email protected]>
* Mercator/TerrainMod_impl.h: Fixes to work with gcc 3.4 stricter
template compiler thanks to Erik Hjortsberg.
2004-06-06 Al Riddoch <[email protected]>
* Fix devel dependencies in rpm spec.
2004-06-05 Al Riddoch <[email protected]>
* Mercator/Segment.h: Add method to set min and max at creation time.
* Mercator/Terrain.cpp: When creating a new segment, set its
min and max to the min and max height of the BasePoints.
2004-06-03 James Turner <[email protected]>
* XCode project updates
2004-06-03 Al Riddoch <[email protected]>
* Mercator/iround.h, Mercator/DepthShader.cpp, Mercator/Forest.cpp,
Mercator/Segment.cpp, Mercator/Terrain.cpp: Clean up use of the
I_ROUND macro by moving its definition into a build only header.
* Mercator/Segment.cpp: Ensure floats are used not doubles in
calculations, and use the float version of libm calls where
apropriate.
2004-05-18 Al Riddoch <[email protected]>
* Release 0.2.0, interface version 1.0.0
2004-05-18 Al Riddoch <[email protected]>
* Final tweak to rpm spec.
2004-05-18 Al Riddoch <[email protected]>
* Tweak configure.ac.
2004-05-18 Al Riddoch <[email protected]>
* tests/testIntersect.cpp: Provide more details when getHeightAndNormal
test fails.
2004-05-18 Al Riddoch <[email protected]>
* Mercator/BasePoint.cpp: Tweak roughnes and falloff to give nicer
looking terrain.
* Mercator/Segment.cpp: Clarify the qRMD implementation function.
2004-05-18 Al Riddoch <[email protected]>
* Get canonical system for cross compiling.
2004-05-17 Al Riddoch <[email protected]>
* Migrate to configure.ac and fix rpm spec.
2004-05-15 Al Riddoch <[email protected]>
* Switch to configure.ac, bump up version numbers, fix spec
and prepare for release.
2004-04-08 Al Riddoch <[email protected]>
* Mercator/Segment.cpp: Fix the normal calculation. Really right
now.
2004-04-07 Al Riddoch <[email protected]>
* Mercator/Terrain.h, Mercator/Terrain.cpp: Fixes to be compatible
with other compilers.
* Mercator/Segment.cpp: Fix seem normals, and avoid using variable
size local arrays, and handle systems with no rint.
* Mercator/Forest.cpp, Mercator/DepthShader.cpp: Handle systems with
no rint.
2004-03-19 Al Riddoch <[email protected]>
* Mercator/GrassShader.cpp: Fix uninitialised 0,0 corner tile
in grass shader.
2004-02-22 Damien McGinnes <mcginnes at netspeed dot com.au>
* README: minor mods, added Vegetation section
2004-02-07 Damien McGinnes <mcginnes at netspeed dot com.au>
* Mercator/Forest.cpp: fixed 'bbox to polygon' calc;
also test inside polygon during populate.
2004-02-06 Al Riddoch <[email protected]>
* tests/testForest.cpp: Update tests to use new accessors
for forest area.
2004-02-06 Al Riddoch <[email protected]>
* Mercator/Forest.h, Mercator/Forest.cpp: Modify accessors
so area of a forest is stored as Polygon instead of a
box.
2004-02-03 Damien McGinnes <mcginnes at netspeed dot com.au>
* Mercator/RandCache.h: make RandCache store uint32 rather than
double. Should halve memory usage.
2004-01-24 Damien McGinnes <mcginnes at netspeed dot com.au>
* Mercator/Forest.h, Mercator/Forest.cpp: make forest use
RandCache.
2004-01-24 Damien McGinnes <mcginnes at netspeed dot com.au>
* Mercator/RandCache.h: add code to provide a pool of repeatable
(2d indexed) random numbers for use by Forest etc.
thanks to rsteinke.
2004-01-20 Al Riddoch <[email protected]>
* Mercator/Forest.cpp: Use WFMath's value of PI, as windows
does not include it in math.h.
2004-01-17 Al Riddoch <[email protected]>
* Mercator/Forest.cpp: Revert changes to rng seeding as the
behavoir broke some of the key repeatability features required.
Add comments explaining what the valued properties of the
algorithm are.
2004-01-17 Damien McGinnes <mcginnes at netspeed dot com.au>
* Mercator/Forest.cpp, Mercator/Forest.h : modified seeding
arrangement so that number of rng seeds is proportional to
number of trees, not number of gridpoints. This significantly
speeds up forest generation and has the byproduct of improving
the randomness of forests. I defaulted the seed to 0 in the
constructor so hopefully existing code will still compile
* tests/testForest.cpp put a seed in the forest constructor
* tests/timeSeg.cpp added a test to time forest population
2004-01-17 Damien McGinnes <mcginnes at netspeed dot com.au>
* Mercator/Forest.cpp : modified seeding in forest to use an array
2004-01-15 James Turner <[email protected]>
* Update XCode project : proper WFMath dependancy, and many more
tests, plus an aggregate target which builds all the tests.
2004-01-15 Al Riddoch <[email protected]>
* Mercator/DepthShader.cpp, Mercator/Forest.cpp,
Mercator/Terrain.cpp: Make sure config.h and cmath are
being included as required.
2004-01-15 Al Riddoch <[email protected]>
* Mercator/Forest.cpp: Reduce probability of tree at given node
by factor of 10.
2004-01-13 Al Riddoch <[email protected]>
* Mercator/Forest.cpp, Mercator/Forest.h, Mercator/Plant.h:
Add accessors for plant and forest properties. Implement
populating the forest with plants.
* tests/testPlant.cpp: Add tests for new accessors.
* tests/testForest.cpp: Add test for populating code.
2004-01-13 Al Riddoch <[email protected]>
* tests/testQRNG.cpp: Unit test to verify predictability of quasi
random number generator.
2004-01-13 Al Riddoch <[email protected]>
* Mercator/Forest.cpp, Mercator/Forest.h,
Mercator/Plant.cpp, Mercator/Plant.h, tests/testPlant.cpp:
New classes for handling vegetation, including basics of
functionality, and unit tests.
2004-01-13 Al Riddoch <[email protected]>
* Mercator/BasePoint.h, Mercator/BasePoint.cpp:
Move static float variable definition into cpp file
for strict C++ compliance.
2003-12-19 Al Riddoch <[email protected]>
* Remove Serial from rpm spec as it is not required, and messes up
deps.
2003-11-27 Al Riddoch <[email protected]>
* Mercator/Terrain.cpp: Use lrintf or equivalent for clean
fast float-int conversion.
2003-11-03 James Turner <[email protected]>
* Add ProjectBuilder project, Mercator builds with no
problems, but hasn't been tested.
2003-11-01 Al Riddoch <[email protected]>
* Fix BuildRequires in rpm spec.
2003-10-31 Damien McGinnes
* fixed tests/util_timer compile and link
2003-10-31 Damien McGinnes
* Added timeSeg test
2003-10-31 Al Riddoch <[email protected]>
* Mercator/DepthShader.cpp: Use apropriate rint() function to convert
float to int.
* Mercator/Intersect.cpp, Mercator/Intersect.h, tests/main.cpp:
Add copyright notice.
* Mercator/TerrainMod.h, Mercator/TerrainMod_impl.h: Fix copyright
notice.
2003-10-31 Damien McGinnes
* Mercator/DepthShader.cpp: fixed type warning
* README: Added some text
2003-10-24 Al Riddoch <[email protected]>
* Mercator/Segment.cpp: Fix incorrect assert.
2003-09-22 Damien McGinnes
* Mercator/Segment.cpp: minor changes to interpolation to improve
performance in the general case. (gives about a 5% speedup)
* Mercator/Intersect.cpp: made some file scope functions static on
advice from rsteinke. init'ed som vars to keep gcc happy. made ray
intersect return true if ray begins below terrain.
2003-09-14 Damien McGinnes
* testPhys.cpp: added a rudimentary physics model to do a more useful
test of the ray-terrain intersection
* Mercator/Intersect.cpp,h: some cleanups for bugs found during the
above test
2003-09-13 Damien McGinnes
* TODO: cleaned up a few old TODOs
2003-09-13 Damien McGinnes
* Mercator/Intersect.cpp,h: some intersection code cleanup
ray intersection now returns the point of intersection
and normal.
* Mercator/Segment.cpp: fixed normal for intersection on diagonal
of a cell (between the two triangles of the quad) also normalised
the returned normal
2003-09-12 Damien McGinnes
* Mercator/Intersect.cpp,h: maybe finished ray intersection
needs more testing
* tests/testIntersect.cpp: added more tests
2003-09-11 Damien McGinnes
* Mercator/Intersect.cpp,h: added ray intersection with terrain
not complete yet, ray/triangle tests not added
* tests/testIntersect.cpp: added ray intersection test - not finished
2003-09-10 Damien McGinnes
* Mercator/Intersect.cpp,h: added point intersection with terrain
and height over terrain functions
2003-09-10 Damien McGinnes
* Mercator/Intersect.cpp,h: added files for axisbox intersection
with terrain
* tests/testIntersect.cpp: added files for intersection unit tests
2003-09-06 Damien McGinnes
* Mercator/Surface.cpp: fixed a segfault in invalidate; slight
cleanup to the rounding code in clipToSegment.
2003-09-03 Al Riddoch <[email protected]>
* Mercator/Surface.h: Use <climits> to get the max value of
a char.
* Mercator/Surface.cpp, Mercator/Buffer.h, Mercator/Buffer_impl.h:
Modify buffers and thus surfaces to handle their memory
dynamically, providing facilities for allocating and
deleting the buffer.
* Mercator/Segment.h, Mercator/Segment.cpp: Implement easier
memory management, getting rid of the flags for points and
normals, using the value of the pointer instead.
Add a few to be called to cause the segment to free its
data, with the option to keep hold of the height field.
2003-09-01 Al Riddoch <[email protected]>
* Mercator/Terrain.h, Mercator/Terrain.cpp: Add new
getHeightAndNormal() method which makes available the method
of the same name from Segment on the whole terrain.
2003-08-31 Al Riddoch <[email protected]>
* Mercator/Shader.h: Add default arguments for constructor,
which default to alpha channel only.
* Mercator/ThresholdShader.cpp, Mercator/GrassShader.cpp,
Mercator/FillShader.cpp, Mercator/DepthShader.cpp:
Stop specifying arguements to the shader constructor, and thus
accept the defaults. Net effect is that surface buffers now
just contain alpha values by default.
2003-08-22 Damien McGinnes
* Mercator/Segment.cpp: fixed edge and corner normals.
2003-08-17 Al Riddoch <[email protected]>
* Buffer_impl.h: Add to distribution.
* Mercator/Segment.cpp: Make sure math functions are specified
as being from the global namespace, and add support for rintf
as its better than rint, and available under FreeBSD.
2003-08-17 Al Riddoch <[email protected]>
* Mercator/Buffer.h: Make segment this buffer is bound to public.
* Mercator/Segment.cpp: Set m_min and m_max to values other