Правила форума

Правила, действующие в этом форуме и всех его подфорумах:

1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)!
2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)!
3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить!
4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума!
5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен!
6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение.
7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме!
8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения.
9) Использование смайликов разрешается не более 3-х подряд!

Добро пожаловать на наш форум!



Ответить на тему  [ Сообщений: 1386 ]  На страницу Пред.  1 ... 21, 22, 23, 24, 25, 26, 27 ... 47  След.
3DO Doom sources released 
Автор Сообщение
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

GEN13
Исходников, как я понимаю, нема. Нашёл исходник примера использования реверберации в SDK. Но с пониманием механизма работы проблемы.

Добавлено спустя 26 минут 37 секунд:
Вот пример использования эха.
#define   PRT(x)   { printf x; }
#define   ERR(x)   PRT(x)
#define   DBUG(x)   PRT(x)

#define INSNAME "sampler.dsp"

int32 PlayFreqNote ( Item Instrument, int32 Freq, int32 Duration );

/* Macro to simplify error checking. */
#define CHECKRESULT(val,name) \
   if (val < 0) \
   { \
      Result = val; \
      PrintError(0,"\\failure in",name,Result); \
      goto cleanup; \
   }


int32 PlayPitchNote ( Item Instrument, int32 Note, int32 Velocity, int32 Duration);

#define NUM_MIXER_CHANNELS (4)
typedef struct DelayContext
{
   Item dlc_MixerIns;
   Item dlc_OutputIns;
   Item dlc_DelayIns;
   Item dlc_DelayLine;
   Item dlc_TapIns;
   Item dlc_OriginalSend;
   Item dlc_OriginalMix;
   Item dlc_DelayedSend;
   Item dlc_DelayedMix;
} DelayContext;

int32 InitCustomDelay( DelayContext *dlc, int32 DelaySize, int32 DelayFrames);
int32 TermCustomDelay( DelayContext *dlc );

#define DELAY_FRAMES   (100000)

/********************************************************************/
int main(int argc, char *argv[])
{
   Item SamplerIns = 0;
   Item SampleItem = 0;
   Item Attachment = 0;
   DelayContext DelayCon;
   int32 Duration;
   int32 Result = -1;
   char *SampleName;
   int32 i;

   PRT(("%s <samplefile> <duration>\n", argv[0]));

/* Initialize audio, return if error. */
   if (OpenAudioFolio())
   {
      ERR(("Audio Folio could not be opened!\n"));
      return(-1);
   }

TraceAudio(0);
   Result = InitCustomDelay( &DelayCon, DELAY_FRAMES*sizeof(int16), DELAY_FRAMES - 100);
   CHECKRESULT(Result,"InitCustomDelay");

   DelayCon.dlc_OutputIns = LoadInstrument("directout.dsp", 0, 100);
   CHECKRESULT(DelayCon.dlc_OutputIns,"LoadInstrument");

/* Load Sampler instrument */
   SamplerIns = LoadInstrument(INSNAME, 0, 100);
   CHECKRESULT(SamplerIns,"LoadInstrument");

/* Load digital audio Sample from disk. */
   SampleName = (argc > 1) ? argv[1] : "$samples/PitchedL/SynthBass/BassSynth.C3LM44k.aiff";
   SampleItem = LoadSample(SampleName);
   CHECKRESULT(SampleItem,"LoadSample");

   Duration = (argc > 2) ? atoi(argv[2]) : 240 ;
   PRT(("Duration = %d\n", Duration));

/* Look at sample information. */
   /* DebugSample(SampleItem); */

/* Connect Sampler to Mixer */
   Result = ConnectInstruments (SamplerIns, "Output",
      DelayCon.dlc_MixerIns, "Input0");
   CHECKRESULT(Result,"ConnectInstruments");
   Result = ConnectInstruments (DelayCon.dlc_MixerIns, "RightOutput",
      DelayCon.dlc_OutputIns, "InputLeft");
   CHECKRESULT(Result,"ConnectInstruments");
   Result = ConnectInstruments (DelayCon.dlc_MixerIns, "RightOutput",
      DelayCon.dlc_OutputIns, "InputRight");
   CHECKRESULT(Result,"ConnectInstruments");

/* Attach the sample to the instrument. */
   Attachment = AttachSample(SamplerIns, SampleItem, 0);
   CHECKRESULT(Attachment,"AttachSample");

/* Instruments must be started */
   Result = StartInstrument( DelayCon.dlc_MixerIns, NULL );
   CHECKRESULT(Result,"StartInstrument");
/* Start Delay first to test START_AT.  It is safer to start
** the tap after the delay.
*/
   Result = StartInstrument( DelayCon.dlc_DelayIns, NULL );
   CHECKRESULT(Result,"StartInstrument");
   Result = StartInstrument( DelayCon.dlc_TapIns, NULL );
   CHECKRESULT(Result,"StartInstrument");
   Result = StartInstrument( DelayCon.dlc_OutputIns, NULL );
   CHECKRESULT(Result,"StartInstrument");

/* Play several notes using a conveniance routine. */
   PlayPitchNote( SamplerIns, 40, 100, Duration );
   PlayPitchNote( SamplerIns, 44,  64, Duration );
   PlayPitchNote( SamplerIns, 47,  64, Duration );
   PlayPitchNote( SamplerIns, 52,  64, Duration );
   PlayPitchNote( SamplerIns, 59, 100, Duration );
   PlayPitchNote( SamplerIns, 64,  64, Duration*2 );
   for( i=0; i<16; i++)
   {
      PlayPitchNote( SamplerIns, i + 48,  64, Duration>>2 );
   }


/* Let echoes die down. */
   SleepAudioTicks(2000);

cleanup:
   TermCustomDelay( &DelayCon );
   DetachSample( Attachment );
   UnloadInstrument( SamplerIns );
   UnloadSample( SampleItem );

PRT(("All Done---------------------------------\n"));
   CloseAudioFolio();
   return((int) Result);
}

