Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Проблема с DUNE

 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Экстремальный ромхакинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Пт Июл 07, 2006 12:23 pm    Заголовок сообщения: Проблема с DUNE Ответить с цитатой

Занялся я переводом Dune The Battle For Arrakis(это моя любимая игра
на сеге). Проблемы начились при переводе TUTORIAL. Я нашел как загружаются шрифты,как они выводятся из VDP (RLE), но если я изменяю что-нибудь(удлинняю строки, добаляю еще одни) -игра повисает.
Меня смущают байты, стоящие перед началом сообщения
"DESCRIPTIONS OF TERRAIN":
85 00 99 7F 00 00 30 03 A2
И в конце:
60 8D 89 48 (Адрес $ 32472h )
Я не знаю, что они обозначают( по идее это должны быть
координаты вывода сообщений на экран), но я не вижу в них
никакого алгоритма.
Помогите, please! Бьюсь уже который день.Может быть кто знаком с этой проблемой?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Chaos
Смотрящий в ночи


Зарегистрирован: 08.11.2003
Сообщения: 587
Откуда: Первозданный Хаос

СообщениеДобавлено: Пт Июл 07, 2006 12:50 pm    Заголовок сообщения: Ответить с цитатой

Если не ошибаюсь, человек, который ломал эту игру для нашего перевода Wink давно отошёл от дел, так что мало кто поможет Smile
_________________
Homo sum; humani nibil a me alienum puto.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Пт Июл 07, 2006 1:14 pm    Заголовок сообщения: Ответить с цитатой

Не понял. Я впервые захожу на форум за все полгода, что занимался ромхакингом.Первый еще раз столкнулся с проблемой(даже во FLASHBACK,графику которого я думал нереально перевести,не было проблем).Не знаю за кого вы меня принимаете. Question

Последний раз редактировалось: PEREVODчик (Пн Июл 04, 2011 4:27 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tmax



Зарегистрирован: 24.12.2003
Сообщения: 53

СообщениеДобавлено: Пт Июл 07, 2006 1:36 pm    Заголовок сообщения: Ответить с цитатой

PEREVODчик писал(а):
Не знаю за кого
вы меня принимаете. Question

Имеется в виду, что игра уже давно переведена.
http://shedevr.org.ru/cgi-bin/gamez.cgi?n=63
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Пт Июл 07, 2006 1:56 pm    Заголовок сообщения: Ответить с цитатой

Знаю, что она переведена. У вас много, что переведено.
Перевод приставочных игр- это моё хобби. На первом месте у меня
перевод моих любимых игр. Да и раз уж начал переводить-надо закончить.
Поэтому и прошу вас помочь. Я не прошу помощи из-за пустяка,
сначала пытаюсь разобраться сам, но здесь все иначе.Перепробовал
все известные мне методы, но безрезультатно. Sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Пт Июл 07, 2006 3:02 pm    Заголовок сообщения: Ответить с цитатой

Что-то в последнее время многие начали ломать запаковку методами коррупторов (подстановка своих значений и анализ результата). Rolling Eyes Если в случае с RLE/LZ это ещё как-то оправдано, то с Хаффманом такие заигрывания не пройдут. Аморфус, насколько помнится, ломал всё по-честному - с помощью дебаггера Gens находил код распаковки и писал запаковщик согласно увиденному алгоритму.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Пт Июл 07, 2006 3:39 pm    Заголовок сообщения: Ответить с цитатой

Пытался и дебажить-тоже не вышло.(Много вариантов было перепробовано-не идет загрузка).Может кто объяснит функции
этих "заголовков"?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Пт Июл 07, 2006 4:20 pm    Заголовок сообщения: Ответить с цитатой

Ладно, можете дать ссылки на ПОДРОБНОЕ объяснение алгоритма
Хаффмана.Может быть разберусь Question
Хотя, на первый взгляд алгоритм уж слишком навороченный Shocked Shocked Shocked
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Пт Июл 07, 2006 5:09 pm    Заголовок сообщения: Ответить с цитатой

PEREVODчик писал(а):
Пытался и дебажить-тоже не вышло.(Много вариантов было перепробовано-не идет загрузка).Может кто объяснит функции этих "заголовков"?


Наверное, плохо пытался. Вот Аморфус придёт, если вспомнит - объяснит. А про Хаффмана это я вообще говорил, Дюну я сам не смотрел.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Пт Июл 07, 2006 5:29 pm    Заголовок сообщения: Ответить с цитатой

То-то я в недоумении-думаю-какой Хаффман,когда очевидно,
что RLE.
И хорошо,что не Хаффман-с этим алгоритмом дела еще не имел,а
почитал первую попавшуюся доку про него-ничего не понял.На такую
побитную распаковку ушла бы не одна неделя. Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Djinn
RRC2008
RRC2008


Зарегистрирован: 16.03.2004
Сообщения: 633
Откуда: Москва

СообщениеДобавлено: Сб Июл 08, 2006 7:39 am    Заголовок сообщения: Ответить с цитатой

PEREVODчик писал(а):

Хотя, на первый взгляд алгоритм уж слишком навороченный Shocked Shocked Shocked

По мне Хаффман проще, чем LZ
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Сб Июл 08, 2006 8:33 am    Заголовок сообщения: Ответить с цитатой

Пока не видел ничего не могу сказать. Если попадется в какой нибудь игре Хаффман-что же делать-придется разбираться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Аморфоусу лень логиницца
Гость





СообщениеДобавлено: Пн Июл 10, 2006 6:54 pm    Заголовок сообщения: Ответить с цитатой

Насчет алгоритма не скажу ничего - не помню. :)

