Последние сообщения

Страницы: 1 [2] 3 4 ... 10
11
Если же поменять местами ширину и длину, то тоже получается не так:
12
И с выходом из уровня (предположительно).
14
Выложу только этажи с данными уровня 0.
15
Что-то я туплю...  ::dash:
Читается 64-битное число (8 байт), оно же является условным вокселем. Этих вокселей в файле по 64*32 на этаж. То есть, начало файла - Floor0 с 0x0 до 0х4000. И начинаем построение обычной таблицы 64 столбца на 32 ряда.
Цвет для ячейки таблицы расчитывается из этого 64-битного числа. Какой цвет будет не особенно важно.
Но блин у меня не получаются такие картинки, хоть тресни...  ::dash: Получаются как бы с какой-то сдвижкой. Позже выложу результат. Вроде и просто все, но уперся непонятно во что...
17
Altmer, можно глянуть код, который работает с файлами Deathkeep? Или пощупать приложение, которое выдает это:
http://www.arts-union.ru/smf/index.php?topic=863.msg14349#msg14349

Код: C++
  1. /*
  2.  * File: death-keep-level
  3.  * Created on: Вс дек 11 16:44:23 2016
  4.  * Author: Altmer
  5.  */
  6.  
  7. void makemap(grid @g, uint64 off)
  8. {
  9.     int sk=32;
  10.     g.resize(64,32);
  11.     for(int i=0;i<32;i++)
  12.     {
  13.         for(int j=0;j<64;j++)
  14.         {    
  15.             int ind=(j*sk+i)*8;
  16.             int x=j;
  17.             int y=i;
  18.             g.color(x,y,u32((ind)*8+4)|u32b((ind)*8));
  19.         }
  20.     }
  21. }
  22.  
  23. void makemap1(grid @g, uint64 off)
  24. {
  25.     int sk=32;
  26.     g.resize(64,32);
  27.     for(int i=0;i<32;i++)
  28.     {
  29.         for(int j=0;j<64;j++)
  30.         {    
  31.             int ind=(j*sk+i)*8+1;
  32.             int x=j;
  33.             int y=i;
  34.             g.color(x,y,u32((ind)*8+4)|u32b((ind)*8));
  35.         }
  36.     }
  37. }
  38.  
  39. void makemap2(grid @g, uint64 off)
  40. {
  41.     int sk=32;
  42.     g.resize(64,32);
  43.     for(int i=0;i<32;i++)
  44.     {
  45.         for(int j=0;j<64;j++)
  46.         {    
  47.             int ind=(j*sk+i)*8+2;
  48.             int x=j;
  49.             int y=i;
  50.             g.color(x,y,u32((ind)*8+4)|u32b((ind)*8));
  51.         }
  52.     }
  53. }
  54.  
  55. void makemap3(grid @g, uint64 off)
  56. {
  57.     int sk=32;
  58.     g.resize(64,32);
  59.     for(int i=0;i<32;i++)
  60.     {
  61.         for(int j=0;j<64;j++)
  62.         {    
  63.             int ind=(j*sk+i)*8+3;
  64.             int x=j;
  65.             int y=i;
  66.             g.color(x,y,u32((ind)*8+4)|u32b((ind)*8));
  67.         }
  68.     }
  69. }
  70.  
  71. void makemap4(grid @g, uint64 off)
  72. {
  73.     int sk=32;
  74.     g.resize(64,32);
  75.     for(int i=0;i<32;i++)
  76.     {
  77.         for(int j=0;j<64;j++)
  78.         {    
  79.             int ind=(j*sk+i)*8+4;
  80.             int x=j;
  81.             int y=i;
  82.             g.color(x,y,u32((ind)*8+4)|u32b((ind)*8));
  83.         }
  84.     }
  85. }
  86.  
  87. void makemap5(grid @g, uint64 off)
  88. {
  89.     int sk=32;
  90.     g.resize(64,32);
  91.     for(int i=0;i<32;i++)
  92.     {
  93.         for(int j=0;j<64;j++)
  94.         {    
  95.             int ind=(j*sk+i)*8+5;
  96.             int x=j;
  97.             int y=i;
  98.             g.color(x,y,u32((ind)*8+4)|u32b((ind)*8));
  99.         }
  100.     }
  101. }
  102.  
  103. void makemap6(grid @g, uint64 off)
  104. {
  105.     int sk=32;
  106.     g.resize(64,32);
  107.     for(int i=0;i<32;i++)
  108.     {
  109.         for(int j=0;j<64;j++)
  110.         {    
  111.             int ind=(j*sk+i)*8+6;
  112.             int x=j;
  113.             int y=i;
  114.             g.color(x,y,u32((ind)*8+4)|u32b((ind)*8));
  115.         }
  116.     }
  117. }
  118.  
  119. void makemap7(grid @g, uint64 off)
  120. {
  121.     int sk=32;
  122.     g.resize(64,32);
  123.     for(int i=0;i<32;i++)
  124.     {
  125.         for(int j=0;j<64;j++)
  126.         {    
  127.             int ind=(j*sk+i)*8+7;
  128.             int x=j;
  129.             int y=i;
  130.             g.color(x,y,u32((ind)*8+4)|u32b((ind)*8));
  131.         }
  132.     }
  133. }
  134.  
  135. int main()
  136. {
  137.     uint64 size=sizeof("");
  138.    
  139.     legend("","text:Floor 0");
  140.     legend("","grid,12:makemap");
  141.     legend("","text:Floor 1");    
  142.     legend("","grid,12:makemap1");
  143.     legend("","text:Floor 2");    
  144.     legend("","grid,12:makemap2");
  145.     legend("","text:Floor 3");    
  146.     legend("","grid,12:makemap3");
  147.     legend("","text:Floor 4");    
  148.     legend("","grid,12:makemap4");
  149.     legend("","text:Floor 5");    
  150.     legend("","grid,12:makemap5");
  151.     legend("","text:Floor 6");    
  152.     legend("","grid,12:makemap6");
  153.     legend("","text:Floor 7");    
  154.     legend("","grid,12:makemap7");
  155.    
  156.     return 0;
  157. }
  158.  

Вот скрипт, но приложение надо реанимировать ) Хотя из скрипта ты можешь понять как получаются индексы блоков.
18
Altmer, можно глянуть код, который работает с файлами Deathkeep? Или пощупать приложение, которое выдает это:
http://www.arts-union.ru/smf/index.php?topic=863.msg14349#msg14349
19
Эмуляция / Re: PHOENIX emulator on RetroArch
« Последний ответ от triggerthehorizon 03 Август 2020, 15:53:04 »
But maybe one day? :)
20
Эмуляция / Re: PHOENIX emulator on RetroArch
« Последний ответ от Altmer 11 Июнь 2020, 09:52:41 »
Not today.
Страницы: 1 [2] 3 4 ... 10