WordLeap v1.3.2 Issues
----------------------

[X]Music volume resets to full while audio from previous song is still playing
   in opening cinema.

[X]Look into adding window/fullscreen toggle.

[X]Look into Scene mode being available in the free edition.

[X]Add loading icon.

[X]Fade out cinema music during transitions.

[X]Look into aspect ratio constraints issue.

   [X]Confirmed view position is incorrect for 640x1080 resolution.


Closed Issues
-------------

[X]Upgrade to the latest version of T3F.

[X]Look into opening cinema crash when gameplay thought element is supposed to
   appear.

[X]Implement outline font loading for new font system.

[X]Finish migrating away from globals.

   [X]Make instance member initialization match the old global initialization
	    values. This should hopefully make everything run again.
		
	 [X]Move the rest of the globals into the 'instance' module or modularize
	    them into their own data structures.

			[X]Modularize shape system.

			[X]Modularize text entry system.

			[X]Move title data into instance.

[X]Make content dynamic based on files found.

   [X]Modify level system to make each level have its own defninitions file. A
	    level file should contain all the data for that level, including shape
			info. Then we can search certain folders for INI files and add them to a
			level list.

			[X]Story mode levels should have an INI entry that determines the order
			   of the levels.
		
   [X]Make level select menu dynamic. Levels which fill story mode slots should
	    appear first in the list.

[X]Fix level transition not fading properly.

[X]Background image is not rendered when playing 'Sojourn'.

   [X]Turns out 'Scene' mode had its own rendering code which wasn't adjusted
	    to work with our new 0-based level index.

[X]Don't allow selecting bonus levels until after game is finished.

   [X]Made bonus levels playable from the start, but story mode levels not yet
	    reached are not selectable.

[X]See about setting story level parameters in the level files instead of hard-
   coding them.

	 [X]Should work fine, we just need to hard-code the value for 'Guru' mode.
	
[X]Use fixed pipeling graphics rendering.

[X]Investigate difficulty spike at 'Conflagration' in story mode.

[X]Add music for new bonus levels.

[X]Move pause button to lower left area below the life meter.

[X]Fix pause button rendering incorrectly.

[X]Make scratch bitmap size use resolution scale.

[X]Make atlas size use resolution scale.

[X]Fix story mode level intro text positioning.

[X]Look into title words generation. Ensure title words fill up the whole
   virtual display.

[X]Investigate font rendering issues.

   [X]Fonts seem to be cut off by 1 pixel on the left at 1x.

[X]Fix center point for background rotation in Orthogonality.

[X]Enable high resolution display on MacOS.

[X]Solidify animation and bitmap loading paradigm in T3F.

   [X]Animations should be able to load from INI files which can be used to
	    load different assets depending on the situation. Copy this from the new
			T3F_BITMAP module.

			[X]Should load directly from T3A files or INI.

			[X]Should support threaded loading.
   
	 [X]Failing to load from thread should fall back to direct loading in case we
	    bump up against a thread limit.

[X]Implement fallback method for bitmap/animation loading.

   [X]We'll probably put a filename in the Bitmap section of the INI to use for
	    the base graphic. We might use this base graphic to detect the target
			size if it's not specified.

[X]Implement detecting the ideal resolution multiplier and loading the correct
   graphics set.

[X]Implement updated level background graphics.

[X]Upgrade to the latest version of T3Net.

[X]The title screen screen music doesn't play after letting Scene Mode play
   through to completion.

	 [X]I think this is due to the volume being faded all the way out. The music
	    volume should be turned back up when starting the title screen music.

			[X]We need to ensure the scene music is fully stopped before turning the
			   volume back up.

[X]When building under MSYS, the copyright message is truncated.

[X]When switching from full screen to window, the view keeps the settings it
   had for the full screen mode. This happens even though the display resize
   event has been acknowledged and the view resize handler has been called.

   We should investigate what happens to the display dimensions during resize
   events. If we can't rely on al_get_display_width/height to give us the
   correct dimensions, we should just add extra arguments to the view resize
   handler and pass the data from the event into that function.

   [X]We had to implement a workaround because, as it turns out, the display
      size doesn't match the actual new size of the display immediately.

[X]Upgrade to latest T3Net.

[X]Fix animation bugs. We need to open the animation files in the editor and
   clear the flags since the newest version of T3F uses the flags. When we
   originally created the animation files, the flags were uninitialized.

