AmanoJyaku

Members
  • Content Count

    237
  • Joined

  • Last visited

  • Days Won

    11

AmanoJyaku last won the day on January 21

AmanoJyaku had the most liked content!

Community Reputation

174 Jedi Grand Master

4 Followers

About AmanoJyaku

  • Rank
    Jedi Knight

Recent Profile Visitors

7,030 profile views
  1. I appreciate the kind words, this is a silly argument that never should have gone beyond my first explanation. Like DrMcCoy, I have to feed the capitalist machine. And like many, I have real life concerns. I'm havinng to dealing with the aftermath of two deaths and two attempted suicides, so I'm not amused when someone has a meltdown over a video game.
  2. I suggest you take a breath and actually read what I wrote: I made it very clear I have nothing to give. Complain all you want, that isn't going to make code that doesn't exist magically appear. This is what I mean when I say you understand NCS. The halting probem has nothing to do with handling recursion in NCS. I've given hints in various posts as to why this is the case, but a formal document would better explain this. You're making this more difficult than it needs to be, which is exactly what I was doing for two years. And my document will explain why. This line of reasoning is why I wouldn't release source code without documentation. The reason browsers accept invalid HTML is because they're designed to. They have a defined specification they know how to work around. That code snippet comes directly from the HTML specification document, and because I know the HTML spec I can write invalid HTML that parses just fine and produces identical output as valid HTML. No such specification exists for NCS, at least nothing we've been able to recover. And you already have an example of NCS documentation without source code: Skywing's NCS bytecode reference. There isn't a single line of code there. This is not up for discussion. In order to write the source code you want I have to finalize the documentation. I've tried to avoid documentation, only to be forced to write it. End of story.
  3. That doesn't work, and there are whole books explaining the importance of documentation. The "why" is far more important that the "how", because why we do something tends to be fixed. How we achieve that thing can take many forms. The only reason I understood your GIT tree is because it resembled the thought processes and code I had written independently in the first two years. However, perusing the comments in your GIT made it clear there's a lot of trial-and-error that's lacking a methodology. I'm documenting the methodology, and in the process discovering things none of us anticipated that has hindered our progress. Fair enough, but disassembly of NCS is trivial because it's a 1-to-1 conversion and can't be compared to reverse compiling back to NWScript. I can't speak for that project, but I can speak for NCS. You've said things that make it clear you don't understand NCS. Structs don't disappear, recursive functions are easy to handle, and you're wasting your time recreating basic blocks and control-flow graphs. But to understand why you need documentation, and I'm not alone in this. Read any specification and you rarely see example code, and certainly not code you can use in production. Regardless, my position on this will not change. I'll release code when I have code to release, which will take longer than assembling the documentation I have. I think it's better if I give an example in a language most people have encountered: HTML. Let's say you're new to HTML and I gave you the following: <!DOCTYPE html> <html lang="en"> <head> <title>Sample page</title> </head> <body> <h1>Sample page</h1> <p>This is a <a href="demo.html">simple</a> sample.</p> <!-- this is a comment --> </body> </html> You might look at every tag and think I made a mistake with the <!DOCTYPE> because it doesn't have an end tag like the rest. But, how would you know? And what if I modified the example to include a break? <!DOCTYPE html> <html lang="en"> <head> <title>Sample page</title> </head> <body> <h1>Sample page</h1> <p>This is a <a href="demo.html">simple</a> sample.</p> <!-- this is a comment --> <br> <p>This is another paragraph.</p> </body> </html> </!DOCTYPE html> Should the <BR> tag be terminated with an end tag?
  4. This is why I'm not releasing the current source, because it doesn't run in the manner you're expecting. A reverse compiler is not like your typical program. Let's say we're collaborating to write a web browser, I'm an expert in image decoding and you're an expert in network transmission. The two pieces are independent of each other, if you inform me you can no longer work on the networking component that does not impact my ability to complete the image decoder. Anyone can pick up where you left off, or scrap your work and start from the beginning. That's not how a reverse compiler works. A reverse compiler works in stages, and each stage requires a formatted input. Without a properly formatted input subsequent stages will fail, which is what's happening now. The documentation I'm writing details what I understand of that format, and that understanding has changed as recently as December. Consequently, the source code has changed. In the last year alone I've rewritten the program from the ground up four times, along with dozens of minor modifications. If I released sources you'd have to toss them in the trash after you realized they don't work. This is also true for your source code. After reviewing your GIT I see you made the same mistakes I did, and that's why you've been struggling to progress. tl;dr This is not about ideology, it's about pragmatism. There's nothing special in the 1,500 lines of code I've written I feel I need to hide. I just know much of that is going to get replaced again. You're better off with a document detailing the format so if I can't figure out the remaining pieces someone else can. And the source will practically write itself.
  5. I'm not saying a reverse compiler isn't useful. But I'd like to know how the remake will change things. If the mod community moves from NWScript/NCS to something new in the remake, a reverse compiler for NCS won't be useful for much beyond historical reasons. And we have no idea if TSL will get a remake, so the reverse compiler may be necessary regardless of the KoTOR remake. So for the moment assume this is on hold rather than canceled. So far I've only seen rumors, no definitive proof beyond switching the game engine to UE. And I don't see why NWScript/NCS can't coexist with UE? I'm not giving up, just busy. And the code isn't important. What's important is the documentation I've compiled explaining how, to my knowledge, NCS works. What I've been documenting is a step-by-step model that takes individual NCS opcodes and recreates higher-level operations, which often lead to higher-level operations of their own. It's rarely a 1-to-1 reversal like "CONSTI 1, CONSTI 1, ADDII" (which is "1 + 1" in NWScipt), and often requires examining operations in various contexts. For example, the JMP opcode shows up in four types of statements: Expression statements Jump statements Iteration statements Selection statements And there are three jump statements and two selection statements. That's a total of seven contexts to examine (1 + 3 + 1 + 2). And I've identified an actual error in at least one NCS compiler. I need to figure out if the reverse compiler should try to reverse those broken files, or just quit and complain.
  6. Life's been hectic, it's been a while since I've worked on this. This is on hold indefinitely unless I get some free time. Also, I'm waiting for the KoTOR remake. It would be silly to find out the remake either includes a reverse compiler or replaces NCS scripts with something else.
  7. Where is this "Earth"? In the Unknown Regions?
  8. I would replace Mission with Yuthura, Yuthura is much cooler. 🤭 There's a hole in the admiral's head, and Juhani's neck is broken. The force really does work in mysterious ways.
  9. Maybe one of these? 601DAN_Winners 602DAN_Winners
  10. A degenerate has no ethics or morals. 😁 It means there's a problem with the geometry: Edges with no length. Faces with no areas (faces on a point or thin faces). Face corners with no area. https://docs.blender.org/manual/en/latest/modeling/meshes/editing/mesh/cleanup.html
  11. May the Fool be with you, always

    1. Malkior

      Malkior

      Happy Atton Day!

  12. Since you mentioned swkotor2.ini I assume that means TSL. The console is not visible in TSL, but it does work.
  13. Start from an earlier save, the game doesn't give second chances.
  14. WordPress? I'd rather kiss a rancor...