		  Sailor Moon: Senshi Wars (Beta)
	    
 	   http://www.geocities.com/Tokyo/Shrine/4706/	
 	(Page not done yet, tell Lil Maruko to hurry it up!)
			
	Senshi Wars is a multiplayer strategy game featuring the
one and only Sailor Moon! Please remember that the game is far 
from completed and the main reason why I'm releasing it now is
because I need more people to help test the game. I'm really sorry
if the game does not work for you, there's still a ton of bugs to be
removed. Since this is my first Windows program written in C, I 
have no idea what I'm doing so if you have experience with 
programming Windows95 or DirectX, any help would be appreciated. =)

1.) System Requirements - Windows 95 or higher
			  DirectX 5.0 or higher
			  32-bit TCP/IP for Internet play
			  Display capable of 16-bit color

2.) Disclaimer - Sailor Moon is copyright  1992 
		 Naoko Takeuchi/Kodansha
	         TOEI Animation. 

3.) Playing Instructions - 
	a.) Getting started:
		Since this is currently only a multiplayer game,
		there are two ways to play. Either by creating a
		game of your own, or joining a game in progress.
		
	b.) Creating a game:
		Simply type in the name you want to be identified
		as, then click on create. Type in a session name
		for your game and you're ready to go.
	c.) Joining a game: 
		Type in your name, choose a connection method, and
		click on join. A list of available sessions will
		appear and join in the game.
		Depending on which connection method you choose, 
		the program might prompt for additional information. 
		For example, if you choose to connect over modem, it 
		will ask for a telephone number, if you connect over 
		TCP/IP, it will ask for the IP address of the host. 
		The host can obtain his/her IP address by running
		WinIPCfg on their computer.
	d.) The chatroom:
		After joining in a game, you will arrive in a 
		chatroom where you can talk to your fellow players.
		Here you will also decide which team you wish to
		be on and what character you want to play. Only 
		the host may start the game.
 	e.) Playing the game:
		The purpose of the game is simple, kill the other team.
		The game is turn based, so you will not be able to
		move unless it says it is your turn. Otherwise
		it will say Waiting on the bottom right hand corner
		of the screen. Playing the game is simple, when it 
		is your turn, simply find a highlighted yellow square
		and hit the space bar to move your character there.
		Then you will be prompted to do an attack. After
		selecting an attack, you might have the option of
		choosing a target.
	f.) Other commands:
		During the game you may do one of the following:
		
                Enter - To chat to everyone
                Shift+Enter - To chat to team members only
                Ctrl+S - To toggle the sound fx
                Ctrl+M - To toggle the midi
                Ctrl+X - To exit the game
		Ctrl+T - Play next midi
                Space - To select
		ESC - To cancel an action

4.) Other pointless stuff - Most of the artwork was taken from
	the SNES Sailor Moon: Another Story. If there is anyone
	out there who is a talented artist and would like to draw
	some pictures for the game, please tell me! I would also
	appreciate any other help you can give me. The game could be a 
	great Rpg but I need artists, musicians and programmers..

        Because I changed the program so many times, I don't know when
        I'm testing the game whether the other players have the same
        one as I do. Therefore I added a Rev. number in the startup
        dialog box so people can tell if they have the same one as I do.

5.) Credits - Please take the time to thank all these wonderful
	      people who helped in the creation of the game. Forgive
	      me if I left your name out, it's probably because I
	      just quickly wrote up this readme and it slipped my
	      little mind , or that I just couldn't spell your name.
	      Gomen Nasai! ^_^ Oh and if you want me to include any
	      additional info here please tell me too.

Listed in no particular order:
Eudial Sn0
Aquila582
SSlrRanma
SNorgard	
LinnaStarr
BlueLute
SSlrVenus
Chiba Endy
KamekSally
SSlrSaturn
LitaJup657
Cyan
SmXFiles5

6.) TroubleShooting - If you are unable to connect using TCP/IP
                      try running WinIpCfg on your computer and
                      check to see if you have a valid IP address.
                      If you are an AOL user, it might be because
                      you are using a restricted account, that
                      includes accounts with a "Mature Teen"
                      setting.

                      Just because you have AOL3.0 and you're using
                      Windows 95 doesn't mean it is AOL3.0 for
                      Win95. Go to Help and About, it should
                      say America Online for Windows 95, if it
                      says America Online for Windows, then it
                      is for Windows 3.1

                      Oh yeah in case you run into any problems
		      email AiSenshi@aol.com.
			
		      Although I doubt i'll be able to fix it, heh
		      sorry.

		      Please report any bugs/suggestions. Thanks!

