Tremulous Forum

Mods => Modding Center => Topic started by: FooBar on February 20, 2007, 07:07:23 am

Title: How do I compile and distribute client-side mods?
Post by: FooBar on February 20, 2007, 07:07:23 am
So, I'm running Ubuntu Linux.  I used SVN to check out the latest version of Tremulous (899 at the moment) and made some changes to implement a modification I want.  This modification includes changes to some of the ui files and (hypothetically) other client-side stuff.

I can successfully make, and it compiles just fine with no errors.  I can go into the build directory and copy the game.qvm and tremded.exe to my tremulous server, to implement the server-side changes.  I know that if I make my server pure and allow downloads, then players who connect could (hypothetically) download the necessary client-side mods.

What I don't understand is, how do I compile and collect the client-side mods, and where do I put them?  What files do I need to make available, and where should they be in the server's directory tree so that clients can properly download and install them?

In addition, I know that TJW's backported client exists because the later SVN clients are no longer compatible with the default vms-1.1.0.pk3.  Is there a way I can distribute a revised vms-1.1.0.pk3?  It appears to be simply a zip file with cgame.qvm, ui.qvm, and game.qvm....  Could I just zip up my new qvm files, call the zipfile vms-foobar-1a.pk3, and put it in a server directory?  How would this affect the clients who download it?

What about data-1.1.0.pk3?  Is that also incompatible with recent QVMs, and if so what should I do about it?

I recently played on a server running Risujin's Balance Mod, and the installation process was highly transparent and easy.  That's the kind of thing I'm looking for.

In short, how do I make use of the 'mod' functionality built into Tremulous?

That was a long, rambling question.  Any and all answers will be most graciously appreciated!
Title: How do I compile and distribute client-side mods?
Post by: Odin on February 20, 2007, 08:08:17 am
The binaries themselves are incompatible, not just the QVMs.
Title: How do I compile and distribute client-side mods?
Post by: vcxzet on February 20, 2007, 08:28:43 am
first create a test environment

tremtest
= tremulous.x86.exe
= runmod.bat
= base (dir)
=== data-1.1.0.pk3
=== map-atcs-1.1.0.pk3
= foomod (dir)
=== vms-foomod-1a.pk3 (vm/cgame.qvm vm/game.qvm vm/ui.qvm)
=== data-foomod-1a.pk3 (if any)

runmod.bat is just this line
tremulous.x86  +set fs_game foomod

tjw's tremded uses game.qvm compiled from svn
(but you will need some minor changes to bg_public.h)

old tremded uses stock 1.1.0 game.qvm but it lacks wwwDL
(you need backporting patch)

you can build your own tremded
(backporting patch may or may not help in this case I did not test)

you can use tremded provided by risujin or not I do not know if he made a tremded
Title: How do I compile and distribute client-side mods?
Post by: FooBar on February 21, 2007, 08:31:21 am
Thanks, vcxzet, that was almost exactly what I was looking for!
Title: How do I compile and distribute client-side mods?
Post by: Thorn on June 17, 2007, 09:38:05 pm
Sys_Error: recursive error after: ^3menu file not found: ui/menus.txt, using default


This is the error i get when i client downloads the vms pk3. in vms theres
-vm
--game.qvm
--cgame.qvm
--ui.qvm

Where did i go wrong?
Svn 910 with lakitus .patch and edited a little bit to have Foobars efficiency ratio patch.
Title: How do I compile and distribute client-side mods?
Post by: benmachine on June 17, 2007, 11:33:44 pm
Aw, I though FooBar was back :( but this thread's like six months old.

I shan't complain because I don't care.
Thorn: your ui.qvm and ui folder are not co-operating. Some form of backporting or un-backporting is needed, try http://www.mercenariesguild.net/patches/?do=details&task_id=2, although you may need to un-patch http://www.mercenariesguild.net/patches/?do=details&task_id=3 before that'll go on cleanly. You can of course bypass the whole issue by zipping up the ui folder in your source directory (next to src/ not in it, containing all the .menus) into a pk3 and including that too. Much more cumbersome than making your ui.qvm 1.1.0 compatible but also more reliable.
Title: How do I compile and distribute client-side mods?
Post by: Risujin on June 17, 2007, 11:34:46 pm
Quote from: "Thorn"
Where did i go wrong?
Svn 910 with lakitus .patch and edited a little bit to have Foobars efficiency ratio patch.

I would guess that Lakitu's patch will produce a TJW-tremded compatible VM. Try running it with that. If it doesn't work perhaps it's not backported, try a pure SVN client.
Title: How do I compile and distribute client-side mods?
Post by: Lakitu7 on June 18, 2007, 03:41:23 am
Yeah, my backporting was done with this one:
http://www.mercenariesguild.net/patches/?do=details&task_id=3
Title: How do I compile and distribute client-side mods?
Post by: .f0rqu3 on June 18, 2007, 04:35:07 am
since lakitu7's patch is server side only
you need to generate a qvm
then apply backporting (full,not tjw only one)
and compile
you dont need the game.qvm in the client pk3
Title: How do I compile and distribute client-side mods?
Post by: doomagent13 on June 18, 2007, 04:45:51 am
Quote from: ".f0rqu3"
you dont need the game.qvm in the client pk3
But it would be nice as long as it is client-runnable, so that it could be "learned" privately.
Title: How do I compile and distribute client-side mods?
Post by: benmachine on June 18, 2007, 10:57:42 am
Quote from: "doomagent13"
Quote from: ".f0rqu3"
you dont need the game.qvm in the client pk3
But it would be nice as long as it is client-runnable, so that it could be "learned" privately.

My mod's latest vms pk3 is 250KB (data is 237). The game.qvm is 552.
Title: How do I compile and distribute client-side mods?
Post by: Thorn on June 18, 2007, 06:24:21 pm
I applied the "backportlite.patch" after you guys posted... still the same error unfortunately. That was the "Full backport patch" right?