NextEraGaming Posted December 30, 2010 Author Share Posted December 30, 2010 Yo. When I try to use 32x32 sprites, I get a strip of nonsensical graphic gibberish as shown below:[![](http://www.freemmorpgmaker.com/files/imagehost/pics/782259c3dce5499a359315cfe80304f2.png)](http://www.freemmorpgmaker.com/files/imagehost/#782259c3dce5499a359315cfe80304f2.png) Link to comment Share on other sites More sharing options...
cam13619 Posted December 30, 2010 Share Posted December 30, 2010 I'm in the screenshot :DAs for the bug, yeah, I would say unless you cut your sprites wrong then its a bug.EDIT: Oh? EO changed from x-x-x-x-x-x-x-x-x-x-x-x to the grid? I didnt relise that. So yes, your sprites are cut wrong. Link to comment Share on other sites More sharing options...
Robin Posted December 30, 2010 Share Posted December 30, 2010 Just looks like you're using the wrong character sprite sheet layout. Link to comment Share on other sites More sharing options...
Aydan Posted December 30, 2010 Share Posted December 30, 2010 keep in mind that the new version uses RMXP sprite format which is now:4 x 4* * * ** * * ** * * ** * * *rather than the older methods of:* * * * * * * * * Link to comment Share on other sites More sharing options...
NextEraGaming Posted December 30, 2010 Author Share Posted December 30, 2010 So is there a sort of reverse-converter? Or would I have to do it manually Link to comment Share on other sites More sharing options...
Aydan Posted December 30, 2010 Share Posted December 30, 2010 nope. just look online. from what I see it looks like the breeze sprites. in which case they were originally made in the RMXP format so just google for them. Link to comment Share on other sites More sharing options...
Robin Posted December 30, 2010 Share Posted December 30, 2010 RMVX by the looks of things. Link to comment Share on other sites More sharing options...
NextEraGaming Posted December 30, 2010 Author Share Posted December 30, 2010 Is there a way I can change it back without extensive code modifications? Link to comment Share on other sites More sharing options...
Robin Posted December 30, 2010 Share Posted December 30, 2010 Extensive? It's just the layout part of BltPlayer and BltNpc. 5minutes, tops. Link to comment Share on other sites More sharing options...
NextEraGaming Posted December 30, 2010 Author Share Posted December 30, 2010 Robin, if I mess up you owe me a free copy of Wind's Nocturne XD Link to comment Share on other sites More sharing options...
Robin Posted December 30, 2010 Share Posted December 30, 2010 @[NEG:> Deity link=topic=67418.msg727610#msg727610 date=1293738020]> Robin, if I mess up you owe me a free copy of Wind's NocturneYour ignorance is your own problem, not mine. If you honestly struggle noticing the difference between two pieces of text and fixing the new one to match the old one then you lack the basic pattern recognition skills required to be a programmer. Link to comment Share on other sites More sharing options...
NextEraGaming Posted December 30, 2010 Author Share Posted December 30, 2010 Whoa dude it was a joke. I meant no offense to you or your program, Robin. Sorry for the dry humor, was just poking fun at you. Link to comment Share on other sites More sharing options...
Robin Posted December 30, 2010 Share Posted December 30, 2010 @[NEG:> Deity link=topic=67418.msg727625#msg727625 date=1293738875]> Whoa dude it was a joke.So was mine. ;] Link to comment Share on other sites More sharing options...
NextEraGaming Posted December 30, 2010 Author Share Posted December 30, 2010 Aight I edited the software to read the sprites correctly, but the movement is still reding s if it were still in RMXP format(four animations insted of three)Here is my BltPlayer(which is almost identical to my BltNPC):```Public Sub BltPlayer(ByVal Index As Long)Dim Anim As Byte, i As Long, X As Long, y As LongDim Sprite As Long, spriteleft As LongDim rec As DxVBLib.RECTDim attackspeed As Long ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler Sprite = GetPlayerSprite(Index) If Sprite < 1 Or Sprite > NumCharacters Then Exit Sub CharacterTimer(Sprite) = GetTickCount + SurfaceTimerMax If DDS_Character(Sprite) Is Nothing Then Call InitDDSurf("characters\" & Sprite, DDSD_Character(Sprite), DDS_Character(Sprite)) End If ' speed from weapon If GetPlayerEquipment(Index, Weapon) > 0 Then attackspeed = Item(GetPlayerEquipment(Index, Weapon)).Speed Else attackspeed = 1000 End If ' Reset frame If Player(Index).Step = 3 Then Anim = 0 ElseIf Player(Index).Step = 1 Then Anim = 2 End If ' Check for attacking animation If Player(Index).AttackTimer + (attackspeed / 2) > GetTickCount Then If Player(Index).Attacking = 1 Then Anim = 3 End If Else ' If not attacking, walk normally Select Case GetPlayerDir(Index) Case DIR_UP If (Player(Index).YOffset > 8) Then Anim = Player(Index).Step Case DIR_DOWN If (Player(Index).YOffset < -8) Then Anim = Player(Index).Step Case DIR_LEFT If (Player(Index).XOffset > 8) Then Anim = Player(Index).Step Case DIR_RIGHT If (Player(Index).XOffset < -8) Then Anim = Player(Index).Step End Select End If ' Check to see if we want to stop making him attack With Player(Index) If .AttackTimer + attackspeed < GetTickCount Then .Attacking = 0 .AttackTimer = 0 End If End With ' Set the left Select Case GetPlayerDir(Index) Case DIR_UP spriteleft = 0 Case DIR_RIGHT spriteleft = 3 Case DIR_DOWN spriteleft = 1 Case DIR_LEFT spriteleft = 2 End Select With rec .top = 0 .Bottom = DDSD_Character(Sprite).lHeight .left = (spriteleft * 3 + Anim) * (DDSD_Character(Sprite).lWidth / 12) .Right = .left + (DDSD_Character(Sprite).lWidth / 12) End With ' Calculate the X X = GetPlayerX(Index) * PIC_X + Player(Index).XOffset - ((DDSD_Character(Sprite).lWidth / 12 - 32) / 2) ' Is the player's height more than 32..? If (DDSD_Character(Sprite).lHeight) > 32 Then ' Create a 32 pixel offset for larger sprites y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - ((DDSD_Character(Sprite).lHeight) - 32) Else ' Proceed as normal y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset End If ' render the actual sprite Call BltSprite(Sprite, X, y, rec) ' check for paperdolling For i = 1 To Equipment.Equipment_Count - 1 If GetPlayerEquipment(Index, i) > 0 Then If Item(GetPlayerEquipment(Index, i)).Paperdoll > 0 Then Call BltPaperdoll(X, y, Item(GetPlayerEquipment(Index, i)).Paperdoll, Anim, spriteleft) End If End If Next ' Error handler Exit Suberrorhandler: HandleError "BltPlayer", "modDirectDraw7", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit SubEnd SubPublic Sub BltNpc(ByVal MapNpcNum As Long)Dim Anim As Byte, i As Long, X As Long, y As Long, Sprite As Long, spriteleft As LongDim rec As DxVBLib.RECTDim attackspeed As Long ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If MapNpc(MapNpcNum).num = 0 Then Exit Sub ' no npc set Sprite = Npc(MapNpc(MapNpcNum).num).Sprite If Sprite < 1 Or Sprite > NumCharacters Then Exit Sub CharacterTimer(Sprite) = GetTickCount + SurfaceTimerMax If DDS_Character(Sprite) Is Nothing Then Call InitDDSurf("characters\" & Sprite, DDSD_Character(Sprite), DDS_Character(Sprite)) End If attackspeed = 1000 ' Reset frame Anim = 0 ' Check for attacking animation If MapNpc(MapNpcNum).AttackTimer + (attackspeed / 2) > GetTickCount Then If MapNpc(MapNpcNum).Attacking = 1 Then Anim = 3 End If Else ' If not attacking, walk normally Select Case MapNpc(MapNpcNum).Dir Case DIR_UP If (MapNpc(MapNpcNum).YOffset > 8) Then Anim = MapNpc(MapNpcNum).Step Case DIR_DOWN If (MapNpc(MapNpcNum).YOffset < -8) Then Anim = MapNpc(MapNpcNum).Step Case DIR_LEFT If (MapNpc(MapNpcNum).XOffset > 8) Then Anim = MapNpc(MapNpcNum).Step Case DIR_RIGHT If (MapNpc(MapNpcNum).XOffset < -8) Then Anim = MapNpc(MapNpcNum).Step End Select End If ' Check to see if we want to stop making him attack With MapNpc(MapNpcNum) If .AttackTimer + attackspeed < GetTickCount Then .Attacking = 0 .AttackTimer = 0 End If End With ' Set the left Select Case MapNpc(MapNpcNum).Dir Case DIR_UP spriteleft = 0 Case DIR_RIGHT spriteleft = 3 Case DIR_DOWN spriteleft = 1 Case DIR_LEFT spriteleft = 2 End Select With rec .top = 0 .Bottom = DDSD_Character(Sprite).lHeight .left = (spriteleft * 3 + Anim) * (DDSD_Character(Sprite).lWidth / 12) .Right = .left + (DDSD_Character(Sprite).lWidth / 12) End With ' Calculate the X X = MapNpc(MapNpcNum).X * PIC_X + MapNpc(MapNpcNum).XOffset - ((DDSD_Character(Sprite).lWidth / 12 - 32) / 2) ' Is the player's height more than 32..? If (DDSD_Character(Sprite).lHeight) > 32 Then ' Create a 32 pixel offset for larger sprites y = MapNpc(MapNpcNum).y * PIC_Y + MapNpc(MapNpcNum).YOffset - ((DDSD_Character(Sprite).lHeight) - 32) Else ' Proceed as normal y = MapNpc(MapNpcNum).y * PIC_Y + MapNpc(MapNpcNum).YOffset End If Call BltSprite(Sprite, X, y, rec) ' Error handler Exit Suberrorhandler: HandleError "BltNpc", "modDirectDraw7", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit SubEnd Sub``` Link to comment Share on other sites More sharing options...
NextEraGaming Posted January 2, 2011 Author Share Posted January 2, 2011 Anyone? I'm really stuck on this problem…been at it for days due to my obvious programming illiteracy T_T Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now