Commit graph

250 commits

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