X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Feditor%2Fg_map.pas;h=0c35d481384f5164798248af97a007c9244106b7;hb=3360cb5c3e96b591451afa67a0f8a281db79e8c5;hp=b74a403f7237076be5f4476fb44f2bc146f814ac;hpb=b834d54eac3c55d2943a92dc0087e624587f38ba;p=d2df-editor.git diff --git a/src/editor/g_map.pas b/src/editor/g_map.pas index b74a403..0c35d48 100644 --- a/src/editor/g_map.pas +++ b/src/editor/g_map.pas @@ -366,7 +366,7 @@ begin fn := fn + Res; end else - fn := EditorDir + 'wads/' + Res; + fn := WadsDir + DirectorySeparator + Res; g_CreateTextureWAD(SKY_TEXTURE, fn); end; @@ -1404,7 +1404,7 @@ begin NH := 0; MainForm.pbLoad.Position := 0; - MainForm.lLoad.Caption := _lc[I_LOAD_WAD]; + MainForm.lLoad.Caption := MsgLoadWad; Application.ProcessMessages(); // Читаем ресурс карты @@ -1414,7 +1414,7 @@ begin MapReader := TMapReader_1.Create(); - MainForm.lLoad.Caption := _lc[I_LOAD_MAP]; + MainForm.lLoad.Caption := MsgLoadMap; Application.ProcessMessages(); MapReader.LoadMap(pData); @@ -1426,7 +1426,7 @@ begin begin MainForm.pbLoad.Position := 0; MainForm.pbLoad.Max := Length(textures); - MainForm.lLoad.Caption := _lc[I_LOAD_TEXTURES]; + MainForm.lLoad.Caption := MsgLoadTextures; for a := 0 to High(textures) do begin @@ -1445,7 +1445,7 @@ begin if _fn = '' then TextureRes := FileName + ustr else - TextureRes := EditorDir+'wads/'+ustr; + TextureRes := WadsDir + DirectorySeparator + ustr; Error := False; @@ -1488,7 +1488,7 @@ begin begin MainForm.pbLoad.Position := 0; MainForm.pbLoad.Max := Length(panels); - MainForm.lLoad.Caption := _lc[I_LOAD_PANELS]; + MainForm.lLoad.Caption := MsgLoadPanels; for a := 0 to High(panels) do begin @@ -1567,7 +1567,7 @@ begin begin MainForm.pbLoad.Position := 0; MainForm.pbLoad.Max := Length(items); - MainForm.lLoad.Caption := _lc[I_LOAD_ITEMS]; + MainForm.lLoad.Caption := MsgLoadItems; for a := 0 to High(items) do begin @@ -1591,7 +1591,7 @@ begin begin MainForm.pbLoad.Position := 0; MainForm.pbLoad.Max := Length(monsters); - MainForm.lLoad.Caption := _lc[I_LOAD_MONSTERS]; + MainForm.lLoad.Caption := MsgLoadMonsters; for a := 0 to High(monsters) do begin @@ -1614,7 +1614,7 @@ begin begin MainForm.pbLoad.Position := 0; MainForm.pbLoad.Max := Length(areas); - MainForm.lLoad.Caption := _lc[I_LOAD_AREAS]; + MainForm.lLoad.Caption := MsgLoadAreas; for a := 0 to High(areas) do begin @@ -1637,7 +1637,7 @@ begin begin MainForm.pbLoad.Position := 0; MainForm.pbLoad.Max := Length(triggers); - MainForm.lLoad.Caption := _lc[I_LOAD_TRIGGERS]; + MainForm.lLoad.Caption := MsgLoadTriggers; for a := 0 to High(triggers) do begin @@ -1713,7 +1713,7 @@ begin // Открытие карты: MainForm.pbLoad.Position := 0; - MainForm.lLoad.Caption := _lc[I_LOAD_MAP];; + MainForm.lLoad.Caption := MsgLoadMap;; Application.ProcessMessages(); map := TConfig.CreateFile(_FileName); @@ -1723,7 +1723,7 @@ begin MainForm.pbLoad.Max := i; MainForm.pbLoad.Position := 0; - MainForm.lLoad.Caption := _lc[I_LOAD_TEXTURES]; + MainForm.lLoad.Caption := MsgLoadTextures; for a := 1 to i do begin @@ -1735,13 +1735,13 @@ begin Continue; // Нет такой текстуры - ищем в WAD карты: - if not g_CreateTextureWAD(s, EditorDir+'wads/'+s) then + if not g_CreateTextureWAD(s, WadsDir + DirectorySeparator + s) then begin s := ExtractFileName(_FileName); Delete(s, Length(s)-3, 4); s := UpperCase(s) + '.WAD:TEXTURES\'+ UpperCase(win2utf(map.ReadStr('Textures', 'TextureName'+IntToStr(a), ''))); - if not g_CreateTextureWAD(s, EditorDir+'wads/'+s) then + if not g_CreateTextureWAD(s, WadsDir + DirectorySeparator + s) then Continue; end; @@ -1753,7 +1753,7 @@ begin MainForm.pbLoad.Max := i; MainForm.pbLoad.Position := 0; - MainForm.lLoad.Caption := _lc[I_LOAD_PANELS]; + MainForm.lLoad.Caption := MsgLoadPanels; for a := 1 to i do begin @@ -1764,6 +1764,7 @@ begin if not map.SectionExists(section) then Continue; + panel := Default(TPanel); panel.X := map.ReadInt(section, 'X1', 0); panel.Y := map.ReadInt(section, 'Y1', 0); panel.Height := map.ReadInt(section, 'Height', 16); @@ -1780,6 +1781,7 @@ begin end; panel.Alpha := map.ReadInt(section, 'Alpha', 0); + panel.Blending := false; // Текстура панели: if panel.PanelType in [PANEL_WALL, PANEL_BACK, PANEL_FORE, PANEL_STEP] then @@ -1842,7 +1844,7 @@ begin MainForm.pbLoad.Max := i; MainForm.pbLoad.Position := 0; - MainForm.lLoad.Caption := _lc[I_LOAD_ITEMS]; + MainForm.lLoad.Caption := MsgLoadItems; for a := 1 to i do begin @@ -1853,6 +1855,7 @@ begin if not map.SectionExists(section) then Continue; + item := Default(TItem); item.X := map.ReadInt(section, 'X', 0); item.Y := map.ReadInt(section, 'Y', 0); item.ItemType := ITEMSCONVERT[map.ReadInt(section, 'Type', 0)]; @@ -1871,7 +1874,7 @@ begin MainForm.pbLoad.Max := i; MainForm.pbLoad.Position := 0; - MainForm.lLoad.Caption := _lc[I_LOAD_AREAS]; + MainForm.lLoad.Caption := MsgLoadAreas; for a := 1 to i do begin @@ -1882,6 +1885,7 @@ begin if not map.SectionExists(section) then Continue; + area := Default(TArea); area.X := map.ReadInt(section, 'X', 0); area.Y := map.ReadInt(section, 'Y', 0); area.AreaType := map.ReadInt(section, 'Type', 0); @@ -1895,6 +1899,7 @@ begin end; // Чтение параметров карты: + gMapInfo := Default(TMapInfo); with gMapInfo do begin Name := win2utf(map.ReadStr('MapOptions', 'MapName', '')); @@ -1912,6 +1917,8 @@ begin SetLength(Description, 256); end; + LoadSky(gMapInfo.SkyName); + map.Free(); Result := True; @@ -1938,17 +1945,9 @@ begin SetLength(gTriggers, 0); gTriggers := nil; - with gMapInfo do - begin - Name := ''; - Description := ''; - Author := ''; - MusicName := ''; - SkyName := ''; - FileName := ''; - Height := 1600; - Width := 1600; - end; + gMapInfo := Default(TMapInfo); + gMapInfo.Width := 1600; + gMapInfo.Height := 1600; with MainForm.lbTextureList do begin