В туториалке используется дважды упакованная карта тайлов. Сначала используется "свой" алгоритм, а потом общий.
После двух распаковок у тебя должен получиться набор "экранов".

Где-то у меня сырцы упаковщиков/распаковщиков валяются... Могу найти, если надо.[/code]
Вернуться к началу
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Пн Июл 10, 2006 8:04 pm    Заголовок сообщения: Ответить с цитатой

Они бы мне ооооооооооочень помогли!!! Rolling Eyes
Заранее спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Amorpho[US]
БесФорменный


Зарегистрирован: 16.12.2003
Сообщения: 161
Откуда: Воронеж

СообщениеДобавлено: Пн Июл 10, 2006 10:37 pm    Заголовок сообщения: Ответить с цитатой

Распаковка "обычная".
Код:
   .386
   .model   flat

public   unpack
public   mod_name

   .data
modstring   db   "Dune: The Battle for Arrakis",0

   .data?
out_buf      dd   ?
in_buf      dd   ?
opt      dd   ?
read_len   dd   ?

   .code
_start@12:
   mov   al,1
   ret   12

;int unpack(char* pIn, char* pOut, int option, int* rLen);
unpack      proc
   pop   eax
   pop   in_buf
   pop   out_buf
   pop   opt
   pop   read_len
   push   eax
   push   ebx
   push   ebp
   push   esi
   push   edi
   mov   ebx,in_buf
   mov   edi,out_buf

main_loop:
   xor   ecx,ecx
   xor   edx,edx

   mov   cl,byte ptr [ebx]
   inc   ebx
   cmp   cl,0
   jns   cl_positive

   test   cl,40h
   jz   sixth_bit_clear

   cmp   cl,-2
   je   cl_eq_FE

   cmp   cl,-1
   je   cl_eq_FF

   and   cl,3Fh
   mov   dx,word ptr [ebx]
   add   ebx,2

   add   cx,3

   mov   esi,out_buf
   add   esi,edx
   jmp   loc_0_C96

cl_eq_FF:
   mov   cx,word ptr [ebx]
   mov   dx,word ptr [ebx+2]
   add   ebx,4
   mov   esi,out_buf
   add   esi,edx
   jmp   loc_0_C96

cl_positive:
   mov   dh,cl
   mov   dl,byte ptr [ebx]
   and   dx,0FFFh
   inc   ebx

   shr   cx,4
   add   cx,3

   mov   esi,edi
   sub   esi,edx

