Commit graph

854 commits

Author SHA1 Message Date
myconid
e8758b8bf1 Making sure LOS really is black after Reveal Map option is used...
This was SVN commit r12565.
2012-08-31 18:33:03 +00:00
historic_bruno
5f88bf8a79 Displays error when converting a grayscale texture instead of possibly crashing, refs #1640
This was SVN commit r12560.
2012-08-30 19:24:24 +00:00
historic_bruno
ddbc9e7d86 Disables useless MSVC warning in MikktspaceWrap. Cleans up a few inconsistencies
This was SVN commit r12505.
2012-08-21 16:40:07 +00:00
historic_bruno
875ea8f440 Fixes some warnings in mikktspace and weldmesh
This was SVN commit r12481.
2012-08-19 20:28:00 +00:00
historic_bruno
a17ffaa0f2 Fixes weldmesh build on *BSD
This was SVN commit r12478.
2012-08-19 19:57:23 +00:00
myconid
6e326e2d2e Ticket 1603: Using GL extension defines to avoid compiler errors on older systems
This was SVN commit r12472.
2012-08-19 07:05:11 +00:00
quantumstate
37964d048e Added camera movement speed modifier keys.
This was SVN commit r12455.
2012-08-17 18:33:41 +00:00
myconid
e488eb4d6f Bugfix for smoothlos, a test routine was complaining because g_Renderer wasn't available in test mode.
This was SVN commit r12307.
2012-08-07 18:28:23 +00:00
myconid
88ab3f0f5b Terrain/decal materials (includes triplanar/normal/specular/emissive mapping); custom alphamaps
This was SVN commit r12306.
2012-08-07 18:21:16 +00:00
myconid
648e68e49c smooth LOS
This was SVN commit r12304.
2012-08-06 22:38:42 +00:00
myconid
da8c673a0a ao/parallax/normal/specular/emissive mapping; windy trees; time manager; render queries; conditional defines
This was SVN commit r12300.
2012-08-06 19:10:47 +00:00
Deiz
692795e56e Added engine-side obstruction group sanitizing, saving, and loading. Refs #1566
This was SVN commit r12258.
2012-08-01 21:38:13 +00:00
historic_bruno
2c8adb1aea Adds support for Boost.Filesystem v3, the only option in Boost 1.50. Fixes #1527. Refs #1360
This was SVN commit r12229.
2012-07-29 23:04:22 +00:00
quantumstate
f598101c34 Add support for multiple UVs and data driven texture loading. From myconid's patches. Fixes #1493 and fixes #1497.
This was SVN commit r12183.
2012-07-23 22:49:46 +00:00
historic_bruno
99d04e93bb Implements global tech modification function. Fixes #1358, refs #1520.
Applies tech modifications to template data returned by GuiInterface.
Extends engine to load arbitrary global scripts, separates this from RNG
replacement. Refs #1193.
Loads global scripts for most script contexts for consistency.
Adds simulation tests for global scripts.

This was SVN commit r12056.
2012-07-03 02:16:45 +00:00
vts
821cfe8862 Removed reverse dependency on SOverlayTexturedLine from CTexturedLineRData; fixes dangling pointer dereference. Fixes #1495.
This was SVN commit r11979.
2012-06-17 03:40:35 +00:00
leper
2243f699fc Fix test failure.
Fix entity placement on Phoenician Levant.

This was SVN commit r11951.
2012-06-08 19:17:31 +00:00
historic_bruno
962da61f12 Adds shared LOS for allied players, based on patch by Deiz/F00. Fixes #1334.
This was SVN commit r11949.
2012-06-08 04:41:39 +00:00
vts
6b50a660b9 Added elapsed real time (as opposed to elapsed simulation time) to MT_Interpolate messages. Fixes leftover TODO from #824. Refs #824.
This was SVN commit r11944.
2012-06-06 19:37:03 +00:00
Ykkrosh
282d0f39e2 Remove unused variables
This was SVN commit r11804.
2012-05-09 15:39:16 +00:00
vts
490182ddd0 Wall placement. Closes #786.
This was SVN commit r11760.
2012-05-05 19:22:22 +00:00
historic_bruno
32d2927449 Adds UTF-8 support for JavaScript files.
This was SVN commit r11750.
2012-05-04 21:48:46 +00:00
historic_bruno
da4c1c8f2b Fixes handling of UTF-8 encoded JSON files (stripping BOM if necessary). Fixes #1375.
This was SVN commit r11739.
2012-05-04 03:46:05 +00:00
Ykkrosh
0bd649294f Add support for texture-based terrain overlays.
Fix GLES compatibility.

