Commit graph

513 commits

Author SHA1 Message Date
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
Aloshi 5c12395442 Fix the crash from writing files when the gamelist.xml contains games that
do not exist on the filesystem.
Write that ES has cleanly shut down to the log file instead of standard
output.
2014-01-30 17:19:32 -06:00
Aloshi ac57e111d2 Work around for boost::assign::map_list_of and gcc 2014-01-26 16:20:21 -06:00
Aloshi 4ef5f64ff3 Added on-screen help system.
Very intrusive right now. You can turn it off in the Settings menu until
that gets worked out.
2014-01-25 17:34:29 -06:00
Aloshi 612b196b11 Added the ability to theme multiple elements of the same type
simultaneously.
2014-01-24 19:25:15 -06:00
Aloshi 420dc912e0 If no keyboard input config is found, load a default.
(Previously would only load the keyboard default if *no* input configs were found.)
2014-01-24 18:29:53 -06:00
Aloshi 253ea2b5d3 Metadata now fades out while scrolling.
TextListComponent::isScrolling() now only returns true if the key has been
held down long enough for scrolling to really start.
Fixed opacity for RatingComponent and DateTimeComponent.
Exposed some more of AnimationController.
2014-01-24 18:10:13 -06:00
Aloshi 3ceeca968f Updated/added comments. 2014-01-24 16:21:10 -06:00
Aloshi 8eb9800127 Added color tag to ImageComponent (for colorshift).
Changed TextComponent's truncation from ".." to "...".
Updated documentation.
2014-01-23 15:30:32 -06:00
Aloshi 305e91c9f8 Fixed detailed view launch animation targetting wrong point when game
image is not at origin 0.5 0.5.
Tweaked launch animation to zoom a little faster so that images that the
camera doesn't overstep the bounds of the UI when the image is closer to
the edge.
2014-01-22 17:40:31 -06:00
Aloshi dd0c37ac23 Fix DateTimeComponent relative display for days. 2014-01-22 17:12:38 -06:00
Aloshi ea009315e9 Added horizontal margins to textlist.
Updated and corrected documentation (center -> alignment for textlist, not text!).
2014-01-21 21:16:18 -06:00
Aloshi fa8e60b7b5 Changed "center" property of textlist to "alignment".
TextListComponent can now be aligned either left, right, or center.
2014-01-21 20:43:33 -06:00
Aloshi 49130464ba Added developer and genre to the archive.vg scraper.
Renamed the "Play count:" label to "Times played:".
2014-01-20 19:33:24 -06:00
Aloshi ddcc43b930 Made rating component size work a bit better.
Send an onFileChanged(FILE_METADATA_CHANGED) when a game is launched to catch stat changes.
Updated documentation.
2014-01-20 12:23:39 -06:00
Aloshi 45592544c1 Renamed some theme elements to be more consistent.
Heavily updated the theming documentation.
2014-01-19 18:59:04 -06:00
Aloshi 5606a07f88 Ratings are now themable. 2014-01-19 17:37:08 -06:00
Aloshi 43972c5be9 Added developer, publisher, genre, and number of players metadata.
Updated TheGamesDB scraper to retrieve said metadata, still need to do the
archive.vg scraper.
TextComponent now abbreviates text if the component's size is single-line and the text is too long.
DateTimeComponent now correctly updates its size.
2014-01-19 17:24:56 -06:00
Aloshi 640493e0a6 Added more metadata to the detailed gamelist view. 2014-01-19 16:06:13 -06:00
Aloshi 3f1fcf2400 Changed texture wrap mode to be determined as part of texture creation.
Should hopefully fix some of the weird artifacts at certain resolutions.
2014-01-19 12:23:01 -06:00
Aloshi 5b5e99c366 Removed "infoPanel" element.
Faked it so the <text name="description"> element looks like it has no container.
2014-01-10 19:18:51 -06:00
Aloshi 8b688d3913 Made description size themable. 2014-01-10 18:28:50 -06:00
Aloshi a83ce289e0 Make new resizing algorithm actually work properly. 2014-01-10 18:05:37 -06:00
Aloshi b35d365dc8 Removed the allowUpscale option for ImageComponent::setResize.
Added ImageComponent::setMaxSize(size).
Added "maxSize" theming option for ImageComponent.
2014-01-10 17:47:34 -06:00
Aloshi 92a6678736 Added DIMTIME slider to settings.
Sliders now show their exact value + a unit suffix to the right of the
slider.
2014-01-10 16:01:28 -06:00
Aloshi 2862171dab Fix creating default theme when default theme file is not present. 2014-01-10 14:58:03 -06:00
Aloshi 330f20f375 Added Ctrl-R shortcut to reload current gamelist view if in debug mode. 2014-01-10 14:41:23 -06:00
Aloshi b7b2998720 Added center theme option for TextListComponent. 2014-01-10 14:24:07 -06:00
Aloshi 997751f56a Fixed draw order for extra elements. 2014-01-09 17:13:52 -06:00
Aloshi 81a9941645 Added an error if the <systemList> tag is missing.
Made SystemView more themable (added a ThemeExtras component, made theming on pre-existing elements less restrictive).
2014-01-07 16:57:30 -06:00
Aloshi 5a84bc03ea Rewrote the theming documentation. 2014-01-06 13:27:34 -06:00
Aloshi 8d1ac3087e Changed the sound cache to be part of the Sound class instead of
ThemeData.
2014-01-03 10:48:34 -06:00
Aloshi 8a52866ca6 Added support for theme "extras".
Fixed a few crashes (e.g. TextListComponent::applyTheme).
2014-01-03 08:26:39 -06:00
Aloshi e6d0da998b Theme applicators have become the virtual method
GuiComponent::applyTheme(theme, view, element, properties).
Applying fonts works now.
2013-12-31 23:39:22 -06:00
Aloshi 8bc33ce309 Better "common" view.
Added <include> tag.
2013-12-30 21:48:28 -06:00
Aloshi 7f46e50688 First part of the theming system rewrite. 2013-12-30 17:23:34 -06:00
Aloshi 6f442556c0 Refactored SystemListView directly into ViewController.
Made system views match up with their gamelist views.
Pressing "back" on a gamelist view now takes you to the correct system view.
2013-12-24 11:50:26 -06:00
Aloshi b6577e630d Hopefully fixed the "black screen" bug.
At least for input configuration.
2013-12-23 20:22:15 -06:00
Aloshi 120f9a4e7b Fix accidentally making the grid view the default (woops) 2013-12-23 18:31:37 -06:00
Aloshi 4df8fc9af0 Fix bad dimming during sleep (again...) 2013-12-22 19:42:10 -06:00
Aloshi 93f850df75 Maybe fix the Linux compile errors 2013-12-22 16:56:11 -06:00
Aloshi 12ee215873 Refactored duplicate functionality in GridGameList and BasicGameList into
ISimpleGameList.
BasicGameList and DetailedGameList now automatically switch as metadata
changes.
2013-12-22 16:16:01 -06:00
N1xx1 b8d44be6c2 Segmentation Fault for pointer being null. 2013-12-22 14:08:20 +01:00
N1xx1 05948e9302 Segmentation Fault for pointer being null. 2013-12-22 14:03:05 +01:00
Aloshi 4b6f8d9007 Move menu open code to ViewController so you can open it in the system
select
2013-12-20 15:47:21 -06:00
Aloshi bce46cb925 Fixed sleep mode dimming not working 2013-12-20 15:44:12 -06:00
Aloshi bec3a2599a Only run input code when input is pressed, not released. 2013-12-20 15:09:35 -06:00
Aloshi 1398785468 Lock input during launch animation. 2013-12-13 14:38:34 -06:00
Aloshi 7e9b20fac5 Added a fade in from black for ViewController.
Added LambdaAnimation (which lets you use a lambda for the apply method).
Useful for simple one-off animations.
Added animation slots - only one animation can play per slot.  This way
you can have two animations run at the same time.
2013-12-12 21:17:59 -06:00
Aloshi 67818d5727 Don't create gamelist folders even if their parent directory is valid. 2013-12-12 16:08:52 -06:00
Aloshi 0423dc03dd Added folder metadata loading/saving.
Rewrote a lot of the gamelist reading/saving code, let me know if I broke
it.
2013-12-12 16:04:15 -06:00
Aloshi ccea2a7e04 Removed some old effects code from Window.
Added a simple "LOADING" screen when ES starts up.
ViewController now preloads GameListViews so there's no lag when browsing
to a system for the first time.
2013-12-12 13:48:29 -06:00