summaryrefslogtreecommitdiff
path: root/src/code/z_snap.c
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2023-01-14 07:18:13 -0800
committerGitHub <noreply@github.com>2023-01-14 12:18:13 -0300
commitab8d34b8dc2ccd28ae4224d8500decff0fa25a1c (patch)
tree6cc53d451407b073e7c53349a2564a8062887312 /src/code/z_snap.c
parente2b61f88e46efc994db334ac5f03e1174de67058 (diff)
Play (2 NON_MATCHINGS) (#1109)
* Bring over progress from another branch Co-authored-by: Maide <34639600+Kelebek1@users.noreply.github.com> * cleanup, fake match Play_Init * small fixes * Some small cleanup * Match func_80165460 (from debug) * Match func_80165658 * Match func_80165DB8, func_80165DCC, func_80165DF0, func_80165E04 * Match func_80167DE4 (from debug) * Match func_80167F0C * Match func_80168DAC * Matched func_80169100 * Matched func_801691F0 * import D_801DFA18 * match Play_Main thanks to debug * cleanup * synray does it again * add docs from debug * fix func_801656A4 * more docs and cleanup * Match func_80166B30 and diff fake match in Init * import transition docs from OoT * Play Update, sort of * cleanup Play_Update * more cleanup * slightly more docs * small docs * Play_Draw WIP Thanks @petrie911 * progress? * two more matches * format * misc play docs * transitions cleanup * Motion Blur * Transitions * Fog * Bombers notebook + small cleanup * bss * Camera Functions * Picto functions * Init * MotionBlur Clean up * Floor Surface * Pictographs some more * regs * fix circular dependency problem * Cleanup PR commits outside play * namefixer * PR picto * PR audio * PR small clean ups * debug strings * Picto defines * bss * enums * remove void * typedefs * Hireso -> BombersNotebook * bss comments * bss and I8/I5 functions * Smaller PR comments * Transitions * Combine enums * Revert "Combine enums" This reverts commit 0da1ebcaed69a3ce0fbd5942460b67f80f0e15e7. * Fix Transition defines * RGBA16 macros * Unname * worldCoverAlpha * Rename Update and Draw * PR review, plus annotate bug * Clean up nonmatchings with a closer DrawGame * Format * New macros * UpdateMain and DrawMain * Fix merge * Small cleanups from PR * zFar * Intensity macros * Format * Remove bss comments * Compression/decompression * Small cleanup * Format * More PR cleanup * Cleanup picto stuff * format * Fix compression comments * Play processes state enums DONE -> READY * cutscene comment * fix bss Co-authored-by: Maide <34639600+Kelebek1@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: petrie911 <pmontag@PHYS-S129.iowa.uiowa.edu> Co-authored-by: angie <angheloalf95@gmail.com>
Diffstat (limited to 'src/code/z_snap.c')
-rw-r--r--src/code/z_snap.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/code/z_snap.c b/src/code/z_snap.c
index 5d37e3eac..d64cfbe6e 100644
--- a/src/code/z_snap.c
+++ b/src/code/z_snap.c
@@ -22,7 +22,7 @@ s32 Snap_RecordPictographedActors(PlayState* play) {
gSaveContext.save.pictoFlags1 = 0;
if (play->sceneId == SCENE_20SICHITAI) {
- Snap_SetFlag(PICTOGRAPH_IN_SWAMP);
+ Snap_SetFlag(PICTO_VALID_IN_SWAMP);
}
for (; category < ACTORCAT_MAX; category++) {
@@ -155,43 +155,43 @@ s32 Snap_ValidatePictograph(PlayState* play, Actor* actor, s32 flag, Vec3f* pos,
// Check distance
distance = OLib_Vec3fDist(pos, &camera->eye);
if ((distance < distanceMin) || (distanceMax < distance)) {
- Snap_SetFlag(PICTOGRAPH_BAD_DISTANCE);
- ret = PICTOGRAPH_BAD_DISTANCE;
+ Snap_SetFlag(PICTO_VALID_BAD_DISTANCE);
+ ret = PICTO_VALID_BAD_DISTANCE;
}
// Check rot is facing camera?
x = Snap_AbsS(Camera_GetCamDirPitch(camera) + rot->x);
y = Snap_AbsS(Camera_GetCamDirYaw(camera) - BINANG_SUB(rot->y, 0x7FFF));
if ((0 < angleRange) && ((angleRange < x) || (angleRange < y))) {
- Snap_SetFlag(PICTOGRAPH_BAD_ANGLE);
- ret |= PICTOGRAPH_BAD_ANGLE;
+ Snap_SetFlag(PICTO_VALID_BAD_ANGLE);
+ ret |= PICTO_VALID_BAD_ANGLE;
}
// Check in capture region
Actor_GetProjectedPos(play, pos, &projectedPos, &distance);
// Convert to projected position to device coordinates, shift to be relative to the capture region's top-left corner
- x = (s16)PROJECTED_TO_SCREEN_X(projectedPos, distance) - PICTO_CAPTURE_REGION_TOPLEFT_X;
- y = (s16)PROJECTED_TO_SCREEN_Y(projectedPos, distance) - PICTO_CAPTURE_REGION_TOPLEFT_Y;
+ x = (s16)PROJECTED_TO_SCREEN_X(projectedPos, distance) - PICTO_VALID_TOPLEFT_X;
+ y = (s16)PROJECTED_TO_SCREEN_Y(projectedPos, distance) - PICTO_VALID_TOPLEFT_Y;
// checks if the coordinates are within the capture region
- if ((x < 0) || (x > PICTO_RESOLUTION_HORIZONTAL) || (y < 0) || (y > PICTO_RESOLUTION_VERTICAL)) {
- Snap_SetFlag(PICTOGRAPH_NOT_IN_VIEW);
- ret |= PICTOGRAPH_NOT_IN_VIEW;
+ if ((x < 0) || (x > PICTO_VALID_WIDTH) || (y < 0) || (y > PICTO_VALID_HEIGHT)) {
+ Snap_SetFlag(PICTO_VALID_NOT_IN_VIEW);
+ ret |= PICTO_VALID_NOT_IN_VIEW;
}
// Check not obscured by bg collision
if (BgCheck_ProjectileLineTest(&play->colCtx, pos, &camera->eye, &projectedPos, &poly, true, true, true, true,
&bgId)) {
- Snap_SetFlag(PICTOGRAPH_BEHIND_BG);
- ret |= PICTOGRAPH_BEHIND_BG;
+ Snap_SetFlag(PICTO_VALID_BEHIND_BG);
+ ret |= PICTO_VALID_BEHIND_BG;
}
// Check not obscured by actor collision
actors[0] = actor;
actors[1] = &GET_PLAYER(play)->actor;
if (CollisionCheck_LineOCCheck(play, &play->colChkCtx, pos, &camera->eye, actors, 2)) {
- Snap_SetFlag(PICTOGRAPH_BEHIND_COLLISION);
- ret |= PICTOGRAPH_BEHIND_COLLISION;
+ Snap_SetFlag(PICTO_VALID_BEHIND_COLLISION);
+ ret |= PICTO_VALID_BEHIND_COLLISION;
}
// If all of the above checks pass, set the flag