From f622c9c91efd8f01b02ed9d82ac51d58fa5d398f Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Wed, 30 Nov 2022 23:40:12 -0800 Subject: [PATCH] update some documentation --- README.md | 6 +++--- src/Episode3/DataIndex.hh | 2 +- src/Episode3/Server.cc | 2 +- system/config.example.json | 14 +++++++------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 8f76cf21..585fbc44 100644 --- a/README.md +++ b/README.md @@ -63,16 +63,16 @@ newserv supports several versions of PSO. Specifically: *Notes:* 1. *DC support has only been tested with the US versions of PSO DC. Other versions probably don't work, but will be easy to add. Please submit a GitHub issue if you have a non-US DC version, and can provide a log from a connection attempt.* 2. *This version only supports the modem adapter, which Dolphin does not currently emulate, so it's difficult to test.* -3. *Episode 3 players can download quests, join lobbies, create and join games, trade cards, and participate in card auctions. CARD battles are also implemented but are not well-tested. Spectator teams and tournaments are not implemented.* +3. *Episode 3 players can download quests, join lobbies, create and join games, trade cards, and participate in card auctions. CARD battles are implemented but are not well-tested. Spectator teams are partially implemented, but are entirely untested. Tournaments are not implemented.* 4. *newserv's implementation of PSOX is based on disassembly of the client executable; it has never been tested with a real client and most likely doesn't work.* 5. *Some basic features are not implemented in Blue Burst games, so the games are not very playable. A lot of work has to be done to get BB games to a playable state.* 6. *Support for PSO Dreamcast Trial Edition is very incomplete and probably never will be complete. This is really just exploring a curiosity that sheds some light on early network engineering done by Sega, not an actual attempt at supporting this version of the game.* ## Usage -Currently newserv should build on macOS and Ubuntu. It will likely work on other Linux flavors too. It should work on Windows as well, but I haven't tested it - the build process could be very manual. Cygwin is likely the easiest Windows environment in which to build newserv. +Currently newserv should build on macOS and Ubuntu. It will likely work on other Linux flavors too. It should work on Windows as well, but I haven't tested it recently - the build process could be very manual. Cygwin is likely the easiest Windows environment in which to build newserv. -There is a probably-not-too-old macOS ARM64 release on the newserv GitHub repository. You may need to install libevent manually even if you use this release (run `brew install libevent`). +There is a fairly recent macOS ARM64 release on the newserv GitHub repository. You may need to install libevent manually even if you use this release (run `brew install libevent`). If you're using an older AMD64 Mac, you're running Linux, or you just want to build newserv yourself, here's what you do: 1. Make sure you have CMake and libevent installed. (`brew install cmake libevent` on macOS, `sudo apt-get install cmake libevent-dev` on most Linuxes) diff --git a/src/Episode3/DataIndex.hh b/src/Episode3/DataIndex.hh index 2b7ee98c..da0a6b40 100644 --- a/src/Episode3/DataIndex.hh +++ b/src/Episode3/DataIndex.hh @@ -31,7 +31,7 @@ enum BehaviorFlag { ENABLE_STATUS_MESSAGES = 0x00000010, LOAD_CARD_TEXT = 0x00000020, ENABLE_RECORDING = 0x00000040, - ENABLE_MASKING = 0x00000080, + DISABLE_MASKING = 0x00000080, }; diff --git a/src/Episode3/Server.cc b/src/Episode3/Server.cc index 965aaf6a..0e71148c 100644 --- a/src/Episode3/Server.cc +++ b/src/Episode3/Server.cc @@ -149,7 +149,7 @@ void Server::send(const void* data, size_t size) const { } string masked_data; - if (this->base()->data_index->behavior_flags & BehaviorFlag::ENABLE_MASKING) { + if (!(this->base()->data_index->behavior_flags & BehaviorFlag::DISABLE_MASKING)) { if (size >= 8) { masked_data.assign(reinterpret_cast(data), size); uint8_t mask_key = (random_object() % 0xFF) + 1; diff --git a/system/config.example.json b/system/config.example.json index 0bbea883..ab5012af 100644 --- a/system/config.example.json +++ b/system/config.example.json @@ -253,18 +253,18 @@ // by bitwise-OR'ing together the following values: // 0x00000001 => Disable deck verification entirely // 0x00000002 => Disable owned card count check during deck verification (this - // enables the use of the non-saveable Have All Cards code, but - // retains all the other validity checks) - // 0x00000004 => Allow card with the D1 and D2 ranks to be used in battle + // enables the use of the non-saveable Have All Cards Action + // Replay code, but retains all the other validity checks) + // 0x00000004 => Allow cards with the D1 and D2 ranks to be used in battle // 0x00000008 => Disable overall and per-phase battle time limits, regardless - // of the options chosen during battle setup + // of the values chosen during battle rules setup // 0x00000010 => Enable debug messages in Episode 3 games and battles // 0x00000020 => Load card text as well as card definitions (has no behavioral - // effects; this flag exists to be used internally when the - // --show-ep3-data option is given) + // effects in games; this flag exists to be used internally when + // the --show-ep3-data option is given) // 0x00000040 => Enable battle recording (after a battle, players can save the // recording with the $saverec command) - // 0x00000080 => Enable command masking during battles + // 0x00000080 => Disable command masking during battles "Episode3BehaviorFlags": 0x00000002, // Episode 3 card auction configuration. CardAuctionPoints specifies how many