mirror of
https://github.com/zeldaret/tp
synced 2026-07-08 14:36:36 -04:00
Jsupport stream and JKRAramArchive (#143)
* JSupport streams * JKRAramArchive
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
#include "JSystem/JSupport/JSUInputStream.h"
|
||||
#include "JSystem/JSupport/JSURandomInputStream.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
@@ -68,72 +68,70 @@ SECTION_DATA extern void* __vt__14JSUInputStream[6 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 802DC23C-802DC298 2D6B7C 005C+00 1/0 6/6 0/0 .text __dt__14JSUInputStreamFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JSUInputStream::~JSUInputStream() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JSupport/JSUInputStream/__dt__14JSUInputStreamFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
JSUInputStream::~JSUInputStream() {}
|
||||
|
||||
/* 802DC298-802DC2F0 2D6BD8 0058+00 1/1 20/20 0/0 .text read__14JSUInputStreamFPvl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JSUInputStream::read(void* param_0, s32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JSupport/JSUInputStream/read__14JSUInputStreamFPvl.s"
|
||||
s32 JSUInputStream::read(void* buffer, s32 numBytes) {
|
||||
s32 bytesRead = this->readData(buffer, numBytes);
|
||||
if (bytesRead != numBytes) {
|
||||
this->setState(IOS_STATE_1);
|
||||
}
|
||||
return bytesRead;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DC2F0-802DC370 2D6C30 0080+00 1/0 0/0 0/0 .text skip__14JSUInputStreamFl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 JSUInputStream::skip(s32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JSupport/JSUInputStream/skip__14JSUInputStreamFl.s"
|
||||
s32 JSUInputStream::skip(s32 count) {
|
||||
s32 skipCount = 0;
|
||||
u8 buffer[1];
|
||||
while (count > skipCount) {
|
||||
if (this->readData(&buffer, 1) != 1) {
|
||||
setState(IOS_STATE_1);
|
||||
break;
|
||||
}
|
||||
skipCount++;
|
||||
}
|
||||
return skipCount;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DC370-802DC3FC 2D6CB0 008C+00 0/0 1/1 0/0 .text align__20JSURandomInputStreamFl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JSURandomInputStream::align(s32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JSupport/JSUInputStream/align__20JSURandomInputStreamFl.s"
|
||||
s32 JSURandomInputStream::align(s32 alignment) {
|
||||
s32 currentPos = this->getPosition();
|
||||
s32 offset = (alignment + currentPos);
|
||||
offset -= 1;
|
||||
offset &= ~(alignment - 1);
|
||||
s32 alignmentOffset = offset - currentPos;
|
||||
if (alignmentOffset != 0) {
|
||||
s32 seekLen = this->seekPos(offset, JSUStreamSeekFrom_SET);
|
||||
if (seekLen != alignmentOffset) {
|
||||
this->setState(IOS_STATE_1);
|
||||
}
|
||||
}
|
||||
return alignmentOffset;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DC3FC-802DC458 2D6D3C 005C+00 1/0 2/0 0/0 .text skip__20JSURandomInputStreamFl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 JSURandomInputStream::skip(s32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JSupport/JSUInputStream/skip__20JSURandomInputStreamFl.s"
|
||||
s32 JSURandomInputStream::skip(s32 param_0) {
|
||||
s32 val = this->seekPos(param_0, JSUStreamSeekFrom_CUR);
|
||||
if (val != param_0) {
|
||||
this->setState(IOS_STATE_1);
|
||||
}
|
||||
return val;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DC458-802DC4DC 2D6D98 0084+00 0/0 8/8 0/0 .text peek__20JSURandomInputStreamFPvl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JSURandomInputStream::peek(void* param_0, s32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JSupport/JSUInputStream/peek__20JSURandomInputStreamFPvl.s"
|
||||
s32 JSURandomInputStream::peek(void* buffer, s32 numBytes) {
|
||||
s32 oldPos = this->getPosition();
|
||||
s32 bytesRead = this->read(buffer, numBytes);
|
||||
if (bytesRead != 0) {
|
||||
this->seekPos(oldPos, JSUStreamSeekFrom_SET);
|
||||
}
|
||||
return bytesRead;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802DC4DC-802DC520 2D6E1C 0044+00 0/0 16/16 0/0 .text
|
||||
* seek__20JSURandomInputStreamFl17JSUStreamSeekFrom */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JSURandomInputStream::seek(s32 param_0, JSUStreamSeekFrom param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JSupport/JSUInputStream/seek__20JSURandomInputStreamFl17JSUStreamSeekFrom.s"
|
||||
s32 JSURandomInputStream::seek(s32 param_0, JSUStreamSeekFrom param_1) {
|
||||
s32 seekResult = this->seekPos(param_0, param_1);
|
||||
this->clrState(IOS_STATE_1);
|
||||
return seekResult;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
Reference in New Issue
Block a user