Merge pull request #20 from solygen/master

some markdown
This commit is contained in:
Daenyth 2013-05-23 06:33:17 -07:00
commit 2dd5080294
7 changed files with 1413 additions and 127 deletions

60
TODO
View file

@ -1,60 +0,0 @@
This is an unordered list of possible todo items for Cockatrice.
Note that "improve" and "write" always also means: "document and comment"
Improve README.md, it is very minimalistic and technical
Improve packaging:
* Add SSL libraries to Windows build to support https links in oracle.exe
* Improve nsis file git hash extraction, it only works if the build directory is cleared as version_string.cpp does not seem to get updated by git pull/cmake
* Fix prepareMacRelease.sh to use default installation paths for Qt and protobuf
* Add Mac compile+package howto to the documentation
* Create script/... for creating Linux packages (deb, rpm, ebuild, ...) or at least an official tarball/git tags; package maintainers dislike using git snapshots so much that they rather ignore software without stable tarballs.
* Move everything package related into one directory
Write example init script for servatrice.
Write a default cgi webinterface in some language for the servatrice database. Keep it simple and think about SQL-injections and other security risks - especially if you do it in PHP :-P
Improve usermanual:
* Improve Layout, Text, Screenshots; nearly everything is still quick n dirty copy and paste.
* Add missing TODOs
* Translate the Documentation
* Include faq.txt and shortcuts.txt in usermanual, then remove them.
* Rename the picture filenames to something more meaningful.
* Create an index, lists of tables/figures/...
Find a better place for sets.xml than doc.
Create developer documentation:
* Create developer manual
* Add comments to code
* Describe which components exist and how they work and interact
* Describe the *.proto files
* Comment and document servatrice.sql
* Document everything!1!!
* Coding guidelines
Fix compile warnings (CMAKE_VERBOSE_MAKEFILE, compile with clang++), this could indicate missing program functionality:
* cockatrice/src/abstractclient.cpp:72:12: warning: enumeration value 'SessionEvent_SessionEventType_SERVER_COMPLETE_LIST' not handled in switch [-Wswitch]
switch ((SessionEvent::SessionEventType) getPbExtension(event)) {
^
* cockatrice/Cockatrice.VanNostrand/cockatrice/src/player.cpp:1725:12: warning: 4 enumeration values not handled in switch: 'cmMoveToTopLibrary', 'cmMoveToBottomLibrary', 'cmMoveToGraveyard'... [-Wswitch]
switch (static_cast<CardMenuActionType>(a->data().toInt())) {
^
* cockatrice/src/cardzone.cpp:127:11: warning: enumeration values 'CaseTopCardsOfZone', 'CaseRevealZone', and 'CaseShuffleZone' not handled in switch [-Wswitch]
switch (gc) {
Update SFMT library (http://www.math.sci.hiroshima-u.ac.jp/~m-mat@math.sci.hiroshima-u.ac.jp/MT/SFMT/) in common/sfmt and adapt common/rng_sfmt.cpp
Prepare to update to Qt5, as Qt4 will die some day. See http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5 for relevant information.
Move hardcoded URLs (especially from oracle and cockatrice) into a config file.
Update the oracle to find all MtG extensions by itself, why the need for sets.xml when the oracle could ask the Gatherer or magiccards.info directly for this information?
Update the oracle with some intelligence or improve it otherwise to deal with changes from the Gatherer.
Remove cockatrice/resources/mtgforum.png as it is unused. Find other dead files or dead references to websites and files in the program code and documentation.
Search git log for useful information/problems/bugs/...

76
TODO.md Normal file
View file

@ -0,0 +1,76 @@
#TODOs
This is an unordered list of possible todo items for Cockatrice.
Note that "improve" and "write" always also means: "document and comment"
##Docs
* Improve README.md, it is very minimalistic and technical
##Improve packaging:
* Add SSL libraries to Windows build to support https links in oracle.exe
* Improve nsis file git hash extraction, it only works if the build directory is cleared as version_string.cpp does not seem to get updated by git pull/cmake
* Fix prepareMacRelease.sh to use default installation paths for Qt and protobuf
* Add Mac compile+package howto to the documentation
* Create script/... for creating Linux packages (deb, rpm, ebuild, ...) or at least an official tarball/git tags; package maintainers dislike using git snapshots so much that they rather ignore software without stable tarballs.
* Move everything package related into one directory
##Scripts
* Write example init script for servatrice.
##Webinterface
* Write a default cgi webinterface in some language for the servatrice database. Keep it simple and think about SQL-injections and other security risks - especially if you do it in PHP :-P
##Improve usermanual:
* Improve Layout, Text, Screenshots; nearly everything is still quick n dirty copy and paste.
* Add missing TODOs
* Translate the Documentation
* Include faq.txt and shortcuts.txt in usermanual, then remove them.
* Rename the picture filenames to something more meaningful.
* Create an index, lists of tables/figures/...
## Storage
* Find a better place for sets.xml than doc.
##Create developer documentation:
* Create developer manual
* Add comments to code
* Describe which components exist and how they work and interact
* Describe the *.proto files
* Comment and document servatrice.sql
* Document everything!1!!
* Coding guidelines
##Fix compile warnings
* (CMAKE_VERBOSE_MAKEFILE, compile with clang++), this could indicate missing program functionality:
```
cockatrice/src/abstractclient.cpp:72:12: warning: enumeration value 'SessionEvent_SessionEventType_SERVER_COMPLETE_LIST' not handled in switch [-Wswitch]
switch ((SessionEvent::SessionEventType) getPbExtension(event)) {
```
```
cockatrice/Cockatrice.VanNostrand/cockatrice/src/player.cpp:1725:12: warning: 4 enumeration values not handled in switch: 'cmMoveToTopLibrary', 'cmMoveToBottomLibrary', 'cmMoveToGraveyard'... [-Wswitch]
switch (static_cast<CardMenuActionType>(a->data().toInt())) {
```
```
cockatrice/src/cardzone.cpp:127:11: warning: enumeration values 'CaseTopCardsOfZone', 'CaseRevealZone', and 'CaseShuffleZone' not handled in switch [-Wswitch]
switch (gc) {
```
##Else
* Update SFMT library (http://www.math.sci.hiroshima-u.ac.jp/~m-mat@math.sci.hiroshima-u.ac.jp/MT/SFMT/) in common/sfmt and adapt common/rng_sfmt.cpp
* Prepare to update to Qt5, as Qt4 will die some day. See http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5 for relevant information.
* Move hardcoded URLs (especially from oracle and cockatrice) into a config file.
* Update the oracle to find all MtG extensions by itself, why the need for sets.xml when the oracle could ask the Gatherer or magiccards.info directly for this information?
* Update the oracle with some intelligence or improve it otherwise to deal with changes from the Gatherer.
* Remove cockatrice/resources/mtgforum.png as it is unused. Find other dead files or dead references to websites and files in the program code and documentation.
* Search git log for useful information/problems/bugs/...

View file

@ -1,6 +1,10 @@
Add Sets
===
The oracle program creates the cockatrice card database and needs a set database to achieve this.
The set database is written in XML and has the following skeleton:
```
<?xml version="1.0" encoding="UTF-8"?>
<cockatrice_setdatabase version="20100416">
<picture_url>http://www.wizards.com/global/images/magic/general/%1.jpg</picture_url>
@ -19,6 +23,7 @@ The set database is written in XML and has the following skeleton:
...
</cockatrice_setdatabase>
```
The full set database file called "set.xml" should be included in the cockatrice git-sources.

View file

@ -1,5 +1,8 @@
FAQ
===
How to update the card database
===============================
---
When a new set comes out, you need to update your card database to be able to
see the new cards in the deck editor and use them in the game. To do this,
@ -15,7 +18,7 @@ be up to date.
Change Card Art / Custom Card Art
=================================
---
Is it possible to change the card art for a specif card, not by changing the
set order in my deck editor?
@ -27,15 +30,19 @@ actual file of the image to the cards (exact) name and add ”.Full” to the en
You can then take this new card image and replace the old one in your
downloaded image folder.
NOTE: Image size does not matter. Try to use a high resolution .JPG of the
card you want to use for best quality.
*NOTE: Image size does not matter. Try to use a high resolution .JPG of the
card you want to use for best quality.*
EXAMPLE: Let's say you wish to turn your M11 Sun Titan from its original art
to a promo version.
If you are using Windows 7, you can find the default location for the
Cockatrice card art files under
C:\Program Files (x86)>Cockatrice>pics>downloadedPics
```
C:\Program Files (x86)\Cockatrice\pics\downloadedPics
```
Once there, look for the folder of the
set for the card we are replacing. For this example, Sun Titan is in the M11
folder. Open the folder and paste/replace your new “Promo” Sun Titan.full[.JPG]
@ -51,12 +58,12 @@ If you are changing the art of a card that has multiple versions in other
sets, make sure you put the new card in whatever folder (or set) is highest
on your card database set list.
NOTE: Other players on Cockatrice will NOT see your new card image. They will
only see whatever version of the card is in their database.
*NOTE: Other players on Cockatrice will NOT see your new card image. They will
only see whatever version of the card is in their database.*
Use Higher Resolution Cards
===========================
---
Can you get better/higher resolution card art than the default downloaded card
images already used?
@ -73,50 +80,59 @@ image in the 3,000 by 1,000 pixel range, and save it as the cards (exact) name
and add .Full to the end.
If you are using Windows 7, you can find the default location for the
Cockatrice card art files under C:\Program Files
(x86)>Cockatrice>pics>downloadedPics. Once there, look for the folder of the
set for the card you are replacing. (If you are not running Cockatrice as an
administrator, look in C:\Users\username\AppData\Local\VirtualStore\Program
Files (x86)\Cockatrice\pics\downloadedPics.)
Cockatrice card art files under
```
C:\Program Files(x86)\Cockatrice\pics\downloadedPics
```
Once there, look for the folder of the set for the card you are replacing. If you are not running Cockatrice as an
administrator, look in
```
C:\Users\username\AppData\Local\VirtualStore\Program Files (x86)\Cockatrice\pics\downloadedPics
```
Open the folder of the set with the card, and paste/replace the new higher
resolution .JPG image with the old low quality one.
This process is the same for changing cards to custom images.
NOTE: Other Cockatrice players will not see your higher resolution card art,
they will only see the image they have in their own database.
*NOTE: Other Cockatrice players will not see your higher resolution card art,
they will only see the image they have in their own database.*
Booster Drafts
==============
---
Cockatrice does not support booster drafts, so players need to use an
external service for this.
Most people use http://ccgdecks.com/ so it's probably not a bad idea to
Most people use [ccgdecks.com](http://ccgdecks.com/) so it's probably not a bad idea to
register an account there before joining a game in Cockatrice.
How to link a card in the Cockatrice chat.
==========================================
---
To link a card in the Cockatrice chat, type out the full name of the card,
surrounded by the [card] and [/card] tags.
For example:
```
[card]Black Lotus[/card]
```
How to link a URL in the Cockatrice chat.
=========================================
---
To link a URL in the Cockatrice chat, type out the url, surrounded by the
[url] and [/url] tags.
For example:
```
[url]http://www.cockatrice.de[/url]
[url]cockatrice.de[/url]
```

48
doc/shortcuts.md Normal file
View file

@ -0,0 +1,48 @@
Keyboard Shortcuts
==================
Keyboard Shortcuts can be used while playing a game on Cockatrice. Players use
them to do simple and recurring tasks without the use of looking though menus
to find the proper action.
Shortcut Action
----------------------
| key | action
| ------------------------ | ---------------------------------------------------------------------
| F3 | View library
| F4 | View graveyard
| Ctrl+F3 | View sideboard
| Ctrl+W | View top car(s) of library (Choose a number)
| Ctrl+S | Shuffle deck
| Ctrl+I | Roll dice
| Ctrl+M | Draw 7, then mulligan successively
| Ctrl+D | Draw a card
| Ctrl+E | Draw Cards (Choose a number)
| Ctrl+Shift+D | Undo last draw
| Ctrl+L | Set Life (useful when adding or subtracting a large number of life)
| F11 | Minus 1 life
| F12 | Add 1 life
| Ctrl+U | Untap all permanents you control
| Ctrl+R | Remove all local arrows
| Ctrl+T | Brings up menu to Create a token
| Ctrl+G | Creates last token you made
| (Select card) Ctrl+Del | Move to graveyard
| (Select card) Ctrl+A | Attach Card (For equipment and auras)
| (Select card) Ctrl+H | Clone (Make copy of) selected card
| (Select card) Ctrl++ | Increase power
| (Select card) Ctrl+- | Decrease power
| (Select card) Alt++ | Increase toughness
| (Select card) Alt+- | Decrease toughness
| (Select card) Ctrl+Alt++ | Increase power and toughness
| (Select card) Ctrl+Alt+- | Decrease power and toughness
| (Select card) Ctrl+P | Set power and toughness
| Ctrl+Enter (Return) | Next turn
| Ctrl+Space | Move to next phase
| F5 | Untap step
| F6 | Draw step
| F7 | First main phase
| F8 | Beginning of combat step
| F9 | Second main phase
| F10 | End of turn step
| F2 | Concede game

View file

@ -1,45 +0,0 @@
Keyboard Shortcuts
==================
Keyboard Shortcuts can be used while playing a game on Cockatrice. Players use
them to do simple and recurring tasks without the use of looking though menus
to find the proper action.
Shortcut Action
----------------------
F3 View library
F4 View graveyard
Ctrl+F3 View sideboard
Ctrl+W View top car(s) of library (Choose a number)
Ctrl+S Shuffle deck
Ctrl+I Roll dice
Ctrl+M Draw 7, then mulligan successively
Ctrl+D Draw a card
Ctrl+E Draw Cards (Choose a number)
Ctrl+Shift+D Undo last draw
Ctrl+L Set Life (useful when adding or subtracting a large number of life)
F11 Minus 1 life
F12 Add 1 life
Ctrl+U Untap all permanents you control
Ctrl+R Remove all local arrows
Ctrl+T Brings up menu to Create a token
Ctrl+G Creates last token you made
(Select card) Ctrl+Del Move to graveyard
(Select card) Ctrl+A Attach Card (For equipment and auras)
(Select card) Ctrl+H Clone (Make copy of) selected card
(Select card) Ctrl++ Increase power
(Select card) Ctrl+- Decrease power
(Select card) Alt++ Increase toughness
(Select card) Alt+- Decrease toughness
(Select card) Ctrl+Alt++ Increase power and toughness
(Select card) Ctrl+Alt+- Decrease power and toughness
(Select card) Ctrl+P Set power and toughness
Ctrl+Enter (Return) Next turn
Ctrl+Space Move to next phase
F5 Untap step
F6 Draw step
F7 First main phase
F8 Beginning of combat step
F9 Second main phase
F10 End of turn step
F2 Concede game

1246
doc/usermanual/Usermanual.md Normal file

File diff suppressed because it is too large Load diff