Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Drahsid

Pages: 1 2 [3] 4 5 ... 28
Turok 3 Shadow of Oblivion / Re: Turok 3 Mouse Input and other goodies
« on: February 10, 2020, 03:49:03 PM »
You cannot modify the FOV when running in dynarec mode. Possibly similar issues with fps.
Quite frankly, you shouldn't use a frontend, they all suck.

Turok 3 Shadow of Oblivion / Re: Turok 3 Mouse Input and other goodies
« on: February 08, 2020, 08:52:43 PM »
Let me know when he's live, I'd love to watch!

Turok 3 Shadow of Oblivion / Turok 3 Mouse Input and other goodies
« on: February 07, 2020, 04:10:23 PM »
What is this?
Knockoff Turok 3 EX?
This is NOT a PC port. This is merely a collection of memory hacks that have sprung from my reverse engineering utilizing my fork of Mupen64Plus

What does this give you?
  • Mouse input with customizable look-sensitivity
  • 60 FPS mode
  • Custom FOV

What problem does this solve?
This completely bypasses the joystick, so you are not limited to the game's interpretation of the stick input. You are not limited to the -128-127 range on either axis.
Furthermore, who doesn't want to play at 60 FPS?

Cool. How do I get it?
Download any version of Mupen64Plus that is not Mupen64Plus-nx!!
Download and extract this into the root directory of Mupen64. This should replace "mupen64plus.dll", and you should see a new folder called "scripts."
That's it, run Turok 3 in Mupen!

Note that for proper keyboard controls, you will have to configure the input of Mupen to use your desired buttons. I will not go over how to do that but do highly suggest sharing your configurations when you get something that you like.

How do I configure the options?
In the Mupen64Plus directory, navigate to ./scripts/Turok 3 - Shadow of Oblivion (U) [!]/ and edit MouseInput.wren with your text editor of choice. The options have comments describing their relevance.

  • If you get an issue related to the input plugin, replace it with this
  • When playing at 60 fps, some levels cannot be completed due to some scaling issues.
  • Climbing ladders is inconsistent and sometimes buggy.
  • You cannot modify the FOV when running in dynarec mode

Other notes
You can press  HOME to lock/unlock the mouse
If you fancy learning a high level scripting language, you can use what I have already set up to make more memory hacks that may do a plethora of things.

Special thanks to Kaiser

You might find it to be cleaner to edit and update your prior posts

for example

Edit (2/6/2020): Done with 123 lines of code.

Look I understand what you say, I just said before there's more than that but you seem to be a pro at reverse engineering Turok 3.
Here his what I want you to do man, go make the PC Turok 3 port beings you know a lot about this sort of thing man That way I can put my work into something else.
I'm not a professional at reverse engineering. It's a hobby that I do for fun. That being said, I still have knowledge about it that surpasses the fundamentals. I could be wrong about my assessment, no doubt! However, when I compare what you write, and the context of that to what others who are undoubtedly greater than I am at RE, you seem to miss the mark. I'm skeptical, so I am saying these things. You understand I'm sure.
I won't make a Turok 3 port that is purely based on reverse engineering. I'm not crazy. If I ever decide I want to remake Turok 3, the most that I will do is reinterpret game-logic.

But, what confuses me is you seem to have a big background link us some of your projects aka source code that way we can see it I would love to see your work.
I'll show mine when you show yours :meaw:
I kid of course. A lot of what I do is on my GitHub, or posted somewhere online. A lot of people find my discoveries interesting, and thus I share them.

Funny thing, I've already done that for Turok 3. Mouse look, 60 fps, and some more goodies later.

Simply outputting the results of the MIPS asm to file is the same thing as tipping a garbage can over for it's contents. There is so much more that you have to do to turn the MIPS disassembly into good C code. Unless you're doing this by hand, I'm not really sure these many lines of code you're getting as C is very impressive. I could go into the procedure that represents the gameplay loop and get thousands more instantly. What is this decompiled code for? What does it do? Without that knowledge you just seem to be posting progress updates to bump the thread.
Quote from: MecaCool
Also, if you are really experienced in reverse engineering Turok 3 or Turok rage wars then why have you not made a port by now.
This is probably the strangest thing of all. Are you serious? Even with C source code that compiles to a 1:1 rom, the team working on the SM64 PC port is not done, and in fact have many challenges to overcome. They are only fortunate enough to have this progress due to the lack of an -Ox option when Nintendo built the rom. Turok 3 and RW are nothing like this. Bigger, more complicated games that are optimized by the compiler.

