X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_map.pas;h=722bd9bb1cdc2a8cf6625a9399795176a29979ea;hb=HEAD;hp=570d5e2413c66732c51084fdc17e37e62fc50708;hpb=9ba8ea50592447e5c5874f94338e7dd75f5a35ed;p=d2df-sdl.git diff --git a/src/game/g_map.pas b/src/game/g_map.pas index 570d5e2..722bd9b 100644 --- a/src/game/g_map.pas +++ b/src/game/g_map.pas @@ -1478,7 +1478,7 @@ begin if g_Game_IsClient then Exit; if (gGameSettings.GameType = GT_SINGLE) - or LongBool(gGameSettings.Options and GAME_OPTION_MONSTERS) then + or (TGameOption.MONSTERS in gGameSettings.Options) then begin mon := g_Monsters_Create(monster.MonsterType, monster.X, monster.Y, TDirection(monster.Direction)); @@ -1847,7 +1847,7 @@ begin cnt := -1; for rec in mapTextureList do begin - Inc(cnt); + cnt += 1; if not usedTextures.has(toLowerCase1251(rec.Resource)) then begin rec.tagInt := -1; // just in case @@ -1859,17 +1859,39 @@ begin e_LogWritefln(' Loading texture #%d: %s', [cnt, rec.Resource]); {$ENDIF} //if g_Map_IsSpecialTexture(s) then e_WriteLog(' SPECIAL!', MSG_NOTIFY); + // TODO: Unify the texture reader - static textures are a special case of dynamic ones, just with only one frame. if rec.Anim then begin // Àíèìèðîâàííàÿ òåêñòóðà ntn := CreateAnimTexture(rec.Resource, FileName, True); - if (ntn < 0) then g_SimpleError(Format(_lc[I_GAME_ERROR_TEXTURE_ANIM], [rec.Resource])); + if (ntn < 0) then + begin + // FIXME: I think, CreateAnimTexture() will load static textures too, just as animated ones with one frame. + ntn := CreateTexture(rec.Resource, FileName, False); + if (ntn < 0) then + g_SimpleError(Format(_lc[I_GAME_ERROR_TEXTURE_ANIM], [rec.Resource])) + else + begin + rec.user['animated'] := False; + e_LogWritefln(' wrong (outdated?) anim flag hint - texture #%d is actually static: %s', [cnt, rec.Resource]); + end; + end; end else begin // Îáû÷íàÿ òåêñòóðà ntn := CreateTexture(rec.Resource, FileName, True); - if (ntn < 0) then g_SimpleError(Format(_lc[I_GAME_ERROR_TEXTURE_SIMPLE], [rec.Resource])); + if (ntn < 0) then + begin + ntn := CreateAnimTexture(rec.Resource, FileName, False); + if (ntn < 0) then + g_SimpleError(Format(_lc[I_GAME_ERROR_TEXTURE_SIMPLE], [rec.Resource])) + else + begin + rec.user['animated'] := True; + e_LogWritefln(' wrong (outdated?) anim flag hint - texture #%d is actually animated: %s', [cnt, rec.Resource]); + end; + end; end; if (ntn < 0) then ntn := CreateNullTexture(rec.Resource); @@ -3272,9 +3294,9 @@ begin if gGameSettings.GameMode in [GM_TDM, GM_CTF] then begin // Î÷êè Êðàñíîé êîìàíäû - utils.writeInt(st, SmallInt(gTeamStat[TEAM_RED].Goals)); + utils.writeInt(st, SmallInt(gTeamStat[TEAM_RED].Score)); // Î÷êè Ñèíåé êîìàíäû - utils.writeInt(st, SmallInt(gTeamStat[TEAM_BLUE].Goals)); + utils.writeInt(st, SmallInt(gTeamStat[TEAM_BLUE].Score)); end; ///// ///// end; @@ -3364,9 +3386,9 @@ begin if gGameSettings.GameMode in [GM_TDM, GM_CTF] then begin // Î÷êè Êðàñíîé êîìàíäû - gTeamStat[TEAM_RED].Goals := utils.readSmallInt(st); + gTeamStat[TEAM_RED].Score := utils.readSmallInt(st); // Î÷êè Ñèíåé êîìàíäû - gTeamStat[TEAM_BLUE].Goals := utils.readSmallInt(st); + gTeamStat[TEAM_BLUE].Score := utils.readSmallInt(st); end; ///// ///// end;