+#include "ps.qh"
REGISTER_MINIGAME(ps, "Peg Solitaire");
const float PS_TURN_MOVE = 0x0100; // player has to click on a piece on the board
// find same game piece given its tile name
entity ps_find_piece(entity minig, string tile)
{
- entity e = world;
+ entity e = NULL;
while ( ( e = findentity(e,owner,minig) ) )
if ( e.classname == "minigame_board_piece" && e.netname == tile )
return e;
- return world;
+ return NULL;
}
bool ps_draw(entity minigame)
{
int valid = 0;
- entity e = world;
+ entity e = NULL;
while( ( e = findentity(e,owner,minigame) ) )
if( e.classname == "minigame_board_piece" )
{
//int number = minigame_tile_number(piece.netname);
//int letter = minigame_tile_letter(piece.netname);
- entity e = world;
+ entity e = NULL;
while ( ( e = findentity(e,owner,minigame) ) )
if ( e.classname == "minigame_board_piece" )
{
if(!middle)
return false;
- if(middle.netname) { strunzone(middle.netname); }
- remove(middle);
+ strfree(middle.netname);
+ delete(middle);
- if(piece.netname) { strunzone(piece.netname); }
- piece.netname = strzone(pos);
+ strcpy(piece.netname, pos);
minigame_server_sendflags(piece,MINIG_SF_ALL);
}
case "end":
{
- entity e = world;
+ entity e = NULL;
while( (e = findentity(e, owner, minigame)) )
if(e.classname == "minigame_board_piece")
{
- if(e.netname) { strunzone(e.netname); }
- remove(e);
+ strfree(e.netname);
+ delete(e);
}
return false;
}
// Required function, draw the game status panel
void ps_hud_status(vector pos, vector mySize)
{
- HUD_Panel_DrawBg(1);
+ HUD_Panel_DrawBg();
vector ts;
ts = minigame_drawstring_wrapped(mySize_x,pos,active_minigame.descriptor.message,
hud_fontsize * 2, '0.25 0.47 0.72', panel_fg_alpha, DRAWFLAG_NORMAL,0.5);
else
{
minigame_cmd("move ", ps_curr_piece.netname, " ", ps_curr_pos);
- ps_curr_piece = world;
+ ps_curr_piece = NULL;
}
}
}
void ps_set_curr_pos(string s)
{
- if ( ps_curr_pos )
- strunzone(ps_curr_pos);
+ strfree(ps_curr_pos);
if ( s )
s = strzone(s);
ps_curr_pos = s;
case "activate":
{
ps_set_curr_pos("");
- ps_curr_piece = world;
+ ps_curr_piece = NULL;
minigame.message = ps_turn_to_string(minigame.minigame_flags);
return false;
}
if ( sf & MINIG_SF_UPDATE )
{
sent.message = ps_turn_to_string(sent.minigame_flags);
- if ( sent.minigame_flags & minigame_self.team )
- minigame_prompt();
+ //if ( sent.minigame_flags & minigame_self.team )
+ //minigame_prompt();
}
}