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 ... 28
Turok 3 Shadow of Oblivion / Turok 3 60fps, mouselook, writeup
« on: November 19, 2021, 12:01:16 AM »
Hey all, this is just a writeup about a modification that I put together ages ago but never got to releasing due to some unfortunate bugs. This supersedes the mod in this thread, as it is made for a much more accessible platform, with much more complicated code.
In any case...

What is this?
This is a mod for ModLoader64 that supports the US release of Turok 3 which allows you to use a couple tools and features:
  • 60* fps (dynamic and static)
  • 60** hz engine tickrate
  • mouselook
  • high level profiling
  • game object debugger

* = when using the static option, the game targets 60 fps, and will run in slow motion of you do not hit this target; when using the dynamic option, the game will run relative to your performance.
** = options are available to dynamically scale the engine tickrate, as well as normalize it to have the same ratio as it (1/2 framerate) does normally.

Where can I get it?
You can download the mod here
To use this mod, you must have ModLoader64 installed, simply put the mod in the mods folder and enable it on the launcher before you boot into Turok 3 US.

Feature Rundown
When you boot into the game, you will see 2 UI with various options on them. In this section I will go into detail about the options.

Mostly everything is controllable through the options menu, however, there are some functions that I mapped to the keyboard:

/: When pressing / you will toggle mouselook. When mouselook is toggled, the mod automagically binds these keys:
  • Left Mouse = Z
  • Space = R
  • A = CLeft
  • W = CUp
  • D = CRight
  • S = CDown
  • Q = A
  • Right Mouse = B
  • Middle Mouse = L
  • Return = Start
  • Z = DLeft
  • X = DUp
  • C = DRight
  • LCtrl = DDown
  • LShift = Toggle 60fps mode

Additionally, when you have the weapon wheel open, the your mouse can be used to select an item on the wheel.
Another thing that happens when mouselook is toggled is that the mod disables Auto Aim and Lookspring for all players.

Options Menu

The first option on this menu is pretty self-explanatory. Toggling this enables 60fps mode. If this option is enabled without the following option ("Dynamic Scaling"), then the game will statically target 60fps. This means that if you are not getting 60fps, the game will appear to run in slow-motion. This is extraordinarily likely, and because of this, I highly suggest toggling the Dynamic Scaling option.

Dynamic Scaling
When toggled alongside the 60fps option, the mod will evaluate your performance and using this information, attempt to scale the game to run at the correct speed. I developed this option because the game, even on emulator, unfortunately runs terribly. A quirk of this is that if you make the emulator try to run faster than full speed, it will actually scale the game correctly to any framerate (200+!)

60hz Gametick (!!)
When toggled, the mod will modify the game engine's tickrate to 60 (from the default of 15,) which may improve the smoothness of things that happen in the update loop (as the antitheses of the draw loop). Just like the 60fps option, you need to be running this fast for this option to appear to work at full speed, and as such, if you are using this option, I highly suggest enabling the following "Gametick Scaling (!!)" option, or the "Normalized Gametick" option.

Gametick Scaling (!!)
When toggled alongside the 60hz Gametick option, the mod will attempt to scale the engine's tickrate to match your current performance. This is probably the most dangerous option available.

Normalized Gamrtick
When toggled alongside the 60hz Gametick option, the target engine tickrate that the mod applies will be halved. This means with only 60hz gametick toggled, the engine tickrate will instead be 30, and with the dynamic option toggled, it will be half of your current framerate. This option is here to allow the user to preserve the original ratio of engine tickrate to target fps (which is originally 15 / 30.)

Average Length
This value represents the number of samples that are used to determine your average frametime. The higher this value, the smoother the game will react to performance hitches, however it will adversely react to these hitches less sharply. I suggest keeping this value low, since that keeps the game running at the correct speed most of the time.

Following this is a display of two histograms which detail your frametime history, and the values that are currently being used to average your frametime. These are essentially used for profiling.

Pitch Coef
This value represents the amount of rotation (in radians,) that a single unit of movement from your mouse will move your character's view vertically.

Yaw Coef
This value represents the amount of rotation (in radians,) that a single unit of movement from your mouse will move your character's view horizontally.

(!!) = dangerous

