Turtle Arena 0.7
October 13, 2017
--------------

Thank you for downloading Turtle Arena 0.7.

If you have any questions or comments, feel free to join the forum:

  * https://forum.clover.moe/

For updates visit:

  * https://turtlearena.com

Source files:

  * https://github.com/Turtle-Arena/turtle-arena-data
  * https://github.com/Turtle-Arena/turtle-arena-code
  * https://github.com/zturtleman/spearmint


# License

The Turtle Arena source code is licensed under the GNU General Public License version 3 (with additional terms) or any later version.
	(See SPEARMINT_LICENSE.txt for the full license.)

The Turtle Arena data is a mix of GPL2+, CC-BY-SA-3.0, and M+Fonts license.
	(See TURTLEARNEA_COPYRIGHTS.txt for data copyrights and licenses.)


# Arcade Mode

In arcade mode a single player can play against bots in the multiplayer game modes. The top scores for each level/gamemode combination are saved.


# Multiplayer

The multiplayer mode can be played in splitscreen, over the local network, and over the Internet.

You can host a local or Internet servers using the MULTIPLAYER -> START SERVER menu. You may need to setup port forwarding (for ports 27960 through 27963) in your router to host Internet servers.

You can look for network games using the MULTIPLAYER -> JOIN GAME (BROWSE) menu.


# Controls

The default controls for player 1, with descriptions, are listed below. The controls can be changed anytime in the OPTIONS -> CONTROLS -> PLAYER 1 menu. There are no default controls for players 2, 3, or 4.

