Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - pedro

Страницы: Назад 1 ... 198 199 200 201 [202] 203 204 205 206 ... 351 Далее
6031
Nobius91,
работает

6032
Удобный распаковщик игровых архивов, хорошая замена hipster  ^_^

upd
новая версия, поправлена пара косяков, кнопки теперь на англ)

6033
GManiac,
Unit3 там не было, cпасибо :)

Добавлено позже:
тему можно крыть :D

6034
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, strutils, unit3;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
OpenDialog1: TOpenDialog;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

//pac

Type
Pack_Head = Packed Record
Magic:Array[0..3] of AnsiChar;
Data_Offset:DWORD;
File_Size:DWORD;
Entries_Count:DWORD;
Encode_Flag:DWORD;
File_Name_Length:DWORD;
Reserved1:DWORD;
Reserved2:DWORD;
End;

Pack_Entries = Record //$20
File_Name:Array of Ansichar;
File_Counter:DWORD;
Start_Offset:DWORD;
Length:Dword;
Reserved:Array of DWORD;
End;

Const //Magic Const
Pak_Magic:Ansistring=’FPAC’;

procedure DBG_WRITETOFILE(Input:TmemoryStream;filename:string);
var
Tmp:Integer;
Buffer:pbyte;
pos:Int64;
begin
pos:=input.Position;
input.Position:=0;
Getmem(buffer,Input.Size);
input.Read(buffer[0],Input.Size);
tmp:=fileopen(filename+’.tmp’,fmopenwrite);
if tmp=-1 then tmp:=filecreate(filename+’.tmp’);
filewrite(tmp,buffer[0],Input.Size);
fileclose(tmp);
Freemem(buffer);
input.Position:=pos;
end;

Function SetLen(var entries:Array of Pack_Entries;const Namelength:DWORD;const Num:Integer):Boolean;
var
tmp_counter:Integer;
length:Integer;
begin
Result:=True;
length:=($14 -(Namelength mod $10)) div 4;
for tmp_counter := 0 to Num-1 do
begin
setlength(entries[tmp_counter].File_Name, Namelength);
setlength(entries[tmp_counter].Reserved,length);
end;
end;

Function ReadMyRec(Handle:Integer;var Buffer:Pack_Entries;const Namelength:DWORD):Boolean;
begin
Result:=True;
FileRead(Handle,Buffer.File_Name[0],Namelength);
FileRead(Handle,Buffer.File_Counter,4);
FileRead(Handle,Buffer.Start_Offset,4);
FileRead(Handle,Buffer.Length,4);
FileRead(Handle,Buffer.Reserved[0],($14 -(Namelength mod $10)));
end;

Function PAC_Ana_Res(str_File_Path:String):Boolean; //Res Ana
Var
hdl_File_Handle:Integer;
Head:Pack_Head;
DataBuffer:Pbyte;
Int_vnCounter,Int_hd_Size:Integer;
tmp_FileName:Ansistring;
Out_Handle:Integer;
entries:Array of Pack_Entries;
begin
Result:=True;
try
hdl_File_Handle:=fileopen(str_File_Path,fmopenread);
if hdl_File_Handle=-1 then raise Exception.Create(‘Can Not Open File’);
FileRead(hdl_File_Handle,Head.Magic[0],sizeof(Pack_Head)); //文件头
if head.Magic<>Pak_Magic then Exception.Create(‘Magic Error’);
setlength(entries,head.Entries_Count);
SetLen(entries,head.File_Name_Length,head.Entries_Count);
Int_hd_Size:=((((head.File_Name_Length + $c) div $10) * $10) + $10)*head.Entries_Count;
for Int_vnCounter := 0 to head.Entries_Count – 1 do ReadMyRec(hdl_File_Handle,entries[Int_vnCounter],head.File_Name_Length); ///////
Int_hd_Size:=Int_hd_Size+sizeof(Pack_Head);
DataBuffer:=sysgetmem(head.File_Size-Int_hd_Size);
FileRead(hdl_File_Handle,DataBuffer[0],head.File_Size-Int_hd_Size);
str_File_Path:=ExtractFilePath(str_File_Path)+’OUTPUT\’+ ChangeFileExt(extractfilename(str_File_Path),”) +’\';
FileClose(hdl_File_Handle);
setlength(tmp_FileName,head.File_Name_Length);
for Int_vnCounter := 0 to head.Entries_Count – 1 do
begin
move(entries[Int_vnCounter].File_Name[0],Pbyte(tmp_FileName)^,head.File_Name_Length);
if not DirectoryExists(ExtractFilePath(str_File_Path+tmp_FileName)) then ForceDirectories(ExtractFilePath(str_File_Path+tmp_FileName));
Out_Handle:=Filecreate(str_File_Path+tmp_FileName);
if Out_Handle=-1 then Out_Handle:=Fileopen(str_File_Path+tmp_FileName,fmopenwrite);
FileWrite(Out_Handle,DataBuffer[entries[Int_vnCounter].Start_Offset],entries[Int_vnCounter].Length);
FileClose(Out_Handle);
end;
sysfreemem(DataBuffer);
except
Result:=False;
Exit;
end;
end;