[X]Fix view not working correctly in cinema scenes.

[X]Fix video mode select issues.

   [X]Selecting Large Window after Resizable Window causes the large window to
      have the size of the resizable window.

   [X]Selecting Full Screen after Resizable Window causes the view to not fill
      the screen and have an incorrect offset. It is probably using the view
      data from the previous setting (Resizable Window).

[X]Remove logo screen and find a way to add copyright info to the title screen.

[X]Rework animation loading to piggyback on the new async module.

[X]Implement threaded loading for fonts.

[X]Make font loader use 'async' module.

[X]Scene mode transition from Distension to Conflagration fails to load new
   level.

[X]Don't show story mode level name during tutorial.

[X]Add Steam integration.

[X]Replace awards system with T3F achievements.

[X]Mark tutorials as completed so they don't keep being triggered.

[X]Add higher resolution core assets.

[X]Fix 't3f_load_animation()' not honoring 'target_width' and 'target_height'
   when loading animation from a bitmap.

[X]Fix animation frames in higher resolution assets. Frames need to be scaled
   down to match the size of the 480p version.

[X]Fix gap in Conflagration shapes.

[X]At least one of the shapes in Ascendency is defined incorrectly.

[X]Fix font rendering too small when using higher resolutions.

[X]Game crashes after a while in scene mode when going to a new level. There is
   apparently a double free somewhere in the level destruction code.

[X]Fix 't3f_draw_*_bitmap()' variants.

[X]Spinning background renders incorrectly when fading to next level.

[X]Implement all achievements.

   [X]Good Pupil

	 [X]Rare Word

	 [X]Wordsmith

	 [X]Puzzle Solver

	 [X]Maintain

	 [X]Guru

	 [X]So Close

	 [X]Consistent

   [X]Supercalifragilistic

[X]Add higher resolution level graphics.

[X]Expand virtual resolution to 16:9 aspect ratio.

   [X]Center gameplay rendering.

	 [X]Adjust background shape generation to line up with new edges.

	 [X]Make cinema scenes work with 16:9.

[X]Fix Scene mode exits when song loops when not on last level in list.

[X]Fix cinema mode gameplay views not being covered correctly in intro and quit
   scripts.

[X]Fix scale of cinema animation frames in animation files.

[X]Finish new profile system.

   [X]Store 'extra' data for high scores.

[X]Implement a method to import old profiles.

[X]Make leaderboard URLs configurable.

[X]Rework level select menu generation.

   [X]Add "RANDOM LEVEL" option for selecting a random level from the currently
	    unlocked levels.

   [X]List all unlocked levels in alphabetical order.

	    [X]Check story mode locks to ensure requirements are met before counting
			   levels as unlocked.

[X]Investigate progress system. I was under the impression the progress data
   was 1 unit per level, but it seems to be more granular.

	 [X]Pull up old code on Github to determine how stored level progress
	    affected level availability.

   [X]We'll probably need to rethink the story progress system. I think the
	    current system assumes progress based on starting from level 0. We can
			probably use the 'start_level' to offset the progress without having to
			rewrite too much of the code.

[X]Set intro and ending sequence entry points in level metadata.

[X]Implement character system to support additional characters in story mode.

   [X]Add character module which contains all data related to a character.

	 [X]Load character data from information in an INI file.

[X]Add 'EXTRA STORIES' menu that shows additional story modes that are
   installed.

   [X]Don't show menu if no extra stories are unlocked yet.

   [X]Implement locking mechanism for story modes. Stories should be able to be
	    locked behind the completion of another story.

[X]Use level files to control story mode hazard settings.

[X]Check story mode level progress. Selecting GURU STORY showed levels unlocked
   in MAIN STORY.

[X]Ensure main timer properly pauses whenever a load occurs on the main thread.

   [X]Some cinemas seem to skip frames after scene switching.

	 [X]The pause->resume and pause->quit seem to skip frames after load.

[X]Add way to view ending cinema to Story mode level select.

   [X]Rework Story mode menus to make them align more with our modern ethos.

	    [X]Menu should lead off with a 'Continue' option if user has played
			   before. Otherwise, show 'New Game'

			[X]When starting new game, show intro implicitly. User should be able to
			   skip scene with 'Escape' or 'Start' button. We should have a skip
				 button on screen when using touch.