7.) To do list - These are some of the things which I still have yet
		 to do.

                - Need some sound effect wavs, like.. a beeping
                - Need someone to fix up the artwork, it's a little blocky
                  for 16-bit color and 640x480 resolution..
                  when someone chats or explosions or whatever.
                - Need artwork of the senshi dead or hurt
                - Need frames of the senshi walking
		- Need people to help me make more maps.
                - Needs better WAV samples.
		- Fix bugs.
		- Possibly make it an RPG???
                - Anything to make it look nicer. ^_^
		- Need suggestions please!
				
8.) Known Errors - If you know how to fix these problems please email me

                - I get a First-chance exception in sm.exe (KERNEL32.DLL)
                  Access Violation
        
                  This happens whenever I get the handle to the device
                  context of the Back buffer of the Primary surface, then
                  use the GDI functions such as SetBkColor, and SetTextColor.

                  It doesn't seem to be causing any problems but I'm
                  probably wrong.

                  Uh.. now I'm "Access Violating" all over the place. oy..

                  The DirectX SDK code uses basically the same thing and it
                  never gives them any errors.. I'm just cursed. I'm an idiot
                  I know.

                - Multiple instances of the program can be run, before I
                  thought I could just check the hPrevInstance value
                  passed to the WinMain function but I found out that
                  it was obsolete in Win95. So if anyone knows to stop
                  people from running it multiple times, please tell me.
                  Thanks

		- If I get a handle to device content of a DirectDraw 
		  surface, then use the Win32 BitBlt with the raster 
		  operation SRC_AND (i think), it causes major errors.
		  It works fine for around 20 blits then it totally
		  messes up the computer. i don't really know why..

                - The MIDI sometimes just doesn't play, I have no idea why
                  nor do I have any idea how to fix it. The Midi is played
		  using the following code:

                  (Oh yeah, I had to start the midi before I entered the
                   GetMessage loop thing for the game window, if I started
                   the midi when the window received the WM_CREATE message,
                   it wouldn't loop, it doesn't send the notify message.
                   Um.. anyone know why? )

		  BOOL PlayMidi(char *sFileName)
		  {		
    			char buf[256];

    			sprintf(buf, "open %s type sequencer alias MUSIC", sFileName);
    
    			if (mciSendString("close all", NULL, 0, NULL) != 0)
    			{
				return(FALSE);
    			}

    			if (mciSendString(buf, NULL, 0, NULL) != 0)
    			{
				return(FALSE);
    			}

    			if (mciSendString("play MUSIC from 0 notify", NULL, 0, g_hWnd) != 0)
    			{
				return(FALSE);
   			}
    			
    			// Yahoo!
    			return TRUE;
		}

		Most of the code I used is copied from the DirectX
		SDK... it always works for them, never works for me.
		ah well...


9.) Revisions
        Rev. 8 - Reduce MSHA power a bit
                 Ability to choose map
                 FFA mode
        Rev. 7 - Reduced Chibi attack power
                 Reduce back/side to +1 side, +3 back
                 Add midi changer
                 Added lost turn check
                 Fixed bug with moving
                 Fixed kill person bug
        Rev. 6 - Changed so next line after current text is removed
                 Reduced damage on BM, and PSHA
                 Increased on DS, and WS
                 Fixed a little of the freezing errors
                 Fixed CB bug

        Rev. 5 - Fixed some dropping errors
                 Fixed CBS damage

        Rev. 4 - Guaranteed messaging for starting game
                 Reduced PSHA damage
                 Increased ST damage
                 Dropped players can no longer drop, nor accept move messages
                 Heh, messages stay on the screen not 6 seconds, but 6000
                     seconds, sorry about that. It's fixed.

        Rev. 3 - Attack from different sides do more damage
                 Ability to chat to your team only
                 Session names can be longer
                 Unable to freeze or time stop someone already frozen
                 Cannot join after game started
                 Messages stay longer on the screen (6 seconds)
                 Empty lines will not be sent to the chatroom
                 Balanced attacks

        Rev. 2 - ..?
        Rev. 1 - ..?