loc_0_C96:
   rep   movsb
   jmp   main_loop

sixth_bit_clear:
   cmp   cl,80h
   je   exit_sub

   and   cl,3Fh
   mov   esi,ebx
   add   ebx,ecx
   jmp   loc_0_C96

cl_eq_FE:
   mov   cx,word ptr [ebx]
   mov   al,byte ptr [ebx+2]
   add   ebx,3

   rep   stosb
   jmp   main_loop

exit_sub:

   sub   ebx,in_buf
   mov   ebp,read_len
   mov   [ebp],ebx

   mov   eax,edi
   sub   eax,out_buf
   pop   edi
   pop   esi
   pop   ebp
   pop   ebx
   ret
unpack      endp

mod_name   proc
   mov   eax,offset modstring
   ret
mod_name   endp

end   _start@12



Распаковка для туториала
Код:
   .386
   .model   flat

public   unpack
public   mod_name

   .data
modstring   db   "Dune Tutorial Text",0

   .data?
out_buf      dd   ?
in_buf      dd   ?
opt      dd   ?
read_len   dd   ?

out_buf2   dd   ?
in_buf2      dd   ?
opt2      dd   ?
read_len2   dd   ?

buf_temp   dd   20000h dup(?)

   .code
_start@12:
   mov   al,1
   ret   12

;int unpack(char* pIn, char* pOut, int option, int* rLen);
unpack      proc
   pop   eax
   pop   in_buf
   pop   out_buf
   pop   opt
   pop   read_len
   push   eax
   push   ebx
   push   ebp
   push   esi
   push   edi

;---------------------------------------
   push   read_len
   push   0
   push   offset buf_temp
   push   in_buf
   call   preprocess
;---------------------------------------

   mov   esi,offset buf_temp
   mov   edi,out_buf

   xor   eax,eax
   lodsw

begin:
   cmp   ax,-1
   jz   exit
   xchg   ah,al
   mov   bx,ax

mmain_loop:
   xor   ecx,ecx
   mov   cl,[esi]
   inc   esi
   cmp   cl,80h
   jz   cl_eq_80
   jns   cl_gt_80
   sub   bx,2
   lodsw
   rep   stosw
   jmp   next_screen

cl_gt_80:
   and   cl,7Fh
   sub   bx,cx
   sub   bx,cx
   rep   movsw
   jmp   next_screen

cl_eq_80:
   xor   eax,eax
   lodsb
   shl   ax,1
   mov   cx,ax
   push   esi
   mov   esi,edi
   sub   esi,8C0h
   rep   movsb
   pop   esi
   dec   bx

next_screen:
   dec   bx
   jnz   mmain_loop

   lodsw
   cmp   ax,-1
   jnz   begin

exit:

   mov   eax,edi
   sub   eax,out_buf
   pop   edi
   pop   esi
   pop   ebp
   pop   ebx
   ret
unpack      endp

;int preprocess(char* pIn, char* pOut, int option, int* rLen);
preprocess   proc
   pop   eax
   pop   in_buf2
   pop   out_buf2
   pop   opt2
   pop   read_len2
   push   eax
   push   ebx
   push   ebp
   push   esi
   push   edi
   mov   ebx,in_buf2
   mov   edi,out_buf2

main_loop:
   xor   ecx,ecx
   xor   edx,edx

   mov   cl,byte ptr [ebx]
   inc   ebx
   cmp   cl,0
   jns   cl_positive

   test   cl,40h
   jz   sixth_bit_clear

   cmp   cl,-2
   je   cl_eq_FE

   cmp   cl,-1
   je   cl_eq_FF

   and   cl,3Fh
   mov   dx,word ptr [ebx]

   add   ebx,2
   add   cx,3

   mov   esi,out_buf2
   add   esi,edx
   jmp   loc_0_C96

cl_eq_FF:
   mov   cx,word ptr [ebx]
   mov   dx,word ptr [ebx+2]
   add   ebx,4
   mov   esi,out_buf2
   add   esi,edx
   jmp   loc_0_C96

