#include "bd.qh"
-REGISTER_MINIGAME(bd, "Bulldozer");
+REGISTER_MINIGAME(bd, _("Bulldozer"));
REGISTER_NET_LINKED(ENT_CLIENT_BD_CONTROLLER)
case BD_TILE_BRICK1: return false;
}
- if(hit.netname) { strunzone(hit.netname); }
- hit.netname = strzone(testpos);
+ strcpy(hit.netname, testpos);
minigame_server_sendflags(hit,MINIG_SF_UPDATE);
break;
}
case BD_TILE_BRICK1: return false;
}
- if(dozer.netname) { strunzone(dozer.netname); }
- dozer.netname = strzone(newpos);
+ strcpy(dozer.netname, newpos);
return true;
}
entity dozer = bd_find_dozer(minigame);
if(!dozer)
{
- LOG_INFO("Dozer wasn't found!\n");
+ LOG_INFO("Dozer wasn't found!");
return; // should not happen... TODO: end match?
}
if(!piece)
return; // how?!
- if(piece.netname) { strunzone(piece.netname); }
+ strfree(piece.netname);
delete(piece);
minigame_server_sendflags(minigame,MINIG_SF_UPDATE);
return;
if(targ && thetype == targ.bd_tiletype)
{
- if(targ.netname) { strunzone(targ.netname); }
+ strfree(targ.netname);
delete(targ);
}
else if(piece && thetype == piece.bd_tiletype)
{
- if(piece.netname) { strunzone(piece.netname); }
+ strfree(piece.netname);
delete(piece);
}
else return;
while( (e = findentity(e, owner, minigame)) )
if(e.classname == "minigame_board_piece")
{
- if(e.netname) { strunzone(e.netname); }
+ strfree(e.netname);
delete(e);
}
e = NULL;
if(minigame.bd_nextlevel && minigame.bd_nextlevel != "")
{
- if(minigame.bd_levelname) { strunzone(minigame.bd_levelname); }
- minigame.bd_levelname = strzone(minigame.bd_nextlevel);
+ strcpy(minigame.bd_levelname, minigame.bd_nextlevel);
}
bd_setup_pieces(minigame);
void bd_set_next_match(entity minigame, string next)
{
- if(minigame.bd_nextlevel) { strunzone(minigame.bd_nextlevel); }
- minigame.bd_nextlevel = strzone(next);
+ strcpy(minigame.bd_nextlevel, next);
}
void bd_next_match(entity minigame, entity player, string next)
{
tokenize_console(s);
- if(minigame.bd_nextlevel) { strunzone(minigame.bd_nextlevel); }
- minigame.bd_nextlevel = strzone(argv(2));
+ strcpy(minigame.bd_nextlevel, argv(2));
}
int bd_fix_dir(vector dir)
int target_count = 0, boulder_count = 0;
entity piece = NULL;
while((piece = findentity(piece,owner,minigame)))
- if(piece.classname == "minigame_board_piece")
- if(piece.bd_tiletype == BD_TILE_BOULDER)
- ++boulder_count;
- else if(piece.bd_tiletype == BD_TILE_TARGET)
- ++target_count;
+ if(piece.classname == "minigame_board_piece")
+ {
+ if(piece.bd_tiletype == BD_TILE_BOULDER)
+ ++boulder_count;
+ else if(piece.bd_tiletype == BD_TILE_TARGET)
+ ++target_count;
+ }
if(boulder_count != target_count)
{
- LOG_INFO("Not enough targets or boulders, fix your level!\n");
+ LOG_INFO("Not enough targets or boulders, fix your level!");
return false;
}
file_get = fopen(file_name, FILE_READ);
if(file_get < 0)
{
- LOG_INFO("^3BULLDOZER: ^7could not find storage file ^3", file_name, "^7, no items were loaded\n");
+ LOG_INFO("^3BULLDOZER: ^7could not find storage file ^3", file_name, "^7, no items were loaded");
}
else
{
entity dozer = bd_find_dozer(minigame);
if(!dozer)
{
- LOG_INFO("You need to place a bulldozer on the level to save it!\n");
+ LOG_INFO("You need to place a bulldozer on the level to save it!");
return;
}
}
else
{
- LOG_INFO("You need to set the level name!\n");
+ LOG_INFO("You need to set the level name!");
return;
}
}
{
case "start":
{
- if(minigame.bd_levelname) { strunzone(minigame.bd_levelname); }
- minigame.bd_levelname = strzone(autocvar_sv_minigames_bulldozer_startlevel);
+ strcpy(minigame.bd_levelname, autocvar_sv_minigames_bulldozer_startlevel);
bd_setup_pieces(minigame);
minigame.minigame_flags = BD_TURN_MOVE;
while( (e = findentity(e, owner, minigame)) )
if(e.classname == "minigame_board_piece")
{
- if(e.netname) { strunzone(e.netname); }
+ strfree(e.netname);
delete(e);
}
e = NULL;
delete(e);
}
- if(minigame.bd_nextlevel) { strunzone(minigame.bd_nextlevel); }
- if(minigame.bd_levelname) { strunzone(minigame.bd_levelname); }
+ strfree(minigame.bd_nextlevel);
+ strfree(minigame.bd_levelname);
return false;
}
case "join":
minigame_drawpic_centered( tile_pos,
minigame_texture(thepiece),
tile_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL );
- }
+ }
}
else if ( e.classname == "minigame_board_piece" )
{
default:
case BD_DIR_DN: theang = M_PI; break;
case BD_DIR_LF: theang = M_PI * 3 / 2; break;
- case BD_DIR_RT: theang = M_PI / 2; break;
+ case BD_DIR_RT: theang = M_PI / 2; break;
}
drawrotpic(tile_pos, theang, minigame_texture("bd/dozer"),
if ( (active_minigame.minigame_flags & BD_TURN_LOSS) || (active_minigame.minigame_flags & BD_TURN_WIN) )
{
vector winfs = hud_fontsize*2;
- string victory_text = "Game over!";
+ string victory_text = _("Game over!");
if(active_minigame.minigame_flags & BD_TURN_WIN)
- victory_text = "Well done! Click 'Next Level' to continue";
+ victory_text = _("Well done! Click 'Next Level' to continue");
vector win_pos = pos+eY*(mySize_y-winfs_y)/2;
vector win_sz;
win_sz = minigame_drawcolorcodedstring_wrapped(mySize_x,win_pos,
- sprintf("%s", victory_text),
- winfs, 0, DRAWFLAG_NORMAL, 0.5);
+ victory_text, winfs, 0, DRAWFLAG_NORMAL, 0.5);
drawfill(win_pos-eY*hud_fontsize_y,win_sz+2*eY*hud_fontsize_y,'0.3 0.3 1',0.8,DRAWFLAG_ADDITIVE);
minigame_drawcolorcodedstring_wrapped(mySize_x,win_pos,
- sprintf("%s", victory_text),
- winfs, panel_fg_alpha, DRAWFLAG_NORMAL, 0.5);
+ victory_text, winfs, panel_fg_alpha, DRAWFLAG_NORMAL, 0.5);
}
}
return _("Better luck next time!");
if ( turnflags & BD_TURN_WIN )
+ {
if(random() > 0.5)
return _("Tubular! Press \"Next Level\" to continue!");
else
return _("Wicked! Press \"Next Level\" to continue!");
+ }
if( turnflags & BD_TURN_EDIT )
return _("Press the space bar to change your currently selected tile");
void bd_set_curr_pos(string s)
{
- if ( bd_curr_pos )
- strunzone(bd_curr_pos);
+ strfree(bd_curr_pos);
if ( s )
s = strzone(s);
bd_curr_pos = s;
{
case "activate":
{
- minigame.message = bd_turn_to_string(minigame.minigame_flags);
+ strcpy(minigame.message, bd_turn_to_string(minigame.minigame_flags));
bd_set_curr_pos("");
bd_curr_tile = BD_TILE_BRICK1;
return false;
}
+ case "deactivate":
+ {
+ strfree(minigame.message);
+ return false;
+ }
case "key_pressed":
{
if(minigame.minigame_flags & BD_TURN_MOVE)
{
if ( sf & MINIG_SF_UPDATE )
{
- sent.message = bd_turn_to_string(sent.minigame_flags);
+ strcpy(sent.message, bd_turn_to_string(sent.minigame_flags));
//if ( sent.minigame_flags & minigame_self.team )
- minigame_prompt();
+ //minigame_prompt();
}
}
else if(sent.classname == "minigame_board_piece")
{
int letter = ReadByte();
int number = ReadByte();
- if(sent.netname) { strunzone(sent.netname); }
- sent.netname = strzone(minigame_tile_buildname(letter, number));
+ strcpy(sent.netname, minigame_tile_buildname(letter, number));
sent.bd_tiletype = ReadByte();