On Tue, Aug 08, 2006 at 12:04:40AM -0700, William Balcerski wrote: > * Fix for conquer parade alignment Didn't apply, so I did something similar. I don't see how changing the position from a slot number to a count should make any difference to the problem. In the old code, all slot numbers are unique, so there should be unique ring positions. Iggies don't share slot numbers with players. Even with this patch, I still cannot prove that this fixes the problem, because I've not succeeded in attempts to reproduce the problem before this patch. How did you reproduce the problem? What did you have to change in tests/parade-bug-2006-08-07, or what did you do that was different? -- James Cameron mailto:quozl at us.netrek.org http://quozl.netrek.org/ -------------- next part -------------- New patches: [fix for conquer parade alignment, alternate quozl at us.netrek.org**20060809043954 * ntserv/conquer.c (conquer_ships_ring, conquer_parade): add a counter for calculating ring coordinates rather than using player list position. ] < > { hunk ./Vanilla/ntserv/conquer.c 123 /* animate a ring of ships, move them slowly into position */ static void conquer_ships_ring() { - int n, h; + int n, h, k; struct player *j; conquer_decloak(); hunk ./Vanilla/ntserv/conquer.c 128 n = conquer_count_players(); - for (h = 0, j = &players[0]; h < MAXPLAYER; h++, j++) { + for (h = 0, j = &players[0], k = 0; h < MAXPLAYER; h++, j++) { int x, y, dx, dy; if (j->p_status == PFREE) continue; if (j->p_no == conquer_player) continue; hunk ./Vanilla/ntserv/conquer.c 132 - conquer_ring_coordinates(j, h, n, &x, &y); + conquer_ring_coordinates(j, k++, n, &x, &y); dx = j->p_x - x; dy = j->p_y - y; if (abs(dx) < 50) { hunk ./Vanilla/ntserv/conquer.c 150 /* force the ring of ships into final position */ static void conquer_parade() { - int n, h; + int n, h, k; struct player *j; n = conquer_count_players(); hunk ./Vanilla/ntserv/conquer.c 154 - for (h = 0, j = &players[0]; h < MAXPLAYER; h++, j++) { + for (h = 0, j = &players[0], k = 0; h < MAXPLAYER; h++, j++) { if (j->p_status == PFREE) continue; if (j->p_no == conquer_player) continue; hunk ./Vanilla/ntserv/conquer.c 157 - conquer_ring_coordinates(j, h, n, &j->p_x, &j->p_y); + conquer_ring_coordinates(j, k++, n, &j->p_x, &j->p_y); j->p_speed = 0; } } } Context: [add test for conquer parade slot alignment bug quozl at us.netrek.org**20060808054700 * tests/parade-bug-2006-08-07: a test to try to reproduce the bug reported by Niclas where iggy slots end up in the same screen position as player slots. ] [add planet orbit and take test scripts quozl at us.netrek.org**20060808054456 * tools/setplanet.c: add be-orbited-by and be-taken-by test actions, for use by test scripts. They cheat, and are therefore not intended for production use. ] [minor indentation fixes prior to review quozl at us.netrek.org**20060808002418 * ntserv/conquer.c: tabify, some added lines lacked tabs, made it inconsistent. ] [Semi-critical update fix williamb at its.caltech.edu**20060622022126 * socket.c (updateClient): clarifies purpose of packet type check against 0x40, adds check for SP_S_YOU case. ] [Show geno messages for observers williamb at its.caltech.edu**20060622013521 * genspkt.c (sndSelf and sndSSelf): Factorized check for whether packet should be marked as critical. (check_sendself_critical): New function. Player status (via sndPStatus) is sent before player whydead (via sndSelf or sndSSelf). When whydead changes, the packet must be marked as critical in order for that information to arrive first, so that observers can get a proper whydead message upon genocide. This was previously done for just sndSelf, but with this patch, both sndSelf and sndSSelf now do it, and observers get geno messages with short packets on. ] [Formatting fix for if statement in interface.c williamb at its.caltech.edu**20060707151641 * interface.c: (do_refit). Fixes if statement split over 3 lines. ] [Command file for PreT robots williamb at its.caltech.edu**20060707152531 * robots/pret.c: (start_a_robot) Adds the ability to read in a command file, as per the command file defined in pretdefs.h, but which was unused for whatever reason. Note that both the newbie server and basepractice server are set to use the same file, defined as COMFILE in pretdefs.h, basepdefs.h, and newbiedefs.h. As these modes are mutually exclusive, it is ok for them to read in robot commands from the same commands file. M ./Vanilla/robots/pret.c -1 +3 ] [adjust test scripts for xtkill changes quozl at us.netrek.org**20060710014703 * tests: some scripts used "xtkill k" repeatedly to grant kills, changed to use the additional parameter. Note that this additional parameter is not immediately after the option, like it is with T or t options. ] [Xtkill settable kills williamb at its.caltech.edu**20060707153051 * xtkill.c (main): Adds the ability to specify the number of kills to increment the player, identical to how the increment armies option works, rather than just adding +1 kill per use of the xtkill k option. M ./Vanilla/tools/xtkill.c -2 +5 ] [Xtkill bug fixes williamb at its.caltech.edu**20060623040057 * xtkill.c (Usage): Added 2 missing options (u and H) to options list. (main): Removed call to getshipdefaults(), as this data was already in memory, and it had the unintended consequence of erasing any modifications to ship values that were set in the sysdef file, forcing a sysdef reload every time xtkill was used. ] [robotd-carriage-return-added-to-death-messages.dpatch jimmyhua73 at yahoo.com**20060630092932 * robotd/death.c in function death(), I added newline character to the reason of death on all mprintf statements "\n", so it displays properly in debug mode. ] [freebsd compilation fix, missing header quozl at us.netrek.org**20060705062726 * ntserv/main.c: add signal.h include, after a report from a FreeBSD user showed that my enthusiastic trimming of headers had broken compilation on other operating systems. ] [avoid lies to metaserver due pre-t robots quozl at us.netrek.org**20060703021915 * solicit.c: count PFBPROBOT slots as being free, since we expect them to back off and quit if a player arrives, so that the metaserver report of players properly excludes pre-t robots. ] [further-fixes-to-war-decs.dpatch jimmyhua73 at yahoo.com**20060702153128 This completes the fixes I started with war declarations. Basically, war is declared when 1. t-mode starts. 2. bot is forced to switch teams Further peace is declared when: 3. everytime you take out a new ship. This should cover all scenarios in a typical pickup game. Tested by having robots join a bronco style game. 1 Kli, 4 feds, 4 Roms. Check war decs. Have the 1 kli get forced to join one of the t-mode teams. Check war decs Have Feds get timercided, and get forced to join Klis. Check war decs. Wait till Roms cause a genocide (Roms will take a neutral planet!). Then games continues as Rom vs. Kli, and check war decs. Changelog here: * robotd/update_players.c changed declare_intents() function so that it will return success or failure codes. Also, changed function so that you may declare peace only, by doing declare_intents(1). * robotd/decide.c added static int needswardec in function decide() so that robot can track when t-mode dies off and starts up again. * robotd/decide.c added in function decide() logic so, declare_intents(0) function gets called when t-mode just starts up. * robotd/decide.c modified in function decide() other calls to declare_intents() so that they conform to the extra parameter passing * robotd/robot.c added comment in function s_recharge() a peace request never gets called when robot orbits a planet it originally wanted to refuel from * robotd/robot.c in function find_safe_planet() fixed some buggy logic which allowed robots to head towards hostile planets to refuel/repair. * robotd/robot.c in function reset_r_info() modified call to declare_intents() to conform to newly modified function. ] [continuum ghostbust diagnostics quozl at us.netrek.org**20060630025545 * daemonII.c (ghostmess): add reason for ghostbust to message, and increase logging of normal ghostbust timeout in ERRORS. ] [untabify daemon main quozl at us.netrek.org**20060630022904 * daemonII.c: removed all tabs using untabify in emacs. ] [newbie robots war declarations test quozl at us.netrek.org**20060630020843] [Newbie robots now declare war properly in pickup games quozl at us.netrek.org**20060630011431 Derived from Jimmy Huang's patch of the same name. * robotd/data.c: fixed comment misspelling in int delay. delay for declaring war. * robotd/decide.c (decide): added some comments to help me follow the code better * robotd/main.c (main): fixed up indentation of variable declarations. Added switchedteams variable. Modified main() function so that when a team switch occurs, declare_intents() gets called after choosing a new ship. * robotd/robot.c (reset_r_info): added some commentary on the declare_intents() call, which only gets something done only if someone sends a reset command to the robot. * robotd/robot.c (send_initial): removed commented code of declare_intents(). This was a bug workaround, robot sends a dummy packet so it doesn't get ghostbusted. Doesn't seem needed anymore. * robotd/update_players.c (declare_intents): added commentary on how this function is supposed to work. Function will now properly declare war on the 2 teams with the most players that isn't the same team as yourself. And then declares peace with everyone else. ] [continuum ban vote tweaks 2006-06 quozl at us.netrek.org**20060622015354 Following review of continuum recording 2006-06-07-22-00: - require four votes to ban instead of two, to defeat ban scumming, - expire ban votes within two minutes instead of ten, - expire eject votes within five minutes instead of ten. ] [xtkill ship change fixes williamb at its.caltech.edu**20060620005009 * tools/xtkill.c: Adds the ability to set ship to galaxy class, removes unneccessary ship size change for ATT, and updates the list of valid ship types to include the super SC with 1 point torps (this was missing from list of valid ship types). M ./Vanilla/tools/xtkill.c -8 +5 ] [newbie-observer-ports.dpatch jimmyhua73 at yahoo.com**20060616103448 * docs/sample_ports added observer port definitions for newbie server. Added commentary to make it easier to configure the port configuration for a newbie server setup. ] [Chaos mode starbase enhancements williamb at its.caltech.edu**20060606200821 * orbit.c, transwarp.c: Allows starbases to transwarp to and dock with other bases if chaos mode is activated. ] [Twarp message fix williamb at its.caltech.edu**20060606200652 * transwarp.c: Fixes outdated reference to transwarp hours. ] [ATT and invalid ship fixes williamb at its.caltech.edu**20060603092650 * getentry.c, main.c: allow listing of ATT on features screen, and allow player to select ATT from entry window if ship is defined in sysdef as a valid ship. Also fixes incorrect error message in the case of invalid ship type. ] [null-terminate-mapchars-indentfix Stephen Thorne <stephen at thorne.id.au>**20060614103104] [null-terminate-mapchars jimmyhua73 at yahoo.com**20060614105540 * robotd/struct.h modify mapchars to 3 characters to hold the NULL at the end * robotd/enter.c initialize final character to be NULL at the end when the robot first enters the game. ] [robotd-improved-army-tracking.dpatch jimmyhua73 at yahoo.com**20060613104425 * INSTALL.Newbie updated installation documentation to reflect changes in code. Also, CONFIRM=0 only works, CONFIRM=2 does not work. * INSTALL.Newbie added toggle robdc, assume robots don't carry. Also added lookahead=0 to emulate how robots were before Trent fixed the torp-dir bug. * robotd/data.c added extern int robdc (robots don't carry) * robotd/data.h extern int robdc defaults to not activated. * robotd/data.h added compiler define NO_PFORBIT, so robot doesn't depend on PFORBIT flag to determine if someone is picking armies or not. * robotd/dmessage.c added robdc in help. added robdc in messaging logic. * robotd/update_players.c commented out a continue; statement as the for loop gets exited too quickly sometimes. * robotd/update_players.c stale information of p->closest_pl is kept even when enemy becomes invisible. Will be used later. * robotd/update_players.c don't update last x or y if invisible. * robotd/update_players.c changes to check_orbit() function to make sure players is marked as orbiting a planet when cloaked near a planet, or invisible. * robotd/update_players.c changed some debug statements to make them more readable during a denemy debug session. * robotd/update_players.c army_check1() and army_check2() added logic so if robdc is activated, robot doesn't track fellow robot carriers. * robotd/update_players.c added some commentary so the army tracking code is more readble. Commented out a beam-down to friendly in favor of the more pessimistic possibility that the planet simply popped. ] [Cross-transwarp check williamb at its.caltech.edu**20060608223709 * transwarp.c: Prevent transwarping to a base that is already in transwarp. ] [post 2.11.1 release process notes quozl at us.netrek.org**20060601040643] [include config.guess in make dist quozl at us.netrek.org**20060601033548] [include config.sub in make dist quozl at us.netrek.org**20060601033011] [TAG 2.11.1 quozl at us.netrek.org**20060601025406] Patch bundle hash: 6ebac8218ef875f66005eb316e72d48eb7229e27