cl_positive:
   mov   dh,cl
   mov   dl,byte ptr [ebx]
   and   dx,0FFFh
   inc   ebx

   shr   cx,4
   add   cx,3

   mov   esi,edi
   sub   esi,edx

loc_0_C96:
   rep   movsb
   jmp   main_loop

sixth_bit_clear:
   cmp   cl,80h
   je   exit_sub

   and   cl,3Fh
   mov   esi,ebx
   add   ebx,ecx
   jmp   loc_0_C96

cl_eq_FE:
   mov   cx,word ptr [ebx]
   mov   al,byte ptr [ebx+2]
   add   ebx,3

   rep   stosb
   jmp   main_loop

exit_sub:

   sub   ebx,in_buf
   mov   ebp,read_len2
   mov   [ebp],ebx

   mov   eax,edi
   sub   eax,out_buf2
   pop   edi
   pop   esi
   pop   ebp
   pop   ebx
   ret
preprocess   endp

mod_name   proc
   mov   eax,offset modstring
   ret
mod_name   endp

end   _start@12

_________________
Я вернулся!!! ...ну почти. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Amorpho[US]
БесФорменный


Зарегистрирован: 16.12.2003
Сообщения: 161
Откуда: Воронеж

СообщениеДобавлено: Пн Июл 10, 2006 10:45 pm    Заголовок сообщения: Ответить с цитатой

А это чисто посмеяцца. Упаковка "обычная".
Код:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
char nun[0x3F];
int obytes;
int out;
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE, DWORD, LPVOID)
{
   return true;
}
//---------------------------------------------------------------------------
char* __stdcall __export mod_name()
{
   return "Dune: The Battle for Arrakis";
}
//---------------------------------------------------------------------------
void Flush(char* pO)
{
   if(!obytes) return;
   pO[out] = obytes | 0x80;
   out++;
   for(int j = 0; j < obytes; j++)
      pO[out + j] = nun[j];
   out += obytes;
   obytes = 0;
}
//---------------------------------------------------------------------------
int __stdcall __export pack(char* pIn, char* pOut, int option, int* rLen)
{
   int in = 0;
   int n;
   int n2;
   int maxN;
   int maxN2;
   int maxIn;
   int in2;
   obytes = 0;
   out = 0;
   while(in < option)
   {
      maxN = 0;
      maxN2 = 0;
      maxIn = 0;
      for(in2 = 0; in2 < in; in2++)
      {
         for(n = 0; pIn[in2 + n] == pIn[in + n] && in + n < option; n++);
         if(in - in2 < 0x1000 && n < 0xB) n2 = n - 2;
         else if(n < 0x43) n2 = n - 3;
         else n2 = n - 5;
         if(n2 > maxN2) { maxN2 = n2; maxN = n; maxIn = in2; }
      }
      for(n = 1; pIn[in + n - 1] == pIn[in + n] && in + n - 1 < option; n++);
      n2 = n - 4;
      if(n2 > maxN2) { maxN2 = n2; maxN = n; maxIn = in; }

      if(maxN2 >= 0 && maxN > 2)
      {
         if(in == maxIn)
         {
            Flush(pOut);
            pOut[out] = 0xFE;
            *(WORD*)(pOut + out + 1) = maxN;
            pOut[out + 3] = pIn[in];
            out += 4;
            in += maxN;
         }
         else if(in - maxIn < 0x1000 && maxN < 0xB)
         {
            Flush(pOut);
            pOut[out] = (maxN - 3) << 4 | (in - maxIn) >> 8;
            pOut[out + 1] = (BYTE)(in - maxIn);
            out += 2;
            in += maxN;
         }
         else if(maxN < 0x43)
         {
            Flush(pOut);
            pOut[out] = 0xC0 | (maxN - 3);
            *(WORD*)(pOut + out + 1) = maxIn;
            out += 3;
            in += maxN;
         }
         else
         {
            Flush(pOut);
            pOut[out] = 0xFF;
            *(WORD*)(pOut + out + 1) = maxN;
            *(WORD*)(pOut + out + 3) = maxIn;
            out += 5;
            in += maxN;
         }
      }
      else
      {
         nun[obytes] = pIn[in];
         obytes++;
         if(obytes == 0x3F) Flush(pOut);
         in++;
      }
   }
   Flush(pOut);
   pOut[out] = 0x80;
   out++;
   *rLen = option;
   return out;
}
//---------------------------------------------------------------------------