This was SVN commit r11663.
2012-04-24 16:46:32 +00:00
vts
3cbfd9260e Properly enforce the MAX_QUAD_OVERLAYS constraint
Some cleanup of graphics/Overlay.h

This was SVN commit r11629.
2012-04-22 13:19:35 +00:00
vts
34fc883317 Pretty unit selection overlay rings. Fixes #824.
This was SVN commit r11623.
2012-04-22 04:04:02 +00:00
Ykkrosh
177d7856a6 Avoid assertion failure when editing terrain off the edge of the map
This was SVN commit r11600.
2012-04-21 13:07:47 +00:00
Ykkrosh
769350a3e7 Compute camera height and zoom limits based on smoothed terrain heightmap. Fixes #794, based on patch by Dietger.
This was SVN commit r11556.
2012-04-18 20:39:00 +00:00
Ykkrosh
3027ce1a04 Rationalise terrain dirty-rect coordinates.
Clean up some whitespace.

This was SVN commit r11543.
2012-04-17 22:35:34 +00:00
Ykkrosh
a16d56cc72 Delete an unused obsolete method
This was SVN commit r11540.
2012-04-17 21:06:47 +00:00
vts
7f612c266a Calculate new random variations where necessary upon graphics object reloads. Fixes #979.
This was SVN commit r11523.
2012-04-15 23:04:25 +00:00
Ykkrosh
6410d36a55 Fix engine to respect lack of castshadow flag in actors.
Remove unused variable.

This was SVN commit r11499.
2012-04-14 17:31:18 +00:00
Ykkrosh
9028c354e6 Fix non-PCH build more. Fixes #1313.
This was SVN commit r11494.
2012-04-13 15:01:51 +00:00
Ykkrosh
227f9e403f Experimental GPU skinning.
Share inverse bind pose matrices between models.

This was SVN commit r11490.
2012-04-12 15:43:59 +00:00
Ykkrosh
ce215cace3 Add support for custom vertex attributes and array-of-matrix uniforms in GLSL.
This was SVN commit r11489.
2012-04-12 14:10:02 +00:00
Ykkrosh
e6a82fff48 Bind textures correctly to GLSL sampler uniforms.
This was SVN commit r11476.
2012-04-10 21:07:52 +00:00
Ykkrosh
f2260892bd Add config option to force alpha-tested materials.
This was SVN commit r11475.
2012-04-10 21:03:22 +00:00
Ykkrosh
b6ef80b741 Fix GCC build
This was SVN commit r11456.
2012-04-08 17:44:29 +00:00
Ykkrosh
f3617822e0 Make AlwaysVisible objects always visible in shader mode. Fixes #908.
This was SVN commit r11454.
2012-04-08 16:36:23 +00:00
Ykkrosh
b7888aea52 Add support for specular materials.
Let materials specify shader uniform values.
Use interned strings for shader uniform/attribute names.
Remove confusing float* cast operator on CVector4D.
Simplify and clean up CVector4D.
Remove non-supported 'old' lighting model.

This was SVN commit r11453.
2012-04-08 15:55:06 +00:00
Ykkrosh
6bc33fe8bd Update renderer design to be more flexible and data-driven based on material and shader definitions.
Support conditional expressions in shader effect XML files.
Consolidate fixed-function model rendering into the shader system.
Remove lots of now-obsolete renderer code.
Move shader defines from std::map to new class with interned data, for
performance.
Move texture from model into material.
Alleviate singletonitis.
Remove obsolete lodbias setting.
Remove unused terrain shadow transparency.

This was SVN commit r11423.
2012-04-03 18:44:46 +00:00
Ykkrosh
e97547dbd4 Fix FFP renderer
This was SVN commit r11376.
2012-03-20 13:32:30 +00:00
Ykkrosh
36107cb7e1 GLES compatibility for particles and shadows.
Fix invalid enum errors.
Fix shader texture binding.

