It's the ideal tool to check how insim packets flow so you can understand not only how packets arrive but also it helps you understand the contents of those packets.
But that doesn't mean that people can cut the chicane, right? I would put hay bales during pre-qualy and maybe take them out for the race. During pre-qualy I guess there's not so much trouble with it.
Everything is provided within the file, both the pthreads library and the dll (I checked the license terms and I think I can provide the dll as long as I provide all the code of my project).
I don't remember very well, but this was a bit tricky. I think you have to link the project to the '.a' file (the library), and then have the dll file in the same dir as the executable generated. I mean, even if you link to the library during compilation and everything looks fine, you need to have the dll to launch the application. I tried many things and I went through many forums and nobody seemed to have the answer as to how to link the pthreads library statically to the project so you don't need the dll afterwards using code::blocks.
Remember: link project to "libpthreadGC2.a" and then place "pthreadGC2.dll" in the same directory as the binary executable. If you use code::blocks the executables are generated in folders named "release" or "debug". You can't launch the application from there unless you copy the dll to those folders.
Anyway, in the bin/release folder of the zip file you can find an executable which you can copy to the directory where the pthreads dll is and you can run it directly, no need to compile it if you just want to test it.
@blackbird04217:
I know that there's a lot of stuff missing or that could be improved in this app. But I don't know exactly the purpose of doing what you say. What is wrong?
I guess one of the main things to improve would be to detect the kind of session (multiplayer/single player), and connection to either client/host to make some things better. Right now it's designed as server oriented, and you if you connect it to your client it won't work, or work badly.
I don't use any of those. Actually, after configuring Aonio to look nice to me I decided not to use it because after 4 or 5 races I realized that I hadn't even glanced at any of the panels available, it's a lot of info that I don't need. For me, the cleaner the screen the better.
But, the one info that I want to know is my position in *my* race, I mean, the cars on my own class. This is important only in a multiclass server, and Airio works with classes, so I don't think it's a silly thing. When you play in a crowded multiclass server in the lowest class, you are usually in positions 12th-25th but don't know what is your actual position within your class, and you don't give a damn about faster cars because they're in a different race.
Another suggestion totally unrelated to the previous one. It could be useful to add a race position indicator relative to your car class. When there are several classes of cars in a race add something that tells you your position based only on cars of your same class. This way you can easily know where you stand within the TBO class for example, not taking slower or faster cars intro consideration.
I'll stop flooding with suggestions for some days now
About yellow flags. I've always thought it's quite controversial the point that causing yellow flags is an indicator of clean/dirty racing. I could write a lot about it. In any way causing yellow flags means that you are a bad driver. Yellow flags are caused by many events, and many of them have nothing to do with being a dirty/unsafe driver. Examples: someone crashing into you, getting back to track safely after someone crashes into you, exiting pits safely when there are people passing by, braking to avoid on-track debris/hay bales/tyres/accidented cars (which is actually the right behaviour), etc.
Maybe penalty points should be given by other events, like receiving in-game penalties (DT, SG, +35, +45) and other factors.
About overtaking, I've seen your Aonio radar so I know that you can pull off that stuff My first simple idea:
When two cars are within a certain "overtake chance" distance (can be measured using coordinates or nodes, or maybe both of them), the insim starts tracking their relative positions.
When they get distant further than the overtake chance distance the insim checks if the one who was behind has passed the one who was in front (overtake), or the one in front managed to pull away.
There's an established "safe thresold" measured in meters. If during all the time both cars were within the overtake chance distance the cars were closer than the thresold the insim decides it was dangerous and does nothing, but if all the time they were over that limit then the insim decides it was a safe overtake.
Additional checks of nodes the cars are in, relative difference of speed, and direction the cars are facing might be necessary.
About positive points: every time that I don't complete a whole race is because someone took me out and I had too much damage to drive back to pits safely (not my fault). And getting fast laps isn't that much of an indicator of clean racing, but fast racing. A lot of fast racers will crash into you to overtake you.
About negative safety rating points. Swearing and excessive spam is OK, but causing yellow flags... a lot of times you can cause yellow flags and it won't be your fault. I dare to say that you can be a very clean racer and cause a lot of yellow flags if other agressive drivers keep hitting you and you lose control of your car. In fact, that driver who hit you will probably not cause a yellow flag himself if he doesn't lose much speed in the contact, and won't be awarded any negative points.
I think you know what I mean, I can hit people intentionally in every corner and I won't be causing any yellow flags, but they will if they end up rolling, spinning, etc. So they will get the negative rating points and I won't.
Adding all up, if someone hits you hard in the first lap of a race you will cause a yellow flag and probably you will have to retire and go to pits or spectate, thus also losing positive points because you didn't complete any laps and of course didn't complete the race. If the agressor is not kicked or banned instantly he will receive all those points (and won't receive the negative ones for the yellow flag). How is this fair?
Anyway, my post was about the possibility of implementing an overtake analyser. I think that via insim you can detect collisions that cause damage to the car, but not light collisions. If it can be done you could also add a side by side detector to it. It would detect when two cars (or more) are side by side and they don't make contact. Add side by side detection to overtake analyser and you have a very cool feature and a very nice way to determine clean and good racing.
Think of this: two cars go side by side in a straight, they have a braking contest and they take a corner close to each other without making contact and the chat announces in green "coolguy & cleanracer side by side: 3.4s; nice overtake by cleanracer". You could this too with collisions that end with one car out. The point is that people like to see their names in a chat line that says they are cool and can overtake cleanly, so they would put more effort into doing it right.
EQW, I have a suggestion. I have been racing in the IHR server lately and I can't get a good rating no matter what I do. It's always packed with people, and it seems impossible to avoid people hitting you or sometimes not hitting the guys that just formed a massacre in front of you. I think that all that is taken into account for calculating ratings, even when it's not your fault at all.
Anyway, thinking about that and how you love to code things I've thought that you could add to Airio a "clean overtake" detector. When a car overtakes another car for position, they both have similar speeds, and there's no contact between them, then Airio detects that it's a clean overtake. That could be chat-announced, logged to stats or whatever. And maybe both guys could get rating points for clean racing.
Is it even possible? Maybe there's not a sure way to detect light collisions with insim, I don't remember. I think it would be cool to have something like tha, although maybe it's a little too hard to code.
I tried Aonio yesterday for a while and have some things to report.
First of all, if you have ever created a non-dedi server to play with some friends or to fool around or anything, you have to remove those passwords or add them to the Aonio file. It took me a while to find that info in this thread, so maybe you should point that out more clearly in the installation/usage instructions. I was rather bothered by Aonio not running at all with the TCP error message, when actually it was not a TCP error. Maybe you should fix that too, as that message is misleading both on the console and in the log file.
Second, when I connected to a server and finally launched Aonio, most of the panels were overriding info provided by the LFS OSD. It was a total mess having the racers' positions in the same place as connections list and racers positions by LFS. Ans also in the top-right corner the track and server info also goes in the same place as lap times by LFS. Also, if you use custom view, some panels get in the way of the virtual dashboard and other buttons/panels.
All in all, after a short while I had to quit Aonio because it looked awful. If I have time today I'll try to configure it a little to move/remove some panels, and to tweak LFS original OSD. I don't like removing LFS original panels -I guess it can be done, don't know where-, so maybe the default arrangement of Aonio panels after a fresh install should be different?
I can't help about Sony Vegas, but basic things like custom cameras and such are covered on the "how to make movies" post. That's why I tell you to have a look there because some of the basic things that your movie lacks are there, it's a very good starting point. Keep it up
Too much time without any car on cam, the drifting wasn't very good (pick better replays/scenes next time) and try to add some more editing and music sync. Just... go take a look at the movie making tutorial in this same subforum, because you're lacking the very basics, which are covered there
I coulnd't make it to yesterday's race, but I would really like to check the replays of qualy and both races to make an impression about how the racing and level were to know what I'll find in the first official race. Can anyone upload the mpr's please?
First of all, sorry for leaving this thread totally unassisted. I haven't been programming anything at all in the last year. Totally by chance I ended here and I find a discussion going on in the last days.
The thing about defining the text size in buttons struct is what has already been said. That line is commented in the original insim.txt file and there's an explanation that it can have a variable size up to 240 bytes, thus I didn't understand how a struct could have a member with a variable size. So, I chose 112 in my lib, but it can be changed of course to 240. I always send packets of the same size, or at least that's what I think
I'm not a good programmer so I didn't understand very well how to overcome this so I could send packets with variable text lengths, saving bandwith when the text is short.
What blackbird says makes sense. I don't know right now what changes should be done to the code to allow this. I don't think I'll have time nor feel like having a look at it anytime soon. Also I think that there have been newer updates to insim which I'm not sure if they affect this library.
You should change the "All Races starts at 19 GMT" from green to another colour with more contrast. I was looking for that info and didn't see that the first time I entered this thread
I was about to post this too. It was already happening to me a week ago. Last weekend I tried to rate some threads in the movies subforum and I couldn't. It's still happening now.
Firefox 3.6 is out and it has this new "Personas" thing which are themes that can be changed easily. Anyone with skills up to do a LFS based theme? Of course it should be approved by the devs before submitting it as it would contain original artwork by Scavier, though I doubt there would be any problem with that
Guys no need to drag this any further. The point was that there were two incorrect download links. It has already been fixed, those mirrors are gone now, so it's all good
A couple of days ago I wanted to install LFS on my new netbook. On the main downloads page I clicked on a random mirror and it was linked to a Z25 patch zip, which I knew wasn't the latest version. I have checked all mirrors and found these two are wrong:
Serbia: Mirror 9, hosted by Serbian Racing Team. File linked is an older LFS S2 Z25 zip file, not the Z28 installer.
US: Mirror 12, hosted by http://jdhost.org/. Broken link as of right now (should probably be checked again in a while).
The rest are OK. At least the Serbian one should be fixed so no one downloads an older version by mistake.
I don't know about this. We have a 0.5Z13 dedicated host running that started complaining about that "host didn't receive UDP packet" starting last wednesday. Maybe something happened prior to that day that changed something. I don't know if we used the server on the couple of days before that wednesdey, but since that day we can't join our server and I have to set my own dedicated server. I am pretty sure that nothing has changed on the host side and that this may have something to do with the latest client side patches. Of course, I may be wrong.
I haven't been able to contact our host guy lately to update it to the latest version, maybe that would fix it.
EDIT: I forgot to add that we had been using that server during the last weeks without any problem. My last race on that server was on november 12th.