mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-20 20:49:12 +12:00
Merge branch 'master' into dynapica
This commit is contained in:
commit
3606c005c5
9 changed files with 138 additions and 48 deletions
|
@ -25,6 +25,7 @@ void Kernel::handleFileOperation(u32 messagePointer, Handle file) {
|
|||
const u32 cmd = mem.read32(messagePointer);
|
||||
switch (cmd) {
|
||||
case FileOps::Close: closeFile(messagePointer, file); break;
|
||||
case FileOps::Flush: flushFile(messagePointer, file); break;
|
||||
case FileOps::GetSize: getFileSize(messagePointer, file); break;
|
||||
case FileOps::OpenLinkFile: openLinkFile(messagePointer, file); break;
|
||||
case FileOps::Read: readFile(messagePointer, file); break;
|
||||
|
@ -264,4 +265,4 @@ void Kernel::setFilePriority(u32 messagePointer, Handle fileHandle) {
|
|||
|
||||
mem.write32(messagePointer, IPC::responseHeader(0x080A, 1, 0));
|
||||
mem.write32(messagePointer + 4, Result::Success);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -361,6 +361,7 @@ constexpr u32 bottomScreenBuffer = 0x1f05dc00;
|
|||
|
||||
// Quick hack to display top screen for now
|
||||
void Renderer::display() {
|
||||
OpenGL::disableBlend();
|
||||
OpenGL::disableDepth();
|
||||
OpenGL::disableScissor();
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ void HIDService::reset() {
|
|||
accelerometerEnabled = false;
|
||||
eventsInitialized = false;
|
||||
gyroEnabled = false;
|
||||
touchScreenPressed = false;
|
||||
|
||||
// Deinitialize HID events
|
||||
for (auto& e : events) {
|
||||
|
@ -36,6 +37,7 @@ void HIDService::reset() {
|
|||
// Reset button states
|
||||
newButtons = oldButtons = 0;
|
||||
circlePadX = circlePadY = 0;
|
||||
touchScreenX = touchScreenY = 0;
|
||||
}
|
||||
|
||||
void HIDService::handleSyncRequest(u32 messagePointer) {
|
||||
|
@ -147,7 +149,12 @@ void HIDService::updateInputs(u64 currentTick) {
|
|||
writeSharedMem<u64>(0xA8, currentTick); // Write new tick count
|
||||
}
|
||||
writeSharedMem<u32>(0xB8, nextTouchscreenIndex); // Index last updated by the HID module
|
||||
const size_t touchEntryOffset = 0xC8 + (nextTouchscreenIndex * 8); // Offset in the array of 8 touchscreen entries
|
||||
nextTouchscreenIndex = (nextTouchscreenIndex + 1) % 8; // Move to next entry
|
||||
|
||||
writeSharedMem<u16>(touchEntryOffset, touchScreenX);
|
||||
writeSharedMem<u16>(touchEntryOffset + 2, touchScreenY);
|
||||
writeSharedMem<u8>(touchEntryOffset + 4, touchScreenPressed ? 1 : 0);
|
||||
|
||||
// Next, update accelerometer state
|
||||
if (nextAccelerometerIndex == 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue