x64 problem is solved, download link in first post is updated (ds_1.0.2_x86.zip)
Solution, info for programmers using my source code:
At first DigitalSpeedo.exe was compiled with "Any CPU" option, so on x86 it was 32bit, and on x64 it was 64bit. d3d8.dll is always 32bit, so 64bit process can't load it, that's all (and it took me over a year to realize that :doh
So to make them work, U have to recompile DigitalSpeedo.exe for x86 platform (VS Express 2008 help link: http://social.msdn.microsoft.c ... 1-4ead-96a1-78bbd9ba6d3a/)
not sure if it was reported already
there is bug in 1.1.1.4, button text is limited to 64 chars (it should allow 240), sending longer text throws exception (method Send_BTN_CreateButton)
cause thats more operations program has to make
1. loop through Players list to get UCID
2. loop through Connections list to get clsConnection object
if U store PLID in clsConnection U can skip step 1 (and remember that U have to handle MCI event few times per second)
ok, U have powerful PC, it will do job anyway, but still
also tell me, how many times U use only clsPlayer?
i bet in most cases U use clsConnection also, so isnt it better to have only one class representing player?
im not so sure about it. loop through connections list inside of player list loop is not readable and easier IMO
i prefer to store PLID in clsConnection and get whole player object with one method instead of looking for it in 2 lists
sure, of course its better to save speed and position on MCI event so U can have it in any point of code, i just dont see advances
in storing this info in 2 classes
basicly U have to loop through MCI.Info array instead of Players list
BTW U dont really need clsPlayer class, it only makes code more complicated.
check modded version (link 2), it stores all info in clsConnection
handle NCN_Received event, struct IS_NCN has field Flags, bit 2 tells U if its local or remote connection. if its local, store UCID in some global variable, then use it for button send
but 255 should work, are U sure rest of code is proper?
sure, of course Your program must know address, port and admin password
edit:
sorry, didnt get Ya, thought U asked for using insim with remote dedi server
InSim doesnt have to be static if its declared in MainForm (Form1?)
vane, if U want to send button to just one connection, then i suppose U need some control containing all players. ListBox maybe?
ListBox.Items is typeof ObjectCollection, so U can make custom item class:
public class ListBoxItem { private string _name; private ushort _id;
Digital Speedo - not a lib, but does all U need, it collects OG data and sends it to dll displaying it on screen
U would have to modify source code to redirect data to Your output
i found info in some thread (LfsRelax i think), that recompiling under x64 system solves problem
dll's source code is available (dg_d3d8 project), VC++ Express is also free to download...
im not planning pc upgrade soon, so dont count on me here, sorry :/
does Lfs External have transfer meter and packets queueing functionality? (didnt find it in docs)
we are developing cruise system (based on dougie-lampkin's code, thx dougie :-), and we have lags when broadcasting multiple messages (our insim server has weak upload :\)
first we need transfer meter, so we could diagnose and improve our code.
and i think we also need some packets queueing, so we could decrease PPS and match to our poor connection
do U think, U could add this functionality for us, or pass me source code so i could add it myself?
misiek08 asked me to share source code of Digital Speedo (it uses d3d8 proxy dll to display data)
ill post it when i get home, check this thread tonight: http://www.lfsforum.net/showthread.php?t=44054