Arena 3D
By Malcolm Smith
m@malcolm-s.net
http://arena3d.jesystems.malcolm-s.net
v0.65
=======================================

IMPORTANT NOTES AND TROUBLESHOOTING:
====================================
Please run the game using runarena(), OR
make sure your current folder on your calculator
(set through the MODE screen) is wherever the
Arena files are. (i.e. if they're in MAIN and the
current folder is MAIN, that's fine.)

Arena 3D automatically creates a directory called
ARENA and stores all Arena files in that directory.
If you have TI-Connect, it may just appear in MAIN.
Either way, the game should run fine. The automatic
ARENA folder is simply for organization.

Please ARCHIVE ALL OF THE ARENA FILES on your
calculator. Otherwise, it will probably refuse to
run because of memory constraints.

DO NOT ARCHIVE THE A3DCFG FILE that is created, because
then changes to options will not be retained.

To archive a file, open VAR-LINK (2nd -), choose the
file (or more than one, using F4), then press F1 and 8.

If you have a Voyage 200, you might have to remove a few
FlashApps to have enough RAM or Flash ROM/ archive space.

You can call the game with parameters instead of using the GUI.
See "Calling Arena with Parameters" for more information.

In the options screen, press the [1] key to cycle the #1 option,
[2] for the 2nd option, etc.

If you wish to make levels for the game with the included on-calc
editor, please read editor_readme.html.

HOW TO RUN THE GAME:
====================
89 users- copy everything from bin89 to your calculator
92+/V200 users-Copy all from bin92p

Just run the runarena() program. This can be in any folder, but it will
probably initially be in MAIN.
Or, you can run arena() directly if you're already in the game directory
(probably ARENA, but you can change it).

How to change directories: press MODE, then change the Folder, and press Enter to save.
How to move the Arena files to another directory: press 2nd - to open VAR-LINK, press F1 and Create Folder, select the files using F4, then press F1  and Move to that folder.

GAME INFORMATION:
=================
Basically, the theme is of a simple FPS shooter like Unreal
Tournament (R) or Quake III Arena (R). This game features three
gameplay modes: free-for-all deathmatch, teamplay deathmatch,
and capture the flag (CTF).

Teamplay Info (Teamplay DM and CTF):
There are two teams, gray and white. The white team will all have
models of Homer Simpson, while the gray team will all have models of
the Wolfenstein 3D character. If you kill a member of the opposite
team, you get one point. If you kill a member of your own team, you
get -1 points. The team score limit is set through the pre-game
setup.

CTF Info:
The point of CTF is to attack the enemy base, locate and take their flag,
and bring it back to your own base flag to get a capture. When you get a
capture, your team recieves 1 point, and you personally recieve 10 points.
You are also supposed to protect your own base, and keep the enemy from
taking your flag. If you kill a member of the opposite team and they have
the flag, you get 5 points. If you kill a member of your own team, you get
-1 points. The capturelimit is set through the pre-game setup.

You can turn, strafe, and shoot. There are also two
special moves: Speed Up and Hit Find. Speed Up doubles
the moving and turning speeds. Hit Find turns to face
where the last shot that hit you came from.

In the HUD, the top counter [+] is health, and the bottom
counter [S] is score. Below that, there is a rocket charge
meter.

Rocket meter information:
-You can only fire a rocket when the meter reaches the second
level.
-If you don't fire any rockets, the meter charges further.
-Each rocket fired has a damage multiplier that equals the
level that the meter shows.
-Normally, a fully charged meter will completely kill a player
if the aim is very good.
-When you fire a rocket, the meter resets.

Instagib information:
Basically, rockets hit instantly, and projectiles aren't shown.
Usually this mod/ mutator is fun to improve your aim, since players
can't dodge shots in this mode :-)
In Instagib, there is a very slight pause in the game when a player
shoots, more than without Instagib. This is because the projectile
path is completely traced until it hits something.

At the bottom of the HUD, you have a radar/compass. The large
needle shows you what direction you're facing. The
smaller needle shows you the direction the last rocket
that hit you came from. When you use the Hit Find key,
the large needle will turn and face the same way as the
smaller needle, until you turn or get hit again. You also
can see dots representing the players close by you. The top of
the compass is always north. In other words, if you are facing south,
then players in front of you will be at the bottom of the compass.
Just keep an eye on the main arrow to help you orientate yourself.

In the options screen, [number]: refers to what key to
press to cycle through that option.

KEYS:
=====
Up:	Move forward
Down:	Move backward
Left:	Turn left
Right:	Turn right
ESC:	Quit game
APPS:	Scores (in game), Options (in menu)

Default Game Keys:
TI-89 Key	TI-92 Key	Function
---------------------------------------------
2nd		F1		Shoot
Diamond		F2		Strafe
Shift		F5		Hit Find
Alpha		F6		Speed Up

You can rebind the keys to game keys to anything you want
through the Options menu.

Note to users from the initial version v0.3:
All of the "Key A" confusion is gone. Pressing a normal
confirmation key like Enter, 2nd, Hand, or F1
will get you through menus, unless otherwise specified.

CALLING ARENA WITH PARAMETERS:
==============================
You can call Arena with parameters instead of using the GUI.
This can simplify running the game greatly if you normally
prefer the same setup. When you call Arena with correct
parameters, the logo, splash screen, main menu, and game
setup are all skipped. Pressing ESC in a game will quit the
game, not return to the main menu. If you call the game with
incorrect or missing parameters, you will get an error message
saying the correct usage to call the game in case you forget.
The game must be called with at least one parameter to show
that error.

Call:
arena(set_name,level_idx,teamplay_flag,instagib_flag,bot_count,bot_skill,game_fraglimit)
set_name = Level set name (must be a string enclosed in double quotes)
teamplay_flag = Only applies in Deathmatch mode. If this is set to 1, the
 game mode is teamplay, otherwise it's free-for-all. This doesn't apply to
 CTF. DM/ CTF base game mode is chosen from the map you pick.
instagib_flag = The game is Instagib (rockets hit instantly, i.e. no projectiles) when
this flag is set to 1.
level_idx = Level index in that set
bot_count = Number of bots
bot_skill = Bot skill/accuracy; 0-Easy to 6-Insane
game_fraglimit = Game frag/kill limit before end of match

KNOWN BUGS:
===========
-None.
-(The Divide by Zero bug should be gone.)

Note that if you're a new TI user and a program you're running crashes with a Protected
Memory Violation, Divide by Zero, Line 1111 Emulator, or any other error displayed along
with a dark colored bar at the top of the screen, press:
2nd Left Right ON (TI-89) or
2nd HAND ON (TI-92+/Voyage 200)
to reset your calculator and resume normal operations.

HISTORY:
========
11/4/04 - v0.65
* More Titanum support (just, HW3patch mentioned)
* Data files and such redone to appear in the ARENA directory
7/7/04 - v0.6
* Titanium support
11/11/02 - v0.5
* Capture the Flag mode
* Memory bugs fixed (Divide by Zero)
* Rocket code bug
* AI code bug fixed (bots fired into walls)
* Parameter support
* Instagib mutator
* Teamplay mode
* New CTF map
* Compass and Radar
* Key support completely rewritten
* "ARENA" folder dependency removed

10/6/02 - v0.3
* Initial public release.

THANKS TO:
==========
Thomas Nussbaumer (TICT, http://tict.ticalc.org)
 - FAT Engine, bug finding
Scott Noveck
 - Conceptual AI and rocket logic
Jonathan Jones
 - GFX enhancements (radar)
All of the TI community, users and programmers
 - For help and support!

Suggestions by:
-Chris Zoba
-MastaZog
-GregW
-polite
-Weaaddar
-Kevin Kofler

