mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-03 18:06:02 -04:00
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
|
|
|
#include "JSystem/JAudio2/JASTrackPort.h"
|
|
|
|
void JASTrackPort::init() {
|
|
for (int i = 0; i < MAX_PORTS; i++) {
|
|
mPortValues[i] = 0;
|
|
}
|
|
field_0x0 = 0;
|
|
field_0x2 = 0;
|
|
}
|
|
|
|
u16 JASTrackPort::readImport(u32 port_num) {
|
|
JUT_ASSERT(27, port_num < MAX_PORTS);
|
|
field_0x0 = field_0x0 & ~(1 << port_num);
|
|
return mPortValues[port_num];
|
|
}
|
|
|
|
u16 JASTrackPort::readExport(u32 port_num) {
|
|
JUT_ASSERT(34, port_num < MAX_PORTS);
|
|
field_0x2 = field_0x2 & ~(1 << port_num);
|
|
return mPortValues[port_num];
|
|
}
|
|
|
|
void JASTrackPort::writeImport(u32 port_num, u16 param_1) {
|
|
JUT_ASSERT(41, port_num < MAX_PORTS);
|
|
field_0x0 = field_0x0 | (1 << port_num);
|
|
mPortValues[port_num] = param_1;
|
|
}
|
|
|
|
void JASTrackPort::writeExport(u32 port_num, u16 param_1) {
|
|
JUT_ASSERT(47, port_num < MAX_PORTS);
|
|
field_0x2 = field_0x2 | (1 << port_num);
|
|
mPortValues[port_num] = param_1;
|
|
}
|
|
|
|
u32 JASTrackPort::checkImport(u32 param_0) const {
|
|
return field_0x0 & 1 << param_0 ? 1 : 0;
|
|
}
|
|
|
|
u32 JASTrackPort::checkExport(u32 param_0) const {
|
|
return field_0x2 & 1 << param_0 ? 1 : 0;
|
|
}
|