Commit graph

564 commits

Author SHA1 Message Date
Aloshi d0416f8634 Can now specify font for MenuComponent's title. 2014-04-19 14:16:01 -05:00
Aloshi c7434c52fd Added spacing to rating stars. 2014-04-19 13:52:56 -05:00
Aloshi dedfcfea4c Split busy animation into its own component for reusability.
Changed the design a bit.
The ScraperSearchComponent now grays out entirely + displays the busy animation in the center.
2014-04-19 13:37:10 -05:00
Aloshi 6d4288f245 Added busy animation + "WORKING..." to the ScraperSearchComponent. 2014-04-18 19:46:55 -05:00
Aloshi 4db210f770 Added AnimatedImageComponent.
Just animates a sequence of images, very straightforward.
Added files for busy animation.
2014-04-18 19:00:49 -05:00
Aloshi e26c927aef Merge branch 'showgamecount' into unstable 2014-04-18 17:33:28 -05:00
Aloshi a9622126cb Tweaked search window size. 2014-04-18 17:31:56 -05:00
Aloshi da581b70f2 Changed how game count is shown. 2014-04-18 17:28:28 -05:00
Aloshi a61b8fb18e Merge branch 'unstable' into showgamecount 2014-04-18 13:08:55 -05:00
Aloshi 43bc4f5fe2 Changed InputManager to be a singleton.
Considering it has global state I don't know why it was being kept as part of the Window class.
2014-04-18 13:07:32 -05:00
Aloshi 7ef4d2f89e Display number of games available under SystemView. 2014-04-18 12:27:00 -05:00
Aloshi b968349864 Improved animation system.
Now supports animation delays, canceling, and forcibly finishing animations.
See GuiComponent::cancelAnimation(), finishAnimation(), and new parameters for setAnimation().
2014-04-18 12:19:46 -05:00
Aloshi e842321b00 Removed dependency on libboost-regex.
It was kind of silly to pull in the entire lib for exactly one regular expression.
2014-04-16 12:32:40 -05:00
Aloshi 8608ecc9eb Added cancelAnimation(slot) to GuiComponent.
Like stopAnimation, but does not call finishedCallback.
All animations are now canceled when a GuiComponent is deleted (fixes a crash when closing ES while the "launch game" animation is playing).
2014-04-14 21:03:11 -05:00
Aloshi fc5ca0019c Added version string to bottom of the menu.
Changed around some version string constants.
Fixed GuiInputConfig assigning "key up" Input instead of the "key down" input (breaks joystick axes, generates warnings).
2014-04-13 19:33:00 -05:00
Aloshi b88e99b9bf GuiInputConfig now supports hold-to-skip for certain inputs.
InputManager now properly sends Backspace keydown input events.
InputConfig now supports unmapping particular inputs by name.
2014-04-12 21:09:54 -05:00
Aloshi ac0bdb47ed Optimized the hell out of ImageComponent.
(been saving this one for a rainy day...)
Fixed sort order assert triggered by std::sort when sorting help prompts.
2014-04-11 20:48:13 -05:00
Aloshi 9955261a1e Changed Window to cache the framerate string as a TextCache instead of regenerate it every frame which was significantly impacting the framerate because I am dumb. 2014-04-11 19:42:04 -05:00
Aloshi 1b66150fe7 Help prompts are now sorted, to the order [dpad] [face buttons] [start/select]. 2014-04-06 19:24:01 -05:00
Aloshi e5bada7f51 Some styling changes, a little refactoring of RatingComponent. 2014-04-06 19:15:02 -05:00
Aloshi 062a004e4a Added support for automatic rasterization sizes (leave width or height as 0). 2014-04-06 18:55:57 -05:00
Aloshi cafa1b5b8d Fixed dpad_all.svg.
Added "DebugText" setting that causes TextComponents to draw a background of their size + the area of their TextCache.
It can be toggled with Ctrl-T when running with --debug.
Added std::cout output when specifying overriding home path.
2014-04-05 12:48:38 -05:00
Aloshi 9acfda6e1a New "GuiGamelistOptions" to replace fast select. 2014-04-05 00:41:08 -05:00
Aloshi c1385d4834 Updated nanosvg. 2014-04-04 15:00:54 -05:00
Aloshi 480b19dcca Fixed some missing settings. 2014-04-04 14:12:28 -05:00
Aloshi 526c0bb038 Fixed an error with GuiInputConfig initialization that was triggering an assert. 2014-03-29 18:42:40 -05:00
Aloshi 8d67cc1053 Fix edge case with image vertex rounding leading to texture-ImageComponent size incongruencies. 2014-03-29 18:03:38 -05:00
Aloshi aa65a80039 Redid SystemView to keep "selected" versions of logos.
Should make SVG logos look better + no more pixelated text.
2014-03-29 16:55:32 -05:00
Aloshi e719a867be Updated nanosvg. 2014-03-29 08:51:59 -05:00
Aloshi 6f64e647b9 GuiScraperMulti now reports the number of games scraped.
Added proper horizontal padding to GuiMsgBox.
2014-03-28 20:58:45 -05:00
Aloshi 391e299f79 Give an error message if a scrape is started with no games selected. 2014-03-28 20:08:59 -05:00
Aloshi b3dcdb52eb Added vram usage tracking (font textures + normal textures). 2014-03-27 16:47:25 -05:00
Aloshi 58452b4e70 Updated help SVGs with better spacing.
Fixed NinePatchComponent not accepting sizes less than the original texture.
Design tweaks to GuiTextEditPopup.
Statistics are no longer displayed in GuiMetaDataEd.
2014-03-25 18:41:50 -05:00
Aloshi 45428dd17b Added new TextEditComponent graphics. 2014-03-25 18:10:35 -05:00
Aloshi 41d8263086 Finishing touches on ScraperSearchComponent. 2014-03-25 17:47:36 -05:00
Aloshi e931a51017 Can now press Ctrl-G to toggle show all borders on all ComponentGrids. 2014-03-25 17:46:58 -05:00
Aloshi 98eda43bab More design tweaks.
Fixed some DateTime sizing stuff to be less weird.
2014-03-25 14:14:09 -05:00
Aloshi 4fafd58da0 More design tweaks. 2014-03-25 12:51:40 -05:00
Aloshi b44703c716 More design tweaks. 2014-03-25 12:13:41 -05:00
Aloshi 719483864c Made ScraperSearchComponent use ComponentList callbacks instead of manually intercepting input.
Tweaked IList and ComponentList for this.
2014-03-24 17:55:36 -05:00
Aloshi 0464776e62 Fixed console spam when an ImageComponent has an invalid texture. 2014-03-24 16:29:56 -05:00
Aloshi 7875c2271c Fixed camera scrolling for ComponentLists to always be by row heights. 2014-03-24 15:34:38 -05:00
Aloshi 2203e9ff81 Fixed crash when RatingComponent's size was 0. 2014-03-24 14:45:27 -05:00
Aloshi 7ca0b0fe72 Help is now horizontal instead of vertical.
Shortened most help texts.
2014-03-23 20:33:27 -05:00
Aloshi c3d6933298 Some more re-styling.
Fixed a crash with SVGResource (durr).
2014-03-22 19:48:48 -05:00
Aloshi cf836c0f8a Fixed SliderComponent going beyond its min/max values.
Defensive measures against a possible SVG reinitialization bug.
2014-03-22 18:17:14 -05:00
Aloshi f084f29e61 Improved input config styling a little. 2014-03-22 17:37:40 -05:00
Aloshi 5f55288495 Fixed SVGs being cut off by scaling based on height instead of width.
Fixed buttons not being quite vertically centered.
Hooked up new switch graphics.
Updated slider logic to only move in multiples of the specified increment.
2014-03-22 16:55:18 -05:00
Aloshi 1d17bd9938 Design tweaks.
Fixed dpad_right.svg.
2014-03-22 16:02:25 -05:00
Aloshi ec4ee70259 Fixed incorrect star texture path.
RatingComponent now rasterizes SVGs to the ideal size.
TextComponent's text is now vertically centered always.
2014-03-22 14:31:13 -05:00
Aloshi 2aa72928e5 Fixed fonts not being centered. 2014-03-22 14:24:32 -05:00
Aloshi f2bd7004e1 Added SVGs for most resources. 2014-03-22 13:04:14 -05:00
Aloshi d0261dcc5a Added "fade" transition between views in ViewController.
You can change the "transition style" in the UI options.
Added "string" type to "Settings".
Fixed problems with loading settings when --home-path was not the exactly first
argument supplied.
2014-03-22 11:44:57 -05:00
Aloshi 98b17bf246 Try to guess the proper inputConfig entry from deviceName if deviceGUID is missing. 2014-03-22 11:43:33 -05:00
Aloshi 3c5fa89eaf Added "PRESS ANYTHING" and "ALREADY TAKEN" notifications to GuiInputConfig. 2014-03-21 20:38:16 -05:00
Aloshi 980a2c4ec6 InputManager mostly redone to handle rolling joystick changes instead of completely deinitializing/reinitializing itself every time a change is detected.
Some other slight changes to better fit with SDL2's joystick improvements.
Completely redid GuiDetectDevice and GuiInputConfig.
Inching closer and closer to beta.
2014-03-21 20:16:07 -05:00
Aloshi 9a3b0af337 ComponentList elements can now choose not to be inverted when selected.
TextComponent now has a proper "alignment" setting (left, center, and right).
Did some more styling on GuiMetaDataEd.
2014-03-21 14:51:25 -05:00
Aloshi b4f5577bd5 Hooked up the "INPUT" button on scraper searches. 2014-03-21 13:07:17 -05:00
Aloshi 9fe7ceeb72 Changed makeButtonGrid() to return a pre-padded ComponentGrid so every GUI doesn't have to do its own thing for vertical padding. 2014-03-21 11:54:48 -05:00
Aloshi 91546ac2bc Added new text editing style to GuiMetaDataEd as per UI concepts. 2014-03-21 11:10:19 -05:00
Aloshi ada4f83089 Fixed ComponentList not passing focus to entries.
Some improvements to TextEditComponent:
- cursor now repeats if you hold left/right
- use FONT_PATH_LIGHT instead of regular to match UI concepts
- added some horizontal and vertical padding to the text area
- cursor is a little thinner and not as freakishly tall
2014-03-20 21:47:45 -05:00
Aloshi a82ef25886 Added .svg vector graphics file support.
Should "just work" for any TextureResource::get("*.svg"). dynamic_cast it to an SVGResource and call rasterizeAt(w, h) if you need to re-rasterize it.
Only supports scaling that maintains aspect ratio.
2014-03-19 20:13:59 -05:00
Aloshi 07edad611f "Fixed" the long-time weird rendering artifacts that are apparently caused by vertex coordinates not being integers.
A better fix would be to move to OpenGL 3/GLES 2 and do rounding in the shader.  But I don't have time for that.
2014-03-19 15:03:23 -05:00
Aloshi daa62123d1 Changed Font::getHeight to return a float like it should.
Added minimum message height to GuiMsgBox.
TextComponent now vertically centers text.
Fixed a bug that would cause ScraperSearchComponent to return results
continuously until another search was started.
2014-03-19 13:10:30 -05:00
Aloshi 8e5c910de3 Fixed a sneaky crash.
Added metadata display to ScraperSearchComponent.
2014-03-19 11:21:21 -05:00
Aloshi 1e8b040f73 Replaced AsyncReqComponent with some handles.
UI is no longer completely blocked during asynchronous operations.
2014-03-18 19:55:37 -05:00
Aloshi dbde900629 Redid Scrapers to return ScraperSearchHandles for async searches.
This allows for much better error handling and doesn't take over the UI.
Redid GuiScraperLog to fit new UI concept.
2014-03-18 16:05:56 -05:00
Aloshi 3c05d6bc21 Added the OpenSans Hebrew Condensed Light font.
OptionListComponent and SliderComponent now use it.
SliderComponent suffix is now vertically centered properly.
2014-03-16 19:52:15 -05:00
Aloshi 08dfc32f89 Added the new help images. Still need to redo HelpComponent to be better.
Added some more back buttons.
Forced text in OptionListComponent to be all capitals.
2014-03-15 17:06:16 -05:00
Aloshi 613787931a Added a border above buttons on GuiMsgBox.
Reluctantly changed button font to FONT_SIZE_MEDIUM because FONT_SIZE_SMALL has messed up sizing for some unknown reason.
2014-03-15 13:39:19 -05:00
Aloshi 088b146fe9 Redid message boxes. 2014-03-15 12:18:50 -05:00
Aloshi 45ffbf978c Added --home-path [path] argument that redirects calls to getHomePath() to some directory [path].
Changed some existing command line arguments too:
-w and -h are now just --resolution [width] [height].
-h is now synonymous with --help.
2014-03-13 22:17:46 -05:00
Aloshi 18b428f79a Fixed help system being broken for MenuComponent. Still missing in a few places.
Added some "BACK" buttons to various GUIs.
2014-03-13 14:09:50 -05:00
Aloshi 5039b38d8d Split old, big settings into three submenus from the main menu.
Window now only draws the bottom and top of the GuiStack, instead of everything (hides windows-behind-windows and is faster).
2014-03-12 18:24:34 -05:00
Aloshi bbb8aeeac3 Completely rewrote ComponentGrid to use shared pointers, have support for
borders, work better with nested components, and generally suck less.
Split the scraper screen into a "ScraperSearchComponent" so it can be reused in other menus (what could this possibly mean for the future?!).
Re-designed the ScraperSearchComponent to fit UI concepts.
Added the ability to put a row of buttons at the bottom of a MenuComponent.
Redid GuiMetaDataEd to use a MenuComponent instead of ComponentGrid.
Redid GuiGameScraper to use a ComponentGrid containing a ScraperSearchComponent.
Fixed Renderer::pushClipRect not clipping new rects to be within the bounds of the existing clipRect stack.
A ton of little fixes that I forgot to mention.
It's a good thing I'm the only developer currently, or I would have to actually break this into multiple commits.
2014-03-11 22:00:08 -05:00
Aloshi 70b3408823 Renamed all theme "header" elements to "logo" (and "headerText" to
"logoText"). Documentation updated to reflect the change.
2014-03-08 13:07:16 -06:00
Aloshi 6db26742ff Renamed all the internal "Settings" identifiers to be consistent in
capitalization style.  Probably should delete your old es_settings.cfg
file.
Removed --dimtime as an argument since you can set it internally now.
2014-03-08 13:00:18 -06:00
Aloshi b2165dd17b Redid scraper start menu. 2014-03-08 12:19:21 -06:00
Aloshi 671dbc62c1 New button style.
Started redoing GuiMsgBoxs to use the new style.
2014-03-08 11:48:47 -06:00
Aloshi 1c3135b726 Use checkbox graphics for switches.
Slight optimization to TextComponent (by guaranteeing always having a font).
2014-03-07 19:35:16 -06:00
Aloshi 076131f35c New slider art. 2014-03-07 18:16:08 -06:00
Aloshi 5d6733991a Removed the overly-complicated "common" view.
Replaced it with the ability to specify multiple views in a theme tag,
just like for elements.
2014-03-06 21:35:13 -06:00
Aloshi 3ba7cd1247 Finished re-implementing OptionListComponent.
More new art to go with it (thanks Nils!).
2014-03-06 13:45:03 -06:00
Aloshi d0dfe480fa Work on new OptionListComponent. 2014-03-05 19:49:32 -06:00
Aloshi 8928ce49ec Small UI tweaks.
Replaced arrow text with an image.
Better frame.png (thanks Nils!).
2014-03-04 16:48:33 -06:00
Aloshi e97dd8ff36 ComponentList now only scrolls if content > size.
ComponentList now has a default input handler behavior (forward to
rightmost component in row).
ComponentList now updates the currently selected row.
GuiSettingsMenu has been redone to use the new
MenuComponent/ComponentList scheme.
GuiMenu refactored slightly to be less needlessly ridiculous.
2014-03-02 12:36:23 -06:00
Aloshi fdbbf96d5e Added scrolling to ComponentList.
--no-exit works again.
Changed default screen dim time from 30 seconds to 120 seconds.
2014-03-02 10:41:02 -06:00
Aloshi c525d994d3 First implementation of the new ComponentList stuff. 2014-03-01 16:08:21 -06:00
Aloshi 139fc720ac Moved Guis from src/components to src/guis.
Renamed ComponentListComponent to ComponentGrid.
Changed some older files' #ifdefs to #pragma once to be more consistent.
2014-02-28 19:00:38 -06:00
Aloshi 8e8c2fed6b Tweaked some system view constants.
Centering still screwy.
2014-02-28 18:48:11 -06:00
Aloshi 64aaac050f Fix centering of logos in SystemView (text is still a bit wonky).
Added a band beneath the logo carousel to improve visibility.
Revert CMakeLists.txt because I didn't mean to commit it yet.
2014-02-27 15:29:22 -06:00
Aloshi 4c3b4834be Replaced hard-coded background + title in SystemView with a ThemeExtras
layer.
2014-02-27 14:20:31 -06:00
Aloshi 0266b2e802 More work on system carousel, added title + background image. 2014-02-24 19:26:58 -06:00
Aloshi fcb8623b3d First form of the new system select carousel. 2014-02-21 09:33:23 -06:00
Aloshi 2886e8e8d8 Compile on Linux/gcc again
This better not have broken VS
2014-02-17 11:40:31 -06:00
Aloshi 816247ac20 Changed scroll gradient to a radial gradient and made the display full
screen instead of just inside the list.
Embedded the OpenSans font as the default font instead of relying on a
platform-dependent system default.
2014-02-16 12:27:58 -06:00
Aloshi a592dd4cf5 Added title overlay when scrolling through lists. 2014-02-13 17:10:28 -06:00
Aloshi 63749d2d9d Scroll after updating tier so isScrolling() returns accurately. 2014-02-07 22:17:24 -06:00
Aloshi 1aa291ebe7 ImageGridComponent & TextListComponent have had common list functionality
refactored into IList.
2014-02-07 21:45:28 -06:00
Aloshi 7699a4f9be First IList implementation 2014-02-07 20:15:48 -06:00