Paintball Party 2 Issues
------------------------

[X]Don't move player when they are selecting an ammo type.

[X]Look into crash on player setup screen when selecting a certain character.

   [X]This bug was already fixed, we just had a bad cache file from before the
      bug was fixed.

[X]Don't select the next weapon if we have no ammo. The ammo select indicator
   currently pops up any time a player runs completely out of ammo.

[X]Ensure paintball hit boxes work properly for all characters. Currently, some
   characters can have mines on the ground that other characters can just walk
   over.

[X]Add Battle Royale preset. This will be the same as 1 Hit Elimination except
   players will start without any stock ammo and items will be randomized.

   [X]This mode has been added. We need to do a little testing to ensure the
      settings work properly when switching between game modes.

[X]Back and next buttons missing from some menus.

[X]Menu text not updated when increasing the time death match time limit.

[X]The game crashed on player setup screen while we were attempting to create a
   3 player game. Not sure exactly what happened, but it happened when the
   second player had selected a profile.

   [X]The crash happens when trying to switch to certain characters. It could
      be a corrupted or badly generated character preview file.

   [X]Deleting the character preview cache fixed the issue. There must have
      been a bad preview file.

[X]Don't show arrow that points to the closest coin when there are no coins
   left on the playfield. Other players holding coins should count as coins on
   the playfield, but your own should not.

[X]Fade out rectangle in multi replay mode doesn't cover the entire screen.

[X]Check for availability of ffmpeg before adding Capture Replay menu option.

   [X]Added '--enable-capture' command line option instead. This is mostly a
      developer option, so no need to show it to the average player.

[X]Coin rush mode didn't end when time was up and one player had the most
   coins.

[X]Coins should be subject to environmental physics such as conveyor belts and
   ice.

   [X]Ice physics have been implemented, but not tested. The code to determine
      they conveyor speed has been written, but not implemented in the coin
      object logic.

[X]Hide mouse cursor when not in menus.

[X]Player Setup screen malfunctions after creating a new profile.

[X]Check "investigate this" code to see why we are declaring ice floors as
   never a partial solid. This looks like a logic error that will prevent
   players from jumping down through partially solid ice floors.

[X]Crash when generating character previews for legacy characters.

   [X]The preview generator was attempting to clone the animations it needed
      from the loaded legacy character. The cloning process was failing due to
      the animation not having been loaded from a file, but created on the fly.
      We had to write a resource loader that handles the embedded animation
      frames in legacy content so that the cloning process would succeed and
      the previews would generate properly.

[X]Timer needs to be centered within the player's view.

[X]See about fixing legacy support for long tile animations. We should use a
   dynamically allocated array to store the tile animation data so we can
   ensure all legacy levels function as the creator intended.

[X]Don't allow jumping through semi-solid floors on legacy levels.

[X]See if we can adjust the legacy map layers to make them fit the new virtual
   display size.

   [X]Instead of adjusting the map, we are now just forcing the player views to
      be the proper aspect ratio when playing on a legacy level.

[X]Scale empty screen graphic to fit the empty view port properly.

[X]Add range of window sizes from 640x480 to 1920x1080.

[X]Look into overlay menu item positioning not being lined up to the edge after
   changing the video settings. Menu items that line up to the edges should be
   adjusted when the video mode is changed.

[X]When the game ends, the end game animation doesn't always focus on the
   winning player.

[X]Look into illegal instruction crashes which happen at program startup and
   game startup. This seems to happen randomly.

[X]The logo in the intro doesn't jump completely off the screen.

[X]Use view edges for placement and size of UI elements.

   [X]The view edges still aren't being calculated correctly. We need to wrap
      our heads around how this calculation is supposed to work so we can solve
      this once and for all.

      [X]One thing that's wrong with the view code is that the default view's
         dimensions match the virtual display size, not the actual display size.
         I think the view dimensions are supposed to match up to the actual
         display dimensions. That's what I've been assuming when I've been
         working on the view code, so that's probably why some of the issues
         have been making me scratch my head.

[X]Figure out why networked play has incorrect inputs for remote players.

   [X]I think the JoyNet update broke support for the CONTROLLERS input type.
      JoyNet was modified a lot for vGolf Deluxe and I probably made some
      changes that were only supposed to apply to the MOUSE input type.

   [X]Input received from clients should be stored in the server controller
      data and amalgamated into a single input frame during the server update
      routine.

