Jump to content

Raz0r

Members
  • Posts

    1,135
  • Joined

  • Last visited

Posts posted by Raz0r

  1. Are you definitely using the JA++ client-side? It's required for weapon duels. Vanilla/other client mods constantly try to reset the weapon back to saber each frame when you're in a duel.

    That explains why you can't see their saber (because the server is telling you they have a weapon) but you can each see yourself holding a saber.

  2. The only real answer is: talk to your lawyer if/when you're serious about releasing anything, especially commercially. No one on the internet can really give you the legal advice you need.
    That being said, my advice is steer clear.

    My other advice is start with ioquake3 (same engine JK2+JKA are built on) and work from there, to avoid "Star Wars" (read: Disney and their infinite financial + legal resources) coming to bite you. I'd also steer clear of "laser swords" and "magic" which could be reasonably argued by lawyers to no end.
    You'll need a lot of coding experience either way you go.

    JKA is specifically a legal grey area, given the source was pulled and a gag order given by Our Great Overlords specifically over licensing/legality concerns.

    There are a few other threads discussing this and similar ideas. Quick search showed these will be of interest:

    https://jkhub.org/forums/topic/1974-openjk-general-topic/?tab=comments#comment-23405

    https://jkhub.org/forums/topic/1986-why-cant-you-use-assets-in-non-commercial-standalone-games-exactly/

     

  3. Not sure if serious.

    Android port of JA has been done (xlava, ent, couple others). I think mobile and browser platforms are just nowhere near practical enough to warrant that kind of effort - 3 people dicking around for 5 minutes is hardly worth it.
    kungfooman may put in effort for wasm, he's working on an ioq3-based wasm/webgl thingy.

    Pull requests are welcome ?

    Smoo likes this
  4. What's the exact command you're entering?

    I would start by checking for warnings/errors in the server console when loading a map. That will probably tell you exactly why. Then remove all mods and reintroduce them one by one until the issue occurs again. It may be a corrupt mod or simply a size limit.

  5. for deactivate set as commented out the strings of error, like in that way:

    /*

      if (input->indexes[sHADER_MAX_INDEXES-1] != 0) {

            Com_Error (ERR_DROP, "RB_EndSurface() - SHADER_MAX_INDEXES hit");

        }  */

     

     here is the source of the trouble: q_files.h

    #define    SHADER_MAX_VERTEXES    1000

    #define    SHADER_MAX_INDEXES    (6*SHADER_MAX_VERTEXES)

    as you can see, here is set the infamous limit of mesh complexity.

    More likely you'll cause the game to crash or render weird things.

    That error is a precaution, because if you index an array out of bounds and write to it you may write to a protected memory page and cause an access violation/segfault, probably the most common type of crash.

     

    Let's look at how these indexes are stored:

    struct shaderCommands_s
    {
    glIndex_t indexes[SHADER_MAX_INDEXES] QALIGN(16);
    vec4_t xyz[SHADER_MAX_VERTEXES] QALIGN(16);
    vec4_t normal[SHADER_MAX_VERTEXES] QALIGN(16);
    vec2_t texCoords[SHADER_MAX_VERTEXES][NUM_TEX_COORDS] QALIGN(16);
    // ...
    }

    You haven't actually raised the limit on how many indices, vertices, normals or UV coords a model can use, you've just stopped it alerting you when you load a model that's too big to fit in the pre-allocated memory.

    So if you do manage to load that model and it has too many indices for basejk, you'll start overwriting the positions of your vertices (because that's the next item in the struct). You probably won't get a crash in this case but your models will get royally fucked up.

     

    Note there is no "error" or bug or issue here, everything is working 100% as intended. There is only a certain amount of memory allocated for loading models. It errors out instead of loading/rendering corrupted data.

    A better solution would be to increase the amount of memory allocated (e.g. by increasing that define) or rewrite how models are loaded entirely (e.g. sparse/lazy allocation instead of pre-allocated chunks).

  6. It's the neighbouring node's IDs i.e. the most nearby points. The ID for this node is the first number in the line.

     

    "weight" is a term used in graph theory usually to explain the cost of traversing from one node to another (e.g. distance, "difficulty")

    http://www.mathcs.emory.edu/~cheung/Courses/171/Syllabus/11-Graph/weighted.html

     

    The last number in the line appears to be the distance from this node to the next (precomputed)

  7. My VPS is dead and life has assimilated me. I don't have the spare time to work on the new site just yet so no ETA (I don't have a fixed address atm)

     

    I'm happy for people to mirror/share whatever content there is for the time being. I will try produce a recent build for windows+linux and chuck it on my Dropbox soon.

    Eventually there will be a brand spanking new site based on Sentra's design. It's about halfway done.

    Smoo and 2BN350 like this
  8. They were re-added in OJP and are at-least partially functional in JA++.

     

    Adding a new gametype requires coding, and the (assumed) implication is no clients will be able to play on your server without them also having the code mod (ingame error, drops back out to menu). At the very least it will be visually broken (scoreboard, team colours, HUD, weapon selection).

    The problem boils down to the gametype being identified by a number (0=ffa) and all gametypes that come after TFFA are considered as team-based; adding a gametype to the end of the list means it must be team-based, adding to the start of the list means the client and server have a different idea on what gametype "4" is (and the gametype before TFFA is now suddenly team-based).

     

     

     

     

    I'm well aware that both HFFA and JM require spawn points for the holocrons and the lightsaber respectively, that's why I used ported JK2 maps for the testing. As for CTY, I'm not sure if it just replaces the flags, or if it requires its oawn spawnpoints as well.

    OJP and JA++ just reuse existing entities. red/blue flag entities for CTY, player spawn points for the saber in JM. They also steal maps from other gametypes to show in the menu (based on .arena files)
  9. After some digging, a bunch of those server creation menu bugs will probably require new menu asets.

    Original menus have hardcoded checks only for the gametypes that were originally available. Exposing the new gametypes means we have to adjust those checks by making new menus.

    Found the culprit: one of my "let's clean up the code!" commits. It simplified some things, but broke the base menus 4 years ago. Looks like the easiest "fix" will be to write new menus, giving us better control over the new gametypes too.

    the_raven and Smoo like this
  10. Ooh, just saw this now.

     

    > I can't 'kick' or 'change map' during the match anymore, it tells me 'Invalid vote string. Allowed vote strings are: allready'
    g_allowVote is now a bit-value that lets you enable/disable specific votes. Your cfg is still using value 1. Check out the calculator
     
    > TFA mode disappeared. Instead the modes are 'Team Deathmatch', 'Siege', 'Capture the Flag', 'Capture the Ysalamiri', 'Free For All', 'Holocron', 'Jedi Master', 'Duel', 'Power Duel', and 'Cooperative'.
    Gametype names are inconsistent around the place, but I've changed this back to "Team FFA" in the code now.
    "Team Deathmatch" = TFFA
    "Saga" = Siege
    "Single Player" = Co-op (broken/unfinished)

    > 'Holocron', 'Capture the Ysalimiri', 'Cooperative' have no maps, and apparently there aren't any to download either on here, or on mrwonko's.
    Hmm. Ideally Holocron should be using maps available in FFA, CTY should use CTF, JM should use FFA and cooperative should use SP maps.
    Looks like Holocron wasn't using FFA maps, but I've fixed this now.
    For reference, this is generally determined by the `type` keyword in `scripts/blah.arena`. There are some hacks in the code for e.g. JM to use maps tagged with "ffa".

     

    > There are no 'One hit kill', 'Hydroball' and '(Swoop) Race' modes - I know there aren't supposed to be, but there are maps for those modes, so why not?
    There is an instagib mode (instagib.cfg) and plans for a race/defrag mode.
    These almost certainly won't be added as extra gametypes because of compatibility, but they will be playable within another gametype (usually ffa).
     
    > 'Jedi Master' mode prompts the players to catch the lightsaber, but whenever I approach it, nothing happens, it just lies there, and I can't activate or pick it up.
    Bah. This used to work. I'll create an issue.
     
    Most of these issues sound like a combination of old/broken menus (maintaining menus is not my idea of fun) and UI gametype translation gone wrong (as a result of exposing more options to the menus) - UI keeps its own list of gametypes and translates them to g_gametype values.
    I'll create an issue to investigate gametype translation issues.
    Also make sure you launch with `+set fs_game "japlus"` so the code for the JA++ UI is loaded.

    Created issues 425, 426

    Smoo likes this
  11. No way to tell without seeing all of your related code changes (specifically where Weapon_HookFree is being called from).

    There's an assumption that a hook belongs to another entity (player), but that doesn't seem to be true; ent->parent should have been set long before Weapon_HookFree was called (e.g. upon hook creation) but wasn't, or it was cleared at some other point in time (or you're calling Weapon_HookFree on a non-hook entity).

     

    A more general solution: learn to debug, get a backtrace, etc.

×
×
  • Create New...