Tyquake Qauke mods How?

Doeas anyone know how to apply mods to their tyrquake core??

I have never played a mod and am failing to find any solid info. If I can get it working I will get the docs updated.

Im pretty desperate to figure this out.

Best info I have found is here http://www.psx-place.com/threads/tyrquake-mods-for-retroarch.9539/

No Quake fans around I see…

Ive been playing DOOM, Duke Nukem, Heretic, Hexen, Shadow Warrior FPSes lately, mostly Duke Nukem, but will play some DOOM mods as well, some with HD textures and 3D enemies, etc., Id like to be able to play all 90s FPS games under Retroarch some day, Im playing them as standalone for now. I have tons of DOOM mods running in Hyperspin and they play really nice, but Doomsday is a nice frontend with nice features I miss in that pack.

Many mods seem to work just fine without any messing about. The link you posted has solid information - just read posts #10 and #12 by JediKnight007.

The basic gist of it is that you start with a Quake ‘rom’ directory containing the main quake folders:

Quake
 - id1
 - hipnotic
 - rogue

To add a mod, just make a new folder in the ‘Quake’ directory and place the mod files inside. For example, lets say we want to play ‘Contract Revoked’:

  • Download ‘contract.zip’ from here: https://www.quaddicted.com/reviews/contract.html

  • Make a folder called ‘contract’

  • Extract the contents of ‘contract.zip’ into the ‘contract’ folder

  • Place the ‘contract’ folder inside your ‘Quake’ directory

It should look like this:

Quake
 - id1
 - hipnotic
 - rogue
 - contract
   - contract.html
   - pak0.pak

To run the mod, just add the following lines to your ‘Quake1.lpl’ playlist file:

/path/to/Quake/contract/pak0.pak
Quake MOD: Contract Revoked
DETECT
DETECT
0|crc
Quake1.lpl

Now you can select and run the mod from the XMB menu (or whatever you’re using).

