2023-02-20 03:27:35 +00:00
|
|
|
#include "../portultra/multilibultra.hpp"
|
|
|
|
#include "recomp.h"
|
|
|
|
|
|
|
|
extern "C" void osViSetYScale_recomp(uint8_t* rdram, recomp_context * ctx) {
|
2023-03-10 21:36:58 +00:00
|
|
|
osViSetYScale(ctx->f12.fl);
|
2023-02-20 03:27:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void osViSetXScale_recomp(uint8_t* rdram, recomp_context * ctx) {
|
2023-03-10 21:36:58 +00:00
|
|
|
osViSetXScale(ctx->f12.fl);
|
2023-02-20 03:27:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void osCreateViManager_recomp(uint8_t* rdram, recomp_context* ctx) {
|
|
|
|
;
|
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void osViBlack_recomp(uint8_t* rdram, recomp_context* ctx) {
|
2023-03-06 01:16:16 +00:00
|
|
|
osViBlack((uint32_t)ctx->r4);
|
2023-02-20 03:27:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void osViSetSpecialFeatures_recomp(uint8_t* rdram, recomp_context* ctx) {
|
2023-03-06 01:16:16 +00:00
|
|
|
osViSetSpecialFeatures((uint32_t)ctx->r4);
|
2023-02-20 03:27:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void osViGetCurrentFramebuffer_recomp(uint8_t* rdram, recomp_context* ctx) {
|
|
|
|
ctx->r2 = (gpr)(int32_t)osViGetCurrentFramebuffer();
|
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void osViGetNextFramebuffer_recomp(uint8_t* rdram, recomp_context* ctx) {
|
|
|
|
ctx->r2 = (gpr)(int32_t)osViGetNextFramebuffer();
|
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void osViSwapBuffer_recomp(uint8_t* rdram, recomp_context* ctx) {
|
|
|
|
osViSwapBuffer(rdram, (int32_t)ctx->r4);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void osViSetMode_recomp(uint8_t* rdram, recomp_context* ctx) {
|
2023-03-03 04:38:52 +00:00
|
|
|
osViSetMode(rdram, (int32_t)ctx->r4);
|
2023-02-20 03:27:35 +00:00
|
|
|
}
|
2023-10-23 19:32:30 +00:00
|
|
|
|
|
|
|
extern uint64_t total_vis;
|
|
|
|
|
|
|
|
extern "C" void wait_one_frame(uint8_t* rdram, recomp_context* ctx) {
|
|
|
|
uint64_t cur_vis = total_vis;
|
|
|
|
while (cur_vis == total_vis) {
|
|
|
|
std::this_thread::yield();
|
|
|
|
}
|
|
|
|
}
|