mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-18 03:55:19 -04:00
Vita: Connecting to multiplayer works probably
This commit is contained in:
parent
11b96ef7e5
commit
5a4827f034
@ -61,7 +61,7 @@ static void guInit(void) {
|
|||||||
sceGuScissor(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
sceGuScissor(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||||
sceGuDisable(GU_SCISSOR_TEST);
|
sceGuDisable(GU_SCISSOR_TEST);
|
||||||
|
|
||||||
sceGuEnable(GU_CLIP_PLANES);
|
sceGuEnable(GU_CLIP_PLANES); // TODO: swap near/far instead of this?
|
||||||
sceGuTexFunc(GU_TFX_MODULATE, GU_TCC_RGBA);
|
sceGuTexFunc(GU_TFX_MODULATE, GU_TCC_RGBA);
|
||||||
|
|
||||||
sceGuFinish();
|
sceGuFinish();
|
||||||
@ -217,6 +217,7 @@ void Gfx_CalcPerspectiveMatrix(struct Matrix* matrix, float fov, float aspect, f
|
|||||||
matrix->row3.W = -1.0f;
|
matrix->row3.W = -1.0f;
|
||||||
matrix->row4.Z = -(2.0f * zFar * zNear) / (zFar - zNear);
|
matrix->row4.Z = -(2.0f * zFar * zNear) / (zFar - zNear);
|
||||||
matrix->row4.W = 0.0f;
|
matrix->row4.W = 0.0f;
|
||||||
|
// TODO: should direct3d9 one be used insted with clip range from -1,1 ?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -354,15 +354,16 @@ static cc_result Socket_Poll(cc_socket s, int mode, cc_bool* success) {
|
|||||||
SceNetEpollEvent ev = { 0 };
|
SceNetEpollEvent ev = { 0 };
|
||||||
// to match select, closed socket still counts as readable
|
// to match select, closed socket still counts as readable
|
||||||
int flags = mode == SOCKET_POLL_READ ? (SCE_NET_EPOLLIN | SCE_NET_EPOLLHUP) : SCE_NET_EPOLLOUT;
|
int flags = mode == SOCKET_POLL_READ ? (SCE_NET_EPOLLIN | SCE_NET_EPOLLHUP) : SCE_NET_EPOLLOUT;
|
||||||
int res;
|
int res, num_events;
|
||||||
|
|
||||||
ev.data.fd = s;
|
ev.data.fd = s;
|
||||||
ev.events = flags;
|
ev.events = flags;
|
||||||
|
|
||||||
if ((res = sceNetEpollControl(epoll_id, SCE_NET_EPOLL_CTL_ADD, s, &ev))) return res;
|
if ((res = sceNetEpollControl(epoll_id, SCE_NET_EPOLL_CTL_ADD, s, &ev))) return res;
|
||||||
res = sceNetEpollWait(epoll_id, &ev, 1, 0);
|
num_events = sceNetEpollWait(epoll_id, &ev, 1, 0);
|
||||||
sceNetEpollControl(epoll_id, SCE_NET_EPOLL_CTL_DEL, s, NULL);
|
sceNetEpollControl(epoll_id, SCE_NET_EPOLL_CTL_DEL, s, NULL);
|
||||||
if (res) return res;
|
|
||||||
|
if (num_events < 0) return num_events;
|
||||||
|
if (num_events == 0) return ERR_NOT_SUPPORTED; // TODO when can this ever happen?
|
||||||
|
|
||||||
*success = (ev.events & flags) != 0;
|
*success = (ev.events & flags) != 0;
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user