Fork of https://github.com/gammy/netris with Configure improvement
Go to file
2023-11-05 18:44:39 -06:00
board.c Add ability to quit with 'q'. Change copyright notices, update README, misc cleanups 2016-12-20 01:48:05 +01:00
Configure libtinfo 2023-11-05 18:44:39 -06:00
COPYING Initial commit 2014-05-05 12:43:22 -07:00
curses.c improve build 2023-11-05 18:37:21 -06:00
FAQ Add ability to quit with 'q'. Change copyright notices, update README, misc cleanups 2016-12-20 01:48:05 +01:00
game.c improve build 2023-11-05 18:37:21 -06:00
inet.c improve build 2023-11-05 18:37:21 -06:00
netris.6.man Rename manpage 2017-01-03 21:55:31 +01:00
netris.h improve build 2023-11-05 18:37:21 -06:00
README Add 0.56g info to README 2020-11-10 18:03:10 +01:00
robot_desc Add ability to quit with 'q'. Change copyright notices, update README, misc cleanups 2016-12-20 01:48:05 +01:00
robot.c Remove outdated $Id strings 2016-12-15 11:46:38 +01:00
shapes.c Add ability to quit with 'q'. Change copyright notices, update README, misc cleanups 2016-12-20 01:48:05 +01:00
sr.c Remove outdated $Id strings 2016-12-15 11:46:38 +01:00
util.c Add ability to quit with 'q'. Change copyright notices, update README, misc cleanups 2016-12-20 01:48:05 +01:00
VERSION Bump VERSION 2020-11-10 18:04:18 +01:00

#
# Netris -- A free networked version of T*tris
# Gammy's fork, based on Nathan Aclander's fork
#
# Copyright (C) 1994-2016 Mark H. Weaver <mhw@netris.org>
# Additional contributors:
#   Piotr Krukowiecki <piotrwww@krukowiecki.net>>
#   Per von Zweigbergk
#   David Mosberger <David.Mosberger@acm.org>
#   Brian Brazil <bbrazil@netsoc.tcd.ie>
#   Nathan Aclander <naclander@linux.ucla.edu>
#   gammy <gammy@users.noreply.github.com>
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#

This is an unfinished developmental version of Netris, a free
networked version of T*tris.  It is distributed under the terms
of the GNU General Public License, which is described in the
file "COPYING" included with this distribution.  For more
information about GNU and the Free Software Foundation,
check out <http://www.gnu.org/>.

In order to compile Netris you will need gcc.  You may be able to
compile it with another ANSI C compiler, but if you attempt this
you are on your own.

It's been built and tested on at least the following systems:

    GNU/Linux
    FreeBSD 2.1.5, 2.1.6, 2.2
    NetBSD 1.0, 1.1
    SunOS 4.1.1, 4.1.3, 5.9
    Solaris 2.3, 2.4, 9
    HP-UX
    Cygwin

If Netris doesn't build on your favorite system "out-of-the-box",
I encourage you to mail me context diffs to fix the problem so I
can fold it into the next version.

Netris should build cleanly on 64-bit systems such as the Alpha,
although you might need to edit the definitions for netint{2,4},
hton{2,4}, and ntoh{2,4} in netris.h.  Alpha users, please let me know
how it goes, and send me diffs if needed!

See the FAQ in this directory if you have any problems.

NEW IN VERSION 0.56g
====================
Fix a bug where a crash would occurr if all attempts to find any way to toggle 
 the cursor visibility failed (i.e No enhanced curses and TERM==sun)
Make 'q' key work while game is paused, and after a game has ended (still
 won't work while waiting for an opponent, or when an opponent quit a paused
 game)
Manpage improvements
Rename the manpage to put it in category 6 (games)
Fix netris not building on newer (2020) versions of gcc due to redeclarations 
 in header files. Thanks seanh on the AUR for reporting this
Minor UI changes


NEW IN VERSION 0.55g
====================
Use annotated git tag + number of commits since the latest annotated tag to
 generate the version number - if git is available and a reasonable tag exists
Add contributors (from git log) to numerous locations
Invert board colors after a match, to indicate that it's ended
Show which key to press to start a new network game
Fix a long-standing bug where network games with differing machine word-sizes
 had numerous problems, the most noticable being -i (speed) and -s (seed) 
 not working, and players getting different blocks
Add the ability to quit by pressing 'q'
Respect user-defined ("default") terminal colors 
Cosmetic altering of status information and scoring
Numerous bugfixes and cleanups


NEW IN VERSION 0.52-15
======================
Full-left and full-right key movements via 'J' and 'L' keys
Ability to easily start a new network game after a round has ended
Network game scoring
Numerous bugfixes and cleanups


FIXED IN VERSION 0.52
=====================
Fixed a buffer overflow vulnerability discovered by
Artur Byszko / bajkero <bajkero@security.hack.pl>


NEW IN VERSION 0.5
==================
Netris now specifically looks for ncurses and uses color if it's
available, unless the -C option is given.  Thanks to A.P.J. van Loo
<cobra@multiweb.nl> for providing code which these changes are
based on.


INSTALLATION
============
1. Run "./Configure" to create a Makefile and config.h appropriate
   for your system.  If you have problems running Configure with
   your /bin/sh, try "bash Configure".
2. Try "make"
3. Make sure "./netris" works properly
4. Copy "./netris" to the appropriate public directory

Try "./Configure -h" for more options


RUNNING
=======
To start a two-player game, do the following:
 1. Player 1 types "netris -w".  This means "wait for challenge".
 2. Player 2 types "netris -c <host>" where <host> is the hostname
    of Player 1.  This means "challenge".

To start a one-player game, run netris with no parameters.
One-player mode is a tad boring at the moment, because it never
gets any faster, and there's no scoring.  This will be rectified
at some point.  For now, use the "f" key (by default) to make the
game go faster.  Speedups cannot be reversed for the remainder of
the game.

Unlike standard T*tris, Netris gives you a little extra time after
dropping a piece before it solidifies.  This allows you to slide the
piece into a notch without waiting for it to fall the whole way down.
In fact, you can even slide it off a cliff and it'll start falling
again.  If you think it should automatically drop again in this case,
use the -D option.

The keys are:
 'j'    left
 'J'    full left
 'k'    rotate
 'l'    right
 'L'    full right
 Space	drop
 'm'    down faster
 's'	toggle spying on the other player
 'p'	pause
 'f' 	make game faster (irreversible)
 Ctrl-L	redraw the screen
 'n' 	start a new network game (only available 
                                  after a network game has ended)
 'q' 	quit the game

To see usage information, type "netris -h".
To see distribution/warranty information, type "netris -H".
To see the rules, type "netris -R".
To use a port number other than the default, use the -p option.

You can remap the keys with "-k <keys>", where <keys> is a string
containing the keys in the order listed above.  The default is:
    netris -k "jJklL mspf^lnq"

You needn't specify all of the keys, for example -k "asd" will only
change the main three keys.  "^x" notation can be used for control
characters.

The "m" key moves the falling piece down one block, in addition to the
usual step-down timer.  Use this in repetition when "drop" would go
too far but you don't want to wait for the piece of fall.

# vi: tw=70 ai