diff --git a/vendor/emu/refsw/refsw_tile.cpp b/vendor/emu/refsw/refsw_tile.cpp index eb2bba80..f2827f66 100644 --- a/vendor/emu/refsw/refsw_tile.cpp +++ b/vendor/emu/refsw/refsw_tile.cpp @@ -188,6 +188,10 @@ void RenderParamTags(int tileX, int tileY) { tagStatus[index].rendered = true; } } + + if (rm == RM_TRANSLUCENT_PRESORT) { + tagStatus[index].valid = false; + } } } } diff --git a/vendor/koshle/hlekos.cpp b/vendor/koshle/hlekos.cpp index ef1f66c7..5dc97072 100644 --- a/vendor/koshle/hlekos.cpp +++ b/vendor/koshle/hlekos.cpp @@ -24,7 +24,7 @@ void * maple_dev_status(maple_device*) { maple_device_t * maple_enum_type(int n, uint32 func) { return &dev; } - +namespace kos { int sem_wait_timed(semaphore_t *sem, int timeout) { auto count = sem->count.load(); @@ -54,6 +54,7 @@ int sem_signal(semaphore_t *sem) { sem->count++; return 0; } +} void sq_lock(void *dest) { diff --git a/vendor/koshle/kos/sem.h b/vendor/koshle/kos/sem.h index b0785616..60526b05 100644 --- a/vendor/koshle/kos/sem.h +++ b/vendor/koshle/kos/sem.h @@ -32,6 +32,7 @@ \headerfile kos/sem.h */ +namespace kos { typedef struct semaphore { std::atomic initialized; /**< \brief Are we initialized? */ std::atomic count; /**< \brief The semaphore count */ @@ -177,5 +178,7 @@ int sem_signal(semaphore_t *sem); */ int sem_count(semaphore_t *sem); +} +using namespace kos; #endif /* __KOS_SEM_H */ diff --git a/vendor/koshle/pvr_internal.h b/vendor/koshle/pvr_internal.h index a3d34985..276bab2b 100644 --- a/vendor/koshle/pvr_internal.h +++ b/vendor/koshle/pvr_internal.h @@ -233,7 +233,7 @@ typedef struct { /* Wait-ready semaphore: this will be signaled whenever the pvr_wait_ready() call should be ready to return. */ - semaphore_t ready_sem; + kos::semaphore_t ready_sem; // Handle for the vblank interrupt int vbl_handle;