[X]Fix level preloading.

   [X]Rework level slot system to not depend on level list order.

      [X]Make 'wl_load_level()' return a new WL_LEVEL * instead of loading into 
			   an existing WL_LEVEL.
			
			[X]Keep the current level in slot 0 and preload the next level in slot 1.
         When it's safe to do so, we'll move the level in slot 1 to slot 0 and
				 preload the next level.

[X]Put level artist name in level file for music mode.

[X]Implement scene mode playlist.

   [X]When selecting Scene mode, offer up a selection of playlists in addition
	    to individual level selections.

			[X]Add playlist for each story.

			[X]Add playlist for all songs.

			[X]Include 'SHUFFLE' option at the top of each list

[X]Reimplement leaderboard upload/download code to work better with deferred
   processing.

	 [X]Replace old profile system. The old one isn't compatible with the new
	    upload system.

			[X]Add ability to import old profiles. This might only be accessible with
			   a command line option. Show a file browser and attempt to load the
				 profile data from the selected file. Show a menu with all profiles
				 listed so the user can pick one to import.
		
   [X]Need to store 'extra' data in profile for deferred uploading to work with
	    puzzle mode.

	 [X]Flag scores that need to be uploaded in the profile. Each time the user
	    attempts to download the leaderboards, first upload any flagged scores.

   [X]Upload all unuploaded scores before showing leaderboard if user has score
	    uploads enabled.

   [X]Ensure we properly trßack user high scores. We should set a flag when a
	    player gets a new high score and clear that flag when the score
			successfully uploads.

[X]Allow all cinema scenes to be fast forwarded.

[X]Retrying causing the current level to unload somehow.

[X]Fix 'Ascendency' shapes alignment.

[X]Ensure entity ticks in cinemas use 'etick' key name.

[X]Crash when starting music mode sometimes on memory free.

   [X]This seems to happen in any game mode that utilizes next level
	    preloading. We should ensure the preload stuff is properly cleared on
			game exit.

[X]Ensure threaded object loaders are properly stopped.

   [X]The level preloader might be in the middle of preloading when the user
	    exits the game back to the menu. This could cause a memory leak.

			[X]Rework object loader to not implicitly clear the memory. The current
			   implicit clear might leave allocated memory that can't be freed as a
				 result.

[X]Ensure menu particles are reset every time menus are switched or closed.

   [X]Check story mode level select.

[X]Add mechanism to ensure name attached to user key stays up to date.

[X]Make sure 'BACK' option goes to the correct menu every time.

[X]Fix font generation for outline fonts. We need to ensure we aren't double-
   stamping alpha blended pixels.

	 [X]Try using the outline algorithm on generated outline bitmap in recursive
	    fashion.

[X]Update high score viewer to work more like the leaderboard viewer.

[X]Enable navigating the program entirely with gamepad.

   [X]Make Start/Select work in addition to Escape for pausing.

	 [X]Enable same set of action buttons to work in menus as in game.

	 [X]Make cinema breakpoints work with all gamepad action buttons.

	 [X]Make all keyboard activations work with the same keys.

[X]Pressing Cmd+Q brings up the menu for a bit but exits without further user
   input.

[X]Running 'wl_close()' while on the exit menu makes it impossible to say no to
   exiting.

[X]Look into mouse hover on menu not working when moving mouse slowly.

[X]Define available powerups in story mode metadata.

[X]Define base movement range in story mode metadata.

[X]Saw another instance of uncleared menu particles. Check the 'close button'
   menu.

[X]Don't restart music on retry.

[X]Make gamepad switching more robust. Device should not change on axis event
   unless axis position exceeds configured dead zone.

	 [X]Set default dead zone.

	 [X]Allow dead zone to be configured in 't3f_config'.

[X]Ensure leaderboard scores work properly.

   [X]Verify uploaded score is obfuscated properly.

	 [X]Verify downloaded score is deobfuscated properly.

[X]Finalize options menu.

   [X]Get rid of video mode option.

	 [X]Make leaderboard upload yes/no.

	 [X]Remove control option.

[X]Ensure menu options have proper descriptions.

[X]Add way to navigate Scene mode menu with gamepad.

[X]Allow left/right to navigate menus in addition to up/down.

[X]Add controller support through the new input system.

[X]Positioning of overlay elements in Scene mode don't adjust to the view
   dynamically.

[X]Can't resume from pause in Scene mode.

   [X]Looks like the previous state is not remembered correctly. This probably
	    is what's causing the following issue as well.

