Commit graph

564 commits

Author SHA1 Message Date
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 7db0100edd Use boost::posix_time::ptime internally for times and dates. 2013-09-28 12:51:16 -05:00
Aloshi 7bd34ec62a Added "isStatistic" property to MDDs.
If true, ignore scraper values for this value.
This keeps scraping from overwriting playcount and lastplaytime.
2013-09-28 11:38:31 -05:00
Aloshi cfd63c74db Refactored GameData to be completely independent of SystemData. 2013-09-28 11:18:44 -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 56b5127200 Fix HttpReq destructor freeze on Linux 2013-09-24 16:35:48 -05:00
Aloshi 69ef41a49f Add boost-regex to required libs.
Added PlatformId.h.
2013-09-24 16:27:20 -05:00
Aloshi 153aee5040 Use RatingComponent in the metadata editor. 2013-09-24 14:44:18 -05:00
Aloshi fb8bfc9486 Added "releasedate" to the MetaDataDecl list. 2013-09-24 13:41:19 -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
Juan Pablo 2999a8068a Properly encoded parameters. Otherwise the query gets truncated. 2013-09-24 04:02:14 -03:00
Juan Pablo 3e1ecb4a84 Added a method to clean filenames before scraping 2013-09-24 02:20:53 -03:00
Juan Pablo 57eb9849ff Renamed/moved maximum scraper results constant to be used in scraper 2013-09-24 01:58:59 -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 e65d94fe54 Initialize std::functions with nullptr instead of NULL. 2013-09-22 19:40:51 -05:00
Aloshi 8a0eff8ef6 Fix wrapping text that ends with a newline. 2013-09-20 22:06:50 -05:00
Aloshi a3a4636fd5 Search for box hooked up.
Display thumbnails for results.
Still need to resolve boxart.
2013-09-20 18:55:05 -05:00
Aloshi 9ce511cc71 Partial implementation for TheGamesDB scraper.
Still needs a way to display error messages.
2013-09-20 14:55:44 -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 5dfaeeabb4 More infastructure for scrapers (starting to hook into GuiMetaDataEd). 2013-09-17 16:50:49 -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 d7a6cae4ce Moved the fast select GUI to nine patches.
Luckily, no one ever used it anyway.
2013-09-14 12:32:21 -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 861a61cb3a Set *all* the vertex data to zero for newlines. 2013-09-13 14:01:39 -05:00
Aloshi 376d746686 Fix newlines not initializing font vertices. 2013-09-12 16:56:42 -05:00
Aloshi 8bd5966f87 Added single-line edit + view mode to TextEditComponent.
Used automatically if component height <= font height.
2013-09-12 16:35:44 -05:00
Aloshi f9571b9389 TextEditComponent is now fixed-height and supports cursor-based editing.
Fixed a text-wrapping bug with consecutive newlines in Font::wrapText.
2013-09-07 17:46:26 -05:00
Aloshi 044619a2d3 Add ALSA package to dependency list.
Change name of example config from "NES" to "nes".
2013-08-28 14:39:29 -05:00
Aloshi 268b918c46 Changed GuiGameEd to GuiMetaDataEd.
Now accepts std::functions for save/delete.
2013-08-23 17:15:00 -05:00
Aloshi e55e0f3da7 Added FolderData::removeFileRecursive(FileData* f).
Fixed ButtonComponent crashing when pressed with no press func set.
2013-08-23 12:21:22 -05:00
Aloshi f2689f49a6 Merge branch 'master' into unstable 2013-08-23 11:28:45 -05:00
Aloshi b76413137e Hopefully fix trying to showing too many entries in TextListComponent. 2013-08-23 11:21: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 df897c0b5a Finally implemented TextCaches for TextComponent and TextEditComponent.
Huge boost in performance with rendering game descriptions.
(It's About Damn Time (TM))
2013-08-21 20:08:36 -05:00
Aloshi 11f774e019 Cache the result of Font::getDefaultPath().
(According to Very Sleepy, this was taking up 39% of render time :))
2013-08-21 16:18:20 -05:00
Aloshi bde5b6888f Properly fill in display_width and display_height for 0 now. 2013-08-21 15:59:11 -05:00
Aloshi bed9c1fbb5 TextEditComponents now resize vertically as needed. 2013-08-21 14:49:33 -05:00
Aloshi 7cb3cc09ee Fixed a long-standing invalid OpenGL disable in drawRect.
Fixed a really strange bug in ComponentList vertical centering
that was causing TextEditComponent to render the top GuiBox border
incorrectly with odd sizes.
2013-08-21 12:40:39 -05:00
Aloshi 7c2e7f9069 Basic text editing support. 2013-08-19 10:36:48 -05:00
Aloshi 1418f85ba7 Fixed some subtle bugs with SDL2 joystick changes.
Removed platform-specific input device list polling.
Now we use SDL2's handy SDL_JOYDEVICEADDED event.
2013-08-19 09:05:30 -05:00
Aloshi 5b1cd8fbf8 Renderer compiles on the Pi again.
For some reason SDL2 won't initialize on the terminal though.
Works fine under X, though that isn't an acceptable solution.
2013-08-18 19:31:35 +00: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 dbcb9aed37 Moved es_systems.cfg to use XML.
Updated README.md to reflect new format.
"descname" has been renamed to "fullname".
2013-08-13 01:56:10 -05:00
Aloshi c7a150046a Re-added the old fix for the "automatically starting emulator" bug that
got removed during refactoring.
2013-08-08 19:15:50 -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 4f416d13a0 Add a "disable sounds" option to the settings menu. 2013-08-07 00:41:55 -05:00
Aloshi eb2481ca19 Remove debug text. 2013-08-06 23:46:43 -05:00
Aloshi 92adc41cd6 Fixed really sneaky texture deallocation bug.
Textures allocated with no path (e.g. the transition image which uses
copyScreen()) weren't being deinitialized with the renderer.  Which meant
something else could take the old texture ID, and when the no-path texture
got destroyed, it would take a texture along with it.
2013-08-06 23:35:06 -05:00
Aloshi 55b71fab49 Fixed ScrollableContainer clipping.
Changed game select effect to interpolate more interestingly.
2013-08-06 22:46:25 -05:00
Aloshi 541d9a62d1 Fix vertical and horizontal GuiBox images being flipped. 2013-08-06 19:03:40 -05:00
Aloshi bd940c56b4 Added new game launch/return effect. 2013-08-06 08:15:20 -05:00
Aloshi 04ffc7447c Fix mis-declared render methods for input setup GUIs. 2013-07-26 18:28:51 -05:00
Aloshi a82684ec1a Remove GuiComponent::init, deinit, and getGlobalPosition. 2013-07-23 06:15:10 -05:00
Aloshi 8d78052808 Finally use parenting in GuiGameList.
Added setCentered(bool) to TextComponent.
Fixed Font::sizeWrappedText to return an accurate width.
2013-07-23 01:27:28 -05:00
Aloshi e2c30a568d Added a Window::normalizeNextUpdate() method.
If you know something is about to cause the framerate to tank (e.g. theme
loading), you can tell the next update to be, at maximum, the average of
the previous five seconds of frames.
The framerate drawing code has also been moved to Window.
2013-07-17 01:47:02 -05:00
Aloshi 7698c8fe74 Increment version number. 2013-07-17 00:56:10 -05:00
Aloshi 9fe6ca7506 Fix projection matrix on the Raspberry Pi. 2013-07-17 00:50:38 -05:00
Aloshi 28f7a9c6e1 Fix Settings menu and associated components. 2013-07-16 23:18:30 -05:00
Aloshi 8bd87e162c Stop including Eigen directly in the project.
Update README.md for information on installing Eigen.
2013-07-16 22:41:39 -05:00
Aloshi 19c585ec22 Fix font texture filter (to be GL_NEAREST). 2013-07-15 22:57:50 -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 919662be85 Merge branch 'master' into unstable 2013-07-09 19:03:46 -05:00
Aloshi 7085d74e31 Changed default centering behavior.
Now the detailed view will default to left-aligned.
2013-07-09 19:02:59 -05:00
Aloshi a15031733b Fix crash when no fast-select font specified 2013-07-09 18:52:10 -05:00
Aloshi 77e9f2d150 Refactor some of the startup code. 2013-07-09 05:37:37 -05:00
Aloshi 40dc9abdf8 Fix GuiGameList list positioning. 2013-07-09 01:10:48 -05:00
Aloshi dd10edb904 ResourceManager stores Reloadables in a list, instead of vector. 2013-07-09 00:57:28 -05:00
Aloshi a818801ea6 Initialize mOpacity. 2013-07-09 00:48:23 -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 c99324060b Merge branch 'master' into unstable 2013-07-08 19:06:55 -05:00
Bim Overbohm 3c189b33c1 Convert paths to generic form after 341aa766d8
Might not have caught all places where this should be done.
2013-07-03 14:27:06 +02:00
Aloshi d781cebfa1 Remove debug messages 2013-07-03 03:23:18 -05:00
Aloshi 56dffeed8c Fixed memory leak in ImageIO.cpp 2013-07-03 03:17:34 -05:00
Aloshi 6b373924d2 Moved Fonts to be Resources.
Moved Renderer::drawText stuff to the Font class.
Fonts are now used as std::shared_ptrs.
2013-07-03 02:54:55 -05:00
Aloshi fe8c592623 Merge branch 'master' into unstable
Conflicts:
	src/components/ImageComponent.h
