I know very little vb this is not my engine, it was made by someone else, I am just having trouble with it. And i was wondering if you guys might know the solution.
I was thinking it was because i Have directx 10 but Eclipse http://www.freemmorpgmaker.com/index.php It is based from the same source as Chaos Engine, but Eclipse runs just fine on my computer
I think we need aother Vista user willing to try out the Chaos engine and report on their findings. Was anyone on the Chaos discussion board reporting success on Vista. I noticed that a Directx7 library had to be installed (included with zip) to run did you do that?
Getting back to the surface description DDSD. I assume that your replacing their graphics as they suggested. You should make sure that your graphics are the same dimension (height, width) and bit depth (24 bits?) as the ones you're replacing. This is probably defined in the surface description for DSDD.
DirectX7 doesn't load anyting but bmp and ppm files. (I use API routines to load jpg's into my stuff.) I believe DirectX 8 handles png but they're using 7. So make sure you use the same format also.
If I wrong someone jump in and correct me.
Last edited by technorobbo; Feb 11th, 2009 at 02:30 PM.
That means all the routines are working up until 1/2 the initsurfaces routine.
Try compiling the code below and copying the exe into the GFX directory. Run it. Test all the graphics files by clicking their names in the listbox.
Did you try adding doevents? Their is an awful lot of graphics loaded by that point in the routines, check your memory resources just in case.
That RTE 5 is being called a nuisance error in the forum, thats why I think it may be a timing issue so add the doevents - the routine is called alot and possibly the queue hasn't caught up.
Though this post ultimately may apply the next post is more accurte to this problem!!!!!!
It does seem that the problem is in zlib.dll, that's what the program was testing, - you either have a version that's Vista incompatible , the wrong verion or not loaded at all. Zlib.dll's website makes no mention of Vista only XP and earlier - this may be important because Vista, as I know it, is 64bit and the zlib.dll maybe 32bit only!
I tried googling for an official announcement of incompatibility but couldn't find one - perhaps a vbforum member can chime in on this one.
The good news is that we can convert gfx files on xp to bmp of jpeg for loading. let me work out an xp decomperror and I'll upload it.
Last edited by technorobbo; Feb 15th, 2009 at 11:54 AM.
Looking more closely at the code it seems that zlib.dll is not employed with the current syntax, but the api RtlDecompressBuffer is. That's part of the ntdll.dll possibly switching to zlib could work.
in the module called modDirectX find the
Code:
Call .DecompressByteData
in the InitSurface sub
rem it out (apostrophe in front)
immediately after it insert this
Code:
.DecompressByteData_ZLib
zlib may or may not be in Vista, the program will tell you - if it doesn't work, switch back - delete the new line and removeapostrophe in front.
Alternate Solution :Recompile this code in xp machine.
Conversion to bmp:
As you click on the file they will be converted to bmp's in the same directory. Files are big!!!
copy these bmp files to your Vista machine. Now, in the Vista machine, in the modDirectX module rem out this code in the InitSurface routine:
Code:
With BMU
Call .LoadByteData(filename)
Call .DecryptByteData(StrPW)
Call .DecompressByteData 'If you want to use zlib, you can change this to .DecompressByteData_ZLib
End With
Dude what can i say You Are The Man!! It works perfectly, can you join my team and help me with this project? I would greatly appreciate it. You have very good skills with vb, and this engine has a lot of bugs than need to be resolved. I can't thank you enough for helping me with this, I did a back flip when i seen it start .
hey technorobbo can you help me with one more thing i have a small bug that when you are in the game and you go all the way to the right of the map, and then you go back left the players head moves, can you please help me with this bug, i been trying to figure it out for 1 week now.
The player head is drawn speratly you can check the code under
in the mogGameLogic module BltPlayerTop routine
change:
Code:
If x > MAX_MAPX * 32 Then
x = MAX_MAPX * 32 + sx - ((SIZE_X - PIC_X) / 2) + Player(Index).XOffset
If GetPlayerDir(Index) = DIR_LEFT And Player(Index).MovingH > 0 Then
rec.Right = rec.Right + Player(Index).XOffset
Else
rec.Right = rec.Right + Player(Index).XOffset - ((SIZE_X - PIC_X) / 2)
End If
End If
to
Code:
If x > MAX_MAPX * 33 Then
x = MAX_MAPX * 32 + sx - ((SIZE_X - PIC_X) / 2) + Player(Index).XOffset
If GetPlayerDir(Index) = DIR_LEFT And Player(Index).MovingH > 0 Then
rec.Right = rec.Right + Player(Index).XOffset
Else
rec.Right = rec.Right + Player(Index).XOffset - ((SIZE_X - PIC_X) / 2)
End If
End If
Oh yea works big time thank you. Do you think that is possible to warp the player faster from one map to another? because when i step on a warp it just stays there and i have to type in /refresh to refresh the map so it warps the player.
ok when you start the server, open the client and make a new account if there isn't one already saved.
login into the game.
now when you are in the game go to your server that you opened, go to player tab click on your player name and hit set access button
make your access to 4
ok that makes you the GM in the game, then go it the game and hit F3
it will open a admin panel in admin pannel click the button map editor
in map editor click the button with the slider buttons on it when you move your mouse over it it will say map properties.
In map properties in the general tab where is says north south east west put all of them to 2.
then hit the ok button and the save it by clicking on the floppy disk button in map editor.
Once it saved go all the way right or up you can do this in any direction and at the end of the map it will warp you to map 2. in the corner it will say receiving map.. if it does that type in the chat /refresh and it will unfreeze the map and you will see how it works.
May have to set up a new timer to auto refresh if the client hasn't received the "MAPDONE" token from the server. Start the timer when the map change is sent and shut it off when the "MAPDONE" is received if it times out send the "/refresh". I'm suprised the game doesn't do that already.
I think I got your fix. In the Form called frmMirage add a 7th timer (there are 6 already) and call it MapTracker. Make sure it's enabled property is true an the interval is 1000 (1 second).
double click on the timer and add this code:
Code:
Private Sub MapTracker_Timer()
If GettingMap And IsConnected Then
MapTracker.Tag = MapTracker.Tag + 1
If MapTracker.Tag = 15 Then
Socket.SendData "refresh" & SEP_CHAR & END_CHAR
MapTracker.Tag = 0
End If
Else
MapTracker.Tag = 0
End If
End Sub
If the Winsock is connected and a Map is pending it will send a refresh after 15 seconds. If the map arrives it resets.
Last edited by technorobbo; Feb 28th, 2009 at 12:45 AM.
you my man are nothing but pure genius, It seems the more i play around with this engine the more bugs i find, but I think i have gotten almost all of them fixed thanks to you. I just have two more huge bugs that i need to fix and then i can start working on the game .
There is a thing where in the game you can target stuff other monsters, you can also target yourself by just left clicking on yourself. But when you go into map editor and you exit the map editor by hitting the exit button or by saving, you cannot target yourself or anyone else anymore, any idea why might that happen.