Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > c2689b4ec379fa0c27c46f80bcedfcf3 > files > 26

colossus-0.12.1-1.fc14.noarch.rpm


Probably easy tasks (at least easy to explain/understand whay and why ;-)
====================-----------------------------------------------------

Bug: The duplicate name detection code for network players is now
     failing with the new initialization timing -- oscillating fixNames
     between dripton and dripton4

Bug: During a battle against an opponent's titan stack, right-clicking on
     another one of his stacks showed a titan with a ?.  Looks like we're not
     updating certainties at the beginning of the engagement.  This fixes 
     itself at the end of the battle.

To be checked - still an issue:
  Dead players' markers should be zero in StatusScreen.

Observer clients, which can attach in mid-game.

Sometimes refuse remote newGame/loadGame/saveGame calls?

(still useful?)
Change Quit button in GetPlayers dialog to Cancel.  Go back to existing 
   game if there is one from Cancel, or quit if just starting.  Eliminate
   confirmation before calling dialog.

Add "no 2s or 5s" mulligan option.

Add a window that shows all players' units

Add a ShowLegionMarkers window that shows each player's remaining markers.

Add a window that shows all game options.

Add confirm dialogs (for conceding with titan, skipping recruits, ...)

Show zoomed area around mouse cursor in a small window, for big maps.

Closing certain dialogs (Penalty, ...) should cancel the action (strike)
rather than using default.

Summon angel: should be an "I click it when I want" e.g button 
instead of modal dialog (once rejected, no chance to get again)
Same for reinforcement.


Disable "AIs stop when humans dead" if no human players at start of game.



######################################################################

Now OK ??
=========

Bug: Out of memory error after many consecutive Load Game actions.  Find leak.
     Not enough memory to copy history from from savegame JDOM tree to new one?
     DONE: => probably now ok. All socket threads stayed in loop, so 
              sockethtreads, clients, boards and all their related data was
              still referenced and could not be garbage collected.


Bug: CowardSimpleAI ran out of markers, started trying to split with
     marker "null", entered infinite loop

Cleanup network shutdown -- when game over or player eliminated, don't
whine if its client drops.
=> DONE now with the whole WebClient related changes.

Add optional additional handicap mulligans that can be used after turn 1.
=> DONE: Unlimited Mulligans options

ShowLegion on mouseover, not click, with permanent dialog.
=> DONE: AutoInspector

Make split prediction optional.
=> DONE (??): ViewModes

Add UI for players to specify favorite colors.
=> DONE: ??


######################################################################


Probably not reproducable:

Bug: After clicking on engagement, after computer declined to flee and I
   declined to concede:
Rd10 (Star) (dripton) attacks Br08 (Ram) (Brown) in Brush hex 17
java.lang.NullPointerException
        at net.sf.colossus.client.HexMap.getHexByLabel(HexMap.java:583)
        at net.sf.colossus.client.BattleMap.getEntrance(BattleMap.java:385)
        at net.sf.colossus.server.Battle.placeLegion(Battle.java:93)
        at net.sf.colossus.server.Battle.<init>(Battle.java:87)
        at net.sf.colossus.server.Game.fight(Game.java:2660)
        at net.sf.colossus.server.Game.makeProposal(Game.java:2606)
        at net.sf.colossus.server.Server.makeProposal(Server.java:880)
        at net.sf.colossus.server.SocketServerThread.callMethod(SocketServerThread.java:188)
        at net.sf.colossus.server.SocketServerThread.parseLine(SocketServerThread.java:104)
        at net.sf.colossus.server.SocketServerThread.run(SocketServerThread.java:65)


