Fix portal surface generation bug

This commit is contained in:
James Lambert 2023-07-11 08:18:03 -06:00
parent f22775d331
commit 0e701017c6
7 changed files with 15 additions and 4 deletions

View file

@ -131,6 +131,10 @@ make -f Makefile.docker
- [ ] Vertex lighting #39
- [ ] flash portal opacity when other portal moves
- [ ] ball velocity in test chamber 11
- [ ] test chamber 02 needs more light in the first room
- [ ] pausing while glados is speaking can end her speech early
- [ ] don't repeat camera destruction speech every time
- [ ] glitch wall lighting when shooting portals on shaded walls
- [x] Adding y-axis/x-axis inverting options #55
- [x] Adding look axis sensitivity setting
- [x] Adding a menu to game #47

Binary file not shown.

View file

@ -125,7 +125,7 @@ void hudRender(struct RenderState* renderState, struct Player* player, int last_
}
}
if (introAnimationTime < 0.0f) {
if (introAnimationTime <= 0.0f) {
// center reticle is drawn over top everything
gSPDisplayList(renderState->dl++, hud_material_list[CENTER_RETICLE_INDEX]);
gDPSetPrimColor(renderState->dl++, 255, 255, 210, 210, 210, 255);

View file

@ -975,8 +975,8 @@ int portalSurfacePokeHole(struct PortalSurface* surface, struct Vector2s16* loop
surfaceBuilder.gfxVertices = stackMalloc(sizeof(Vtx) * (surface->vertexCount + ADDITIONAL_EDGE_CAPACITY));
zeroMemory(surfaceBuilder.edgeFlags, surface->edgeCount + edgeCapacity);
zeroMemory(surfaceBuilder.isLoopEdge, surface->edgeCount + edgeCapacity);
zeroMemory(surfaceBuilder.edgeFlags, edgeCapacity);
zeroMemory(surfaceBuilder.isLoopEdge, edgeCapacity);
memCopy(surfaceBuilder.gfxVertices, surface->gfxVertices, sizeof(Vtx) * surface->vertexCount);
struct Vector2s16* prev = &loop[0];

View file

@ -36,6 +36,9 @@ void securityCameraLookAt(struct SecurityCamera* camera, struct Vector3* target)
struct Vector3 offset;
vector3Sub(target, &camera->rigidBody.transform.position, &offset);
// don't look directly at the player
offset.y -= 1.0f;
float magSqrd = vector3MagSqrd(&offset);
if (magSqrd > CAMERA_RANGE * CAMERA_RANGE || magSqrd < 0.01f) {

View file

@ -4,11 +4,15 @@ from re import L
import re
import sys
import traceback
import gdb
import contextlib
import ctypes
import sys
from OpenGL import GL as gl
import glfw
import gdb
# to use this script, you first need to install
# pip PyOpenGL PyOpenGL_accelerate glfw numpy
window_width = 800
window_height = 600