Jump to content
The Dark Mod Forums

duzenko

Active Developer
  • Posts

    4149
  • Joined

  • Last visited

  • Days Won

    50

Posts posted by duzenko

  1. 3 hours ago, datiswous said:

    What does this? I mean which images are affected? Is this for the newgame menu?

     

    1 hour ago, stgatilov said:

    These are new keywords which can be used in GUI windows.

    Those are for custom GUI's in new missions

    • Like 1
  2. 2 hours ago, datiswous said:

    In the Camera test map camerawiki2.pk4 mentioned on https://wiki.thedarkmod.com/index.php?title=Security_Camera_(2.10%2B) the camera's still don't work, although the issue with the not working (multiple) camera's should be fixed in 2.10 beta, or is the fix not yet implemented in beta 2.10 9702?

    Should work in the next beta

    In this version I think you can uncomment the materials in tdm_camera.mtr and that should do it

    • Like 1
  3. 12 minutes ago, Dragofer said:

    It should give mappers some more freedom with lighting their map without punishing the players for it. It's of course a delicate balance, mappers shouldn't go too far with this so that the mismatch between lighting and lightgem becomes obvious.

    We could argue that players seeing the light with their own eyes would assume they will have to stay out of it. I'd say it might be rather frustrating UX to never know if a light is going to tag you or not. I mean, it's the ultimate goal here - to let player through but the player themselves has no way to know if the light in front of them is decorative or not.

  4. On 12/16/2021 at 2:58 PM, stgatilov said:

    Yes, padding is a problem.

    One possible thing is to check every 8 bytes instead of 4 bytes: I guess it is already done like that in 64-bit builds. Of course, it allows the check to miss uninitialized members, but I don't think there is a way around it.

    In alternative reality I can parse pdb's and get all type info from there 🤪

  5. 9 minutes ago, stgatilov said:

    How did you get away without #define private public ?

    As far as I remember, it is required to get member pointers.

    I have no idea!11

    I can see that text save code calls class methods to get members, could it be it? No idea how it works with sizeof/offsetof  though, maybe those are immune to access modifiers?

  6. 1 hour ago, stgatilov said:

    Anyway, the generated typeinfo is wrong.

    If you try to compile TDM with it, you'll get a lot of errors.
    Most of the are due to not understanding C++11, and it is not wise to eradicate C++11 from headers or trying to #ifdef every little thing.

    I have put a few more fixes and cut some corners

    Revision 9713 seems to work

    image.thumb.png.81524662edb9e0c04531cb24b4b0c6a4.pngI am particularly puzzled about the define private public trick, that I had to disable to make the modern compiler happy.

  7. Another attempt at running typeinfo.exe

    Fails with

    Type Info Generator v1.0 (c) 2004 id Software
    ../darkmod_src/game
    processing 'C:\Users\a\Documents\tdm\darkmod\..\darkmod_src\game\gamesys\TypeInfo_GenHelper.cpp' for type info...
    ERROR: file ../darkmod_src/idlib\sys/sys_defines.h, line 148: #error without string

    at this line

    image.png.56b89b61721aa15be80da4aead7d5471.png

    It does not matter if I define WIN32 in generator's own define list. It seems that it always executes compiler directives, even if they are disabled by an outer ifdef. Is typeinfo so hopelessly broken it cannot be used without major overhaul?

  8. 1 minute ago, stgatilov said:

     

    A somewhat cumbersome approach but easier to boot would be to put breakpoint to where this message is printed, then find manually in the debugger which member this offset corresponds to. I.e. binary search by class members in their order... maybe using offsetof macro (if debugger supports it).

    Umm... can it be automated by something like

    for(auto& property: typeinfo::getPropertiesFor(this)) {
    
         if (offsetof(property) == missingPropOffset) {
    		...
         }
    
    }
    Quote

    Oh yeah, that's not good...

    Yes, you can use typeinfo lib to see member names, but it will by no means by easy. You will have to surround bad includes with #ifdef smth, replace all #pragma once with old-style include guard, do something with override (e.g. add #define override {empty} as predefined macro under typeinfo), add private: if some members are implicitly private... that's what I remember. 😥

    Sounds like a PhD course work :D

×
×
  • Create New...