[X]Quitting the game through the quit menu during Scene mode cause the game
   board to show during exit fade.

[X]Guru mode should be locked until the player finished the main story.

[X]Level select for not excluding levels from stories that haven't been
   unlocked yet.

[X]Don't show locked stories on Scene mode menu.

[X]Don't add locked levels to playlist in Scene mode.

[X]Levels with rotating backgrounds don't transition properly.

   [X]This was actually just the level transitions not being updated to work
	    like Story mode.

[X]Figure out why Sojourn appears twice in SHUFFLE playlist.

[X]Wrong music starts after watching intro.

[X]Music mode artist info not aligned to view edge.

[X]Simplify Steam development environment settings so we don't have to struggle
   when finalizing new projects.

	 [X]Make Steam-related CFLAGS and LFLAGS variables and use those in the
	    default config. If they aren't defined, they won't add any settings to
			the command line, which should allow us to only have to do a simple setup
			at the top of the configuration script.

[X]Crash when using Exit to OS option during Scene mode.

[X]Don't use the current menu with the global pause menu. We don't want to mess
   up the underlying state in case the user presses close while another menu is
	 being displayed.

[X]Break apart menu code into categories. We'll use 'menu_category' and
   'menu_category_proc' for category setup and menu item callbacks
	 respectively.

[X]Add fallback pause screen for story mode if cinema fails to load.

[X]Music mode not playing all unlocked levels on Steam Deck.

[X]Work on 'demo' target to add configurability. We need to be able to specify
   'APP_TITLE' for the demo instead of just appending 'Demo' to the end. The
	 same goes for 'APP_NAME' and 'APP_ANDROID_PACKAGE'.

	 [X]We'll use the variables in the demo-specific section of the definitions
	    file to modify the variables.

[X]Steam version issues.

   [X]First gamepad input after launch activates a menu option.

	 [X]Touch input caused player to jump to (-1, -1) board position.

	 [X]Touch input leaks through to game from menu.

	    [X]This has to do with touch release being the trigger for movement with
			   touch controls. We can probably fix this by checking for the
				 associated touch press and only trigger the action if it is set.

   [X]Steam Deck mouse not working with track pad.

	    [X]We need to supply custom layout for the game to make the trackpad work
			   as a mouse. We'll probably just duplicate the Dot to Dot Sweep layout
				 for this.

   [X]Touch screen emulating mouse instead of pass through touch input.

   [X]Click leaks through tutorial dialogs.

	 [X]Guru mode doesn't use Guru character.

	 [X]Achievements graphics are backwards.

	 [X]Research why we needed a custom controller layout for Dot to Dot Sweep.

	    [X]I think it has to do with enabling the track pad to work as mouse.

[X]Consider making @ not appear until after you make your first word in Puzzle
   mode. As it stands, if you change your mind about your first letter, you
	 don't have a choice but to end the game.

[X]Add option to view tutorial to pause menu.

[X]BACK option doesn't work on Story mode menu.

[X]There seems to be a bug in the tutorial code where some code that was
   supposed to be run before a certain tutorial step in casual mode never runs
	 due to some bad logic.

[X]Add extra tutorial step for puzzle mode tutorial if player happens to be
   on the center space.

	 [X]Don't generate '@' home space during global tutorial.

[X]Ensure debug keys are disabled.

[X]Add command line access to configuration options.

[X]Add command line to reset steam achievements.

[X]Add command line to reset profile.

[X]Make GUI more responsive by force-highlighting item the mouse is currently
   hovering over when using mouse controls.

[X]Don't truncate name unless it will bump up next to the score on the
   leaderboard viewer.

[X]Level select beyond first page seems to select the wrong level.

[X]Credits can't be fast forwarded on story mode ending screens.

[X]Consider not clearing input presses and releases until the user explicitly
   does so. Currently if a key press occurs, for instance, if the user releases
	 the key before the next frame, the key press won't register. It's probably
	 better to remember the key was pressed to make the input systems feel more
	 responsive.

[X]Door light not lined up exactly in intro cinema.

[X]Guru land location from hopping in his ending cinema isn't in the correct
   location.

[X]Optimize main atlas size.

[X]Gameplay view is incorrect in Guru story intro.

[X]Check True Enlightenment achievement.

[X]Don't offer tutorial in scene mode.

[X]Add achievement for completing Guru story.

[X]Scene mode playlist seems to be glitchy when using track back.

[X]Crash in story mode when entering a certain long word.

   [X]Check powerup generation code.

[X]Add curl blobs for Windows version.

[X]Fix input handling so GUI handling happens first. Currently, the input
   system processes input presses/releases and they never make it into the GUI
	 processor.

[X]Ensure arrows for setting options aren't hidden when using touch.

[X]Finalize 'demo_delete' list.

[X]Finalize demo version.

   [X]Fix purchase link for all platforms.

	    [X]Steam format: steam://store/275850 (replace with app number)

			[X]Google Play format: market://details?id=com.t3i.wordleap

			[X]Standalone format: https://www.tcubedsoftware.com...

[X]Update README.

[X]Update license.

[X]Figure out a way to make the demo license different than the standard
   license.

	 [X]We should implement a general purpose repackaging system into the
	    framework. This repackaging system will allow the entire source tree to
			be repackaged with new definitions for key attributes as well as
			overwriting the documentation with alternate documentation if specified.

[X]Ensure configuration and user data settings are categorized correctly.

[X]Update source document.

[X]Leaderboards don't seem to be working on Linux.

[X]Touch screen doesn't work unless item is highlighted already.

[X]Test MAIN STORY mode completion unlocking Guru mode.

[X]Document user data for all platforms.

[X]Add graphics for 'Beyond Enlightenment' achievement to Steamworks.

[X]Bonus level shapes don't match regular levels.

[X]Wrong song plays after transition in Scene mode.

[X]Menu highlight particles should be cleared when bringing up global menu.

[X]Ensure global menu hover item is reset before menu is shown so behavior is
   consistent with the rest of the menus.

[X]Global menu should pause music in Scene mode.

[X]Quitting in Scene mode causes the player drop in sound to trigger if the
   user brought up the global menu while the game was paused.

[X]First hazard when starting a new story mode game takes too long to generate.

   [X]Look at how hazard and powerup charts are generated. They should be using
	    the data in the level list.

   [X]Ensure the player's 'level' is set before calling 'game_setup_type()',
	    since we rely on 'level' to get data from the level list to determine
			how long hte hazard count should be.

[X]Remainaing moves counter should animate along with the life bar.

[X]Tiles have letters for a single frame before they have tiles on
  regeneration. This is visible when you turn in an invalid word as your last
	move in story modes.

[X]Bomb didn't kill me when I was on my last move.

[X]Music should not restart when retrying.

   [X]The game over music doesn't play in Guru Story. This is probably what the
	    issue is.

[X]Look into hazard generation malfunctions during Guru story.

   [X]Spikes should be able to fall anywhere the player can move to.

	 [X]Empty tiles don't remain empty when a bomb lands on them.

[X]Add ability to play sounds from cinema scripts.

[X]Credits elements disappear before they are completely off screen.

[X]Finalize Guru Story campaign.

   [X]Decide on difficulty progression.

	    [X]We might need to rebalance the main story to make this work.

	 [X]Finish intro cinema.

	 [X]Finish ending cinema.

[X]Shimmering on fenceline in Metropolis.

   [X]The shimmering is caused by the extension of the pixels in the shape
	    palette that we need to ensure there are no gaps between the shapes. As
			such, this issue can't be fixed without extraordinary measures.

[X]Story mode progress doesn't calculate correctly.

[X]Player can jump to (-1, -1) on the board by clicking anywhere to the left of
   the board.

[X]Puzzle mode '@' spot doesn't appear after first turn.

[X]Range is incorrect for Guru mode.

[X]Check outlines on in game graphics to ensure they have the same thickness.
   Life bar and letter tile seem to have slightly too thick lines. We might
	 need to adjust the SVGs to make these graphics export properly.

[X]Add separate repackage target for standalone demo. We can't package the demo
   with FLOSS licensing since it will be linking in the Steam API library.

[X]Make in-game word lists match new overall aesthetic.

[X]Level title intro scroller doesn't show up in story mode.

   [X]'wl_player_needs_tutorial()' seems to be malfunctioning.

[X]Fix privacy screen text box too wide to fit on non 16:9 aspect ratio
   displays.

[X]Change GUI system method of determining hit boxes for menu items. The
   current system doesn't allow flexibility in offsetting the left and top
	 edges.

	 [X]Replace 'get_element_width()' and 'get_element_height()' with
	    'get_element_edges()'.

