Цвета в Ultima Online

Talk everything you want (no ads and spam)

Moderators: Murderator+, Murderator

Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

хз что аза параметры
Заголовок где смотрел везде 0
Старт везде где смотрел равен первому цвету в палитре
а Енд не совпадает в большей части с последним в палитре...
мозможно это пограничные цвета... надо попробовать по игратся сними, просто по тупому меняешь их кардинально, интересны значения 0.

вот вроде все
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

http://www.d2-life.com/netgame/file_formats_gb.htm

Тут по этому делу какие-то комментарии походу.. Правда фиг прочесть :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

можно клиент по ковырять если очень интересно... просто по мне это гораздо быстрей на практике проверить
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Та не, не интересно.

У меня и без них нормуль работает.

Я от делать нечего заинтересовался побитовыми операторами.. сила сцуко :)

Написал менялку местами двух байтов :)
$c = 0x1234;
$c = ( ( $c & 0xFF ) << 8 ) | ( $c >> 8 );

Йа крут :) Надо что-нибудь почитать..

Всё, пора спать.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Code: Select all

<?php
$hues_file = "hues.mul";
$fp = fopen( $hues_file, "rb" );

$colors = array();
while( $row = fread( $fp, 0x02C4 ) ){
   for( $i = 0; $i < 8; $i ++ ){
      $colors[] = substr( $row, 88 * $i + 68 + 4, 20 );
   }
}

fclose( $fp );

print_r( $colors );

?>

Code: Select all

    [1055] => SkinHue #1055
    [1056] => SkinHue #1056 ↕ ♦ !:
    [1057] => SkinHue #1057  ♦ ♥♦
    [1058] => test X‼ ♦ 93♫tagLVFI
    [1059] =>  MULTI_OBJ_TO_OBJ♫ ♦
    [1060] =>  MARSHAL_SIZING_ROUT
 ♦ J►1061] =>  CK        ♦ ▌‼♦UUID


Жесть :) Цэ мусор видимо, а читать имя нужно до 0x00.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

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

Под имя выделяется 20 байт естествено они все могут не использоватся, но при этом если имя 20 то терменирующего 0 может и не быть... по этому для уверености лутше использовать имена до 19 и терменировать нулем (C строка)
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Блин, сначала думал меня глючит - но у меня все байты идут ровно в обратном порядке, чем на стратиксе написано.

Сейчас читал доку по формату BMP - там тоже самое.. Скажи мне, почему например DWORD должен читаться с конца?..

Т.е. написано у меня в HEX: 36000F00, а читать это нужно как 00F00036.. почему так?

PS: И такой вопрос, LONG - это сколько?) Я так полагаю, это от чего-то зависимая величина, но в одном файле - постоянная, верно ?)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

ну вот заблудились в жлементарном...
Сие есть архитектурная зависемость... есть соглашение bigEndian и littleEndian.
Архитектура IA-32 использует littleEndian, тоесть младший значущий байт идет первым, а старший последним.

LONG 32 разрядное целое знаковое число.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Понятно. Спасибо, расставил всё по местам..

Блин, на википедии непонятно написано.. у них нету struct CIEXYZTRIPLE ...

Придётся видимо гуглить...

Добавлено:
Вроде нашёл. Одно непонятно:

Code: Select all

alias int FXPT2DOT30;
alias int* LPFXPT2DOT30;

struct CIEXYZ {
   FXPT2DOT30 ciexyzX;
   FXPT2DOT30 ciexyzY;
   FXPT2DOT30 ciexyzZ;
}

struct CIEXYZTRIPLE {
   CIEXYZ ciexyzRed;
   CIEXYZ ciexyzGreen;
   CIEXYZ ciexyzBlue;
}


Так сколько это получается LPFXPT2DOT30 ?

PS: Сорри за глупые вопросы, я просто не читал на эту тему абсолютно никакой литературы - всё по твоим наставлениям руководствуюсь :)

PPS: Нашёл почти тоже самое в msdn - положил в закладки, будем учится...

Добавлено:
Путём нехитрых манипуляций, пришёл к выводу, что LPFXPT2DOT30 - это 4 байта.. подробности можно опустить :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

нахрена тебе это???
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Grin wrote:нахрена тебе это???

БМПгу считать хочу.. а в пхп нема функции :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

так чего ты паришься какието структуры нашел... свои апиши если так надо. описание бмп есть.. соответствено есть описание структуры даных. В стати в бмп можно инфу прятать ввиду струкруры.
Post Reply