1 /* $Id: PlayerView.h,v 1.10 2003/02/06 14:51:53 nan Exp $ */
2 
3 // Copyright (C) 2000, 2002, 2003  $B?@Fn(B $B5H9((B(Kanna Yoshihiro)
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 
19 #ifndef _PlayerView_
20 #define _PlayerView_
21 #include "View.h"
22 
23 #if !defined(CHIYO)
24 class partsmotion;
25 typedef partsmotion partsmotion_t;
26 #else
27 class body_parts;
28 typedef body_parts partsmotion_t;
29 #endif
30 
31 class Player;
32 
33 class PlayerView : public View {
34 public:
35   PlayerView();
36   virtual ~PlayerView();
37 
38   static void * LoadData(void *dum);
39 
40   virtual bool Init( Player *player );
41 
42   virtual bool Redraw();
43   virtual bool RedrawAlpha();
44 
45   void DrawTargetCircle( double diff );
46 private:
47   Player  *m_player;	// Model
48 
49   partsmotion_t *m_Fnormal;
50   partsmotion_t *m_Bnormal;
51   partsmotion_t *m_Fdrive;
52   partsmotion_t *m_Bdrive;
53   partsmotion_t *m_Fcut;
54   partsmotion_t *m_Bcut;
55   partsmotion_t *m_Fpeck;
56   partsmotion_t *m_Bpeck;
57   partsmotion_t *m_Fsmash;
58   partsmotion_t *m_Bsmash;
59 
60   static partsmotion_t *motion_Fnormal;
61   static partsmotion_t *motion_Bnormal;
62   static partsmotion_t *motion_Fdrive;
63   static partsmotion_t *motion_Fcut;
64   static partsmotion_t *motion_Bcut;
65   static partsmotion_t *motion_Fpeck;
66   static partsmotion_t *motion_Bpeck;
67   static partsmotion_t *motion_Fsmash;
68 
69   virtual bool SubRedraw();
70   double GetHitpointY();
71 
72   void DrawPlayer();
73   void DrawTarget();
74   void DrawMeter();
75 
76   float m_xdiff;
77   float m_ydiff;
78   float m_zdiff;
79 };
80 
81 #endif	// _PlayerView
82