Jump to content

RecklessJames

Members
  • Posts

    102
  • Joined

  • Last visited

Everything posted by RecklessJames

  1. Thank you very much I appreciate that! I was determined to edit aspects of the game that you normally couldn't without coding, especially cause merging aspects of my favorite mods became difficult cause you couldn't combine things like .dlls and .exes. Meaning I couldn't have my NPC limits increased mixed with the most recent OpenJK, or increased dismembering, or RGB Lightsabers, and many other things. So I simply decided to learn how to build/compile from scratch within a month lol! Rapidly I've learned alot, and I definitely want to keep pushing to see what else I'm capable of adding into the game. JKA Enhanced is actually the main source code I'm editing. I'll most likely share my edits when done! While on the subject, I even experimented with colored cores too at one point. lol
  2. @@AshuraDX A little unrelated to the original question of this thread but since its still RGB colors + shaders I may as well throw this here too, since I'm having a bit of trouble atm (instead of making an entirely new thread lol.) I'm also using AJL's SFX Lightsabers and I'm trying to create a 2nd selection of RGB colors, but with a black core instead of a white core. I'm very very close to succeeding after tons of trial and error with setting everything up within the source code and having to go back and forth with my shader file settings... atm I have this: Very close to working, except that the glow seems to disappear when over certain textures and surfaces... I have yet to figure out a proper way to fix this. The shader is setup like this: gfx/effects/sabers/black/blackrgbglow { nopicmip cull twosided { map gfx/effects/sabers/rgb_glow2.tga blendFunc GL_DST_ALPHA GL_ONE_MINUS_DST_COLOR alphagen vertex rgbGen vertex glow } } gfx/effects/sabers/black/blackrgbline { notc nopicmip cull twosided { map gfx/effects/sabers/black/black_line.tga blendFunc GL_DST_COLOR GL_ONE_MINUS_SRC_ALPHA alphagen vertex rgbGen vertex } }My ultimate goal (and related to this thread) is to have two sets of RGB blade colors; one with black core and the other with white core, both with full RGB range! (so that if you also wanted pure 100% black or pure 100% white, you can do that too) After I fix this issue here and also enable full RGB colors, I'll be two steps closer! Maybe a bit too ambitious for me, considering I'm still very new to coding and modding in general... but hey I'm trying to learn as I go I guess! lol
  3. Oh it is? Interesting... its there anymore information where I can read about that? I couldn't find that in this thread, except for a download link aimed only for developers.
  4. I've been testing out this mod and there's strange issues I've been noticing... the game seems to love crashing every so often whenever I switched weapons or if I had thrown my lightsaber, or if I alt-tab, or load a new game, etc. At first I thought these were all unrelated random issues, and it only happened once in awhile which I thought was strange. But after extensive testing with trial and error I actually pin pointed all this to holstered saber hilts.... for some reason? I discovered how to recreate the crashes by doing the following: - While using two lightsabers, turn them off (but not holstered and don't switch to a gun) - Use force throw and the left lightsaber remains off - This error message appears sometimes "RE_RegisterModel: NULL name" - Reload game, alt-tab, or switch guns (with that one saber turned on) - CRASH! Here's another one: - While using two lightsabers, turn them off and holster them (but don't switch to a gun) - Do a special attack (like crouch + attack) and only the right lightsaber turns on - Character is now acting as if he is holding both sabers, despite the left saber still being off and holstered - This error message appears sometimes "RE_RegisterModel: NULL name" - Reload game, alt-tab, or switch guns (with that one saber turned on) - CRASH! Now yes I will admit... I have been doing a few experiments with the code, BUT just now I did a full 100% reinstall of this mod with zero other mods/changes and this issue still exists. The only difference I saw was that my version has the "RE_RegisterModel: NULL name" message but that's it, the crashes and everything else is the same. I'll continue to do tests and comparisons in the memetime, but I hope someone can help out!
  5. A shame that so many up and coming enhancements/mods for JK3 I see like this almost always focus on MP only and treats SP as an after thought... extremely rare that SP is held to the same level (at least from what I've seen) even though SP offers, arguably, more diverse variety and possibilities compared to online and less engine/gameplay restrictions overall (different character/combat animations, just to name one example) except for the fact that its not online..... obviously. I get that its because of MP that this game's community is still even alive today... but still. :/ Well the screenshots were nice to look at I guess, lol!
  6. Oh yeah that's a good point! I actually got it now! It was hard to find at first because it wasn't easily identifiable at first, but it did relate to force levels. I changed a lot more than that too actually, cause I like doing experiments with the code. Here are alterations I made under wp_saber.cpp (for Single Player, I haven't tested Multiplayer yet). Here I enabled a 4th level for lightsaber throwing, and also changed the range of distance for them altogether: //NOTE: keep in synch with table below!!! int saberThrowDist[NUM_FORCE_POWER_LEVELS] = { 0,//none 250, //256, 500, //400, 750, //400 1000 }; //NOTE: keep in synch with table above!!! int saberThrowDistSquared[NUM_FORCE_POWER_LEVELS] = { 0,//none 62500, //65536, 250000, //160000, 562500, //160000 1000000 };Here is the main thing that I was looking for that I couldn't find at first, which affects the spinning speed: switch ( self->client->ps.forcePowerLevel[FP_SABERTHROW] ) {//FIXME: make a table? default: case FORCE_LEVEL_1: saber->s.apos.trDelta[1] = 600; break; case FORCE_LEVEL_2: saber->s.apos.trDelta[1] = 800; break; case FORCE_LEVEL_3: saber->s.apos.trDelta[1] = 1200; break; case FORCE_LEVEL_4: saber->s.apos.trDelta[1] = 2000; break; }And then this next one is the most I've screwed with... here I made changes to speeds, added the 4th level behavior, and also decided to make it so it continues cutting the wall without returning to your hand. I also made it so level 3 and 4 sabers will continue spinning when returning to your hand! void WP_RunSaber( gentity_t *self, gentity_t *saber ) { extern qboolean returnDamage; vec3_t origin, oldOrg; vec3_t saberMins = { -3.0f,-3.0f,-3.0f }; vec3_t saberMaxs = { 3.0f,3.0f,3.0f }; trace_t tr; VectorCopy( saber->currentOrigin, oldOrg ); // get current position EvaluateTrajectory( &saber->s.pos, level.time, origin ); // get current angles EvaluateTrajectory( &saber->s.apos, level.time, saber->currentAngles ); // trace a line from the previous position to the current position, // ignoring interactions with the missile owner int clipmask = saber->clipmask; if ( !self || !self->client || self->client->ps.SaberLength() <= 0 ) {//don't keep hitting other sabers when turned off clipmask &= ~CONTENTS_LIGHTSABER; } gi.trace( &tr, saber->currentOrigin, saber->mins, saber->maxs, origin, saber->owner ? saber->owner->s.number : ENTITYNUM_NONE, clipmask, (EG2_Collision)0, 0 ); VectorCopy( tr.endpos, saber->currentOrigin ); if ( self->client->ps.SaberActive() ) { if ( self->client->ps.saberInFlight || (self->client->ps.weaponTime&&!Q_irand( 0, 100 )) ) {//make enemies run from a lit saber in flight or from me when I'm attacking if ( !Q_irand( 0, 10 ) ) {//not so often... AddSightEvent( self, saber->currentOrigin, self->client->ps.SaberLength()*3, AEL_DANGER, 100 ); } } } if (tr.startsolid) { tr.fraction = 0; } gi.linkentity(saber); //if (tr.fraction != 1) //{//touch push triggers? // WP_SaberImpact(self, saber, &tr); //} if (saber->s.pos.trType == TR_LINEAR) {//home //figure out where saber should be vec3_t forward, saberHome, saberDest, fwdangles = { 0 }; VectorCopy(self->client->ps.viewangles, fwdangles); if (self->s.number) { fwdangles[0] -= 8; } else if (cg.renderingThirdPerson) { fwdangles[0] -= 5; } if (self->client->ps.forcePowerLevel[FP_SABERTHROW] > FORCE_LEVEL_1 || self->client->ps.saberEntityState == SES_RETURNING || VectorCompare(saber->s.pos.trDelta, vec3_origin)) {//control if it's returning or just starting float saberSpeed = 500; float dist; gentity_t *enemy = NULL; AngleVectors(fwdangles, forward, NULL, NULL); if (self->client->ps.saberEntityDist < 100) {//make the saber head to my hand- the bolt it was attached to VectorCopy(self->client->renderInfo.handRPoint, saberHome); } else {//aim saber from eyes VectorCopy(self->client->renderInfo.eyePoint, saberHome); } VectorMA(saberHome, self->client->ps.saberEntityDist, forward, saberDest); if (self->client->ps.forcePowerLevel[FP_SABERTHROW] > FORCE_LEVEL_2 && self->client->ps.saberEntityState == SES_LEAVING) { if (self->enemy && !WP_SaberValidateEnemy(self, self->enemy)) {//if my enemy isn't valid to auto-aim at, don't autoaim } else { //pick an enemy enemy = WP_SaberFindEnemy(self, saber); if (enemy) {//home in on enemy float enemyDist = Distance(self->client->renderInfo.handRPoint, enemy->currentOrigin); VectorCopy(enemy->currentOrigin, saberDest); saberDest[2] += enemy->maxs[2] / 2.0f;//FIXME: when in a knockdown anim, the saber float above them... do we care? self->client->ps.saberEntityDist = enemyDist; //once you pick an enemy, stay with it! saber->enemy = enemy; //FIXME: lock onto that enemy for a minimum amount of time (unless they become invalid?) } } } //Make the saber head there VectorSubtract(saberDest, saber->currentOrigin, saber->s.pos.trDelta); dist = VectorNormalize(saber->s.pos.trDelta); if (self->client->ps.forcePowerLevel[FP_SABERTHROW] > FORCE_LEVEL_2 && self->client->ps.saberEntityState == SES_LEAVING && !enemy) { if (dist < 200) { saberSpeed = 400 - (dist * 2); } } else if (self->client->ps.saberEntityState == SES_LEAVING && dist < 50) { saberSpeed = dist * 2 + 30; if ((enemy && dist > enemy->maxs[0]) || (!enemy && dist > 24)) {//auto-tracking an enemy and we can't hit him if (saberSpeed < 120) {//clamp to a minimum speed saberSpeed = 120; } } } if (self->client->ps.forcePowerLevel[FP_SABERTHROW] > FORCE_LEVEL_2 && self->client->ps.saberEntityState == SES_RETURNING && !(self->client->ps.saber[0].saberFlags&SFL_RETURN_DAMAGE)) {//FIXME: if returning, move faster? qboolean returnDamage = 3.0f; self->client->ps.saberEntityState = SES_LEAVING; saberSpeed = 800; if (dist < 200) { saberSpeed -= 400 - (dist * 2); } } if (self->client->ps.forcePowerLevel[FP_SABERTHROW] > FORCE_LEVEL_3 && self->client->ps.saberEntityState == SES_LEAVING && !enemy) { saberSpeed = 800; } VectorScale(saber->s.pos.trDelta, saberSpeed, saber->s.pos.trDelta); VectorCopy(saber->currentOrigin, saber->s.pos.trBase); saber->s.pos.trTime = level.time; saber->s.pos.trType = TR_LINEAR; } else { VectorCopy(saber->currentOrigin, saber->s.pos.trBase); saber->s.pos.trTime = level.time; saber->s.pos.trType = TR_LINEAR; } if (self->client->ps.saberEntityState == SES_RETURNING && !(self->client->ps.saber[0].saberFlags&SFL_RETURN_DAMAGE))//type != SABER_STAR ) {//if it's heading back, point it's base at us fwdangles[0] += SABER_PITCH_HACK; saber->s.apos.trType = TR_INTERPOLATE; VectorClear(saber->s.apos.trDelta); } } }Hopefully this helps out with others wanting to edit lightsaber throwing more. I'm still very new to this (as well as coding in general) and I'm learning as I go, so it might be a bit messy lol. This code was originally based off a combination of custom OpenJK source code and Jedi Academy: Enhanced, before I made these changes that is. The next things we need that would be cool is to have custom trail effects for specifically throwing the lightsaber, that way it can have a cool spinning look to it. Maybe even a way to throw a 2nd lightsaber? I'm sure these two things are possible, but haven't figured them out yet.
  7. Ah okay that makes sense, I'll try that out. Thank you very much for the info!
  8. I've been spending the last 3 days trying to change the saber spin speed and nothing works, and there is nothing in the codes that references this at all. The code here changes the flight speed, but I'm try to change the rotation speed.... absolutely no where to be found and I'm at a complete loss.
  9. @@redsaurus You're prolly already aware, but when picking up another lightsaber the crystal will also affect that lightsaber too. Do you think this is fixable at all? @@mjt That is very possible to add, just requires simple tweeks with the coding. I'm assuming you are talking about the the max limit of NPCs that can be dismembered in a level? Default is 16 or something, but in my game I have it set to 128! I even set it so that body parts don't disappear! As for blood mods, those seemed to work for me automatically. Other than that, dismembering works perfectly fine for me even without editing the code.
  10. I didn't see this mentioned when using the search engine but if it was then.... oopz!! But in regards to Redsaurus' SP Customization I noticed that when using a black/unstable crystal, it will transfer over when picking up someone else's lightsaber (if thats enabled). I mentioned in his thread but figured I'd mention it here too I guess! (also because I can only edit this post and can't delete it anyways, lolololol)
  11. Ah that's cool! Also great timing too, as I was just very recently doing experiments with lightsaber glows/cores in the coding!
  12. Hmm, while that makes 100% perfect sense IRL... on the other hand have you ever seen black light? I haven't seen IRL, but I have seen in JK3 mods cause apparently that's perfectly fine lol! But dark blue or dark brown? Holy S**T that's just too much!! Point is, its unofficial mods for a videogame based on a non-fictional magical sci-fi movie series... I don't think that it has to be completely realistic haha!
  13. Yup that's right! Another question thread by yours truly! Today's question is...... whether or not it is possible to enable "dark" RGB colors? I don't know if there's a term for this, but basically a way to include the spectrum of RGB that produces darker colors (dark brown, black, etc). Normally for the various RGB saber mods I've seen, lowering the numbers down to a certain point doesn't make it darker but instead it changes the transparency until the glow is completely invisible. I understand this is most likely done on purpose, but regardless it also means that this isn't true RGB... in reality it is only half RGB imo. That being said... is it possible to change this? If so, would this be a bad idea? It must be possible to some extent, since I've added darker saber colors myself manually the old fashioned way in the past... and of course there's those black sabers floating around in many different mods so it must be possible based on this right? If anyone has any good input, please let me know!
  14. "Aww c'mooon, if it's money you want then name ur price!"
  15. Greetings! I have a question that relates to a thread I made awhile back. I had the random thought on if it were possible to enable the player's lightsaber to damage/dismember their own body? We figured its most likely related to hitboxes, but in order for the lightsaber to detect the player's hitbox itself as a "target" then I imagine that would require some sort of coding. Is such a thing even possible? I'm curious cause, even though such an idea is completely pointless and silly, it could be interesting to pull off and have pretty funny results (with dismembering limits turned off of course)! For example, if you use the "hilt spinning" taunt but then turn the lightsaber on then the blade clips through your neck with no damage, however that would be hilarious if such a thing could actually kill you and lop your head off. (Or if an NPC does it to themselves, lol)
  16. @@DT85 Oh nice! This looks like it could be very useful for NPCs and such. In addition to unstable cores, does this also work with different colored cores too? (black, colored, non-white, etc) Either way, I'll be sure to try this out next time I get the chance.
  17. Ah okay! Well I tried this code in cg_info and sadly it did not work: { levelshot = cgi_R_RegisterShaderNoMip( va( "levelshots/%s", s ) ); #ifndef FINAL_BUILD if (!levelshot && !strncmp(s, "work/",5) ) { levelshot = cgi_R_RegisterShaderNoMip( va( "levelshots/%s", s+5 ) ); } #endif if (!levelshot) { levelshot = cgi_R_RegisterShaderNoMip( "menu/art/unknownmap" ); } else if (!levelshot) { levelshot = cgi_R_RegisterShaderNoMip( "menu/art/unknownmap0" ); } else if (!levelshot) { levelshot = cgi_R_RegisterShaderNoMip( "menu/art/unknownmap1" ); } else if (!levelshot) { levelshot = cgi_R_RegisterShaderNoMip( "menu/art/unknownmap2" ); } else if (!levelshot) { levelshot = cgi_R_RegisterShaderNoMip( "menu/art/unknownmap3" ); } else if (!levelshot) { levelshot = cgi_R_RegisterShaderNoMip( "menu/art/unknownmap4" ); } }I'm sure theres something more that needs to be done or something different, and perhaps more than just one file that needs to be edited.
  18. Sounds kewl, I may experiment with this myself as well!
  19. Hey there! I know that theres a way to set multiple random loading screens (unknownmap) since I've seen this done before in ForceMod III and a few other modpacks here and there. I'd like to figure out how to achieve such a thing with my own content but not quite sure how to approach it since I'm still new to this. Also I can't find any available source code that uses this so I can't see how it was done. For example, I found this under ui_main but not sure how to set it for multiple random images: /* ================= Menu_Cache ================= */ void Menu_Cache( void ) { uis.cursor = ui.R_RegisterShaderNoMip( "menu/new/crosshairb" ); uis.whiteShader = ui.R_RegisterShader( "white" ); uis.menuBackShader = ui.R_RegisterShaderNoMip( "menu/art/unknownmap" ); }And this under cg_info: { levelshot = cgi_R_RegisterShaderNoMip( va( "levelshots/%s", s ) ); #ifndef FINAL_BUILD if (!levelshot && !strncmp(s, "work/",5) ) { levelshot = cgi_R_RegisterShaderNoMip( va( "levelshots/%s", s+5 ) ); } #endif if (!levelshot) { levelshot = cgi_R_RegisterShaderNoMip( "menu/art/unknownmap" ); } }I've seen other strings of code that can randomize sound effects, NPC spawning, and other things... but for menu related things I'm not too sure. I'd appreciate any ideas or tips! :3
  20. @@The New Order Sorry for the bump but... link is dead? And the 2nd link posted was exactly the same, thus also dead... lol. Would appreciate a new link, if it exists. Thanks!
  21. What's wrong with Google? I find those type of arguments funny based on hating a company, instead of actual logical ones haha.
  22. God damn it, I f**king knew it. I knew it was going to be something really stupid and small I had overlooked.... so yes it was debugged, and here is why. So I completely forgot (and didn't even notice at first) that the build created a completely different output folder separate from the debug builds. I kept taking my compiled content out of the debug folder instead of the release folder lol... I also just now went into the game just in case and yup everything works perfectly! Like... I'm sure I would have found out eventually but I really really hate spending a long ass time on an issue trying to figure it out by myself (so I can learn better) until I eventually decide to ask someone for help, and then I find out the solution by myself shortly afterwards... that always happens it seems, lol. I think one of my main problems is that I focus way too much on details and way too much on advanced things when it comes to modding content or figuring stuff out. As a result I sometimes forget to look at the bigger picture! Oh well... I really appreciate the help, as well as any other help I would have gotten if I hadn't found this out just now lmao...
×
×
  • Create New...