There has been a small amount of testing a long while ago from our good friend Badger (Thanks,) so this list may grow:
  • Doors do not work when 60fps mode is enabled. Use the LShift keybind, or the UI to disable it before interacting with doors that are relevant to progression
  • Hit detection was not originally designed for 60fps, and for some reason some of it happens during draw, so in some cases the windows for hit detection may be too short, or may trigger more than normal

  • The train works correctly. This thing is a piece of garbage

Not sure if this will get updated in any fashion, since I am recently busy with other things, but I've been hoarding this code for over a year, and it's much better than my old mod, so I hope you guys enjoy the ease of use of this in comparison.

don't waste your time here, some member having nearly 3000 posts. I mean come on dude 3000 posts, get a life!
I never really understood the sort of argument where people exclaim that somebody has so many posts, hours, etc. in a community, on a game, or whatever it may be. If somebody is that active, they are clearly filled with life. Seems to me like a ridiculous excuse to make a pretty meaningless attack on somebody's character. It's the similar to going to some sort of professional and saying "Wow, you have been doing this for so long? Seriously?!" with a scoff and negative tone.

You've spent hours upon days, upon years working on your texturing skills. I mean come on dude, get a life!
You see how silly that sentence is?

Best of luck

Other Games / Re: DISMAL Survival Game - Alpha 0.1 - Kickstarter
« on: July 08, 2020, 11:19:57 PM »
Looks nice, I hope this succeeds.

I might make a video sometime in the future, but if you get to it first, you are absolutely welcome to do it. No skin off of my nose.

I don't hate you, I don't think anybody really hates you.
I've never said that I will make a port, every time that you have told me that I should, or that anybody has implied that I should, my answer has always been the same: I will not personally pursue something so ambitious.
I did tear you down on the subject of your T3 port. It's not a tough guy act, it's not bullshitting. Given what you presented us as a community, I described that your port is either fake or in a very infantile state. There are no hard feelings, nor do I really want there to be. My goal was to bring to the attention of uninformed forum-viewers that they should not be excited over it in its' current state. I have been very constructive in my criticism toward you because I would like to see everybody succeed.
bsmug means Barry Smug, Barry is Joshua Fireseed's best friend and roommate in the comics, the icon of this image is of Barry. It doesn't mean bullshit smug lol
Thanks for sharing my mouse script and offering to make a video. I might put something together soon since people seem to be having issues, but if I don't do that in a timely manner, you are obviously free to do something yourself.
Any and all modders and developers are welcome in the Discord, and the vast majority of folks are praised for their hard work. Rina, for example, is a young developer who is getting into things. His stuff might not be particularly impressive, but when he posts his stuff, he is still posting content, and the general reaction to that is "hey, that's cool!"
The problem that the community has had with you is that you have not posted anything substantial while claiming to be working on and doing big things. If you're putting hard work into a project that you're really in to, that is great. Despite that, what I said before still stands now, if you don't have anything to show, don't say you're working on anything.
What makes this situation worse is that you are calling the whole community kids, all the while throwing out red herrings and making silly claims. Isn't that childish? I wrote this before, but criticism is not hate speech, nor is it cyberbullying. If somebody is going too far, or their criticism is not constructive, then ignore it, it's not worth your time. If you have a problem, you know how to get in touch with me.
You did not get set up. You are the one who chose to post deceitful things.

tl;dr don't post empty content, don't lie, all would be good

Kinda sucks that OP's instructions weren't clear at all and left out important information like your post did in regards to the dlls needed.
My instructions were pretty clear.
Quote from: Drahsid
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!
User error does not mean that I wrote unclear instructions.
For example:
What an absolute slog of an emulator, though. What's the point of a piece of software if it lacks even the most basic user functionality?
This is a ridiculous statement. Mupen64plus is pretty good. It has extensive user-functionality. Just because it is CLI doesn't mean it isn't functional; if anything, it gives more power to the user.

If you need a visual tutorial to get this working, maybe I can do that sometime, but it really is pretty simple. The most complicated part ought to be configuring the controls.

You really shouldn't post this stuff unless you have something to show.

Can you do better than the developers who had the source code?
Are you inheriting any existing knowledge bases?
What's going on with everything else?

There is no mouse acceleration. Your mouse input is interpreted linearly.

Ehhh, I managed to get it to work with Kil3r setup and GlideN64 4.0, it keeps crashing when choosing Danielle over Joseph though...
Don't run it with the dynarec on, run it in interpreter mode.

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