[X]Investigate networked player setup. I think this may have been broken in a
   previous update.

   [X]This seems to be working now that we've fixed the crash in JoyNet caused
      by accessing the input buffer that wasn't created yet.

[X]Update server list URLs to point to the T3Net 2 compatible scripts.

[X]Second player view is overlapping first player when in 2 player split screen
   mode. I think the clipping rectangle for the view is being set incorrectly.

   [X]The current view side calculations assume we are using a single view, thus
      the side coordinates are incorrect when we are using a split screen setup.

[X]Figure out why turning on optimizations (gcc -Ox) causes JoyNet calls to
   crash.

[X]The game stalls when T3F destroys its display. The game crashes when I
   comment out the line that destroys the display and let the cleanup code run.

[X]Font needs transparency conversion.

[X]Crash on certain legacy characters.

[X]Game crashes on selecting certain characters. I believe there are issues
   with loading some characters.

[X]Game froze computer when caching character data at startup.

[X]Fix music loops. They were configured while Allegro had a looping bug and
   need to be reconfigured.

[X]Disable premultiplied alpha during preview creation.

[X]Animation flags need to be cleared.

   [X]Temporarily make animation flags cleared on load and re-save assets.

      [X]Make sure to disable premultiplied alpha so we don't lose color data.

[X]Look into T3F joystick implementation. I think the maximum number of
   buttons, sticks, etc. need to be increased. When trying to play multiplayer
   with two Wii U Pro Controllers hooked up to a Mayflash adapter, only the
   first player's buttons were able to be mapped to their controller. It seems
   to be a software limit but I will have to test it using Enjoyable and
   Allegro's ex_joystick_events to find out for sure.

[X]Use 960x540 virtual display size so we can utilize full 1080p for split screen.

   [X]Use T3F's fill screen option and position HUD elements dynamically so we
      get nice views on any screen size.

      [X]Fix any issues with fill screen with the view system. Not sure if it
         will work as currently implemented.

   [X]Pick suitable window size depending on desktop resolution. Make 540 the
      smallest vertical size and 1080 the largest. Pick 810 if desktop is <=
      1080. Use 720x810 unless vertical size is <= 810.

[ ]Implement teams. It will probably be possible to prevent duplicate code by
   allowing up to 16 teams and keeping scoring information in that data. For
   non-team modes, each player will be on their own team. For team modes, each
   player will be aligned with whichever team they choose. This should make it
   possible to build the rules logic around teams only and it should then also
   work for individual players in non-team modes.

[ ]Implement new game modes.

   [ ]Conquerer mode will have players attempting to activate various bases
      scattered around the map. Bases will be located at the player spawn
      points. Players will only respawn at bases that they own or unowned
      bases. The game ends when one player or team controls all the bases or
      when time runs out.

   [ ]Territory mode will have players painting the arena to try to cover the
      most territory.

[ ]Allow mines to be destroyed with paintballs. In some game modes, players
   might wish to prevent access to a specific area by planting mines around it.
   In order to make sure other players have a way to get access, we need a way
   for them to remove mines. This will still allow mines to slow players down
   which allows the mine strategy to maintain some effectiveness.

[X]Highlight all in-game projectiles. It is currently difficult to see
   paintballs if the background matches the color of the paintball.

   [X]Render a highlighter before rendering the paintball. Highlighter should
      be scaled to be slightly larger than the paintball. This will need to be
      determined at run time.

[ ]Determine placement of ammo icons based on character graphics instead of hit
   box. Many legacy characters have hit boxes defined in such a way that the
   icons overlap the character graphics.

[ ]Fix issue where player name is shown on wrong "screen" during gameplay.

[X]Dynamically allocate tile animation data so we don't have to have a hard
   limit. This will allow better compatibility with some legacy levels.

[ ]Blank screen when starting in full screen mode.

[X]Player Setup screen doesn't accept player input after creating new profile.

[ ]Pressing enter should accept entered name on new profile entry screen.

[X]The game crashes after selecting Netplay->Join Game option when no public
   servers are currently open.

[ ]Add option to configure server port.

   [ ]Port number needs to be stored in server list.

[ ]User reports graphics data lost when changing resolution.

[X]User reports issues on player setup screen.

[X]Add indicators for where coins are located in Coin Rush mode.

[ ]Finish in-game HUD.

[ ]Finish making levels.
