Commit graph

313 commits

Author SHA1 Message Date
Aloshi cf269641fc Renamed XMLReader.h/.cpp to Gamelist.h/.cpp.
Since it does more than, yknow, read XML.
2014-06-01 12:57:20 -05:00
Aloshi 4439beceba Made the help system themable. 2014-05-29 15:41:47 -05:00
Aloshi 2d9fbfaf6f New icon + splash screen.
Fixed window icon being upside down.
2014-05-28 17:22:28 -05:00
Aloshi 7250d0b00b Added a "MAME name to real name" translator.
Uses the latest version of MAME for names.
Hopefully will be replaced by emulator scripting in the future...
2014-05-28 09:34:25 -05:00
Aloshi cb54d8ae6d Changed "platform IDs" to just "platform", and now names are used instead of numerical IDs.
Check src/PlatformIds.cpp for a complete list.
2014-05-26 17:32:57 -05:00
Aloshi 04df8fece6 Added active/inactive state to TextEditComponent. 2014-04-19 16:58:01 -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 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 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 11f19a80d3 Add -O3 flags back to gcc compilation. 2014-04-12 15:14:40 -05:00
Aloshi 9acfda6e1a New "GuiGamelistOptions" to replace fast select. 2014-04-05 00:41:08 -05:00
Aloshi 45428dd17b Added new TextEditComponent graphics. 2014-03-25 18:10:35 -05:00
Aloshi 1d17bd9938 Design tweaks.
Fixed dpad_right.svg.
2014-03-22 16:02:25 -05:00
Aloshi f2bd7004e1 Added SVGs for most resources. 2014-03-22 13:04:14 -05:00
Aloshi 91546ac2bc Added new text editing style to GuiMetaDataEd as per UI concepts. 2014-03-21 11:10:19 -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 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 088b146fe9 Redid message boxes. 2014-03-15 12:18: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 671dbc62c1 New button style.
Started redoing GuiMsgBoxs to use the new style.
2014-03-08 11:48:47 -06:00
Aloshi 076131f35c New slider art. 2014-03-07 18:16:08 -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 8928ce49ec Small UI tweaks.
Replaced arrow text with an image.
Better frame.png (thanks Nils!).
2014-03-04 16:48:33 -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 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 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 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 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 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 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 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
Aloshi ed64c22dcb Merge branch 'master' into unstable
Conflicts:
	THEMES.md (keep unstable branch's)
2013-12-14 19:07:23 -06:00
Aloshi 019e78d048 Fix the extremely subtley broken FindFreeType.cmake by removing it in
favor of the FindFreetype.cmake that comes with CMake.
Hopefully fixes issue #144.
2013-12-14 18:52:12 -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 7152ca6246 First version of the system select menu. 2013-12-10 21:23:47 -06:00
Aloshi a13ed11ead Added a simple Animation system.
Launch/return effect reimplemented.
ViewController's scrolling camera reimplemented as an Animation.
2013-12-08 11:35:43 -06:00
Aloshi 9875a59549 Added GridGameListView.
Currently no way to enable it and no way to switch systems with it.
2013-11-30 19:04:46 -06:00
Aloshi 0cfa38fcf9 Mostly reimplemented the fast select GUI.
Still not sure how I want to store sort state. I'd kind of like to move
sorting out of the FileData tree altogether and into the display classes.
2013-11-25 14:49:02 -06:00
Aloshi 94ca712759 Redid GuiMenu. 2013-11-23 14:04:11 -06:00
Aloshi a7359a2d08 Themes mostly stable, documentation updated 2013-11-21 16:47:26 -06:00
Aloshi 3a3471cfe8 Combined FolderData and GameData into one class, FileData.
You don't need to dynamic_cast everywhere to check things anymore.
Folders can have metadata now (currently not set up).
Metadata is now a public member variable instead of a function that
returns a pointer to make actually using const possible.
2013-11-05 19:41:49 -06:00
Aloshi 56b04aec4c updateGamelist now creates a gamelist.xml if one does not exist.
Added GuiMsgBoxOk and GuiMsgBoxYesNo, basic message boxes.
Added rating scraping to TheGamesDB scraper.
Added warning if platform ID is not set for a system the user has selected
to scrape.
2013-10-16 17:05:02 -05:00
Aloshi 69852af751 Multi-game scraper seems to be functional! 2013-10-13 14:07:48 -05:00
Aloshi d419bb368a Added GuiMsgBoxOk. 2013-10-12 15:08:27 -05:00
Aloshi f3695a7545 Started work on "scrape multiple games" UI. 2013-10-10 16:49:59 -05:00
Aloshi dca5467f7b Boost.Asio -> libcurl to hopefully fix the Linux bugs. 2013-10-10 13:11:01 -05:00
Aloshi 0fa4cf527b Fixed SDL2 warnings on Linux (-W-no-attributes).
Fixed #include for old Font.h location in Renderer_init_sdlgl.cpp.
2013-10-08 16:31:29 -05:00
Aloshi a6dbaa2dea Moved Font.h/.cpp to the "resources" directory (since it's a Reloadable). 2013-10-04 18:24:41 -05:00
Aloshi a4185176da OptionListComponent 2013-10-03 16:50:40 -05:00
Aloshi 6956211ff0 Started on OptionListComponent. 2013-10-01 16:52:30 -05:00
Aloshi 2f358826fd Added boost date_time to CMakeLists.txt to fix building on Linux. 2013-09-30 14:33:50 -05:00
Aloshi bbc387ce8a Initial command-line scraper. 2013-09-28 21:54:15 -05:00
Aloshi 838b8ee422 DateTimeComponent.
Can display dates, date + times, and an english description of a time
relative to now ("2 secs ago", "1 day ago", etc.).
Supports editing dates (including day-of-month validation).
This took a lot longer than I thought.
2013-09-28 17:35:38 -05:00
Aloshi c5d772657b Added PlatformId to SystemData. 2013-09-28 11:10:06 -05:00
Aloshi 10ed603f27 Unified renderer initialization on RPi and other platforms! Woo, SDL2! 2013-09-28 01:17:41 +00:00
Aloshi 71f0dbf7e5 Revert "Merge pull request #134 from elpendor/unstable"
This reverts commit 896e0f460b, reversing
changes made to 56b5127200.
2013-09-25 14:38:53 -05:00
Juan Pablo 8c768e057d Replaced boost's regex with std's regex 2013-09-25 01:07:11 -03:00
Aloshi 69ef41a49f Add boost-regex to required libs.
Added PlatformId.h.
2013-09-24 16:27:20 -05:00
Aloshi b2f615347e IScraper renamed to Scraper.
Scraper now contains a partial implementation since almost all scrapers
will follow the pattern of create HttpReq -> create and wait for
AsyncReqComponent -> parse HttpReq contents.
2013-09-24 13:06:13 -05:00
Juan Pablo a8427d33a6 Partial implementation for The Archive scraper. 2013-09-24 04:26:33 -03:00
Aloshi 51e797bbd0 RatingComponent mostly working. 2013-09-23 21:02:41 -05:00
Aloshi 964d5afc56 Work on RatingComponent 2013-09-23 14:58:47 -05:00
Aloshi 3105073e50 Work on scraper UI integration (about there, just need a real scraper
now).
2013-09-19 18:41:14 -05:00
Aloshi fe991e1b86 Skeleton for scrapers. 2013-09-16 14:53:24 -05:00
Aloshi e823592660 Added AsyncReqComponent for easy asynchronous, cancelable HTTP requests with a nice loading icon. 2013-09-15 14:11:39 -05:00
Aloshi c807c98b4a Added HttpReq class based on Boost.Asio. 2013-09-15 12:56:47 -05:00
Aloshi 8e12ff9506 Completely removed GuiBox. 2013-09-14 12:51:13 -05:00
Aloshi b0d156d6bd Move GuiSettingsMenu to use NinePatch. 2013-09-14 11:14:21 -05:00
Aloshi 74e8c40d67 Moved TextEditComponent to use NinePatchComponent.
Enable key repeat while text editing.
2013-09-14 10:58:34 -05:00
Aloshi 268b918c46 Changed GuiGameEd to GuiMetaDataEd.
Now accepts std::functions for save/delete.
2013-08-23 17:15:00 -05:00
Aloshi f89a418b5c Moving from GuiBox to simple mobile-style Nine Patches. 2013-08-23 09:53:48 -05:00
Aloshi 77fb840a4b Added a basic ButtonComponent class. 2013-08-22 15:29:50 -05:00
Aloshi 09726348b3 Moved to SDL2.
Renderer on the Pi doesn't work at the moment.
2013-08-18 12:17:52 -05:00
Aloshi b5fe2cc8fc Began work on the metadata editor. 2013-08-18 09:16:11 -05:00
Aloshi 421797929d New generic metadata backend. 2013-08-14 07:16:49 -05:00
Aloshi 60adf05077 Use res2h-generated files for embedded resources.
You do not need res2h to build ES, only if you wish to modify resource
files.
Added a simple corner.png and bar.png for a border in the settings menu.
Added ImageComponent::setColorShift(unsigned int color) to change the
OpenGL color array.
2013-08-07 17:40:27 -05:00
Aloshi 5860bd6ac3 Merge remote-tracking branch 'horstbaerbel/master' into unstable 2013-07-16 22:19:31 -05:00
Bim Overbohm bfff96ebbc Add Eigen3 to CMakeLists and add find script 2013-07-11 10:47:49 +02:00
Aloshi 3745642153 Add -DEIGEN_DONT_ALIGN to compiler flags. 2013-07-10 06:32:51 -05:00
Aloshi 542d41c682 Move from homegrown Vector2 class to Eigen.
Pass a matrix (Eigen::Affine3f) in GuiComponent::render instead of doing
glTranslate behind the scenes.
2013-07-10 06:29:43 -05:00
Aloshi c8900f4099 Moved to class-individualized static gets for resources.
See issue #95 for discussion.
2013-07-09 00:44:24 -05:00
Aloshi fe8c592623 Merge branch 'master' into unstable
Conflicts:
	src/components/ImageComponent.h
2013-07-03 01:30:44 -05:00
Aloshi ed384e057b Move scrolling out of TextComponent and into a generic
ScrollableContainer.
2013-07-02 20:01:58 -05:00
Aloshi 90af5d47ab Created the ResourceManager, Resource, and TextureResource classes.
The ResourceManager provides a unified interface for accessing resource
data, embedded or from the filesystem, with
initialization/deinitialization handled automatically behind the scenes.
It also keeps from creating duplicate resources (e.g. when two
ImageComponents use the same image file).
Audio still needs to be moved over to it.
2013-06-21 11:49:29 -05:00
Aloshi 1534cec865 Added ComponentListComponent for laying out elements in a grid and
navigating through them.
Added SliderComponent for selecting from a range of values.
Added SwitchComponent for selecting an "ON" or "OFF" value.
2013-06-18 20:12:30 -05:00
Aloshi e8465baaba Moved externs for command-line args into a Settings singleton. 2013-06-17 14:01:03 -05:00
Aloshi 861297ae25 Added initial TextComponent.
Reworked GuiGameList to use a TextComponent for description.
Changed set/clearClipRect to push/popClipRect.
Fixed Y coordinate in the clip rect functions.
Sorta fixed AnimationComponent being totally out of whack with VSync off.
2013-06-14 10:48:13 -05:00
Aloshi 3a6f2e8e35 Remove ComponentContainer from CMakeLists. 2013-06-02 17:44:26 -05:00
Aloshi 424fcb0329 Basic GuiComponent refactor complete. 2013-06-02 10:08:32 -05:00
Aloshi 4d31aac85e Added Vector2 class. 2013-06-01 16:48:45 -05:00
Bim Overbohm c1c52e844a Check for g++, not gcc and fix linking on Raspberry Pi
We actually need g++, not gcc. Also on the Pi the OpenGLES libs where
missing.
2013-05-24 11:36:29 +02:00
Bim Overbohm 50af655fe9 Check for GCC 4.7 or above
To prevent compilation errors beforehand.
2013-05-22 19:15:44 +02:00
Bim Overbohm edc26aa4e1 Add Volume control in Windows and Linux
Add volume control int Windows through the mixer API (until XP) and the
EndpointVolume API (Vista and above). Add volume control in Linux
through ALSA.
Convert AudioManager to use shared_ptrs.
2013-05-22 19:11:10 +02:00
Bim Overbohm fa57968c04 Improve CMake script for Windows builds - Only CMakeLists.txt
Enable multi-processor compilation in Visual Studio / NMake. Disable
console in release builds (broken in CMake atm, you have to set linker
/SUBSYSTEM:WINDOWS manually).
Did I already say that the automatic "select all" of GitHub for Windows
sucks?!
2013-05-17 11:58:43 +02:00
Bim Overbohm 86f68f29f9 Revert "Improve CMake script for Windows builds"
This reverts commit e92a68fb46.
2013-05-17 11:55:50 +02:00
Bim Overbohm e92a68fb46 Improve CMake script for Windows builds
Enable multi-processor compilation in Visual Studio / NMake. Disable
console in release builds (broken in CMake atm, you have to set linker
/SUBSYSTEM:WINDOWS manually).
2013-05-17 11:43:50 +02:00
Bim Overbohm 802aa50ad9 Fix compile errors on Ubuntu 2013-05-16 23:25:54 +02:00
Bim Overbohm 42829b3b6d Add version information, add window and file icon
Version information nowe resides in EmulationStation.h and is compiled
into the EXE on Windows. An icon file is also included and on
non-Windows systems the window icon is loaded from PNG data compiled
into the EXE and set via SDL_WM_SetIcon().
2013-05-16 21:26:19 +02:00
Bim Overbohm 1d9cee83a5 Improve CMake file and FindOpenGLES script
CMake should now add proper library files and paths to the build files.
FindOpenGLES.cmake should now hopefully find GLES on Raspberry Pi.
2013-05-16 12:04:02 +02:00
Bim Overbohm a2c990bd26 Fix compile errors on Rasbian
Add proper EGL/GLES libraries. Change glVertexPointer() call, because
GLES only can use GL_BYTE, GL_SHORT, GL_FIXED and GL_FLOAT...
2013-05-15 09:50:59 +02:00
Bim Overbohm 1f91fe6cdf Fix compile errors on Ubuntu
Set the GCC compiler flags properly. Add missing include.
2013-05-15 09:40:16 +02:00
Bim Overbohm 6d2e25aacc Update CMakeLists according to last commit
GLES renderer file had a different name.
2013-05-14 22:01:21 +02:00
Bim Overbohm eb4bafcb2f Use CMake to generate EmulationStation build files
CMake is much more versatile, providing build support on multiple
platforms to generate Makefiles. This should serve as a starting point
for CMake builds.
Please note the /CMake/* scripts are actually ripped from the ORGE3D
repositories, but they seem to be in the Public Domain. Thanks!
2013-05-14 21:40:21 +02:00