If a particular mod has a music pack (https://www.quaddicted.com/files/music/), just create a ‘music’ folder inside the mod directory and copy over the .ogg files (you might need to convert the files to ogg format first…)

If a particular mod has coloured lighting files (https://quakewiki.org/wiki/External_Lit_And_Vis_Files), just copy the relevant ‘maps’ folder to the mod directory and enable ‘Colored lighting’ in the core options. (Most of these lit/vis bundles work fine, but some don’t… YMMV)


Note that some mods have nuances that require special attention, so you do have to go through them on a mod-by-mod basis and check the readme.txt files and stuff. Off the top of my head, here are a few of examples:

This doesn’t have a normal start map, so in the instructions it tells you to open the console and type ‘map bbstart’ to begin. This is no good with a controller, but you can get around it by creating an ‘autoexec.cfg’ file in the mod directory with the following contents:

map bbstart

You can then run the game normally from the XMB menu.

  • Shrak for Quake

This commercial addon is a pig because it requires a bunch of patches that are almost impossible to find…

But if you do get it working, the game itself has an additional non-standard control input - press ‘1’ to cycle through the utility belt. You have to map this to your gamepad manually by adding the following line to the ‘autoexec.cfg’ file that comes with the game:

bind "JOY_R3" "impulse 1"
  • Malice

This commercial addon sorta-kinda works (the game speed glitches out sometimes, but whatever…). The point is that it has a very non-standard control method that you have to assign manually by placing the following hack in an ‘autoexec.cfg’ file inside the mod directory:

alias +walkfast "cl_forwardspeed 400;cl_backspeed 400; cl_anglespeedkey 0.5; cl_sidespeed 400";
alias -walkfast "cl_forwardspeed 200; cl_backspeed 200; cl_anglespeedkey 1.5;cl_sidespeed 200";
unbind "JOY_A"
unbind "JOY_Y"
wait
unbind "JOY_A"
unbind "JOY_Y"
wait
bind "JOY_A" "impulse 13"
bind "JOY_Y" "impulse 14"
bind "JOY_R3" "impulse 30"

i.e. In order to remap a controller button that is already assigned by RetroArch, in the ‘autoexec.cfg’ you have to:

  • unbind it
  • wait
  • unbind it again
  • wait
  • bind it

Anyway, I hope that helps some. Note that a number of mods will never work (typically ones that require increased limits and suchlike), so some experimentation is required…

1 Like

Thats was exactly what i was after… thank you for taking the time to give a great explaination.

I will give the experimentations a go this weeks.

Glad to help! :smiley:

And while I think of it, here’s another tip - this has nothing to do with mods, but it’s pretty much essential if you want a good Quake experience in RetroArch…

Once you start Quake, if you go to the ‘Video’ section of the in-game options, there is a ‘Smooth Animiation’ setting. This should always be ‘ON’ - but there is a bug (I guess?) that means the setting is not fully applied. It turns on linear interpolation for character animation, but NOT for character movement - so enemies move around in a strange jerky fashion that makes it look like they’re ‘teleporting’ from step to step.

To fix this, you have to:

  • Run each Quake ‘game’ in your playlist once

  • Go to each Quake subdirectory in turn (id1, hipnotic, etc. + mod directories)

  • Edit the generated ‘config.cfg’ file

  • Make sure the following values are set accordingly:

    r_lerpmodels "1.000000"
    r_lerpmove "1"
    

Now when you restart your game, everything will be nice and smooth!

1 Like

Had some time tonight and got a few mods running. So easy with the right info :slight_smile:

Edit…Re read the post and guessing I add it to the autoexec.cfg

Is this bit done in-game? Not 100% what needs unbinding and the binding again.

I have grabbed the Killer Quake Pack on recommendation and wanted to test out a bot.

Nevermind that all worked out great.

Copied the above text and editted it to unbind and bind Joy_L2 to be impluse 100 to activate Cujo the dog.

Brilliant stuff.

That’s great - I’m glad you got everything working!

Yes, the control remapping is weird - it took me quite a bit of experimentation to discover the unbind-wait-unbind-wait-bind combo, but it’s fine once you know what you’re doing :grin:

EDIT: And just to clarify: you only need the unbind-bind combo for controller buttons that are already mapped by default in RetroArch. If the button is unmapped, you just need to put a ‘bind (button) (impulse)’ line in the ‘autoexec.cfg’. For example, with the ‘modern’ control layout selected, JOY_L3 and JOY_R3 are unused - so these can be bound freely without special measures.

Also, an addendum to the ‘r_lerpmove’ note in my previous post:

I had a look at the code, and it turned out to be trivial to add a new ‘Smooth Movement’ option to toggle the r_lerpmove value. My pull request has been merged, so you can now go to the in-game video menu and set both ‘Smooth Animation’ and ‘Smooth Movement’ to ‘ON’ without having to root around in the config files.

Nice work and thanks for the info.

I have bookmarked this thread for adding the info to docs. I will probably put it together for the guide section in the next week or two onve I have played some more.

Is there a big issue with getting save states hooled up on this core?

I’m no expert (just a dabbler), but it looks like implementing ‘proper’ save states would be a major undertaking - the existing code just isn’t geared up for it. Also, there would be no real benefit in doing so - you can save anywhere from the in-game menu, so states are a bit of a moot point…

You have got me thinking about the code, though…

I’ve just added a core option for setting the controller analog deadzone (the core is otherwise unusable with my loose old x360 pads), and I’m pretty sure it would be a good idea to remap the ‘select’ button to ‘showscores’ in the modern control layout (the monster/secret count is actually useful, whereas ‘toggleconsole’ is pointless on a gamepad since you need a keyboard to use the console anyway). I haven’t made a pull request yet, but probably will later on today.

I’m also toying with the idea of moving config/save files to the frontend-defined save directory (in a subfolder per ‘mod’). Having user generated files in the ROM directory just seems nasty to me - it goes against RetroArch standards, and it means that Quake ‘ROMs’ have to be placed on writeable storage. The latter is a big problem on Android - I have all my other games on an external SD card, but since RetroArch cannot write to it I’ve have to move my Quake stuff to the precious limited internal storage…

Those sound like very good additions to this core and its usability. :slight_smile:

Stave states are required for netplay which may be good for the core but its no biggie

A small update:

  • I’ve made a pull request to add the analog deadzone option and ‘select’ button ‘showscores’ remapping to the core. It looks like the RetroArch repos have been quite busy, however, so it might have been overlooked (or put at the end of the list). I guess it’ll get merged as and when…

  • I’ve finished modifying the code so that the config and save files are now nicely organised in the proper save directory (the Quake ‘ROM’ folders can be set read-only, and everything works fine - should make the Android experience a little better!). Of course, I can’t submit these mods until the existing pull request is accepted…

I was wondering - since you’re going to make some improvements to the docs anyway, would you mind including the core option + save path updates? (if/when they are merged) If not, no worries - I’ll fit it in at some point :slightly_smiling_face:

Ah, that’s a good point…

I don’t really know anything about netplay… but I thought it requires a game to have local multiplayer functionality? If so, the TyrQuake core probably isn’t a good fit - you’d need to add splitscreen multiplayer…

This is certainly something for the wish list, but I’ll leave it for someone else to implement… :wink:

Sure I will but FYU I’m not expecting to do this in the next month or 2 unless the mood to write a guide takes me! I may put something together and pass on to the main docs guy as I don’t have git up and running right now.

Really happy your adding new features to the core and will keep checking for the PR to be merged

Okay - the controller stuff has been merged, and I’ve just submitted the ‘save file relocation’ mod. I think that’s pretty much everything done now!

(Although I might still remove the ‘Quit’ option from the in-game menu, since it causes RetroArch to segfault…)

Yeah, I know what you mean - writing docs is the worst part of any project, and motivation is always low…

My changes are rather small, so the documentation update shouldn’t be too onerous - I’ll find some time next week to get it done. The mod guide, on the other hand… that could be quite a task if you want to make it comprehensive! I don’t think anyone would complain if it takes a few months… :wink:

I dont mind doing documentation but I shelved my Libretro docs contributions a while back to do some other stuff. I will go back to it eventually :slight_smile:

I do fancy doing a guide though, it probably wont be much different to your post with a few screen shots and bits. I’m not the most experienced at all this stuff.

Removing that quit button is a very good idea indeed…

Thanks for tour knowledge and updates on this core its great for everyone that comes across it

1 Like

I’ll be away from the computer this weekend, but I’ll get that ‘quit’ option deleted first thing next week… :wink:

Thank you for the appreciation!

RetroArch is a great project and this is such a nice community - it’s a pleasure to contribute, even if it’s just small stuff. :blush:

Thanks for the binding keys solution.