2013-07-03 01:30:44 -05:00
Aloshi 341aa766d8 Use path.generic_string() for game paths.
Should now only use forward slashes, regardless of platform.
2013-07-02 22:48:03 -05:00
Aloshi 04946d9fed Remove red test background on ScrollableContainer 2013-07-02 22:25:48 -05:00
Aloshi d616b4a202 Merge remote-tracking branch 'horstbaerbel/master'
Conflicts:
	src/components/GuiGameList.cpp
2013-07-02 22:24:43 -05:00
Aloshi ed384e057b Move scrolling out of TextComponent and into a generic
ScrollableContainer.
2013-07-02 20:01:58 -05:00
Bim acc22739b0 Merge remote-tracking branch 'upstream/master' 2013-07-03 02:12:49 +02:00
Bim 45ed6ae4da Add size set function to GuiComponent
Similar to #92...
2013-07-03 01:48:39 +02:00
Aloshi df78b5352d Changed AnimationComponent to use GuiComponent instead of ImageComponent.
Possible now that the opacity logic has been moved to GuiComponent.
2013-07-02 18:13:55 -05:00
Bim ac51656527 Read/Write sort order to settings
Not written to disk atm.
2013-07-02 23:14:33 +02:00
Bim ded54a6884 Merge 94e32f198b from unstable branch top master
Had to hand-merge GuiGameList.cpp again :/
2013-07-02 22:49:53 +02:00
Bim f72e80b629 Merge remote-tracking branch 'upstream/master'
had to hand-merge GuiGameList.cpp
2013-07-02 21:52:02 +02:00
Sir_Leon be86423712 Merge branch 'master' of https://github.com/leandromacrini/EmulationStation 2013-07-02 17:01:28 +02:00
Sir_Leon b4e554153a Moved Opacity logic to GuiComponent
Moved Opacity logic from ImageComponent to GuiComponent so any extender
of GuiComponent che implement its opacity logic.

