Commit Graph

3874 Commits

Author SHA1 Message Date
Matthias Mailänder
f093de98b6 Merge pull request #7238 from Mailaender/server-cpu-fix
Fixed high CPU usage due to Socket.Select not blocking the thread properly when the game started
2015-01-01 10:53:40 +01:00
asl97
d2a14842d8 avoid a busy server loop with high CPU usage
fixes #7237
2014-12-31 19:46:39 +01:00
Matthias Mailänder
714233d72e Merge pull request #7220 from obrakmann/d2k-worm-option-and-maps
Add worms to d2k maps and add lobby option to disable them
2014-12-31 13:03:37 +01:00
RoosterDragon
fdcfb30011 Improve YAML parse time.
Stream lines to avoid needing to load the whole file first, and avoid a LINQ Contains call when string.IndexOf will be much faster.
2014-12-30 18:17:32 +00:00
Oliver Brakmann
de0a62eb42 Add a lobby option to control spawning creeps (viceroids/worms)
The lobby option is only exposed in d2k currently, not in TD or TS.
2014-12-28 19:26:39 +01:00
Paul Chote
d9752c3bdf Make production type hotkeys configurable. 2014-12-28 17:24:12 +13:00
Matthias Mailänder
962d8fe74f fetch Mono.Nat from nuget 2014-12-26 15:40:06 +01:00
Oliver Brakmann
0a68db5dfa Merge pull request #7187 from pchote/allmods
Show games from all compatible mods in the server browser.
2014-12-25 23:22:05 +01:00
Paul Chote
2cdcd0f590 Don’t crash if a replay can’t be loaded. 2014-12-26 08:48:37 +13:00
Paul Chote
91807cb53c Remove redundant StyleCop definitions. 2014-12-25 10:10:57 +01:00
Paul Chote
3086cc6154 Disable SA1024 and SA1035.
These rules generate many false positives, and do not help with code readability within OpenRA.
2014-12-25 10:10:57 +01:00
Paul Chote
568a23e395 Show all mods in the server browser. 2014-12-25 09:46:14 +13:00
Paul Chote
199f80c8ed Cache GameServer joinable/compatible state across render frames. 2014-12-25 09:46:14 +13:00
Oliver Brakmann
39d13dc654 Merge pull request #7121 from pchote/switchmods
Add Launch.Connect command and on-connect mod switching.
2014-12-24 16:06:00 +01:00
Paul Chote
6923046564 Expose the cursor mode setting. 2014-12-23 22:09:22 +13:00
Paul Chote
1317101662 Add support for hardware cursors. 2014-12-23 22:09:22 +13:00
Paul Chote
75b046ae2a Reorganize cursor plumbing in preparation for hardware cursors. 2014-12-23 22:09:22 +13:00
Paul Chote
202247cf6a Include no-extension workaround for FrameCache too. 2014-12-23 22:09:22 +13:00
Paul Chote
380b0e1561 Capitalise cursor properties. 2014-12-23 22:09:21 +13:00
Paul Chote
dc211cc729 Fix an unrelated editor regression. 2014-12-23 10:00:23 +13:00
Paul Chote
96b5b1fc66 Automatically switch mods when connecting to a server / replay. 2014-12-23 09:20:21 +13:00
Paul Chote
660f6682ff Add Launch.Connect parameter for launching directly to a server. 2014-12-23 09:20:21 +13:00
Paul Chote
7bfffeadc2 Simplify mod content installation plumbing. 2014-12-23 09:20:21 +13:00
Paul Chote
ec7a32184e Move the mod-level initialisation code back into the load screen. 2014-12-23 09:20:19 +13:00
Paul Chote
2ed594fd86 Introduce map Visibility field.
This replaces the Selectable, UseAsShellmap, and special-cased Type = "Mission" fields.
2014-12-23 09:08:00 +13:00
Paul Chote
b4c9c19cce Don’t crash when saving automatically-upgraded maps. 2014-12-23 09:08:00 +13:00
Paul Chote
14deb1efdf Drop support for map format 5. 2014-12-23 09:08:00 +13:00
Matthias Mailänder
711a1ca5fc Merge pull request #6830 from RoosterDragon/dispose-renderer-resources
Closes #5116
2014-12-22 19:59:41 +01:00
Matthias Mailänder
ea410d0688 Merge pull request #7096 from ScottNZ/countries
Closes #5928
2014-12-22 19:20:43 +01:00
RoosterDragon
b28d999131 Made SheetBuilder rely on global settings rather than global renderer.
Additionally exposed an InitializeSettings method on game to initialize the global settings so that other classes can set up all the secret dependencies on the global settings required.
2014-12-22 17:39:19 +00:00
RoosterDragon
9cbac2d5e1 Clean up style of files affected by the last commit. 2014-12-22 17:34:02 +00:00
RoosterDragon
f0f02dff5c Dispose of graphics resources deterministically.
Textures, FrameBuffers and VertexBuffers allocated by the Sdl2 Renderer were only being released via finalizers. This could lead to OpenGL out of memory errors since resources may not be cleaned up in a timely manner. To avoid this, IDisposable has been implemented and transitively applied to classes that use these resources.

