Commit graph

571 commits

Author SHA1 Message Date
Mary
122b1b2727 hle: Add proper type for result code
This should clean up all HLE errorcode in the codebase.

I didn't removed Rust::Result as this should be a cleanup for another
iteration.
2023-06-16 20:09:37 +02:00
Wunkolo
553d23974a Use std::span to pass vertex data
Starts utilizing
[std::span](https://en.cppreference.com/w/cpp/container/span) to
indicate a non-owning view of a contiguous array of elements rather than
`T* data, usize count`.
2023-06-16 07:28:35 -07:00
Wunkolo
fde93381a5 Use std::span for CPU register-state
Following the trend of #33: `std::span` provides some useful utility
functions like `size_bytes()` and `as_bytes()` and serves as a better
non-owning "chunk of data"-type over just passing around an
`std::array&`.
2023-06-16 07:24:37 -07:00
wheremyfoodat
c6f5d19983
Merge pull request #34 from Wunkolo/pica-regs-helpers
Add missing header for regs.hpp
2023-06-16 16:05:07 +03:00
Wunkolo
0199918cd2 Add missing header for regs.hpp
This enum was using the `u32` type without including `helpers.hpp`, causing weird intermediate compiler errors when making incremental builds.
2023-06-16 05:48:33 -07:00
fleroviux
2e85f30c10 [GPU] attempt to emulate the previous TEV color buffer 2023-06-16 01:34:11 +02:00
fleroviux
d153133070 [GPU] fix missing break statements in 'previous' combiner mode implementation 2023-06-16 00:52:00 +02:00
fleroviux
1aa4dea63e [GPU] Add the remaining two TEV units
Looks like I overlooked the fact there actually are fix texture combiners,
not just four. The last two texture combiners are easy to miss, because
there are other GPU registers between the first four combiners and the last two.
2023-06-16 00:41:48 +02:00
fleroviux
e7435e3fdf [GPU] implement TEV combiner chaining and the remaining combine modes 2023-06-16 00:33:42 +02:00
fleroviux
525890bff7 [GPU] Upload configuration for all texture combiners to the shader program
Upload the configuration register values for the remaining texture combiners to the
shader program's uniforms. This is in preparation for emulating those texture combiners next.
2023-06-15 23:27:33 +02:00
fleroviux
e66370598a Fix the formatting which I broke (sorry) 2023-06-15 23:01:16 +02:00
fleroviux
4322ebda2c [GPU] Start texture combiner implementation
This commit first implements experimental and incomplete
texture combiner support. Currently only the first texture combiner
is implemented. Many sources and combine modes are not implemented yet.
2023-06-15 22:45:13 +02:00
wheremyfoodat
f8e89f4db1
Merge pull request #31 from wheremyfoodat/discord-for-real
Add a Discord link that actually links to the discord
2023-06-15 19:42:57 +03:00
wheremyfoodat
d4e2e78556
Fix Discord link 2023-06-15 19:42:20 +03:00
wheremyfoodat
cd77acdd28
Merge pull request #29 from Wunkolo/clang-format
Add `.clang-format`
2023-06-15 12:00:38 +03:00
wheremyfoodat
9095bf4445
Update .clang-format 2023-06-15 11:44:49 +03:00
Wunkolo
dd0831361d Add .clang-format
Use the command `clang-format -i tests/**/*.c src/**/*.cpp include/**/*.hpp`
to process all of the project's files.
Using the one from [pcsx-redux](https://github.com/grumpycoders/pcsx-redux/blob/main/src/.clang-format)
as a basis and then made additional edits to be the _least_ disruptive
to the pre-existing formatting patterns.
2023-06-15 00:37:49 -07:00
wheremyfoodat
2e4ae1328a
Add Discord badge for real 2023-06-15 04:02:44 +03:00
wheremyfoodat
b378287f79
Merge pull request #28 from wheremyfoodat/discord-badge
Add Discord link
2023-06-15 03:56:23 +03:00
wheremyfoodat
e55a4ab04b
Add discord badge in readme 2023-06-15 03:55:33 +03:00
wheremyfoodat
18776702e0 Update images 2023-06-14 22:27:34 +03:00
wheremyfoodat
87ac4d5a0f {GL renderer] Better screen stub 2023-06-14 21:47:17 +03:00
wheremyfoodat
8284c3cda4 Remove printf 2023-06-14 13:49:47 +03:00
wheremyfoodat
1aa59f5e51
Add CI stickers 2023-06-14 12:38:30 +03:00
wheremyfoodat
194b1ce9c2
Merge pull request #25 from wheremyfoodat/Windows-CI
Create Windows_Build.yml
2023-06-14 12:35:56 +03:00
wheremyfoodat
bef2593ed2
Update Windows_Build.yml 2023-06-14 12:13:24 +03:00
wheremyfoodat
fea1bbf3ac
Create Windows_Build.yml 2023-06-14 12:12:39 +03:00
wheremyfoodat
8e90b8a103 [GPU] Bottom screen stub 2023-06-13 22:47:01 +03:00
wheremyfoodat
d32de77671 Update OoT_Title.png 2023-06-13 20:39:09 +03:00
wheremyfoodat
2520b2cb46 [GPU] Disable blend when rendering output texture 2023-06-13 20:38:17 +03:00
wheremyfoodat
4f619086e9 [HID] Add touchscreen 2023-06-13 15:44:55 +03:00
wheremyfoodat
5200c10b27 [Emulator] Handle left click 2023-06-13 15:41:02 +03:00
wheremyfoodat
f9f34d564f
Merge pull request #23 from wheremyfoodat/flush-file
[FS] Actually add FlushFile
2023-06-11 23:38:36 +03:00
wheremyfoodat
0c213900bc
[FS] Actually add FlushFile 2023-06-11 23:24:12 +03:00
wheremyfoodat
64ee82d892
Merge pull request #22 from wheremyfoodat/dont_explode_on_vram
Implement more DSP pipe stuff, stub APT::PreloadLibraryApplet for Picross 3D
2023-06-11 14:43:20 +03:00
wheremyfoodat
378258ed0b [DSP] Fix up warnings/logs 2023-06-11 14:20:13 +03:00
wheremyfoodat
cac409593e
Merge pull request #21 from wheremyfoodat/dont_explode_on_vram
Implement 8-bit VRAM writes
2023-06-11 14:12:00 +03:00
wheremyfoodat
ccd7ef3a23 [DSP] Add other pipes for Picross 3D 2023-06-11 14:11:50 +03:00
wheremyfoodat
cf35491fb1 [APT] Stub APT::PreloadLibraryApplet 2023-06-11 13:28:21 +03:00
wheremyfoodat
cba1ce8fb8 Implement 8-bit VRAM writes 2023-06-11 13:14:35 +03:00
wheremyfoodat
f2b67a2757
Merge pull request #20 from Wunkolo/savedata-create
Implement `SaveDataArchive::createFile`
2023-06-11 12:51:42 +03:00
wheremyfoodat
5fa4e9e178
[SaveData] Handle size == 0 in CreateFile 2023-06-11 12:31:42 +03:00
Wunkolo
8a852d2cab Implement SaveDataArchive::createFile
Based on `ExtSaveDataArchive::createFile`. Gets some games farther that
try to create save-data upon boot.
2023-06-11 01:05:48 -07:00
wheremyfoodat
fd600a59c1
Merge pull request #18 from Wunkolo/bext
Add `Helpers:{getBits,getBit}`
2023-06-10 12:54:31 +03:00
wheremyfoodat
75c41a3841
Merge pull request #16 from Wunkolo/build-instruction-fix
Fix cmake out-of-source build instructions
2023-06-10 10:53:31 +03:00
wheremyfoodat
c8506037fa
Merge pull request #17 from Wunkolo/pragma-none
Remove `#pragma once` from source file
2023-06-10 10:52:54 +03:00
Wunkolo
2c94d0d683 Add Helpers:{getBits,getBit}
`constexpr` functions for extractint bitfields that lends itself a bit
better to emitting instructions like `bextr` on x86 or `ubfx` on arm64.
And may subjectively make things a bit more readable.
"Extract `5` bits" rather than `& 0x1F`.
2023-06-10 00:48:06 -07:00
Wunkolo
2edc9d5fb7 Remove #pragma once from source file 2023-06-09 20:31:25 -07:00
Wunkolo
e0af6969c6 Fix cmake out-of-source build instructions
These directions are incorrectly using `cmake .` when it should be
`cmake ..`.
2023-06-09 20:23:14 -07:00
wheremyfoodat
c7e3343974
Merge pull request #13 from wheremyfoodat/HID
HID service make-over
2023-06-06 18:42:53 +03:00