Implemented Opacity logic for TextComponent (now text can have fade
animation)
2013-07-02 16:51:33 +02:00
Aloshi 0a6196dd9f Refactored Font class to use a TextCache for vertex data.
The TextComponent class should start using it soon.
2013-07-02 02:53:23 -05:00
Aloshi e785a2dfe0 You can now mix and match game list detail levels.
Basically, only games that have a gamelist.xml will use the detailed view.
2013-07-02 02:04:52 -05:00
Aloshi ec7ad28fdc Finally added scrolling description text. :) 2013-07-02 00:57:31 -05:00
Bim 94e32f198b Make sort order changeable via fast-select menu
Use the left/right keys to switch it.
2013-06-30 19:24:09 +02:00
Bim b329a5e1a0 Merge remote-tracking branch 'upstream/master' 2013-06-30 18:00:16 +02:00
Aloshi 3971fdc674 Fix last entry not showing (issue #90) 2013-06-29 20:57:14 -05:00
Aloshi c18877fdf1 Merge branch 'master' into unstable 2013-06-29 20:44:54 -05:00
Aloshi f4e2a14685 Temporarily disable polling while configuring inputs.
Polling is disabled once the first device is chosen, and resumed once the
last device is configured.
2013-06-29 20:43:13 -05:00
Aloshi 1dfb45e133 Print all Log messages to cout with --debug set.
Added startPolling and stopPolling to InputManager.
2013-06-29 20:37:18 -05:00
Aloshi 20d08587f2 Merge commit '171ca9a' from HorstBaerbel fork 2013-06-29 07:35:33 -05:00
Aloshi d986d739b2 Revert "Disable input device polling code to resolve freeze after ~45 minutes."
This reverts commit 4a1206aee2.
2013-06-29 07:30:32 -05:00
Bim Overbohm a60fe463d4 Support sorting of game list via input
You can now map the functions "sortordernext" and "sortorderprevious" to
inputs (in es_input.cfg) and toggle the game list sort order with them.
The order is: "file name, ascending" (default), "file name, descending",
"rating ascending", "rating descending", "user rating ascending", "user
rating descending", "time played ascending", "times played descending",
"last played time ascending", "last played time descending".
2013-06-28 19:44:28 +02:00
Bim Overbohm c61a470694 Add user rating and last time played to game data
That should be about it...
2013-06-28 17:25:18 +02:00
Bim Overbohm d99134763f Convert rating to float. Fix reading of timesPlayed.
http://thegamesdb.net API seems to use a float. Fix a but where the
times played was read into the rating member.
2013-06-28 16:13:57 +02:00
Bim Overbohm 556b9fa3fe Add functions for writing data to gamelist.xml
Also add a "rating" and "timePlayed" variable to GameData. Some cleanup
in GameData and FolderData. Added sorting functions for rating and
timesPlayed to FolderData. Testing and UI support still tbd.
2013-06-28 14:54:14 +02:00
Bim Overbohm 171ca9a657 Slightly better color array function
Converting only once should be faster.
2013-06-27 12:31:16 +02:00
Bim Overbohm b187f05a16 Fix font rendering for fonts with horizontal bearing 2013-06-27 12:30:04 +02:00
Bim Overbohm 887a1e00f8 Fix ES freezing without input
And also hook up SDL joystick reinit when device removal or insertion is
detected.
2013-06-27 10:26:56 +02:00
Aloshi 4a1206aee2 Disable input device polling code to resolve freeze after ~45 minutes.
See issue #87.
2013-06-26 23:25:58 -05:00
Aloshi 441e0f660c Merge branch 'master' into unstable 2013-06-26 20:33:18 -05:00
Aloshi 6f9ea15696 Fixed GuiGameList screenshot crash. For real, this time, probably. 2013-06-26 20:32:51 -05:00
Bim Overbohm e809414558 Merge remote-tracking branch 'upstream/master' 2013-06-24 11:57:19 +02:00
Aloshi 85f3ebf152 Fixed GuiGameList crashing on non-detailed view. 2013-06-21 16:54:41 -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 ae50cc82ad Updated version strings. 2013-06-20 14:08:33 -05:00
Bim Overbohm 47ddffb6c3 Another stab at correct SDL audio handling
Fully de-initialize SDL audio in AudioManager::deinit().
2013-06-20 16:14:10 +02:00
Aloshi 5619674c55 Work-around for no front buffer access on GLES.
Buffer swap now occurs after update but before render.
2013-06-19 19:56:45 -05:00
Aloshi 56569e5425 Made Settings Getter/Setter macro more g++-friendly. 2013-06-19 18:31:59 -05:00
Aloshi f651ea401c Removed volume from GuiInputConfig since it's in GuiSettingsMenu now. 2013-06-19 16:07:12 -05:00
Aloshi 62529029d7 Hooked up GuiSettingsMenu.
Settings now save/load from ~/.emulationstation/es_settings.cfg.
2013-06-19 16:02:42 -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 19eb1c412f Merge remote-tracking branch 'origin/unstable' into unstable 2013-06-16 16:24:17 -05:00
Aloshi da6ae9ac10 Initial screen transition when switching systems. 2013-06-16 16:23:04 -05:00
Aloshi 1b71abd44c Fixed marquee effect staying on when changing systems. 2013-06-15 13:06:52 -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 bf84945010 Fixed XMLReader system path processing.
getHomePath() now uses forward slash as a path separator on all platforms.
2013-06-14 10:16:16 -05:00
Aloshi aec15ba0a1 Refactored Font to use a Vertex struct and Vector2.
Fixed InputConfig error messages dumping to console and not logging.
Fixed skipped inputs being saved.
2013-06-14 07:34:12 -05:00
Aloshi 023bc44abd Fixed a warning. 2013-06-14 06:26:04 -05:00
Aloshi b3fd961986 Merge remote-tracking branch 'horstbaerbel/master' into unstable 2013-06-14 06:22:17 -05:00
Bim Overbohm 8436c16426 Fix font rendering for big font sizes
This should fix #81. If font creation fails because we're over max.
texture size, scale the glyphs down by some amount and then upscale the
text that is rendered. This gives a somewhat blurred image, but it works
for a lot more font sizes.
2013-06-12 14:42:09 +02:00
Bim Overbohm 850147016f Improve audio and volume handling.
Prevent a deadlock in AudioManager mixer callback when stopping sounds.
Detach and free mixer handle before closing it in
VolumeControl::deinit().
2013-06-12 11:48:53 +02:00
Aloshi f577a72c23 Re-added input config fix that went missing... 2013-06-02 19:18:26 -05:00
Aloshi 7faf9fca53 Added Size and getSize() to GuiComponent.
Added setClipRect and clearClipRect to Renderer.
TextListComponent finally has a marquee. :)
2013-06-02 17:33:49 -05:00
Aloshi 826624481a Refactored ImageComponent to use Vector2. 2013-06-02 16:05:29 -05:00
Aloshi 24512c0c9f Component rendering now uses OpenGL translation.
You don't need to take into account offset when rendering anymore.
2013-06-02 14:34:50 -05:00
Aloshi 1cef2f5433 Write PROGRAM_VERSION_STRING at start of log. 2013-06-02 11:17:13 -05:00
Aloshi 628b0b6958 Put ComponentContainer directly in GuiComponent.
Necessary for parenting to allow getOffset(), etc.
2013-06-02 11:11:29 -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 c8bf0cf652 Better frame rate / time display
Calculate and update every 500ms which makes it much more readable
2013-05-29 20:22:02 +02:00
Bim Overbohm cfee178f2f Swap SDL color masks for icon
So at least colors in the icon are displayed correctly
2013-05-29 19:50:41 +02:00
Bim Overbohm fa6fdd7cce Convert image data only when necessary
Convert images only when they're not already 32bit
2013-05-29 19:49:28 +02:00
Aloshi 80e33849b5 Fixed a few crashes, better support for higan
Fixed AudioManager/InputManager unsigned vs signed comparison warnings.
Fixed a FolderData sorting crash (I can't believe nobody's reported
this).
Fixed a GuiTheme crash for empty paths.
Added the %ROM_RAW% tag, for the unescaped ROM name - useful for higan
on windows.
SystemData will now add folders that end in EXTENSION as GameDatas, and
not recurse through them.  Also useful for higan.
2013-05-27 12:13:38 -05:00
Bim Overbohm 6d499d4e3a Improve singleton implementation
Still not thread-safe, but a bit better now. Should be made thread-safe
and maybe get converted to a template, if possible.
2013-05-27 12:38:39 +02:00
Bim Overbohm e51dd35166 Fix volume control on Raspian. Correct some log messages
Main/Master volume mixer is called "PCM" on Raspian instead of "Master".
2013-05-27 09:44:54 +02:00
Bim Overbohm 01d5f1e085 Hide and unhide mouse cursor via SDL on startup
This can also be made permanent by setting the environment variable
SDL_NOMOUSE=1 or 0, e.g. in $home/.bashrc
2013-05-24 15:08:53 +02:00
Bim Overbohm 762952e7ea Poll joystick / HID devices without SDL on Windows / Linux
Get a list of joysticks / HID devices from the system (scan
"/dev/input/js*" on Linux / use GetRawInputDeviceInfo() on Windows) and
poll again every 5s via a SDL timer. If the list changes SDL can be
re-inited. Atm only a log message is written.
2013-05-24 13:44:40 +02:00
Bim Overbohm 970aa78cda Make master volume controllable via input
Standard mapping is +/- keys. Setting is written to es_input.cfg.
2013-05-23 11:43:50 +02:00
Bim Overbohm c989aae1c3 Remove whitespaces from system config lines
to fix errors with files that have different line endings than the
system. Output a line number when something is wrong. This should be
done wherever reading from text files probably.
2013-05-22 19:13:55 +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
Aloshi 12b4b12103 Added comment to src/ImageIO.h 2013-05-22 11:30:14 -05:00
Bim Overbohm a1cb5bdda1 Fix sounds not playing after launching a game
Correctly re-initialize SDL_Audio after launching a game.
2013-05-21 10:40:01 +02:00
Aloshi eaf157a330 Merge branch 'master' into unstable 2013-05-20 11:51:50 -05:00
Aloshi f3229f111c Fix for audio not reinitializing on restart. 2013-05-20 10:57:04 -05:00
Aloshi 79b7ab10b1 Merge https://github.com/HorstBaerbel/EmulationStation into unstable
Conflicts:
	src/platform.cpp