Упаковка для туториала. Файл первый.
Код:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
USEUNIT("p_dttext2.cpp"); // Тут должно быть имя второго файла
//---------------------------------------------------------------------------
int i;
int n;
int n2;
int in;
int out;
int size;
WORD* locIn;
char* locOut;
WORD nun[0x7F];
int owords;
int final(char* pIn, char* pOut, int option, int* rLen);
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE, DWORD, LPVOID)
{
   return true;
}
//---------------------------------------------------------------------------
char* __stdcall __export mod_name()
{
   return "Dune Tutorial Text";
}
//---------------------------------------------------------------------------
void Flush()
{
   if(!owords) return;
   locOut[out] = owords | 0x80;
   out++;
   for(int j = 0; j < owords; j++)
      *(WORD*)(locOut + out + j * 2) = nun[j];
   out += owords * 2;
   owords = 0;
}
//---------------------------------------------------------------------------
int __stdcall __export pack(char* pIn, char* pOut, int option, int* rLen)
{
   out = 0;
   owords = 0;
   locIn = (WORD*)pIn;
   locOut = new char[0x10000];
   for(i = 0; i < option / 0x8C0; i++)
   {
      size = out;
      out += 2;
      in = 0;
      while(in < 0x460)
      {
         n2 = 0;
         for(n = 1; (locIn[in + n - 1] == locIn[in + n]) && ((in + n) < 0x460); n++);
         if(i) for(n2 = 0; locIn[in + n2] == locIn[in + n2 - 0x460] && in + n2 < 0x460; n2++);
         if(n > 1 || n2 > 1)
         {
            if(n > 0x7F) n = 0x7F;
            if(n2 > 0xFF) n2 = 0xFF;
            if(n > n2)
            {
               Flush();
               locOut[out] = n;
               *(WORD*)(locOut + out + 1) = locIn[in];
               out += 3;
               in += n;
            }
            else
            {
               Flush();
               locOut[out] = 0x80;
               locOut[out + 1] = n2;
               out += 2;
               in += n2;
            }
         }
         else
         {
            nun[owords] = locIn[in];
            owords++;
            if(owords == 0x7F) Flush();
            in++;
         }
      }
      Flush();
      locIn += 0x460;
      *(WORD*)(locOut + size) = (WORD)(out - size - 2) << 8 | (WORD)(out - size - 2) >> 8;
   }
   *(WORD*)(locOut + out) = -1;
   out += 2;
   out = final(locOut, pOut, out, rLen);
   *rLen = option;
   delete[] locOut;
   return out;
}
//---------------------------------------------------------------------------