[X]Music doesn't resume when resuming from the quit menu in scene mode.

[X]Pausing the game while in the story mode tutorial brings up the pause
   cinema.

[X]Pause menu should be lower when viewed in Story mode with cinema in
   background.

[X]Disembarkment shapes don't line up with other levels.

[X]Privacy screen is offset to the left when aspect ratio is not 16:9.

[X]Logo animation plays while initial menu is displayed, causing the player to
   miss the logo animation on first boot.

[X]Adjusting the music volume silences the music until the volume is set again
   by another function such as fading the current song.

[X]In-game hazards don't clip to the play area.

[X]Ensure board scratch bitmap reloads when the resource manager reloads other
   bitmaps.

	 [X]Use the resource manager to create the bitmap. Since we have support for
	    padded bitmap creation, this should be done in the resource manager.

			[X]Use the 'flags' argument to handle passing loading flags to underlying
			   loader.

[X]Blank tile appeared in story mode.

   [X]Potential fix has been implemented. Needs testing.

[X]Add ability to constrain the display aspect ratio.

[X]Finish new title screen.

   [X]Z-sort tiles.

	 [X]Make shadows more translucent as the tiles get closer to 0.

	 [X]Finalize background graphics.

	    [X]Make separate background and foreground layer.

			[X]Show background on all non-game screens.

	 [X]Update title words.

	 [X]Polish menu system.

	    [X]Make menus fully opaque.

   [X]Try UI sound effects.

			[X]Add menu navigation sound effects.

[X]Menu click leaks through to the credits screen when using gamepad.

   [X]Add method to clear joystick states.

   [X]We should implement a credits skip flag similar to the way the music
	    fast-forward works in scene mode.

[X]Pressing 'B' with a menu option highlighted cause weird menu activations.

   [X]Don't allow 'B' to be used as an action button.

[X]Test all achievements to ensure they work properly.

   [X]Puzzle Solver

	 [X]Near Death Verbosity

	 [X]Consistently Wordy

	 [X]Eponymous

[X]Crash on score upload.

   [X]Also crashes when trying to view the leaderboards.

[X]Adjust letter generation to make it more gameplay friendly.

	 [X]Use the algorithm to generate a large number of letters to determine if
	    the generated frequency closely matches the expected frequency. If the
			generated frequency is incorrect, fix algorithm.

			I ran the algorithm through 100,000 times and never got a Z, but the
			other rare letters came up at close to the expected frequency.

   [X]If the generated letters are the correct frequencies, ensure rare letters
	    appear often enough for the gameplay by bumping up their frequencies.

[X]Add 'CANCEL' button to leaderboard load menu so users can cancel if it gets
   stuck.

	 [X]Ensure the real leaderboard menu only comes up if the user hasn't
	    canceled.

[X]Pressing a gamepad button should not reset the menu selection if the current
   menu remains the same.

	 [X]When viewing leaderboards, the buttons disappear until the leaderboard is
	    actually loaded. We need to remember which item the player was on somehow
			and reselect that item when the new leaderboard menu is generated.

[X]Render text boxes with padded nine patch to eliminate the last bit of
   aliasing.

[X]Revisit tile system for board and menu rendering.

   [X]Allow selectively padding the sides of T3F_BITMAPs.

	 [X]Allow optimizing tile set creation for specific use cases.

[X]Tile atlases have some pixels in the incorrect places around the edges.

[X]Fix rendering of bitmap regions in the T3F bitmap module.

[X]Fix rendering of scaled bitmaps in the T3F bitmap module.

[X]Optimize padded bitmap rendering.

   [X]Precalculate and cache adjustment values used for rendering where
	    possible.

[X]Make all sprites padded to eliminate aliasing completely.

   [X]Make animation module accept padding flags.

	 [X]See about making animation module use 'T3F_BITMAP's instead of
      'ALLEGRO_BITMAP's.

			[X]Rename 't3f_load_bitmap_f()' to 't3f_load_allegro_bitmap_f()' so we
			   can make a version of 't3f_load_bitmap_f()' that loads into a
				 'T3F_BITMAP'.

[X]Optimize atlases again since we changed the size of some sprite bitmap
   data.

[X]Animate logo while on privacy screen.

[X]Leaderboards screen doesn't wrap mode select correctly when using right
   arrow.

[X]Fix leaderboard cancel when on game over screen going back to title.

