Commit Graph

12930 Commits

Author SHA1 Message Date
RoosterDragon
4ce8a4a648 Use Marshal.Copy for faster array copying.
- Rewrite several methods to use Marshal.Copy to copy data faster and more succinctly compared to doing it manually.
- Rewrite Sheet.AsBitmap(TextureChannel, Palette) with a faster and more self descriptive loop.
2014-06-11 05:02:38 +01:00
Paul Chote
e347cdfb32 Merge pull request #5410 from RoosterDragon/IDisposable
Disposable fixup
2014-06-11 10:55:44 +12:00
Paul Chote
ccb34adb04 Merge pull request #5503 from RoosterDragon/map-preview-perf
Faster map preview generation.
2014-06-11 00:05:10 +12:00
RoosterDragon
9dbbc23967 Make map preview generation fast.
- Change Map.LoadMapTiles and Map.LoadResourceTiles to read the whole stream into memory before processing individual bytes. This removes the cost of significant overhead from repeated calls to ReadUInt8/16.
- Remove significant UI jank caused by the map chooser by not including the placeholder widget. The maps render fast enough that it is no longer worthwhile and it was causing a lot of flushes which were the source of the jank.
- Trigger async generation for all maps when the chooser is loaded. This means in practice all previews will be ready by the time the user begins to scroll the selection. Since generation is fast, there is no issue with scrolling straight to the bottom and having to wait for the backlog to clear.
2014-06-10 11:46:39 +01:00
RoosterDragon
a598a01108 Fixed IDisposable implementation and usage.
- Implement IDisposable interface correctly, with sealed classes where possible for simplicity.
- Add using statement around undisposed local variables.
2014-06-10 11:23:55 +01:00
Paul Chote
ee7573d01c Merge pull request #5484 from RoosterDragon/startup-efficiency
Improved efficiency of startup methods.
2014-06-10 18:28:25 +12:00
Paul Chote
373529e110 Merge pull request #5505 from pavlos256/map-preview-generation
Map preview generation
2014-06-10 17:56:21 +12:00
Chris Forbes
00b95f754f Merge pull request #5593 from RobotCaleb/misc_fixes
Expanded credits window a bit
2014-06-10 10:39:50 +12:00
Caleb Anderson
3b9f1ed43c expand credits window a bit to fit the text better. 2014-06-09 16:06:45 -06:00
Caleb Anderson
49def655c9 add sublime text project/workspace to ignore 2014-06-09 16:06:44 -06:00
Matthias Mailänder
9df00ad8f9 Merge pull request #5590 from Happy0/sd2windowgrab
Closes #4977
2014-06-09 20:29:29 +02:00
Gordon Martin
5eab479c34 Adding SDL2 window grab on loading the game. Made this behaviour configurable in the 'Input' tab of the Settings menu
Updated settings file for TD to expose the new 'Lock mouse to window' display configuration option

