Update copyright notice Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
Update copyright notice Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
Update copyright notice Signed-off-by: Markus Armbruster <armbru@redhat.com>
Update copyright notice Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
empobj: Drop unused get_empobj_mob_max() Unused since commit 3a1577a, v4.3.30. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
Update copyright notice Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
Update copyright notice Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
unit: Drop ulist member chrp Commit cd8d742 mechanically combined struct mlist's mcp and struct llist's llp into struct ulist's chrp, adding type casts to every use. Not necessary, simply use mchr[] and lchr[] directly. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
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>
Update copyright notice Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
Update copyright notice
Update copyright notice
Verify table uid sanity more tightly verify_row() refrains from rejecting zero uids, because some tables may contain blank entries, with zero uid. Change it to check only header sanity for entries that are not in use. This filters out all legitimately blank entries. Tighten up the uid check. For computing "in use", factor empobj_in_use() out of xdvisible(). Note that xdvisible()'s case EF_COUNTRY doesn't bother to check nat_stat, because that's implied by what it does check. It's not implied in empobj_in_use(), so add it there.
Rename obj_nameof() to unit_nameof() and move to unitsub.c
Remove unused get_empobj_chr() Unused since commit 5e77193c, v4.3.24.
Update known contributors comments
Clean up superfluous include of news.h in empobj.h Missed in commit 0ba61f17, v4.3.24.
License upgrade to GPL version 3 or later Why upgrade? I'm not a lawyer, but here's my take on the differences to version 2: * Software patents: better protection against abuse of patents to prevent users from exercising the rights under the GPL. I doubt we'll get hit with a patent suit, but it's a good move just on general principles. * License compatibility: compatible with more free licenses, i.e. can "steal" more free software for use in Empire. I don't expect to steal much, but it's nice to have the option. * Definition of "source code": modernization of some details for today's networked world, to make it easier to distribute the software. Not really relevant to us now, as we normally distribute full source code. * Tivoization: this is about putting GPL-licensed software in hardware, then make the hardware refuse to run modified software. "Neat" trick to effectively deny its users their rights under the GPL. Abuse was "pioneered" by TiVo (popular digital video recorders). GPLv3 forbids it. Unlikely to become a problem for us. * Internationalization: more careful wording, to harden the license outside the US. The lawyers tell us it better be done that way. * License violations: friendlier way to deal with license violations. This has come out of past experience enforcing the GPL. * Additional permissions: Probably not relevant to us. Also include myself in the list of principal authors.
Update copyright notice
Rearrange struct sctstr slightly to expose commonalities with units Nice bonus: space needed for sectors shrinks some 4%. Size of game state could shrink perhaps 1-2%.