PDA

View Full Version : OJP Basic Feedback (v0.0.9)


razorace
12-04-2005, 02:15 AM
Since things have been a bit quiet here I figured I'd start a discussion about user feedback for the latest release of OJP Basic (v0.0.9). You can find it here (http://www.pcgamemods.com/mod/17471.html).

From a developer's standpoint, I'm fairly happy with the release so far. The new holster weapon code looks and the team balancer seems to be working better as well.

On the downside, not all the models look good with default positions so I need to work on tweaking the system to be able to customize the holster positions (probably thru a .txt file like what I did for True View). Any ideas on what I could do? Unfortunately the positional tweaking is pretty complicated so I'm not so sure that layman players would be able to fix things up for their own playermodels. Well, we will have to wait and see. :)

Tinny
12-05-2005, 06:52 PM
Hey Razor, i think it looks great. However some people have told me in their player models (like you've been saying) causes weapons to stick through the body. To fix this through text files will be a lot more complicated as your taking a lot more dimensions into consideration than just how far the head is sticking out :/. Btw Razor, do you know how many more bits this uses to be sent across the network (if any at all)?

Lathain Valtiel
12-05-2005, 06:58 PM
They can currently turn it off via a cvar ojp_holsteredweapons I think.

In the meantime, I suggested a txt file similar to this, with the followong each having their own line:

modelname number

modelname = the model's name

number =

0 = no holstered weapons
1: hip-holstered weapons show
2: back holstered weapons show
3: all holstered weapons show

I think that'd be best.

razorace
12-05-2005, 08:31 PM
Btw Razor, do you know how many more bits this uses to be sent across the network (if any at all)?

It's all game event driven so it doesn't use up any of the spare entitystate/playerstate transmission slots. The downside is that the events have to be carefully controlled since basejka clients crash if they are sent an event that they don't recognize (IE any mod created events). To workaround that I created a OJP Client Plug In detection system.

As for the issues with tweaking the holster weapon positions for individual models, I'm in the process of implimenting a .cfg system that will allow players to alter the holster data on a per-model basis thru a new configure file that can be created seperately for each playermodel. I'm also going to add some debugging cvars so users can figure out what positional settings are base for their playermodels.

razorace
12-09-2005, 11:23 PM
This is the prototype holster.cfg format that I'm using. Does this make any sense to you guys? I've already implimented it and it appears to work alright. I just want to make sure that end users can understand/use it.


//================================================== ========================================
//This file contains configuration data for attaching holstered weapons on this playermodel.
//When used in conjuncture with the holster debug system, you can configure the the holster weapons
//to be anywhere on the playermodel's body.
//
//
//
// Possible HolsterTypes (Use numberical values when using ojp_holsterdebug):
// 1 = HLR_SINGLESABER_1, //first single saber
// 2 = HLR_SINGLESABER_2, //second single saber
// 3 = HLR_STAFFSABER, //staff saber
// 4 = HLR_PISTOL_L, //left hip blaster pistol
// 5 = HLR_PISTOL_R, //right hip blaster pistol
// 6 = HLR_BLASTER_L, //left hip blaster rifle
// 7 = HLR_BLASTER_R, //right hip blaster rifle
// 8 = HLR_BRYARPISTOL_L, //left hip bryer pistol
// 9 = HLR_BRYARPISTOL_R, //right hip bryer pistol
// 10 = HLR_BOWCASTER, //bowcaster
// 11 = HLR_ROCKET_LAUNCHER,//rocket launcher
// 12 = HLR_DEMP2, //demp2
// 13 = HLR_CONCUSSION, //concussion
// 14 = HLR_REPEATER, //repeater
// 15 = HLR_FLECHETTE, //flechette
// 16 = HLR_DISRUPTOR, //disruptor
//
//
// Possible boneIndexes (Use numberical values when using ojp_holsterdebug_boneindex):
// Note: Use "disabled" if you want to disable the rendering of that particular holster weapon.
// 0 = HOLSTER_NONE,
// 1 = HOLSTER_UPPERBACK,
// 2 = HOLSTER_LOWERBACK,
// 3 = HOLSTER_LEFTHIP,
// 4 = HOLSTER_RIGHTHIP,
//
// Holster Weapon Groups and Priorities:
//
// Single handed lightsabers always appear (defaultly placed on the thighs).
//
// Blaster weapons (pistols and blasters) can appear in both the right and left holster
// positions (defaulting to the left and right hips), but the same weapon will never appear in
// both positions at the same time.
// Priority:
// Blaster
// Pistol
// Bryar Pistol
//
//
// The larger weapons are stick in the same location (normally on the back).
// Priority:
// Staff Saber
// Rocket Launcher
// Concussion Rifle
// Repeater
// Flechette
// Disruptor
// Bowcaster
// Demp 2
//
//
//HOLSTER DATA FORMAT TEMPLATE
//{
// //name of holster weapon
// holsterType HLR_PISTOL_R
//
// //Indicates which part of the player body that this weapon is offset from. The
// //holster system uses this body part for the initial positional/angular data of this
// //holster weapon.
// //This can also be used to completely disable the rendering of this holster position.
// boneIndex HOLSTER_RIGHTHIP
//
// //Where in relation to the body part should the weapon be. Determining this position
// //is VERY tricky because the directions are dictated in terms of the current orientation
// //of the body part.
// posOffset "3.5, 3.5, 0"
//
// //How the weapon should be rotated in relation to the body part's orientation.
// angOffset "90, 0, 0"
//}
//
//================================================== ========================================

{
holsterType HLR_SINGLESABER_1
boneIndex HOLSTER_RIGHTHIP
posOffset "2, -3, 7"
angOffset "0, 0, 0"
}

{
holsterType HLR_SINGLESABER_2
boneIndex HOLSTER_LEFTHIP
posOffset "-1.5, -2.8, 7"
angOffset "0, 0, 0"
}

{
holsterType HLR_STAFFSABER
boneIndex HOLSTER_UPPERBACK
posOffset "-5.5, -2, 0"
angOffset "120, 0, 0"
}


{
holsterType HLR_STAFFSABER
boneIndex HOLSTER_UPPERBACK
posOffset "-5.5, -2, 0"
angOffset "120, 0, 0"
}

{
holsterType HLR_PISTOL_L
boneIndex HOLSTER_LOWERBACK
posOffset "-6, -2, 1"
angOffset "-90, -10, 0"
}

{
holsterType HLR_PISTOL_R
boneIndex HOLSTER_LOWERBACK
posOffset "7, -4, -1"
angOffset "-90, 10, 0"
}

{
holsterType HLR_BLASTER_L
boneIndex HOLSTER_LOWERBACK
posOffset "-7, -4, -1"
angOffset "0, 0, 0"
}

{
holsterType HLR_BLASTER_R
boneIndex HOLSTER_LOWERBACK
posOffset "7, -4, -1"
angOffset "-90, 10, 0"
}

{
holsterType HLR_BRYARPISTOL_L
boneIndex HOLSTER_LOWERBACK
posOffset "-6, -2, 1"
angOffset "-90, -10, 0"
}

{
holsterType HLR_BRYARPISTOL_R
boneIndex HOLSTER_LOWERBACK
posOffset "6.5, -4, 2"
angOffset "-90, 10, 0"
}

{
holsterType HLR_BOWCASTER
boneIndex HOLSTER_UPPERBACK
posOffset "-9.5, -2, 2"
angOffset "-40, 0, -90"
}

{
holsterType HLR_ROCKET_LAUNCHER
boneIndex HOLSTER_UPPERBACK
posOffset "-6, -3, 0"
angOffset "-40, 0, 0"
}

{
holsterType HLR_DEMP2
boneIndex HOLSTER_UPPERBACK
posOffset "-6, -3, 0"
angOffset "-40, 0, 0"
}

{
holsterType HLR_CONCUSSION
boneIndex HOLSTER_UPPERBACK
posOffset "-6, -3, 0"
angOffset "-40, 0, 0"
}

{
holsterType HLR_REPEATER
boneIndex HOLSTER_UPPERBACK
posOffset "-5, -3, 0"
angOffset "-40, 0, 0"
}

{
holsterType HLR_FLECHETTE
boneIndex HOLSTER_UPPERBACK
posOffset "-6, -3, 0"
angOffset "-40, 0, 0"
}


{
holsterType HLR_DISRUPTOR
boneIndex HOLSTER_UPPERBACK
posOffset "-5, -7, 3"
angOffset "-40, 0, 0"
}


EDIT: Also, I beleive I can apply the technique that I used for the holster weapons to OJP Enhanced and make it so you can technically run it server-side. While the mod might not looks so good this way, at least people could join the servers. This might increase usage of the mod and allow us to use it on the beta server more often. What do you guys think?

Lathain Valtiel
12-10-2005, 06:12 AM
You're talking to someone who'll choke the second you start changing around the saber system...

PS: It's Bryar, not Bryer.

And no, most end users WILL NOT understand that. A straight trueview esque file is easiest to understand. In my opinion it'd be up to the modellers and skinners to use something like that, which is a bad idea. Furthermore, how do we determine which weapon gets priority if its on the same slot?

What happens if this file is not present on a given model? Nothing gets holstered? What happens if you accidentially break the formatting, like leave out a }? Do you have to enclose each weapon you want to have holsteredin { }?

razorace
12-10-2005, 02:42 PM
Ok dokie, I'll fix the spelling error ASAP.

As for something closer to the True View file in complicity, it's a bit out of the question since all that data is needed to configure the holster weapons.

I guess I should clarify the priorty stuff, right now it's a bit hardcoded based on where the holsterType is my default. I considered making it more dynamic but I'm not sure people care enough about it to want to have that ability. If I did that, there would be issues with dealing with weapons that can be in two seperate holster positions (like the blasters or pistols are now).

If the file isn't present, the default values (which are configured for the kyle model) are loaded. Same applies if the the particular weapon isn't in a particular .cfg file.

As for formating, just like the .siege files, you'll get error messages if the formating is bad, but there's no way around that. Finally, the brackets have to be around every weapon. That will be more clear once I fill out the file with more data.

Lathain Valtiel
12-10-2005, 02:44 PM
In that case, I recommend a seperate OJP pack that has the holster data for models. No sense in packing it in with the whole distro.

razorace
12-10-2005, 02:56 PM
Uh, why? Then wouldn't people never download it and then constantly complain about the holsters not being configured right?

Lathain Valtiel
12-10-2005, 02:57 PM
Point.

Though I'm stunned you'd want to inflate distro size.

razorace
12-10-2005, 03:50 PM
Uh, we're talking 3kb, here. That's smaller than my forum avatar.

Anyway, you brought up a good point in IM about possibly having these holster.cfgs on a per-skin basis instead of a per-model basis. That way people could account for differences between the skins, like bulky robes, shields, etc that vary between skins.

Lathain Valtiel
12-10-2005, 04:39 PM
If the specific skin of that model doesn't have it, search for the default for that model. If that doesn't exist, go to Kyle's. There we go.

razorace
12-10-2005, 11:04 PM
Sounds like a good idea.

Anyway, I've updated the holster.cfg format above so please take a look and let me know what you think.

Lathain Valtiel
12-10-2005, 11:06 PM
You forgot to mention priority stuff

razorace
12-11-2005, 03:54 AM
It's in there now.