This was SVN commit r11372.
2012-03-19 21:10:14 +00:00
Ykkrosh
e9bbf25997 Remove some redundant code
This was SVN commit r11252.
2012-03-05 18:30:00 +00:00
historic_bruno
07ab38cdcb Implements COLLADA -1 vertex weight support, using simpler initial solution. Fixes #1012.
This was SVN commit r11242.
2012-03-05 00:42:34 +00:00
historic_bruno
7fa6afac37 Corrects some Doxygen comments and adds a few others of interest.
This was SVN commit r11209.
2012-03-01 03:55:05 +00:00
historic_bruno
7d9e98b00e Adds multiple entity selection to Atlas (including move/delete). Fixes #678.
Makes all actors selectable in Atlas and gives them selection rings (an
EditorOnly flag is used in the template for Atlas-only selectables).
Adds player colors to Atlas selection rings.
Fixes decal selection by falling back to old-style AABBs. Refs #1032.
Replaces UnitManager selections with EntitySelection helpers.
Adds DrawOverlays to Atlas views, for Atlas-specific rendering.
Fixes bug where selection rings conflicted with Move/rotate tool in
Atlas simulation test.

This was SVN commit r11177.
2012-02-27 05:32:35 +00:00
Ykkrosh
5009636e39 Improve Android compatibility.
Basic touchscreen input for testing.
Better GLSL support for map rendering.

This was SVN commit r11155.
2012-02-25 17:29:27 +00:00
Ykkrosh
c888c00377 Avoid unnecessary use of printf in text renderer.
This was SVN commit r11154.
2012-02-25 17:14:47 +00:00
Ykkrosh
9b0a3830df Support more commands in shader technique XML files.
Always print GLSL shader logs, to help debugging.

This was SVN commit r11149.
2012-02-25 15:38:38 +00:00
historic_bruno
46ee6f0566 Adds more specific error messages to failed model or animation loading.
This was SVN commit r11111.
2012-02-21 05:00:21 +00:00
historic_bruno
d4c32b8a80 Fixes tests broken by [11100]
This was SVN commit r11104.
2012-02-19 22:00:29 +00:00
historic_bruno
b4a33851e6 Improves CColladaManager caching behavior: skeletons.xml changes now invalidate cached .pmd/psa files, CCacheLoader is used for consistency, adds support for archived files. Fixes #1167.
Adds COLLADA conversion to archive builder.
Fixes archive builder on Windows.
Moves error logging from CCacheLoader::TryLoadingCached to its callers,
because this failure can be legitimate (in the case of uncached .pmd/psa
files).

This was SVN commit r11100.
2012-02-19 03:30:59 +00:00
Ykkrosh
832a51da80 GLSL text support
This was SVN commit r11080.
2012-02-15 21:53:13 +00:00
Ykkrosh
5f6e3de42f Convert shaders to GLSL ES automatically
This was SVN commit r11079.
2012-02-15 20:33:43 +00:00
Ykkrosh
f4625e69af Partial Android compatibility.
Remove unnecessary VM allocation (which seemingly causes problems on
Android due to mmap during static initialization).
Allow building without NVTT.

This was SVN commit r11074.
2012-02-15 13:58:58 +00:00
Ykkrosh
d89c82092a Fix GLSL shaders on Mesa
This was SVN commit r11063.
2012-02-13 20:47:14 +00:00
Ykkrosh
677ccf53e6 Yet more GLES compatibility
This was SVN commit r11061.
2012-02-13 16:41:17 +00:00
Ykkrosh
a9eca31bad Even more GLES compatibility
This was SVN commit r11060.
2012-02-13 15:06:25 +00:00
Ykkrosh
4bf59b9a7d More GLES compatibility, mainly around terrain rendering.
This was SVN commit r11059.
2012-02-13 14:02:14 +00:00
Ykkrosh
531b40578a More GLES compatibility.
Add config option to disable hardware cursors on Windows.

This was SVN commit r11053.
2012-02-12 20:45:31 +00:00
Ykkrosh
1185ebdea5 Fix build
This was SVN commit r11051.
2012-02-12 13:26:57 +00:00
Ykkrosh
db85833655 More GLES compatibility.
Move more rendering code to shader API.

This was SVN commit r11050.
2012-02-12 13:20:49 +00:00
historic_bruno
202a8e17c4 Fixes camera constraints by clamping the camera focus point to within the map bounds instead of outside, since the constraints are partially based on terrain height. Should improve scrolling behavior on both circular and square maps. Refs #656, #850
This was SVN commit r11044.
2012-02-10 02:17:40 +00:00
Ykkrosh
a3f168b887 Initial support for GLSL generic vertex attributes in shader API, for GLES compatibility.
Specify GLSL version in shader files, for better error detection.

This was SVN commit r11040.
2012-02-09 17:55:25 +00:00
Ykkrosh
1f5b8f1c9a Move GUI renderer towards using shader infrastructure.
Remove support for unused GUI sprite effects.
Use vertex arrays for bounding box rendering.

This was SVN commit r11039.
2012-02-08 20:43:38 +00:00
historic_bruno
08bd07ddd6 Adds safe bool operator to ICmpPtr, replacing the null() method, based on patch by leper. Also changes bool operator in AtSmartPtr to safe bool. Fixes #1077.
Changes some CmpPtr variable names for consistency.

This was SVN commit r11036.
2012-02-08 02:46:15 +00:00
Ykkrosh
b9c406551b Cache shader effects. Fixes #1143.
This was SVN commit r11006.
2012-02-02 22:58:42 +00:00
historic_bruno
41e3bad341 More build fixes for FreeBSD.
Adds BSD sysdep.
Adds support for MAKE variable, overriding make command in our build
scripts.
Fixes more files not ending with newline.

This was SVN commit r10994.
2012-01-31 00:06:56 +00:00
historic_bruno
fc27a5c0ea More FreeBSD build fixes.
Fixes some warnings about files that don't end with newline.

This was SVN commit r10991.
2012-01-30 06:21:11 +00:00
historic_bruno
2d0e8021aa Fixes old g++ build error with default template arguments, by wrapping them in parentheses.
This was SVN commit r10990.
2012-01-30 04:57:39 +00:00
Ykkrosh
cc5a0fba4e Use shader API for GUI text.
Flip GUI quads so we don't have to disable back-face culling.

This was SVN commit r10989.
2012-01-30 00:27:23 +00:00
Ykkrosh
63572a5247 Fix build
This was SVN commit r10986.
2012-01-29 20:16:47 +00:00
Ykkrosh
04c63a4093 Clean up some text rendering to avoid relying on deprecated GL matrix state.
Use scissor instead of deprecated clip planes for GUI text.
Remove unused support for generic font names.

This was SVN commit r10985.
2012-01-29 20:04:21 +00:00
Ykkrosh
9884d21830 Be more consistent in using the ARB forms of functions. Fixes #1138, based on patch by Echelon9.
This was SVN commit r10983.
2012-01-29 12:15:22 +00:00
Ykkrosh
8324a8981d Simplify GLSL program files.
Move water shaders to new shader system.