//string.atf
//其实就是艹字限用的
type
Head_Rec = Packed Record
Magic:Array[0..3] of Ansichar;
Count:DWORD;
RESERVED:DWORD;
RESERVED1:DWORD;
End;

Save_Rec = Packed Record
Offset:DWORD;
COUNT:DWORD;
SIZE:DWORD;
RESERVED:DWORD;
End;
Cont_Rec = Packed Record
Offset:DWORD;
COUNT:DWORD;
SIZE:DWORD;
RESERVED:DWORD;
End;

Str_Rec = Packed Record
Offset:DWORD;
size1:DWORD;
SIZE:DWORD;
RESERVED:DWORD;
End;

Text_Rec = Packed Record
Offset:DWORD;
Unicode_Length:DWORD;
SIZE:DWORD;
RESERVED:DWORD;
End;

File_Head = Packed Record
Header:Head_Rec;
Save:Save_Rec;
Cont:Cont_Rec;
Str:Str_Rec;
Text:Text_Rec;
End;

Func_Rec = Packed Record
Str1_Offset:DWORD;
Str1_Length:DWORD;
RESERVED:DWORD;
RESERVED1:DWORD;
Str2_Offset:DWORD;
Str2_Length:DWORD;
RESERVED2:DWORD;
RESERVED3:DWORD;
End;

