summaryrefslogtreecommitdiff
path: root/apps/plugins/sdl (follow)
Commit message (Collapse)AuthorAge
* tmp on quakequake5Franklin Wei2019-07-29
| | | | Change-Id: Id8bc9e5e47cad5c620f5273fc39348eb19e8e5d8
* sdl: gut OS/2, win32 code from SDL.cFranklin Wei2019-07-28
| | | | | | This should help with compiling win32 simulators. Change-Id: Icfbf78f7d0a8b0ddebffa8daac3adf55ac21f139
* quake: add README with some notesFranklin Wei2019-07-28
| | | | Change-Id: I702e81f8715b505d4ed6d0eca861e3ddb680038d
* sdl: gut non-Rockbox platform detection codeFranklin Wei2019-07-28
| | | | | | | This should prevent false positives when simulators for other systems (e.g. win32). Change-Id: Ib14a277fbfeb1b0ae141ebc4591d80a2cc0f526d
* quake: cache files in memory to eliminate skipsFranklin Wei2019-07-27
| | | | | | | This caches large files (arbitrarily defined as >1MB) in memory, which reduces the delay when a new model or sound is needed. Change-Id: I0f96449555a32f05d771fe900c10eaf21ecbb4f6
* sdl: fix video regression introduced by 5d05b9dFranklin Wei2019-07-25
| | | | | | | | The quake commit tried to optimize lcd updates but inadvertently broke wolf3d (which always uses a 320x200 screen size). This fixes that and also lets direct mode truly exit early to hopefully save some cycles. Change-Id: I41d96cd584257fe25e791c7f615812849f348e4f
* quake: fix errorneous endian-correcting readsFranklin Wei2019-07-24
| | | | | | | | ef9ee89 introduced Read{Big,Little}{Short,Long,Float} functions to safely read a value in memory. These incorrectly take char*, which causes them to output erroneous 0xff bytes when given bytes with bit 7 set. Change-Id: I9531172301aecfdacae405d2f782f662608ce6df
* quake: fix unaligned accesses in model.cFranklin Wei2019-07-21
| | | | | | Allows playing registered episodes. Change-Id: I20e1ca2000776a19767a9c3caef790d4f62ca188
* quake: pack structs which could potentially be unalignedFranklin Wei2019-07-21
| | | | | | | | The d*_t structs are from "d"isk, which means they could be unaligned. Packing them saves me from having to rewrite every single access to them. Change-Id: I6d5a9525fff368bf29bdb85cf1672fce02ce3396
* quake: enable building Quake2Franklin Wei2019-07-21
| | | | Change-Id: I67f8f7c6e7e337806751057d1c9ebdae16c54119
* Quake!Franklin Wei2019-07-19
| | | | | | | | | | | | | | | | | | This ports id Software's Quake to run on the SDL plugin runtime. The source code originated from id under the GPLv2 license. I used https://github.com/ahefner/sdlquake as the base of my port. Performance is, unsurprisingly, not on par with what you're probably used to on PC. I average about 10FPS on ipod6g, but it's still playable. Sound works well enough, but in-game music is not supported. I've written ARM assembly routines for the inner sound loop. Make sure you turn the "brightness" all the way down, or colors will look funky. To run, extract Quake's data files to /.rockbox/quake. Have fun! Change-Id: I4285036e967d7f0722802d43cf2096c808ca5799
* wolf3d: allow entering in-game jukebox by holding fire buttonFranklin Wei2019-07-12
| | | | Change-Id: I8936178191e682b70c64ef6ae04d6636e5cf3521
* wolf3d: increase default viewport sizeFranklin Wei2019-07-10
| | | | | | Makes things a little bigger by default (but not maximized). Change-Id: I9e4ae725e22458f1e5140a560ff242159ef582d7
* wolf3d: write configs to /.rockbox/wolf3d instead of /.wolf4sdlFranklin Wei2019-07-10
| | | | | | Let's keep things neat. Change-Id: I995b2c4949d3adbbd7ea4ef361f0712aa222612e
* wolf3d: fix FM OPL alignment bug in a cleaner wayFranklin Wei2019-07-09
| | | | | | | | wl_def.h has a #pragma pack(1), which causes issues when we take the address of an unaligned struct field. This fixes the issue by disabling packing in fmopl_gpl.c. Change-Id: I526880fa73226e8028855896f7efc3a66571b3ec
* sdl: fix buildFranklin Wei2019-07-09
| | | | | | -T flag is program-specific. Change-Id: I730a9c19be43e79c7ff4e6d4fb5b8f498f08515e
* wolf3d: add missing SOURCES.wolfFranklin Wei2019-07-09
| | | | | | I'm dumb... Change-Id: I5e8ebcf3d7e739c1cd50509b15fe585819ba7fb9
* Wolfenstein 3-D!Franklin Wei2019-07-09
| | | | | | | | | | | | | | | | | | | This is a port of Wolf4SDL, which is derived from the original id software source release. The port runs on top of the SDL plugin runtime and is loaded as an overlay. Licensing of the game code is not an issue, as discussed below (essentially, the Debian project treats Wolf4SDL as GPLv2, with an email from John Carmack backing it up): http://forums.rockbox.org/index.php?topic=52872 Included is a copy of MAME's Yamaha OPL sound chip emulator (fmopl_gpl.c). This file was not part of the original Wolf4SDL source (which includes a non-GPL'd version), but was rather rebased from from a later MAME source which had been relicensed to GPLv2. Change-Id: I64c2ba035e0be7e2f49252f40640641416613439
* sdl: silence audio driver debug outputFranklin Wei2019-07-09
| | | | Change-Id: I7aae3419f56f9cf952d9383f2a6cf9e9950e9a6d
* sdl: a couple minor fixesFranklin Wei2019-07-09
| | | | | | | Prevents system SDL from interfering with thread driver selection. Also adds test code for alignment faults. Change-Id: I8bc181922c4a9e764429897dbbaa1ffaabd01126
* sdl: add pointer to wiki for docsFranklin Wei2019-06-16
| | | | Change-Id: I6e87658351f32d3c40d9ca2b635ae2f654fdd3aa
* sdl: prevent simulator build from using pthreadsFranklin Wei2019-06-16
| | | | | | | | The simulator build will pull in the host SDL headers, which we can't filter out easily. A simple workaround is to simply remove the pthread include from our SDL. Change-Id: I09de0f2e85b891aa88958e21426ab450af516e76
* sdl: remove non-rockbox driversFranklin Wei2018-03-12
| | | | | | | We never use any of these other drivers, so having them around just takes up space. Change-Id: Iced812162df1fef3fd55522b7e700acb6c3bcd41
* sdl: clean up audio driverFranklin Wei2018-01-15
| | | | | | | | This prevents a (highly improbable) race condition when exiting, and uses pcm_set_frequency() instead of mixer_set_frequency(), since that seems like the Right Thing to Do (TM). Change-Id: Icb6a4597843215f08b3835490ac63f67c9a04736
* duke3d: bump audio sample rate to 22.1KHzFranklin Wei2018-01-15
| | | | | | Recent optimizations to sound mixing should allow this, up from 16KHz. Change-Id: I0ba5742c934118a3a6505b8dc58578b0cfe8ea77
* duke3d: further optimize audio mixingFranklin Wei2018-01-15
| | | | | | | | | Rather than holding intermediate results as fixed-point, this converts them directly to normal integers (in the range of the PCM sample) while mixing, instead of waiting till the end to perform a separate shifting step. Also, this precalculates some constants in the reverb code. Change-Id: Ie04e444d145bc28ce67eef9ae0ead6d328acf28a
* sdl: correct misleading commentsFranklin Wei2018-01-14
| | | | Change-Id: Ieb33d3fec1e0d834c5e294b79f280959497acb6a
* Use sleep(0) instead of yield() in SDL_WaitAudioMichael Sevakis2018-01-14
| | | | | | | | | This allows CPU load to drop below 100%, which is good for anything that scales frequency and voltage based on CPU load. Also conserves some energy by letting the core go idle if there aren't any available buffers. Change-Id: I9385ac9e030f97010b12eb825875a900463ab0ac
* sdl: fix freeze on startup on PP targetsFranklin Wei2018-01-11
| | | | | | | | | Using the coprocessor was a good idea in theory, but didn't actually work. This moves all SDL threads to the main core, which isn't ideal, but at least works. Additionally, this also adds some good-practice stuff such as setting the default sample rate on exit. Change-Id: If1636b33d439000ec7c4e50f46e8d002708d3121
* duke3d: unregister timer on exitFranklin Wei2018-01-05
| | | | | | This was leading to a crash upon audio playback after running the game. Change-Id: I1e9961da443c21e3eff38bcf9877ffa75a922715
* duke3d: rewrite sound mixing to use fixed-pointFranklin Wei2017-12-26
| | | | | | Gives significant performance improvement on ipod6g. Change-Id: I1e8462bec197acb10e770c796240b5001df52440
* duke3d: use hardware FPU if availableFranklin Wei2017-12-26
| | | | Change-Id: Idd9fad7bc0604a553c282a0f8c663ad44030ecac
* fix red once moreFranklin Wei2017-12-24
| | | | Change-Id: I6290cc6cca468c197656236d3dd31c3f72c53842
* attempt to fix sysfont.h errorsFranklin Wei2017-12-24
| | | | Change-Id: Icc67dc777d3a2269ececbf4fbe34d78d7bd34087
* fix redFranklin Wei2017-12-24
| | | | Change-Id: Ib28cfd9037901c7b8bc9b2960ad2c1c9a1e25a69
* fix redFranklin Wei2017-12-23
| | | | Change-Id: I20f1bd6f0208f6108d68fb59206b09dd9da4f1af
* Port of Duke Nukem 3DFranklin Wei2017-12-23
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL for Rockbox. Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9