/********************************************************************/
/***** Play a note based on MIDI pitch. *****************************/
/********************************************************************/

int32 PlayPitchNote (Item Instrument, int32 Note, int32 Velocity, int32 Duration)
{
   int32 Result;

   /*
        Notes:
            . Error trapping has been removed for brevity.
            . Use of SleepAudioTicks() is not a real good way to do
              this sort of delay in real code (see Caveats).
    */

   Result = StartInstrumentVA (Instrument,
                                AF_TAG_VELOCITY, Velocity,
                                AF_TAG_PITCH,    Note,
                                TAG_END);
   Result = SleepAudioTicks( Duration>>1 );

   ReleaseInstrument( Instrument, NULL);
   Result = SleepAudioTicks( Duration>>1 );

   return 0;
}

/*********************************************************************/
int32 InitCustomDelay( DelayContext *dlc, int32 DelaySize, int32 DelayFrames)
{
   int32 Result=0;
   Item Att;

/*
** Create a delay line.  This must be allocated by the AudioFolio
** because the memory is written to by hardware.  A delay line
** is just a sample with a special write permission.
** 1=channel, TR loop
*/
#define NUM_CHANNELS (1)
#define IF_LOOP      (TRUE)
   dlc->dlc_DelayLine = CreateDelayLine( DelaySize, NUM_CHANNELS, IF_LOOP );
   CHECKRESULT(dlc->dlc_DelayLine,"CreateDelayLine");

/*
** Load the basic delay instrument which just writes data to
** an output DMA channel of the DSP.
*/
   dlc->dlc_DelayIns = LoadInstrument("delaymono.dsp", 0, 100);
   CHECKRESULT(dlc->dlc_DelayIns,"LoadInstrument");

/* Attach the delay line to the delay instrument output. */
   Att = AttachSample( dlc->dlc_DelayIns, dlc->dlc_DelayLine, "OutFIFO" );
   CHECKRESULT(Att,"AttachDelay");
   Result = SetAudioItemInfoVA( Att,
                                 AF_TAG_START_AT, DelayFrames,
                                 TAG_END );
   CHECKRESULT(Result,"SetAudioItemInfo: START_AT");

/*
** Load an instrument to read the output of the delay.
*/
   dlc->dlc_TapIns = LoadInstrument("fixedmonosample.dsp", 0, 100);
   CHECKRESULT(dlc->dlc_TapIns,"LoadInstrument");

/* Attach the delay line to the delay tap. */
   Att = AttachSample( dlc->dlc_TapIns, dlc->dlc_DelayLine, "InFIFO" );
   CHECKRESULT(Att,"AttachSample");
/*
** Load a submixer that we can use to mix delayed and original signal.
** We will use the left side to mix for the delay, and the right side
** for the output from the circuit.
*/
   dlc->dlc_MixerIns = LoadInstrument("submixer4x2.dsp", 0, 100);
   CHECKRESULT(dlc->dlc_MixerIns,"LoadInstrument");

/* Attach the knobs. */
   dlc->dlc_OriginalSend = GrabKnob( dlc->dlc_MixerIns, "LeftGain0" );
   CHECKRESULT(dlc->dlc_OriginalSend,"GrabKnob");
   dlc->dlc_OriginalMix = GrabKnob( dlc->dlc_MixerIns, "RightGain0" );
   CHECKRESULT(dlc->dlc_OriginalMix,"GrabKnob");
   dlc->dlc_DelayedSend = GrabKnob( dlc->dlc_MixerIns, "LeftGain1" );
   CHECKRESULT(dlc->dlc_DelayedSend,"GrabKnob");
   dlc->dlc_DelayedMix = GrabKnob( dlc->dlc_MixerIns, "RightGain1" );
   CHECKRESULT(dlc->dlc_DelayedMix,"GrabKnob");

/* Connect the output of Tap0 to channel 1 of the mixer. */
   Result = ConnectInstruments (dlc->dlc_TapIns, "Output",
      dlc->dlc_MixerIns, "Input1");
   CHECKRESULT(Result,"ConnectInstruments");

/* Connect the left output of the mixer to the delay. */
   Result = ConnectInstruments (dlc->dlc_MixerIns, "LeftOutput",
      dlc->dlc_DelayIns, "Input");
   CHECKRESULT(Result,"ConnectInstruments");

/* Mix for the Delay Line connected to Left channel. */
   TweakKnob( dlc->dlc_OriginalSend, 0x3000 );
   TweakKnob( dlc->dlc_DelayedSend, 0x4000 );

/* Mix for the Output instrument connected to Right channel. */
   TweakKnob( dlc->dlc_OriginalMix, 0x3fff );
   TweakKnob( dlc->dlc_DelayedMix, 0x4000 );

   return Result;

cleanup:
   TermCustomDelay( dlc );
   return Result;
}

int32 TermCustomDelay( DelayContext *dlc )
{
   UnloadInstrument( dlc->dlc_MixerIns );
   UnloadInstrument( dlc->dlc_OutputIns );
   UnloadInstrument( dlc->dlc_DelayIns );
   UnloadInstrument( dlc->dlc_TapIns );
   UnloadSample( dlc->dlc_DelayLine );
   ReleaseKnob( dlc->dlc_OriginalSend );
   ReleaseKnob( dlc->dlc_OriginalMix );
   ReleaseKnob( dlc->dlc_DelayedSend );
   ReleaseKnob( dlc->dlc_DelayedMix );
   return 0;
}

