This project is mirrored from https://github.com/libretro/libretro-lutro.git.
Pull mirroring updated .
- 19 Apr, 2021 3 commits
-
-
Jake Stine authored
I didn't use the unit test framework for two reasons - one, I can't get it to work due to some lua include/require dir problems (could be windows-specific issue), and two, most of the "unit test framework" of luaunit is not useful for the purpose of testing the problems that usually need testing in multimedia applications. I set this up as a SUCCESS/FAILURE thing at the moment for example, but often these things are better built as a fuzzy "just report # of voices and dump voice info" procedure, which is checked against log output that is verified as what we expect. And then, if a new log != expected log output, generate some error report for devs to look at. (and, by chance, many such "failures" are harmless or intentional, and verify new log as expected results and move on, etc).
-
Jake Stine authored
* Added new build types: Debug, Tool, and Player. Debug is -O0 compiled with all assertions enabled. Tool is -O1 compiled with debug assertions disabled entirely. Player is -O3 compiled with tool assertions disabled, and all ignorable assertions demoted to log-only. Implementation of ignorable asserts is still partial, but as it stands this change is OK to go live (can add features later). On the todo list: - add popup to allow content creator to ignore the assert - add lua stacktrace information when lua context seems relevant * GHActions updated to be aware of new player and tool build configs * makefile: allow changing config from CLI without having to make clean Also force rebuild of vcxproj target since dep checking is currently insufficient. it should be checking dirs of all globbed source file includes for modifications, but it's not. and this is a really fast step, no point in not running it for now * Added lutro_errorf and lutro_alertf for logging errors and popup alerts, respectively. - Cleans up macros and keeps assertions clearly in the domain of Debug and Tooling builds. - removed play_assert and friends, which were both confusing terminology and not practical in design * audio: remove native pointer dependency on Source We can't store pointers to lua userdata in C. Lua may move the pointers at any time. So instead we must dereference the lua_ref to obtain the pointer at the point it is used, for example while mixing. Fixes a problem where the engine can crash after some amount of time, depending wildly on game behaviors and memory usage. In many cases no crash may ever occur. I have a test locally (still WIP) that verifies this problem/fix.
-
Jake Stine authored
* Added new build types: Debug, Tool, and Player. Debug is -O0 compiled with all assertions enabled. Tool is -O1 compiled with debug assertions disabled entirely. Player is -O3 compiled with tool assertions disabled, and all ignorable assertions demoted to log-only. Implementation of ignorable asserts is still partial, but as it stands this change is OK to go live (can add features later). On the todo list: - add popup to allow content creator to ignore the assert - add lua stacktrace information when lua context seems relevant * GHActions updated to be aware of new player and tool build configs * makefile: allow changing config from CLI without having to make clean Also force rebuild of vcxproj target since dep checking is currently insufficient. it should be checking dirs of all globbed source file includes for modifications, but it's not. and this is a really fast step, no point in not running it for now * Added lutro_errorf and lutro_alertf for logging errors and popup alerts, respectively. - Cleans up macros and keeps assertions clearly in the domain of Debug and Tooling builds. - removed play_assert and friends, which were both confusing terminology and not practical in design * WAV: fix decoding of non-canonical wave headers. In short, we can't assume anything about these pesky subchunks. * printf formatting fixed
-
- 12 Apr, 2021 1 commit
-
-
Jake Stine authored
* Added new build types: Debug, Tool, and Player. Debug is -O0 compiled with all assertions enabled. Tool is -O1 compiled with debug assertions disabled entirely. Player is -O3 compiled with tool assertions disabled, and all ignorable assertions demoted to log-only. Implementation of ignorable asserts is still partial, but as it stands this change is OK to go live (can add features later). On the todo list: - add popup to allow content creator to ignore the assert - add lua stacktrace information when lua context seems relevant * GHActions updated to be aware of new player and tool build configs * makefile: allow changing config from CLI without having to make clean Also force rebuild of vcxproj target since dep checking is currently insufficient. it should be checking dirs of all globbed source file includes for modifications, but it's not. and this is a really fast step, no point in not running it for now * Added lutro_errorf and lutro_alertf for logging errors and popup alerts, respectively. - Cleans up macros and keeps assertions clearly in the domain of Debug and Tooling builds. - removed play_assert and friends, which were both confusing terminology and not practical in design
-
- 11 Apr, 2021 1 commit
-
-
Libretro-Admin authored
fails then the entire build is broken
-
- 10 Apr, 2021 2 commits
- 04 Apr, 2021 1 commit
-
-
Jake Stine authored
This was supposed to get added along with it being added to source:seek, but I forgot. >_<
-
- 30 Mar, 2021 1 commit
-
-
RobLoach authored
-
- 28 Mar, 2021 7 commits
-
-
RobLoach authored
* Replace rpng with stb_image for image loading This is still a work in progres. We need to convert the image format to ensure images display correctly * Flip the bits * Add STBI_NO_THREAD_LOCALS
-
Jake Stine authored
The overhead of fseek internally is unchecked and non-trivial.
-
Jake Stine authored
* msvc: forcedincludes added to fix/workaround MSC specific issues - printf interception allows redirecting printf() into the windows debugger "OutputDebugStringA" function. - forcedincludes allow doing this in a way that does not require any changes to the regular codebase or macro obfuscation for non-windows developers. * vcxproj: add MSC_SOURCES_H to the makefile to improve MSVC IDE search results. * vcxproj: add makefile-generated lutro_sources.props We can use CI steps to guard against errant human-modification of this file in the future, if warranted.
-
RobLoach authored
Cleanup fprintf(stderr) usage, remove a lot of spurious fflush calls
-
RobLoach authored
Fix a few unused variable notices
-
RobLoach authored
Disable PhysFS by default
-
Jake Stine authored
I plan to use a forcedinclude on msvc to fix its bad printf behavior in a way that is non-intrusive for all other platforms.
-
- 27 Mar, 2021 2 commits
- 25 Mar, 2021 2 commits
-
-
Jake Stine authored
The bug would cause the seek position to become out of date form the file position and trigger an assertion. Note that audio playback was correct if the assertion was disabled.
-
RobLoach authored
Add lutro.window.showMessageBox
-
- 23 Mar, 2021 10 commits
-
-
RobLoach authored
-
RobLoach authored
-
RobLoach authored
-
Libretro-Admin authored
-
Libretro-Admin authored
- Two input source files cannot both have the same name (lutro window.c, vorbis window.c) - therefore rename lutro window.c to lutro_window.c - VORBIS_SOURCES_C was not being added to LOCAL_SRC_FILES for Android
-
RobLoach authored
-
Jake Stine authored
* audio: Overhauled. New Mixer, new decoders, and added proper support for soundData as a static source. - avoids cutting sounds before they finish playing - cleans up memory for sources - even closes file handles!! * Rename ogg vorbis decoder functions to decOgg_* to match with decWav_ API * audio: fix WAVE audio corruption at end of sample Main issue is that some RIFF WAV files have additional non-audio chunks at the end of the file, for meta data. We were mixing this into the audio buffer, causing noise.
-
RobLoach authored
-
RobLoach authored
* Add lutro.filesystem.getDirectoryItems * Add more tests
-
Jake Stine authored
* microsoft visual studio projects added, adds 'make vcxproj' to Makefile Steps to build Lutro on Windows using Visual Studio: - make vcxproj (requires MSYS2 or make installed for Git BASH) - load lutro.sln You can do these in either order, but the project will fail to load without running make. Rationale: - Provides access to Visual Studio debugging symbols and MSVC debugger. - (full stop: this alone was worth all this effort for me) * Make all the primary target, and fix vorbis build Co-authored-by:
Rob Loach <robloach@gmail.com>
-
- 10 Mar, 2021 1 commit
-
-
Jean-Andre Santoni authored
* Implement retro_serialize_size * Implement retro_serialize * Implement retro_unserialize * Add example * Prevent writing random memory to the savestate
-
- 07 Mar, 2021 1 commit
-
-
RobLoach authored
-
- 02 Mar, 2021 1 commit
-
-
Jake Stine authored
* audio: temporary workaround for audio crashing - nullify samples on unexpected __gc * audio: Fixed compile error * sound: don't cleanup sndta, only sources in mixer need cleanup on __gc for now.
-
- 01 Mar, 2021 3 commits
-
-
Jake Stine authored
Fixes audio static when mixing ogg vorbis source audio.
-
Jake Stine authored
-
Jake Stine authored
-
- 21 Feb, 2021 4 commits
-
-
Jean-Andre Santoni authored
-
Jean-Andre Santoni authored
-
Jean-Andre Santoni authored
-
Jean-Andre Santoni authored
-