Jump to content


WFG Programming Team
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by vladislavbelov

  1. It's solvable, just enable the skybox for screenshots
  2. The simplest approach is to render the skybox only for cinematics (sky reflection in water will present in both cases).
  3. I doubt it will help. The skybox is attached to the camera.
  4. DXT uses BC or it's an alias for BC (as well as S3TC). We can't AFAICS. ARB_texture_compression_bptc is supported only by ~83% of players: https://feedback.wildfiregames.com/results/gl/extensions/. Currently we don't use them for some meaningful reason. But we could. Usually a converter is written for different kinds of images. So we could use some custom algorithm for a specific texture to have less artifacts.
  5. I haven't chosen a final solution for 0ad, temporarily you could use Compressonator. But any different (from nvtt) solution requires a noticeable amount of code to integrate into 0ad.
  6. I don't think it'll look good. I see at least 3 possible solutions: Make water more transparent on all maps where the fish is invisible. It doesn't require engine changes, but the water won't look real for some maps (not so much dirt/mud as it should have). Make the fish selection ring visible always but more transparent than usual color. Add a semi-transparent fish icon over a fish area.
  7. Is the game installed on the same partition (disk, for example C:\) as the Windows or a separate one?
  8. Could you try to run it as an administrator?
  9. Does it crash immediately after a start? Or you might click on the main menu?
  10. Is it reproducible? And what's the steps if yes? Could you also attach mainlog.html?
  11. In current state it's pretty meaningful. It's unrelated to the check. When we use MAP_FAILED we don't care about its value. And only that particular place cares. MAP_FAILED is a standard constant for mmap on POSIX. And usually it's defined as (void*)-1. And here it's just defined using intptr_t, maybe for a more explicit type conversion.
  12. Allocation in case of failing returns MAP_FAILED, but also there is a code: *pp = 0; // make sure *pp won't be misinterpreted as an error cassert(MAP_FAILED); It just does check that MAP_FAILED != 0 to not misinterpret *pp == 0 as *pp == MAP_FAILED.
  13. Nah, just recommend to use Cool! Best wishes to your work UPD. Cool that you use it, not that you're not yet done x)
  14. In that way I could say that I'm responsible for the C++ part, yes. IIRC wseh might work with minimal changes. About GL, the most important part is to check GL* types (GLuint, GLchar, etc).
  15. I prefer to avoid library types (external types, not defined by an application) or "using"s in a global namespace in headers. I'm not sure that I get what do you mean here I don't know how to check properly that I'm qualified enough for some task I'd like to clean up it as well. Yeah.
  16. Not only, there is a case with <cstdint> (which we also include in some places), which might not define ::*_t, only std::*_t ones. To avoid the question what to include we might use own types. But I don't mind to use std::*_t. It defines the *_t types by itself. Your issues might mean that it doesn't define all required types. For sure there is a lot of things to improve with includes and dependencies. Like CStr/CStrW definition. IIRC the biggest and most annoying part for me was building libraries (which I didn't finish), the code itself was pretty easy to build with mingw.
  17. "lib/posix/posix_types.h" already contains #include <stdint.h>, so no need to replace. Instead it might be useful to find a reason of the issues. Also using int*_t (and others *_t) directly has a rare caveat, it might be not defined on some platforms (according to the standard).
  • Create New...