Commit graph

369 commits

Author SHA1 Message Date
Aloshi a6dbaa2dea Moved Font.h/.cpp to the "resources" directory (since it's a Reloadable). 2013-10-04 18:24:41 -05:00
Aloshi b510aa8cd4 Moved ResourceManager to be a singleton.
The character count of the average Font::get decreased by 310%...
2013-10-04 18:10:39 -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 e7135d869c Updated README.md and --help command. 2013-09-30 14:34:22 -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 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