Control Name	| Mouse and Keyboard	| Keyboard Only		| Description
----------------|-----------------------|-------------------|------------
Forward			| W						| Up Arrow			|
Backward		| S						| Down Arrow		|
Step Left		| A						| (none)			|
Step Right		| D						| (none)			|
Turn Left		| (move mouse left)		| Left Arrow		|
Turn Right		| (move mouse right)	| Rigth Arrow		|
Move / Turn		| Alt					| Alt				| While held makes turning sidestep instead. Turn Left, steps left etc.
Crouch			| C						| .					| Couching makes the player a small target and fit in smaller spacings.
Lock-on			| SHIFT					| SHIFT				| Focus on target, always sidestep instead of turning.
Jump			| Spacebar				| /					| Hold to jump high, press and release to jump low.
Attack 			| Left Mouse Button		| Right Ctrl		| Hold down to attack.
UseHoldableItem	| Right Mouse Button	| Enter				| Used for throwing shurikens, eating pizza-to-go, etc.
Next Holdable	| Scroll wheel up		| ]					| Change to next holdable item.
PreviousHoldable| Scroll wheel down		| [					| Change to previous holdable item.
DropPickupWeapon| E						| ;					| Drop pickup weapon and return to character's default weapon(s).
Drop CTF Flag	| F						| '					| Drop CTF flag, useful for giving flag to a team mate.
Look up			| (move mouse forward)	| Page Down			|
Look Down		| (move mouse backward)	| Delete			|
Center View		| End					| End				| Resets vertical looking.
Chat			| T						| T					| Chat with players over network/Internet
Chat (team)		| Y						| Y					| Chat with your team members.
Show Scores		| Tab					| Tab				| Show the scores and players in the game
Open Console	| ~						| ~					| Opens game console to enter commands and see past chat messages.
----------------|-----------------------|-------------------|------------


# Game controllers

To enable a controller, go to Setup -> Controls -> Player # -> Joy -> Select Joystick.
The controller must be connected before starting Turtle Arena.

Turtle Arena supports various controller mappings by default, but requires binding them in the controls menu (like keyboard keys).
If a controller's buttons cannot be bound in controls menu, it means that the controller mapping must be manually configured.
See gamepad-controls.txt for details.

gamecontrollerdb.txt is a read-only file with additional controller mappings.
For details/updates, see https://github.com/gabomdq/SDL_GameControllerDB


# Where do the saved files go?

All files are saved into the "settings" directory if it exists. It has been included so that this is a portable installation.

If the "settings" directory is deleted then a system path will be used.

  * Windows: %APPDATA%\Turtle Arena\
  * GNU/Linux: /home/username/.local/share/turtle-arena/
  * macOS: /Users/username/Library/Application Support/Turtle Arena/


# Fonts

Turtle Arena supports using TrueType (.ttf, .ttc), OpenType (.otf, .otc), and Windows (.fon) fonts are all text drawing.
The fonts are rendered to the game window resolution for high quality text at any resolution.

You can use different fonts by copying them into the top-level fonts directory and setting the following console variables to "fonts/example.ttf".
Custom fonts are allowed when connected to pure multiplayer servers.

Fonts
  * cg_consoleFont -- Recommend using a monospaced font for the console -- default: "fonts/mplus-1mn-regular.ttf"
  * cg_hudFont -- Used for HUD text -- default: "fonts/mplus-1c-regular.ttf"
  * cg_hudFontBorder -- Black outline border width for HUD font (default: 2)
  * cg_numberFont -- Used for status bar numbers and score plums -- default: "fonts/mplus-1c-bold.ttf"
  * cg_numberFontBorder -- Black outline border width for number font (default: 4)
  * ui_menuFont -- Small menu text -- default: "fonts/mplus-1c-regular.ttf"
  * ui_menuFontProp -- Large 'proportional width' text -- default: "fonts/mplus-1c-bold.ttf"
  * ui_menuFontBanner -- Menu banner text -- default: "fonts/mplus-2p-black.ttf"

Additional font related console variables
  * r_fontBorderWidth <pixels> -- Minimum text black border width in pixels for better visibility. Affects all ttf, otf, etc fonts.
  * r_saveFontData 1 -- Save the rendered fonts to "settings/<gamedir>/fonts/" directory. Note that they are not compatible with Vanilla Team Arena.
  * cg_forceBitmapFonts 1 -- When enabled, old bitmap fonts are used instead of ttf, otf, etc.


# Renderer

Turtle Arena includes two renderers, opengl1 and opengl2. The default is opengl1.

The opengl2 renderer uses newer OpenGL features (OpenGL 2+).
It's mostly on-par with opengl1, but may have some issues. There are various new features though.
See opengl2-readme.txt for details.

Open the in-game console by pressing "~" (the key left of 1 on US QWERTY layout) or shift+escape.
Type "com_renderer opengl2; vid_restart" and press enter. Switch back using
"com_renderer opengl1; vid_restart".


# What version of Spearmint is included?

Turtle Arena 0.7 uses an unmodified version of Spearmint 0.5.


# What version of SDL is included?

Windows and GNU/Linux releases include SDL 2.0.4.
macOS x86/x86_64 uses SDL 2.0.4.
macOS PPC uses SDL 2.0.3.


# Turtle Arena 0.7 Data/Gamecode Credits

* id Software             (For making and releasing Quake III Arena's source code)
* ioquake3 developers     (For improving, fixing, and cleaning up Quake 3's source code)
* ioSTVEF                 (For "noise" and "random" waveform keywords, and RF_FORCE_ENT_ALPHA render flag)
* OpenArena               (For botfiles and shaders)
* Xreal project           (For homing rockets and shootable rockets)
* Smokin' Guns            (For some breakable respawn code and a minor animation time fix)
* Chris "Lakitu7" Schwarz (For improving freetype code)
* ZEQ2-lite               (For cel shading tcGen code)
* M+ Outline Fonts        (For M+ 1c, M+ 1mn, and M+ 2p fonts)
* zero-project            (For music)
* Neil Crowe              (For music)
* MAKY.OREL               (For loading screen photo)
* Massimo L.              (For loading screen photo)
* Eugene Zelenko          (For loading screen photo)
* Diego Delso             (For loading screen photo)
* Llann Wé²               (For loading screen photo)
* Zack Middleton


# Spearmint 0.5 Engine Credits

Zack Middleton (main developer)
Tobias Kuehnhammer (feedback / bug reports / Bot AI fixes)
And other contributors

Spearmint contains code from;

Quake 3 - id Software
ioquake3 - ioquake3 contributors
RTCW SP - Gray Matter Interactive
RTCW MP - Nerve Software
Wolfenstein: Enemy Territory - Splash Damage
Tremulous - Dark Legion Development
World of Padman - Padworld Entertainment
ioquake3 Elite Force MP patch - Thilo Schulz
NetRadiant's q3map2 - Rudolf Polzer
OpenArena - OpenArena contributors
OpenMoHAA - OpenMoHAA contributors
Xreal (triangle mesh collision) - Robert Beckebans

