| Mirage Source http://miragesource.net/forums/ |
|
| paperdoll 32x63 code http://miragesource.net/forums/viewtopic.php?f=210&t=122 |
Page 1 of 2 |
| Author: | maniac_steve [ Thu Jun 08, 2006 11:01 am ] |
| Post subject: | paperdoll 32x63 code |
can somebody post a tutorial please for paperdolling 32x64 please please please i found a 32x32 but it doesnt work with 32x64 sprites... thanks in advanced |
|
| Author: | DarkX [ Thu Jun 08, 2006 5:10 pm ] |
| Post subject: | |
Well If I recall correctly you can just look at the increase size tutorial and do the same thing for the paper doll tutorial. or if not heres one that is suppossed to be a 32x64 paper doll tutorial. http://orpgkings.com/forum/viewtopic.ph ... 5cf3b86987 there you go. |
|
| Author: | Dark Echo [ Fri Jun 09, 2006 1:31 am ] |
| Post subject: | |
Ok, firstly im going to assume that your using GSDs paperdolling code/tutorial, as that seems to be the only one floating around the internet for mirage.. Now, firstly, you need to understand what the code is doing. If i recall correctly, he changed the whole BltPlayer sub so it would accomodate more surfaces for the item slots. And would blt (draw) them accordingly. To add this into 32x64 sprites, this all goes back down to how you did 32x64 sprites. if you used Misunderstoods tutorial, then it shouldnt be too hard. If you did it a different way it shouldnt differ much regardless. Now, if you can understand what Mis did in his tutorial, you can see that he basically draw a whole new surface above the current player surface. All he basically changed was: Code: .Top = GetPlayerSprite(Index) * PIC_Y + PIC_Y
From the BltPlayer sub and another section of code, which actually moves the surface up 32 pixels. Now, if you just combine the two tutorials you can easily make 32x64 sprites with paperdoll working perfectly fine. You will need to change the size of your items, as GSD used the items.bmp as the equipment sheet. I suggest making a new sheet for just equipments, so items in your inventory, on the ground, etc are in a 32x32 pixel box, while the equipments on the player are 32x64. If you need more help, just post in here and i'll help you some more.. Good luck.. |
|
| Author: | Matt [ Sat Jun 10, 2006 3:02 am ] |
| Post subject: | |
http://splamm.com/elysium Pingu, I think, posted one for Elysium, but it's only a bit of changing for it to work with MSE and what not. |
|
| Author: | Sign [ Thu Jun 22, 2006 3:04 am ] |
| Post subject: | |
Ill be nice and give you my paperdoll code, since alot of people helped me with things I didn't know how to do. Code: Sub BltPlayer(ByVal Index As Long)
Dim Anim As Byte Dim x As Long, y As Long ' Only used if ever want to switch to blt rather then bltfast With rec_pos .top = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset .Bottom = .top + PIC_Y .Left = GetPlayerX(Index) * PIC_X + Player(Index).XOffset .Right = .Left + PIC_X End With ' Check for animation Anim = 0 If Player(Index).Attacking = 0 Then Select Case GetPlayerDir(Index) Case DIR_UP If (Player(Index).YOffset < PIC_Y / 2) Then Anim = 1 Case DIR_DOWN If (Player(Index).YOffset < PIC_Y / 2 * -1) Then Anim = 1 Case DIR_LEFT If (Player(Index).XOffset < PIC_Y / 2) Then Anim = 1 Case DIR_RIGHT If (Player(Index).XOffset < PIC_Y / 2 * -1) Then Anim = 1 End Select Else If Player(Index).AttackTimer + 500 > GetTickCount Then Anim = 2 End If End If ' Check to see if we want to stop making him attack If Player(Index).AttackTimer + 1000 < GetTickCount Then Player(Index).Attacking = 0 Player(Index).AttackTimer = 0 End If rec.Left = (GetPlayerDir(Index) * 3 + Anim) * PIC_X rec.Right = rec.Left + PIC_X x = GetPlayerX(Index) * PIC_X + Player(Index).XOffset y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - 4 ' Check if its out of bounds because of the offset If y < 0 Then y = 0 rec.top = rec.top + (y * -1) End If rec.top = GetPlayerSprite(Index) * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_SpriteSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) If GetPlayerDir(Index) = DIR_UP Then If Player(Index).Shield > 0 Then rec.top = Item(Player(Index).Shield).Pic * 64 + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Weapon > 0 Then rec.top = Item(Player(Index).Weapon).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If End If If Player(Index).Armor > 0 Then rec.top = Item(Player(Index).Armor).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Helmet > 0 Then rec.top = Item(Player(Index).Helmet).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If GetPlayerDir(Index) <> DIR_UP Then If Player(Index).Shield > 0 Then rec.top = Item(Player(Index).Shield).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Weapon > 0 Then rec.top = Item(Player(Index).Weapon).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If End If End Sub Sub BltPlayerTop(ByVal Index As Long) Dim Anim As Byte Dim x As Long, y As Long ' Only used if ever want to switch to blt rather then bltfast With rec_pos .top = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset .Bottom = .top + PIC_Y .Left = GetPlayerX(Index) * PIC_X + Player(Index).XOffset .Right = .Left + PIC_X End With ' Check for animation Anim = 0 If Player(Index).Attacking = 0 Then Select Case GetPlayerDir(Index) Case DIR_UP If (Player(Index).YOffset < PIC_Y / 2) Then Anim = 1 Case DIR_DOWN If (Player(Index).YOffset < PIC_Y / 2 * -1) Then Anim = 1 Case DIR_LEFT If (Player(Index).XOffset < PIC_Y / 2) Then Anim = 1 Case DIR_RIGHT If (Player(Index).XOffset < PIC_Y / 2 * -1) Then Anim = 1 End Select Else If Player(Index).AttackTimer + 500 > GetTickCount Then Anim = 2 End If End If ' Check to see if we want to stop making him attack If Player(Index).AttackTimer + 1000 < GetTickCount Then Player(Index).Attacking = 0 Player(Index).AttackTimer = 0 End If rec.Left = (GetPlayerDir(Index) * 3 + Anim) * PIC_X rec.Right = rec.Left + PIC_X x = GetPlayerX(Index) * PIC_X + Player(Index).XOffset y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - 4 ' Check if its out of bounds because of the offset y = y - 32 If y < 0 And y > -32 Then With rec .top = .top - y y = 0 End With End If rec.top = GetPlayerSprite(Index) * PIC_Y rec.Bottom = rec.top + PIC_Y 'Call DD_BackBuffer.Blt(rec_pos, DD_SpriteSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC) Call DD_BackBuffer.BltFast(x, y, DD_SpriteSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) If GetPlayerDir(Index) = DIR_UP Then If Player(Index).Shield > 0 Then rec.top = Item(Player(Index).Shield).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Weapon > 0 Then rec.top = Item(Player(Index).Weapon).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If End If If Player(Index).Armor > 0 Then rec.top = Item(Player(Index).Armor).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Helmet > 0 Then rec.top = Item(Player(Index).Helmet).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If GetPlayerDir(Index) <> DIR_UP Then If Player(Index).Shield > 0 Then rec.top = Item(Player(Index).Shield).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Weapon > 0 Then rec.top = Item(Player(Index).Weapon).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If End If End Sub To Complete Find Call Bltplayer copy all those codes and paste after then change call bltplayer to call bltplayertop then just follow the paperdoll tutorial skipping the bltplayer parts. and There you GO! |
|
| Author: | maniac_steve [ Thu Jun 22, 2006 11:13 pm ] |
| Post subject: | |
lol sorry i should of posted sayin that its done lol |
|
| Author: | kakashi [ Mon Apr 23, 2007 3:05 am ] |
| Post subject: | |
Sign wrote: Ill be nice and give you my paperdoll code, since alot of people helped me with things I didn't know how to do.
Code: Sub BltPlayer(ByVal Index As Long) Dim Anim As Byte Dim x As Long, y As Long ' Only used if ever want to switch to blt rather then bltfast With rec_pos .top = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset .Bottom = .top + PIC_Y .Left = GetPlayerX(Index) * PIC_X + Player(Index).XOffset .Right = .Left + PIC_X End With ' Check for animation Anim = 0 If Player(Index).Attacking = 0 Then Select Case GetPlayerDir(Index) Case DIR_UP If (Player(Index).YOffset < PIC_Y / 2) Then Anim = 1 Case DIR_DOWN If (Player(Index).YOffset < PIC_Y / 2 * -1) Then Anim = 1 Case DIR_LEFT If (Player(Index).XOffset < PIC_Y / 2) Then Anim = 1 Case DIR_RIGHT If (Player(Index).XOffset < PIC_Y / 2 * -1) Then Anim = 1 End Select Else If Player(Index).AttackTimer + 500 > GetTickCount Then Anim = 2 End If End If ' Check to see if we want to stop making him attack If Player(Index).AttackTimer + 1000 < GetTickCount Then Player(Index).Attacking = 0 Player(Index).AttackTimer = 0 End If rec.Left = (GetPlayerDir(Index) * 3 + Anim) * PIC_X rec.Right = rec.Left + PIC_X x = GetPlayerX(Index) * PIC_X + Player(Index).XOffset y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - 4 ' Check if its out of bounds because of the offset If y < 0 Then y = 0 rec.top = rec.top + (y * -1) End If rec.top = GetPlayerSprite(Index) * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_SpriteSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) If GetPlayerDir(Index) = DIR_UP Then If Player(Index).Shield > 0 Then rec.top = Item(Player(Index).Shield).Pic * 64 + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Weapon > 0 Then rec.top = Item(Player(Index).Weapon).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If End If If Player(Index).Armor > 0 Then rec.top = Item(Player(Index).Armor).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Helmet > 0 Then rec.top = Item(Player(Index).Helmet).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If GetPlayerDir(Index) <> DIR_UP Then If Player(Index).Shield > 0 Then rec.top = Item(Player(Index).Shield).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Weapon > 0 Then rec.top = Item(Player(Index).Weapon).Pic * PIC_Y + PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If End If End Sub Sub BltPlayerTop(ByVal Index As Long) Dim Anim As Byte Dim x As Long, y As Long ' Only used if ever want to switch to blt rather then bltfast With rec_pos .top = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset .Bottom = .top + PIC_Y .Left = GetPlayerX(Index) * PIC_X + Player(Index).XOffset .Right = .Left + PIC_X End With ' Check for animation Anim = 0 If Player(Index).Attacking = 0 Then Select Case GetPlayerDir(Index) Case DIR_UP If (Player(Index).YOffset < PIC_Y / 2) Then Anim = 1 Case DIR_DOWN If (Player(Index).YOffset < PIC_Y / 2 * -1) Then Anim = 1 Case DIR_LEFT If (Player(Index).XOffset < PIC_Y / 2) Then Anim = 1 Case DIR_RIGHT If (Player(Index).XOffset < PIC_Y / 2 * -1) Then Anim = 1 End Select Else If Player(Index).AttackTimer + 500 > GetTickCount Then Anim = 2 End If End If ' Check to see if we want to stop making him attack If Player(Index).AttackTimer + 1000 < GetTickCount Then Player(Index).Attacking = 0 Player(Index).AttackTimer = 0 End If rec.Left = (GetPlayerDir(Index) * 3 + Anim) * PIC_X rec.Right = rec.Left + PIC_X x = GetPlayerX(Index) * PIC_X + Player(Index).XOffset y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - 4 ' Check if its out of bounds because of the offset y = y - 32 If y < 0 And y > -32 Then With rec .top = .top - y y = 0 End With End If rec.top = GetPlayerSprite(Index) * PIC_Y rec.Bottom = rec.top + PIC_Y 'Call DD_BackBuffer.Blt(rec_pos, DD_SpriteSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC) Call DD_BackBuffer.BltFast(x, y, DD_SpriteSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) If GetPlayerDir(Index) = DIR_UP Then If Player(Index).Shield > 0 Then rec.top = Item(Player(Index).Shield).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Weapon > 0 Then rec.top = Item(Player(Index).Weapon).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If End If If Player(Index).Armor > 0 Then rec.top = Item(Player(Index).Armor).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Helmet > 0 Then rec.top = Item(Player(Index).Helmet).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If GetPlayerDir(Index) <> DIR_UP Then If Player(Index).Shield > 0 Then rec.top = Item(Player(Index).Shield).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If If Player(Index).Weapon > 0 Then rec.top = Item(Player(Index).Weapon).Pic * PIC_Y rec.Bottom = rec.top + PIC_Y Call DD_BackBuffer.BltFast(x, y, DD_ItemSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY) End If End If End Sub To Complete Find Call Bltplayer copy all those codes and paste after then change call bltplayer to call bltplayertop then just follow the paperdoll tutorial skipping the bltplayer parts. and There you GO! is this the entire code or is there more and if there is more where is it i have been waiting a long time to see what paper doll does and don't want to add it to elysium |
|
| Author: | Da Undead [ Mon Apr 23, 2007 3:07 am ] |
| Post subject: | |
its not worth ripping from elysium cuz elysium is very UNSTABLE and tons of crap isn't functioned for it in mirage :\ |
|
| Author: | kakashi [ Sun Apr 29, 2007 12:22 am ] |
| Post subject: | |
duh of course elysium diamond is unstable i am actually sticking with it because of the need for debuging but i was making an engine for someone to learn to use elysium out of mirage source and i was not going to rip paperdoll from elysium cause i don't understand it enough to know what i need to use of it and then i can't make my own as i don't do direct x yet to be able to do any of this correctly so i need a bit of code here or i am stuck the main reason i am putting paperdoll in mirage is to see how it works to understand it enough to start making my own paperdoll variations (stuff for emulating jutsu from naruto) to implement in naruto based games |
|
| Author: | Da Undead [ Sun Apr 29, 2007 2:40 am ] |
| Post subject: | |
Yes its real good to start out with because you get a feel of the power :p, and then after few months u get eager to want to redue it and start from beginning with new designs, etc... then u switch to Mirage Source ;D |
|
| Author: | kakashi [ Mon Apr 30, 2007 4:42 am ] |
| Post subject: | |
hey da undead your from elysiumsource.com (wanna know where i hang change .com to .net ) what is good to start off with you lost me around there any way i am just making a good engine to learn from for a friend so he/she can use elysium and help me with my game devoulpment but until he/she loggs on the messanger i can't give him/her the new client i am making but until i upload it after a ton of bug fixes they can't get it any way oh well its just a waiting game for now ( no not the game i am making its an expression i think ) |
|
| Author: | Matt [ Mon Apr 30, 2007 11:42 am ] |
| Post subject: | |
You do know that nobody cares if your friend is male or female, right? Anyways, pay no attention to Undead, he's not that good of a programmer. |
|
| Author: | Da Undead [ Mon Apr 30, 2007 9:07 pm ] |
| Post subject: | |
Thats cuz im cool ;p But im learning :\ |
|
| Author: | kakashi [ Wed May 02, 2007 1:17 am ] |
| Post subject: | |
yeah but is there a full tutorial for this aready ?! you guys get a bit annoying at times you know that i ask a single question and get a bunch of answers that have nothing to to do with the question i thought you all were supposed to be more technicly minded than elysium's community had i asked that question there i would have gotten the answer i was looking for |
|
| Author: | Lea [ Wed May 02, 2007 1:21 am ] |
| Post subject: | |
Kakashi, there are tutorials for both things you ask, just not combined. With a few minutes of thought you could easily combine them into a tutorial for yourself. Your question has been answered, there's no reason for the nasty attitude. |
|
| Author: | kakashi [ Tue May 15, 2007 9:13 am ] |
| Post subject: | |
i have always had a nasty attitude but where are these tutorials you speak of |
|
| Author: | Rian [ Tue May 15, 2007 4:28 pm ] |
| Post subject: | |
The same process works for paperdoll. If you can't find it, we don't have it. |
|
| Author: | Da Undead [ Wed May 16, 2007 3:02 am ] |
| Post subject: | |
lol very nicely put, can't believe u went through that much trouble to get ur point tho.. Should of just linked em xD. |
|
| Author: | Tony [ Wed May 16, 2007 5:01 pm ] |
| Post subject: | |
Da Undead wrote: lol very nicely put, can't believe u went through that much trouble to get ur point tho.. Should of just linked em xD.
Nah, it shows how pissed he is on how people won't use the search button. |
|
| Page 1 of 2 | All times are UTC |
| Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |
|