That being said, this could be some sort of huge language barrier, and perhaps you're not the best with English. I would love to see that GitHub and entirely revoke my previous words.

I never knew about this Rage Wars mouse injector from Carnivorous, but I do hope it handles the memory allocation properly.
That aside the more that I see you writing about your progress, the more I get flashbacks from when I was just getting into programming a d doing things that were way over my head.
To clear some things up: that job opportunity is to work on the Kex engine. To public knowledge, it is mostly that, and any game involvement is only for Kex engine games.
Back to my main quarrel here, I HAVE done a lot of reverse engineering on Turok 3 and Rage Wars. I would love if it was as easy as just turning MIPs to C (as you make it seem), but this is not the case. Describing line numbers and all the like as for what your progress seems silly to me. 224,980 total lines of code?! Where did you even get that from? Alongside this, you write strange things like "i-d-a" (using Ida over Ghidra?) and this all just seems to be a mess to me. I don't want to beat you up over being inexperienced.
If you do have any progress at all, or want to learn how to better get started, I would be glad to help. I am most responsive on the Discord (my tag is Drahsid#5152), however I do check the forums often enough.

Turok 3 Shadow of Oblivion / Re: N64UNPAK Tool ?
« on: December 28, 2019, 01:09:05 PM »
I don't want to be negative or disrupt anyone's hope, but based on what you write I can't help but be skeptical.

What I mean:
...I just got done adding support for the following rom's and file extensions with the tool "N64UNPAK Tool"
Atari 7800
Atari Jaguar
Capcom Play System 1
Capcom Play System 2
GameBoy Advance
GameBoy Color
Nintendo 64...
Why does N64UNPAK Tool need to handle formats for other, and vastly different hardware? extractor tool to Dump all the contents from a ".n64 Rom" or N64 File if you want to call it that...

I'd quote all of them if I were mean, but anyone who's worked with N64 games in this sense knows that the rom format which you would use is .z64.

So, in other words a universal "N64 Rom Extractor"...

This is kinda vague and ambiguous if it makes any sense, and in such a case there are some tools that already fulfill such a purpose.
In the more likely case; that it does not make any sense: N64 roms don't have a real filesystem that you can extract, in an overwhelming most cases, it is literally just read-only-memory. Unless you're trying to extract particular things (chances are there is a tool for most of these particular things, especially textures), the rom itself is already the extracted data. Is this Rom Extracter tool supposed to be some sort of hub for other tools instead?

I found out that each n64 rom holds these file types "png , wav , map, exe, dll , cfg" So these files can be extracted from the roms easily.
I've also got done the  classes for open read write so next is to do some classes for opening pacific file extensions
Then, make some read and write classes for pacific file extensions.

  • PNG images are very unlikely to be in an N64, especially considering how little memory it had for textures. Not to consider how new and unlikely PNG was.
  • While Irix did have some features to support dos-like things, the N64 does not have embedded executable files, nor libraries. This is a pretty crazy thing to assert; the source just became code when they were compiled.
  • cfg file on rom?

But, A question for anybody that can answer it which model file extensions was used for n64 games. Like did shadow-man n64 use 3d models or sprite-batches
In this time, there wasn't really much of a standard for model formats. This stuff was new. The model format differs per-game pretty regularly. Mayhaps you could reference the graphics microcode used for a particular game and make some guesses from there. The RDP is more complicated than the fully-fledged Reality Engine from the hardware that many games were developed on. It is more complicated than some ancient and archaic opengl.

If you've got something to show, I'd love to see it in action, say an alpha or something; maybe make it open source. Though it really seems that you made a promise to make software that you fundamentally do not understand. If that's the case, don't fret, it's alright; if you're really interested in it, take a step back, do some research, read many documents, ask questions, and return to the project when you have a clear idea for what you want to make.

Coincidentally I have put this together recently. :turok:
If you're serious about this, I already have a lot of knowledge about Turok 3's version of CEngine; and moreso does Kaiser know about CEngine generally.
Moreover, if you know something I don't, I'm all for documenting this ancient knowledge. Make a pull request will ya'  ;)

Turok Evolution / Re: Turok Evolution Community Fan Game
« on: December 08, 2018, 04:07:13 PM »
Iirc I have no intentions on resuming this project.
I have other stuff that I'm working on, and I'm sure that Nightdive will eventually get to this.

Pages: 1 2 [3] 4 5 ... 28
SimplePortal 2.3.6 © 2008-2014, SimplePortal