2013-05-17 10:05:05 -05: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
Aloshi c5e91da629 Fixed Raspberry Pi Makefile.
Fixed a reorder warning in InputManager.cpp.
2013-05-16 19:13:49 -05:00
Bim Overbohm 802aa50ad9 Fix compile errors on Ubuntu 2013-05-16 23:25:54 +02:00
Aloshi cd76e2a654 Added ability to skip all inputs beyond menu by pressing Accept. 2013-05-16 14:39:40 -05:00
Bim Overbohm 4b4c891b30 Find proper home path
Should work on more systems now.
2013-05-16 21:29:41 +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
Aloshi ec48c5d3a4 Fixed a crash with empty path names in theme box definitions. 2013-05-16 13:27:19 -05:00
Aloshi 0f6338045a Added Windows compiled files to .gitignore.
Added "WIN32" preprocessor definition to the default VS2010 project.
Replaced getHomePath() with the one mentioned in the pull request comments.
2013-05-16 12:43:16 -05:00
Bim Overbohm 517ccbefb5 Fix that Sounds can't restart
Sounds now restart when e.g. scrolling up/down repeatedly.
2013-05-15 10:12:51 +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 288eb3c1b2 Update platform file to fit to CMakeLists
The #defines "USE_OPENGL_ES" and "USE_OPENGL_DESKTOP" to control GLES
vs. Desktop OpenGL usage. The #define _RPI_ is used solely on Raspberry
Pi now.
2013-05-14 22:07:19 +02:00
Bim Overbohm 2e09563544 Make GLES renderer work on other systems than RPI
The #define _RPI_ now does special stuff when setting up a GLES context
on the Raspberry Pi. This should hopefully make the code work on other
systems too.
2013-05-14 21:58:54 +02:00
Bim Overbohm acba3bd258 Remove .cpp #includes
It is cleaner to not do that and just include the proper file in the
build files if needed.
2013-05-14 21:54:47 +02:00
Bim Overbohm e8472581fa Minor cleanup
Move member initialization to initializer list. Add iostream to logger
for convenience.
2013-05-14 21:45:56 +02:00
Bim Overbohm af9b9f732f Remove the need for SDL_mixer
SDL_mixer is not in the standard SDL distribution. The mixing is now
done using regular SDL_Audio functions. AudioManager is converted to a
singleton and std::shared_ptrs are used for all Sound objects. Note that
for GCC "-std=c++11" might need to be added to the CMAKE_CXX_FLAGS.
2013-05-14 21:31:39 +02:00
Bim Overbohm a1353def89 Find proper font path in Windows
Build a font path boost can find. The font should be adjusted to
something that actually resembles DejaVuSerif...
2013-05-14 21:01:08 +02:00
Aloshi 54dfe2f24a Quick fix for Linux 2013-05-13 15:06:18 -05:00
Aloshi ffe573d1d6 Ported to Windows.
Added --windowed for desktop builds.
2013-05-13 14:53:28 -05:00
Aloshi 149c1bcbdd More descriptive names for inputs 2013-04-18 16:44:43 -05:00
Aloshi a119997ec7 Added page up/page down to the Input Config screen.
Updated the README.
2013-04-13 18:10:23 -05:00
Aloshi 608545118a Hopefully fixed infinite recursion. 2013-04-13 17:30:57 -05:00
Aloshi 4a05288e71 Started fix for infinite recursion in directory trees. 2013-04-13 16:33:18 -05:00
Aloshi 1e2cc1eb0a Moved an Error to a Warning. 2013-04-13 13:52:32 -05:00
Aloshi c6a7f8abf9 Fixed InputManager's handling of controllers with duplicate names.
Added emergency keyboard config if no players can be loaded.
Switched some console output to log output.
2013-04-13 13:19:06 -05:00
Aloshi 1007821ca3 Add device name to input config files.
Properly init/deinit renderer stuff in Renderer_init_rpi.cpp. Probably.
2013-04-11 21:59:19 -05:00
Aloshi a5f4749d5d Added InputConfig saving/loading. 2013-04-11 17:27:27 -05:00
Aloshi 14a05d4943 Init/deinit theme-declared fonts. 2013-04-11 16:33:12 -05:00
Aloshi b01f2705de More work on reinitialization. Fonts still not working. 2013-04-10 12:29:07 -05:00
Aloshi 05c258f515 Functionality seems to have been restored at last. 2013-04-09 13:13:47 -05:00
Aloshi 4747d70e1f More work. 2013-04-08 12:40:15 -05:00
Aloshi 04841ca436 More work.
I really am nuts.
2013-04-08 11:52:40 -05:00
Aloshi 4a35c34dc0 Began refactoring away the GuiComponent system in favor of ES-config's Gui system.
Man, I'm nuts.
2013-04-08 09:41:25 -05:00
Aloshi 3e6adf7be4 Backported InputConfig. 2013-04-08 09:28:28 -05:00
Aloshi 47dfe5d5fb Quick fix for the joystick event state with GuiInputConfig. 2013-03-28 21:57:01 -05:00
Aloshi e088fb9c35 Hopefully fixed issue #57. 2013-03-28 21:55:29 -05:00
Aloshi dc50170370 Hopefully fixed waking up from sleep with axes. 2013-03-25 08:16:54 -05:00
Aloshi 0d7ac5a10a Added sleep mode/dimming. Use --dimtime [seconds] to change behavior. Default is 30, use 0 for never. 2013-03-19 09:29:44 -05:00
Aloshi 34c3d607b5 Added fast select font tag. 2013-03-17 12:16:40 -05:00
Aloshi f336eece75 Added "Reload" menu option.
As usual, it's undertested, please report any problems.
2013-01-26 11:47:43 -06:00
Aloshi 9a27a868bb Fixed selected text color changes only applying to centered lists. 2013-01-08 23:01:52 -06:00
Aloshi 016df5864f Fixed game list rendering one entry short. 2013-01-08 11:34:17 -06:00
Aloshi 3d17f30f5b Changed OpenGL min texture filter to Linear for GuiImage. 2013-01-08 11:19:38 -06:00
Aloshi 8fc2b8377a Made the list selected color have no effect if zero. 2013-01-08 09:23:28 -06:00
Aloshi 9da01403a0 Fixed crash when the ~/.emulationstation folder does not exist. 2013-01-07 20:24:59 -06:00
Aloshi e59c430b89 Added <basicTheme> support. 2013-01-06 14:33:50 -06:00
Aloshi 2efca58869 Added a logging system to ES.
You should no longer see non-error output with ES except for "cleanly shutting down".
The new log file is located in ~/.emulationstation/es_log.txt.
If you notice any performance degredation, please tell me!
2013-01-04 17:31:51 -06:00
Aloshi cadc9a9ec6 Added Gentoo's directory for DejaVu Serif, /usr/share/fonts/dejavu/DejaVuSerif.ttf, to the list of fonts to try. 2012-12-30 10:40:07 -06:00
Aloshi d0cea1b8e7 Added --debug switch.
You no longer need a keyboard to save input configuration; that was stupid anyway. You should be able to set up ES without a keyboard now!
2012-12-20 12:29:05 -06:00
Aloshi af36932f30 Added --no-exit switch.
This switch will keep ES from displaying the "Exit" option in the menu.
2012-12-18 09:20:13 -06:00
Aloshi 529c3a24c7 Updated README.md/THEMES.md for twolife's changes.
DESCNAME is a new, optional tag.
You can now use ~/.emulationstation/SYSTEMNAME/ for theme and gamelist files!
2012-12-18 09:08:25 -06:00
Sébastien NOEL 3da7a0dd14 Add a new directory for gamelist.xml & theme.xml for each system 2012-12-17 20:29:43 +01:00
Aloshi 12a0843045 Added %BASENAME% tag. 2012-12-14 14:42:11 -06:00
Aloshi 3acbd0af9c Fixed a crash when opening the start menu.
Fixed PAGEDOWN/PAGEUP not appearing in the input config GUI.
Fixed PAGEDOWN/PAGEUP not properly updating detail data.
2012-12-08 12:55:54 -06:00
Aloshi 8a3eefcffc Merge pull request #34 from invisiblek/master
Add left and right brackets as PAGEUP and PAGEDOWN keys
2012-11-30 20:56:40 -08:00
invisiblek 667f5424cb Add left and right brackets as PAGEUP and PAGEDOWN keys
Some devices, such as an IPAC are hard to program for PGUP and PGDOWN.
This makes it much easier and they are two keys that usually won't get
used for anything.
2012-11-30 21:06:06 -06:00
Aloshi 807c4b2f5b Added Arch Linux's path for the Deja Vu Seriff font to the list of default fonts. 2012-11-19 19:57:34 -06:00
Aloshi 989ba9a8f9 Heavily refactored how theming data is accessed. 2012-11-17 12:39:49 -06:00
Aloshi 6e31f17c3b Fixed the default game image size to properly fit within the info column. 2012-11-17 11:29:20 -06:00
Aloshi 4bbec51a6f Added Exit command to the menu. 2012-11-14 09:07:09 -06:00
Aloshi 38bbbb3fb7 Moved PAGEUP/PAGEDOWN configuration to the end of the enums to preserve backwards compatibility with older es_input.cfgs. 2012-11-12 09:27:07 -06:00
Aloshi ae4498f5f4 Merge branch 'master' of https://github.com/Aloshi/EmulationStation 2012-11-12 09:21:57 -06:00
Aloshi 3e522998ce Removed LinLibertine font, instead opting for a system default. 2012-11-12 09:21:35 -06:00
invisiblek 8cf16af40b Add support for PAGEUP and PAGEDOWN
Also add functions to move 10 lines on these keystrokes
2012-11-12 02:06:33 +00:00
Aloshi fe030fb6c7 Added custom font support.
Check out THEMES.md for more information.
2012-10-31 09:46:06 -05:00
Aloshi 3ebb819a7c Fixed up some things that were causing compiler warnings. 2012-10-28 18:07:05 -05:00
Aloshi 35d8afc174 Hopefully fixed the black screen bug with certain emulators. 2012-10-26 15:28:15 -05:00
Aloshi bd41892cfd Fixed a crash bug related to sounds.
unloadFonts() is no longer called during re-initialization.
2012-10-25 18:23:26 -05:00
Aloshi 5b0166d294 Fixed an issue with skipping joystick input.
Fixed the selected text color in the restart/shutdown menu.
Updated README.md.
2012-10-25 13:03:35 -05:00
Aloshi 77e14423b9 Added the gameImageNotFound tag. See THEMES.md for details. 2012-10-25 12:36:30 -05:00
Aloshi aa6506aec1 Began paving the way for custom font support.
Font sizes might be a little different than they were before - sorry about that!
2012-10-24 10:28:37 -05:00
Aloshi 8b242a0532 Fixed listSelectorColor's alpha not working properly. 2012-10-17 13:32:01 -05:00
Aloshi 8b1e061929 Reworked opacity to be stored in that wasted color byte. 2012-10-17 13:21:56 -05:00
Aloshi 358658a36d Initial GuiAnimation added. 2012-10-17 12:15:58 -05:00
Aloshi c2b970f2cf Fixed game list continuing to scroll after you open a menu or start a game. 2012-10-14 12:49:57 -05:00
Aloshi 03995a66bb Fixed theming for game image dimensions. 2012-10-13 18:51:35 -05:00
Aloshi 8120fcb54d The game list can no longer be left-aligned unless the detailed view is active. 2012-10-13 18:40:44 -05:00
Aloshi 61c9b10abd New game image theming tags! See THEMES.md for details.
Also, some minor fixes all around (game descriptions no longer appear while scrolling, woo!).
2012-10-13 18:37:51 -05:00
Aloshi 65701c58c1 Added some more menu sound theming tags.
Menu scroll sound now also applies to the fast select menu.
2012-10-13 15:05:43 -05:00
Aloshi 7f50376fd0 Added SDL_INIT_AUDIO flag to SDL initialization. 2012-10-13 13:35:13 -05:00
Aloshi ea1a3117a5 Added menu sounds. See THENMES.md for more details. 2012-10-13 13:29:53 -05:00
Aloshi 20aa6d2a6e Updated THEMES.md to reflect tiling changes. 2012-10-10 10:26:14 -05:00
Aloshi 640c3b52bc Redid tiling!
Now faster (always uses 6 verticies thanks to wrapped textures) and precise (properly cuts off).
2012-10-10 10:21:03 -05:00
Aloshi b6264f4858 Fixed GuiBox/GuiFastSelect render order. 2012-10-10 08:56:34 -05:00
Aloshi b6afbd8c09 Fixed GuiBox's background being positioned wrong. 2012-10-10 08:54:39 -05:00
Aloshi 6de46003d9 Added theming tag for the Fast Select box's text color. 2012-10-10 08:51:48 -05:00
Aloshi 9b3589a22f Added theme tags for the Fast Select GuiBox.
See THEMES.md for more detail.
2012-10-07 17:59:20 -05:00
Aloshi 57461ba676 More progress with GuiBox. 2012-10-07 17:25:51 -05:00
Aloshi 41f164e53b Further work on GuiBox. 2012-10-07 16:56:33 -05:00
Aloshi 62336ab2fb Fixed a long-standing bug with detailed GuiGameList detection after mapping input. 2012-10-05 15:18:36 -05:00
Aloshi aea93748d5 Began working on GuiBox for theming of boxes (a revolutionary concept). 2012-10-05 15:04:12 -05:00
Aloshi a3c128f4ce GuiFastSelect is working.
Should be able to map a joystick input to Fast Select too, but untested.
2012-10-05 08:44:18 -05:00
Aloshi 31aebf3a7d Added <listSelectedColor> tag.
Began implementing GuiFastSelect. You can see what's currently in place by holding F2 and pressing up/down.
Hopefully fixed nearest neighbor filters with GuiImage.
2012-09-30 22:29:55 -05:00
Aloshi e08391080b SDL is now fully shut down with the RPi renderer. 2012-09-29 13:14:31 -05:00
Aloshi 7e6498df60 Fixed a crash bug with launch commands missing %ROM%.
Added relative path operator (".") support for gamelist.xml, in both game paths and image paths.
2012-09-23 16:01:56 -05:00
Aloshi 0468e64396 Fixed a bug with skipping over unicode characters. 2012-09-16 14:18:11 -05:00
Aloshi 9901a07fb6 Added some new theming tags.
See changelog.txt (September 15) for more details.
2012-09-15 16:24:33 -05:00
Aloshi f87b6c48d7 Added joystick identification support for those who have multiple joysticks.
If you'd like to use this, please remove ~/.emulationstation/es_input.cfg and reconfigure.
2012-09-14 13:22:01 -05:00
Aloshi 7795dd729d Added missing new files to the repo. 2012-09-10 13:48:00 -05:00
Aloshi e17499c9b3 Fixed multiple file extensions breaking stuff.
Added Makefile.x86 for building on a desktop (use SDL to acquire an OpenGL rendering context).
2012-09-10 13:10:59 -05:00
Aloshi 5786ecae7c Added support for lists of file extensions, delimited by a space. 2012-09-08 13:17:36 -05:00
Aloshi e479746bcb Fixed --help command doing terrible things. 2012-09-07 16:53:27 -05:00
Aloshi 80740a2bd0 Fixed tiling being super slow.
See changelog.txt (September 7) for a list of everything.
2012-09-07 16:44:07 -05:00
Aloshi cac43474aa Fixed reinitialization problems with the renderer. 2012-09-04 11:45:16 -05:00
Aloshi 07d8046a3e Images are almost fully reimplemented.
Font sizing is pretty much fixed.
Just need to re-initialize textures with the renderer.
2012-08-29 16:52:25 -05:00
Aloshi cdb63c4a4f Image loading working.
Still doesn't resize, tile, or render with alpha (though it loads it).
2012-08-29 14:22:05 -05:00
Aloshi 0314a14849 New renderer starting to work.
Image loading still not working and font sizing is still off. Resolution is hardcoded.
2012-08-29 13:53:53 -05:00
Aloshi bff542f076 Menu is now gray instead of pink. 2012-08-16 10:26:36 -05:00
Aloshi 67e657391a Fixed positioning on game images with the new 50/50 split.
Game images and descriptions are no longer displayed while scrolling - this should provide a better framerate for nicer scrolling.
2012-08-16 10:23:23 -05:00
Aloshi 7b1c4374ae Hopefully fixed hex colors being backwards, though in a pretty hacky way. 2012-08-15 06:05:34 -05:00
Aloshi 7b97a464c3 Hopefully fixed <origin> tag. In particular, it's now a float instead of an int (as it should've been!). 2012-08-15 01:18:06 -05:00
Aloshi e42568bc55 Removed framerate display. 2012-08-13 20:42:19 -05:00
Aloshi 114f0cf915 Fixed game description wrap length not using GuiGameList::sInfoWidth. 2012-08-13 20:34:23 -05:00
Aloshi 06dd1a9f60 Bug fixes and a few minor requested changes.
See changelog.txt (August 13, part 2) for specifics.
2012-08-13 20:27:39 -05:00
root d842d67557 Tons of new theming features!
Check out THEMES.md for more info.
2012-08-13 13:32:53 -05:00
Aloshi c7349cd99a Themes can now be used without the detailed GuiGameList.
If a theme.xml is not found in a system's directory, ES will now check for $HOME/.emulationstation/es_theme.xml. If present, it will load that.
Fixed GuiGameList image data not updating on system change/initial startup. (finally!)
2012-08-12 09:43:09 -05:00
Aloshi 878b384b02 Themes now load from system directories.
~ and . are now expanded in theme image paths.
Theme percentages should now work properly.
See changelog (August 10) for more.
2012-08-11 15:54:21 -05:00
Aloshi 2bd9c51447 Added check to make sure file names aren't empty. 2012-08-10 20:29:51 -05:00
Aloshi 5ae029cd89 Added initial theme support. More work on this to come.
Sped up image rendering a bit.
Added a framerate display - uncomment the #define DRAWFRAMERATE line in GuiGameList.cpp to see it.
2012-08-10 14:28:34 -05:00
Aloshi 2a0c338cdf Removed multithreaded image loader. 2012-08-09 21:17:48 -05:00
Aloshi 9c86241cf8 Simple resizing for GuiImages using SDL_gfx.
Added multithreaded image loading for the GuiImage class.
2012-08-09 16:19:07 -05:00
Aloshi 6cfe83e8fe Better gamelist.xml support. See changelog.txt (August 7) for more details. 2012-08-07 19:50:45 -05:00
root 284a7a5dc6 Sorted list after gamelist.xml is parsed. Added restart to GuiMenu. 2012-08-04 16:38:37 -05:00
Aloshi cd4ebeafa2 Finally made GuiList a template. 2012-08-01 23:50:18 -05:00
Aloshi eaf7df7ad5 Moved configuration files to $HOME/.emulationstation/
Folders should now be sorted alphabetically.
Will now fall back to a system font if LinLibertine.ttf is not found.
Added a Menu button.
Began working on a simple menu.
2012-08-01 23:03:15 -05:00
Aloshi b56094fe3d If LinLibertine.ttf can't be found, fall back to a system font. 2012-08-01 21:37:07 -05:00
Aloshi 4f99dec7c2 Font size is now dependent on resolution width.
Scrolling will now occur if the input is held (not just keyboards anymore!).
Initial XML gamelist support. If a file named gamelist.xml is present in the directory ES is run from, it will be parsed and the detailed GuiGameList will be used. Games are matched by absolute path, and a name, description, and image path can be read.
PugiXML is used for parsing XML files - its license can be found in src/pugiXML/pugiXML_license.txt.
SDL_image is used for loading screenshots with the detailed GuiGameList.
Almost all invalid bash characters should be escaped in ROM paths now - including !$^&*()[]<>?;'"\.
2012-08-01 20:43:55 -05:00
Aloshi fbfa0d436c Resolution now uses whatever the system was before.
A custom resolution can be used with the -w and -h switches.
For the old resolution, use "emulationstation -w 1024 -h 768".
2012-07-27 17:35:45 -05:00
Aloshi d736aba22c Now with folders! Folders will appear as a green entry in the games list. BUTTON2 can be used to 'go back.' If you're updating, you'll need to delete ~/.es_input.cfg to map BUTTON2. 2012-07-27 11:58:27 -05:00
Aloshi 77f82134bb Updated the README, and removed a hat debug message. 2012-07-23 21:15:09 -05:00
Aloshi 3b44f51a9b Fixed hats. 2012-07-23 21:10:05 -05:00
Aloshi b2d59d93e3 Added error if $HOME/.es_systems.cfg exists, but contains no systems. 2012-07-23 18:57:07 -05:00
Aloshi 6c5edd3284 Lots of cleaning up to improve user friendliness. Config files are now loaded from the $HOME variable - es_systems.cfg and es_input.cfg.
An example system config file will be created at runtime if one does not exist.
2012-07-23 18:53:33 -05:00