pokeplatinum/include/touch_pad.h
Morglom 5081c977d5
Some checks failed
build / build (push) Has been cancelled
Document Touch Pad Functionality in unk_0201E3D8 (#493)
* Setup some defines

* Auto Sampling Buffer

* Auto Sampling Buffer Frequency

* Start Auto Sampling

* Stop Auto Sampling

* Inline calc ints difference

* Clear touch on buffer data.

* Touch Screen Disabled

* SetTouchScreenBuffer

* Set Touch Screen Buffer Frequency

* Buffer

* Touch Screen State

* output auto sample buffer

* Enable Touch Screen

* Disable Touch Screen

* Disable Touch Screen Definition

* Auto Sampling State

* Fix

* Small changes.

* Rename Touch Screen Setup

* Minor changes.

* Calibrate Touch Pad Data

* Rename

* Rename

* Touch Pad Data Buffer

* Rename touch pad data buffer header

* Rename

* Progress on deciphering

* More Progress

* Naming changes.

* More renaming

* Even more renaming

* Another rename

* Rename parameters

* Rename enable and disable functions

* Touch Pad Data Buffer Transfer Method

* Rename to be more accurate

* More renames

* Some final changes

* Rename files.

* Fix Formatting

* Fix Formatting

* Delete touch_pad_buffer.h

* Push request changes.

* Polish.

* Remove accidental include.
2025-05-01 13:58:55 -07:00

29 lines
1.1 KiB
C

#ifndef POKEPLATINUM_TOUCH_PAD_H
#define POKEPLATINUM_TOUCH_PAD_H
#include <nitro.h>
typedef struct TouchPadDataBuffer {
u16 bufferSize;
TPData buffer[8];
} TouchPadDataBuffer;
enum TouchPadExternalBufferWriteMethod {
TOUCH_PAD_EXTERNAL_BUFFER_WRITE_METHOD_ONLY_TOUCHES_WITH_WRAPPING = 1,
TOUCH_PAD_EXTERNAL_BUFFER_WRITE_METHOD_NO_WRITE,
TOUCH_PAD_EXTERNAL_BUFFER_WRITE_METHOD_ONLY_TOUCHES_WITHOUT_WRAPPING,
TOUCH_PAD_EXTERNAL_BUFFER_WRITE_METHOD_ALL_DATA_WITHOUT_WRAPPING,
TOUCH_PAD_EXTERNAL_BUFFER_WRITE_METHOD_ALL_DATA_WITH_WRAPPING,
};
void EnableTouchPad(void);
BOOL InitializeTouchPadWithExternalBuffer(TPData *externalBuffer, u32 externalBufferSize, u32 autoSamplingFrequency);
BOOL InitializeTouchPad(u32 autoSamplingFrequency);
u32 DisableTouchPad(void);
u32 WriteAutoSamplingDataToBuffer(TouchPadDataBuffer *outBuffer, enum TouchPadExternalBufferWriteMethod externalBufferWriteMethod, u32 changeThreshold);
void ConvertTouchPadDataToScreenSpace(TPData *touchPadDataBuffer, u32 touchPadDataBufferSize);
void AfterSleep(void);
void BeforeSleep(void);
#endif // POKEPLATINUM_TOUCH_PAD_H