This was SVN commit r10982.
2012-01-29 12:04:39 +00:00
Ykkrosh
adbd7633dd # Initial GLSL rendering support
This was SVN commit r10978.
2012-01-29 01:22:22 +00:00
Ykkrosh
27687873d5 Fix SSE skinning normalisation (fixes #1136). Add a few more comments.
This was SVN commit r10974.
2012-01-28 12:17:44 +00:00
Ykkrosh
7f679a7975 # Support separate rotation and scaling for each terrain texture
This was SVN commit r10952.
2012-01-22 18:20:33 +00:00
vts
91652bdf6e Implemented nested territory boundaries. Fixes #918.
Fixed out of bounds memory access in Atlas due to always using global
terrain in TerrainOverlay
Fixed wrong player ID calculation in TerritoryOverlay

This was SVN commit r10929.
2012-01-18 21:22:58 +00:00
Ykkrosh
e64a3d3946 Experiment a little with OpenGL ES
This was SVN commit r10915.
2012-01-15 23:15:31 +00:00
historic_bruno
893cb2668e Renames our sdl.h to libsdl.h, to avoid case sensitivity errors when it includes SDL.h.
This was SVN commit r10904.
2012-01-12 23:32:27 +00:00
Ykkrosh
ce67dfd333 Rename CELL_SIZE to TERRAIN_TILE_SIZE, to free up the term "cell" for other concepts.
This was SVN commit r10902.
2012-01-12 12:51:10 +00:00
Ykkrosh
f73e3c7668 Fix uninitialised members
This was SVN commit r10865.
2012-01-04 13:17:26 +00:00
Ykkrosh
c4bb67a1ca Fix #1064 (use ++it instead of it++ for consistency), based on patch by Echelon9
This was SVN commit r10822.
2011-12-29 01:17:03 +00:00
janwas
3537ae31d5 sync with work:
x86_x64: update MSR definitions to include model 2F (westmere ex);
update bus clock computation for sandy bridge; remove unused
cpu_Serialize; use namespace, add model names
mahaf: cope with stricter security for services/drivers
ApicId -> GetApicId, move to apic module
aken: add batch file to install driver (optional)

This was SVN commit r10815.
2011-12-27 14:12:31 +00:00
vts
db864f10c3 Rendering marker lines between buildings and rally points
Added command button to focus on rally point
(implements #524)

This was SVN commit r10704.
2011-12-10 07:07:04 +00:00
Ykkrosh
2d017698e1 Fix random maps in replay mode
This was SVN commit r10632.
2011-11-29 20:29:06 +00:00
historic_bruno
ee417e8fd0 Attempts to fix incorrect destructor order in random map generator. See #1037, #1035.
This was SVN commit r10627.
2011-11-29 00:14:34 +00:00
vts
85186c98b2 Better selection boxes. Closes #914, #295, #810.
This was SVN commit r10593.
2011-11-25 06:36:13 +00:00
historic_bruno
31bcb5c803 Fixes buggy selection behavior due to incorrect camera plane calculation.
This was SVN commit r10558.
2011-11-19 05:05:59 +00:00
historic_bruno
39d100c732 Moves camera projection settings to default.cfg.
Changes field of view (FOV) to 45 degrees per discussion. Fixes #941.
Tweaks default camera zoom and rotation accordingly.

This was SVN commit r10548.
2011-11-17 23:34:01 +00:00
Ykkrosh
3916c25b84 Optimise vertex skinning code with SSE, based on patch by gruby.
Fixes #905.

This was SVN commit r10499.
2011-11-09 23:11:28 +00:00
Ykkrosh
09a02c96d5 Add initial code annotations for the new profiling tool
This was SVN commit r10466.
2011-11-04 01:35:50 +00:00
historic_bruno
0db6cfd2f7 Fixes crash in Atlas camera handlers, focus loss causes a scroll action, and seg fault if game not initialized. Fixes #988.
Fixes particles lingering in actor viewer when switching actors, by
clearing unattached particle emitters.

This was SVN commit r10457.
2011-10-30 05:09:31 +00:00
Ykkrosh
29e4f633f1 Add initial serialization test mode.
Reduce some dependencies on CSimulation2 to provide more flexibility.

This was SVN commit r10426.
2011-10-24 14:31:05 +00:00
historic_bruno
0e39511b3a Attempts to fix random map OOS errors by avoiding parsing data to floats (uses CFixedVector3D instead). See #977.
Changes to rmgen API for consistency and support of 3D
position/rotation.

This was SVN commit r10326.
2011-09-26 21:36:33 +00:00
Ykkrosh
8729d1115d Render territory borders in non-shader render path.
Add basic support for fixed-function implementations of shader API.

This was SVN commit r10106.
2011-08-27 14:31:24 +00:00
historic_bruno
85336397a3 Don't render neutral territory borders on minimap.
This was SVN commit r10083.
2011-08-24 00:28:48 +00:00
historic_bruno
27e5581d27 Fixes Atlas player panel getting out of sync with simulation. Fixes #927.
Fixes object panel not being notified of map loading.
Fixes bug where opening a new map before using the player panel
prevented default player data being displayed for new players.
Fixes wxGTK 2.8 bug: wxChoicebook control doesn't update the choice
control when adding/removing pages.
Notifies player that deleting player in Atlas will delete all their
objects (and gives them the option).
Changes DeleteObject to DeleteObjects to support multiple selections.
Implements undo for map resize (experimental).
Removes annoying debug message from attempted undo of map settings.
Tweaks a few Atlas UI controls.

This was SVN commit r10064.
2011-08-22 21:45:39 +00:00
Ykkrosh
308cb26dd4 # Health decay for buildings not in a civ center's territory.
This was SVN commit r10034.
2011-08-18 20:28:53 +00:00
Ykkrosh
b9df1d3451 Be less grossly inefficient when computing minimap territory texture
This was SVN commit r10019.
2011-08-16 23:39:16 +00:00
Ykkrosh
609f1643d5 Fix -Wconversion warnings in simulation code.
Cast to smaller integer types explicitly.
Generally avoid platform-dependent types (size_t) in simulation code.
Use float versions of math.h functions, not double.

This was SVN commit r10017.
2011-08-16 11:18:32 +00:00
historic_bruno
2726f6ed88 Changes GetFocus to return points above water.
Fixes camera following of boats.

This was SVN commit r9988.
2011-08-10 22:45:55 +00:00
Ykkrosh
94e9a8b459 Fix hang with Boost 1.47
This was SVN commit r9954.
2011-08-02 21:07:58 +00:00
Ykkrosh
04ec40259b Use player colours for territory borders in minimap
This was SVN commit r9932.
2011-07-30 12:07:27 +00:00
Ykkrosh
8fee3d8ef8 # New territory border rendering.
Add textured line overlay rendering.
Change terrain height calculations to be triangulation-dependent for
improved accuracy.
Add triangulation-dependent terrain normal function.
Support separate S/T wrap modes for textures.
Rename CVector2D_Maths since it no longer conflicts with simulation
CVector2D.
Coalesce freed chunks in vertex buffers, to avoid excessive
fragmentation.
Add some things to help debug vertex buffer allocation a little.

This was SVN commit r9929.
2011-07-30 00:56:45 +00:00
historic_bruno
813fed5b9e Adds GetCivData to map generator API (to replace the hardcoded starting entities in rmgen).
Adds some starting entities to unfinished civs.

This was SVN commit r9901.
2011-07-24 03:28:18 +00:00
Ykkrosh
f9d7c1246d # Initial support for territories
This was SVN commit r9889.
2011-07-20 19:48:06 +00:00
Ykkrosh
b08e142193 Graphics optimisations and features from eihrul.
Add shadow filtering (PCF) option.
Fix ugly shadow saturation in old lighting mode.
Fix fancy water shader.
Fix camera matrix computation.
Support scissoring of camera frustum.
Optimise vertex skinning.
Inline various matrix functions.
Support filtering of the list of submitted models before a rendering
pass, for more precise culling.
Optimise water renderer (fixes #721, based on patch by ortalo).
Use scissoring when generating reflection/refraction textures.
Skip reflection/refraction texture generation when no water is visible.
Render alpha-blended objects differently (fixes #434).
Reduce shadow swimming effects.

This was SVN commit r9814.
2011-07-12 23:48:05 +00:00
historic_bruno
1bc2db56ea Stops unit following when other object selected. Fixes #775
This was SVN commit r9764.
2011-07-05 21:29:11 +00:00
Ykkrosh
315dfbff5d Fix use of outdated cached transform when computing bounding boxes.
Should fix #867.

This was SVN commit r9761.
2011-07-05 00:12:00 +00:00
Ykkrosh
f01097b23c Avoid crash when pressing 'h' while multiplayer host game setup screen is loading
This was SVN commit r9753.
2011-07-03 18:36:43 +00:00
Ykkrosh
31832cd9ae Initialise minimap and LOS textures properly
This was SVN commit r9673.
2011-06-26 21:47:07 +00:00
Ykkrosh
3f51747440 Fix uninitialised value
This was SVN commit r9672.
2011-06-26 21:45:58 +00:00
historic_bruno
5bc125a91f Changes terrain data returned by CMapGenerator to typed arrays, instead of an array of objects (this greatly reduces the size of the serialized data)
This was SVN commit r9664.
2011-06-26 02:56:54 +00:00
historic_bruno
3be43ede41 Adds rotation to starting camera (currently unused)
This was SVN commit r9623.
2011-06-16 21:21:33 +00:00
historic_bruno
3e4d74480d Adds AI control to Atlas player panel
Adds camera control to Atlas player panel
Changes map reader to handle per-player starting camera position. See
#55
Adds entity name filter to Atlas object panel
Fixes bug in Atlas map settings (caused crash when object panel was not
loaded)

This was SVN commit r9617.
2011-06-13 23:32:41 +00:00
historic_bruno
0c803f99e8 This was SVN commit r9609. 2011-06-09 23:47:20 +00:00
Ykkrosh
acb48663d7 Windows fixes
This was SVN commit r9570.
2011-05-29 18:14:52 +00:00
Ykkrosh
dc2035efc9 Move Atlas map settings from JS to C++.
Replace New dialog box with separate tools for resizing maps and
replacing terrain textures, to provide more power and to simplify the
problem of initialising map settings.
Fix engine to cope with dynamic map resizing.
Add JSON support to AtObj, to let C++ interact with JSON more easily.

This was SVN commit r9566.
2011-05-29 15:02:02 +00:00
janwas
34186dd017 refactor file interface. requires workspace update
- separate file_system_util into vfs functions (-> vfs/vfs_util) and
file_system (avoids ugly fs_util namespace prefix)
- get rid of non-portable O_BINARY_NP etc. flags
- use standard O_WRONLY etc. flags instead of LIO_WRITE; but avoid the
need for specifying O_CREAT|O_TRUNC
- only open files for aio when O_DIRECT is specified (which 0ad does
not) - avoids wasting time and security issues
- return file descriptor directly instead of via output param
- waio: safer FCB mechanism that avoids mixing descriptors between lowio
and aio

This was SVN commit r9550.
2011-05-25 10:39:13 +00:00
Ykkrosh
84030de9b7 Fix compile error with Boost 1.39 (ambiguous overloads)
This was SVN commit r9536.
2011-05-20 14:45:04 +00:00
Ykkrosh
f4b55a9acf Fix non-PCH build
This was SVN commit r9523.
2011-05-15 19:51:33 +00:00
Ykkrosh
a976045f0f Report filename in Collada warning messages.
Skip harmless warnings about missing materials in Collada files.

This was SVN commit r9512.
2011-05-14 16:43:08 +00:00
Ykkrosh
c41b7904d2 Fix burst of particles when starting to construct a building.
Fix crash when particle XML loading failed.

This was SVN commit r9509.
2011-05-13 19:36:56 +00:00
Ykkrosh
b741feafb1 Add global deepcopy() function in scripts, to do a structured clone of objects.
Remove an unused include.

This was SVN commit r9506.
2011-05-12 23:50:42 +00:00
janwas
f608b44d1d fix self-test and map load on Windows (avoid mixing dir separators).
add more specific error codes (used at work)

This was SVN commit r9462.
2011-05-06 18:45:30 +00:00
historic_bruno
fffcdbbf21 Balances random map resources.
Attempts to avoid "invalid argument" errors in typed arrays by forcing
them to integer (see #658).
Removes script preloading from map generator (VFS is thread-safe now)
Removes thread checking from ScriptInterface file loading functions.
Adjusts starting entities in civ data.

This was SVN commit r9435.
2011-05-04 21:24:25 +00:00
janwas
7523894760 ENSURE(0) -> DEBUG_WARN_ERR(ERR::LOGIC) (a bit smaller, and more descriptive)
This was SVN commit r9423.
2011-05-04 12:10:17 +00:00
Ykkrosh
9733affb05 Fix non-PCH build
This was SVN commit r9419.
2011-05-04 01:17:09 +00:00
janwas
cccd6849a7 cleanup (requires update-workspaces)
lib_errors.cpp: replace with status.cpp, adapt to needs at work
wutil: fix runtime warning reported via feedback box
config: merge CONFIG_PARANOIA and !CONFIG_FINAL into
CONFIG_ENABLE_CHECKS
add openmp, pointer_typedefs.h

This was SVN commit r9410.
2011-05-03 12:38:42 +00:00
Ykkrosh
3ac72813ef Relinquish CPU when running RMS scripts, to speed up loading on single-core machines
This was SVN commit r9366.
2011-04-30 15:18:11 +00:00
janwas
0720025073 cleanup
reduce dependency on PCH. move KiB constants to alignment, ARRAY_SIZE to
code_annotation.h.
move glext_funcs.h to external_libraries/glext_funcs.h, move part of
ogl.h to external_libraries/opengl.h
remove unused saturating arithmetic functions

This was SVN commit r9363.
2011-04-30 13:22:46 +00:00
janwas
4663ac0fe7 split debug_assert into ENSURE and ASSERT as discussed in a previous meeting.
the old debug_assert always ran and tested the expression, which slows
down release builds. wrapping them in #ifndef NDEBUG is clumsy. the new
ASSERT behaves like assert and ENSURE like the old debug_assert. Let's
change any time-critical but not-super-important ENSURE to ASSERT to
speed up release builds. (already done in bits.h and unique_range.h)

This was SVN commit r9362.
2011-04-30 13:01:45 +00:00
janwas
2374caac3e major refactor of file/io and alignment code. requires update-workspaces
. completely rewrite waio - use IOCP, add several hardcore
optimizations. now outperforms the
  AS SSD and ATTO benchmarks when writing
. refactor file interface - use LIO_READ instead of 'r', allow access to
file descriptor.
. completely rewrite the IO wrapper. now much more simple, less CPU
overhead, adds
  support for pre-issue/post-completion hooks and preallocation.
  io::Run defaults to simple synchronous IO; use io::Parameters to get
asynchronous.
. add alignment.h with constants and Align() function template (more
efficient than
  round_up for compile-time constants)
. add UniqueRange - similar to C++0x unique_ptr (emulated for C++03),
plus a
  built-in size. avoids expensive thread-safe reference counting in
shared_ptr.

cleanup:
- move fat_time functions into archive_zip
- remove no longer needed io_align and block_cache
- reduce dependencies in sysdep/compiler (move parts to
code_annotation.h)
- move IOCP into separate file (reused by waio)

This was SVN commit r9350.
2011-04-29 19:10:34 +00:00
Ykkrosh
8af82baf67 # Minor particle system fixes.
Support emitters that are fully running as soon as the game starts.
Fix particle clumping when moving from off-screen to on-screen, by
computing updates more incrementally.
Fix overzealous culling of models with particle emitters.
Add particles to renderer stats.

This was SVN commit r9345.
2011-04-29 12:26:31 +00:00
Ykkrosh
4e74798585 Be more robust to visibility checks outside the map. Fixes #765.
This was SVN commit r9333.
2011-04-27 21:03:08 +00:00
Ykkrosh
a872e4a6ad Attempt to fix reported GL error
This was SVN commit r9327.
2011-04-27 09:41:28 +00:00
Ykkrosh
c82d619cc4 Make decals only rotate around the Y axis, to avoid buggy stretched appearance when rotated non-horizontally
This was SVN commit r9298.
2011-04-22 13:19:23 +00:00
Ykkrosh
91ad17c685 Fix entity ID association with animations. Fixes #790.
This was SVN commit r9286.
2011-04-20 00:04:05 +00:00
Ykkrosh
458cfbf48c Fix 64-bit build error
This was SVN commit r9279.
2011-04-16 22:57:00 +00:00
historic_bruno
b4503bb61e Simplifies random map output, see #782.
Changes random maps to XZ coordinates, matching the engine.
More documentation for rmgen library.

This was SVN commit r9271.
2011-04-16 04:04:06 +00:00
historic_bruno
481f570a0e CMapGeneratorWorker thread safety issue. Fixes #783.
VFS access moved to main thread, where random map scripts are preloaded
and stored prior to use by the worker thread.
Adds LoadGlobalScript to ScriptInterface, for evaluating script content
in the global scope.

This was SVN commit r9261.
2011-04-15 05:23:51 +00:00
historic_bruno
ad6f305359 Integrates random maps with Atlas. Fixes #460.
Adds various map controls to Atlas.
Adds New Map dialog to Atlas.
Removes a few references to old simulation header files.

This was SVN commit r9247.
2011-04-14 04:01:59 +00:00
historic_bruno
818b02b0fc Fixes a few error cases in the map generator.
This was SVN commit r9224.
2011-04-10 22:21:15 +00:00
historic_bruno
942a45372c Random maps generated in their own thread, loading GUI is updated with progress.
Fixes some bugs in game loader error handling.

This was SVN commit r9220.
2011-04-10 05:31:18 +00:00
Ykkrosh
e5e9e38532 Fix GCC 4.6 "set but not used" warnings
This was SVN commit r9194.
2011-04-07 16:34:51 +00:00
historic_bruno
2b138f47db Handle map loading errors in autostart and normal setup modes. Adds TODOs for Atlas and Replay modes. See #764.
Fixes loading screen 'title'.
Fixes broken autostart behavior for random maps and multiplayer games.

This was SVN commit r9193.
2011-04-07 02:32:16 +00:00
Ykkrosh
df4b74ccf6 Render animationless skeletal meshes in their bind pose at their current position, instead of rendering at the world's origin.
This was SVN commit r9182.
2011-04-06 13:49:05 +00:00