Файл второй (у меня назывался p_dttext2.cpp).
Код:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
char nun2[0x3F];
int obytes;
int out2;
//---------------------------------------------------------------------------
void Flush(char* pO)
{
   if(!obytes) return;
   pO[out2] = obytes | 0x80;
   out2++;
   for(int j = 0; j < obytes; j++)
      pO[out2 + j] = nun2[j];
   out2 += obytes;
   obytes = 0;
}
//---------------------------------------------------------------------------
int final(char* pIn, char* pOut, int option, int* rLen)
{
   int in = 0;
   int n;
   int n2;
   int maxN;
   int maxN2;
   int maxIn;
   int in2;
   obytes = 0;
   out2 = 0;
   while(in < option)
   {
      maxN = 0;
      maxN2 = 0;
      maxIn = 0;
      for(in2 = 0; in2 < in; in2++)
      {
         for(n = 0; pIn[in2 + n] == pIn[in + n] && in + n < option; n++);
         if(in - in2 < 0x1000 && n < 0xB) n2 = n - 2;
         else if(n < 0x43) n2 = n - 3;
         else n2 = n - 5;
         if(n2 > maxN2) { maxN2 = n2; maxN = n; maxIn = in2; }
      }
      for(n = 1; pIn[in + n - 1] == pIn[in + n] && in + n - 1 < option; n++);
      n2 = n - 4;
      if(n2 > maxN2) { maxN2 = n2; maxN = n; maxIn = in; }

      if(maxN2 >= 0 && maxN > 2)
      {
         if(in == maxIn)
         {
            Flush(pOut);
            pOut[out2] = 0xFE;
            *(WORD*)(pOut + out2 + 1) = maxN;
            pOut[out2 + 3] = pIn[in];
            out2 += 4;
            in += maxN;
         }
         else if(in - maxIn < 0x1000 && maxN < 0xB)
         {
            Flush(pOut);
            pOut[out2] = (maxN - 3) << 4 | (in - maxIn) >> 8;
            pOut[out2 + 1] = (BYTE)(in - maxIn);
            out2 += 2;
            in += maxN;
         }
         else if(maxN < 0x43)
         {
            Flush(pOut);
            pOut[out2] = 0xC0 | (maxN - 3);
            *(WORD*)(pOut + out2 + 1) = maxIn;
            out2 += 3;
            in += maxN;
         }
         else
         {
            Flush(pOut);
            pOut[out2] = 0xFF;
            *(WORD*)(pOut + out2 + 1) = maxN;
            *(WORD*)(pOut + out2 + 3) = maxIn;
            out2 += 5;
            in += maxN;
         }
      }
      else
      {
         nun2[obytes] = pIn[in];
         obytes++;
         if(obytes == 0x3F) Flush(pOut);
         in++;
      }
   }
   Flush(pOut);
   pOut[out2] = 0x80;
   out2++;
   *rLen = option;
   return out2;
}
//---------------------------------------------------------------------------

_________________
Я вернулся!!! ...ну почти. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Amorpho[US]
БесФорменный


Зарегистрирован: 16.12.2003
Сообщения: 161
Откуда: Воронеж

СообщениеДобавлено: Пн Июл 10, 2006 10:50 pm    Заголовок сообщения: Ответить с цитатой

Компилилось все это в виде дээлэльки-плагина к моей проге. Тебе это нафик не надо, переделаешь в экзешники.
Если, конечно, поймешь хоть что-нибудь в этой писанине. Особенно в сишной. Very Happy
_________________
Я вернулся!!! ...ну почти. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Пн Июл 10, 2006 10:57 pm    Заголовок сообщения: Ответить с цитатой

Amorpho[US] писал(а):
переделаешь в экзешники.

Задаю идиотский вопрос-как? Не знаю
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Amorpho[US]
БесФорменный


Зарегистрирован: 16.12.2003
Сообщения: 161
Откуда: Воронеж

СообщениеДобавлено: Пн Июл 10, 2006 11:40 pm    Заголовок сообщения: Ответить с цитатой

А каковы познания в асме?
Может проще будет готовые дллки с прогой дать? Smile
_________________
Я вернулся!!! ...ну почти. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Вт Июл 11, 2006 8:49 am    Заголовок сообщения: Ответить с цитатой

Amorpho[US] писал(а):
А каковы познания в асме?

Познания в асме пока оставляют желать лучшего Very confused
Amorpho[US] писал(а):
Может проще будет готовые дллки с прогой дать?

Если дашь, то попробую разобраться. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Amorpho[US]
БесФорменный


Зарегистрирован: 16.12.2003
Сообщения: 161
Откуда: Воронеж

СообщениеДобавлено: Вт Июл 11, 2006 6:11 pm    Заголовок сообщения: Ответить с цитатой

Отправил на мыло.
_________________
Я вернулся!!! ...ну почти. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
PEREVODчик



Зарегистрирован: 07.07.2006
Сообщения: 105
Откуда: Kirov

СообщениеДобавлено: Вт Июл 11, 2006 7:48 pm    Заголовок сообщения: Ответить с цитатой

Amorpho[US] писал(а):
Отправил на мыло.

Получил.Спасибо!! Jumping
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Экстремальный ромхакинг Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group