Jump to content

Xycaleth

Members
  • Posts

    1,458
  • Joined

  • Last visited

Posts posted by Xycaleth

  1. ...but will you explain it in layman's terms, please?

    I can't remember the exacts details, but it goes something like this. PCJs are solely meant as an optimisation for computing the transforms of individual bones. In general, the bone hierarchy you see in your modelling software is the same bone hierarchy you get in the GLM/MDX format. From what I can guess, you can choose to flatten parts of the bone hierarchy in your .car file, and I think this is evident from the finger bones which are actually children of the elbow (I think?) instead of the wrist.

     

    I think (a very big think) this optimisation is done mainly for IK, where you don't necessarily want to deal with all the bones at the extremities, so you parent them to a bone higher up the hierarchy.

  2. Here's an example map I've created with a spiral ramp: https://dl.dropboxusercontent.com/u/874909/spiral_ramp.map

     

    It would have taken me too long to write out full instructions so the map above has the 'finished thing', and then as you move to the right, I've got the ramp at progressive stages of creation. Creating the side rails is more of the same, so I didn't include that. Here's what it looks like:

     

    ramp.png

     

    EDIT: Looks like I was too slow :P Example is still there if you need it.

    Boothand likes this
  3. Does OpenJK still compile in VS2010 ?

     

    I thought the aim was to make the JKA code stable and fixing errors.Not modifying it to a point where people have to by a new PC with the latest program's just to get it to compile?.

     

    If this is not the case then i just want to ask where can i get a Jedi Academy source code in OpenJK format that will compile in VS2010..Wasn't that the original idea?

    The original idea was to make the code stable. Newer language features can make this easier to achieve which require newer compilers.

     

    The original code had many instances of invalid (non-compliant) code as well which newer compilers will flag up as errors.

  4. So I have an OpenJK-based Single Player mod... and some observations/questions about it.

     

    1. People seem to need to have Visual Studio 2013 installed to play my mod. I compile my code with Visual Studio 2013. Is there some connection? Or is it that OpenJK uses some code libraries from Visual Studio 2013?

     

    I tried having them just download the Visual C++ 2013 redistributables but that just wasn't cutting it (single player is written in C++). They seem to need the whole package.

    Make sure you compile a release build of your mod and that players have the VS2013 redistributable installed. Any of the standard library functions will require the redistributable.

     

    2. How does OpenJK load dlls? I'm under the impression that first it goes to fs_basepath, then fs_homepath, then fs_cdpath. Does the last set loaded take priority or the first?

    It should be homepath, basepath, cdpath. People should never need to put anything in their basepath or cdpath, it should all go in homepath. This is contrary to what people have been doing for the past so many years, so it's difficult to get people to change :P

     

    3. Can I overwrite the jagamex86 dll in the gamedata folder, so that way the mod doesn't need to be loaded or set in fs_game? It didn't seem to work when I tried it. Maybe the dll was being overwritten from somewhere else?

    You should be able to. If you run your code through Visual Studio, it tells you which DLLs are being loaded in the output window.

     

    4. If I want my mod to use a renderer dll of a different name, or at least one that doesn't overwrite OpenJK's renderer dll, how would I do that? I know MB2 does it.

    Search around for where the word 'vanilla' is used in the code - that should give you all the places you need to change to change the renderer and DLL name.
    Dusty and eezstreet like this
  5. I did a quick search around and as far as I can tell there's no standard way of interpreting the tag triangle on an MD3 model. I thought at first that it takes the the vertex at the right angle of the triangle to be the origin, and then the orientation is based on the edges of the triangle, with the mid length edge being the X axis and the shortest edge being the Z axis (or something like that). However, it's completely up to the exporter to determine how it makes use of that triangle. If you have source code available for the MD3 exporter you're using, I can take a look to see what it's doing. Otherwise it's up to experimentation.

  6. You could have the launcher check for release updates from the GitHub website. It has an API to interact with a project.

     

    Letting people download broken code is just poor. It shows you don't care whether it works or not, just let the players find workarounds. For coders who want to see if it works, and who want to see if they can get it working, it's a different story because that's what they expect.

     

    I think we've also both missed a major point here. How do you distribute compilers/build tools for a platform which we don't foresee being used? How can the user even download a launcher for a platform which we didn't know people were going to use? Do you get everyone to download the code and try compiling that as well? :P

  7. It solves the problem of having to provide precompiled binaries for people to use for each platform. Traditional CI is just not optimal for 90% of projects which are too small to warrant setting up appveyor or Travis CI or other services for them. This makes it easier for people to find binaries and makes it easier for programmers to provide them. Likewise, it guarantees an easy install for mods, and people could supply compiler options such as VEH_CONTROL_SCHEME or other stuff that's disabled normally. It solves multiple problems, not just one.

     

    The point isn't to make this a launcher specific to OpenJK, but one that's capable of running any OpenJK based project. Ideally someone can simply say "I want this specific fork" and compile it on their machine using the launcher, rather than having to see if that person has builds for it. It makes finding mods much easier when they're in one nice little housing.

    It doesn't solve that problem at all. If the developer hasn't built it on platform Y, then he shouldn't claim it works on platform Y. If a regular player comes along and tries to compile it, it's more than likely not to work - what is he supposed to do now?

     

    IMO, every code mod should be using CI. It simplifies the developer's life immensely, whether they realise it or not. So many devs waste time figuring out what files have changed, which files need to be repackaged, when it can all be automated. Some teams manage to do this (MB2) but it's very accident prone and time-consuming.

     

    And there is no hosting problem. If the mod code is hosted on GitHub, they can host prebuilt binaries on GitHub using the releases feature.

     

    Honestly a lot of your points sound like organizational issues of OpenJK, and not issues with this launcher. If OpenJK doesn't have a stable branch, that's a problem of OpenJK, not a problem with my idea.

    I made one comment about not having a stable branch, and it's not directly related to any of the points I raised :P
    mrwonko likes this
  8. I deleted all my posts there because the thread was about an outdated menu bug.

    The bug is still there. You just don't encounter it any more. If you had kept your post there, we would have been able to fix it so that nobody else can run into the issue...
  9. Hey skew. It's great to see you're trying out rend2 :) I don't think you'll get the results you want with a plain Gaussian blur. You will end up blurring across edges which ruins the effect. What you want is a depth-aware Gaussian blur which only takes samples across areas of continuity (i.e. not across edges). If have to say though, it's really difficult to notice the SSAO - I feel like something is wrong with it.

  10. This seems like a bad idea to me. What problem does it solve?

     

    Pros:

    • Effectively eliminates the need for CI
    • Anyone can compile and run any repo, no need to ask for current compiles.
    • Can act as a springboard for other features, such as server browser, chat, JKHub API platform, etc
    • Everyone is always updated to the latest version
    • You will still need CI. How else can you tell if the code compiles and that there are no missing files? You obviously don't want to find out when the players are starting to compile the code on their machines.
    • Why waste the player's time compiling code, then they could download a precompiled version and run it?
    • How does the player being able to compile the code, enable these features? It would be possible to do if the player downloaded a .exe
    • Same as above - they can download the latest version manually, or through some automated check for new builds
    You then have the issue of people using the master branch which is, for the most part, unstable. None of our weekly builds are stable; they just happen to be built on a Monday to give people something to use. We don't have a stable branch currently.

     

    On top of that, the player now has to download an additional few hundreds of MBs of programs to compile the code.

     

    If the problem you're trying to solve here is to keep everyone up to date, then have a launcher which downloads precompiled builds and keeps the user up to date.

    Circa, Raz0r, mrwonko and 1 other like this
×
×
  • Create New...