Jump to content
Eternal Lands Official Forums

Grum

Members
  • Content count

    2695
  • Joined

  • Last visited

About Grum

  • Rank
    Phantom Warrior

Profile Information

  • Location
    Lost in the quartz mine -- again
  1. Well, drats. That is most unfortunate, as after the patch I seem to be unable to trigger the issue again. And also, I'm clean out of ideas (unless the position of the light also does something crazy). If you find time though, could you double check on the Pi that the light color values are now all between 0 and 1? Perhaps there's an FP issue somewhere leading to negative or NaN values? Dunno, grasping at straws here. W.r.t. cleaning up the lights code: my preferred method would be to use a proper shader and ditch the fixed mode lighting altogether. That might be a bit of work, though..
  2. It looks like invalid light color values (> 1) in the eye candy effects may be the root cause of the screen blacking on certain systems. I have checked in a patch on Github to fix this issue. I am not 100% sure this fixes the issue, as I am not always able to trigger the bug. Some session it triggers on the first TPTR, other times I cannot trigger it at all. I can confirm though, that with the fix I made, I have so far not been able to trigger it at all anymore. If people who experience the screen blackening, and who are able to compile their own client, could test the fix, this would be much appreciated.
  3. It probably is related to OpenGL lighting. I managed to trigger the blackout on an old laptop (AMD graphics) by repeatedly ramming on TP to R in the eye candy debug window in the DP cave on the test server. Patching the code to not use lights in the eye candy effects: diff --git a/eye_candy/eye_candy.cpp b/eye_candy/eye_candy.cpp index d30c3267..0a1f01ca 100644 --- a/eye_candy/eye_candy.cpp +++ b/eye_candy/eye_candy.cpp @@ -1987,7 +1987,7 @@ namespace ec end_draw(); // Draw lights. - if ((use_lights) && (particles.size() > 0)) + if (false && (use_lights) && (particles.size() > 0)) { while (light_particles.size() < lights.size()) light_particles.push_back(std::pair<Particle*, float>(particles[randint((int)particles.size())], 0.0)); fixes hides the issue. I still haven't found out why it blacks out though. AFAICT, the eye candy code uses at most 3 lights (out of a maximum of 8), and these are used by the EC code only.
  4. In day light? If, as I suspect, it is a lighting issue, I would expect it to only occur on inside maps, or in night time.
  5. Great news! I might have to get a second Pi. (the first is tied up as a home theater system). Might something be overwriting the global lighting level? What variables control this? Then again, the level goes back to normal. I'll do some digging.
  6. It is likely. My gut feeling is that these issues are somehow caused by the eye candy effects, but I have read the code over a few times and have found nothing that stands out. From what I read in this thread, it also seems to build up somehow, with black screens becoming more common with more effects, actors, clients being involved. This hints at a memory corruption or other resource issue. Then again, my gut might be totally wrong in this, I don't know. It would help if I could somehow replicate it, but so far I have not been able to. Using integrated Intel graphics on Linux btw: Video card: Mesa Intel(R) HD Graphics 530 (SKL GT2) Vendor ID: Intel OpenGL Version: 4.6 (Compatibility Profile) Mesa 21.2.1
  7. Well, shoot. Looks like you're not the only one (see e.g here or here). Looks like the client might be loading the system openssl library instead of the one bundled with the client. I'll see if I can fix this. Edit: as a reminder for myself, or if anyone else wanting to take a stab at fixing this, here's how the openssl team recommends working around it: https://wiki.openssl.org/index.php/Android#Wrapper_Shared_Objects
  8. That in itself is useful information, thanks. And that too. So it happens not just when you cast it yourself, also when someone else does. What graphics card are you using? (#glinfo can tell you in game)
  9. Bigger Buddy List

    Not until monsters get unique IDs
  10. Bigger Buddy List

    IIRC, much less than 100. Support for more buddies would probably have to be added on the server side first.
  11. Crashing during combat

    I have no solution to give, but more details might help us find one. You mention combat, is it only when fighting other players, or also when fighting creatures? Does it happen in the middle of a fight, or when one of the combatants dies? Single combat or multiple? Is magic used? Any information you can give us could help us find the cause of the crash.
  12. New client update available 1.9.5.p9

    Looks like there might be some memory corruption going on, but I'm not sure what would be causing it, and the eye candy code is somewhat convoluted. There *might* be a problem as the "owner" of a special effect is not reset when an actor disappears, but I do not see how this would be triggered. I'll try to dig a bit further.
  13. Alright, it seems tempers may have risen a bit too much, and people may have read too much in what was actually written. I am not in charge of the server, only radu (a.k.a. entropy) is. But I will tell you that it is extremely unlikely that he will grant you access to the server source code. There are reasons for that, that you, I, or anybody may agree or disagree with, but that is entirely irrelevant as this is Radu's code and he gets to decide with whom he wants to share it. In addition to that, from your posts I get the feeling that neither you nor the rest of your team are ready to handle programming the server yet. Bear in mind that a mistake in the server affects *everyone* in the game, and such mistakes can be costly. A mistake in the client code can be annoying,but it does not make you lose your achievements in the game. A server bug can. Or it can wipe out the stats of everyone that logged in in the last week. Or send links to funny cat pictures to everyone in the game at random intervals. You get the picture. Sure, you might be able to learn from studying the server code. But the decision on whether to open the source code for the server is not ours to make, and quite frankly, from what I have seen so far, were I to be responsible for the server, I would not accept a patch from your team without *extensive* study on whether it is correct. I do appreciate your efforts to make this game better, and I am happy you are not turning your back on the game. By all means, if you find a server bug, report it in the forums. But if you expect to be able to solve those kinds of bugs yourself, you will be disappointed.
  14. C++ version?

    Strictly speaking, that is true, but it would be impractical to run to Radu for every change one wishes to make. Stick to benign changes, don't add cheats or things to "simplify" game play (macros, autowalk to coordinates, etc.), don't overload the server, and you'll be fine. As for project ideas, I have some, but unfortunately those would require a good graps of C++ and OpenGL. As it seems you are learning as you go, I would propose that you study the client source code to get a feel for how it is organised, perhaps make some little changes (change UI colors, something else stupid but harmless), to see if you can get it to work. See if you understand the format of a map file, and how its pieces are drawn (there's a lot of rendering code to wade through, but in essence the map format is pretty simple). Have a look at the issues, see if you can fix one, and create a pull request. E.g. #128 looks like an issue that should not be to difficult to resolve. I read you have some expertise with HTML in your team. One thing that would be nice to have is a good looking mobile version of the game's homepage. I am not sure who you would have to contact for that, I presume Radu, but I may be wrong. Perhaps someone more familiar with the website could chime in?
×