[X]Fix leaderboard menu not updating when viewing from game over screen.

[X]Fix story mode leaderboards.

[X]Rename 'KEEP PLAYING THE DEMO' to clarify you are going back to the title
   screen.

[X]Fade out when closing the demo ending screen.

[X]Make purchase link work properly for all platforms.

[X]Add mutex for resource manager to prevent race conditions when it is used
   from multiple threads.

[X]Free filename as part of freeing a resource.

[X]User can go past the end of the mode list on the leaderboard screen.

[X]Ending is available to watch before beating the last level.

[X]Implement optional (opt-out) censorship to prevent the game from displaying
   words users might in places where it picks random words for decoration.

   [X]Create censorship dictionary.

	 [X]Add configuration setting for toggling the enabling of censorship. This
	    should default to being enabled.

   [X]Make title word code honor the censorship status of words in the
	    game's dictionary.

[X]Don't advance the level in scene mode if more than one background shape type
   is on the screen.

[X]Finish Guru Story music.

   [X]Unraveling

	 [X]Synthesis

	 [X]Quantization

	 [X]Indication

	 [X]Reemergence

	 [X]Gyre

	 [X]Apotheosis

	 [X]Torsion

	 [X]Crossroads

	 [X]Disembarkment

[X]Finalize achievement names and descriptions.

[X]Streamline level selection for non-story game modes.

   [X]Make level select a submenu and remember selection.

[X]Add sound effects to cinemas where it makes sense.

   [X]Guru ending needs rumble for collapsing roof.

	 [X]Guru ending needs thuds for roof pieces hitting the floor.

[X]Test demo to ensure it works properly.

[X]Update changelog.

[X]Finalize credits.

   [X]Add section for third party code libraries.

	 [X]Add section for third party tools.

[X]Finish standalone release checklist.

   [X]Make packages for all supported platforms.

	    [X]MacOS

			[X]Linux x86

			[X]Linux amd64

			[X]Linux arm64

			[X]Windows

			[X]Source code package
	
	[X]Make FLOSS demo package for all supported platforms.

	   [X]MacOS

		 [X]Linux x86

		 [X]Linux amd64

		 [X]Linux arm64

		 [X]Windows

		 [X]Source code package

		 [X]Look into flatpak for flathub release

	[X]Update WordLeap project page.

     [X]Update PayPal button.

		 [X]Point downloads to the new files.

[X]Finish Steam demo release.

   [X]Finish adding graphical assets.

	    [X]Need Header Capsule (920px wide x 430px tall).

			[X]Need Small Capsule (462px wide x 174px tall).

			[X]Need Main Capsule (1232px wide x 706px tall).
		
		[X]Add builds for all platforms.

		   [X]Add MacOS build.

			 [X]Add Linux build.

			 [X]Add Windows build.

[X]Finish soundtrack release.

   [X]Redo back cover artwork to include new songs.

      [X]See if we can fix the text positioning.

   [X]Add page for soundtrack to Steam.

	    [X]Need Header Capsule (920px wide x 430px tall).

			[X]Need Small Capsule (462px wide x 174px tall).

			[X]Need Main Capsule (1232px wide x 706px tall).
		
      [X]Need Vertical Capsule (748px wide x 896px tall).

			[X]Release it.

[X]Finish Android release.

   [X]Figure out why the game won't launch from its icon.

	 [X]Game crashes when playing Story and Scene modes.

	    [X]Probably something to do with the next level preloading.


Future Feature Updates
----------------------

[ ]Add party mode.

	[ ]Set undo limit so players can't mess the whole board up for other
	   players.

	[ ]Add alternate HUD for multiplayer, or possible a separate screen to
	   show the current match info.

	[ ]Add match results screen.

[ ]Add social mode.

	[X]Use own PRNG for generating board so we can replicate it on each
	   player's machine.

	[ ]Create databases to store game info and state.

	[ ]Create script to communicate with the database. The game will be able
	   to submit moves to the server and get a list of moves. Each move will
	   consist of a list of integers which represent the spaces on the board
	   the player moved to before submitting the word.

	   The info from the script should be able to give everything we need to
	   replicate the game from start to finish from any point in the game.
	   We may store a local copy of the state to save bandwidth.

	[ ]When creating a social game, the player who starts the game will have
	   the option to create a public game, which will make the game listed
	   for others to join, or invite friends via e-mail. Once a game begins,
	   players can no longer join.
