Giter Site home page Giter Site logo

64doom's Introduction


-64DOOM README-

Updated 2023/05/21


-git repository contents-

README.md is this file

src directory contains all 64Doom C source, header files, menu graphics and Makefile used to build 64Doom

doc directory contains many text files including

ORIGINAL_README.TXT is the original README.TXT from the 1990s DOOM open source release

DOOMLIC.TXT is the DOOM open source license documentation

CREDITS.TXT which provides attribution for various components and code contributors

LICENSE_generic-hashtable.TXT, README_generic-hashtable.TXT required attribution for Hashtable implementation used

GPLV3.TXT is a copy of the GPL V3 License as required


-how to build-

Setup libdragon UNSTABLE branch: https://github.com/DragonMinded/libdragon/wiki/Installing-libdragon

Get a copy of a supported version of Doom (Doom shareware, retail, Ultimate Doom, Doom II, Plutonia, TNT).

Export two environment variables:

IWAD_DIRECTORY -- the path of the directory that contains your IWAD file

IWAD_PREFIX -- the actual IWAD filename prefix (one of DOOM1, DOOM, DOOMU, DOOM2, PLUTONIA, TNT - these are case sensitive. Must be uppercase and your wad filename must be uppercase i.e. DOOM2.WAD)

And run make.

Result is $(IWAD_PREFIX).z64 ready to copy to dev cart or run in emulator.

Example for building DOOM2 from repo directory, with IWAD files located in your home directory under IWADS:

cd src

env IWAD_DIRECTORY="~/IWADS" IWAD_PREFIX="DOOM2" make

resulting in DOOM2.z64

If you want to build for a different game version, be sure to run make clean first. Environment variables must be set for make clean as well.

env IWAD_DIRECTORY="." IWAD_PREFIX="." make clean


-SAVEGAMES-

64Doom uses the Controller Pak to save and load your game progress from the Save Game / Load Game menu options.

One savegame slot is presented, mapped to a single note on the Controller Pak.

The name of the note is the same as the game version ($IWAD_PREFIX) you are playing.

When you save or load a game, you will see a message in the Doom HUD if it is successful:

SAVED GAME TO MEMPAK

LOADED GAME FROM MEMPAK

Savegames are compressed using the lzfx library. However, the compressed saves are still large relative to the capacity of a fully-formatted Controller Pak.

In the event that there is not enough free space on the Controller Pak to save the game, you will see a message in the Doom HUD:

NOT ENOUGH SPACE FOR SAVE (NEED #, HAVE #)

It is very likely you will see this message if you have notes from other games on your Controller Pak, so it is desirable to play with a dedicated, initially empty Controller Pak.

It is possible that there are rare occasions where this may happen even with an empty Controller Pak.

If it does, kill some more enemies, pick up some more items, try again. :-)


-CONTROLS-

D-PAD UP / ANALOG STICK UP :: move forward

D-PAD DOWN / ANALOG STICK DOWN :: move backward

D-PAD LEFT / ANALOG STICK LEFT :: turn left

D-PAD RIGHT / ANALOG STICK RIGHT :: turn right

L TRIGGER :: strafe left

R TRIGGER :: strafe right

C LEFT :: switch to previous weapon

C RIGHT :: switch to next weapon

C UP :: toggle auto-map

C DOWN :: ENTER key

Z :: toggle run on/off (defaults to on)

A :: shoot

B :: use (open doors, flip switches)

START :: ESCAPE key

Enjoy.

64doom's People

Contributors

7dog123 avatar axdoomer avatar jnmartin84 avatar thekovic 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.