Leaderboard
Popular Content
Showing content with the highest reputation on 08/31/2018 in Posts
-
2 pointsIt's been an eventful week. I have more discoveries to report, on another case of me breaking something and then everybody putting it back together again. Only this time, it broke because I was doing things the right way! It was only when I screwed up that I got the results I wanted.... So, I've been porting areas for a while. During the MDLEdit beta testing, once editing areas became a thing, I got some of Dantooine ported to K2 quite nicely: But for every attempt after that, something went wrong, like the latest one on Taris here: Some of the rooms don't render. When I got to Taris, this was after a handful of failed modules like this, and I finally realized the rooms that aren't rendering are only those without any real walkmesh data (no aabb node on the model and an empty WOK file). Even though the layout and visibility files were set up correctly (they're the original ones from K1) and all the textures were there, and so on, these rooms would not render. On Taris, all the walkable parts of the area would show, but the skybox and background buildings would not. I'd noticed before that K2 rooms have a tendency to include walkmeshes even when they shouldn't need them. Skyboxes were immediately obvious and suspect. You're not supposed to walk in the sky. Yet they were there, and though I didn't understand why, I tried adding a walkmesh to one of my problematic rooms on Taris and got it to render: After deleting the unneeded WOK file but leaving the MDL & MDX intact, I was able to confirm that K2 does not actually require a WOK file. Also, copying the original (empty) WOK files from K1 did not help with the rendering. It seemed only the presence of the aabb node was needed to get it to show. But the Dantooine skybox has no such node. The game was rendering it even without one. It couldn't be that K2 requires an aabb node for rooms. I had a working Dantooine to point to. I kept saying "This works! Why does this work?!" Well, lots of thanks to @bead-v for troubleshooting, and also @ndix UR for providing some suggestions. It took days of thinking and testing to figure out, but now the answer is clear: room models without an aabb node might not be visible in K2. Because obviously it was that. Of course K2 has different requirements from K1 that nobody predicted. The reason Dantooine was working for me was because when I set up the module, a year ago, I forgot to include the VIS file. Apparently, the lack of any visibility list forces the game to render every room all the time... even when it would have trouble rendering them otherwise. The counter-intuitive consequence of this was that when my module was set up incorrectly, everything that was supposed to be there would be there; when the module was set up correctly, stuff would fail to render. Naturally, I only forgot the VIS file the one time, and included it in every subsequent porting attempt, and therefore got unsatisfactory results. Every time I set things up correctly, the game would not behave, because apparently K2 has a higher standard for what qualifies as an area model than K1 does. So the upshot is that areas ported from K1 to K2 will have problems because of rooms lacking aabb nodes (probably every skybox, and more). Also, all rooms created for K2 must meet the same requirements, or else they won't render; everything needs an aabb node even if it doesn't require a walkmesh. bead is working on an update to MDLEdit to address this issue - an option to add a dummy aabb node when needed. The specifics are still being debated because of a complication in detecting whether a model is an area model. Apparently, the only way to do that is to check for an aabb node or the presence of a WOK file, since those are things that only areas have. I suspect the complication in solving this problem may in fact be the cause of it - that at some point in development for whatever reason, Obsidian introduced an aabb node requirement because it was the only viable way to check if the model was an area model and should be rendered... and then that meant every model required them. Given that K1 rooms can lack aabb nodes (that's the whole problem) the only other option is to check for a WOK file. Therefore, areas should be compiled with their original WOK files present, when applicable - in the same way that character models require supermodels. The part of this that I can't get over is I happened to misplace one file one time, and that mistake is what made KOTOR behave. If I hadn't screwed up, there wouldn't have been a working example for us to look at. We wouldn't have identified the problem without that, or at least we would've had a harder time of it. So the moral of the story is you can't look at how things work and use logic and reason to plan your modding course of action, because the game won't accept that. You have to approach KOTOR like a blunt instrument. Make mistakes that work.
-
2 pointsRevanFanMan, Here, it's ready. Now the blaster can be modified. It is slightly weaker in power than the usual Mandalorian repeating blaster, as is the original of the first part. This prompted me to release the appropriate modification)
-
1 point
-
1 pointJaesa is a Warrior (Juggernaut/Marauder) companion, along with Vette, Quinn (ugh), Pierce, Broonmark. The Inquisitor (Sorcerer/Assassin) companions are Khem Val, Andronikus, Ashara, Talos, Xalek.
-
1 pointThanks for the detailed explanation. What I mean with salute animation is something I noticed when looking at the camera feed at the Sith Base in Taris. You would see Sith Soldiers ridiculously looping through some sort of stand at attention animation. If you have a chance, please take a look there and tell me if that doesn't irk you too.
-
1 pointHere's my old and current character Darth Mavru. He is a Sith Pureblood Inquisitor. I have not played in over a year so my status is currently inactive.
-
1 pointI would definitely recommend using a standard object serialization format for your textual representation. Either JSON or YAML. YAML is messier as a standard (far more complex parser and encoder), but more human-readable and can have comments. JSON is simple, but hand editing in a text editor is a little trickier because its parser is more rigid (also making it much easier to implement). With either format, you wind up using a more complicated structure if you're modeling the actual GFF data. The format VP showed is nice for export/viewers/other contexts where reconstruction isn't necessary. Here's one way to do the typed version: [ { type: "struct", value: { "DelayEntry": { value:0, type:"dword" }, "DelayReply": { value:0, type:"dword" }, "NumWords": { value:0, type:"dword" } } } ] An approach for retaining type while using the simplified/export version of the JSON might be to have a tool that reads a full GFF file and exports another json object with pathed type info. Like /DelayEntry: "dword", /EntryList/Text: "cexolocstring", etc. Then have the 'compiler' combine that info. Could even just run it on sample files for all types and put it into a structured type dictionary with path lists per type. Personally I've been using GFF->JSON for awhile and it would certainly be my preference, but once you're creating the structured objects, yaml or json is a one line code change. Avoiding writing your own parser is a good thing. I'll just leave this here: cexolocstring Text -1 0 "This is a cexolocstring English male variant. I "hate" my life now." 1 "This is a cexolocstring English female variant. Why did someone put a descriptive paragraph 1 \"in here\". " 2 "This is a cexolocstring French male variant. \tIt is also a long string that contains an internal multiline string \"Write your own parser, they said. It'll be fun, they said.\"" Parsing that isn't my idea of fun. I guess the question and limiting factor here is whether 3DS gives you a native JSON/YAML(or any standard format) parser? Also whether it gives you base64 encoding/decoding (there's a "void" type in GFF which is just raw binary data)...being a proprietary language, your ability to extend and rely on existing libraries and language features is probably not so good?
-
1 pointTo my knowledge, the Sith don't have a custom saluting animation, so no. What I've gotten rid of is this beauty: And the idle animations on the other Sith models. I guess BioWare put them in to give them some variety, but they only made the idle anmations, so there's no transition between them and the stock set, making it jerky. I didn't like it, and didn't think the new animations added anything particularly valuable to the game in the first place.
-
1 pointFantastic! Many thanks for the efficient-yet-rather-effective tutorial DarthParametric! I'm in progress on practicing this information now. I will attach the said tutorial in the first post to have the potential reader an easier access to its knowledge. Again, thanks! And very much appreciated. ____________________________________________ Anyways, I just found something that is quite "important" while ago; I surfed through the game files with the KotOR Tool and found a cubemap which labeled "CM_eh", and then leads me to assuming that it was linked to the Ebon Hawk's specularity. And yes it is; I opened the file using PS and there are E-Hawk's reflections init. So, I fiddled around with the vanilla EH's textures and have them all implemented with the said cubemap- assigning vanilla bump-map to the linked textures and later having this results: This is the entrance/exit passage of the Ebon Hawk. I haven't checked the bump-map inside this room model so as we can see there are no bump-map applied there; but more-or-less, this how the room looks with the "CM_eh" applied to the textures: This is the Hawk's dorm, and bump-map feature has been checked for this room. This one of the Hawk's alley'; no bump-map applied but "CM_eh" has been utilised on them textures. This is the intersection near the engine-room. The bump-map and "CM_eh" has been applied in this room model. This is the Swoop's room; I ended-up changing the alpha on the bike with the standard reflection because the vanilla alpha is not really effective, I mean; I am certain that BioWare wanted to give the impression that the Swoop was having an incident before, looks from the reflection it gave. It produces an inside-bump-and-dents-like reflection but I don't know, maybe the execution could be nicer, I think. This is the cabin whom Juhani used to chill. No bump-map applied yet in that room. This is the cockpit. Bump-map applied. This is too from the cockpit but from another point-of-view. This is not really vanilla because as we can see there are Sith Holocron's "KOTOR2 More Subtle Animated Ebon Hawk Monitors (still not including Galaxy Map)" and Fallen Guardian's "Ebon Hawk Texture Enhancement" computer panel featured there. Must haves! And this is the Hawk's center room. Bump-map applied. Edit: ndix UR's "Ebon Hawk K1 Fixes" are featured in the screenshots. ____________________________________________ To tell the truth, the primary motivation of this research was because of this screenshot of Ebon Hawk's interior from one of Apeiron's tweet while ago. I know, and it was obvious; different engine means different results. And even if with the same engine but with the wrong application of feature could leads to different results too. I only kind of curious about how optimal is this [IIRC] Odyssey Engine could be? Many thanks for taking your time here. Hope this finding kind of helps.
-
1 pointSome general tips. When importing level models, in order to see what you are doing you'll typically want to change to default lighting: And hide walkmeshes: In this case things were pretty simple as there was already an existing mesh that could be duplicated for the water mesh. It was simply a case of selecting the mesh, going to Edit->Clone, choosing the Copy option (you must choose Copy in order to get an actual standalone duplicate), giving it an appropriate name, and then hitting OK. Then, with the new water plane object selected, go to the Editable Mesh modifier and enable the Vertex sub-level. Select all vertices and with the Move tool position them appropriately. You may also need to use the Scale tool in order to resize the mesh, if necessary. Now you can create a new water material and apply it to the mesh. Then edit the OdysseyTrimesh modifier options. Turn off Lightmapped, set Self Illum to pure white, enable Bumpmappable if it isn't already. Then you are pretty much done. Make sure your new mesh is a child of the base, then export and compile. In other cases you may need to create custom meshes, for example the rectangular trough from the initial central walkway model.
-
1 pointThanks for the heads-up! Yes! I have tried using "LUN_water01" as an exchange for "LMA_water02", and then using the vanilla "PLC_FntnMtl", I tweak the alpha to show its reflection bolder. It is obvious, your "DP_FntMetal01" shows better details there 😁 To tell the truth, I'd prefer the "LMA_water02" than "LUN_water01"- as it looks more natural. It fits well with the fountain panel and Taris' ambience overall, matter of personal preferences really. 😁
-
1 pointYes, you could edit the room model to add a water plane, maybe some fountain VFX nodes. That particular section of walkway would appear to be M02ac_02c. Edit: Here's a quick and dirty example. A simple plane with one of the Manaan pond water textures (not sure if it is the best option) and some emitters stolen from the metal fountain placeable and duplicated three times: I was actually thinking more in the vein of a traditional vertical type of fountain. I was sure I had seen something like that in one of the games, but it seems like there's nothing of that sort in K1 at least.
-
1 pointIt was (fortunately) somewhat less work than I feared. I was able to remap the Selkath body to a scaled up version of the Human rig (Selkath are freaking huge). I had to replace their giant hands with modified Human hands so they would animate properly with the new rig. I lopped off a couple of the fingers so it was the same configuration: I also got the UVs in the wrong spot, but that's easy enough to fix. Edit: Fixed, or at least approximated as close as possible based on a completely different unwrap: Here's some combat. I edited the UTCs to give them a mix of sabers and some appropriate melee feats like power attack, flurry, critical strike: The only real problem is their giant fish head is so enormous that they have a tendency to swing their weapons right through it. There's not much I can do about that. Here's some dialogue: Naturally using a completely different rig and supermodel, they no longer have the specific conversation animations of the regular Selkath, like the stroking of the mouth flap thing (cephalic lobes, if you want to get technical). The mouth is a bit stiff and flappy at the moment as it is only using head and jaw weights. I'll have to see if the original can be more closely mimicked by including some of the other face bones. The lobes no longer have bones and specific animations, so I was thinking maybe they could be cut off and changed to dangly meshes.
-
1 pointI started on day 1, played for maybe 2.5 years or more. I stopped playing a while ago, so these are all still level 55. I have them on The Red Eclipse server. Their legacy name is Browani, a combo of Bro, which are actually the first 3 letter of my real surname, plus the family name of the main characters of the Ewoks movies. I was looking for something personal+funny+star wars, so to me I succeeded I have some more characters, also tried the more recent "start at level X" thingies, but I don't care that much about them. As you can see below I like the white outfits and I'm a real light sider. Fei-Ke (main/first char) Sage (DPS) Zon Guardian (Tank) Dana Gunslinger (DPS) Dama Commando (DPS)
-
1 pointHere are my characters. All of them are on Ebon Hawk. All Character Selection screenshots, I'm afraid. I can't frame good in-game shots and have never been able to take a screenshot while in a conversation. Name: Hulat-Neran Legacy Name: Resonare Class: Sith Inquisitor Level: 65 Specialty: Sith Sorcerer (Lightning path) Legacy Founder. Almost all of my other characters have something to do with her. I dropped a lot of credits on her outfit, still not satisfied with it. Name: Xadatus Legacy Name: Resonare Class: Trooper Level: 15 Specialty: Commando Hulat's most trusted ally, supposed to be undercover on a mission to spread dissent in the republic's ranks. Supposed to be named Xadato, but the name was taken. Name: Pertinox Legacy Name: Resonare Class: Bounty Hunter Level: 11 Specialty: Powertech One of Hulat's many agents. Name: Kaynn Legacy Name: Resonare Class: Bounty Hunter Level: 29 Specialty: Marauder Hulat's herald and expected-to-be most powerful warrior. Name: Gareel Legacy Name: Resonare Class: Jedi Consular Level: 10 Specialty: Jedi Sage Typical contemplative consular. Victim of terrible, terrible revenge. I have one other character at the moment, but I'm not crazy about his design and expect his deletion soon.
-
1 pointName: Magnis-kun Legacy Name: Alec-Empire Class: Sith Marauder Level: 15 Server: Harbinger
-
1 pointHere's my character, VarsityPuppet... Wait, something's wrong There that's better. VarsityPuppet, Red Eclipse, Jedi Sentinel, Level 14.
-
1 pointJedi Covenant Server I got a whole family cooked up. Qel-Dor Jorn, Father of Qae-Don (deceased) and Qui-Don Jorn Level 55 Jedi Sage, Telekinetics spec Qui-Don Jorn, son of Qel-Dor, brother of Qae-Don (deceased) Level 55 Jedi Sage, Balance spec Ilson Jorn, nephew of Qui-Don, grandson of Qel-Dor, son of deceased Jedi Knight, Qae-Don Jorn. Level 55 Jedi Guardian, Vigilance spec Darth V'dori Z'jinn, sworn enemy of Master Qui-Don Jorn. Level 55 Sith Sorceror, Madness spec Lord Sutoka Z'jinn, brother of V'dori Z'jinn, Level 55 Sith Assassin, Deception spec and the sworn enemy of.... Thom-Ell Th'aed, ally of Qui-Don and Ilson Jorn Level 55 Jedi Shadow, Infiltration spec. Darth Zaelus Ku, sworn enemy of Ilson Jorn Level 55 Sith Juggernaut, Vengeance spec Satei Miato, former ally of Thom'ell Th'aed before turning fully to the darkside. Level 55 Jedi Sentinel, Watchman spec
-
1 point(All characters on Ebon Hawk) I can't link images from Google Photos. So I linked the album instead. https://goo.gl/photos/YmtzpB9Ap7JknAfo6 (Main character) Name: Blasthardcheese Legacy: Immesurable Class: Trooper Advanced Class: Vanguard Level: 65 Species: Zabrak (Alts) Name: Ahsossa Class: Trooper Advanced Class: Commando Level: 65 Species: Togruta Name: To Class: Be Advanced Class: Continued Level: Species:
-
0 pointsI'm trying to change the stats of some ryyk blades that were added into the game. One of which spawns in the same locker as Zaalbar's Bowcaster, the other on Chuundar's person. (Sorry for the very late reply BTW, I've been working on other projects.) Edit: I may have found the problem actually. If baseitems isn't changed and just the uti files are, will it crash the game? Double edit: Yes! That did the trick. Thanks for your help guys. I really didn't want to give up on these.
-
0 pointsProbably the same deal. I've noticed it before, but it never bothered me as much. I'm not sure if I'll include this in the fixes, but it's attached here if you want it for personal use. n_sithsoldier.mdl n_sithsoldier.mdx