As a side-effect some static state is no longer static, particularly in Renderer, in order to facilitate this change and just for nicer design in general.

Also dispose some bitmaps.
2014-12-22 17:34:01 +00:00
Paul Chote
f352aedf61 Merge pull request #7071 from RoosterDragon/deal-in-map-coords
Avoid redundant cell <-> map conversions
2014-12-22 14:08:30 +13:00
Paul Chote
acb29d74cd Merge pull request #7141 from RoosterDragon/sync-less-tostring
Generate sync reports faster
2014-12-22 09:01:08 +13:00
RoosterDragon
c37a691c33 Convert some keys users of CellLayer to index via map-coords for efficiency. 2014-12-20 23:39:03 +00:00
RoosterDragon
b728deb0e1 Added the ability to enumerate the map-coords of a CellRegion for performance. 2014-12-20 23:36:28 +00:00
ScottNZ
4f4c67735d Overhaul the lobby faction dropdown for ra 2014-12-19 18:13:27 +13:00
ScottNZ
c4110bad45 Add country definitions 2014-12-19 18:05:28 +13:00
Paul Chote
5b011e6baf Merge pull request #7072 from obrakmann/fmv-overhaul
Move FMV playback from Lua scripts to widgets
2014-12-19 17:43:07 +13:00
Oliver Brakmann
280b30961f Add plumbing for short game option 2014-12-18 20:03:26 +01:00
Oliver Brakmann
e342619ac7 Add video support to legacy map importer
This enables the map importer to map the .ini video definitions to ours.

The mapping generally is as follows:

Intro => BackgroundInfo
Brief => Briefing
Action => GameStart
Win => GameWon
Lose => GameLost

An issue in some Red Alert maps means that this mapping is not always
quite correct. In those maps that do not have a 'Brief' video defined
(scg03a is an example), Westwood has assigned the video that should
probaby have been the 'Action' video to the 'Intro' slot instead. I can
only assume that that was done due to some limitation in the original
game code. Mappers will have to correct that assignment manually in
those cases.
2014-12-18 18:59:42 +01:00
Oliver Brakmann
04bd4627d4 Add yaml-defined FMV playback to GUI elements 2014-12-18 18:59:42 +01:00
RoosterDragon
3511fbbf2c Generate sync reports faster by delaying ToString calls until it is written to disk.
Values for the report are generated by calling ToString on members, we avoid calling this on value types for performance. By instead just copying the value we can delay calling ToString until later and avoid spending time and memory creating strings that usually go unused.
2014-12-16 18:39:02 +00:00
reaperrr
ee8e1f46c1 Move 'Activity' into its own namespace in OpenRA.Game. 2014-12-14 17:12:46 +01:00
RoosterDragon
f01f8d92b3 Cache the initial path layer for faster path search startups.
Reinitializing the initial cell info layer for the path search took a fair bit of time. We cache this initial setup so it only has to be done each time the map size changes. A CopyValuesFrom method in CellLayer is provided which copies values between layers by just copying the internal arrays for super speed.

This speeds up InitCellInfo 10x.
2014-12-13 21:44:32 +00:00
obrakmann
c8ad2d4911 Merge pull request #7093 from RoosterDragon/frozen-stream
Make FrozenActorsInBox a streaming enumerable.
2014-12-11 00:10:40 +01:00
obrakmann
2d5b41338e Merge pull request #7091 from RoosterDragon/buffer-copy-palettes
Block copy palettes
2014-12-10 22:57:37 +01:00
Chris Forbes
eec4f7171a Merge pull request #7057 from pchote/celllayerupdates
Improve radar rendering performance
2014-12-08 14:09:09 +13:00
Chris Forbes
522c63ff58 Merge pull request #7081 from Mailaender/ignore-missing-npc-objectives
Removed the need to give NPCs fake objectives to properly end the game
2014-12-08 14:05:59 +13:00
RoosterDragon
1116f578a3 Make FrozenActorsInBox a streaming enumerable.
Following the same layout as ActorsInBox, this streams the enumerable internally making it cheaper to call if only part of it is required, and also avoids building an intermediate list.
2014-12-07 21:36:56 +00:00