Commit Graph

2323 Commits

Author SHA1 Message Date
cde47f56c5 it keeps going 2024-05-19 01:42:44 +02:00
30444036a6 botch one more thing 2024-05-18 11:58:17 +02:00
2fc1ae780b hey look, more shit 2024-05-18 11:45:31 +02:00
10380320c5 more work
aaaaaaaa
2024-05-16 21:20:10 +02:00
d10b5f8b8a more work
feuhqdskfqejlmdsjjjvwdccccccccccccccccccccccccccccccccccc
2024-05-15 01:00:41 +02:00
7e705b6b41 almost looks like something? 2024-05-12 01:24:03 +02:00
3f6af2ce3b backport Nadia's zstd fix 2024-05-12 00:00:51 +02:00
199c2df8bb some more work, nearly done porting ROMManager shit over 2024-05-11 23:59:08 +02:00
b96f1bd734 add more shit to EmuInstance 2024-05-11 10:18:05 +02:00
faa6cfec48 WIP. lay base for EmuInstance. 2024-05-10 12:48:32 +02:00
f93937e88b as a test, convert EmuSettingsDialog to the new config shito 2024-04-18 16:52:18 +02:00
92d1614b45 add array stuff 2024-04-17 23:02:08 +02:00
9283d1ae36 lay some groundwork for the new config system 2024-04-17 18:09:32 +02:00
b0c32d77bd some work on converting melonDS.ini to toml 2024-04-15 00:26:09 +02:00
c6427d2501 switch to toml11 2024-04-14 20:25:11 +02:00
adb5760604 push temp. shito 2024-04-05 23:00:19 +02:00
1abc1e9cff test 2024-02-20 13:31:44 +01:00
6a2039aee1 remove global emuThread from Window.cpp 2024-02-20 13:29:21 +01:00
a7a7ac53c1 also fix this, it bothers me 2024-02-20 12:44:12 +01:00
a6ab27de6b actual non hacky way to share OpenGL contexts 2024-02-20 12:41:47 +01:00
660d830135 oops 2024-02-20 12:31:00 +01:00
5c93ab4271 start work on multiple window support 2024-02-20 12:30:19 +01:00
a8429af131 dont make a save file on launching a game (#1974)
avoids the issue of saves being created for roms that dont use save files.
2024-02-13 20:17:29 +01:00
3415e23105 delete-artifact keeps failing PR CI even when you tell it not to fail on error so I guess we're just not using it. 2024-02-13 20:15:03 +01:00
646ed3cb32 Add Haiku (BeOS-like OS) support (#1858) 2024-02-07 23:15:30 +01:00
5ffa642980 Check for write permissions for some key files (#1972)
* check if an nds save file can be opened for writing

also add the ability to open a file in append mode

* fix multi-instance saves

also move the check for file writability into a separate function (probably uneeded?)

* implement check for gba roms

* move rom load error messages into the functions

also finish gba slot (oops)

* improve error string

* check write perms before saving path settings

* fix memory leak

* check for writability of firmware/nand/sds

* add secondary checks for nand/firmware

* add check for config file being writable

* Return the file write error as a QString to avoid the invalid char*
causing a garbled error message.

Qt wants it as QString either way.
2024-02-07 23:04:36 +01:00
71e1ba8c40 Linux CI updates (#1965)
* Switch to using Qt 6
* Use Ubuntu 22.04 for newer dependency versions
* Combine AppImage and regular x86_64 builds so it doesn't have to build twice
* Misc cleanup
2024-02-07 22:29:13 +01:00
17a1bfa673 macOS CI updates (#1973)
* Use macOS 14 M1-based runners for macOS CI
* Hopefully make the universal build erroring not fail the build (does sometimes with delete-artifact)
* Update vcpkg version
2024-02-07 22:27:04 +01:00
a7575ec7b3 Allow the user to choose the UI theme
Mainly useful for those who want dark mode on Windows.
2024-02-07 20:20:54 +01:00
d48e5f2da0 Fix DSiWare detection (#1969)
- According to GBATek, all DSiWare games have a high title ID of 0x00030004
- Some homebrew apps set the Unitcode bits to DSi mode to enable support of DSi features
2024-02-01 14:36:35 +01:00
7dd4152d67 Add MaxFPS setting 2024-01-26 13:06:32 +01:00
890035c688 readme: fix macOS build badge 2024-01-25 10:21:19 +01:00
4b576d066e Add support for using a portable directory without special build flags. (#1956) 2024-01-24 10:27:25 +01:00
77274735d6 the readme for delete-artifact doesn't have this anymore so maybe it'll
stop failing if I remove it
2024-01-24 09:52:22 +01:00
7897bd387b also add writes while we're at it, we know Gericom's gonna abuse them someday :P 2024-01-17 18:54:48 +01:00
f4c8202b1a add missing 8/16-bit reads to ROMCnt and ROM SPICnt 2024-01-17 18:50:08 +01:00
740305cc25 Don't reset the VRAM cache if saving a state (#1944)
- This fixes a flickering bug in melonDS DS
2024-01-08 15:20:48 +01:00
8143f54956 Protect savestates while the threaded software renderer is running (#1864)
* First crack at ensuring the render thread doesn't touch GPU state while it's being serialized

* Get rid of the semaphore wait

* Add some extra fields into GPU3D's serialization

* Oops, TempVertexBuffer is already serialized

* Move vertex serialization into its own method

* Lock the GPU3D state when rendering on the render thread or serializing it

* Revert "Lock the GPU3D state when rendering on the render thread or serializing it"

This reverts commit 2f49a551c1.

* Add comments that describe the synchronization within GPU3D_Soft

- I need to understand it before I can solve my actual problem
- Now I do

* Revert "Revert "Lock the GPU3D state when rendering on the render thread or serializing it""

This reverts commit 1977566a6d.

* Let's try locking the GPU3D state throughout NDS::RunFrame

- Just to see what happens

* Slim down the lock's scope

* Narrow the lock's scope some more

* Remove the lock entirely

* Try protecting the GPU3D state with just a mutex

- I'll clean this up once I know it works

* Remove a duplicate method definition

* Add a missing `noexcept` specifier

* Remove an unused function

* Cut some non-hardware state from `GPU3D`'s savestate

* Assume that the next frame after loading a savestate won't be identical

* Actually, it _is_ worth it

* Don't serialize the clip matrix

- It's recalculated anyway

* Serialize `RenderPolygonRAM` as an array of indexes

* Clean up some comments

- I liked the dialogue style, but oh well

* Try restarting the render thread instead of using the lock

- Let's see what happens

* Put the lock back

* Fix some polygon and vertex indexes being saved incorrectly

- Taking the difference between two pointers results in the number of elements, not the number of bytes

* Remove `SoftRenderer::StateBusy` since it turns out we don't need it

- The real synchronization was the friends we made along the way
2024-01-07 23:39:43 +01:00
f68f55d002 Reset the JIT when loading savestate (#1937)
The effect of this change is simply to call JitEnableWrite(), which is
necessary on apple silicon
2024-01-03 14:42:08 +01:00
d1cbc41115 Slight fixups with FATStorage (#1934)
* Reload the SD card for `CartSD` and all subclasses

* Make `ROMManager::LoadDLDISDCard` delegate to `GetDLDISDCardArgs`

* Add a method overload for `CartSD::SetSDCard`

* Initialize new SD card images with the correct size

* Sync the old card to the host (if applicable) when move-assigning a new one

* Only sync the old card to the host if it's not read-only

* Remove static state in `FATStorage`

- Replace `FF_ReadStorage` and `FF_WriteStorage` with lambda functions
- Keep open and use the single `File` handle throughout the `FATStorage`'s life
2024-01-03 13:32:17 +01:00
8bfc6df8de TitleManagerDialog: Fix wrong color format 2023-12-31 13:52:58 +01:00
63141c086a guard the default vcpkg directory against multiple CMake instances using it 2023-12-28 19:51:46 +01:00
1cd8c16bbb Disable default-features for host qtbase to speed up cross build times 2023-12-28 15:54:29 +01:00
da26453911 CI stuff (#1935)
Add new macOS CI using vcpkg
2023-12-28 15:03:44 +01:00
a4b2b0c40d Resolve or silence some warnings (#1905)
* Resolve some warnings

- Their frequent appearance in the build logs is driving me nuts

* Silence warnings about `offsetof`

* Don't apply `-Wno-invalid-offset` to C, only to C++
2023-12-28 14:54:31 +01:00
6d0de509c4 Merge branch 'master' of github.com:melonDS-emu/melonDS 2023-12-28 14:40:41 +01:00
345b7439e4 integrate OSD into ScreenPanel and make it nicer 2023-12-28 14:40:37 +01:00
5439742578 Add basic CMake presets file
I'll probably use this for CI, but regardless it's nice to have to make
it easier for users to build melonDS.
2023-12-28 09:25:05 +01:00
fa835ecf68 blarg 2023-12-27 21:29:25 +01:00
5a08118c87 sfjsh 2023-12-27 21:28:03 +01:00