168 Commits

Author SHA1 Message Date
Ray Koopa
db3a49539f Fix color output on Linux and Mac OS X, log time stamps with packets, allow configuring local end point with command line parameter. 2020-07-11 05:12:32 +02:00
Ray Koopa
4e1f9b17a8 Prepare game server to be published easily. 2020-07-11 03:14:57 +02:00
Ray Koopa
c97ef5deb2 Send message to users trying to host with bad IP. 2020-07-11 02:07:42 +02:00
Ray Koopa
0cfbc5b675 Fix rooms not being closed when last game is closed. 2020-07-11 01:50:25 +02:00
Ray Koopa
20d7c3c743 Fix game packets. 2020-07-10 23:00:16 +02:00
Ray Koopa
02a644abe9 Finish Worms 2 server (so far). 2020-07-10 21:01:09 +02:00
Ray Koopa
0fee2e1e13 Implement room chat and leaves. 2020-07-10 18:45:10 +02:00
Ray Koopa
9aad0faf6b Implement real packet handling. 2020-07-10 02:15:06 +02:00
Ray Koopa
ac2d12c1b6 Handle additional packets. 2020-07-09 17:06:37 +02:00
Ray Koopa
17b0edf67f Push current additions to Worms 2 server with test proxy. 2020-07-08 23:48:28 +02:00
Ray Koopa
ebdf7f5168 Add Worms2 server. 2020-07-07 00:46:30 +00:00
Ray Koopa
a308ae49b1 Add quick Worms 2 server PoC. Makes BinaryStream FixedString extensions globally available. 2020-07-07 02:45:00 +02:00
Ray Koopa
420810fad2 Remove old TODOs from BinaryStreamExtensions, they're not relevant. 2020-07-03 21:09:19 +02:00
Ray Koopa
b44ae666b6 Armageddon: Read and write signature as unsigned integer instead of string. 2020-07-03 13:57:34 +02:00
Ray Koopa
6d2864e6f7 Loading and saving extended options no longer needs to be unsafe. Remove unused "ClearExtendedOptions". 2020-07-03 13:48:18 +02:00
Ray Koopa
dd2e67eab9 Arnageddon
- Make Scheme.Extended a field rather than an uncommon ref property. Set ObjectCount to 8 by default.
- Make ExtendedOptions.Default public.
- Simplify comparison of ExtendedOptions instances.
2020-07-03 11:50:26 +02:00
Ray Koopa
4454cb1496 Merge branch 'master' of https://gitlab.com/Syroot/Worms 2020-07-02 05:29:15 +02:00
Ray Koopa
5b69f82a35 Syroot.Worms.Armageddon 4.0.1: Optimize WA v3 schemes to store only non-default extended options.
- Adds SchemeVersionExtensions.GetWeaponCount(), returning how many weapons are stored by the corresponding SchemeVersion.
- Adds ExtendedOptions.AsSpan() to return the unmanaged representation of the extended settings.
- Optimize usage of .NET Standard 2.0 Span backports.
2020-07-02 05:28:59 +02:00
Ray Koopa
08703b6c12 Add initial Blazor-based scheme editor. 2020-07-02 01:25:35 +02:00
Ray Koopa
9548855a8e Update README.md 2020-07-01 17:36:34 +00:00
Ray Koopa
7e13af88d1 Update README.md 2020-07-01 17:32:29 +00:00
Ray Koopa
ed4b69d4ad Update README.md 2020-07-01 17:22:17 +00:00
Ray Koopa
cc0ccaae7d Remove temporary code storing test files to disk. 2020-07-01 15:23:52 +02:00
Ray Koopa
bf0c60659a Fix several XML summaries. 2020-07-01 13:54:22 +02:00
Ray Koopa
ebba11bd59 Update project file. 2020-07-01 13:54:16 +02:00
Ray Koopa
f8b1b84f21 Archive: Ensure o call private directory directly while loading and saving. 2020-07-01 13:54:07 +02:00
Ray Koopa
b89ea5d7e9 Add WA archives to test. 2020-07-01 13:53:16 +02:00
Ray Koopa
c62d4a7551 Release v4.
- Fixes remaining ProjectX issues and failing tests.
- Relaxes dependencies on other libraries.
2020-07-01 13:31:02 +02:00
Ray Koopa
5321dfb49a Overhaul implementations and documentation. 2020-07-01 02:09:36 +02:00
Ray Koopa
8b92e6a8be Fix detection of SchemeSaveFormat when calling Save for file names. 2020-06-29 03:03:09 +02:00
Ray Koopa
861d5ea585 Implement W:A V3 schemes. 2020-06-28 23:22:08 +02:00
Ray Koopa
1d06fbd578 Setting RubberWorm version override transfers to extended options. 2020-06-28 19:52:11 +02:00
Ray Koopa
13583a6971 Prepare support for W:A 3.8 V3 schemes.
- Add all new V3 extended options. These will be moved to their own struct soon.
- Renames several existing properties and enums to be more concise.
- Convert RubberWorm probabilities to V3 values.
- Add test testing against a dump of all schemes uploaded to WSDB as of this commit.
2020-06-28 19:06:40 +02:00
Ray Koopa
10008eaf6e Rename FileTester to Tools and allow testing of single Streams. 2020-06-28 19:00:57 +02:00
Ray Koopa
66d4d15305 Relax NuGet package dependencies where possible. 2020-06-27 17:08:56 +02:00
Ray Koopa
7e3fcb766c Fix saving TeamContainer instances and add local test files for them. 2020-06-27 16:58:34 +02:00
Ray Koopa
fabc3e98b2 Properly leave open streams when saving to them for GeneratedMap and LandData instances. 2020-06-27 16:57:39 +02:00
Ray Koopa
ad2a7c79e1 Replace all inherited interface XML summaries with inheritdoc marker. 2020-06-27 16:35:11 +02:00
Ray Koopa
88d07a1ff1 Fix remaining Scheme bugs.
- Implement IEquatable.
- Fix RoundTimeSeconds not properly being parsed.
- Uniquely throw ArgumentOutOfRangeException even for rounding properties.
- Fix FallDamage not being stored properly.
- Add tests for rounding properties and local scheme test files.
- Implement equality operations for SchemeWeapon.
2020-06-27 16:30:49 +02:00
Ray Koopa
378d2474b1 Release 3.1.0 for affected packages. 2020-06-27 14:19:37 +02:00
Ray Koopa
b46cdadb89 Simplify Scheme usage.
- SchemeWeapon enum has been renamed to SchemeWeaponName.
- SchemeWeaponSetting has been renamed to SchemeWeapon.
- Scheme.FallDamage and Scheme.WaterRiseRate are now integral values, rounding down to the nearest valid setting.
- Static Scheme.ValidXxx properties were added to retrieve a list of valid fall damage, water rise, and object count values.
- Scheme properties uniquely throw ArgumentOutOfRangeExceptions if a value is outside of the allowed bounds.
2020-06-27 12:36:20 +02:00
Ray Koopa
e2b41157db Rename MEMBERS separator comments to FIELDS. 2020-06-27 12:31:43 +02:00
Ray Koopa
e72f6041e3 Release 3.0.1.
- Simplify scheme object count usage.
- Fix saving files.
- Uniquely leave open Stream instances when saving into them.
2020-06-26 19:05:46 +02:00
Ray Koopa
26a9125f0a Rewrite logic of parsing Scheme object count and type.
Mirrors frontend logic more closely now without the need for static lookup arrays.
2020-06-26 19:00:55 +02:00
Ray Koopa
57815e9072 Get rid of DisposableGCHandle.
Use Span functionality instead. This introduces some copies for .NET Standard 2.0 builds.
2020-06-26 18:57:01 +02:00
Ray Koopa
b4cf309156 Update target framework for most projects.
- Test projects now run on .NET Core 3.
- NuGet packages additionally target .NET Standard 2.1 to use Span functionality.
2020-06-26 18:54:53 +02:00
Ray Koopa
ed2785e339 Fix several issues when saving new files.
- Fix writing raw bytes.
- In case of saving into Stream instances, uniquely leave them open everywhere.
2020-06-26 18:53:25 +02:00
Ray Koopa
84ba8c56a0 Update readme. 2020-06-18 16:04:52 +02:00
Ray Koopa
c51f67dc46 Update copyright. 2020-06-18 16:04:42 +02:00
Ray Koopa
0ce2ce387e Publish split game-related NuGet packages. 2020-06-18 15:52:14 +02:00