Jump to content

eezstreet

Members
  • Posts

    5,207
  • Joined

  • Last visited

Posts posted by eezstreet

  1. Fixed the screenshots being broken links, and replaced them with ones that conceal some of my personal info and point out the information better. I've also updated the "Most Common Errors" section as it wasn't up to my standards.

  2. This is a very heavily WIP list of what is going to be changed in this version. Some of it is still being designed as we speak.

    Anything in RED is not complete.

     

    Engine Overhaul

    • Added rd-rend2 as an option.
    • Redid the entire memory allocation system. It is much more centralized and can better track how the game is using memory.
    • Added perf_zone to monitor memory usage
    • Added perf_net to monitor network traffic
    • Improved the perf cvar to have more performance tracking options
    • Added dimensions/player isolation. Servers can now have multiple maps loaded at once on different "dimensions" that clients can switch between. This allows for instances to occur.
    • Removed ICARUS scripting engine, replaced functionality with Lua.
    • HUD code migrated to Lua.
    • Added save system. For now players switch between different profiles (full login authentication service coming in Phase 4)
    • Much vestigial code removed (Old JKA NPC code = gone, vehicles = gone, ...)
    • Completely redid the AI systems.  New NPCs will have a variety of new behaviors and features to offer challenging PVE combat.
    • Chat and text overhaul for fonts, etc.

    New Features

    Primary Feature: Players can embark on quests together in a hub world by joining a party and then migrate out to dungeons/instances to complete quests.

    • Mos Eisley Hub Map.  This includes various different NPC located throughout the city that offer various types of services, quests, shops, etc.
    • 3 fully fleshed out story quests and 2 shorter quests.  More will be added later on (likely in Phase 3), but these will serve to demonstrate what quests can do, how they'll work, and will be designed to be repeatable and can be done as a coop group or as an individual.  Most of these will have new maps used for their instances.
    • Quest system.  Keeps track of what quests the player has started, and what the current stage or settings are for it.  This includes UI for managing quests/journal etc.
    • Party System.  A player can invite up to 4 others to join them for Coop quests or to coordinate as a PVP party.  Management of the party can be handed off to a new member or disbanded.
    • Rudimentary Level System.  While skills were introduced in v1.5 and v1.6 of Phase I, this system manages XP and distributes skill points to spend based on level.  XP can be gained by killing NPCs, players, or by completing quests.  This data is not persistent (yet) and only lasts for the session.
    Smoo, Droidy365, Futuza and 1 other like this
  3. I had a very curious person send me an email asking how to increase the NPC limits in SP, so I went a bit ham and wrote a full guide. This gets asked a lot, so I figured I'd pitch it here. If staff would like (@@Caelum / @@Circa ?) I can post it in the tutorials section if it isn't already there.

     

    ---

     

    Hi,

     

    For starters, you will probably want to use the Visual Studio C++ compiler, not Visual Basic as that's a different language altogether.

    After you've got that fixed, you'll want to consult this guide for getting the thing compiled: https://github.com/JACoders/OpenJK/wiki/Compilation-guide

    Once you get it compiled, you'll note that it builds a "jagamex86.dll", an "Openjk.x86.exe" and a "rdsp-vanilla.x86.dll" (or something along those lines, I don't remember the exact names). You'll want to place the jagamex86.dll in a mod folder (you can create a mod folder in Gamedata), and the other files in your Gamedata folder. Then to launch your mod, you'll want to create a .bat script file (it's very easy, all you need to do is open up Notepad, and save a file as .bat), with the following contents:

    `openjk.x86.exe +set fs_game "MyMod"`

    Where MyMod is the name of your mod folder. But don't include the `s!

     

    If you got that all working, you can start making your edits now.
    There are a few specific things regarding limits.
    First of all, the list of NPC files is limited to 2048 characters. Look at this file, at this line I've highlighted, and change the number from 2048 to something higher: https://github.com/JACoders/OpenJK/blob/712627afab20aaa772d062a8fc8aeb5d3efa6152/code/game/NPC_stats.cpp#L4084


    Second...the .npc files are all dumped into a giant buffer and read from this buffer. This is limited, and if you go over it, you'll likely run into a "NPC_LoadParms: ran out of space before reading ..." error. This limit is handled here: https://github.com/JACoders/OpenJK/blob/712627afab20aaa772d062a8fc8aeb5d3efa6152/code/game/NPC_stats.cpp#L217

     

    Just note that this is a hexadecimal number. If you fire up good ol' Windows calculator in Programmer mode, you can see that 0x80000 is the same as 524,288 - so the maximum size of all NPC files combined is 524,288 bytes, or 512 kilobytes. To up this limit, you can just add a couple of zeroes to this (so make it 0x8000000 or something), or use a number larger than 524288. Beware though, the highest you can go is about 2000000000 (2 billion) before you will run into issues (and you don't really want to do this anyway - you'll make the game chew up 1gb in RAM !!)

     

    If you have any questions or concerns, feel free to send me a response.
     

    ---
     

    Smoo likes this
  4. Still doesn't explain their popularity, but thanks for the reply

    They're popular because every device can support them.

    Before the Unicode Consortium decided on having emojis, forums were kind of left to having a hodgepodge of different smilies that weren't guaranteed to all look the same on a system. Now you can, as long as the device you're using supports it.

  5. Funny how "hypocritical" only applies one way....

     

     

     

     

    NgMnlGC.jpg

     

     

    A couple things:

     

    - I'm not attacking Tompa9 specifically here. I'm asking a question on a more deep philosophical level: How can it be OK to license something with a restrictive license when your work largely relies on other people's work? The people in that thread in question were calling that person a piece of shit, and there were back and forth exchanges of insults etc, which I don't think is right at all. I understand where Tompa9 is coming from, but I disagree with it. That's it.

     

    - As I was staff then, and I am not staff now, as I mentioned before, I'm less inclined to take a neutral approach when it comes to specific touchy subjects. When you're the #2 guy on the site, generally you don't want to make people upset. Nowadays I just don't care as much, honestly.

     

    - I still think he has the right to license his work however he wants, I just disagree with his choice of license. So I'm not exactly contradicting myself here.

    swegmaster, Jeff, Tompa9 and 2 others like this
  6. I don´t claim all of it but for example Cin Drallig model took me hours in photoshop and blender so I think i deserve some kind of credit. That´s why I made it more strict for permissions. Another reason was that it was created mainly for purposes of MB2.

    And how many more hours do you think it took people to make the models that you used in creating it? Yet, they are not so restrictive on who they let use it.

    Smoo, Noodle and Jeff like this
  7. Yes it´s just one texture repainted but whole model was release there with some licence. I will allow you to use that because I´m not jerk but be carefull for your future uploads. Please edit your post and credit me. Thank you! :)

     

    https://jkhub.org/files/file/3293-cin-drallig-a-legendary-swordsman/

    I hate to be "that guy" but since I guess I'm not staff anymore I can be a bit less neutral about these subjects. But really? It seems absurd to me to have a restrictive license on something which was primarily lifted from other sources. But then again, this is a replacer for MB2, whose codebase is similarly restrictive in how it's accessed and similarly hypocritical, so I shouldn't be too surprised.

    swegmaster, Jeff, Sithani and 2 others like this
  8. I know that you are quite dedicated, but you cant work on this full time. People at companies like ravensoftware are professional at either coding or designing.

    I know that sooner or later you will make the combatsystem work but there are so many other things to do. 10-15 modders are not enough for this.

    Atleast try kickstart it after a point. You can sell a project like this easily nowadays.

    How many people are you expecting to see something like this done? 10-15 people working on it (there's even less than that working on Open Saber Project, I think maybe 5 people total?) seems pretty reasonable for a multiplayer-only title, where everything is already designed ahead of time. Skywind (Morrowind in Skyrim engine) has around 70 modders working on it and is hundreds of times larger in scope.

  9. Simply going from for example this to this is not a github project (if you want it to be well optimized).

    Or you can just look at quake champions too. If you want a high caliber game, you need to work with a developer company.

    I'm going to take a stab here and say that a person who joined here two days ago is either trolling or doesn't know what we're capable of as a community.

    Circa likes this
  10. It's actually super easy. All you need is Notepad++ to edit the text files, nothing else.

    And once you've done, you can send it to the KotF 2.1 team. Not to me, as I only started the topic to ask who would like to translate.

     

    Interestingly, the Korean alphabet is found in the game files (at least as tga-files), but there is no font for that.

     

    @@eezstreet

    In the font folder, there are these additional languages:

     

    - Japanese (just tga; no font file)

    - Korean (just tga; no font file)

    - Chinese (just tga; no font file)

    - Tai (just tga; no font file)

    - Thai (just tga; no font file)

    - Russian (tga and font file)

    - Polish (tga and font file)

     

    My question: Is there any way to make them accessible (in other words, compatible with the game)? Because you can't select them in the game, there are only four languages.

    With a console command: /se_language "Japanese" (as an example).

     

    Because Japanese, Korean, Chinese, Thai and Russian do not use 8-bit languages like Latin ones do, they have some special handling in the .str files for those. But I'm not sure how it works. I think it reads two characters as one and adds them together when rendering the 16-bit glyph. Or something.

     

    Chinese is split between Simplified Chinese (which is what the "Chinese" language uses) and Traditional Chinese (which is what "Tai" uses, because Traditional Chinese is used in Taiwan)

  11. No I haven't made any changes to my drivers for a VERY long time. Plus they are all up-to-date anyway. I don't know the actual reason as to why it happened, though the only thing I did notice is that when I had my task manager open in the processes tab, OpenJK's memory (private network set) was over 3 million. my regular OpenJK only sometimes reaches 1 million max. But that still wouldn't explain why everything still seemed to work just fine but the .exe only showed a pure black screen. (Again, tested multiple different games from .exe format and they all load and work fine, if it was my drivers I am certain I would get issues with those games, or even with normal OpenJK already by now, but I haven't).

    That memory change would not explain the graphics. (Upping the NPC/VEH/etc limits are what cause that)

    Try changing to windowed mode by adding "+set r_fullscreen 0"

  12. @@eezstreet There seems to be a large problem with this. I'll try my best to explain what happened from my point of view.

     

    It worked fine when I copied over the modified exe and dll files. It all worked fine up until last night. I had made zero adjustments to my game, and I ran the game through the .bat file. The first thing that happened was that the intro video played audio, but my screen was black. I then skipped the intro by hitting the enter key, and it went to the menu, but my screen was still black (it made all the normal sounds that the menu does). I thought that maybe my computer was going to shit, so I tried out some other games, and they all loaded and worked fine. So it wasn't my computer. Anyway, I checked all the JKA folders for "date modified" and nothing new had been altered. There were also no errors, surprisingly. So I reloaded the game again through the bat file, it was still black. Now this is what I did, even though I couldn't see shit, only hear it. I opened the console, and devmapped a map. It then made all of the loading sounds, and I heard the map music playing, it all loaded fine (audio wise). I then made my character walk around and jump, and used force powers, and all the audio played perfectly, it was all fine as if my screen wasn't black at all. So, I couldn't figure it out at all. There was something wrong that was preventing me from viewing JKA at all. So what I did to fix it, was to put the original files back which the aiworkshop replaced - the exe and dll files. Now I can see everything, no more black screen.

     

    I installed it around 4-5 days ago. For me it just went black after 4 or 5 days. I had to uninstall it basically. I think it may be an issue with the exe or dll files. :shrug:

    Or perhaps your graphics card, if you are using integrated graphics.

    If you did a recent driver update it might be that. You might have to fiddle with that. The stuff I did was just done on a clean version of OpenJK and didn't modify the graphics any.

  13. The weapons are pretty easy to remember so I didn't include a command. But it is easy to write one.

     

    WP_NONE

    WP_BLASTER_PISTOL

    WP_BLASTER

    WP_DISRUPTOR

    WP_BOWCASTER

    WP_REPEATER

    WP_DEMP2

    WP_FLECHETTE

    WP_ROCKET_LAUNCHER

    WP_THERMAL

    WP_TRIP_MINE

    WP_DET_PACKS

    WP_SABER

    WP_MELEE

    WP_NOGHRI

    WP_TUSKEN_STAFF

    WP_TUSKEN_RIFLE

    WP_JAWA

    WP_TURRET

    WP_BOT_LASER

    1. Force Sense affects your weapon aiming. As seen at Games Done Quick, when using Force Sense, shooting your weapons with Force Sense completely eliminates the spread.

    Gonks give batteries. Pressing USE on a Gonk refills about 50% of your batteries, in JK2.

    Saber Staffs can be cut in half. Although it's super rare, saber staffs can be cut in half. When this happens, they'll function like dual sabers.

    Kyle Katarn is voiced by Johnny Bravo. Additionally, Alora is voiced by the same voice actor as Mandy from Billy and Mandy.

    Pull resets the countdown on charged weapons. Also seen at Games Done Quick. Using pull will instantly reset the cooldown on charged weapons, which allows you to spam the DEMP2 charge rather notoriously.

    therfiles, Noodle, Xanemus and 11 others like this
  14. I've made an update with some extra features. See the link in the OP for the download. Currently awaiting JKHub approval still.

    Updates in this new version:

    • Added new commands:
      • workshop_toggle_follow: With the selected NPC, toggles following on it. Meaning if you are targeting a friendly NPC, it will switch between them following you or not.
      • workshop_kill: Kills the selected NPC.
      • workshop_list_anims: Lists all of the animations in the game (warning, console spam)
      • workshop_set_health <amount>: Sets the health of the NPC.
      • workshop_set_armor <amount>: Sets the shield of the NPC.
      • workshop_set_gravity <amount>: Sets the gravity of the NPC (note, default is 800)
      • workshop_set_anim <animation>: Sets the animation that the NPC is using.
      • workshop_control: Take total control of the NPC. Better than Mind Trick Level 4 as it works on all NPCs, has infinite duration, and jump doesn't exit.
      • workshop_end_control: Stop controlling the NPC.
      • workshop_freeze: Freezes the NPC in place.
      • workshop_undying: Toggle undying mode on the NPC
      • workshop_shielding: Toggles a bubble shield on the NPC (like assassin droids have)
      • workshop_set_scale <amount>: Sets the NPC's scale.
    • Added new cvar: g_noAutoFollow. When this is 1, friendly NPCs don't follow you.
    • Added new functionality to "npc spawn" command. You can do "npc spawn random" to spawn random NPCs. For instance, "npc spawn random rodian weequay trandoshan gran" picks a random npc, either rodian, weequay, trandoshan or gran. This is good for populating a city quickly and easily with a variety of townsfolk.
    Daedra, dg1995 and Stoiss like this
  15. I got a request to make the AI Workshop from JK:Enhanced standalone. So I did that, seeing as how it was super straightforward.

     

    It will be available to download here, as soon as it is approved: https://jkhub.org/files/file/3384-ai-workshop/

    alternate download link available here: https://www.dropbox.com/s/acz86nkz4u76rcs/AIWorkshop.zip?dl=0

     

    What does this do?

    It adds over 30 fifty commands to the game for manipulating the AI.

    Additionally it adds a display which shows detailed statistics about NPCs.

    AND as a bonus I have increased the veh, vwp, sab, and npc limits by 16x.

    AND I've added an "npc spawn random" command which spawns random NPCs.

    and a cvar to make it so that friendly NPCs dont follow you by default

     

    What commands are there?

    Just a note, none of these commands have any restrictions. Meaning, you can do silly stuff like giving mouse droids lightsabers and have them shoot lightning at each other. I did not add the ability to add new waypoints to maps because the waypoint system is different in JKA from JK2 and this is more or less a straight port by redsaurus.

     

    Here are the commands:

    • aiworkshop - enable/disable the workshop
    • workshop_commands - show all commands in the console
    • workshop_cmdhelp - gets help for a command
    • workshop_toggle_display - toggle the visuals
    • workshop_select - selects the NPC in your crosshairs. Only one NPC can be targeted at a time.
    • workshop_deselect - deselects the selected NPC
    • workshop_list_bstates - lists all of the Behavior States in the game, e.g. BS_CINEMATIC
    • workshop_list_scriptflags - lists all of the scriptflags that can be assigned to an AI
    • workshop_list_teams - lists all of the teams that an AI can belong to
    • workshop_list_aiflags - lists all of the AI flags
    • workshop_list_classes - lists all of the classes, eg CLASS_STORMTROOPER
    • workshop_list_ranks - lists all of the usable ranks
    • workshop_list_movetypes - lists all of the movement types that you can assign to an NPC
    • workshop_list_forcepowers - lists all of the force powers that can be given to an NPC
    • workshop_list_bsets - lists all of the Behavior Sets in the game, eg BSET_ANGER, BSET_VICTORY, etc
    • workshop_view_timers - lists all active timers on the selected NPC
    • workshop_set_timer <timername> <milliseconds> - sets a timer on the selected NPC
    • workshop_set_bstate <bstate> - sets the bstate of an NPC. This can be used to make an NPC follow the player, make the NPC do nothing, make the NPC stand guard, make the NPC hunt down enemies, etc etc. You'll want to experiment with different BS_ types.
    • workshop_set_goalent - sets the entity in the crosshairs as the current "goal entity". If you are targetting an item, this seems to make them go and pick it up. Or sometimes follow an NPC. It seems to vary based on context.
    • workshop_set_leader - sets the entity in the crosshairs as the "leader". If an NPC is in BS_FOLLOW_LEADER, they will follow this target and flee from enemies when it dies
    • workshop_set_enemy - sets the entity in the crosshairs as the "enemy". The NPC will attack it.
    • workshop_set_scriptflags - sets the NPC's scriptflags
    • workshop_set_weapon <weapon, or "me"> - sets the weapon that the enemy is using. This can be for e.g. WP_BRYAR_PISTOL, WP_SABER, WP_DISRUPTOR, etc. If you use "me" as a parameter it will set it to the weapon that you have equipped.
    • workshop_set_team <team> - sets the NPC's "team"
    • workshop_set_enemyteam <team> - sets the NPC's "enemy team", or who they will consider as enemies
    • workshop_set_aiflags <flags> - sets AI flags. I don't know what these are used for.
    • workshop_set_class <class> - sets the class type. This can alter behavior in some cases, especially when used on droids or animals like wampas.
    • workshop_set_rank <rank> - sets the rank. For the most part this has only subtle changes.
    • workshop_set_movetype <movetype> - sets the movement type. For instance, you can make probe droids skid around on the ground, etc
    • workshop_set_forcepower <power> <rank> - sets a force power's rank for the NPC. It doesn't mean that they'll necessarily use it, though.
    • workshop_set_bsetscript <bset> <path to ICARUS script> - tell the game to run a script when a certain bset gets activated. This would be like setting angerscript on an NPC, as an example.
    • workshop_set_parm <parm number> <value> - set a value that can be read by icarus with GET_PARM1 for example
    • workshop_play_dialogue <path to sound file> - make the NPC speak !
    • workshop_activate_bset <bset> - activates a behavior set and triggers the scripts associated with that bset
    • workshop_god - toggle godmode on an NPC
    • workshop_notarget - toggle notarget on an NPC

    New in 1.01:

    • workshop_toggle_follow: With the selected NPC, toggles following on it. Meaning if you are targeting a friendly NPC, it will switch between them following you or not.
    • workshop_kill: Kills the selected NPC.
    • workshop_list_anims: Lists all of the animations in the game (warning, console spam)
    • workshop_set_health <amount>: Sets the health of the NPC.
    • workshop_set_armor <amount>: Sets the shield of the NPC.
    • workshop_set_gravity <amount>: Sets the gravity of the NPC (note, default is 800)
    • workshop_set_anim <animation>: Sets the animation that the NPC is using.
    • workshop_control: Take total control of the NPC. Better than Mind Trick Level 4 as it works on all NPCs, has infinite duration, and jump doesn't exit.
    • workshop_end_control: Stop controlling the NPC.
    • workshop_freeze: Freezes the NPC in place.
    • workshop_undying: Toggle undying mode on the NPC
    • workshop_shielding: Toggles a bubble shield on the NPC (like assassin droids have)
    • workshop_set_scale <amount>: Sets the NPC's scale.
    Smoo, dg1995, therfiles and 5 others like this
×
×
  • Create New...