A text label notes that modifying the 'Lock mouse' check box requires a restart
2014-06-09 19:10:05 +01:00
RoosterDragon
e63f330717 Improved efficiency of startup methods.
- ShpReader will copy the input stream into memory just once rather than for every header.
- ShpReader.CopyImageData switched to use Array.Copy since that uses some unsafe magic for speed.
- In ActorInfo, cache a GetType call and prevent needless materialization in PrerequisitesOf.
- In ObjectCreator, cache type and ctor lookups since these are expensive and often repeated.
- Implement IReadOnlyDictionary<T, U> on Cache<T, U> to provide some supplementary functions.
- In TechTree.GatherOwnedPrerequisites, rearrange a Boolean 'and' expression to evaluate expensive functions later in the chain, and use ContainsKey to speed up name check.
2014-06-09 17:13:01 +01:00
Matthias Mailänder
334a210231 Merge pull request #5564 from Kanar/MinibibsRework
Adds/reworks some minibibs
2014-06-09 16:54:35 +02:00
Matthias Mailänder
13fad65c19 Merge pull request #5539 from deniz1a/repair-pause
Closes #5322
2014-06-09 16:24:34 +02:00
Matthias Mailänder
7216688baf Merge pull request #5567 from ScottNZ/perf
Refactor AutoTarget scan and GPS interaction
2014-06-09 12:01:05 +02:00
Paul Chote
decdcf44d4 Merge pull request #5504 from RoosterDragon/frozen-fog-lookup-locals
Cache some dictionary lookups
2014-06-09 17:50:38 +12:00
Paul Chote
d8e5177a36 Merge pull request #5405 from RoosterDragon/min-max
Added MinBy, MaxBy, etc.
2014-06-09 17:42:01 +12:00
Chris Forbes
033f631f28 Merge pull request #5508 from pavlos256/read-only-list
Add IReadOnlyList
2014-06-09 17:36:40 +12:00
Paul Chote
1c8a8ca6ff Merge pull request #5400 from RoosterDragon/equatable
Implemented IEquatable<T>
2014-06-09 17:32:17 +12:00
Paul Chote
ea9601b128 Merge pull request #5509 from RoosterDragon/stream-exts-fixes
Fixes to StreamExts.
2014-06-09 17:25:25 +12:00
Chris Forbes
1051728790 Merge pull request #5541 from RoosterDragon/enumerate-armaments-once
Avoid repeated work in AttackBase.
2014-06-09 17:07:51 +12:00
Matthias Mailänder
bc103f8ffd Merge pull request #5577 from pchote/production-fix
Don’t queue rallypoint move if MoveIntoWorld:false.
2014-06-08 10:38:12 +02:00
Paul Chote
2c5f1de780 Don’t queue rallypoint move if MoveIntoWorld:false. Fixes #5576. 2014-06-08 11:52:39 +12:00
Paul Chote
9762ef8119 Merge pull request #5573 from Mailaender/replay-hotkeys
Fixed pixel doubling and health bar hotkeys unavailable in spectator mode
2014-06-07 23:24:02 +12:00
Matthias Mailänder
3a1c41c8ce move pixel doubling and health bar hotkeys to shared widget
closes #5572
2014-06-07 12:26:58 +02:00
Paul Chote
f06cbfa5fe Merge pull request #5571 from Mailaender/invisible-gems
Fixed single resources being spawned at 0 density
2014-06-07 22:08:46 +12:00
Matthias Mailänder
0dee8208a8 never spawn with density 0 because that is not rendered 2014-06-07 11:56:54 +02:00
Matthias Mailänder
1c92737798 Merge pull request #5570 from pchote/arch-packaging
Fix arch packaging (attempt two).
2014-06-07 11:02:13 +02:00
Paul Chote
a0723bfec3 Fix pacman installation. 2014-06-07 20:58:08 +12:00
Matthias Mailänder
ffef0e97b6 Merge pull request #5569 from pchote/arch-packaging
Fix arch packaging.
2014-06-07 10:30:57 +02:00
Paul Chote
c811be1795 Fix arch package building on Travis. 2014-06-07 20:27:38 +12:00
Kanar
bf47543a0a Adds/reworks some minibibs 2014-06-07 09:24:08 +02:00
ScottNZ
7e6f7c51e1 Refactor AutoTarget scan and GPS interaction, and cache trait lookup for a slight performance boost 2014-06-07 12:01:50 +12:00
RoosterDragon
531e3b7861 Fixes to StreamExts.
- Almost all calls to Stream.Read were broken. These have been patched to all go through ReadBytes which itself has been fixed to function correctly. The key thing to note is that Stream.Read is very much allowed to return less than the requested number of bytes. If this happens and you're not checking the return result, you'll be working with partially initialized arrays and really bad stuff happens when you do that.
- Call CopyTo rather than copying between streams manually.
- Peek and ReadUInt8 have been changed to avoid a pointless array allocation which is significant overhead for such simple calls.
2014-06-07 00:49:25 +01:00
Paul Chote
5784444720 Merge pull request #5561 from Mailaender/rpm-file-listed-twice
Fixed rpmbuild warning: File listed twice
2014-06-06 00:50:18 +12:00
Matthias Mailänder
66bc649d75 fix rpmbuild warning: File listed twice 2014-06-05 14:36:37 +02:00
Paul Chote
6d1a46a2fe Merge pull request #5560 from Mailaender/travis-silence
Reduced the verbosity of the packaging build
2014-06-06 00:19:38 +12:00
Matthias Mailänder
92e5ea42db silence NSIS 2014-06-05 14:08:51 +02:00
Matthias Mailänder
8b1b50e9b3 silence zip 2014-06-05 14:08:43 +02:00
Paul Chote
59837f7a8d Merge pull request #5559 from Mailaender/travis-pedantic-braces
Fixed not being pedantic enough with curly braces
2014-06-05 23:57:09 +12:00
Matthias Mailänder
645b0f4da7 less verbose rpmbuild output 2014-06-05 13:51:41 +02:00
Matthias Mailänder
71e58fce30 be overly pedantic with ${}
because bash
2014-06-05 13:47:58 +02:00
Paul Chote
732d2da721 Merge pull request #5558 from Mailaender/travis-fixups
Fixed RPM deployment on Travis CI
2014-06-05 23:29:30 +12:00
Matthias Mailänder
76da946075 fix /home/travis/rpmbuild/SPECS/openra.spec: No such directory 2014-06-05 13:21:25 +02:00
Matthias Mailänder
354353814e fix RPM filename 2014-06-05 13:18:07 +02:00
Matthias Mailänder
6e289a549d deploy on all branches again 2014-06-05 13:02:10 +02:00
Paul Chote
90dbf3b5cd Merge pull request #5557 from Mailaender/travis-deploy-fixes
Fixed Linux packaging failing Travis CI deployment
2014-06-05 22:24:18 +12:00
Matthias Mailänder
4b3935b010 enforce bash usage to avoid problems on Ubuntu with dash 2014-06-05 12:20:54 +02:00
Matthias Mailänder
87ddbddf2f try an absolute path instead 2014-06-05 11:58:01 +02:00