Commit graph

331 commits

Author SHA1 Message Date
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