Function PAC_Ana_Scr(str_File_Path:String):Boolean;
var
head:File_Head;
hdl_File_Handle:Integer;
Out_Handle:Text;
Buffer,buffer1:Pbyte;
Func:Array of Func_Rec;
i:integer;
tmpstr:Ansistring;
untmpstr:string;
begin
Result:=True;
try
hdl_File_Handle:=fileopen(str_File_Path,fmopenread);
if hdl_File_Handle=-1 then raise Exception.Create(‘Can Not Open File’);
FileRead(hdl_File_Handle,Head.Header.Magic[0],$50); //文件头
if head.Header.Magic<>‘ATF’#0 then Exception.Create(‘Magic Error’);
Setlength(Func,Head.Cont.COUNT div 2);
FileSeek(hdl_File_Handle,Head.Cont.Offset,0);
FileRead(hdl_File_Handle,Func[0].Str1_Offset,Head.Cont.SIZE);
Buffer:=sysgetmem(head.Str.size1);
Buffer1:=sysgetmem(head.Text.SIZE);
FileSeek(hdl_File_Handle,Head.Str.Offset,0);
FileRead(hdl_File_Handle,buffer[0],Head.Str.SIZE);
FileSeek(hdl_File_Handle,Head.Text.Offset,0);
FileRead(hdl_File_Handle,buffer1[0],Head.Text.SIZE);
AssignFile(Out_Handle,str_File_Path+’.TXT’);
Rewrite(Out_Handle);
Write(Out_Handle,’//FOR BCS Hatsunetakumi’#13#10);
for I := 0 to Head.Cont.COUNT div 2 -1 do
begin
setlength(tmpstr,Func[i].Str1_Length);
Move(buffer[Func[i].Str1_Offset],pbyte(tmpstr)^,Func[i].Str1_Length);
setlength(untmpstr,Func[i].Str2_Length);
Move(buffer1[Func[i].Str2_Offset*2],pbyte(untmpstr)^,Func[i].Str2_Length*2);
Write(Out_Handle,format(‘%.3d’,[i]),’ ‘,tmpstr,’ ‘,untmpstr,#13#10);
end;
close(Out_Handle);
sysfreemem(buffer);
sysfreemem(buffer1);
except
Result:=False;
Exit;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Opendialog1.Execute();
if opendialog1.FileName<>” then Edit1.Text:=opendialog1.FileName;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if PAC_Ana_Res(Edit1.Text) then MessageBox(Application.Handle,’Finished’,'DeCode’,0)
else MessageBox(Application.Handle,’Failed’,'DeCode’,0);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if PAC_Ana_Scr(Edit1.Text) then MessageBox(Application.Handle,’Finished’,'DeCode’,0)
else MessageBox(Application.Handle,’Failed’,'DeCode’,0);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
Edit1.Text:=BrowseForFolder(’233′);
end;

function MakeFileList(Path,FileExt:string):TStringList ;
var
sch:TSearchrec;
begin
Result:=TStringlist.Create;
if rightStr(trim(Path), 1) <> ‘\’ then
Path := trim(Path) + ‘\’
else
Path := trim(Path);
if not DirectoryExists(Path) then
begin
Result.Clear;
exit;
end;
if FindFirst(Path + ‘*’, faAnyfile, sch) = 0 then
begin
repeat
Application.ProcessMessages;
if ((sch.Name = ‘.’) or (sch.Name = ‘..’)) then Continue;
if DirectoryExists(Path+sch.Name) then
begin
Result.AddStrings(MakeFileList(Path+sch.Name,FileExt));
end
else
begin
if (UpperCase(extractfileext(Path+sch.Name)) = UpperCase(FileExt)) or (FileExt=’.*’) then
Result.Add(Path+sch.Name);
end;
until FindNext(sch) <> 0;
SysUtils.FindClose(sch);
end;
end;

procedure TForm1.Button4Click(Sender: TObject);
VAR
TMP:TSTRINGLIST;
I:INTEGER;
begin
TMP:=TSTRINGLIST.Create;
TMP:=MAKEFILELIST(EXTRACTFILEPATH(Edit1.Text),’.pac’);
for I := 0 to TMP.Count – 1 do
PAC_Ana_Res(TMP[I]);
MessageBox(Application.Handle,’Finished’,'DeCode’,0);
end;

procedure TForm1.Button5Click(Sender: TObject);
VAR
TMP:TSTRINGLIST;
I:INTEGER;
begin
TMP:=TSTRINGLIST.Create;
TMP:=MAKEFILELIST(EXTRACTFILEPATH(Edit1.Text),’.atf’);
for I := 0 to TMP.Count – 1 do
PAC_Ana_Scr(TMP[I]);
MessageBox(Application.Handle,’Finished’,'DeCode’,0);
end;

end.

это распаковщик FPAK архивов, скомуниздил код с одного из нипонских форумов а вот собрать не удалось)
Пробовал скомпилировать через delphi7, но тот жаловался на отсутствие unit3, я хз что это и где его брать.

6035
Mad,пофиг что размещение другое, главное чтобы кириллицы в пути не было, проверь.

6036
тогда вот совет:
заходи в свойства папки "мои документы" и поменяй размещение на C:\My documents

пример

6037
Будьте любезны, выложите файл DisplaySetting.cfg, у меня игра его не создаёт и настройки дисплея не запоминает.
настройки будут сохранятся только после создания live акаунта


6038
BlackDaemon,слышно ли что нибудь про поддержку звука?

6039
Разное / Re: Пятница 13
« : 13 Август 2010, 23:57:53 »
как?  0_0

6040
Разное / Re: Пятница 13
« : 13 Август 2010, 23:09:37 »
seebox,ну-ну

6041
Разное / Re: Пятница 13
« : 13 Август 2010, 23:03:41 »
вот и пятница 13, у меня друга машиной сбило  :ohmy: хорошо жив остался.

6042
Разное / Re: Пятница 13
« : 13 Август 2010, 20:21:20 »
они наверно заказали вот такой свадебный торт  :D


6043
Цитата
а соперник будет свою видеть?
да

Добавлено позже:
музыка и звуки в форматах xwb и xsb  :( видимо форматы xbox360

upd
http://aluigi.org/papers.htm#unxwb
конвертор музыки XWB, ZWB и WBA форматов.

6044
Septor,дополнительно сейчас никак, информация от мапах видимо лежит в исполнимых файлах.

6045
Цитата
и будут ли они в онлайне????
нужно проверить

Добавлено позже:
да! в онлайне они будут.

Цитата
а как их сунуть?

тупо подменяй названия в архивах :)

в кш они лежат в data\BG  (папки 1_0, 1_5, 1_0cs)
в кт data\BGXACT

для каждой локации есть два файла, пример:
bg_chinatown.pac - тут лежат 3d объекты, звуки и скрипты для камер
bg_chinatown_img.pac - текстуры

6046
Septor,отключить только
AntiAliasing и LightBloom

можно еще в дровах покапаться и выставить все на минималку)

Добавлено позже:
 :crazy:

арены с аркадного кш подходят к кт




Добавлено позже:
хотел подсунуть хазаму, но формат архивов с персонажами был изменен  :(

6047
В опциях игры минимально доступное разрешение 1024х768, однако в конфиг файле можно задать любое.

Лезем
My documents\ARC SYSTEM WORKS\BLAZBLUE-CT\Config\DisplaySetting.cfg
и правим

:WindowResolutionWidth
:WindowResolutionHeight

:FullscreenResolutionWidth
:FullscreenResolutionHeight


актуально для владельцев 15 дюймовых ноутов и старых мониторов :)

6048
и вправду работает :)

Добавлено позже:
уже прокачался до четвертого уровня  :wow:

6049
надо создавать аккаунт, как будто ты из США
вот тут подробно все


и как, работает?

6050
Цитата
BLAZBULE CT -- Build : Apr 30 2010 15:18:13.
а сборка то 30го апреля  :D

Добавлено позже:
пишите если кто придумает как обмануть live  :D

6051
обидно :(
А порт отвратительный, поверить не могу что они так долго делали эту фигню  <_<

Добавлено позже:
:lol: на аркадной версии CS есть упоминание о макото!




Добавлено позже:
сейчас закину прикольных текстурок

Добавлено позже:
интересно для чего эти иконки?  :shifty:





эти иконки скорее всего принадлежат режиму легион  o_0



6052
Общий / Re: Во что сейчас играем?
« : 13 Август 2010, 10:17:11 »
BlazBlue CT PC  :D

6054
Разное / Re: Юмор
« : 12 Август 2010, 21:50:55 »

6055
Разное / Re: Пятница 13
« : 12 Август 2010, 21:44:42 »
blazblue не установится  0_0 или нет, инет отключат в час ночи и я не успею её скачать  0_0 0_0 0_0

6056
Это Fate Stay Night что-ли? ток щас вдуплился. 0_0
её ответвление

6057
онлайн совместный с игроками xbox360, через live

6059
та же psp go только с телефоном  <_<

6060
А на какой странице последняя рева эмулятора?
Цитата
Скачать новые версии можно здесь, здесь или здесь

Добавлено позже:
Fate Extra, вторая дуэль, прошел уже четверть игры :)


Страницы: Назад 1 ... 198 199 200 201 [202] 203 204 205 206 ... 351 Далее