А вот код обработки звуков в Doom:
void PlaySound(Word SoundNum)
{
   Word Number;
   Word i;
   Word OldPrior;

   if (SoundNum&0x8000) {      /* Stop previous sound */
      SoundNum&=(~0x8000);   /* Clear the flag */
      StopSound(SoundNum);   /* Stop the sound */
   }
   if (!SoundNum ||         /* No sound at all? */
      !AllSamples[SoundNum-1] ||   /* Valid sound loaded? */
      !(SystemState&SfxActive)) {   /* Sound enabled? */
      goto WrapUp;
   }

   Number = 0;
   do {
      if (!SampleSound[Number]) {      /* Find an empty sound channel */
         goto Begin;            /* Found it! */
      }
   } while (++Number<VOICECOUNT);

   Number = 0;         /* Get the lowest priority sound */
   do {
      if (!SamplePriority[Number]) {   /* Get the priority */
         break;            /* Priority zero? */
      }
   } while (++Number<(VOICECOUNT-1));   /* Drop out on the last channel */

   StopInstrument(SamplerIns[Number],0);      /* Stop the sound */
   if (SampleAtt[Number]) {               /* Delete the attachment */
      DetachSample(SampleAtt[Number]);
   }

Begin:
    SampleSound[Number] = SoundNum;      /* Attach the sound number to this channel */
   SampleAtt[Number] = AttachSample(SamplerIns[Number],AllSamples[SoundNum-1],0);
   TweakKnob(SamplerRateKnob[Number],AllRates[SoundNum-1]);      /* Set to 11 Khz fixed */
   TweakKnob(LeftKnobs[Number],LeftVolume<<6);      /* Set the volume setting */
   TweakKnob(RightKnobs[Number],RightVolume<<6);
   StartInstrument(SamplerIns[Number],0);      /* Begin playing... */
   i = 0;
   OldPrior = SamplePriority[Number];      /* Get the old priority */
   do {
      if (SamplePriority[i]>=OldPrior) {
         --SamplePriority[i];         /* Reduce the priority */
      }
   } while (++i<VOICECOUNT);
   SamplePriority[Number] = (VOICECOUNT-1);      /* Set the higher priority */
WrapUp:
   LeftVolume = 255;      /* Reset the volume */
   RightVolume = 255;
}

Задача: используя код №1 дополнить код №2 эффектом эха. Что делать потом - я знаю. Вводим дополнительный параметр в функцию PlaySound, и дописываем этот параметр во всех местах, где вызывается функция проигрывания звука. Для звуков в меню нет нужды делать эхо, там этот параметр будет =0.

