GithubHelp home page GithubHelp logo

00mjk / spyro-scope Goto Github PK

View Code? Open in Web Editor NEW

This project forked from franklygd/spyro-scope

0.0 0.0 0.0 751 KB

A program that peers into the PS1 Spyro games' data that converts it to easier viewing for analysis

License: GNU General Public License v3.0

HyPhy 99.57% Brainfuck 0.43%

spyro-scope's Introduction

Spyro-Scope

Latest Version GitHub All Releases Discord

A project that sparked when looking back at the program created to see the data of the the original trilogy's games as it is being ran in an emulator. The program, called Spyro Scope, was only an in-house made program never released, so I thought it would be cool to recreate it.

This project is an OpenGL-SDL program made with Beef that is used to draw the game's data that are not normally visualized. This program is also being built in hopes of aiding the modding community for Spyro's PS1 games. It can only support the following as of now:

Emulators
No$PSX 2.0
ePSXe 2.0.5 (No VRAM Support)
Bizhawk 2.4.2 (x64)
Mednafen 1.24.3
Games
Spyro the Dragon NTSC U
Spyro: Ripto's Rage NTSC
Spyro: Year of the Dragon NTSC v1.1

Note: The versions shown are only what I have tested so far myself, you can try to use it for other versions, however it may mess up the program or game. You have been warned!

For those new to Github or its new, layout here is the link to Releases

Features

World View

  • Externally play/pause and step the game's update loop
  • View the levels in sync with the current game's view or separated on its own
  • The ability to move and look around using the game's camera
  • Collision Mesh
    • Show each of the triangle's data in the collision mesh color coded of their "material"
    • Visualize deforming or pieces of the collision
  • Visual Mesh
    • Render both their far low-poly mesh and near high-poly mesh
    • See updating parts of the near mesh including
      • Deformation of the mesh
      • Scrolling & Swapping Textures
  • Show height levels where death occurs or the max free flight limit
  • Objects origins and their shapes (only static)
  • Teleport Spyro to the camera's current location
  • Move around Spyro and objects using an editor like tool

Usage

World View

  • Left Mouse - Select
  • Right Mouse Hold - Rotate View/Camera
  • Right Mouse Hold + WASD - Move Camera
  • Move mouse to top-left of window to show menu with toggles and actions with their shortcuts
  • Move mouse to right of window to show menu and inspector for the current object selected
  • Top middle button controls the game loop, left one Play/Pause while right one Steps (runs one frame)

VRAM View

Accessed by the V key. (Press again to return)

  • Left Mouse - Select
  • Right Mouse Hold - Pan View
  • Scroll Wheel - Zoom
  • 1 - Expand Working Area
  • 9 - Save VRAM
  • 0 - Reset Position
  • Ctrl + Left Mouse - Save Texture (Not CLUT)
  • Alt + Left Mouse - Load Texture/CLUT

Compiling

Beef IDE is used to compile the project as the language used is beeflang.

The only external library needed is FreeType in order for the program to fully compile. You can get a simple library integration from here where only the essential parts are used for this program. If you want to integrate a fully supported version, it should also work with minor changes.

spyro-scope's People

Contributors

franklygd avatar cooljackup avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.