index 55508f0b724985ba0f52b0527e7fe51a81685d1d..914f0beccecb9f40143ec24eb9a23836c968da7a 100644 (file)
implementation
uses
- BinEditor, WADEDITOR, e_log, f_main, g_language
+ BinEditor, WADEDITOR, e_log, f_main, g_language, g_resources
{$IFNDEF NOSOUND}, fmod, fmodtypes, fmoderrors;{$ELSE};{$ENDIF}
{$R *.lfm}
function CreateSoundWAD(Resource: String): Boolean;
var
- WAD: TWADEditor_1;
FileName, SectionName, ResourceName: String;
ResLength: Integer;
sz: LongWord;
Channel := nil;
{$IFNDEF NOSOUND}
g_ProcessResourceStr(Resource, FileName, SectionName, ResourceName);
+ g_ReadResource(FileName, SectionName, ResourceName, SoundData, ResLength);
- WAD := TWADEditor_1.Create;
- WAD.ReadFile(FileName);
-
- if WAD.GetResource(SectionName, ResourceName, SoundData, ResLength) then
+ if SoundData <> nil then
begin
sz := SizeOf(FMOD_CREATESOUNDEXINFO);
FillMemory(@soundExInfo, sz, 0);
begin
e_WriteLog(Format('Error creating sound %s', [Resource]), MSG_WARNING);
e_WriteLog(FMOD_ErrorString(res), MSG_WARNING);
- WAD.Free();
Exit;
end;
end
else
begin
e_WriteLog(Format('Error loading sound %s', [Resource]), MSG_WARNING);
- e_WriteLog(Format('WAD Reader error: %s', [WAD.GetLastErrorStr]), MSG_WARNING);
- WAD.Free();
+ //e_WriteLog(Format('WAD Reader error: %s', [WAD.GetLastErrorStr]), MSG_WARNING);
Exit;
end;
- WAD.Free();
Result := True;
{$ENDIF}
end;
if res <> FMOD_OK then
begin
Application.MessageBox(FMOD_ErrorString(res),
- PChar(_lc[I_MSG_SOUND_ERROR]),
+ PChar(MsgMsgSoundError),
MB_OK or MB_ICONHAND);
Exit;
end;
g_ProcessResourceStr(FSetResource, FileName, SectionName, ResourceName);
if FileName = '' then
- FileName := _lc[I_WAD_SPECIAL_MAP];
+ FileName := MsgWadSpecialMap;
if SectionName = '' then
SectionName := '..';
// WAD файл:
- a := cbWADList.Items.IndexOf(win2utf(FileName));
+ a := cbWADList.Items.IndexOf(FileName);
if a <> -1 then
begin
cbWADList.ItemIndex := a;
end;
// Секция:
- a := cbSectionsList.Items.IndexOf(win2utf(SectionName));
+ a := cbSectionsList.Items.IndexOf(SectionName);
if a <> -1 then
begin
cbSectionsList.ItemIndex := a;
end;
// Ресурс:
- a := lbResourcesList.Items.IndexOf(win2utf(ResourceName));
+ a := lbResourcesList.Items.IndexOf(ResourceName);
if a <> -1 then
begin
lbResourcesList.ItemIndex := a;