Добавлено спустя 13 минут 39 секунд:
Обнаружил косяк: при активном чит-коде не работает мой выход в меню из игры. :-(

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


08 дек 2015, 00:32
Профиль
Аватара пользователя
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 353
Регистрация: 26 сен 2012, 20:21
Откуда: Третья планета от Солнца
Модель 3DO: GoldStar GDO-202P
Ответить с цитатой

Василий, спасибо!
Только один вопрос, образ подписан? Сейчас нет возможности проверить - болванок нет, посмотрю на эмуляторе.

_______________________________________
Изображение


13 дек 2015, 21:28
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

D.S
Не помню. Это относительно старая версия, вот поновее, она подписана точно.
https://yadi.sk/d/2ULHNmVemCQXE
Там все свежие фичи, включая выход в меню из игры.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


13 дек 2015, 21:42
Профиль
Аватара пользователя
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 353
Регистрация: 26 сен 2012, 20:21
Откуда: Третья планета от Солнца
Модель 3DO: GoldStar GDO-202P
Ответить с цитатой

Versus, здорово! :co_ol:
Погонял немного на эмуляторе. Самое главное, сбылась мечта - сохраняется весь твой процесс, а то раньше выключил, начинаешь играть, выбираешь уровень и.. всё, не оружия, не достигнутого статуса с 200% энергии/брони. Я не говорю о звуке при нахождении секретов, выглядит на 3DOшной версии ново и свежо. Единственное к чему можно придраться - быстро исчезающие сообщения о взятии чего либо.
Отличная работа. Спасибо!

_______________________________________
Изображение


14 дек 2015, 00:14
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

D.S писал(а):
Единственное к чему можно придраться - быстро исчезающие сообщения о взятии чего либо.

Это я пофиксить пока не могу. В идеале - сделать маленький шрифт, этот смотрится слишком громоздким.
Звуков я добавил два: нахождение секретов и взятие синего шара здоровья.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


14 дек 2015, 00:23
Профиль
Аватара пользователя
Ломаю джойстик взглядом
Ломаю джойстик взглядом

Группа: Модераторы
Сообщения: 762
Регистрация: 04 дек 2009, 12:13
Откуда: Пермь
Модель 3DO: Panasonic FZ-10 NTSC-J
Ответить с цитатой

А возможно реализовать точку прицела посредине экрана?

_______________________________________
3DO - more than just a videogame


14 дек 2015, 13:44
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Silentman
Можно будет, когда решим проблему с Rezfile. Сейчас тоже можно попытаться, но моя картинка game saved отображается некорректно. Видимо, с прицелом будет та же лажа.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


14 дек 2015, 14:45
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

aliast
Ты случайно не смотрел, почему твоя утилита перековеркала мою game saved?

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


15 дек 2015, 23:09
Профиль
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1297
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
Ответить с цитатой

Смотрел, косяков не увидел. Скорее всего где-то в другом месте косяк (rezfile?)

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


16 дек 2015, 05:44
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Нет, сборка отрабатывает чётко. Пакуются и демофайлы и нет сдвижек, о которых я раньше писал.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


16 дек 2015, 09:36
Профиль
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1297
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
Ответить с цитатой

Там же сама картинка не повреждена, а просто сдвинута по горизонтали. Значит косяк может крыться в функции вывода этой картинки.

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


16 дек 2015, 10:11
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Кстати, cel-ку создавал теперь уже из-под мака, на photoshop 4 с плагинами. Перетыкал практически все варианты, и в итоге в игре картинка или совсем не отображается, или показывается полупрозрачным темным прямоугольником, или сдвижка "гуляет" вправо или влево. Я грешу все-таки на прогу.
Но функция вывода ведь на все остальное отрабатывает корректно...

Добавлено спустя 1 минуту 24 секунды:
Может, картинка начинает показываться не сначала данных, а потом, ориентируясь на вычисленные размеры отображается "по кругу".

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


16 дек 2015, 10:13
Профиль
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1297
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
Ответить с цитатой

Нашёл твой скриншот, попытался совместить - картинка обрезалась снизу и в букве D внизу несколько красных пикселей, которых там быть не должно. т.е получается она не просто сдвинута, а немного искажена и обрезана, совсем чуть-чуть. Даже и не знаю что это может быть... Ширина с высотой не совпадают что ли? А они же как раз и вычисляются той функцией, а в файле их нет...

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


16 дек 2015, 10:24
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

aliast
Причем, ситуация очень похожая практически со всеми вариантами создания этой cel-ки. Видимо, где-то в алгоритме обрезки косяк закрался. Жаль, я так и не научился обрезать их вручную.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


16 дек 2015, 10:29
Профиль
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1297
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
Ответить с цитатой

Я не помню выкладывал ли ты свою обрезку.. оригинал bmp нашёл, cel нашёл, а обрезки вроде не было. Выложи для сравнения чтоб всю игру не качать. Вот ещё раз всё перепроверил и сделал обрезку: http://ifolder.su/44545910

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


16 дек 2015, 10:51
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

aliast писал(а):
оригинал bmp нашёл, cel нашёл, а обрезки вроде не было.

Обрезку я делал твоей утилитой. То, что пытался сам делать, не работало совсем. Сейчас под рукой ничего нет, вечером могу выложить обрезанную, если ты сам быстрее своей утилитой не сделаешь.

Добавлено спустя 8 часов 5 минут 5 секунд:
aliast
Вот результат с новой картинкой.
Изображение

Добавлено спустя 19 минут 26 секунд:
Алгоритм показа картинки - один в один как для Loading, просто с измененной координатой вывода на экран.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


16 дек 2015, 10:59
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Сделал тоже самое с картинкой с такими же размерами, как у Loading. Один хрен, сдвижка.
Изображение
Значит, от размеров картинки это не зависит. Я все-таки ставлю на ошибку в алгоритме обрезки cel. Можно ли это как-то еще проверить?

Добавлено спустя 36 минут 58 секунд:
Сравнил оригинальный loading из rezfile и нашу картинку game saved с такими же размерами. Вот сравнение.
Изображение
Интересно, почему в нашей пикче смещения к PDAT и PLUT нулевые? Пробовал менять эти параметры, меняется сдвижка картинки. Вот где собака порылась!

Добавлено спустя 43 минуты 17 секунд:
Лютый WIN!
Смещение к PDAT в моем случае должно быть 00 00 00 30. Почему так?
Изображение

aliast
Сможешь как-то пофиксить свою утилиту?

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


27 дек 2015, 00:45
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Я тут обнаружил вчера, что файл шрифта имеет похожую с REZFILE структуру. В нем тоже сначала идут оффсеты, а потом куски картинок-букв. То есть, теоретически, я смогу модифицировать прогу для сборки REZFILE (убрать оттуда запись "шапки"), оставив там в начале файла только оффсеты. Для этого нужно сначала нарисовать буквы (или взять где-нибудь в инете) и сделать им обрезку заголовков. Затем, разместить в одной папке и с помощью нового скрипт-файла собрать файл шрифта. Если все пройдет удачно, то получим маленький шрифт, которым можно будет писать сообщения пользователю. Существующий шрифт слишком большой.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


28 дек 2015, 11:05
Профиль
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
Ответить с цитатой

Versus писал(а):
Добавлено спустя 43 минуты 17 секунд:
Лютый WIN!
Смещение к PDAT в моем случае должно быть 00 00 00 30. Почему так?


Поздравляю! Странно, что смещения были нулевые. А в оригинале смещение 00 00 00 50? Может у тебя каких-то служебных данных меньше поэтому и смещение ближе?


28 дек 2015, 12:31
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

В оригинале ненулевые, и в моем случае должны быть ненулевые. Заголовки режутся, да, но PLUT и PDAT начинаются не с самого начала файла же? Причем, оба сразу. :nez-nayu:

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


28 дек 2015, 12:34
Профиль
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1297
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
Ответить с цитатой

Я думал эти смещения ни на что не влияют. К такому выводу пришёл, исследуя дамп памяти в отладчике Феникса. Теперь пытаюсь вспомнить как эти смещения считать, не могу вспомнить, хотя раньше вроде как разобрался. Ничего сложного там не было, но не помню хоть убей :(

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


28 дек 2015, 15:39
Профиль
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1297
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
Ответить с цитатой

Пробуйте: https://drive.google.com/file/d/0B0oL7g ... sp=sharing

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


29 дек 2015, 07:52
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Спасибо, все отлично работает! Пробовал на своей GameSaved.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


29 дек 2015, 10:07
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Сделал на основе утилиты по сборке REZFILE утилиту по сборке файлов шрифта и цифр.
Проверил утилиту CelCutter на распакованных из REZFILE цифрах (cel-ках). Картинку цифры режет нормально, вроде, но дописывает кучу нулей:
Изображение
Изображение

Добавлено спустя 16 минут 5 секунд:
Далее, запакованные в новый файл цифр, они отображаются частично. Отображаются только 4, 6, 8. :du_ma_et: Причем, в оригинальном файле цифр 12 символов (цифры, знак процента и минус), а в распакованных почему-то 11. :du_ma_et:

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


29 дек 2015, 22:44
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Победил! Моя утилита сборки буковок/циферок работает, игра корректно отображает цифирьки. Можно теперь попытаться создать свой шрифт с маленькими буквами.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


01 янв 2016, 22:07
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Versus писал(а):
The flag is used by the memory manager to load from high memory to reduce fragmentation. Clear. Load for location 0 and up. Set. Load from fffffff down.

Доперло. :facepalm:
Это нужно, чтобы уменьшить фрагментацию памяти. Когда флаг не выставлен, данные грузятся, условно говоря, с начала оперативки и до тех пор, пока не закончатся. Если флаг выставлен, то данные грузятся в оперативку начиная с ее "конца". Тогда мы имеем пустое место в середине. :-):

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


10 янв 2016, 16:22
Профиль
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1297
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
Ответить с цитатой

Осталось допереть какие файлы каким флагом паковать. Разницы в упаковке с флагом и без мы так и не увидели.

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


11 янв 2016, 06:22
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Раскурил создание и работу собственного шрифта. Начал потихоньку его делать. То, что пока получается, можно глянуть здесь:

Буквы уже выровнял и "склеил". Осталось нарисовать их полностью перерисовать (изменить цвет, форму, сделать заглавные буквы) и добавить туда же маленькие цифры.

Добавлено спустя 1 минуту 27 секунд:
aliast писал(а):
Разницы в упаковке с флагом и без мы так и не увидели.

Может, эта "дефрагментация" была сделана "на вырост"? В таком случае, пока память полностью не забьется, мы эффекта и не заметим. И что если так и продолжать паковать последние 3 лумпа с флагом и забить на все?

Добавлено спустя 11 часов 47 минут 47 секунд:
Кстати, а что за самый первый файл в REZFILE (D0001)? Это не текстура стены, слишком маленький.
Сделал себе для удобства добавления ресурсов в REZFILE вот такой скрипт:
ENDIAN LITTLE
LOADFIXED
LOAD   1   D0001
LOADHANDLE
LOAD   2   rBIGDOOR2
LOAD   3   rBIGDOOR6
LOAD   4   rBRNPOIS
LOAD   5   rBROWNGRN
LOAD   6   rBROWN1
LOAD   7   rCOMPSPAN
LOAD   8   rCOMPTALL
LOAD   9   rCRATE1
LOAD   10   rCRATELIT
LOAD   11   rCRATINY
LOAD   12   rDOOR1
LOAD   13   rDOOR3
LOAD   14   rDOORBLU
LOAD   15   rDOORRED
LOAD   16   rDOORSTOP
LOAD   17   rDOORTRAK
LOAD   18   rDOORYEL
LOAD   19   rEXITDOOR
LOAD   20   rEXITSIGN
LOAD   21   rGRAY5
LOAD   22   rGSTSATYR
LOAD   23   rLITE5
LOAD   24   rMARBFAC3
LOAD   25   rMETAL
LOAD   26   rMETAL1
LOAD   27   rNUKE24
LOAD   28   rPIPE2
LOAD   29   rPLAT1
LOAD   30   rSHAWN2
LOAD   31   rSKINEDGE
LOAD   32   rSKY1
LOAD   33   rSKY2
LOAD   34   rSKY3
LOAD   35   rSLADWALL
LOAD   36   rSP_DUDE4
LOAD   37   rSP_HOT1
LOAD   38   rSTEP6
LOAD   39   rSUPPORT2
LOAD   40   rSUPPORT3
LOAD   41   rSW1BRN1
LOAD   42   rSW1GARG
LOAD   43   rSW1GSTON
LOAD   44   rSW1HOT
LOAD   45   rSW1WOOD
LOAD   46   rSW2BRN1
LOAD   47   rSW2GARG
LOAD   48   rSW2GSTON
LOAD   49   rSW2HOT
LOAD   50   rSW2WOOD
LOAD   51   rBRICK01
LOAD   52   rBRICK02
LOAD   53   rBRICK03
LOAD   54   rDFACE01
LOAD   55   rMARBLE01
LOAD   56   rMARBLE02
LOAD   57   rMARBLE03
LOAD   58   rMARBLE04
LOAD   59   rWOOD01
LOAD   60   rASH01
LOAD   61   rCEMENT01
LOAD   62   rCBLUE01
LOAD   63   rTECH01
LOAD   64   rTECH02
LOAD   65   rTECH03
LOAD   66   rTECH04
LOAD   67   rSKIN01
LOAD   68   rSKIN02
LOAD   69   rSKIN03
LOAD   70   rSKULLS01
LOAD   71   rSTWAR01
LOAD   72   rSTWAR02
LOAD   73   rCOMTAL02
LOAD   74   rSW1STAR
LOAD   75   rSW2STAR
LOAD   76   rFLAT14
LOAD   77   rFLAT23
LOAD   78   rFLAT5_2
LOAD   79   rFLAT5_4
LOAD   80   rNUKAGE1
LOAD   81   rNUKAGE2
LOAD   82   rNUKAGE3
LOAD   83   rFLOOR0_1
LOAD   84   rFLOOR0_3
LOAD   85   rFLOOR0_6
LOAD   86   rFLOOR3_3
LOAD   87   rFLOOR4_6
LOAD   88   rFLOOR4_8
LOAD   89   rFLOOR5_4
LOAD   90   rSTEP1
LOAD   91   rSTEP2
LOAD   92   rFLOOR6_1
LOAD   93   rFLOOR6_2
LOAD   94   rTLITE6_4
LOAD   95   rTLITE6_6
LOAD   96   rFLOOR7_1
LOAD   97   rFLOOR7_2
LOAD   98   rMFLR8_1
LOAD   99   rMFLR8_4
LOAD   100   rCEIL3_2
LOAD   101   rCEIL3_4
LOAD   102   rCEIL5_1
LOAD   103   rCRATOP1
LOAD   104   rCRATOP2
LOAD   105   rFLAT4
LOAD   106   rFLAT8
LOAD   107   rGATE3
LOAD   108   rGATE4
LOAD   109   rFWATER1
LOAD   110   rFWATER2
LOAD   111   rFWATER3
LOAD   112   rFWATER4
LOAD   113   rLAVA1
LOAD   114   rLAVA2
LOAD   115   rLAVA3
LOAD   116   rLAVA4
LOAD   117   rGRASS
LOAD   118   rROCKS
LOAD   119   rBACKGROUNDMASK-1
LOAD   120   rBACKGROUNDMASK-2
LOAD   121   rBACKGROUNDMASK-3
LOAD   122   rBACKGROUNDMASK-4
LOAD   123   rBACKGROUNDMASK-5
LOAD   124   rBACKGROUNDMASK-6
LOAD   125   rTITLE
LOAD   126   rIDCREDITS
LOAD   127   rCREDITS
LOAD   128   rLOGCREDITS
LOAD   129   rBACKGRND
LOAD   130   rBACKGRNDBROWN
LOAD   131   rCHARSET
LOAD   132   rPAUSED
LOAD   133   rLOADING
LOADFIXED
LOAD   134   rBIGNUMB
LOADHANDLE
LOAD   135   rINTERMIS
LOAD   136   rSTBAR
LOAD   137   rSBARSHP
LOAD   138   rFACES
LOAD   139   rSKULLS
LOAD   140   rMAINDOOM
LOAD   141   rMAINMENU
LOAD   142   rSLIDER
LOAD   143   rGAMESAVED
LOAD   144   rSMALLCHARSET
LOAD   145   rDEMO1
LOAD   146   rDEMO2
LOAD   147   rMAP01_lump1
LOAD   148   rMAP01_lump2
LOAD   149   rMAP01_lump3
LOAD   150   rMAP01_lump4
LOAD   151   rMAP01_lump5
LOAD   152   rMAP01_lump6
LOAD   153   rMAP01_lump7
LOADFIXED
LOAD   154   rMAP01_lump8
LOAD   155   rMAP01_lump9
LOAD   156   rMAP01_lump10
LOADHANDLE
LOAD   157   rMAP02_lump1
LOAD   158   rMAP02_lump2
LOAD   159   rMAP02_lump3
LOAD   160   rMAP02_lump4
LOAD   161   rMAP02_lump5
LOAD   162   rMAP02_lump6
LOAD   163   rMAP02_lump7
LOADFIXED
LOAD   164   rMAP02_lump8
LOAD   165   rMAP02_lump9
LOAD   166   rMAP02_lump10
LOADHANDLE
LOAD   167   rMAP03_lump1
LOAD   168   rMAP03_lump2
LOAD   169   rMAP03_lump3
LOAD   170   rMAP03_lump4
LOAD   171   rMAP03_lump5
LOAD   172   rMAP03_lump6
LOAD   173   rMAP03_lump7
LOADFIXED
LOAD   174   rMAP03_lump8
LOAD   175   rMAP03_lump9
LOAD   176   rMAP03_lump10
LOADHANDLE
LOAD   177   rMAP04_lump1
LOAD   178   rMAP04_lump2
LOAD   179   rMAP04_lump3
LOAD   180   rMAP04_lump4
LOAD   181   rMAP04_lump5
LOAD   182   rMAP04_lump6
LOAD   183   rMAP04_lump7
LOADFIXED
LOAD   184   rMAP04_lump8
LOAD   185   rMAP04_lump9
LOAD   186   rMAP04_lump10
LOADHANDLE
LOAD   187   rMAP05_lump1
LOAD   188   rMAP05_lump2
LOAD   189   rMAP05_lump3
LOAD   190   rMAP05_lump4
LOAD   191   rMAP05_lump5
LOAD   192   rMAP05_lump6
LOAD   193   rMAP05_lump7
LOADFIXED
LOAD   194   rMAP05_lump8
LOAD   195   rMAP05_lump9
LOAD   196   rMAP05_lump10
LOADHANDLE
LOAD   197   rMAP06_lump1
LOAD   198   rMAP06_lump2
LOAD   199   rMAP06_lump3
LOAD   200   rMAP06_lump4
LOAD   201   rMAP06_lump5
LOAD   202   rMAP06_lump6
LOAD   203   rMAP06_lump7
LOADFIXED
LOAD   204   rMAP06_lump8
LOAD   205   rMAP06_lump9
LOAD   206   rMAP06_lump10
LOADHANDLE
LOAD   207   rMAP07_lump1
LOAD   208   rMAP07_lump2
LOAD   209   rMAP07_lump3
LOAD   210   rMAP07_lump4
LOAD   211   rMAP07_lump5
LOAD   212   rMAP07_lump6
LOAD   213   rMAP07_lump7
LOADFIXED
LOAD   214   rMAP07_lump8
LOAD   215   rMAP07_lump9
LOAD   216   rMAP07_lump10
LOADHANDLE
LOAD   217   rMAP08_lump1
LOAD   218   rMAP08_lump2
LOAD   219   rMAP08_lump3
LOAD   220   rMAP08_lump4
LOAD   221   rMAP08_lump5
LOAD   222   rMAP08_lump6
LOAD   223   rMAP08_lump7
LOADFIXED
LOAD   224   rMAP08_lump8
LOAD   225   rMAP08_lump9
LOAD   226   rMAP08_lump10
LOADHANDLE
LOAD   227   rMAP09_lump1
LOAD   228   rMAP09_lump2
LOAD   229   rMAP09_lump3
LOAD   230   rMAP09_lump4
LOAD   231   rMAP09_lump5
LOAD   232   rMAP09_lump6
LOAD   233   rMAP09_lump7
LOADFIXED
LOAD   234   rMAP09_lump8
LOAD   235   rMAP09_lump9
LOAD   236   rMAP09_lump10
LOADHANDLE
LOAD   237   rMAP10_lump1
LOAD   238   rMAP10_lump2
LOAD   239   rMAP10_lump3
LOAD   240   rMAP10_lump4
LOAD   241   rMAP10_lump5
LOAD   242   rMAP10_lump6
LOAD   243   rMAP10_lump7
LOADFIXED
LOAD   244   rMAP10_lump8
LOAD   245   rMAP10_lump9
LOAD   246   rMAP10_lump10
LOADHANDLE
LOAD   247   rMAP11_lump1
LOAD   248   rMAP11_lump2
LOAD   249   rMAP11_lump3
LOAD   250   rMAP11_lump4
LOAD   251   rMAP11_lump5
LOAD   252   rMAP11_lump6
LOAD   253   rMAP11_lump7
LOADFIXED
LOAD   254   rMAP11_lump8
LOAD   255   rMAP11_lump9
LOAD   256   rMAP11_lump10
LOADHANDLE
LOAD   257   rMAP12_lump1
LOAD   258   rMAP12_lump2
LOAD   259   rMAP12_lump3
LOAD   260   rMAP12_lump4
LOAD   261   rMAP12_lump5
LOAD   262   rMAP12_lump6
LOAD   263   rMAP12_lump7
LOADFIXED
LOAD   264   rMAP12_lump8
LOAD   265   rMAP12_lump9
LOAD   266   rMAP12_lump10
LOADHANDLE
LOAD   267   rMAP13_lump1
LOAD   268   rMAP13_lump2
LOAD   269   rMAP13_lump3
LOAD   270   rMAP13_lump4
LOAD   271   rMAP13_lump5
LOAD   272   rMAP13_lump6
LOAD   273   rMAP13_lump7
LOADFIXED
LOAD   274   rMAP13_lump8
LOAD   275   rMAP13_lump9
LOAD   276   rMAP13_lump10
LOADHANDLE
LOAD   277   rMAP14_lump1
LOAD   278   rMAP14_lump2
LOAD   279   rMAP14_lump3
LOAD   280   rMAP14_lump4
LOAD   281   rMAP14_lump5
LOAD   282   rMAP14_lump6
LOAD   283   rMAP14_lump7
LOADFIXED
LOAD   284   rMAP14_lump8
LOAD   285   rMAP14_lump9
LOAD   286   rMAP14_lump10
LOADHANDLE
LOAD   287   rMAP15_lump1
LOAD   288   rMAP15_lump2
LOAD   289   rMAP15_lump3
LOAD   290   rMAP15_lump4
LOAD   291   rMAP15_lump5
LOAD   292   rMAP15_lump6
LOAD   293   rMAP15_lump7
LOADFIXED
LOAD   294   rMAP15_lump8
LOAD   295   rMAP15_lump9
LOAD   296   rMAP15_lump10
LOADHANDLE
LOAD   297   rMAP16_lump1
LOAD   298   rMAP16_lump2
LOAD   299   rMAP16_lump3
LOAD   300   rMAP16_lump4
LOAD   301   rMAP16_lump5
LOAD   302   rMAP16_lump6
LOAD   303   rMAP16_lump7
LOADFIXED
LOAD   304   rMAP16_lump8
LOAD   305   rMAP16_lump9
LOAD   306   rMAP16_lump10
LOADHANDLE
LOAD   307   rMAP17_lump1
LOAD   308   rMAP17_lump2
LOAD   309   rMAP17_lump3
LOAD   310   rMAP17_lump4
LOAD   311   rMAP17_lump5
LOAD   312   rMAP17_lump6
LOAD   313   rMAP17_lump7
LOADFIXED
LOAD   314   rMAP17_lump8
LOAD   315   rMAP17_lump9
LOAD   316   rMAP17_lump10
LOADHANDLE
LOAD   317   rMAP18_lump1
LOAD   318   rMAP18_lump2
LOAD   319   rMAP18_lump3
LOAD   320   rMAP18_lump4
LOAD   321   rMAP18_lump5
LOAD   322   rMAP18_lump6
LOAD   323   rMAP18_lump7
LOADFIXED
LOAD   324   rMAP18_lump8
LOAD   325   rMAP18_lump9
LOAD   326   rMAP18_lump10
LOADHANDLE
LOAD   327   rMAP19_lump1
LOAD   328   rMAP19_lump2
LOAD   329   rMAP19_lump3
LOAD   330   rMAP19_lump4
LOAD   331   rMAP19_lump5
LOAD   332   rMAP19_lump6
LOAD   333   rMAP19_lump7
LOADFIXED
LOAD   334   rMAP19_lump8
LOAD   335   rMAP19_lump9
LOAD   336   rMAP19_lump10
LOADHANDLE
LOAD   337   rMAP20_lump1
LOAD   338   rMAP20_lump2
LOAD   339   rMAP20_lump3
LOAD   340   rMAP20_lump4
LOAD   341   rMAP20_lump5
LOAD   342   rMAP20_lump6
LOAD   343   rMAP20_lump7
LOADFIXED
LOAD   344   rMAP20_lump8
LOAD   345   rMAP20_lump9
LOAD   346   rMAP20_lump10
LOADHANDLE
LOAD   347   rMAP21_lump1
LOAD   348   rMAP21_lump2
LOAD   349   rMAP21_lump3
LOAD   350   rMAP21_lump4
LOAD   351   rMAP21_lump5
LOAD   352   rMAP21_lump6
LOAD   353   rMAP21_lump7
LOADFIXED
LOAD   354   rMAP21_lump8
LOAD   355   rMAP21_lump9
LOAD   356   rMAP21_lump10
LOADHANDLE
LOAD   357   rMAP22_lump1
LOAD   358   rMAP22_lump2
LOAD   359   rMAP22_lump3
LOAD   360   rMAP22_lump4
LOAD   361   rMAP22_lump5
LOAD   362   rMAP22_lump6
LOAD   363   rMAP22_lump7
LOADFIXED
LOAD   364   rMAP22_lump8
LOAD   365   rMAP22_lump9
LOAD   366   rMAP22_lump10
LOADHANDLE
LOAD   367   rMAP23_lump1
LOAD   368   rMAP23_lump2
LOAD   369   rMAP23_lump3
LOAD   370   rMAP23_lump4
LOAD   371   rMAP23_lump5
LOAD   372   rMAP23_lump6
LOAD   373   rMAP23_lump7
LOADFIXED
LOAD   374   rMAP23_lump8
LOAD   375   rMAP23_lump9
LOAD   376   rMAP23_lump10
LOADHANDLE
LOAD   377   rMAP24_lump1
LOAD   378   rMAP24_lump2
LOAD   379   rMAP24_lump3
LOAD   380   rMAP24_lump4
LOAD   381   rMAP24_lump5
LOAD   382   rMAP24_lump6
LOAD   383   rMAP24_lump7
LOADFIXED
LOAD   384   rMAP24_lump8
LOAD   385   rMAP24_lump9
LOAD   386   rMAP24_lump10
LOADHANDLE
LOAD   387   rSPR_BIGFISTS
LOAD   388   rSPR_BIGPISTOL
LOAD   389   rSPR_BIGSHOTGUN
LOAD   390   rSPR_BIGCHAINGUN
LOAD   391   rSPR_BIGROCKET
LOAD   392   rSPR_BIGPLASMA
LOAD   393   rSPR_BIGBFG
LOAD   394   rSPR_BIGCHAINSAW
LOAD   395   rSPR_ZOMBIE
LOAD   396   rSPR_ZOMBIEBODY
LOAD   397   rSPR_SHOTGUY
LOAD   398   rSPR_IMP
LOAD   399   rSPR_DEMON
LOAD   400   rSPR_CACODEMON
LOAD   401   rSPR_CACODIE
LOAD   402   rSPR_CACOBDY
LOAD   403   rSPR_CACOBOLT
LOAD   404   rSPR_LOSTSOUL
LOAD   405   rSPR_BARON
LOAD   406   rSPR_BARONATK
LOAD   407   rSPR_BARONDIE
LOAD   408   rSPR_BARONBDY
LOAD   409   rSPR_BARONBLT
LOAD   410   rSPR_OURHERO
LOAD   411   rSPR_OURHEROBDY
LOAD   412   rSPR_BARREL
LOAD   413   rSPR_IFOG
LOAD   414   rSPR_FIRECAN
LOAD   415   rSPR_POOLBLOOD
LOAD   416   rSPR_CANDLE
LOAD   417   rSPR_CANDLEABRA
LOAD   418   rSPR_SHOTGUN
LOAD   419   rSPR_CHAINGUN
LOAD   420   rSPR_ROCKETLAUNCHER
LOAD   421   rSPR_CHAINSAW
LOAD   422   rSPR_CLIP
LOAD   423   rSPR_SHELLS
LOAD   424   rSPR_ROCKET
LOAD   425   rSPR_STIMPACK
LOAD   426   rSPR_MEDIKIT
LOAD   427   rSPR_GREENARMOR
LOAD   428   rSPR_BLUEARMOR
LOAD   429   rSPR_LIGHTCOLUMN
LOAD   430   rSPR_BACKPACK
LOAD   431   rSPR_BOXROCKETS
LOAD   432   rSPR_BOXAMMO
LOAD   433   rSPR_BOXSHELLS
LOAD   434   rSPR_TECHPILLAR
LOAD   435   rSPR_BLUEKEYCARD
LOAD   436   rSPR_YELLOWKEYCARD
LOAD   437   rSPR_REDKEYCARD
LOAD   438   rSPR_RADIATIONSUIT
LOAD   439   rSPR_IRGOGGLES
LOAD   440   rSPR_COMPUTERMAP
LOAD   441   rSPR_INVISIBILITY
LOAD   442   rSPR_HEALTHBONUS
LOAD   443   rSPR_SOULSPHERE
LOAD   444   rSPR_ARMORBONUS
LOAD   445   rSPR_BODYPOLE
LOAD   446   rSPR_FIVESKULLPOLE
LOAD   447   rSPR_TALLSKULLPOLE
LOAD   448   rSPR_SHORTGREENPILLAR
LOAD   449   rSPR_SHORTREDPILLAR
LOAD   450   rSPR_FLAMINGSKULLS
LOAD   451   rSPR_MEDDEADTREE
LOAD   452   rSPR_LARGESTAL
LOAD   453   rSPR_SMALLSTAL
LOAD   454   rSPR_BLUESKULLKEY
LOAD   455   rSPR_REDSKULLKEY
LOAD   456   rSPR_YELLOWSKULLKEY
LOAD   457   rSPR_PLASMARIFLE
LOAD   458   rSPR_BFG9000
LOAD   459   rSPR_CELL
LOAD   460   rSPR_BERZERKER
LOAD   461   rSPR_CELLPACK
LOAD   462   rSPR_HANGINGRUMP
LOAD   463   rSPR_REDTORCH
LOAD   464   rSPR_BLUETORCH
LOAD   465   rSPR_GREENTORCH
LOAD   466   rSPR_INVULNERABILITY
LOAD   467   rSPR_TELEFOG
LOAD   468   rSPR_BFS1
LOAD   469   rSPR_BFE1
LOAD   470   rSPR_BFE2
LOAD   471   rSPR_PLSS
LOAD   472   rSPR_PLSE
LOAD   473   rSPR_MISL
LOAD   474   rSPR_BLUD
LOAD   475   rSPR_PUFF

Сразу видно, что пакуем.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


11 янв 2016, 10:30
Профиль
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1297
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
Ответить с цитатой

Versus писал(а):
Кстати, а что за самый первый файл в REZFILE (D0001)?

Это rTEXTURE1, описано в RData.c
typedef struct {      /* Actual structure of TEXTURE1 */
   Word Count;         /* Count of entries */
   Word First;         /* Starting resource # */
   Word FlatCount;      /* Count of flats */
   Word FirstFlat;      /* Starting resource # for flats */
   texture_t Array[1];   /* Array of entries[Count] */
} Filemaptexture_t;

texture_t Array[1]; - это ширина и высота каждой структуры плюс 00000000

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


12 янв 2016, 06:00
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

aliast
Спасибо! Это получается, что если я захочу добавить текстуру пола или стены, то мне нужно править этот файл? А нельзя никак автоматизировать процесс?

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


12 янв 2016, 10:19
Профиль
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 1386 ]  На страницу Пред.  1 ... 21, 22, 23, 24, 25, 26, 27 ... 47  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 152


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
© 2008-2024 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.087s | 19 Queries | GZIP : On
Valid XHTML 1.0!