Coder Social home page Coder Social logo

jchw-forks / puyovs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from puyonexus/puyovs

0.0 2.0 0.0 5.33 MB

A Puyo Puyo fan game.

Home Page: https://puyovs.com

License: GNU General Public License v3.0

Shell 0.02% C++ 16.26% Perl 0.24% C 81.64% Objective-C 1.46% Pascal 0.04% Makefile 0.06% QMake 0.19% CMake 0.10%

puyovs's Introduction

Puyo Puyo VS

Welcome to the Puyo Puyo VS 2 source code.

Puyo Puyo VS 2 was originally written by Hernan with some contributions from other developers.

We hope that the community can benefit from this release and build a robust future for Puyo Puyo VS.

Trademark Notice

"Puyo Puyo" is a registered U.S. trademark of SEGA CORPORATION since 2017. Puyo Puyo VS is not endorsed or related to SEGA CORPORATION in any way.

Setup Qt

Puyo Puyo VS 2 is written in C++ using the Qt framework. You'll need some form of the Qt SDK to run it. Currently, we're using Qt 5 to compile Puyo Puyo VS 2, although Qt 4 will still work for now. (Qt 6 is not supported yet.) We're also using qmake rather than CMake for the time being.

For Linux users, it is generally advised to consult your package manager. For example, on Ubuntu, you can install qt5-default and qtcreator to get a basic Qt development environment. Exactly how to configure the Qt SDK for Linux is out of the scope of this README.

For macOS and Windows users, you have several options to get a copy of the Qt SDK. The Qt official download page offers official installers for Qt for various platforms. Please note that these generally require you to sign up for a Qt account. We don't encourage this unless you already have a Qt account. We also have minimal builds of the Qt SDK which are used for our automated builds; you can use these locally if you want, but they may not be compatible with Qt Creator.

(In the future, we may migrate off of Qt or use Qt via vcpkg instead.)

Building

Once you have a Qt SDK setup, you can build a copy of Puyo VS by building the Client subproject.

If you prefer the terminal, you can setup a quick build like so:

# Set up build directory outside of the source code
mkdir ../build && cd ../build

# Run qmake to configure a build for this build dir. You can also specify debug.
qmake ../puyovs CONFIG+=release

# Run make. The value you specify for -j specifies maximum parallel processes to compile with.
make -j8

# On Windows, if you are using MSVC, you should use nmake or jom.
# You can install jom via chocolately. It is recommended.
# MinGW is not recommended, but if you use msys2 you should be able to run `make` normally.
# Make sure you are using a shell setup for MinGW!
# MSys has multiple shell options and some of them are NOT for use with MinGW!

# Assuming all is well, you can run your new shiny PuyoVS executable.
cd ../puyovs/Build/Release
./PuyoVS

# On macOS, you'll need to do something like
# $ open ./PuyoVS.app
# And on Windows, something like
# $ .\PuyoVS.exe

Want code completion? Use Qt Creator for easy code completion. If you want code completion in other code editors, like Vim or VSCode, it is recommended to use clangd with a program that can generate a compile commands metadata file, like bear. In the future, CMake should make this easier. Some day! Maybe...

Source Organization

  • Audiolib: An audio file loading, audio output and mixing library. Written by John Chadwick, but contains some vendored libraries.
  • Audiotest: A small test program for Audiolib that plays an audio stream. Written by John Chadwick.
  • Build: Folders where final builds are outputted to.
  • BuildScripts: Build scripts, currently just for macOS. Written by BLueBLue.
  • Client: The Qt-based frontend. Written by John Chadwick.
  • ENet: A vendored copy of the ENet networking library.
  • Inputlib: An input library. Written by John Chadwick.
  • Inputtest: A small test program for Inputlib that outputs input events to the terminal. Written by John Chadwick.
  • JsonCpp: A vendored copy of JsonCpp.
  • Puyolib: The core game logic of Puyo Puyo VS 2. Written by Hernan.
  • PVS_Enet: Puyo VS-specific networking code, wrapping ENet. Written by Hernan.
  • SDL: A vendored copy of SDL.
  • Test: The assets that are bundled with builds.
  • VgmStream: A vendored copy of VgmStream.
  • Zlib: A vendored copy of Zlib.

puyovs's People

Contributors

jchv avatar

Watchers

James Cloos avatar  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.