Jump to content

eezstreet

Members
  • Posts

    5,207
  • Joined

  • Last visited

Posts posted by eezstreet

  1. ...Com_Hunkmegs doesn't actually do anything.

     

    That's right, this little red herring of a cvar doesn't actually do anything, despite what others may have told you. It's a myth. Myself and others have determined up and down that by searching the engine, com_hunkmegs doesn't actually have any sort of effect on the game whatsoever. The cvar is initialized, but never used nor called nor needed.

    therfiles, Fighter, MUG and 2 others like this
  2. The exact error is "Ran out of transform space for Ghoul2 Models. Adjust MiniHeapSize in SV_SpawnServer.", and it comes with a handy little suggestion as to how to fix the problem. Unfortunately, Raven copy-pasta'd that text, so it's actually not as friendly as it might come off to be. IDA says this exact text is called in two different functions (base address + 0x004D94B0 / 0x004D9980 / jasp.exe ... get cracking @@Scooper ( :P )). To make matters worse, they stored the memory storage in bytes (and then multiply by 20 for some reason) in the code.

     

    I managed to do a backtrace and found out that the game makes a call to Z_Malloc with an approximate size of 132096 bytes. (Z_Malloc has a different declaration in jasp.exe than in jamp.exe/Q3, more on this in a moment) It can be found in sub_439F00 at [base address +] 0x0043A083 and 0x0043A09F (PUSH instruction and MOV instruction, respectively)

     

    Z_Malloc in jasp.exe works like a modified version of Z_TagMalloc with the exception that it has an added third arg which changes the method that it uses to allocate memory in the game (???). The declaration can therefore be made to look like this:

    void __cdecl *Z_Malloc(int size, int tag, qboolean useModifiedMethod);
    

     

    tl;dr / non-coder version: It can be modified by possibly hijacking 4 bytes in jasp.exe, but could trigger the CD key check (unless done via a proxy DLL).

    For temporary solutions: try disabling cg_g2marksonallmodels and see if that does anything.

    Why they decided to name an engine cvar with cg_ in front of it is pretty retarded in all actuality.

     

    EDIT: So just for shits and giggles I decided to do a backtrace of the function in MP as well. The reason why this doesn't happen in MP is because they literally doubled the size to allocate for memory between SP and MP..just another example of how things are so badly synced between SP and MP.

    Also note, 0x004D94B0 / 0x004D9980 can cause infinite recursion / stack overflow under certain circumstances. Beware.

  3. Not totally sure. I think there could be some clues in the game exports:

    d_JediAI = gi.cvar ( "d_JediAI", "0", CVAR_CHEAT ); <- last arg specifies flags
    

    I haven't totally reverse engineered the cvar struct yet, but I do know that the game imports in gi -could- hold some clues as to how to alter the flags of them. I already have the whole of gi worked out. There's no way to modify the flags of a cvar directly through the jagamex86.dll from within Raven's code though. You'd need to do an engine hack (read: jasp.exe) in order to do such a thing. If I'm right though, changing the flags of a cvar would be done exactly the same way as in MP.

     

    That's aside from the fact that temporary/custom cvars aren't totally meant to be archived. If you have a specific use for the custom cvar, I might add a sort of plugin to JAMod that would improve custom cvars for you (no guarantees yet though as I haven't even started on that)

    therfiles likes this
  4. You need to set the music configstring in order to make it play the music.

    trap_SetConfigstring( CS_MUSIC, soundPath );
    

    Best way to check if you're playing music or sound (if you're altering your sound command to play music for each client as well) is to check the beginning of the file name thusly:

    if(!Q_stricmpn(soundPath, "sound/", 6)) {
    

    if(!Q_stricmpn(soundPath, "music/", 6)) {
    

    Fighter likes this
  5. My idea was not to have an overlay. Rather, it would be a static library that coders could use in their projects and have JKHub integration with some features, like achievements (if you came up with some kind of way of tying them into the page). An overlay would be okay if it had stuff like achievements and chat though.

    Caelum likes this
  6. Ah. Might not be so bad then. cURL does make the URLs a bit easier then. Then again, I didn't try and deal with HTTP protocol through pure winsock (cURL does this for you iirc), so networking with C isn't exactly my strong suit compared to you. :P

     

    Think it would be viable though?

  7. user/pass are sent via cookies.

    jkh_member_id and jkh_pass_hash

    (I would know, BUT THAT KNOWLEGE IS USELESS NOW, ISN'T IT ;_; )

    I'm not sure how C accesses the cookie information (I'm sure cURL has some sort of interface for that, but cbf to look), so you might want to look that up. Regardless, I think it's very viable for JKH to have an API which connects to all the big mods out there to track achievements and chat (at the very least) on the site.

  8. We totally need something like UU, that interfaces with jka, forming a kind of JKHub overlay (like with steam).

    Definitely.

    I can kinda port the achievement code from GSA since it works pretty well already (minus saving) and probably convince Cael to do some kind of site integration. I don't know how much PHP he knows though (http://jkhub.org/achievement.php?achieve=<id>, with user/pass sent through POST would do the trick)

     

    We totally need something like UU, that interfaces with jka, forming a kind of JKHub overlay (like with steam).

    Definitely.

    I can kinda port the achievement code from GSA since it works pretty well already (minus saving) and probably convince Cael to do some kind of site integration. I don't know how much PHP he knows though (http://jkhub.org/achievement.php?achieve=<id>, with user/pass sent through POST would do the trick)

  9. I wouldn't mind asking who ever made that spam bot why there's a homeless looking guy for the avatar...I mean, how would someone looking like that even know what he's talking about...

     

    Additionally, I'm in full support of a chat or shoutbox.

     

    I've seen it do wonders for some of my forums in the past.

    I lol'd so hard.

     

    Anyway, yeah I forgot that SpioR did improve on the code for JAIRC. It would be nice to have some site integration with that too. All in favor of JKH IRC?

    MUG likes this
×
×
  • Create New...