X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fminigames%2Fminigame%2Fbd.qc;h=8ab37af13c8d26ad260238805cf2d4a287f431de;hb=f785b8a76c2336cb00e78fe9e738d55512a086f5;hp=cda2e5d261368c5088beac39f9a60d71b4f98e46;hpb=fdbfb6f9364d8aeae67e108400a6bd1dd37dc0b7;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/minigames/minigame/bd.qc b/qcsrc/common/minigames/minigame/bd.qc index cda2e5d26..8ab37af13 100644 --- a/qcsrc/common/minigames/minigame/bd.qc +++ b/qcsrc/common/minigames/minigame/bd.qc @@ -309,8 +309,7 @@ bool bd_move_dozer(entity minigame, entity dozer) 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; } @@ -330,8 +329,7 @@ bool bd_move_dozer(entity minigame, entity dozer) case BD_TILE_BRICK1: return false; } - if(dozer.netname) { strunzone(dozer.netname); } - dozer.netname = strzone(newpos); + strcpy(dozer.netname, newpos); return true; } @@ -348,7 +346,7 @@ void bd_move(entity minigame, entity player, string dir) 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? } @@ -422,7 +420,7 @@ void bd_editor_place(entity minigame, entity player, string pos, int thetile, st if(!piece) return; // how?! - if(piece.netname) { strunzone(piece.netname); } + strfree(piece.netname); delete(piece); minigame_server_sendflags(minigame,MINIG_SF_UPDATE); return; @@ -488,12 +486,12 @@ void bd_unfill_recurse(entity minigame, entity player, int thetype, int letter, 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; @@ -568,7 +566,7 @@ void bd_setup_pieces(entity minigame) 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; @@ -598,8 +596,7 @@ void bd_do_next_match(entity minigame, entity player) 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); @@ -609,8 +606,7 @@ void bd_do_next_match(entity minigame, entity player) 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) @@ -678,8 +674,7 @@ void bd_set_nextlevel(entity minigame, string s) { 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) @@ -732,15 +727,17 @@ bool bd_save_level(entity minigame) 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; } @@ -791,7 +788,7 @@ void bd_load_level(entity minigame) 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 { @@ -829,7 +826,7 @@ void bd_close_editor(entity minigame, entity player) 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; } @@ -840,7 +837,7 @@ void bd_close_editor(entity minigame, entity player) } else { - LOG_INFO("You need to set the level name!\n"); + LOG_INFO("You need to set the level name!"); return; } } @@ -854,8 +851,7 @@ int bd_server_event(entity minigame, string event, ...) { 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; @@ -867,7 +863,7 @@ int bd_server_event(entity minigame, string event, ...) 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; @@ -877,8 +873,8 @@ int bd_server_event(entity minigame, string event, ...) 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": @@ -1168,10 +1164,12 @@ string bd_turn_to_string(int turnflags) 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"); @@ -1209,8 +1207,7 @@ void bd_editor_fill(entity minigame) 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; @@ -1377,7 +1374,7 @@ int bd_client_event(entity minigame, string event, ...) { 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") @@ -1386,8 +1383,7 @@ int bd_client_event(entity minigame, string event, ...) { 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();