Commit graph

4833 commits

Author SHA1 Message Date
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 3a6f2e8e35 Remove ComponentContainer from CMakeLists. 2013-06-02 17:44: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 961fccc3f3 Updates to README.md
Somewhat better build instructions, links to Windows dependencies.
2013-05-27 15:23:25 -05:00
Aloshi 582914b4ec Putting all our eggs in the CMake basket. 2013-05-27 14:26:30 -05: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 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 30f5bf0dcf Update README
Update libraries and mention CMake and volume keys
2013-05-23 11:44:51 +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 50af655fe9 Check for GCC 4.7 or above
To prevent compilation errors beforehand.
2013-05-22 19:15:44 +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 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