============================================================
   _____                 .__        
  /     \ _____     ____ |__| ____  
 /  \ /  \\__  \   / ___\|  |/ ___\ 
/    Y    \/ __ \_/ /_/  >  \  \___ 
\____|__  (____  /\___  /|__|\___  >
        \/     \//_____/         \/ 
      __________  ___________________ 
      \______   \/   _____/\______   \
       |     ___/\_____  \  |     ___/
       |    |    /        \ |    |    
       |____|   /_______  / |____|    
                       _\/         __  .__               
               _______/  |______ _/  |_|__| ____   ____  
              /  ___/\   __\__  \\   __\  |/  _ \ /    \ 
              \___ \  |  |  / __ \|  | |  (  <_> )   |  \
             /____  > |__| (____  /__| |__|\____/|___|  /
                  \/            \/      by transce080 \/ 
============================================================



Contents

1.  Introduction
2.  Summary
3.  Installation
4.  Interface
5.  Special Actions FAQ
6.  Controls
7.  How to change decks
8.  How to make decks
9.  How to install new sets
10.  Learn to play Magic the Gathering
11.  Display Note
12.  Limitations
13.  Disclaimer
14.  Thanks



Introduction

Magic PSP Station (MPS) is a program to play Magic the Gathering on PSP in two-player or solitaire mode.  



Summary

Magic PSP Station (MPS) supports solitaire play and two-player hotseat using any single card set from Magic the Gathering.  The starter package allows the program to run the set 10th edition, and includes 10th edition preconstructed decks in MPS format.



Installation

Installing involves copying the MPS directory and all of its contents to your choice of GAME directory, depending on your flavor of firmware.  MPS was tested on 1.50, 3.40, 3.52 and 3.71 kernels.  

The theme and images are not distributed with MPS for legal reasons.  They must be obtained here:

MPSHQ share folder - 10th edition MPS Starter Set
	http://tinyurl.com/2ohmkx

	Contains
	* MPS_set_10E.zip - full set - 78.55MB
	* MPS_set_10E_Thm-only.zip - set with thumbnails only (for evaluation purposes) - 1MB
	* MPS_theme.zip - 322KB

*You need the full set and theme to really play however you can use the thumbnail-only set if you have a slow connection speed and/or wish to try the program out before downloading the full set.*

Copy the entire contents of both archives to your \MPS\data\ directory.  The avatar images may be customized.  The image must be 34 by 34 pixels and saved in PNG format.  Your avatar should be named myAvatar.png and your opponent's should be named opAvatar.png.  The decks you wish to use should be named myDeck.dat and opDeck.dat respectively and placed in the MPS directory.  Five deck files are provided corresponding to the five 10th edition preconstructed decks.



Interface

On the lower right is diplayed the card area.  This is where the cards are shown anytime you are looking at your hand, library, graveyard, RFG, or those of your opponent.  On the upper right is displayed the controls for the game if the help screen is enabled.  In the lower center of the screen is the play area.  This displays all the cards in play.  A card's position when coming into play depends on it's type.  The upper center of the screen is your opponent's play area.  In the lower left of the screen is the sidebar.  The icons in the sidebar, from top to bottom, are the player's avatar, the library, the hand, the graveyard, and the RFG respectively.  The amount of life and number of cards in each zone are displayed over the image.  In the upper left of the screen is the opponent's sidebar.



Special Actions FAQ - How do I...

1.  Do phase dependant actions - Square performs various actions depending on the phase
	Untap phase - untap all cards
	Draw phase - draw a card
	Declare attackers phase - declare attacking creatures
	Declare blockers phase - declare blocking creatures
	End of combat phase - remove all creatures from combat

2.  Discard a random card from hand - select your hand icon in the sidebar and press O.

3.  Shuffly the library - select your library icon in the sidebar and press [] (Square).

4.  Revel random card to opponent - select your hand icon in the sidebar and press X to put a random card into play, let your opponent read, then put it back to your hand.

5.  Put a card into opponent's play - put the card into play on your side, select it, and press L Trigger + [].  Take care, cards go to graveyard based on the zone they are in, not the true owner of the card, so if he puts it to graveyard, it will incorrectly go to his graveyard, not yours.

6.  View top X cards of library, or similar effects - select your library icon in the sidebar and press L Trigger + .^. (triangle) to use a special temporary zone, the Temp hand.  Continue pressing L Trigger + .^. for each card you wish to add to Temp, then move to the card area.  From here, you can put the cards to the necessary zone, for example the top or bottom of your library, one by one.  Take care not leave cards "floating" in the Temp hand, as they are then outside the game.

7.  Reveal card(s) to an opponent - the easy method is to put the card into play, let the opponent read, then put it back to your hand.  You can also use the Temp hand (see #6) to display cards to your opponent, just be sure to collect them again afterwards.

8.  Return card view to hand - press L Trigger + .^. while focus is on the card area and you're viewing any other zone.



Controls

There are built in help screens which show the most relevant controls at any time.  You may show or hide these at any time by pressing L Trigger + Select at the same time.  The controls are listed here for reference purposes only.

Global
 
Up	Move selection point up	   
Down	Move selection point down	   
Left	Move selection point left	   
Right	Move selection point right	   
Start	Increment phase	   
R	Move focus	   
L+R	Quick player swap	   
L+Start	Decrement phase	   
L+Select	Display help	   
Select+Start	Exit game	 

Play
 
X	Tap/Untap	   
T	View card full size	   
Sq	Phase specific	   
O	Put card to grave	   
L+X	Put card to hand	   
L+Sq	Put card to opponent	   
L+O	Put card to library	   
Select	Move a card	 

Opponent's play
 
X	Tap/Untap	   
T	View card full size	   
Sq	Phase specific	   
O	Put card to opponent grave	   
L+X	Put card to opponent hand	   
L+Sq	Put card to player's hand	   
L+O	Put card to library	 

Cards
 
Global	T	View card full size	   
Global	L+T	View hand	   
Global	X	Put card to hand (draw)	   
Global	O	Put card to grave (discard)	   
Global	L+Sq	Put card to bottom of library	   
Grave	L+X	Put card to play	   
Grave	L+O	Put card to library	   
OpGrave	L+X	Put card to play	   
OpGrave	L+O	Put card to opponent library	   
Hand	L+X	Put card to library	   
Hand	L+O	Put card to RFG	   
Hand	Select	Move a card	   
Library	L+X	Put card to play	   
Library	L+O	Put card to RFG	   
RFG	L+X	Put card to play	   
RFG	L+O	Put card to library	   
OpRFG	L+X	Put card to play	   
OpRFG	L+O	Put card to library	   
Temp	L+X	Put card to play	   
Temp	L+O	Put card to library	 

Sidebar
 
Deck	X	Put card to hand (draw)	   
Deck	T	Search library	   
Deck	Sq	Shuffle library	   
Deck	O	Put card to grave	   
Deck	L+X	Put card to play	   
Deck	L+T	Switch to temp / Put card to temp	   
Deck	L+O	Put card to RFG	   
Grave	X	Put card to hand	   
Grave	T	Search graveyard	   
Grave	Sq	Shuffle graveyard	   
Grave	O	Put card to RFG	   
Grave	L+X	Put card to play	   
Grave	L+O	Put card to library	   
Hand	X	Put random card to play	   
Hand	T	View hand	   
Hand	O	Discard random card	   
Hand	L+X	Draw 7 cards	   
Hand	L+O	Discard hand	   
Life	X	Decrement life	   
Life	T	Add 5 to life	   
Life	Sq	Subtract 5 from life	   
Life	O	Increment life	   
RFG	X	Put card to hand	   
RFG	T	Search RFG	   
RFG	Sq	Shuffle RFG	   
RFG	O	Put card to grave	   
RFG	L+X	Put card to play	   
RFG	L+O	Put card to library	 

Opponent's sidebar
 
Deck	X	Put card to op hand	   
Deck	T	Search op library	   
Deck	Sq	Shuffle op library	   
Deck	O	Put card to op grave	   
Deck	L+X	Put card to op play	   
Deck	L+T	Switch to temp / Put card to temp	   
Deck	L+O	Put card to op RFG	   
Grave	X	Put card to op hand	   
Grave	T	Search op graveyard	   
Grave	Sq	Shuffle op graveyard	   
Grave	O	Put card to op RFG	   
Grave	L+X	Put card to op play	   
Grave	L+O	Put card to op library	   
Hand	X	Put random card to op play	   
Hand	T	View op hand	   
Hand	O	Discard random card	   
Hand	L+X	Draw 7 cards	   
Hand	L+T	Switch to temp / Put card to temp	   
Hand	L+O	Discard hand	   
Life	X	Decrement life	   
Life	T	Add 5 to life	   
Life	Sq	Subtract 5 from life	   
Life	O	Increment life	   
RFG	X	Put card to op hand	   
RFG	T	Search op RFG	   
RFG	Sq	Shuffle op RFG	   
RFG	O	Put card to op grave	   
RFG	L+X	Put card to op play	   
RFG	L+O	Put card to op library	 



How to change decks

Simply copy a new deck to the MPS directory from the ones provided and rename it to myDeck.dat or opDeck.dat depending on which you which to replace.



How to make decks

Creating decks is an easy but somewhat tedious task.  A deck file is a plain text file, the first line is an integer corresponding to the number of cards in the deck.  Each consecutive line consists of a single integer which corresponds to that card's number in the set.  Order is completely unimportant.  See the provided deck files for an example.  



How to install new sets

MPS can handle any currently existing set in Magic the Gathering.  Making a new set for MPS is time consuming but not difficult.  As far as this program is concerned, a set consists of two portions, the database files and the images.  The most time consuming part of building a new set for MPS is creating the database files.  The database files are two plain text files, type.dat and name.dat.  Each file has the same format, the first line is an integer corresponding to the number of cards in the set.  Each consecutive line corresponds to that type or name, respectively.  Types are as follows:  0 creature, 1 artifact, 2 enchantment, 3 land, 4 instant, 5 sorcery.  For the purpose of this program, the lower number takes precedent, for example an artifact creature is a 0 not a 1 since 0 is the lower number.  Both files should be saved in the \MPS\data\ directory.  See the type and name files from the starter package for an example.  If you need a database to use for reference, get Magic Workstation at http://www.MagicWorkstation.com and the latest database at http://www.mwsgames.com/.  

The next step is preparing the images.  For this step, you should have a program or programs capable of high quality batch image resizing, batch image rotation, batch image type conversion, and batch renaming.  I recommend starting with high quality image scans, see http://www.mwsdata.com/forum/ for details.  For the full card view, the cards must be resized to 272 by 385 pixels and rotated 90 degrees to the left so that the final image is 385 by 272 pixels.  They should be saved in PNG format in the \MPS\data\CARD directory and numbered beginning at "001.png".  For the thumbnail image, the card must be resized to 18 by 25 and again numbered beginning at "001.png" and placed in the \MPS\data\THMN directory.  Those images should be copied and rotated to the right 90 degrees and numbered beginning with "t001.png" and also placed in the \MPS\data\THMN directory.  With the right tools, all of these image manipulations should only take a few minutes.  If you put together any card sets for MPS, please let me know so I can share them with others.



Information for people who want to learn to play Magic the Gathering

Learn to Play Magic: The Gathering - starts on part 2 because part 1 is them trying to get you to buy cards.
http://www.youtube.com/watch?v=XPei3KPr6QM

Back in 1997, Microprose made an rpg-style Magic game which to this day remains the best single player player Magic game that I know. You wander around fulfilling quests and battling creatures for money and cards. It's tough at first because they start you with crappy decks and you have to save a lot and run away a lot but later in the game, you'll just leave a trail of destruction behind you. It really makes you focus on your deck-building skills. Best of all for us, it's now freeware! Yaay!
http://www.the-underdogs.info/game.php?id=1550

Magic Online, the official program, you can click "Free trial" and play the 10th ed decks against other anonymous online opponents for free.
http://www.wizards.com/default.asp?x=magic/magiconline/downloadlinks

And of course Magic Workstation for PC.
http://www.magicworkstation.com/  &&  http://www.mwsdata.com/



Display Note

This program uses the PSP's internal fonts 1 and 8 which are stored in the PSP's flash0.  If you have modified either of these fonts manually, this may have unexpected results and result in display errors.  (Typical font modification involves changing font 0 only).



Limitations

-Does not enforce game rules.
-Maximum display size 56 cards per player.
-Maximum deck size 120 cards.
-Maximum set size of 500 (largest set at present is only 449 cards).
-Only supports on set at a time.
-Cards go to graveyard or RFG based on play zone, not owner.
-No wifi connectivity yet.

Features for version 2

-Wifi connectivity
-Improved deck structure
-Customize player names
-Much more...



Disclaimer

Magic PSP Station is provided free of charge for personal use.  You are free to redistribute this package so long as it is not altered in any way and provided it includes this readme file.  You may not sell this program nor include it with anything which requires payment to obtain.  MPS is not affiliated with Magic Workstation, Magic the Gathering, or Wizards of the Coast in any way.  This program is copyright (C) Jason Lonsberry 2007.



Thanks to

* Richard Garfield for creating Magic the Gathering in 1993 and Wizards of the Coast for producing and maintaining it.
* Magic Workstation, not only for providing the inspiration for MPS, but for being a great, free deck building resource and engine for online play.
* Malhavoc for allowing the use of his icons and backgrounds from the Magic Workstation Post 8th theme.
* MPSHQ for hosting the theme and picture files.
* BenHur and InsertWittyName for intraFonts, which uses parts of pgeFont.
* Psp2dev.org and everyone who contributed to making the PSP SDK & toolchain.
* Ahman, danny_kay1710, and Tyranid for IRShell, PSPHost, and usbhostfs respectively.
* Adam Webber for being a great teacher and mentor.
* Beta testers Dacooter, MipoFilms, user1m, and Mirzab14.


===========================================================
                                        
'||''|.   .|'''.|  '||''|.           .             .    ||                   
 ||   ||  ||..  '   ||   ||  ....  .||.   ....   .||.  ...    ...   .. ...   
 ||...|'   ''|||.   ||...|' ||. '   ||   '' .||   ||    ||  .|  '|.  ||  ||  
 ||      .     '||  ||      . '|..  ||   .|' ||   ||    ||  ||   ||  ||  ||  
.||.     |'....|'  .||.     |'..|'  '|.' '|..'|'  '|.' .||.  '|..|' .||. ||. 
