Changeset 16 for trunk

Show
Ignore:
Timestamp:
01/04/08 21:22:55 (8 months ago)
Author:
sagrer
Message:
  • Исправлены ошибки в чтении\записи\редактировании неизвестных байтовых значений в рычагах и ловушках.
  • Параметр объектов UncnByte?1 - установлено назначение - при значении 1 показывается тень объекта, при значении 0 тень не показывается вообще. Параметр переименован в ShowShadow?.
  • Номер версии переведен на 0.3.7 - это будет багфикс релиз.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/2bin/ChangeLog.txt

    r15 r16  
    1 Âåðñèÿ 0.4.0 
     1Âåðñèÿ 0.3.7 
    22----------- 
    3  *  
     3 * Èñïðàâëåíû îøèáêè â ÷òåíèè\çàïèñè\ðåäàêòèðîâàíèè íåèçâåñòíûõ áàéòîâûõ çíà÷åíèé â ðû÷àãàõ è ëîâóøêàõ. 
     4 * Ïàðàìåòð îáúåêòîâ UncnByte1 - óñòàíîâëåíî íàçíà÷åíèå - ïðè çíà÷åíèè 1 ïîêàçûâàåòñÿ òåíü îáúåêòà, ïðè çíà÷åíèè 0 òåíü íå ïîêàçûâàåòñÿ âîîáùå. Ïàðàìåòð ïåðåèìåíîâàí â ShowShadow. 
    45 
    56Âåðñèÿ 0.3.6 
  • trunk/MainForm.cpp

    r12 r16  
    18281828  this->ValuesEditor->Strings->Add("IsQuestUnit="+IntToStr(MobObject->IsQuestUnit)); 
    18291829  //UncnByte1 
    1830   this->ValuesEditor->Strings->Add("UncnByte1="+IntToStr(MobObject->UncnByte1)); 
     1830  this->ValuesEditor->Strings->Add("ShowShadow="+IntToStr(MobObject->ShowShadow)); 
    18311831  //UncnDw2 
    18321832  this->ValuesEditor->Strings->Add("UncnDw2="+IntToStr(MobObject->UncnDw2)); 
     
    18611861  //Sleigth 
    18621862  this->ValuesEditor->Strings->Add("Sleigth="+IntToStr(MobObject->Sleigth)); 
    1863   //UncnByte1 
    1864   this->ValuesEditor->Strings->Add("UncnByte1="+IntToStr(MobObject->UncnByte1)); 
    18651863  //UncnByte2 
    18661864  this->ValuesEditor->Strings->Add("UncnByte2="+IntToStr(MobObject->UncnByte2)); 
     
    18711869  //UncnByte5 
    18721870  this->ValuesEditor->Strings->Add("UncnByte5="+IntToStr(MobObject->UncnByte5)); 
     1871  //UncnByte6 
     1872  this->ValuesEditor->Strings->Add("UncnByte6="+IntToStr(MobObject->UncnByte6)); 
    18731873 
    18741874  //À òåïåðü ïðî÷èòàòü "íàñëåäíóþ" èíôó %). 
     
    23222322    }; 
    23232323  } 
    2324   else if (KeyName == "UncnByte1") 
     2324  else if (KeyName == "ShowShadow") 
    23252325  { 
    23262326    //byte 
     
    23292329    { 
    23302330      //Çàïîìèíàåì èíôó... 
    2331       MobObject->UncnByte1 = StrToInt(this->ValuesEditor->Values[KeyName]); 
    2332       this->SetMobModified(); 
    2333     } 
    2334     else 
    2335     { 
    2336       //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
    2337       this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte1); 
     2331      MobObject->ShowShadow = StrToInt(this->ValuesEditor->Values[KeyName]); 
     2332      this->SetMobModified(); 
     2333    } 
     2334    else 
     2335    { 
     2336      //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
     2337      this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->ShowShadow); 
    23382338    }; 
    23392339  } 
     
    25892589    }; 
    25902590  } 
    2591   else if (KeyName == "UncnByte1") 
     2591  else if (KeyName == "UncnByte2") 
    25922592  { 
    25932593    //DWORD 
     
    25962596    { 
    25972597      //Çàïîìèíàåì èíôó... 
    2598       MobObject->UncnByte1 = StrToInt(this->ValuesEditor->Values[KeyName]); 
    2599       this->SetMobModified(); 
    2600     } 
    2601     else 
    2602     { 
    2603       //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
    2604       this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte1); 
    2605     }; 
    2606   } 
    2607   else if (KeyName == "UncnByte2") 
     2598      MobObject->UncnByte2 = StrToInt(this->ValuesEditor->Values[KeyName]); 
     2599      this->SetMobModified(); 
     2600    } 
     2601    else 
     2602    { 
     2603      //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
     2604      this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte2); 
     2605    }; 
     2606  } 
     2607  else if (KeyName == "UncnByte3") 
    26082608  { 
    26092609    //DWORD 
     
    26122612    { 
    26132613      //Çàïîìèíàåì èíôó... 
    2614       MobObject->UncnByte2 = StrToInt(this->ValuesEditor->Values[KeyName]); 
    2615       this->SetMobModified(); 
    2616     } 
    2617     else 
    2618     { 
    2619       //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
    2620       this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte2); 
    2621     }; 
    2622   } 
    2623   else if (KeyName == "UncnByte3") 
     2614      MobObject->UncnByte3 = StrToInt(this->ValuesEditor->Values[KeyName]); 
     2615      this->SetMobModified(); 
     2616    } 
     2617    else 
     2618    { 
     2619      //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
     2620      this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte3); 
     2621    }; 
     2622  } 
     2623  else if (KeyName == "UncnByte4") 
    26242624  { 
    26252625    //DWORD 
     
    26282628    { 
    26292629      //Çàïîìèíàåì èíôó... 
    2630       MobObject->UncnByte3 = StrToInt(this->ValuesEditor->Values[KeyName]); 
    2631       this->SetMobModified(); 
    2632     } 
    2633     else 
    2634     { 
    2635       //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
    2636       this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte3); 
    2637     }; 
    2638   } 
    2639   else if (KeyName == "UncnByte4") 
     2630      MobObject->UncnByte4 = StrToInt(this->ValuesEditor->Values[KeyName]); 
     2631      this->SetMobModified(); 
     2632    } 
     2633    else 
     2634    { 
     2635      //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
     2636      this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte4); 
     2637    }; 
     2638  } 
     2639  else if (KeyName == "UncnByte5") 
    26402640  { 
    26412641    //DWORD 
     
    26442644    { 
    26452645      //Çàïîìèíàåì èíôó... 
    2646       MobObject->UncnByte4 = StrToInt(this->ValuesEditor->Values[KeyName]); 
    2647       this->SetMobModified(); 
    2648     } 
    2649     else 
    2650     { 
    2651       //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
    2652       this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte4); 
    2653     }; 
    2654   } 
    2655   else if (KeyName == "UncnByte5") 
     2646      MobObject->UncnByte5 = StrToInt(this->ValuesEditor->Values[KeyName]); 
     2647      this->SetMobModified(); 
     2648    } 
     2649    else 
     2650    { 
     2651      //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
     2652      this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte5); 
     2653    }; 
     2654  } 
     2655  else if (KeyName == "UncnByte6") 
    26562656  { 
    26572657    //DWORD 
     
    26602660    { 
    26612661      //Çàïîìèíàåì èíôó... 
    2662       MobObject->UncnByte5 = StrToInt(this->ValuesEditor->Values[KeyName]); 
    2663       this->SetMobModified(); 
    2664     } 
    2665     else 
    2666     { 
    2667       //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
    2668       this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte5); 
     2662      MobObject->UncnByte6 = StrToInt(this->ValuesEditor->Values[KeyName]); 
     2663      this->SetMobModified(); 
     2664    } 
     2665    else 
     2666    { 
     2667      //Âîññòàíàâëèâàåì ñòàðîå èç îáúåêòà êëàññà... 
     2668      this->ValuesEditor->Values[KeyName] = IntToStr(MobObject->UncnByte6); 
    26692669    }; 
    26702670  } 
  • trunk/MobLeverObj.cpp

    r3 r16  
    7878 
    7979 
    80     else if (MinBlockSgn == Lvr_Sgn_UnknByte1) 
    81     { 
    82       //Íåèçâåñòíîå byte1. 
    83       //byte 
    84  
    85       //Ïðîñêî÷èòü äëèíó áëîêà... 
    86       Cursor = Cursor+4; 
    87       //Ïðî÷èòàòü çíà÷åíèå... 
    88       memcpy(&UncnByte1,&Buff[Cursor],1); 
    89       Cursor = Cursor+1; 
    90     } 
    91  
    9280    else if (MinBlockSgn == Lvr_Sgn_UnknByte2) 
    9381    { 
     
    135123      //Ïðî÷èòàòü çíà÷åíèå... 
    136124      memcpy(&UncnByte5,&Buff[Cursor],1); 
     125      Cursor = Cursor+1; 
     126    } 
     127 
     128    else if (MinBlockSgn == Lvr_Sgn_UnknByte6) 
     129    { 
     130      //Íåèçâåñòíîå byte6. 
     131      //byte 
     132 
     133      //Ïðîñêî÷èòü äëèíó áëîêà... 
     134      Cursor = Cursor+4; 
     135      //Ïðî÷èòàòü çíà÷åíèå... 
     136      memcpy(&UncnByte6,&Buff[Cursor],1); 
    137137      Cursor = Cursor+1; 
    138138    } 
     
    192192  Cursor = Cursor+4; 
    193193 
    194   //Íåèçâåñòíîå byte1. 
    195   //byte 
    196   //Ñèãíàòóðà ïîäáëîêà 
    197   memcpy(&Result[Cursor],&Lvr_Sgn_UnknByte1,4); 
    198   Cursor = Cursor+4; 
    199   //Äëèíà áëîêà... 
    200   ChetireBaita = 9; 
    201   memcpy(&Result[Cursor],&ChetireBaita,4); 
    202   Cursor = Cursor+4; 
    203   //Çíà÷åíèå 
    204   memcpy(&Result[Cursor],&UncnByte1,4); 
    205   Cursor = Cursor+1; 
    206  
    207194  //Íåèçâåñòíîå byte2. 
    208195  //byte 
     
    215202  Cursor = Cursor+4; 
    216203  //Çíà÷åíèå 
    217   memcpy(&Result[Cursor],&UncnByte2,4); 
     204  memcpy(&Result[Cursor],&UncnByte2,1); 
    218205  Cursor = Cursor+1; 
    219206 
     
    228215  Cursor = Cursor+4; 
    229216  //Çíà÷åíèå 
    230   memcpy(&Result[Cursor],&UncnByte3,4); 
     217  memcpy(&Result[Cursor],&UncnByte3,1); 
    231218  Cursor = Cursor+1; 
    232219 
     
    241228  Cursor = Cursor+4; 
    242229  //Çíà÷åíèå 
    243   memcpy(&Result[Cursor],&UncnByte4,4); 
     230  memcpy(&Result[Cursor],&UncnByte4,1); 
    244231  Cursor = Cursor+1; 
    245232 
     
    254241  Cursor = Cursor+4; 
    255242  //Çíà÷åíèå 
    256   memcpy(&Result[Cursor],&UncnByte5,4); 
     243  memcpy(&Result[Cursor],&UncnByte5,1); 
     244  Cursor = Cursor+1; 
     245 
     246  //Íåèçâåñòíîå byte6. 
     247  //byte 
     248  //Ñèãíàòóðà ïîäáëîêà 
     249  memcpy(&Result[Cursor],&Lvr_Sgn_UnknByte6,4); 
     250  Cursor = Cursor+4; 
     251  //Äëèíà áëîêà... 
     252  ChetireBaita = 9; 
     253  memcpy(&Result[Cursor],&ChetireBaita,4); 
     254  Cursor = Cursor+4; 
     255  //Çíà÷åíèå 
     256  memcpy(&Result[Cursor],&UncnByte6,1); 
    257257  Cursor = Cursor+1; 
    258258 
  • trunk/MobLeverObj.h

    r3 r16  
    2727//Çàîäíî è ôîðìàò âèäåí â ïðèíöèïå :) 
    2828const DWORD Lvr_Sgn_SwitchParams = 3148611590;   //(06 00 AC BB) //Èíôîðìàöèÿ î âêëþ÷àåìîñòè ðû÷àãà. (20) 
    29 const DWORD Lvr_Sgn_UnknByte1 = 3148611586;   //(02 00 AC BB) //Íåèçâåñòíûé byte1. (9) 
    30 const DWORD Lvr_Sgn_UnknByte2 = 3148611587;   //(03 00 AC BB) //Íåèçâåñòíîå byte2. (9) 
    31 const DWORD Lvr_Sgn_UnknByte3 = 3148611588;   //(04 00 AC BB) //Íåèçâåñòíîå byte3. (9) 
    32 const DWORD Lvr_Sgn_UnknByte4 = 3148611591;   //(07 00 AC BB) //Íåèçâåñòíîå byte4. (9) 
    33 const DWORD Lvr_Sgn_UnknByte5 = 3148611592;   //(08 00 AC BB) //Íåèçâåñòíîå byte5. (9) 
     29const DWORD Lvr_Sgn_UnknByte2 = 3148611586;   //(02 00 AC BB) //Íåèçâåñòíûé byte2. (9) 
     30const DWORD Lvr_Sgn_UnknByte3 = 3148611587;   //(03 00 AC BB) //Íåèçâåñòíîå byte3. (9) 
     31const DWORD Lvr_Sgn_UnknByte4 = 3148611588;   //(04 00 AC BB) //Íåèçâåñòíîå byte4. (9) 
     32const DWORD Lvr_Sgn_UnknByte5 = 3148611591;   //(07 00 AC BB) //Íåèçâåñòíîå byte5. (9) 
     33const DWORD Lvr_Sgn_UnknByte6 = 3148611592;   //(08 00 AC BB) //Íåèçâåñòíîå byte6. (9) 
    3434 
    3535//{à òóò ïî ôîðìàòó çàïèõàí îáæåêòîâûé ñòàíäàðòíûé áëîê} 
     
    4545    DWORD Key;                    //êëþ÷ 
    4646    DWORD Sleigth;                 //íåîáõîäèìàÿ ëîâêîñòü ðóê 
    47     DWORD UncnByte1;                 //Íåèçâåñòíîå dw1
    48     DWORD UncnByte2;                 //Íåèçâåñòíîå dw2
    49     DWORD UncnByte3;                 //Íåèçâåñòíîå dw3
    50     DWORD UncnByte4;                 //Íåèçâåñòíîå dw4
    51     DWORD UncnByte5;                 //Íåèçâåñòíîå dw5
     47    byte UncnByte2;                 //Íåèçâåñòíûé byte 2
     48    byte UncnByte3;                 //Íåèçâåñòíûé byte 3
     49    byte UncnByte4;                 //Íåèçâåñòíûé byte 4
     50    byte UncnByte5;                 //Íåèçâåñòíûé byte 5
     51    byte UncnByte6;                 //Íåèçâåñòíûé byte 6
    5252 
    5353    //Òèïà ôóíêöèè... 
  • trunk/MobObjectObj.cpp

    r3 r16  
    344344    } 
    345345 
    346     else if (MinBlockSgn == Obj_Sgn_UncnByte1
     346    else if (MinBlockSgn == Obj_Sgn_ShowShadow
    347347    { 
    348348      //Íåèçâåñòíîå ÷èñëî â 1 áàéò. 
     
    352352      Cursor = Cursor+4; 
    353353      //Ïðî÷èòàòü çíà÷åíèå... 
    354       memcpy(&UncnByte1,&Buff[Cursor],1); 
     354      memcpy(&ShowShadow,&Buff[Cursor],1); 
    355355      Cursor = Cursor+1; 
    356356    } 
     
    646646  //byte 
    647647  //Ñèãíàòóðà ïîäáëîêà 
    648   memcpy(&Result[Cursor],&Obj_Sgn_UncnByte1,4); 
     648  memcpy(&Result[Cursor],&Obj_Sgn_ShowShadow,4); 
    649649  Cursor = Cursor+4; 
    650650  //Äëèíà áëîêà... 
     
    653653  Cursor = Cursor+4; 
    654654  //Çíà÷åíèå 
    655   memcpy(&Result[Cursor],&UncnByte1,1); 
     655  memcpy(&Result[Cursor],&ShowShadow,1); 
    656656  Cursor = Cursor+1; 
    657657 
  • trunk/MobObjectObj.h

    r3 r16  
    3838const DWORD Obj_Sgn_Rotation = 45066;           //(0A B0 00 00) //Îðèåíòàöèÿ îáúåêòà. 
    3939const DWORD Obj_Sgn_IsQuestUnit = 45075;        //(13 B0 00 00) //Èíäèêàòîð ÷òî þíèò ÿâëÿåòñÿ êâåñòîâûì. 
    40 const DWORD Obj_Sgn_UncnByte1 = 45076;          //(14 B0 00 00) //Íåèçâåñòíîå ÷èñëî â 1 áàéò
     40const DWORD Obj_Sgn_ShowShadow = 45076;         //(14 B0 00 00) //Èíäèêàòîð - ïîêàçûâàòü ëè òåíü îò îáúåêòà
    4141const DWORD Obj_Sgn_UncnDw2 = 45074;            //(12 B0 00 00) //Íåèçâåñòíîå dw. 
    4242const DWORD Obj_Sgn_QuestLightStr = 45078;      //(16 B0 00 00) //×òî-òî ñâÿçàíîå ñ êâåñòîâîé ïîäñâåòêîé 
     
    6868    float RotationZ;             //  --"-- 
    6969    byte IsQuestUnit;            //Èíäèêàòîð ÷òî þíèò ÿâëÿåòñÿ êâåñòîâûì. 
    70     byte UncnByte1;              //Íåèçâåñòíîå ÷èñëî â 1 áàéò
     70    byte ShowShadow;             //Èíäèêàòîð - ïîêàçûâàòü ëè òåíü îò îáúåêòà
    7171    DWORD UncnDw2;               //Íåèçâåñòíîå dw. 
    7272    String QuestLightStr;        //×òî-òî ñâÿçàíîå ñ êâåñòîâîé ïîäñâåòêîé. 
  • trunk/MobSurgeon_dev.vit

    r15 r16  
    22v 1 
    330 
    4 
    5 
     4
     5
    660 
    77r 
  • trunk/MobTrapObj.cpp

    r3 r16  
    309309  Cursor = Cursor+4; 
    310310  //Çíà÷åíèå 
    311   memcpy(&Result[Cursor],&UncnByte1,4); 
     311  memcpy(&Result[Cursor],&UnknByte1,4); 
    312312  Cursor = Cursor+1; 
    313313