Mercurial > mm7
changeset 1185:24454b5c9268
more on acromage
author | Gloval |
---|---|
date | Fri, 07 Jun 2013 01:32:17 +0400 |
parents | a90dc4aee8f4 |
children | 569216b4f54d |
files | Arcomage.cpp Arcomage.h ArcomageCards.cpp Render.cpp Render.h mm7_data.cpp mm7_data.h |
diffstat | 7 files changed, 963 insertions(+), 428 deletions(-) [+] |
line wrap: on
line diff
--- a/Arcomage.cpp Thu Jun 06 08:33:43 2013 +0400 +++ b/Arcomage.cpp Fri Jun 07 01:32:17 2013 +0400 @@ -26,17 +26,17 @@ void sub_409BE8(); -char __cdecl am_409FE9(); +void am_409FE9(); char __cdecl am_40A198(); void am_40A255(); void am_40A283(int a1); -signed int __fastcall am_40A324(int a1); +int GetEmptyCardSlotIndex(int player_num); void am_40A346(int player_num); void __cdecl am_40A383(); bool am_40A514(); char __thiscall am_40A560(unsigned int _this); -void __thiscall am_blts(int a1); // idb -void __cdecl am_40AA4E(); +void am_blts(int a1); // idb +void am_40AA4E(); void __cdecl am_chroma_blts(); void __cdecl am_DrawUI(); void __fastcall am_40B102(int a1, char *a2, POINT *pXY); // idb @@ -47,13 +47,13 @@ void __cdecl am_chroma_blt(); void __cdecl am_40B4B9(); void __fastcall am_40B76F(int a1); -int __fastcall am_40BB49(int a1); +int GetPlayerHandCardCount(int player_num); signed int __fastcall am_40BB67(int a1); char __fastcall am_40BCFB(int a1, signed int a2); bool __fastcall am_40BE0E(int a1, signed int a2); -bool __fastcall am_40BF15(int a1, int a2); +bool am_40BF15(int player_num, int hand_card_indx); void __fastcall am_40BF77(int a1, unsigned int uCardID); // idb -int __fastcall am_40D2B4(POINT*, int); // weak +int am_40D2B4(POINT* a1, int a2); // weak int __fastcall am_40D402(int, int); // weak int __cdecl am_40D444(); @@ -63,6 +63,7 @@ void Blt_Copy(RECT *pSrcRect, POINT *pTargetXY, int a3); void __cdecl am_EndScene(); void __fastcall DrawRect(RECT *pXYZW, unsigned __int16 uColor, char bSolidFill); // idb +void SetPixel(POINT *pTargetXY, unsigned __int16 uColor); int __fastcall rand_interval(int a, int b); // idb char *__fastcall inv_strcat(const char *Source, char *Dest); char *__fastcall inv_strcpy(const char *Source, char *Dest); @@ -113,14 +114,15 @@ stru272 array_4FABD0[10]; - +int dword_505554[108]; +char byte_5054E8[108]; /* 267 */ #pragma pack(push, 1) struct stru273 { bool _40DD2F(); - bool Inside(Vec4_int_ *pXYZW); + bool Inside(RECT*pXYZW); int x; int y; @@ -131,16 +133,30 @@ }; #pragma pack(pop) - - -int dword_4E1884 = 50; // weak -int dword_4E1888 = 100 ; // weak +char am_byte_4E185D; // weak + +int amuint_4E1860; // weak +int amuint_4E1864; // weak +int amuint_4E1868; // weak +int amuint_4E186C; // weak +int amuint_4E1870; // weak + int dword_4E1874 = 5; // weak - int dword_4E1878 = 1; // weak int dword_4E187C = 1; // weak int dword_4E1880 = 1; // weak +int dword_4E1884 = 50; // weak +int dword_4E1888 = 100 ; // weak + +int dword_4DF3A4; // weak + +char byte_4FAA2C; // weak +int amuint_4FAA6C; // idb +char am_byte_4FAA77; // weak + + +unsigned int amuint_4FABC0; // idb @@ -152,7 +168,7 @@ this->y = pArcomageGame->mouse_y; this->field_8 = pArcomageGame->mouse_left; this->field_9 = pArcomageGame->mouse_left == pArcomageGame->field_F7; - this->field_8 = pArcomageGame->mouse_left; + this->field_A = pArcomageGame->mouse_right; this->field_B = pArcomageGame->mouse_right == pArcomageGame->field_F8; pArcomageGame->field_F7 = pArcomageGame->mouse_left; pArcomageGame->field_F8 = pArcomageGame->mouse_right; @@ -160,12 +176,11 @@ } //----- (0040DD93) -------------------------------------------------------- -bool stru273::Inside(Vec4_int_ *pXYZW) -{ - int v2; // eax@3 - - auto a1 = this; - return a1->x >= pXYZW->x && a1->x <= pXYZW->z && (v2 = a1->y, v2 >= pXYZW->y) && v2 <= pXYZW->w; +bool stru273::Inside(RECT*pXYZW ) + { + + return (x >= pXYZW->left) && (x <= pXYZW->right) && + (y>= pXYZW->top) && (y <= pXYZW->bottom); } //----- (0040DFD1) -------------------------------------------------------- @@ -199,8 +214,6 @@ //----- (0040E01A) -------------------------------------------------------- int stru272_stru0::_40E01A(int a2) { - signed int result; // eax@2 - auto a1 = this; if ( a1->signature == SIG_trpg ) { @@ -220,50 +233,33 @@ a1->field_40 = *(int *)(a2 + 52); // a1->field_54 = *(int *)(a2 + 56); a1->field_59 = 1; - result = 0; + return 0; } else - { - result = 2; - } - return result; + return 2; } //----- (0040E0F5) -------------------------------------------------------- int stru272_stru0::_40E0F5(char a2, char a3) { - signed int result; // eax@2 - int v4; // edx@7 - int v5; // eax@7 - - auto a1 = this; - if ( a1->signature == SIG_trpg) + if ( signature == SIG_trpg) { if ( a2 ) { - a1->field_8 = 0; - a1->field_30 = 0.0; + field_8 = 0; + field_30 = 0.0; } - if ( a1->field_59 && a3 ) + if ( field_59 && a3 ) { - v4 = a1->field_4; - // v5 = a1->field_54; - do - { - *(int *)v5 = 0; - v5 += 28; - --v4; - } - while ( v4 ); - a1->field_58 = 0; + + for (int i=0; i<field_4; ++i) + field_54[i].field_0 = 0; + field_58 = 0; } - result = 0; + return 0; } else - { - result = 2; - } - return result; + return 2; } //----- (0040E133) -------------------------------------------------------- @@ -351,20 +347,16 @@ //----- (0040E2A7) -------------------------------------------------------- int stru272_stru0::_40E2A7() { - int result; // eax@2 - - if ( this->signature == SIG_trpg ) + + if (signature == SIG_trpg ) { - if ( this->field_8 <= 0 ) - result = this->field_58 != 0 ? 2 : 0; + if ( field_8 <= 0 ) + return field_58 != 0 ? 2 : 0; else - result = 1; + return 1; } else - { - result = 3; - } - return result; + return 3; } @@ -890,7 +882,7 @@ // v145 = &stru_505708[a1]; // v130 = a1; // v143 = &stru_505708[(a1 + 1) % 2]; -// v136 = am_40BB49(a1); +// v136 = GetPlayerHandCardCount(a1); // v65 = 0; // do // { @@ -1193,7 +1185,7 @@ // v144 = &stru_505708[a1]; // v129 = a1; // v142 = &stru_505708[(a1 + 1) % 2]; -// v135 = am_40BB49(a1); +// v135 = GetPlayerHandCardCount(a1); // v10 = 0; // do // { @@ -1486,7 +1478,7 @@ // if ( am_byte_4FAA77 ) // { //LABEL_11: -// v7 = am_40BB49(v4); +// v7 = GetPlayerHandCardCount(v4); // v8 = rand_interval(0, v7 - 1); // result = am_40BCFB(v4, v8); // } @@ -1494,7 +1486,7 @@ // { // while ( 1 ) // { -// v5 = am_40BB49(v4); +// v5 = GetPlayerHandCardCount(v4); // v6 = rand_interval(0, v5 - 1); // if ( am_40BF15(v4, v6) ) // break; @@ -1532,21 +1524,21 @@ am_40A346(amuint_4FAA6C); Sleep(10000); LABEL_8: - /* while ( byte_4FAA24 ) + while ( byte_4FAA24 ) { amuint_4FABC0 = -1; am_40A283(amuint_4FAA6C); while ( 1 ) { byte_4FAA24 = am_40A560(amuint_4FAA6C); - if ( am_40BB49(amuint_4FAA6C) <= dword_4E1874 ) + if ( GetPlayerHandCardCount(amuint_4FAA6C) <= dword_4E1874 ) break; am_byte_4FAA77 = 1; if ( pArcomageGame->field_F4 ) goto LABEL_8; } am_byte_4FAA77 = 0; - }*/ + } pArcomageGame->field_F5 = am_40A514(); if ( !pArcomageGame->field_F5 ) am_40A383(); @@ -1588,8 +1580,8 @@ //----- (00409FE9) -------------------------------------------------------- -char __cdecl am_409FE9() -{ +void am_409FE9() + { signed int v0; // edi@1 signed int v1; // esi@4 int *v2; // ecx@7 @@ -1601,22 +1593,20 @@ amuint_4FAA6C = dword_505890; sub_409BE8(); - v0 = 0; - do + for(v0=0; v0<2; ++v0 ) { if ( v0 ) { - v1 = v0; - inv_strcpy(pArcomageGame->pPlayer2Name, am_Players[v0].pPlayerName); + inv_strcpy(pArcomageGame->pPlayer2Name, am_Players[1].pPlayerName); if ( byte_4E185C ) - LOBYTE(am_Players[v1].field_20) = 0; + am_Players[1].field_20 = 0; else - LOBYTE(am_Players[v1].field_20) = 1; + am_Players[1].field_20 = 1; } else { - inv_strcpy(pArcomageGame->pPlayer1Name, (char *)am_Players); - LOBYTE(am_Players[0].field_20) = 1; + inv_strcpy(pArcomageGame->pPlayer1Name, am_Players[0].pPlayerName); + am_Players[0].field_20 = 1; } am_Players[v0].field_24 = amuint_4E1860; am_Players[v0].field_28 = amuint_4E1864; @@ -1626,43 +1616,32 @@ am_Players[v0].field_38 = amuint_505884; am_Players[v0].field_3C = amuint_505888; am_Players[v0].field_40 = amuint_50588C; - v2 = &am_Players[v0].arr_6C[0][1]; - v3 = am_Players[v0].cards_at_hand; - v4 = 10; - do + + for (v4=0; v4<10; ++v4 ) { - *v3 = -1; + am_Players[v0].cards_at_hand[v4] = -1; if ( am_byte_4E185D ) { - *(v2 - 1) = -1; - *v2 = -1; + am_Players[v0].arr_6C[v4].field_0 = -1; + am_Players[v0].arr_6C[v4].field_4 = -1; } else { - *(v2 - 1) = 0; - *v2 = 0; + am_Players[v0].arr_6C[v4].field_0 = 0; + am_Players[v0].arr_6C[v4].field_4 = 0; } - ++v3; - v2 += 2; - --v4; } - while ( v4 ); - ++v0; + } - while ( v0 < 2 ); + + inv_strcpy(pDeckMaster, byte_5054C8); - v5 = 0; - v6 = (signed int)dword_505554; - v7 = -2; - do - { - byte_5054E8[v7 + 2] = 0; - *(unsigned int *)v6 = v5; - switch ( v7 ) - { - default: - ++v5; - break; + for (v6=0, v7=-2, v5=0; v6<108; ++v6, ++v7) + { + byte_5054E8[v6] = 0; + dword_505554[v6] =v5; + switch ( v7 ) + { case 0: case 2: case 6: @@ -1684,13 +1663,13 @@ case 81: case 84: case 89: - break; - } - v6 += 4; - ++v7; - } - while ( v6 < (signed int)&unk_505704 ); - return am_40A198(); + break; + default: + ++v5; + } + } + + am_40A198(); } // 4E185C: using guessed type char byte_4E185C; // 4E185D: using guessed type char am_byte_4E185D; @@ -1778,7 +1757,6 @@ //----- (0040A255) -------------------------------------------------------- void am_40A255() { - for (int i = 0; i < dword_4E1874; ++i ) { am_40A283(0); @@ -1820,15 +1798,15 @@ } while ( !v5 ); ArcomageGame::PlaySound(0x15u); - result = am_40A324(v4); + result = GetEmptyCardSlotIndex(v4); if ( result != -1 ) { amuint_4FAA4C = result; am_Players[0].cards_at_hand[result + 47 * v4] = v3; v7 = 188 * v4 + 8 * result; - *(int *)((char *)am_Players[0].arr_6C[0] + v7) = rand_interval(-4, 4); +// *(int *)((char *)am_Players[0].arr_6C[0] + v7) = rand_interval(-4, 4); result = rand_interval(-4, 4); - *(int *)((char *)&am_Players[0].arr_6C[0][1] + v7) = result; +// *(int *)((char *)&am_Players[0].arr_6C[0][1] + v7) = result; pArcomageGame->field_F6 = 1; byte_4FAA2D = 1; } @@ -1840,34 +1818,26 @@ // 505314: using guessed type int dword_505314[]; //----- (0040A324) -------------------------------------------------------- -signed int __fastcall am_40A324(int a1) -{ - signed int result; // eax@1 - signed int v2; // edx@1 - char *v3; // ecx@1 - - result = -1; - v2 = 0; - v3 = (char *)am_Players[a1].cards_at_hand; - while ( *(unsigned int *)v3 != -1 ) - { - ++v2; - v3 += 4; - if ( v2 >= 10 ) - return result; - } - return v2; +int GetEmptyCardSlotIndex( int player_num ) + { + int i; + for (i=0; i<10; ++i ) + { + if (am_Players[player_num].cards_at_hand[i]==-1) + break; + } + if ( i >= 10 ) + return -1; + else + return i; } //----- (0040A346) -------------------------------------------------------- void am_40A346( int player_num ) - { - int v1; // ecx@1 - - v1 = player_num; - am_Players[v1].field_38 += dword_4E1878 + am_Players[v1].field_2C; - am_Players[v1].field_3C += dword_4E187C + am_Players[v1].field_30; - am_Players[v1].field_40 += dword_4E1880 + am_Players[v1].field_34; +{ + am_Players[player_num].field_38 += dword_4E1878 + am_Players[player_num].field_2C; + am_Players[player_num].field_3C += dword_4E187C + am_Players[player_num].field_30; + am_Players[player_num].field_40 += dword_4E1880 + am_Players[player_num].field_34; } @@ -2044,7 +2014,8 @@ { pAudioPlayer->StopChannels(-1, -1); dword_4FAA68 = 0; - goto LABEL_16; + v16 = 1; + pArcomageGame->field_F4 = 1; } break; case 9: @@ -2053,7 +2024,6 @@ case 0xA: pAudioPlayer->StopChannels(-1, -1); byte_4FAA74 = 1; -LABEL_16: v16 = 1; pArcomageGame->field_F4 = 1; break; @@ -2112,7 +2082,7 @@ if ( dword_4FAA64 > 0 ) { --dword_4FAA64; - am_byte_4FAA77 = am_40BB49(a1) > dword_4E1874; + am_byte_4FAA77 = GetPlayerHandCardCount(a1) > dword_4E1874; } byte_4FAA2E = 1; } @@ -2123,7 +2093,7 @@ if ( dword_4FAA64 > 0 ) { --dword_4FAA64; - am_byte_4FAA77 = am_40BB49(a1) > dword_4E1874; + am_byte_4FAA77 = GetPlayerHandCardCount(a1) > dword_4E1874; } byte_4FAA2E = 1; } @@ -2231,12 +2201,9 @@ // 4FABB8: using guessed type int dword_4FABB8; //----- (0040A9AF) -------------------------------------------------------- -void __thiscall am_blts(int a1) -{ - int v1; // esi@1 - stru272_stru0 **v2; // esi@1 - - v1 = a1; +void am_blts( int a1 ) + { + am_BeginScene(pArcomageGame->pSpritesPixels, -1, 1); am_chroma_blts(); am_EndScene(); @@ -2247,86 +2214,59 @@ am_DrawUI(); am_EndScene(); am_BeginScene(pArcomageGame->pSpritesPixels, -1, 1); - am_40B76F(v1); - v2 = (stru272_stru0 **)array_4FABD0; - do - { - if ( *((unsigned char *)v2 - 64) ) - (*v2)->_40E133(); - v2 += 1067; - } - while ( (signed int)v2 < (signed int)&unk_5052C8 ); + am_40B76F(a1); + + for( int i=0; i<10; ++i) + { + if (array_4FABD0[i].field_0) + array_4FABD0[i].field_40->_40E133(); + } dword_4FABBC = am_40BB67(amuint_4FAA6C); am_40AA4E(); am_EndScene(); } //----- (0040AA4E) -------------------------------------------------------- -void __cdecl am_40AA4E() -{ - signed int v0; // ebx@1 - char v1; // ch@2@3 - char *v2; // esi@4 - signed int v3; // edi@6 - int *v4; // esi@6 +void am_40AA4E() + { int v5; // [sp-4h] [bp-2Ch]@4 - int v6; // [sp+Ch] [bp-1Ch]@10 - int v7; // [sp+10h] [bp-18h]@10 + unsigned int v7; int v8; // [sp+14h] [bp-14h]@10 int v9; // [sp+18h] [bp-10h]@10 - int v10; // [sp+1Ch] [bp-Ch]@6 - char v11; // [sp+20h] [bp-8h]@1 - char v12; // [sp+21h] [bp-7h]@1 - char v13; // [sp+22h] [bp-6h]@1 - char v14; // [sp+24h] [bp-4h]@1 - char v15; // [sp+25h] [bp-3h]@1 - char v16; // [sp+26h] [bp-2h]@1 - - v14 = 0; - v15 = -1; - v16 = 0; - v11 = -1; - v12 = 0; - v13 = 0; - v0 = (signed int)byte_4FABD1; - do - { - if ( *(unsigned char *)(v0 - 1) && (*(stru272_stru0 **)(v0 + 63))->_40E2A7() == 2 ) - { - BYTE3(v5) = v1; - v2 = &v14; - if ( !*(unsigned char *)v0 ) - v2 = &v11; - LOWORD(v5) = *(_WORD *)v2; - BYTE2(v5) = v2[2]; - v10 = (unsigned __int16)R8G8B8_to_TargetFormat(v5); - v3 = 0; - v4 = (int *)(v0 + 71); - do + RECT pXYZW; + + v9 = 0x0000FF00; + v8 = 0x000000FF; + + for (int i=0; i<10; ++i) { - if ( *(v4 - 1) > 0 ) - { - if ( v3 % 2 ) - { - Render::SetPixel((Vec2_int_ *)v4, v10); - } - else - { - v6 = *v4; - v8 = v6 + 2; - v7 = v4[1]; - v9 = v7 + 2; - // DrawRect(&v6, v10, 1); - } - } - ++v3; - v4 += 7; + if(array_4FABD0[i].field_0 && (array_4FABD0[i].field_40->_40E2A7()==2)) + { + + v5 = v9; + if ( !array_4FABD0[i].field_1 ) + v5 = v8; + + v7 = R8G8B8_to_TargetFormat(v5); + for(int j=0; j<150; ++j ) + { + if (array_4FABD0[i].field_44[j].field_0 > 0) + { + if (j%2) + SetPixel(&array_4FABD0[i].field_44[j].field_4, v7); + else + { + pXYZW.left = array_4FABD0[i].field_44[j].field_4.x; + pXYZW.right = pXYZW.left + 2; + pXYZW.top = array_4FABD0[i].field_44[j].field_4.y; + pXYZW.bottom = pXYZW.top + 2; + DrawRect(&pXYZW, v7, 1); + } + } + } + } } - while ( v3 < 150 ); - } - v0 += 4268; - } - while ( v0 < 1);//(signed int)&array_4FABD0[9].field_4[4201] ); + } //----- (0040AB0A) -------------------------------------------------------- @@ -2841,7 +2781,7 @@ // int pTargetXY[2]; // [sp+1Ch] [bp-Ch]@1 // int v24; // [sp+24h] [bp-4h]@1 // -// v0 = am_40BB49(amuint_4FAA6C); +// v0 = GetPlayerHandCardCount(amuint_4FAA6C); // v1 = 0; // v2 = 0; // pTargetXY[1] = 327; @@ -3025,7 +2965,7 @@ // { // am_uint_4FAA44_blt_xy[1] = 18; // am_uint_4FAA44_blt_xy[0] = 120; -// v1 = am_40BB49(amuint_4FAA6C); +// v1 = GetPlayerHandCardCount(amuint_4FAA6C); // v2 = (640 - 96 * v1) / v1 + 96; // if ( am_byte_4E185D ) // { @@ -3220,24 +3160,18 @@ } //----- (0040BB49) -------------------------------------------------------- -int __fastcall am_40BB49(int a1) -{ - int result; // eax@1 - char *v2; // ecx@1 - signed int v3; // edx@1 - - result = 0; - v2 = (char *)am_Players[a1].cards_at_hand; - v3 = 10; - do - { - if ( *(unsigned int *)v2 != -1 ) - ++result; - v2 += 4; - --v3; - } - while ( v3 ); - return result; +int GetPlayerHandCardCount( int player_num ) + { + int card_count; // eax@1 + + card_count = 0; + for(int i=0; i<10; ++i) + { + if (am_Players[player_num].cards_at_hand[i]!=-1) + ++card_count; + } + return card_count; + } //----- (0040BB67) -------------------------------------------------------- @@ -3288,7 +3222,7 @@ { if ( v26._40DD2F() ) { - v5 = am_40BB49(v1); + v5 = GetPlayerHandCardCount(v1); a2 = 0; v25 = v5; pXYZW[1] = 327; @@ -3316,14 +3250,14 @@ if ( am_byte_4E185D ) { v9 = v3 + 8 * v7; - v10 = *(int *)((char *)am_Players[0].arr_6C[0] + v9); - v11 = *(int *)((char *)&am_Players[0].arr_6C[0][1] + v9); + // v10 = *(int *)((char *)am_Players[0].arr_6C[0] + v9); + // v11 = *(int *)((char *)&am_Players[0].arr_6C[0][1] + v9); pXYZW[0] += v10; pXYZW[2] += v10; pXYZW[1] += v11; pXYZW[3] += v11; } - if ( v26.Inside((Vec4_int_ *)pXYZW) ) + if ( true)//v26.Inside(pXYZW) ) break; v31 = 0; v32 = 0; @@ -3338,8 +3272,8 @@ if ( am_byte_4E185D ) { v15 = v3 + 8 * v30; - v16 = *(int *)((char *)am_Players[0].arr_6C[0] + v15); - v17 = *(int *)((char *)&am_Players[0].arr_6C[0][1] + v15); + // v16 = *(int *)((char *)am_Players[0].arr_6C[0] + v15); + // v17 = *(int *)((char *)&am_Players[0].arr_6C[0][1] + v15); pXYZW[0] -= v16; pXYZW[2] -= v16; pXYZW[1] -= v17; @@ -3418,10 +3352,10 @@ { ArcomageGame::PlaySound(0x16u); v7 = amuint_4FAA6C; - v8 = am_40BB49(amuint_4FAA6C); + v8 = GetPlayerHandCardCount(amuint_4FAA6C); v9 = 188 * v7 + 8 * v3; - v10 = 96 * v3 + *(int *)((char *)am_Players[0].arr_6C[0] + v9) + (640 - 96 * v8) / (v8 + 1); - v11 = *(int *)((char *)&am_Players[0].arr_6C[0][1] + v9) + 327; +// v10 = 96 * v3 + *(int *)((char *)am_Players[0].arr_6C[0] + v9) + (640 - 96 * v8) / (v8 + 1); + // v11 = *(int *)((char *)&am_Players[0].arr_6C[0][1] + v9) + 327; amuint_4FAA5C_blt_xy[0] = v10; amuint_4FAA5C_blt_xy[1] = v11; v12 = 0; @@ -3503,13 +3437,13 @@ { ArcomageGame::PlaySound(0x17u); v8 = amuint_4FAA6C; - v9 = am_40BB49(amuint_4FAA6C); + v9 = GetPlayerHandCardCount(amuint_4FAA6C); v10 = 188 * v8 + 8 * v6; v11 = v6 + 47 * v3; amuint_4FAA54_blt_xy[1] = -30; pArcomageGame->field_F6 = 1; - v12 = 96 * v6 + *(int *)((char *)am_Players[0].arr_6C[0] + v10) + (640 - 96 * v9) / (v9 + 1); - v13 = *(int *)((char *)&am_Players[0].arr_6C[0][1] + v10) + 327; + //v12 = 96 * v6 + *(int *)((char *)am_Players[0].arr_6C[0] + v10) + (640 - 96 * v9) / (v9 + 1); + // v13 = *(int *)((char *)&am_Players[0].arr_6C[0][1] + v10) + 327; amuint_4FAA5C_blt_xy[0] = v12; amuint_4FAA5C_blt_xy[1] = v13; amuint_4FAA54_blt_xy[0] = (272 - v12) / 5; @@ -3533,27 +3467,27 @@ } //----- (0040BF15) -------------------------------------------------------- -bool __fastcall am_40BF15(int a1, int a2) -{ - ArcomagePlayer *v2; // esi@1 +bool am_40BF15( int player_num, int hand_card_indx ) + { bool result; // eax@1 ArcomageCard *v4; // ecx@1 - - v2 = &am_Players[a1]; - LOBYTE(result) = 1; - v4 = &pCards[v2->cards_at_hand[a2]]; - if ( SBYTE1(v4->field_24) > v2->field_2C ) - LOBYTE(result) = 0; - if ( SBYTE2(v4->field_24) > v2->field_30 ) - LOBYTE(result) = 0; - if ( SBYTE3(v4->field_24) > v2->field_34 ) - LOBYTE(result) = 0; - if ( SLOBYTE(v4->field_28) > v2->field_38 ) - LOBYTE(result) = 0; - if ( SBYTE1(v4->field_28) > v2->field_3C ) - LOBYTE(result) = 0; - if ( SBYTE2(v4->field_28) > v2->field_40 ) - LOBYTE(result) = 0; + ArcomagePlayer *v2; // esi@1 + + v2 = &am_Players[player_num]; + result = true; + v4 = &pCards[am_Players[player_num].cards_at_hand[hand_card_indx]]; + if ( v4->field_25 > v2->field_2C ) + result = false; + if ( v4->field_26 > v2->field_30 ) + result = false; + if ( v4->field_27 > v2->field_34 ) + result = false; + if ( v4->field_28 > v2->field_38 ) + result = false; + if ( v4->field_29 > v2->field_3C ) + result = false; + if ( v4->field_2A > v2->field_40 ) + result = false; return result; } @@ -3912,7 +3846,7 @@ // while ( v25 < SBYTE1(pCard->field_30) ); // } // v26 = pCard; -// am_byte_4FAA77 = am_40BB49(v193) > dword_4E1874; +// am_byte_4FAA77 = GetPlayerHandCardCount(v193) > dword_4E1874; // LOBYTE(v27) = BYTE2(pCard->field_30); // if ( (_BYTE)v27 ) // { @@ -4562,7 +4496,7 @@ // while ( v106 < pCard->field_48[6] ); // } // v107 = pCard; -// am_byte_4FAA77 = am_40BB49(v193) > dword_4E1874; +// am_byte_4FAA77 = GetPlayerHandCardCount(v193) > dword_4E1874; // LOBYTE(v108) = pCard->field_48[7]; // if ( (_BYTE)v108 ) // { @@ -5518,10 +5452,10 @@ //----- (0040D2B4) -------------------------------------------------------- -int __fastcall am_40D2B4(Vec2_int_ *a1, int a2) -{ +int am_40D2B4( POINT* a1, int a2 ) + { int v2; // ebp@1 - Vec2_int_ *v3; // edi@1 + POINT *v3; // edi@1 char *v4; // ebx@1 int result; // eax@3 unsigned int v6; // esi@7 @@ -5535,92 +5469,65 @@ v11 = 0; v2 = a2; v3 = a1; - v4 = byte_4FABD0; - v12 = (stru272_stru0 **)array_4FABD0; - while ( *v4 ) - { - result = (*v12)->_40E2A7(); - if ( !result ) - { - *v4 = 0; - --v11; - v12 -= 1067; - v4 -= 4268; - } - ++v11; - v12 += 1067; - v4 += 4268; - if ( v11 >= 10 ) - return result; - } - v6 = 4268 * v11; - byte_4FABD0[4268 * v11] = 1; + while ( array_4FABD0[v11].field_0 ) + { + result = array_4FABD0[v11].field_40->_40E2A7(); + if ( !result ) + { + array_4FABD0[v11].field_0 = 0; + --v11; + } + ++v11; + if ( v11 >= 10 ) + return result; + } + v6 = v11; + array_4FABD0[v11].field_0 = 1; if ( v2 <= 0 ) - { - byte_4FABD1[v6] = 0; - v2 = -v2; - } + { + array_4FABD0[v6].field_1 = 0; + v2 = -v2; + } else - { - byte_4FABD1[v6] = 1; - } - *(unsigned int *)((char *)&unk_4FABD4 + v6) = v3->x - 20; - dword_4FABDC[v6 / 4] = v3->x + 20; - dword_4FABD8[v6 / 4] = v3->y - 20; - dword_4FABE0[v6 / 4] = v3->y + 20; - // v7 = array_4FABD0[v6 / 0x10AC] - dword_4FABE4[v6 / 4] = -60; - dword_4FABE8[v6 / 4] = 60; - dword_4FABEC[v6 / 4] = 180; - dword_4FABF0[v6 / 4] = 0x3F000000u; - dword_4FABF4[v6 / 4] = 150; - dword_4FABF8[v6 / 4] = 0x42480000u; - dword_4FABFC[v6 / 4] = 0x40400000u; - dword_4FAC00[v6 / 4] = 0x41000000u; - dword_4FAC04[v6 / 4] = 5; - dword_4FAC08[v6 / 4] = 15; - dword_4FAC0C[v6 / 4] = (int)array_4FABD0[v6 / 0x10AC].field_4; - v7->_40E01A((int)((char *)&unk_4FABD4 + v6)); + { + array_4FABD0[v6].field_1 = 1; + } + array_4FABD0[v6].field_4 = v3->x - 20; + array_4FABD0[v6].field_C = v3->x + 20; + array_4FABD0[v6].field_8 = v3->y - 20; + array_4FABD0[v6].field_10 = v3->y + 20; + array_4FABD0[v6].field_14 = -60; + array_4FABD0[v6].field_18 = 60; + array_4FABD0[v6].field_1C = 180; + array_4FABD0[v6].field_20f = 0.5; + array_4FABD0[v6].field_24 = 150; + array_4FABD0[v6].field_28f = 50.0; + array_4FABD0[v6].field_2Cf = 3.0; + array_4FABD0[v6].field_30f = 8.0; + array_4FABD0[v6].field_34 = 5; + array_4FABD0[v6].field_38 = 15; + array_4FABD0[v6].field_3C = &array_4FABD0[v6].field_44[0]; + v8 = array_4FABD0[v6].field_40; + v8->_40E01A(array_4FABD0[v6].field_4); if ( 10 * v2 > 150 ) - v2 = 15; -// v8 = array_4FABD0[v6 / 0x10AC].ptr_0; + v2 = 15; + if ( v8->signature != SIG_trpg ) return 2; if ( !v8->field_59 ) return 3; v8->field_8 = 10 * v2; - v9 = v8->field_4; v8->field_30 = 0.0; v8->field_58 = 0; v8->field_44 = 0; v8->field_4C = 0; v8->field_48 = 0; v8->field_50 = 0; - /*v10 = v8->field_54; - do - { - *(unsigned int *)v10 = 0; - v10 += 28; - --v9; - }*/ - while ( v9 ); + for (int i=0; i<v8->field_4; ++i) + v8->field_54[i].field_0=0; return 0; } -// 40D2B4: using guessed type int __fastcall am_40D2B4(uint, uint); -// 4FABD8: using guessed type int dword_4FABD8[]; -// 4FABDC: using guessed type int dword_4FABDC[]; -// 4FABE0: using guessed type int dword_4FABE0[]; -// 4FABE4: using guessed type int dword_4FABE4[]; -// 4FABE8: using guessed type int dword_4FABE8[]; -// 4FABEC: using guessed type int dword_4FABEC[]; -// 4FABF0: using guessed type int dword_4FABF0[]; -// 4FABF4: using guessed type int dword_4FABF4[]; -// 4FABF8: using guessed type int dword_4FABF8[]; -// 4FABFC: using guessed type int dword_4FABFC[]; -// 4FAC00: using guessed type int dword_4FAC00[]; -// 4FAC04: using guessed type int dword_4FAC04[]; -// 4FAC08: using guessed type int dword_4FAC08[]; -// 4FAC0C: using guessed type int dword_4FAC0C[]; + //----- (0040D402) -------------------------------------------------------- int __fastcall am_40D402(int a1, int a2) @@ -5970,32 +5877,29 @@ //----- (00409BE8) -------------------------------------------------------- -void __cdecl sub_409BE8() +void sub_409BE8() { - void *v0; // eax@1 stru348 *v1; // eax@1 - int v2; // ecx@1 - int v3; // eax@1 - - v0 = window_SpeakInHouse->ptr_1C; - dword_4E1874 = 5; - v1 = &stru_4E1890[(int)((char *)v0 - 108)]; + + v1 = &stru_4E1890[window_SpeakInHouse->par1C - 108]; amuint_4E1860 = v1->field_4; amuint_4E1864 = v1->field_6; amuint_4E1868 = v1->field_8 - 1; amuint_4E186C = v1->field_A - 1; amuint_4E1870 = v1->field_C - 1; - amuint_505884 = v1->field_E; - amuint_505888 = v1->field_10; - amuint_50588C = v1->field_12; + dword_4E1874 = 5; dword_4E1878 = 1; dword_4E187C = 1; dword_4E1880 = 1; dword_4E1884 = v1->field_0; - v2 = v1->field_2; - v3 = v1->field_14; - dword_4E1888 = v2; - dword_4DF3A4 = v3; + dword_4E1888 = v1->field_2; + + dword_4DF3A4 = v1->field_14; + + amuint_505884 = v1->field_E; + amuint_505888 = v1->field_10; + amuint_50588C = v1->field_12; + } @@ -6009,31 +5913,46 @@ //----- (0040DB27) -------------------------------------------------------- -void __fastcall DrawRect(Vec4_int_ *pXYZW, unsigned __int16 uColor, char bSolidFill) +void __fastcall DrawRect(RECT *pXYZW, unsigned __int16 uColor, char bSolidFill) { - Vec4_int_ *v3; // esi@1 - unsigned __int16 v4; // bp@1 - unsigned int i; // ebx@3 + RECT *v3; // esi@1 v3 = pXYZW; - v4 = uColor; pRenderer->BeginScene(); pRenderer->SetRasterClipRect(0, 0, 639u, 479u); if ( bSolidFill ) { - for ( i = v3->y; (signed int)i <= v3->w; ++i ) - pRenderer->RasterLine2D(v3->x, i, v3->z, i, v4); + for ( int i = v3->top; i <= v3->bottom; ++i ) + pRenderer->RasterLine2D(v3->left, i, v3->right, i, uColor); } else { - pRenderer->RasterLine2D(v3->x, v3->y, v3->z, v3->y, v4); - pRenderer->RasterLine2D(v3->z, v3->y, v3->z, v3->w, v4); - pRenderer->RasterLine2D(v3->z, v3->w, v3->x, v3->w, v4); - pRenderer->RasterLine2D(v3->x, v3->w, v3->x, v3->y, v4); + pRenderer->RasterLine2D(v3->left, v3->top, v3->right, v3->top, uColor); + pRenderer->RasterLine2D(v3->right, v3->top, v3->right, v3->bottom, uColor); + pRenderer->RasterLine2D(v3->right, v3->bottom, v3->left, v3->bottom, uColor); + pRenderer->RasterLine2D(v3->left, v3->bottom, v3->left, v3->top, uColor); } pRenderer->EndScene(); } + +//----- (0040DBD3) -------------------------------------------------------- +void SetPixel( POINT *pTargetXY, unsigned __int16 uColor ) + { + pRenderer->BeginScene(); + if ( pRenderer->uNumSceneBegins ) + { + int xVal = pTargetXY->x; + int yVal = pTargetXY->y; + if ( xVal >= 0 && xVal <= 639 && yVal >= 0 && yVal <= 479) + { + pRenderer->pTargetSurface[xVal + pRenderer->uTargetSurfacePitch * yVal] = uColor; + } + pRenderer->EndScene(); + } + } + + //----- (0040DDB1) -------------------------------------------------------- int __fastcall rand_interval(int a, int b) {
--- a/Arcomage.h Thu Jun 06 08:33:43 2013 +0400 +++ b/Arcomage.h Fri Jun 07 01:32:17 2013 +0400 @@ -3,7 +3,13 @@ #include "Texture.h" - +#pragma pack(push, 1) +struct am_st1 + { + int field_0; + int field_4; + }; +#pragma pack(pop) /* 401 */ #pragma pack(push, 1) @@ -23,10 +29,7 @@ #pragma pack(push, 1) struct ArcomageCard { - char pCardName[20]; - int field_14; - int field_18; - int field_1C; + char pCardName[32]; int slot; char field_24; char field_25; @@ -120,7 +123,7 @@ int field_3C; int field_40; int cards_at_hand[10]; - int arr_6C[10][2]; + am_st1 arr_6C[10]; }; #pragma pack(pop) @@ -203,8 +206,7 @@ struct stru272_stru1 { int field_0; - int field_4; - int field_8; + POINT field_4; int field_C; int field_10; int field_14; @@ -290,12 +292,9 @@ float field_30f; int field_34; int field_38; - int field_3C; + stru272_stru1* field_3C; stru272_stru0 *field_40; stru272_stru1 field_44[150]; }; #pragma pack(pop) - - -extern stru272 array_4FABD0[10]; \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ArcomageCards.cpp Fri Jun 07 01:32:17 2013 +0400 @@ -0,0 +1,643 @@ + +//// +//// pCards ArcomageCard <'Brick Shortage', 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DF3A8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0> +//// .data:004DF3A8 ArcomageCard <'Lucky Cache', 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1,\ +//// .data:004DF3A8 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0> +//// .data:004DF3A8 ArcomageCard <'Friendly Terrain', 2, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, \ +//// .data:004DF3A8 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0> +//// .data:004DF3A8 ArcomageCard <'Miners', 3, 1, 0, 0, 0, 3, 0, 0, 1, 1, 0, 0, 0, 0, 0, \ +//// .data:004DF3A8 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF3A8 0> +//// .data:004DF558 ArcomageCard <'Mother Lode', 4, 1, 0, 0, 0, 4, 0, 0, 1, 2, 0, 0, 0, 0,\ +//// .data:004DF558 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF558 0, 0> +//// .data:004DF5C4 ArcomageCard <'Dwarven Miners', 5, 1, 0, 0, 0, 7, 0, 0, 1, 1, 0, 0, 0,\ +//// .data:004DF5C4 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF5C4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF5C4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF5C4 0, 0, 0> +//// .data:004DF630 ArcomageCard <'Work Overtime', 6, 1, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 0, \ +//// .data:004DF630 0, 0, 0, 0, 0, 0, 250, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DF630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF630 0, 0, 0, 0> +//// .data:004DF69C ArcomageCard <'Copping the Tech', 7, 1, 0, 0, 0, 5, 0, 0, 1, 2, 0, 0, \ +//// .data:004DF69C 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DF69C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF69C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF69C 0, 0, 0, 0, 0> +//// .data:004DF708 ArcomageCard <'Basic Wall', 8, 1, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 0, 0, \ +//// .data:004DF708 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF708 0, 0> +//// .data:004DF774 ArcomageCard <'Sturdy Wall', 9, 1, 0, 0, 0, 3, 0, 0, 1, 1, 0, 0, 0, 0,\ +//// .data:004DF774 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF774 0, 0> +//// .data:004DF7E0 ArcomageCard <'Innovations', 10, 1, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 0, \ +//// .data:004DF7E0 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF7E0 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF7E0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF7E0 0, 0, 0> +//// .data:004DF84C ArcomageCard <'Foundations', 11, 1, 0, 0, 0, 3, 0, 0, 1, 11, 0, 0, 0, \ +//// .data:004DF84C 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF84C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF84C 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF84C 0, 0, 0> +//// .data:004DF8B8 ArcomageCard <'Tremors', 12, 1, 0, 0, 0, 7, 0, 0, 1, 1, 0, 0, 0, 1, 0,\ +//// .data:004DF8B8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF8B8 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DF8B8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF8B8 0, 0> +//// .data:004DF924 ArcomageCard <'Secret Room', 13, 1, 0, 0, 0, 8, 0, 0, 1, 1, 0, 0, 0, \ +//// .data:004DF924 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF924 0, 0, 0> +//// .data:004DF990 ArcomageCard <'Earthquake', 14, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,\ +//// .data:004DF990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF990 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DF990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF990 0, 0, 0> +//// .data:004DF9FC ArcomageCard <'Big Wall', 15, 1, 0, 0, 0, 5, 0, 0, 1, 1, 0, 0, 0, 0, \ +//// .data:004DF9FC 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF9FC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF9FC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DF9FC 0, 0> +//// .data:004DFA68 ArcomageCard <'Collapse!', 16, 1, 0, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, \ +//// .data:004DFA68 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DFA68 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFA68 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFA68 0, 0, 0> +//// .data:004DFAD4 ArcomageCard <'New Equipment', 17, 1, 0, 0, 0, 6, 0, 0, 1, 1, 0, 0, 0,\ +//// .data:004DFAD4 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFAD4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFAD4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFAD4 0, 0, 0> +//// .data:004DFB40 ArcomageCard <'Strip Mine', 18, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,\ +//// .data:004DFB40 0, 255, 0, 0, 0, 5, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFB40 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFB40 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFB40 0, 0, 0> +//// .data:004DFBAC ArcomageCard <'Reinforced Wall', 19, 1, 0, 0, 0, 8, 0, 0, 1, 1, 0, 0, \ +//// .data:004DFBAC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFBAC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFBAC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFBAC 0, 0, 0, 0> +//// .data:004DFC18 ArcomageCard <'Porticulus', 20, 1, 0, 0, 0, 9, 0, 0, 1, 1, 0, 0, 0, 0,\ +//// .data:004DFC18 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFC18 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFC18 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFC18 0, 0> +//// .data:004DFC84 ArcomageCard <'Crystal Rocks', 21, 1, 0, 0, 0, 9, 0, 0, 1, 1, 0, 0, 0,\ +//// .data:004DFC84 0, 0, 0, 0, 0, 0, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFC84 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFC84 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFC84 0, 0, 0> +//// .data:004DFCF0 ArcomageCard <'Harmonic Ore', 22, 1, 0, 0, 0, 11, 0, 0, 1, 1, 0, 0, 0,\ +//// .data:004DFCF0 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFCF0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFCF0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFCF0 0, 0, 0> +//// .data:004DFD5C ArcomageCard <'Mondo Wall', 23, 1, 0, 0, 0, 13, 0, 0, 1, 1, 0, 0, 0, \ +//// .data:004DFD5C 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DFD5C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFD5C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFD5C 0, 0, 0, 0> +//// .data:004DFDC8 ArcomageCard <'Focused Designs', 24, 1, 0, 0, 0, 15, 0, 0, 1, 1, 0, 0,\ +//// .data:004DFDC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFDC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFDC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFDC8 0, 0, 0, 0> +//// .data:004DFE34 ArcomageCard <'Great Wall', 25, 1, 0, 0, 0, 16, 0, 0, 1, 1, 0, 0, 0, \ +//// .data:004DFE34 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DFE34 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFE34 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFE34 0, 0, 0, 0> +//// .data:004DFEA0 ArcomageCard <'Rock Launcer', 26, 1, 0, 0, 0, 18, 0, 0, 1, 1, 0, 0, 0,\ +//// .data:004DFEA0 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 246, \ +//// .data:004DFEA0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFEA0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFEA0 0, 0, 0, 0> +//// .data:004DFF0C db 'Dragon',27h,'s Heart',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; pCardName +//// .data:004DFF0C dd 27 ; slot +//// .data:004DFF0C db 1 ; field_24 +//// .data:004DFF0C db 0 ; field_25 +//// .data:004DFF0C db 0 ; field_26 +//// .data:004DFF0C db 0 ; field_27 +//// .data:004DFF0C db 24 ; field_28 +//// .data:004DFF0C db 0 ; field_29 +//// .data:004DFF0C db 0 ; field_2A +//// .data:004DFF0C db 1 ; field_2B +//// .data:004DFF0C db 1 ; field_2C +//// .data:004DFF0C db 0 ; field_2D +//// .data:004DFF0C db 0 ; field_2E +//// .data:004DFF0C db 0 ; field_2F +//// .data:004DFF0C db 0 ; field_30 +//// .data:004DFF0C db 0 ; field_31 +//// .data:004DFF0C db 0 ; field_32 +//// .data:004DFF0C db 0 ; field_33 +//// .data:004DFF0C db 0 ; field_34 +//// .data:004DFF0C db 0 ; field_35 +//// .data:004DFF0C db 0 ; field_36 +//// .data:004DFF0C db 0 ; field_37 +//// .data:004DFF0C db 0 ; field_38 +//// .data:004DFF0C db 20 ; field_39 +//// .data:004DFF0C db 8 ; field_3A +//// .data:004DFF0C db 0 ; field_3B +//// .data:004DFF0C db 0 ; field_3C +//// .data:004DFF0C db 0 ; field_3D +//// .data:004DFF0C db 0 ; field_3E +//// .data:004DFF0C db 0 ; field_3F +//// .data:004DFF0C db 0 ; field_40 +//// .data:004DFF0C db 0 ; field_41 +//// .data:004DFF0C db 0 ; field_42 +//// .data:004DFF0C db 0 ; field_43 +//// .data:004DFF0C db 0 ; field_44 +//// .data:004DFF0C db 0 ; field_45 +//// .data:004DFF0C db 0 ; field_46 +//// .data:004DFF0C db 0 ; field_47 +//// .data:004DFF0C db 0 ; field_48 +//// .data:004DFF0C db 0 ; field_49 +//// .data:004DFF0C db 0 ; field_4A +//// .data:004DFF0C db 0 ; field_4B +//// .data:004DFF0C db 0 ; field_4C +//// .data:004DFF0C db 0 ; field_4D +//// .data:004DFF0C db 0 ; field_4E +//// .data:004DFF0C db 0 ; field_4F +//// .data:004DFF0C db 0 ; field_50 +//// .data:004DFF0C db 0 ; field_51 +//// .data:004DFF0C db 0 ; field_52 +//// .data:004DFF0C db 0 ; field_53 +//// .data:004DFF0C db 0 ; field_54 +//// .data:004DFF0C db 0 ; field_55 +//// .data:004DFF0C db 0 ; field_56 +//// .data:004DFF0C db 0 ; field_57 +//// .data:004DFF0C db 0 ; field_58 +//// .data:004DFF0C db 0 ; field_59 +//// .data:004DFF0C db 0 ; field_5A +//// .data:004DFF0C db 0 ; field_5B +//// .data:004DFF0C db 0 ; field_5C +//// .data:004DFF0C db 0 ; field_5D +//// .data:004DFF0C db 0 ; field_5E +//// .data:004DFF0C db 0 ; field_5F +//// .data:004DFF0C db 0 ; field_60 +//// .data:004DFF0C db 0 ; field_61 +//// .data:004DFF0C db 0 ; field_62 +//// .data:004DFF0C db 0 ; field_63 +//// .data:004DFF0C db 0 ; field_64 +//// .data:004DFF0C db 0 ; field_65 +//// .data:004DFF0C db 0 ; field_66 +//// .data:004DFF0C db 0 ; field_67 +//// .data:004DFF0C db 0 ; field_68 +//// .data:004DFF0C db 0 ; field_69 +//// .data:004DFF0C db 0 ; field_6A +//// .data:004DFF0C db 0 ; field_6B +//// .data:004DFF78 ArcomageCard <'Quartz', 30, 2, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, \ +//// .data:004DFF78 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFF78 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFF78 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFF78 0> +//// .data:004DFFE4 ArcomageCard <'Smoky Quartz', 31, 2, 0, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, \ +//// .data:004DFFE4 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFFE4 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004DFFE4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004DFFE4 0, 0, 0, 0> +//// .data:004E0050 ArcomageCard <'Amethyst', 32, 2, 0, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, \ +//// .data:004E0050 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0050 0, 0> +//// .data:004E00BC ArcomageCard <'Spell Weavers', 33, 2, 0, 0, 0, 0, 3, 0, 1, 1, 0, 0, 0,\ +//// .data:004E00BC 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E00BC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E00BC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E00BC 0, 0, 0> +//// .data:004E0128 ArcomageCard <'Prism', 34, 2, 0, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 1, 1, \ +//// .data:004E0128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0128 0> +//// .data:004E0194 ArcomageCard <'Lodestone', 35, 2, 0, 0, 0, 0, 5, 0, 0, 1, 0, 0, 0, 0, \ +//// .data:004E0194 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0194 0, 0> +//// .data:004E0200 ArcomageCard <'Solar Flare', 36, 2, 0, 0, 0, 0, 4, 0, 1, 1, 0, 0, 0, \ +//// .data:004E0200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0200 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0200 0, 0, 0, 0> +//// .data:004E026C ArcomageCard <'Crystal Matrix', 37, 2, 0, 0, 0, 0, 6, 0, 1, 1, 0, 0, \ +//// .data:004E026C 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E026C 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E026C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E026C 0, 0, 0, 0> +//// .data:004E02D8 ArcomageCard <'Gemstone Flaw', 38, 2, 0, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0,\ +//// .data:004E02D8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E02D8 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E02D8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E02D8 0, 0, 0, 0> +//// .data:004E0344 ArcomageCard <'Ruby', 39, 2, 0, 0, 0, 0, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0344 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> +//// .data:004E03B0 ArcomageCard <'Gem Spear', 40, 2, 0, 0, 0, 0, 4, 0, 1, 1, 0, 0, 0, 0, \ +//// .data:004E03B0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E03B0 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E03B0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E03B0 0, 0, 0, 0> +//// .data:004E041C ArcomageCard <'Power Burn', 41, 2, 0, 0, 0, 0, 3, 0, 1, 1, 0, 0, 0, 0,\ +//// .data:004E041C 0, 0, 2, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E041C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E041C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E041C 0, 0, 0> +//// .data:004E0488 ArcomageCard <'Harmonic Vibe', 42, 2, 0, 0, 0, 0, 7, 0, 1, 1, 0, 0, 0,\ +//// .data:004E0488 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0488 0, 0, 0> +//// .data:004E04F4 ArcomageCard <'Parity', 43, 2, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 0, 0, \ +//// .data:004E04F4 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E04F4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E04F4 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E04F4 0, 0, 0> +//// .data:004E0560 ArcomageCard <'Emerald', 44, 2, 0, 0, 0, 0, 6, 0, 1, 1, 0, 0, 0, 0, 0,\ +//// .data:004E0560 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0560 0> +//// .data:004E05CC ArcomageCard <'Pearl of Wisdom', 45, 2, 0, 0, 0, 0, 9, 0, 1, 1, 0, 0, \ +//// .data:004E05CC 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E05CC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E05CC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E05CC 0, 0, 0, 0> +//// .data:004E0638 ArcomageCard <'Shatter', 46, 2, 0, 0, 0, 0, 8, 0, 1, 1, 0, 0, 0, 0, 0,\ +//// .data:004E0638 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0638 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0638 0, 0, 0, 0> +//// .data:004E06A4 ArcomageCard <'Crumblestone', 47, 2, 0, 0, 0, 0, 7, 0, 1, 1, 0, 0, 0, \ +//// .data:004E06A4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 250, 0, 0, 0, \ +//// .data:004E06A4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E06A4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E06A4 0, 0, 0, 0> +//// .data:004E0710 ArcomageCard <'Sapphire', 48, 2, 0, 0, 0, 0, 10, 0, 1, 1, 0, 0, 0, 0, \ +//// .data:004E0710 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0710 0, 0, 0> +//// .data:004E077C ArcomageCard <'Discord', 49, 2, 0, 0, 0, 0, 5, 0, 1, 1, 0, 0, 0, 0, 0,\ +//// .data:004E077C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E077C 255, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E077C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E077C 0, 0, 0> +//// .data:004E07E8 ArcomageCard <'Fire Ruby', 50, 2, 0, 0, 0, 0, 13, 0, 1, 1, 0, 0, 0, 0,\ +//// .data:004E07E8 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E07E8 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E07E8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E07E8 0, 0, 0, 0> +//// .data:004E0854 db 'Quarry',27h,'s Help',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; pCardName +//// .data:004E0854 dd 51 ; slot +//// .data:004E0854 db 2 ; field_24 +//// .data:004E0854 db 0 ; field_25 +//// .data:004E0854 db 0 ; field_26 +//// .data:004E0854 db 0 ; field_27 +//// .data:004E0854 db 0 ; field_28 +//// .data:004E0854 db 4 ; field_29 +//// .data:004E0854 db 0 ; field_2A +//// .data:004E0854 db 1 ; field_2B +//// .data:004E0854 db 1 ; field_2C +//// .data:004E0854 db 0 ; field_2D +//// .data:004E0854 db 0 ; field_2E +//// .data:004E0854 db 0 ; field_2F +//// .data:004E0854 db 0 ; field_30 +//// .data:004E0854 db 0 ; field_31 +//// .data:004E0854 db 0 ; field_32 +//// .data:004E0854 db 0 ; field_33 +//// .data:004E0854 db 0 ; field_34 +//// .data:004E0854 db 246 ; field_35 +//// .data:004E0854 db 0 ; field_36 +//// .data:004E0854 db 0 ; field_37 +//// .data:004E0854 db 0 ; field_38 +//// .data:004E0854 db 0 ; field_39 +//// .data:004E0854 db 7 ; field_3A +//// .data:004E0854 db 0 ; field_3B +//// .data:004E0854 db 0 ; field_3C +//// .data:004E0854 db 0 ; field_3D +//// .data:004E0854 db 0 ; field_3E +//// .data:004E0854 db 0 ; field_3F +//// .data:004E0854 db 0 ; field_40 +//// .data:004E0854 db 0 ; field_41 +//// .data:004E0854 db 0 ; field_42 +//// .data:004E0854 db 0 ; field_43 +//// .data:004E0854 db 0 ; field_44 +//// .data:004E0854 db 0 ; field_45 +//// .data:004E0854 db 0 ; field_46 +//// .data:004E0854 db 0 ; field_47 +//// .data:004E0854 db 0 ; field_48 +//// .data:004E0854 db 0 ; field_49 +//// .data:004E0854 db 0 ; field_4A +//// .data:004E0854 db 0 ; field_4B +//// .data:004E0854 db 0 ; field_4C +//// .data:004E0854 db 0 ; field_4D +//// .data:004E0854 db 0 ; field_4E +//// .data:004E0854 db 0 ; field_4F +//// .data:004E0854 db 0 ; field_50 +//// .data:004E0854 db 0 ; field_51 +//// .data:004E0854 db 0 ; field_52 +//// .data:004E0854 db 0 ; field_53 +//// .data:004E0854 db 0 ; field_54 +//// .data:004E0854 db 0 ; field_55 +//// .data:004E0854 db 0 ; field_56 +//// .data:004E0854 db 0 ; field_57 +//// .data:004E0854 db 0 ; field_58 +//// .data:004E0854 db 0 ; field_59 +//// .data:004E0854 db 0 ; field_5A +//// .data:004E0854 db 0 ; field_5B +//// .data:004E0854 db 0 ; field_5C +//// .data:004E0854 db 0 ; field_5D +//// .data:004E0854 db 0 ; field_5E +//// .data:004E0854 db 0 ; field_5F +//// .data:004E0854 db 0 ; field_60 +//// .data:004E0854 db 0 ; field_61 +//// .data:004E0854 db 0 ; field_62 +//// .data:004E0854 db 0 ; field_63 +//// .data:004E0854 db 0 ; field_64 +//// .data:004E0854 db 0 ; field_65 +//// .data:004E0854 db 0 ; field_66 +//// .data:004E0854 db 0 ; field_67 +//// .data:004E0854 db 0 ; field_68 +//// .data:004E0854 db 0 ; field_69 +//// .data:004E0854 db 0 ; field_6A +//// .data:004E0854 db 0 ; field_6B +//// .data:004E08C0 ArcomageCard <'Crystal Shield', 52, 2, 0, 0, 0, 0, 12, 0, 1, 1, 0, 0, \ +//// .data:004E08C0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E08C0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E08C0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E08C0 0, 0, 0, 0> +//// .data:004E092C ArcomageCard <'Empathy Gem', 53, 2, 0, 0, 0, 0, 14, 0, 1, 1, 0, 0, 0, \ +//// .data:004E092C 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E092C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E092C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E092C 0, 0, 0> +//// .data:004E0998 ArcomageCard <'Diamond', 54, 2, 0, 0, 0, 0, 16, 0, 1, 1, 0, 0, 0, 0, \ +//// .data:004E0998 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0998 0, 0, 0> +//// .data:004E0A04 ArcomageCard <'Sanctuary', 55, 2, 0, 0, 0, 0, 15, 0, 1, 1, 0, 0, 0, 0,\ +//// .data:004E0A04 0, 0, 0, 0, 0, 0, 5, 0, 5, 10, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0A04 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0A04 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0A04 0, 0, 0> +//// .data:004E0A70 ArcomageCard <'Lava Jewel', 56, 2, 0, 0, 0, 0, 17, 0, 1, 1, 0, 0, 0, \ +//// .data:004E0A70 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 250,\ +//// .data:004E0A70 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0A70 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0A70 0, 0, 0, 0> +//// .data:004E0ADC db 'Dragon',27h,'s Eye',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; pCardName +//// .data:004E0ADC dd 57 ; slot +//// .data:004E0ADC db 2 ; field_24 +//// .data:004E0ADC db 0 ; field_25 +//// .data:004E0ADC db 0 ; field_26 +//// .data:004E0ADC db 0 ; field_27 +//// .data:004E0ADC db 0 ; field_28 +//// .data:004E0ADC db 21 ; field_29 +//// .data:004E0ADC db 0 ; field_2A +//// .data:004E0ADC db 1 ; field_2B +//// .data:004E0ADC db 1 ; field_2C +//// .data:004E0ADC db 0 ; field_2D +//// .data:004E0ADC db 0 ; field_2E +//// .data:004E0ADC db 0 ; field_2F +//// .data:004E0ADC db 0 ; field_30 +//// .data:004E0ADC db 0 ; field_31 +//// .data:004E0ADC db 0 ; field_32 +//// .data:004E0ADC db 0 ; field_33 +//// .data:004E0ADC db 0 ; field_34 +//// .data:004E0ADC db 0 ; field_35 +//// .data:004E0ADC db 0 ; field_36 +//// .data:004E0ADC db 0 ; field_37 +//// .data:004E0ADC db 0 ; field_38 +//// .data:004E0ADC db 0 ; field_39 +//// .data:004E0ADC db 20 ; field_3A +//// .data:004E0ADC db 0 ; field_3B +//// .data:004E0ADC db 0 ; field_3C +//// .data:004E0ADC db 0 ; field_3D +//// .data:004E0ADC db 0 ; field_3E +//// .data:004E0ADC db 0 ; field_3F +//// .data:004E0ADC db 0 ; field_40 +//// .data:004E0ADC db 0 ; field_41 +//// .data:004E0ADC db 0 ; field_42 +//// .data:004E0ADC db 0 ; field_43 +//// .data:004E0ADC db 0 ; field_44 +//// .data:004E0ADC db 0 ; field_45 +//// .data:004E0ADC db 0 ; field_46 +//// .data:004E0ADC db 0 ; field_47 +//// .data:004E0ADC db 0 ; field_48 +//// .data:004E0ADC db 0 ; field_49 +//// .data:004E0ADC db 0 ; field_4A +//// .data:004E0ADC db 0 ; field_4B +//// .data:004E0ADC db 0 ; field_4C +//// .data:004E0ADC db 0 ; field_4D +//// .data:004E0ADC db 0 ; field_4E +//// .data:004E0ADC db 0 ; field_4F +//// .data:004E0ADC db 0 ; field_50 +//// .data:004E0ADC db 0 ; field_51 +//// .data:004E0ADC db 0 ; field_52 +//// .data:004E0ADC db 0 ; field_53 +//// .data:004E0ADC db 0 ; field_54 +//// .data:004E0ADC db 0 ; field_55 +//// .data:004E0ADC db 0 ; field_56 +//// .data:004E0ADC db 0 ; field_57 +//// .data:004E0ADC db 0 ; field_58 +//// .data:004E0ADC db 0 ; field_59 +//// .data:004E0ADC db 0 ; field_5A +//// .data:004E0ADC db 0 ; field_5B +//// .data:004E0ADC db 0 ; field_5C +//// .data:004E0ADC db 0 ; field_5D +//// .data:004E0ADC db 0 ; field_5E +//// .data:004E0ADC db 0 ; field_5F +//// .data:004E0ADC db 0 ; field_60 +//// .data:004E0ADC db 0 ; field_61 +//// .data:004E0ADC db 0 ; field_62 +//// .data:004E0ADC db 0 ; field_63 +//// .data:004E0ADC db 0 ; field_64 +//// .data:004E0ADC db 0 ; field_65 +//// .data:004E0ADC db 0 ; field_66 +//// .data:004E0ADC db 0 ; field_67 +//// .data:004E0ADC db 0 ; field_68 +//// .data:004E0ADC db 0 ; field_69 +//// .data:004E0ADC db 0 ; field_6A +//// .data:004E0ADC db 0 ; field_6B +//// .data:004E0B48 ArcomageCard <'Mad Cow Disease', 60, 3, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, \ +//// .data:004E0B48 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0B48 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0B48 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0B48 0, 0, 0, 0, 0> +//// .data:004E0BB4 ArcomageCard <'Faerie', 61, 3, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, \ +//// .data:004E0BB4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, \ +//// .data:004E0BB4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0BB4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0BB4 0, 0> +//// .data:004E0C20 ArcomageCard <'Moody Goblins', 62, 3, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,\ +//// .data:004E0C20 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0C20 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0C20 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0C20 0, 0, 0, 0, 0, 0> +//// .data:004E0C8C ArcomageCard <'Husbandry', 63, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 0, \ +//// .data:004E0C8C 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0C8C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0C8C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0C8C 0, 0> +//// .data:004E0CF8 ArcomageCard <'Elvin Scout', 64, 3, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 0, \ +//// .data:004E0CF8 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0CF8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0CF8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0CF8 0, 0, 0> +//// .data:004E0D64 ArcomageCard <'Goblin Mob', 65, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 0,\ +//// .data:004E0D64 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 250, \ +//// .data:004E0D64 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0D64 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0D64 0, 0, 0, 0> +//// .data:004E0DD0 ArcomageCard <'Goblin Archers', 66, 3, 0, 0, 0, 0, 0, 4, 1, 1, 0, 0, \ +//// .data:004E0DD0 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0DD0 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0DD0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0DD0 0, 0, 0, 0, 0, 0> +//// .data:004E0E3C ArcomageCard <'Shadow Faerie', 67, 3, 0, 0, 0, 0, 0, 6, 1, 1, 0, 0, 0,\ +//// .data:004E0E3C 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0E3C 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0E3C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0E3C 0, 0, 0, 0> +//// .data:004E0EA8 ArcomageCard <'Orc', 68, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0EA8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, \ +//// .data:004E0EA8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0EA8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0EA8 0> +//// .data:004E0F14 ArcomageCard <'Dwarves', 69, 3, 0, 0, 0, 0, 0, 5, 1, 1, 0, 0, 0, 0, 0,\ +//// .data:004E0F14 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, \ +//// .data:004E0F14 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0F14 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0F14 0, 0> +//// .data:004E0F80 ArcomageCard <'Little Snakes', 70, 3, 0, 0, 0, 0, 0, 6, 1, 1, 0, 0, 0,\ +//// .data:004E0F80 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0F80 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E0F80 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0F80 0, 0, 0, 0> +//// .data:004E0FEC ArcomageCard <'Troll Keepers', 71, 3, 0, 0, 0, 0, 0, 7, 1, 1, 0, 0, 0,\ +//// .data:004E0FEC 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0FEC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0FEC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E0FEC 0, 0, 0> +//// .data:004E1058 ArcomageCard <'Tower Gremlins', 72, 3, 0, 0, 0, 0, 0, 8, 1, 1, 0, 0, \ +//// .data:004E1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1058 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1058 0, 0, 0, 0, 0, 0> +//// .data:004E10C4 ArcomageCard <'Full Moon', 73, 3, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, \ +//// .data:004E10C4 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E10C4 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E10C4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E10C4 0, 0> +//// .data:004E1130 ArcomageCard <'Slasher', 74, 3, 0, 0, 0, 0, 0, 5, 1, 1, 0, 0, 0, 0, 0,\ +//// .data:004E1130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, \ +//// .data:004E1130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1130 0, 0> +//// .data:004E119C ArcomageCard <'Ogre', 75, 3, 0, 0, 0, 0, 0, 6, 1, 1, 0, 0, 0, 0, 0, 0,\ +//// .data:004E119C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, \ +//// .data:004E119C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E119C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E119C 0> +//// .data:004E1208 ArcomageCard <'Rabid Sheep', 76, 3, 0, 0, 0, 0, 0, 6, 1, 1, 0, 0, 0, \ +//// .data:004E1208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, \ +//// .data:004E1208 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1208 0, 0, 0, 0, 0, 0> +//// .data:004E1274 ArcomageCard <'Imp', 77, 3, 0, 0, 0, 0, 0, 5, 1, 1, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, \ +//// .data:004E1274 0, 0, 251, 251, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1274 0, 0, 0> +//// .data:004E12E0 ArcomageCard <'Spizzer', 78, 3, 0, 0, 0, 0, 0, 8, 1, 13, 0, 0, 0, 0, \ +//// .data:004E12E0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, \ +//// .data:004E12E0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E12E0 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E12E0 0, 0, 0, 0> +//// .data:004E134C ArcomageCard <'Werewolf', 79, 3, 0, 0, 0, 0, 0, 9, 1, 1, 0, 0, 0, 0, \ +//// .data:004E134C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, \ +//// .data:004E134C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E134C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E134C 0, 0, 0> +//// .data:004E13B8 ArcomageCard <'Corrosion Cloud', 80, 3, 0, 0, 0, 0, 0, 11, 1, 14, 0, \ +//// .data:004E13B8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E13B8 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E13B8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, \ +//// .data:004E13B8 0, 0, 0, 0, 0, 0, 0> +//// .data:004E1424 ArcomageCard <'Unicorn', 81, 3, 0, 0, 0, 0, 0, 9, 1, 9, 0, 0, 0, 0, 0,\ +//// .data:004E1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, \ +//// .data:004E1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1424 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1424 0, 0, 0> +//// .data:004E1490 ArcomageCard <'Elvin Archers', 82, 3, 0, 0, 0, 0, 0, 10, 1, 19, 0, 0, \ +//// .data:004E1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1490 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1490 0, 0, 0, 0, 0, 0> +//// .data:004E14FC ArcomageCard <'Succubus', 83, 3, 0, 0, 0, 0, 0, 14, 1, 1, 0, 0, 0, 0, \ +//// .data:004E14FC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, \ +//// .data:004E14FC 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E14FC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E14FC 0, 0, 0, 0> +//// .data:004E1568 ArcomageCard <'Rock Stompers', 84, 3, 0, 0, 0, 0, 0, 11, 1, 1, 0, 0, \ +//// .data:004E1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, \ +//// .data:004E1568 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1568 0, 0, 0, 0, 0, 0> +//// .data:004E15D4 ArcomageCard <'Thief', 85, 3, 0, 0, 0, 0, 0, 12, 1, 1, 0, 0, 0, 0, 0, \ +//// .data:004E15D4 0, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, 251, 246, 0, 0, 0, \ +//// .data:004E15D4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E15D4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E15D4 0, 0, 0> +//// .data:004E1640 ArcomageCard <'Stone Giant', 86, 3, 0, 0, 0, 0, 0, 15, 1, 1, 0, 0, 0, \ +//// .data:004E1640 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 246, \ +//// .data:004E1640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1640 0, 0, 0, 0> +//// .data:004E16AC ArcomageCard <'Vampire', 87, 3, 0, 0, 0, 0, 0, 17, 1, 1, 0, 0, 0, 0, \ +//// .data:004E16AC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 251, 246,\ +//// .data:004E16AC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E16AC 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E16AC 0, 0, 0, 0> +//// .data:004E1718 ArcomageCard <'Dragon', 88, 3, 0, 0, 0, 0, 0, 25, 1, 1, 0, 0, 0, 0, 0,\ +//// .data:004E1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 246, 0, 236, 0,\ +//// .data:004E1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1718 0, 0, 0> +//// .data:004E1784 ArcomageCard <'Forced Labor', 28, 1, 0, 0, 0, 7, 0, 0, 1, 1, 0, 0, 0, \ +//// .data:004E1784 0, 0, 0, 0, 0, 0, 0, 251, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, \ +//// .data:004E1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E1784 0, 0, 0, 0> +//// .data:004E17F0 ArcomageCard <'Crystallize', 58, 2, 0, 0, 0, 0, 8, 0, 1, 1, 0, 0, 0, \ +//// .data:004E17F0 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 11, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E17F0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E17F0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ +//// .data:004E17F0 0, 0, 0, 0> \ No newline at end of file
--- a/Render.cpp Thu Jun 06 08:33:43 2013 +0400 +++ b/Render.cpp Fri Jun 07 01:32:17 2013 +0400 @@ -10687,21 +10687,6 @@ return true; } -//----- (0040DBD3) -------------------------------------------------------- -void __fastcall Render::SetPixel(Vec2_int_ *pTargetXY, unsigned __int16 uColor) -{ - pRenderer->BeginScene(); - if ( pRenderer->uNumSceneBegins ) - { - int xVal = pTargetXY->x; - int yVal = pTargetXY->y; - if ( xVal >= 0 && xVal <= 639 && yVal >= 0 && yVal <= 479) - { - pRenderer->pTargetSurface[xVal + pRenderer->uTargetSurfacePitch * yVal] = uColor; - } - pRenderer->EndScene(); - } -} //----- (004524D8) -------------------------------------------------------- HWLTexture *RenderHWLContainer::LoadTexture(const char *pName, int bMipMaps)
--- a/Render.h Thu Jun 06 08:33:43 2013 +0400 +++ b/Render.h Fri Jun 07 01:32:17 2013 +0400 @@ -271,7 +271,6 @@ bool Initialize(bool bWindowed, uint uDefaultDevice, bool bColoredLights, uint uDetailLevel, uint bTinting); - static void __fastcall SetPixel(struct Vec2_int_ *pTargetXY, unsigned __int16 uColor); bool IsColorKeySupported(IDirectDraw4 *); void _49EBF1();
--- a/mm7_data.cpp Thu Jun 06 08:33:43 2013 +0400 +++ b/mm7_data.cpp Fri Jun 07 01:32:17 2013 +0400 @@ -362,15 +362,11 @@ int dword_4DF380[5]={0,1024,2560,5120,10240}; // weak //int dword_4DF390; // weak char Str2[777]; // idb -int dword_4DF3A4; // weak + char byte_4E185C; // weak -char am_byte_4E185D; // weak + char byte_4E185E; // weak -int amuint_4E1860; // weak -int amuint_4E1864; // weak -int amuint_4E1868; // weak -int amuint_4E186C; // weak -int amuint_4E1870; // weak + float flt_4D84E8 = 0.0f; @@ -904,7 +900,7 @@ _UNKNOWN unk_4FAA20; // weak char byte_4FAA24; // weak HWND dword_4FAA28; // idb -char byte_4FAA2C; // weak + char byte_4FAA2D; // weak char byte_4FAA2E; // weak int amuint_4FAA34; // weak @@ -917,12 +913,12 @@ int amuint_4FAA5C_blt_xy[2]; int dword_4FAA64; // weak int dword_4FAA68; // weak -int amuint_4FAA6C; // idb + int dword_4FAA70; // weak char byte_4FAA74; // weak char am_byte_4FAA75; // weak char am_byte_4FAA76; // weak -char am_byte_4FAA77; // weak + int amuint_4FAA78[777]; // weak char am_byte_4FAA7C[777]; // weak int amuint_4FAA80[777]; // weak @@ -932,7 +928,7 @@ int amuint_4FAA90[777][2]; int dword_4FABB8; // weak signed int dword_4FABBC; // idb -unsigned int amuint_4FABC0; // idb + int amuint_4FABC4; // weak int dword_4FABC8; // weak char byte_4FABD0[777]; // weak @@ -955,9 +951,9 @@ _UNKNOWN unk_5052C8; // weak int dword_505314[777]; // weak char byte_5054C8[32]; // idb -char byte_5054E8[108]; -int dword_505554[777]; // weak -_UNKNOWN unk_505704; // weak + + + char byte_505880; // weak char byte_505881; // weak int amuint_505884; // weak
--- a/mm7_data.h Thu Jun 06 08:33:43 2013 +0400 +++ b/mm7_data.h Fri Jun 07 01:32:17 2013 +0400 @@ -312,15 +312,11 @@ extern int dword_4DF380[]; // weak extern int dword_4DF390; // weak extern char Str2[]; // idb -extern int dword_4DF3A4; // weak + extern char byte_4E185C; // weak -extern char am_byte_4E185D; // weak + extern char byte_4E185E; // weak -extern int amuint_4E1860; // weak -extern int amuint_4E1864; // weak -extern int amuint_4E1868; // weak -extern int amuint_4E186C; // weak -extern int amuint_4E1870; // weak + extern float flt_4D84E8; @@ -545,7 +541,7 @@ extern _UNKNOWN unk_4FAA20; // weak extern char byte_4FAA24; // weak extern HWND dword_4FAA28; // idb -extern char byte_4FAA2C; // weak + extern char byte_4FAA2D; // weak extern char byte_4FAA2E; // weak extern int amuint_4FAA34; // weak @@ -558,12 +554,12 @@ extern int amuint_4FAA5C_blt_xy[2]; extern int dword_4FAA64; // weak extern int dword_4FAA68; // weak -extern int amuint_4FAA6C; // idb + extern int dword_4FAA70; // weak extern char byte_4FAA74; // weak extern char am_byte_4FAA75; // weak extern char am_byte_4FAA76; // weak -extern char am_byte_4FAA77; // weak + extern int amuint_4FAA78[777]; // weak extern char am_byte_4FAA7C[777]; // weak extern int amuint_4FAA80[777]; // weak @@ -573,7 +569,7 @@ extern int amuint_4FAA90[777][2]; extern int dword_4FABB8; // weak extern signed int dword_4FABBC; // idb -extern unsigned int amuint_4FABC0; // idb + extern int amuint_4FABC4; // weak extern int dword_4FABC8; // weak extern char byte_4FABD0[]; // weak @@ -596,9 +592,7 @@ extern _UNKNOWN unk_5052C8; // weak extern int dword_505314[]; // weak extern char byte_5054C8[32]; // idb -extern char byte_5054E8[108]; -extern int dword_505554[]; // weak -extern _UNKNOWN unk_505704; // weak + extern char byte_505880; // weak extern char byte_505881; // weak extern int amuint_505884; // weak