Bug: Blue's turn, number 24
- We can safely split AND attack with Bu01
- We can safely split AND attack with Bu01
- We can safely split AND attack with Bu01
- We can safely split AND attack with Bu01
- We can safely split AND attack with Bu01
- We can safely split AND attack with Bu01
- Client.doSplit Bu01 Bu07 Gorgon,Gorgon
- From client Blue: doSplit ~ Bu01 ~ Bu07 ~ Gorgon,Gorgon
- Server.doSplit Bu01 Bu07 Gorgon,Gorgon
2 creatures are split off from legion Bu01 (Anchor) into new legion Bu07 (Fountain)
- Server.didSplit 134 Bu01 Bu07 2
java.util.ConcurrentModificationException
        at java.util.TreeMap$EntryIterator.nextEntry(TreeMap.java:1026)
        at java.util.TreeMap$KeyIterator.next(TreeMap.java:1051)
        at java.util.Collections$1.next(Collections.java:996)
        at net.sf.colossus.util.Glob.glob(Glob.java:58)
        at net.sf.colossus.server.Player.getStatusInfo(Player.java:770)
        at net.sf.colossus.server.Server.getPlayerInfo(Server.java:1309)
        at net.sf.colossus.server.Server.allUpdatePlayerInfo(Server.java:292)
        at net.sf.colossus.server.Server.allUpdatePlayerInfo(Server.java:298)
        at net.sf.colossus.server.Server.allSetupSplit(Server.java:480)
        at net.sf.colossus.server.Game.setupSplit(Game.java:805)
        at net.sf.colossus.server.Game.setupPhase(Game.java:775)
        at net.sf.colossus.server.Game.access$200(Game.java:31)
        at net.sf.colossus.server.Game$GamePhaseAdvancer.advancePhaseInternal(Game.java:739)
        at net.sf.colossus.server.Game$GamePhaseAdvancer.advancePhase(Game.java:721)
        at net.sf.colossus.server.Game.advancePhase(Game.java:709)
        at net.sf.colossus.server.Server.doneWithRecruits(Server.java:1260)
        at net.sf.colossus.server.SocketServerThread.callMethod(SocketServerThread.java:255)
        at net.sf.colossus.server.SocketServerThread.parseLine(SocketServerThread.java:104)
        at net.sf.colossus.server.SocketServerThread.run(SocketServerThread.java:65)
- Client.didSplit 134 Bu01 Bu07 2 24
- From client Blue: doneWithSplits


Remove advancePhaseInternal from PhaseAdvancer; make private

Remove AWT dependency from server by moving image manipulation in
   VariantSupport to client side.

Need a way to pick a variant at random, selectable from the command line for
   stresstest.

The updateHistory flag used to avoid infinite loops should be an instance
   variable rather than an argument to many methods.

EASY Compute numLegions, numMarkers, numCreatures, titan power, total point 
   value on client side rather than passing them in player info.


Animated timer showing time left for AI in battles.

Have server send marker names.

Change some JDialogs to JFrames to allow separate minimizing?
Should be able to move recruit chart behind board, map.
OR
Make BattleMap a JDialog rather than a JFrame (moving menu), to fix focus.

Add link from client to LogWindow; advance scroll thumb at end of various
   phases.

Should be able to clear recruitChits in any phase.  Move to Graphics menu?
Allow displaying stuff during other players' turns.
Ability to dismiss and recall recruitChits

Real whole-legion battle eval function, including gang hits.

Refactor to eliminate duplicate code.  (Especially Movement, BattleMovement, 
   Strike, Creature/Critter/CreatureInfo)
Add interfaces like MovementOracle and LegionOracle to replace existing 
   hardcoded Client or Game references where possible.
Fix the Titan Creature/Critter problem.

Machine learning to tweak AI constants.

When getting both a PickRecruit and an AcquireAngel after a battle,
   make sure the PickRecruit is on top, because it's modal.
   Or make PickRecruit non-modal.


Fully event-driven savegames.
Use identical events for network protocol.
Use events to support infinite undo/redo, toolbar with VCR controls to 
   step through games, stepping AI, etc.


L&F should not show Windows if not allowed on this platform.
L&F needs to include GTK on Linux
Eliminate L&F menu entirely?

Highlight entrances somehow.  Maybe use fixed boxes with an arrow to
   show entry side, instead of cascading.
Turn map to move player's entrance (or attacker's if observing) to bottom.  
Line up entering creatures rather than overlapping.
Color-code entrances.
Make BattleMap less tall.  Move dice, etc. to one side.

Add SetupBattle dialog, to allow setting up standalone battles.
   (terrain, entry side, creatures in attacking and defending legions,
   angel/archangel available to summon, recruits available for terrain
   type, player scores for titan power.)

Track all players' markers on client side.

Add movement and recruit animation.  Requires returning full paths for
   moves, not just destination hex.

JDK 1.4 changes:
   New focus model
   JProgressBar setIndeterminate()
   JFormattedTextField for some inputs?
   Logging API?
   asserts (make sure they're on)
   NetworkInterface / localhost


Place SummonAngel so that it doesn't overlap any of the player's markers
   with summonable angels.

Use creature-only images without chit background, and scale onto chits,
   avoiding overlap with symbols and allowing players to easily substitute
   images without editing.

Try PMD (lint tool).

PickRecruiter should allow clicking on the top row (if applicable),
   not just the bottom.

Try some Law of Demeter refactorings.

EngagementResults:
Legion won the battle in -1 turns
Legion earned 0 points
Losing legion's creatures need to be shown without ?