Remove option TREATIES
TREATIES has issues: * Treaties can cover attack, assault, paradrop, board, lboard, fire, build (s|p|l|n) and enlist, but not bomb, launch, torpedo and enlistment centers. * Usability is very poor. While a treaty is in effect, every player action that violates a treaty condition triggers a prompt like this: This action is in contravention of treaty #0 (with Curmudgeon) Do you wish to go ahead anyway? [yn] If you decline, the action is not executed. If you accept, it is. In both cases, your decision is reported in the news. You cannot get rid of these prompts until the treaty expires. * Virtually nobody uses them. * Virtually unused code is buggy code. There is at least one race condition: multifire() reads the firing sector, ship or land unit before the treaty prompt, and writes it back after, triggering a generation oops. Any updates made by other threads while trechk() waits for input are wiped out, triggering a seqno mismatch oops. * The treaty prompts could confuse smart clients that aren't prepared for them. WinACE isn't, but is reported to work anyway at least common usage. Ron Koenderink (the WinACE maintainer) suspects there could be a few situations where it will fail. This feature is not earning its keep. Remove it. Drop command treaty, consider treaty, offer treaty, xdump treaty, reject treaties. Output of accept changed, obviously. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
b2090ed34f
commit
a109de948b
60 changed files with 415 additions and 1300 deletions
54
doc/xdump
54
doc/xdump
|
@ -310,13 +310,13 @@ Let's explore how to dump a game. To make sense of a table, we need
|
|||
its meta-data, and to make sense of that table, we need meta-meta
|
||||
data. So we start with that:
|
||||
|
||||
[14:640] Command : xdump meta meta
|
||||
XDUMP meta meta 1303706667
|
||||
[3:640] Command : xdump meta meta
|
||||
XDUMP meta meta 1391339695
|
||||
"name" 3 4 0 -1
|
||||
"type" 4 4 0 34
|
||||
"flags" 5 12 0 33
|
||||
"type" 8 4 0 33
|
||||
"flags" 8 12 0 32
|
||||
"len" 7 4 0 -1
|
||||
"table" 8 4 0 27
|
||||
"table" 8 4 0 26
|
||||
/5
|
||||
|
||||
To interpret this table, we have to know the field names and their
|
||||
|
@ -339,9 +339,9 @@ type only for tables we don't know, and there's one more table we do
|
|||
know, namely the table of tables. Let's dump that next, starting with
|
||||
its meta-data:
|
||||
|
||||
[31:640] Command : xdump meta table
|
||||
XDUMP meta table 1303706678
|
||||
"uid" 8 0 0 27
|
||||
[3:640] Command : xdump meta table
|
||||
XDUMP meta table 1391339775
|
||||
"uid" 8 0 0 26
|
||||
"name" 3 4 0 -1
|
||||
/2
|
||||
|
||||
|
@ -351,33 +351,33 @@ leftmost field's meta-data field table must be the table ID of xdump
|
|||
table itself. Indeed, its value matches the one we got in xdump meta
|
||||
meta. Let's try to dump the table:
|
||||
|
||||
[30:640] Command : xdump 27 *
|
||||
XDUMP table 1303706692
|
||||
[5:640] Command : xdump 26 *
|
||||
XDUMP table 1391339794
|
||||
0 "sect"
|
||||
1 "ship"
|
||||
[...]
|
||||
9 "nat"
|
||||
8 "nat"
|
||||
[...]
|
||||
19 "sect-chr"
|
||||
20 "ship-chr"
|
||||
18 "sect-chr"
|
||||
19 "ship-chr"
|
||||
[...]
|
||||
27 "table"
|
||||
26 "table"
|
||||
[...]
|
||||
/49
|
||||
/47
|
||||
|
||||
It worked!
|
||||
|
||||
Now dump the two symbol tables we postponed. Because xdump accepts
|
||||
table IDs as well as names, we don't have to know their names:
|
||||
|
||||
[14:640] Command : xdump meta 34
|
||||
XDUMP meta meta-type 1303706718
|
||||
[5:640] Command : xdump meta 33
|
||||
XDUMP meta meta-type 1391339879
|
||||
"value" 8 4 0 -1
|
||||
"name" 3 4 0 -1
|
||||
/2
|
||||
|
||||
[15:640] Command : xdump 34 *
|
||||
XDUMP meta-type 1303706737
|
||||
[6:640] Command : xdump 33 *
|
||||
XDUMP meta-type 1391339892
|
||||
1 "d"
|
||||
2 "g"
|
||||
3 "s"
|
||||
|
@ -394,14 +394,14 @@ table IDs as well as names, we don't have to know their names:
|
|||
14 "c"
|
||||
/14
|
||||
|
||||
[15:640] Command : xdump meta 33
|
||||
XDUMP meta meta-flags 1303706753
|
||||
[7:640] Command : xdump meta 32
|
||||
XDUMP meta meta-flags 1391339904
|
||||
"value" 8 4 0 -1
|
||||
"name" 3 4 0 -1
|
||||
/2
|
||||
|
||||
[24:640] Command : xdump 33 *
|
||||
XDUMP meta-flags 1303706765
|
||||
[7:640] Command : xdump 32 *
|
||||
XDUMP meta-flags 1391339919
|
||||
1 "deity"
|
||||
2 "extra"
|
||||
4 "const"
|
||||
|
@ -421,12 +421,12 @@ We now have complete meta-meta information:
|
|||
Dumping the remaining tables is easy: just walk the table of tables.
|
||||
Here's the first one:
|
||||
|
||||
[36:640] Command : xdump meta 0
|
||||
XDUMP meta sect 1303706822
|
||||
"owner" 5 0 0 9
|
||||
[7:640] Command : xdump meta 0
|
||||
XDUMP meta sect 1391339937
|
||||
"owner" 5 0 0 8
|
||||
"xloc" 9 4 0 -1
|
||||
"yloc" 10 4 0 -1
|
||||
"des" 4 0 0 19
|
||||
"des" 4 0 0 18
|
||||
[...]
|
||||
/78
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue