Unadvised Client Project
I decided to help this community further on. Like I promised, I made the basics for a fresh new project which focusses on the developing of the 2.20 client. I named this project the 'Unadvised Client Project'.
I hope everyone will tribute as much as he/she can, that'll eventually leads to a perfectly working 3.51 Client as a start. I also hope people who already are working on the client will share their fixes. Later on I can tell without a doubt this client will most likely be used to actually improve this nearly dead game!
Updates made in v1:
-Status flags altered to make the client work with 3.51
-Level up system converted
-Aura flags added
-3.51 NPC Monsters added
-Hero armory (both M&W) added
-All main menu dialogs converted
-PutLogFileList function added, can be used for debugging
So here it is, the first version!
<a href='http://www.helbreath2.com/Unadvised%20C ... roject.zip' target='_blank'>Download Here</a>
P.S.:
-Sorry it took a little bit longer, but I'm busy lately..
-Could any admin make it possible for me to post in that new Developing section? Thanks..
I hope everyone will tribute as much as he/she can, that'll eventually leads to a perfectly working 3.51 Client as a start. I also hope people who already are working on the client will share their fixes. Later on I can tell without a doubt this client will most likely be used to actually improve this nearly dead game!
Updates made in v1:
-Status flags altered to make the client work with 3.51
-Level up system converted
-Aura flags added
-3.51 NPC Monsters added
-Hero armory (both M&W) added
-All main menu dialogs converted
-PutLogFileList function added, can be used for debugging
So here it is, the first version!
<a href='http://www.helbreath2.com/Unadvised%20C ... roject.zip' target='_blank'>Download Here</a>
P.S.:
-Sorry it took a little bit longer, but I'm busy lately..
-Could any admin make it possible for me to post in that new Developing section? Thanks..
Helbreath II Project Manager & All round Developer. <br><i>(Don't worry, we're not dead)</i>
nice
OWNED!<br><img src='http://img50.imageshack.us/img50/1386/p ... 3vsqn2.gif' border='0' alt='user posted image' /><br><br><img src="http://hbtop50.com/button.php?u=hbuonline" alt="Helbreath Top 50 - Keepin' it real." border="0" /><br><a href='http://www.hbuonline.net' target='_blank'>Helbreath United</a>
-
- DBfiller
- Posts: 3816
- Joined: Fri Oct 31, 2003 5:30 am
- Location: San Diego CA, USA
- Contact:
cool
id like this client to be the base client for the client side portion of the helbreath development project
so far it is klks on server, and me on client
id like this client to be the base client for the client side portion of the helbreath development project
so far it is klks on server, and me on client
<img src='http://img88.exs.cx/img88/2290/7666.jpg' border='0' alt='user posted image' />
-
- DBfiller
- Posts: 3816
- Joined: Fri Oct 31, 2003 5:30 am
- Location: San Diego CA, USA
- Contact:
you can help on clientShetar wrote: I'll help on both if wanted.
i dunno about server cause thats the part klks is in charge of and hes very picky
<img src='http://img88.exs.cx/img88/2290/7666.jpg' border='0' alt='user posted image' />
the new npc are not add u must finish mapdatta and ad them in but then there a porblem wich diude fix there sone spirts that arnt fully loaded so it stop the loading for otehre spirts wicxh what he said when i talked to hiom but he go it to work well hope it help latter good job top
<img src='http://lifeplaysu420.com/unknow/nightsign.png' border='0' alt='user posted image' /><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>Wanna make money for surfing the net sing up at <br><a href='http://www.cashfiesta.com/php/join.php? ... yprivitera' target='_blank'>cash fiesta</a><br>its all free hey why ntot make money while fucking around on the computer<br><br><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nice work
but i got cuple questions.
1: any one know how to fix the neutral monsters bug?
2: and add esw & mass-magic-missle spells?
3: how to add this line
- New Bug -
-Erroring and quite from the game when entering to shop see on pic
Upade:
- all new wepions added.
but i got cuple questions.
1: any one know how to fix the neutral monsters bug?
2: and add esw & mass-magic-missle spells?
3: how to add this line
- New Bug -
-Erroring and quite from the game when entering to shop see on pic
Upade:
- all new wepions added.
<img src='http://img357.imageshack.us/img357/505/eyecopy7ng.gif' border='0' alt='user posted image' />
Keep it the way Shetar said.
Shetar release sources, then peoples post snippets, Shetar add them to the main sources and when the sources have some more features, he release the new one.
Maybe you should add a new sub-forum only for snippets submissions and unadvised client sources releases. I'll help when i'll be done with our own client if you want
Another idea is to create a new topic where people will show what they are working at, so there is not 3 or 4 peoples working on the same feature, with another topic for the changelog... another one for the bug repport...
Shetar release sources, then peoples post snippets, Shetar add them to the main sources and when the sources have some more features, he release the new one.
Maybe you should add a new sub-forum only for snippets submissions and unadvised client sources releases. I'll help when i'll be done with our own client if you want
Another idea is to create a new topic where people will show what they are working at, so there is not 3 or 4 peoples working on the same feature, with another topic for the changelog... another one for the bug repport...
<a href='http://www.technohell.net' target='_blank'><b><span style='color:red'>>>> Helbreath Ressources Website Here <<<</span></b></a><br>C++ Sources, Tools, Server Files, Help on Forum, C++ Snippets, Toplist... Updated often, come visit us !
:Share: How to add all new wepions/staff's
first find
then replace it , till case 96 with..
hope you can use it...
p.s srry i dont know explane very well... :rolleyes:
first find
Code: Select all
case 60:
{
// v2.13 ¿¢½ºÄ®¸®¹ö À̹ÌÁö·Î ´ëü
MakeSprite( "Mswx", 6020 + 64*5, 56, TRUE);
MakeSprite( "Msw2", 6020 + 64*13, 56, TRUE);
Code: Select all
case 60:
{
// v2.13 ¿¢½ºÄ®¸®¹ö À̹ÌÁö·Î ´ëü
MakeSprite( "Mswx", 6020 + 64*5, 56, TRUE);
MakeSprite( "Msw2", 6020 + 64*13, 56, TRUE);
MakeSprite( "MAxe1", 6020 + 64*20, 56, TRUE);// Axe
MakeSprite( "MAxe2", 6020 + 64*21, 56, TRUE);
MakeSprite( "Msw3", 6020 + 64*14, 56, TRUE);
MakeSprite( "MStormBringer", 6020 + 64*15, 56, TRUE);
MakeSprite( "MDarkExec", 6020 + 64*16, 56, TRUE);
MakeSprite( "MKlonessBlade", 6020 + 64*17, 56, TRUE);
MakeSprite( "MKlonessAstock", 6020 + 64*18, 56, TRUE);
MakeSprite( "MDebastator", 6020 + 64*19, 56, TRUE);
m_cLoading = 64;
}
break;
case 64:
{
MakeSprite( "MAxe3", 6020 + 64*22, 56, TRUE);
MakeSprite( "MAxe4", 6020 + 64*23, 56, TRUE);
MakeSprite( "MAxe5", 6020 + 64*24, 56, TRUE);
MakeSprite( "MPickAxe1", 6020 + 64*25, 56, TRUE);
MakeSprite( "MAxe6", 6020 + 64*26, 56, TRUE);
MakeSprite( "Mhoe", 6020 + 64*27, 56, TRUE);
MakeSprite("MKlonessAxe", 6020 + 64*28, 56, TRUE);
MakeSprite("MLightBlade", 6020 + 64*29, 56, TRUE);
m_cLoading = 68;
}
break;
case 68:
{
MakeSprite( "MHammer", 6020 + 64*30, 56, TRUE);
MakeSprite( "MBHammer", 6020 + 64*31, 56, TRUE);
MakeSprite( "MBabHammer", 6020 + 64*32, 56, TRUE);
MakeSprite( "MBShadowSword", 6020 + 64*33, 56, TRUE);
MakeSprite( "MBerserkWand", 6020 + 64*34, 56, TRUE);
MakeSprite( "Mstaff1", 6020 + 64*35, 56, TRUE);
MakeSprite( "Mstaff2", 6020 + 64*36, 56, TRUE);
MakeSprite( "MStaff3", 6020 + 64*37, 56, TRUE);
MakeSprite( "MReMagicWand", 6020 + 64*38, 56, TRUE);
MakeSprite( "MKlonessWand", 6020 + 64*39, 56, TRUE);
m_cLoading = 72;
}
break;
case 72:
{
// Bow (ID: 40¹øºÎÅÍÀ̹ǷÎ)
MakeSprite( "Mbo", 6020 + 64*40, 56, TRUE);
// m_hPakFile = CreateFile("sprites\\Mbo.pak", GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);
// for (i = 0; i < 56; i++) m_pSprite[6020 + i + 64*40] = new class CSprite(m_hPakFile, &m_DDraw, "Mbo", i + 56*0, TRUE);
m_hPakFile = CreateFile("sprites\\Mbo.pak", GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);
if( m_hPakFile != INVALID_HANDLE_VALUE ) {
for (i = 0; i < 56; i++) m_pSprite[6020 + i + 64*41] = new class CSprite(m_hPakFile, &m_DDraw, "Mbo", i + 56*1, TRUE);
CloseHandle(m_hPakFile);
}
// ³²ÀÚ ¹æÆÐ - µ¿ÀÛ¿ë 1~9 (0¹øÀº ¾øÀ½)
m_hPakFile = CreateFile("sprites\\Msh.pak", GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);
if( m_hPakFile != INVALID_HANDLE_VALUE ) {
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*1] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*0, TRUE);
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*2] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*1, TRUE);
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*3] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*2, TRUE);
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*4] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*3, TRUE);
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*5] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*4, TRUE);
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*6] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*5, TRUE);
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*7] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*6, TRUE);
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*8] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*7, TRUE);
for (i = 0; i < 7; i++) m_pSprite[9100 + i + 8*9] = new class CSprite(m_hPakFile, &m_DDraw, "Msh", i + 7*8, TRUE);
CloseHandle(m_hPakFile);
}
m_cLoading = 76;
}
break;
case 76:
{
MakeSprite( "Mmantle01", 9230 + 15*1, 12, TRUE);
MakeSprite( "Mmantle02", 9230 + 15*2, 12, TRUE);
MakeSprite( "Mmantle03", 9230 + 15*3, 12, TRUE);
MakeSprite( "Mmantle04", 9230 + 15*4, 12, TRUE);
MakeSprite( "Mmantle05", 9230 + 15*5, 12, TRUE);
MakeSprite( "Mmantle06", 9230 + 15*6, 12, TRUE);
MakeSprite( "MHelm1", 9300 + 15*1, 12, TRUE);
MakeSprite( "MHelm2", 9300 + 15*2, 12, TRUE);
MakeSprite( "MHelm3", 9300 + 15*3, 12, TRUE);
MakeSprite( "MHelm4", 9300 + 15*4, 12, TRUE);
MakeSprite( "NMHelm1", 9300 + 15*5, 12, TRUE);
MakeSprite( "NMHelm2", 9300 + 15*6, 12, TRUE);
MakeSprite( "NMHelm3", 9300 + 15*7, 12, TRUE);
MakeSprite( "NMHelm4", 9300 + 15*8, 12, TRUE);
// Hero:
MakeSprite( "MHHelm1", 9300 + 15*9, 12, TRUE); // Helm Elvine
MakeSprite( "MHHelm2", 9300 + 15*10, 12, TRUE); // Helm Aresden
MakeSprite( "MHCap1", 9300 + 15*11, 12, TRUE); // Cap Elvine
MakeSprite( "MHCap2", 9300 + 15*12, 12, TRUE); // Cap Aresden
m_hPakFile = CreateFile("sprites\\Wpt.pak", GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);
if( m_hPakFile != INVALID_HANDLE_VALUE ) {
for (i = 0; i < 12; i++) m_pSprite[14580 + i + 15*0] = new class CSprite(m_hPakFile, &m_DDraw, "Wpt", i, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14580 + i + 15*1] = new class CSprite(m_hPakFile, &m_DDraw, "Wpt", i + 12, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14580 + i + 15*2] = new class CSprite(m_hPakFile, &m_DDraw, "Wpt", i + 12*2, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14580 + i + 15*3] = new class CSprite(m_hPakFile, &m_DDraw, "Wpt", i + 12*3, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14580 + i + 15*4] = new class CSprite(m_hPakFile, &m_DDraw, "Wpt", i + 12*4, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14580 + i + 15*5] = new class CSprite(m_hPakFile, &m_DDraw, "Wpt", i + 12*5, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14580 + i + 15*6] = new class CSprite(m_hPakFile, &m_DDraw, "Wpt", i + 12*6, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14580 + i + 15*7] = new class CSprite(m_hPakFile, &m_DDraw, "Wpt", i + 12*7, TRUE);
CloseHandle(m_hPakFile);
}
m_hPakFile = CreateFile("sprites\\Whr.pak", GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);
if( m_hPakFile != INVALID_HANDLE_VALUE ) {
for (i = 0; i < 12; i++) m_pSprite[14820 + i + 15*0] = new class CSprite(m_hPakFile, &m_DDraw, "Whr", i + 0, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14820 + i + 15*1] = new class CSprite(m_hPakFile, &m_DDraw, "Whr", i + 12, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14820 + i + 15*2] = new class CSprite(m_hPakFile, &m_DDraw, "Whr", i + 12*2, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14820 + i + 15*3] = new class CSprite(m_hPakFile, &m_DDraw, "Whr", i + 12*3, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14820 + i + 15*4] = new class CSprite(m_hPakFile, &m_DDraw, "Whr", i + 12*4, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14820 + i + 15*5] = new class CSprite(m_hPakFile, &m_DDraw, "Whr", i + 12*5, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14820 + i + 15*6] = new class CSprite(m_hPakFile, &m_DDraw, "Whr", i + 12*6, TRUE);
for (i = 0; i < 12; i++) m_pSprite[14820 + i + 15*7] = new class CSprite(m_hPakFile, &m_DDraw, "Whr", i + 12*7, TRUE);
CloseHandle(m_hPakFile);
}
m_cLoading = 80;
}
break;
case 80:
{
MakeSprite( "WBodice1", 15060 + 15* 1, 12, TRUE);
MakeSprite( "WBodice2", 15060 + 15* 2, 12, TRUE);
MakeSprite( "WLArmor", 15060 + 15* 3, 12, TRUE);
MakeSprite( "WCMail", 15060 + 15* 4, 12, TRUE);
MakeSprite( "WSMail", 15060 + 15* 5, 12, TRUE);
MakeSprite( "WPMail", 15060 + 15* 6, 12, TRUE);
MakeSprite( "WRobe1", 15060 + 15* 7, 12, TRUE);
MakeSprite( "WSanta", 15060 + 15* 8, 12, TRUE);
// Hero:
MakeSprite( "WHPMail1", 15060 + 15* 9, 12, TRUE); // Elvine
MakeSprite( "WHPMail2", 15060 + 15*10, 12, TRUE); // Aresden
MakeSprite( "WHRobe1", 15060 + 15*11, 12, TRUE); // Elvine
MakeSprite( "WHRobe2", 15060 + 15*12, 12, TRUE); // Aresden
MakeSprite( "WChemiss", 15300 + 15*1, 12, TRUE);
MakeSprite( "WShirt", 15300 + 15*2, 12, TRUE);
MakeSprite( "WHauberk", 15300 + 15*3, 12, TRUE);
// Hero:
MakeSprite( "WHHauberk1", 15300 + 15*4, 12, TRUE); // Elvine
MakeSprite( "WHHauberk2", 15300 + 15*5, 12, TRUE); // Aresden
MakeSprite( "WSkirt", 15540 + 15*1, 12, TRUE);
MakeSprite( "WTrouser", 15540 + 15*2, 12, TRUE);
MakeSprite( "WHTrouser", 15540 + 15*3, 12, TRUE);
MakeSprite( "WCHoses", 15540 + 15*4, 12, TRUE);
MakeSprite( "WLeggings", 15540 + 15*5, 12, TRUE);
// Hero:
MakeSprite("WHLeggings1", 15540 + 15*6, 12, TRUE); // Elvine
MakeSprite("WHLeggings2", 15540 + 15*7, 12, TRUE); // Aresden
MakeSprite( "WShoes", 15780 + 15*1, 12, TRUE);
MakeSprite( "WLBoots", 15780 + 15*2, 12, TRUE);
m_cLoading = 84;
}
break;
case 84:
{
m_hPakFile = CreateFile("sprites\\Wsw.pak", GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);
if( m_hPakFile != INVALID_HANDLE_VALUE ) {
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*1] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*0, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*2] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*1, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*3] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*2, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*4] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*3, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*6] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*5, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*7] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*6, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*8] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*7, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*9] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*8, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*10] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*9, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*11] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*10, TRUE);
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*12] = new class CSprite(m_hPakFile, &m_DDraw, "Wsw", i + 56*11, TRUE);
CloseHandle(m_hPakFile);
}
MakeSprite( "Wswx", 16020 + 64*5, 56, TRUE);// v2.13 ¿¢½ºÄ®¸®¹ö
MakeSprite( "Wsw2", 16020 + 64*13, 56, TRUE);
m_cLoading = 88;
}
break;
case 88:
{
MakeSprite( "Wmantle01", 19230 + 15*1, 12, TRUE);// ¿©ÀÚ ¸Á¶Ç
MakeSprite( "Wmantle02", 19230 + 15*2, 12, TRUE);
MakeSprite( "Wmantle03", 19230 + 15*3, 12, TRUE);
MakeSprite( "Wmantle04", 19230 + 15*4, 12, TRUE);
MakeSprite( "Wmantle05", 19230 + 15*5, 12, TRUE);
MakeSprite( "Wmantle06", 19230 + 15*6, 12, TRUE);
MakeSprite( "WHelm1", 19300 + 15*1, 12, TRUE);
MakeSprite( "WHelm4", 19300 + 15*4, 12, TRUE);
MakeSprite( "NWHelm1", 19300 + 15*5, 12, TRUE);
MakeSprite( "NWHelm2", 19300 + 15*6, 12, TRUE);
MakeSprite( "NWHelm3", 19300 + 15*7, 12, TRUE);
MakeSprite( "NWHelm4", 19300 + 15*8, 12, TRUE);
// Hero:
MakeSprite("WHHelm1", 19300 + 15*9, 12, TRUE); // Elvine
MakeSprite("WHHelm2", 19300 + 15*10, 12, TRUE); // Aresden
MakeSprite("WHCap1", 19300 + 15*11, 12, TRUE); // Elvine
MakeSprite("WHCap2", 19300 + 15*12, 12, TRUE); // Aresden
MakeSprite( "WAxe1", 16020 + 64*20, 56, TRUE);// Axe
MakeSprite( "WAxe2", 16020 + 64*21, 56, TRUE);
MakeSprite( "WAxe3", 16020 + 64*22, 56, TRUE);
m_cLoading = 92;
}
break;
case 92:
{
MakeSprite( "WAxe4", 16020 + 64*23, 56, TRUE);
MakeSprite( "WAxe5", 16020 + 64*24, 56, TRUE);
MakeSprite( "WpickAxe1", 16020 + 64*25, 56, TRUE);
MakeSprite( "WAxe6", 16020 + 64*26, 56, TRUE);
MakeSprite( "Whoe", 16020 + 64*27, 56, TRUE);
MakeSprite( "WKlonessAxe", 16020 + 64*28, 56, TRUE);
MakeSprite( "WLightBlade", 16020 + 64*29, 56, TRUE);
MakeSprite( "WHammer", 16020 + 64*30, 56, TRUE);
MakeSprite( "WBHammer", 16020 + 64*31, 56, TRUE);
MakeSprite( "WBabHammer", 16020 + 64*32, 56, TRUE);
MakeSprite( "WBShadowSword", 16020 + 64*33, 56, TRUE);
MakeSprite( "WBerserkWand", 16020 + 64*34, 56, TRUE);
m_cLoading = 96;
}
break;
case 96:
{
MakeSprite( "Wstaff1", 16020 + 64*35, 56, TRUE);// Staff
MakeSprite( "Wstaff2", 16020 + 64*36, 56, TRUE);
MakeSprite("WStaff3", 16020 + 64*37, 56, TRUE);
MakeSprite("WReMagicWand", 16020 + 64*38, 56, TRUE);
MakeSprite("WKlonessWand", 16020 + 64*39, 56, TRUE);
MakeSprite( "Wbo", 16020 + 64*40, 56, TRUE);// Bow (ID: 40¹øºÎÅÍÀ̹ǷÎ)
m_hPakFile = CreateFile("sprites\\Wbo.pak", GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL);
if( m_hPakFile != INVALID_HANDLE_VALUE ) {
for (i = 0; i < 56; i++) m_pSprite[16020 + i + 64*41] = new class CSprite(m_hPakFile, &m_DDraw, "Wbo", i + 56*1, TRUE);
CloseHandle(m_hPakFile);
}
p.s srry i dont know explane very well... :rolleyes:
<img src='http://img357.imageshack.us/img357/505/eyecopy7ng.gif' border='0' alt='user posted image' />