Commit graph

313 commits

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