Skip to content

Latest commit

 

History

History
40 lines (26 loc) · 2.57 KB

README.md

File metadata and controls

40 lines (26 loc) · 2.57 KB

Puppy Camera 2 for SM64

This repo is now defunct. All future updates shall be posted here.

The long awaited sequel to the critically acclaimed (allegedly) Puppy Camera is here. Rewritten from the ground up, this camera aims to improve on the flaws underneath in the code the original had. The original Puppycam was written when I was still learning a lot of things in C, and I missed out on some basic things. Puppycam2 is (in my opinion) a much better codebase than the original, being completely unrecognisable from what it once was.

From the outside perspective, it's basically the same though.

Puppycam is a brand new camera mode for SM64, designed from the ground up, to improve and fix all of the existing flaws with the horribly dated camera, that comes with the original game.

I used this repo as a base for this modification, however, with the changes made, this should integrate seamlessly into any other repo.

Features:

  • It features movement on both the X and Y axis, as well as accurate raycasting collision that prevents the camera from ever getting stuck, while retaining its absolute formost in staying within the level boundaries.
  • It also features a whole range of different behavioural flags that dictate how the camera itself will operate, based on what you decide to set.
  • It has a dynamic options menu, that is incredibly easy to add, or take away options for.
  • Support for a player 2 joystick, for emulator users, to allow for analogue camera control.
  • It's own easy to use system for making custom camera angles, that you can attach functions to.
  • Basic cutscene support. Vanilla cutscenes work too, they just disable Puppycamera while they're active.

To Do and future updates:

  • Cutscene splines. Right now the only option is to use vanilla splines with Puppy Camera cutscenes. It works fine but Vanilla's a bit unwieldly.
  • Translations for EU. I'm not multilingual though so pls help :))))

Screenshots:

Screenshot 1 (More screenshots coming soon)

Credits:

  • Me, I made the thing, lmao
  • CuckyDev for making the raycasting script that powers Puppycam's collision system.
  • The Clever Folks™ who made the decompilation project happen to begin with
  • Those that made fixing, improving and interating on this project way easier. (and also sometimes harder >:( )

SM64 Decomp Discord: https://discord.gg/DuYH3Fh

Feel free to make pull requests