Page 1 of 29

Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Mon Feb 17, 2014 4:57 am
by Diziet Sma
Lots of us tweak the OXPs in our personal collections, to fine-tune the way they look or work in our game, and at times those tweaks get posted here on the board, for others to use or adapt.. The only problem is, such tweaks tend to be scattered all over the place, and after a while become buried under all the other posts.

I'm hoping that this thread will become a repository for all the various tweaks that are out there, and perhaps even inspire the posting of some that haven't been made public before.. and who knows, if they're popular enough, the OXP authors concerned may even decide to incorporate them into their next update..

If you have made any custom tweaks to the OXPs in your game, please consider posting them here for others to benefit from..


Firstly, some important notes for those new to OXP tweaking.

If you are using Windows, it is very important that you do not use Notepad for editing Oolite files. Notepad adds invisible characters to files that will cause Oolite to be unable to read the file. You can safely use Wordpad if you wish, but we recommend that you install and use the free text editor Notepad++ (http://www.notepad-plus-plus.org/) which has the added bonus of displaying line numbers, making it much easier to locate particular sections of code.

If you tweak OXPs, remember that if the author updates the OXP, after installing the update, your tweaks will be lost, and you will have to re-apply them. I recommend that you keep a "My OXP Tweaks" folder with sub-folders for each OXP that you tweak, where you can save code snippets and extensive notes detailing things like file-names, line-numbers and anything else you might want to remember about what you did. This will save you lots of time and frustration down the track.

A related tip from Cody:
Cody wrote:
As a caveat to anyone who tweaks an OXP: be sure to mark/rename it (slightly) so you know you have tinkered. One can lose track of which OXPs have been tweaked.
So as to make for faster game loading,Oolite caches copies of the important files from all OXPs, rather than having to load them all every time you start the game up. Oolite automatically detects when OXPs are added or removed, but it does not notice if you make changes to individual files within an already installed OXP. It often happens that someone makes a change to a file, but nothing seems to have changed when they restart the game. If this happens to you, the reason (unless you made some other mistake) is that you forgot to tell Oolite to rebuild its' cache.

To do this, you have two options. You can manually force Oolite to rebuild the cache by holding down the <Shift> key when you start the game. You need to keep the key held down until you see the spinning Cobra MkIII. The other method is to edit the GNUstepDefaults file (found in the GNUstep/Defaults folder) and set the always-flush-cache key to YES. Note that if you do this, every time Oolite starts up it will take a little longer to load, just how long depending on how many, and which, OXPs you have installed.

Finally, if you post your own tweaks for others to use, please note that whilst Windows does not care about correct capitalisation in filenames, other Operating Systems do.. if your tweak references any other files, please be sure to exactly match the capitalisation scheme of the filenames used. Failure to do so will result in errors on those systems, even though yours may work fine.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit

Posted: Mon Feb 17, 2014 5:12 am
by Diziet Sma
To kick things off, here is my own collection of tweaks for various OXPs.


OXP: HyperRadio
Tweak: Increase subscription time.
Reason: On long sunskimming-only runs across the chart, my subscription kept running out before I reached my destination, and I didn't want to lose time by docking and buying equipment (the subscription). I feel that the increased time also makes the cost of the subscription more justifiable.
File(s): script.js

Change the value assigned to this.hyperradioDuration in lines 142, 147 and 156 of the function this.playerBoughtEquipment from 20 to 60 (or however many days you prefer).

Code: Select all

this.playerBoughtEquipment = function(equipmentKey)
{
	switch(equipmentKey){
		case 'EQ_HYPER_RADIO':
			this.hyperRadio = true;
			this.hyperradioDuration = Math.floor(60+clock.days);
			EquipmentInfo.infoForKey('EQ_HYPER_RADIO_ADD').effectiveTechLevel = 7;
			break;
		case 'EQ_HYPER_RADIO_ADD':
			this.hyperRadio = true;
			this.hyperradioDuration += 60;
			player.ship.removeEquipment('EQ_HYPER_RADIO_ADD');
			missionVariables.TL_FOR_EQ_HYPER_RADIO_ADD = null;
			break;
		case 'EQ_HYPER_RADIO_PIRATE':
			player.ship.removeEquipment('EQ_HYPER_RADIO_PIRATE');
			this.hyperRadio = true;
			player.ship.awardEquipment('EQ_HYPER_RADIO');
			missionVariables.TL_FOR_EQ_HYPER_RADIO_PIRATE = null;
			this.hyperradioDuration += Math.ceil(60/Math.log(system.government+2.1));
			this.news = 0;
			break;
	}
};

OXP: Armoury
Tweak: Display remaining AntiMissileSystem Darts on F5-F5 mission screen.
Reason: Whilst docked, it is not possible to quickly check how many darts you have remaining. Instead, it is necessary to toggle through several pages of the F3 equipment list, just to see if any darts are being offered for sale. I tend not to go to the equipment page unless I know I need something, so I often don't realise that I'm running low on darts. When you launch, a count of the remaining AMS Darts is displayed, but I wanted to be able to easily see if I needed some more, before I'd left the station.
File(s): ams_system.js

Add a new function to the end of ams_system.js

Code: Select all

this.guiScreenWillChange = function(to, from)
	{
	if(to === "GUI_SCREEN_MANIFEST")
		{
		switch(player.ship.equipmentStatus("EQ_AMS"))
			{
			case "EQUIPMENT_OK":
				{
				if(missionVariables.amCount > 0)
					{ this.amsDisplay = "Remaining AMS Darts - " + missionVariables.amCount;}
				else
					{ this.amsDisplay = "AMS system offline - recharge required"; }
				mission.setInstructions(this.amsDisplay);
				break;
				}

			case "EQUIPMENT_DAMAGED":
				{
				mission.setInstructions("AMS system offline - damaged");
				break;
				}

			case "EQUIPMENT_UNAVAILABLE":
			case "EQUIPMENT_UNKNOWN":
				{
				mission.setInstructions(null);
				break;
				}
			}
		}
	}

OXP: Kestrel&Falcon
Tweak: Enable player's Falcon turrets.
Reason: Plasma turrets on the player versions of the Falcon do not work, even though the code is there for them to do so. The failure is due to the turrets not being initialised upon starting.
File(s): shipdata.plist

Find the section in shipdata.plist that looks like this (lines 792-814):

Code: Select all

	<key>bweed-falcon-player_turret</key>
	<dict>
		<key>ai_type</key>
		<string>nullAI.plist</string>
		<key>energy_recharge_rate</key>
		<real>1.5</real>
		<key>laser_color</key>
		<string>redColor</string>
		<key>max_energy</key>
		<real>60</real>
		<key>model</key>
		<string>bweed-falcon-turret.dat</string>
		<key>name</key>
		<string>bweed-falcon-turret</string>
		<key>roles</key>
		<string>bweed-falcon-turret</string>
		<key>smooth</key>
		<true/>
		<key>thrust</key>
		<real>1</real>
		<key>weapon_energy</key>
		<real>6</real>
	</dict>
Insert the following code just before the line <key>smooth</key>

Code: Select all

		<key>setup_actions</key>
		<array>
			<string>initialiseTurret</string>
		</array>
So that you have:

Code: Select all

	<key>bweed-falcon-player_turret</key>
	<dict>
		<key>ai_type</key>
		<string>nullAI.plist</string>
		<key>energy_recharge_rate</key>
		<real>1.5</real>
		<key>laser_color</key>
		<string>redColor</string>
		<key>max_energy</key>
		<real>60</real>
		<key>model</key>
		<string>bweed-falcon-turret.dat</string>
		<key>name</key>
		<string>bweed-falcon-turret</string>
		<key>roles</key>
		<string>bweed-falcon-turret</string>
		<key>setup_actions</key>
		<array>
			<string>initialiseTurret</string>
		</array>
		<key>smooth</key>
		<true/>
		<key>thrust</key>
		<real>1</real>
		<key>weapon_energy</key>
		<real>6</real>
	</dict>

OXP: Kestrel&Falcon
Tweak: Disable frangible subentities.
Reason: Due to the Falcon having 8 subentities which can be destroyed, almost every single battle results in excessive repair bills, often as much as 30,000 - 50,000 a pop. This is usually more than enough to wipe out any profits you might otherwise have made, especially on contract runs, which often entail many battles along the way.
File(s): shipdata.plist

Find the section in shipdata.plist that looks like this (lines 112-120 for the Falcon-S, or lines 342-350 for the standard Falcon):

Code: Select all

	<key>Falcon-S-player</key>
	<dict>
		<key>aft_eject_position</key>
		<string>0.0 0.0 -5.0</string>
		<key>aft_weapon_type</key>
		<string>EQ_WEAPON_TWIN_PLASMA_CANNON</string>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>custom_views</key>
Insert the following code just after the opening <dict>

Code: Select all

		<key>frangible</key>
		<false/>
so that you have:

Code: Select all

	<key>Falcon-S-player</key>
	<dict>
		<key>frangible</key>
		<false/> 
		<key>aft_eject_position</key>
		<string>0.0 0.0 -5.0</string>
		<key>aft_weapon_type</key>
		<string>EQ_WEAPON_TWIN_PLASMA_CANNON</string>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>custom_views</key>
(If you wish to restore any already destroyed sub-entities but don't want to pay one final repair bill, look in your gamesave for the following entry:

Code: Select all

    <key>subentities_status</key>
    <string>10000001</string>
(depending on which sub-entities have been destroyed, you may have ones and zeros in different locations than this - or even all zeros)

Now change it to all ones - there should be 8 of them.

Code: Select all

    <key>subentities_status</key>
    <string>11111111</string>
This will restore everything to normal.



OXP: Kestrel&Falcon
Tweak: Reposition the Falcon's forward laser
Reason: Until 1.79 is officially released, the reticle_target_sensitive targeting indicator will not accurately indicate a target lock if the laser is mounted in an offset position. This can make combat very difficult at times, as one must also allow for the parallax effect of the laser being mounted under the Falcon's pilot cupola. Mounting the forward laser on the ship's centreline makes accurate shooting much easier. See this discussion for more details and screenshots illustrating the problem.
File(s): shipdata.plist

Find the section in shipdata.plist that looks like this (lines 304-305 for the Falcon-S or lines 534-535 for the standard Falcon):

Code: Select all

		<key>weapon_position_forward</key>
		<string>24 0.0 18</string>
And change it to:

Code: Select all

		<key>weapon_position_forward</key>
		<string>0.0 0.0 27</string>

OXP: Kestrel&Falcon
Tweak: Add a "Scoop-Cam" External View to the player Falcon
Reason: Because the pilot's cupola is offset to the far right side of the Falcon, scooping is a very hit-and-miss affair, often resulting in the accidental destruction of the cargopod or escape capsule. The offset view also makes combat and docking harder. The Scoop-Cam view solves all these problems.
File(s): shipdata.plist

Find the section in shipdata.plist that looks like this (lines 112-131 for the Falcon-S or lines 342-361 for the standard Falcon):

Code: Select all

	<key>Falcon-S-player</key>
	<dict>
		<key>aft_eject_position</key>
		<string>0.0 0.0 -5.0</string>
		<key>aft_weapon_type</key>
		<string>EQ_WEAPON_TWIN_PLASMA_CANNON</string>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>custom_views</key>
		<array>
			<dict>
				<key>view_description</key>
				<string>External 1 - 12 O&apos;Clock</string>
				<key>view_orientation</key>
				<string>1.0 0.0 0.0 0.0</string>
				<key>view_position</key>
				<string>0.0 30.0 -220.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
And insert the following code at the top of the custom_views array (making it the first entry in the array means it is the first view to appear when toggling External Views on and off.. which comes in very handy):

Code: Select all

			<dict>
				<key>view_description</key>
				<string>Scoop-Cam</string>
				<key>view_orientation</key>
				<string>1.0 0.0 0.0 0.0</string>
				<key>view_position</key>
				<string>0.0 -3.5 20.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
So that you have:

Code: Select all

	<key>Falcon-S-player</key>
	<dict>
		<key>frangible</key>
		<false/> 
		<key>aft_eject_position</key>
		<string>0.0 0.0 -5.0</string>
		<key>aft_weapon_type</key>
		<string>EQ_WEAPON_TWIN_PLASMA_CANNON</string>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>custom_views</key>
		<array>
			<dict>
				<key>view_description</key>
				<string>Scoop-Cam</string>
				<key>view_orientation</key>
				<string>1.0 0.0 0.0 0.0</string>
				<key>view_position</key>
				<string>0.0 -3.5 20.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>External 1 - 12 O&apos;Clock</string>
				<key>view_orientation</key>
				<string>1.0 0.0 0.0 0.0</string>
				<key>view_position</key>
				<string>0.0 30.0 -220.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>

OXP: Kestrel&Falcon
Tweak: Add some more flashers to the Falcon
Reason: Adds two mandible-mounted "headlights", as seen in the movie The Empire Strikes Back to the player Falcon, along with a green flasher in the mouth of the fuel-scoop.
File(s): shipdata.plist

Find the section in shipdata.plist that looks like this (lines 273-291 for the Falcon-S or lines 503-521 for the standard Falcon):

Code: Select all

		<key>subentities</key>
		<array>
			<string>bweed-falcon-airlock-l 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-airlock-r 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-gun 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-dish 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-vents 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-scoop 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-player_turret 0.0 6.5 -9.5 0.25 0.75 0.0 0</string>
			<string>bweed-falcon-player_turret 0.0 -6 -9.5 0.25 -0.75 0.0 0</string>
			<string>*FLASHER* 24 0.0 18 0 2 0.0 3</string>
			<string>*FLASHER* 24 0.0 18 0 1 0.0 2</string>
			<string>*FLASHER* 0.0 -4.5 -26 0 2 0.0 3</string>
			<string>*FLASHER* 0.0 -4.5 -26 0 1 0.0 2</string>
			<string>*FLASHER* -25 0.0 -6.5 0 2 0.0 3</string>
			<string>*FLASHER* -25 0.0 -6.5 0 1 0.0 2</string>
			<string>*FLASHER* 25 0.0 -6.5 0 2 0.0 3</string>
			<string>*FLASHER* 25 0.0 -6.5 0 1 0.0 2</string>
		</array>
And insert the following code:

Code: Select all

			<string>*FLASHER* 5 0.0 40 60 0 0.0 2</string>
			<string>*FLASHER* -5 0.0 40 60 0 0.0 2</string>
			<string>*FLASHER* 0.0 -3.5 21.0 120 2 0.0 3</string>
So that you have:

Code: Select all

		<key>subentities</key>
		<array>
			<string>bweed-falcon-airlock-l 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-airlock-r 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-gun 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-dish 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-vents 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-scoop 0.0 0.0 0.0 1 0 0 0 </string>
			<string>bweed-falcon-player_turret 0.0 6.5 -9.5 0.25 0.75 0.0 0</string>
			<string>bweed-falcon-player_turret 0.0 -6 -9.5 0.25 -0.75 0.0 0</string>
			<string>*FLASHER* 24 0.0 18 0 2 0.0 3</string>
			<string>*FLASHER* 24 0.0 18 0 1 0.0 2</string>
			<string>*FLASHER* 0.0 -4.5 -26 0 2 0.0 3</string>
			<string>*FLASHER* 0.0 -4.5 -26 0 1 0.0 2</string>
			<string>*FLASHER* -25 0.0 -6.5 0 2 0.0 3</string>
			<string>*FLASHER* -25 0.0 -6.5 0 1 0.0 2</string>
			<string>*FLASHER* 25 0.0 -6.5 0 2 0.0 3</string>
			<string>*FLASHER* 25 0.0 -6.5 0 1 0.0 2</string>
			<string>*FLASHER* 5 0.0 40 60 0 0.0 2</string>
			<string>*FLASHER* -5 0.0 40 60 0 0.0 2</string>
			<string>*FLASHER* 0.0 -3.5 21.0 120 2 0.0 3</string>
		</array>

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Mon Feb 17, 2014 3:06 pm
by Redspear
Tinkerer's Workshop Index of Tweaks

OXPs:

Armoury Asteroid Storm Audible Docking Clearance BGS Cargo Spotter Commander's Log Deep Space Pirates HyperRadio HyperRadio In System Taxi In System Trader Kestrel & Falcon Kiota Stations Laser Booster Neolite Additional Shipset Numeric HUD Random Hits Random Hits Random Hits Random Ship Names Stations for Extra Planets System Feature: Rings Taxi Galactica Your Ad Here Misc:

Fuel Scoops Fuel Tanks HUD Skies
Nice one(s) Dizzy! :D

I've got some stuff for the Neolites, If I ever get around to sorting it out...

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Mon Feb 17, 2014 7:46 pm
by spara
Want to stop Kiotas from appearing as main stations? Then open the shipdata.plist and remove all dodo(0.1), dodec(0.1), dodecahedron(0.1), ico(0.1), icosa(0.1) and icosahedron(0.1) definitions from roles keys. Like this:

Code: Select all

roles = "wildShips_kiota4Ring wildShips_kiota station dodo(0.1) dodec(0.1) dodecahedron(0.1)";
to

Code: Select all

roles = "wildShips_kiota4Ring wildShips_kiota station";
Three lines to be changed, if I counted it right :) .

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Tue Feb 18, 2014 5:10 am
by Keeper
While I've made major texture/shader changes to a few, which are beyond the scope of this thread, here are a couple minor changes to text files.

OXP: In-System Taxi 1.2.2
Changing lines 160 and 161 of taxi_worldscripts.js to:

Code: Select all

		var name = global.randomName() +" "+ global.randomName();
		this.$commsMessage("Taxi requested by "+name+":\n"+from.displayName + " to " + to.displayName + "\nwithin "+  Math.floor((time - clock.seconds)/60) +" mins. Fare: " + formatCredits(fee, true, true) + " ");
reduces the comms message from five lines to two, without removing any information. It's just more condensed. No more taxi-spam.

This was a quick'n'dirty change, so I left in a space before and after which you could remove if you know what you're doing.

---

OXP: In-System Trader 1.4
Changing line 90 of InSystemTrader_worldscript.js to

Code: Select all

player.commsMessage("Stock rotation on commodity: " + ChoiceName + ".",8);
reduces the comms message from three lines (if I remember right) to one. Again, less spam without removing any actual information.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Tue Feb 18, 2014 7:06 pm
by Zireael
This is a great thread!

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Tue Feb 18, 2014 7:48 pm
by spara
DeepSpacePirates oxp adds (ds) and (dse) suffixes to the display names of the ships it spawns. For me that's an immersion killer, as it breaks the pattern of ship names. To remove those you have to open the file deep_space_pirates.js and navigate to lines 93, 115, 177 and change them like this:

Code: Select all

escort.displayName = escort.displayName + " (dse)";
to

Code: Select all

//escort.displayName = escort.displayName + " (dse)";

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Tue Feb 18, 2014 7:55 pm
by kanthoney
spara wrote:
DeepSpacePirates oxp adds (ds) and (dse) suffixes to the display names of the ships it spawns.
Oh, is that what that means? I've always wondered...

Wouldn't deleting the line have the same effect?

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Tue Feb 18, 2014 7:58 pm
by spara
:lol: Oh my. Yes, please just comment out the line. Don't really know what I was thinking. Probably nothing much.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Wed Feb 19, 2014 9:47 pm
by Cody
Diziet Sma wrote:
Cody wrote:
I'm using a tweaked version of Kaks' old Far Sun OXP
<ears prick up>
Tweaked? Please add it to this thread..
To be honest, Diz, I ain't too sure about posting some tweaks. Take the example above: when I say tweaked, it has actually been altered in a couple of ways (needed to make it work with another OXP) that I can't even recall properly. I really ought to inform Kaks, and send him the OXP I now use, but he ain't around much lately. Ideally, he'd release a tweaked version instead - but how many people use Far Sun these days, eh? Similarly with my other OXPs - some have little tweaks, others have been butchered and/or gutted to suit my needs. I wonder how OXP authors feel about posted tweaks (even with a disclaimer) to their works?

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Wed Feb 19, 2014 10:50 pm
by Smivs
Cody wrote:
I wonder how OXP authors feel about posted tweaks (even with a disclaimer) to their works?
I can't speak for others, but I would be happy with this. We release these under licenses that allow them to be tweaked, and I think on balance seeing some tweaks of your own work could actually be useful. For example my recent post relating to fixed passenger berths led to a few tweaks, and several useful variations of controlling berths are now available to everybody as a result.
And if the tweak is a good idea, it might even be assimilated into the original OXP :twisted:

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Wed Feb 19, 2014 10:52 pm
by Cody
Smivs wrote:
And if the tweak is a good idea, it might even be assimilated into the original OXP
<chortles - ponders the 'sporting' version of Extra Fuel Tanks>

As a caveat to anyone who tweaks an OXP: be sure to mark/rename it (slightly) so you know you have tinkered. One can lose track of which OXPs have been tweaked.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Wed Feb 19, 2014 11:57 pm
by Diziet Sma
Smivs wrote:
Cody wrote:
I wonder how OXP authors feel about posted tweaks (even with a disclaimer) to their works?
I can't speak for others, but I would be happy with this. We release these under licenses that allow them to be tweaked, and I think on balance seeing some tweaks of your own work could actually be useful.
To be honest, Cody, this idea sat on a back-burner in my mind for several months while I pondered the same question.. and I eventually came to much the same conclusion as Smivs.. Also, I figured that it's not as if anyone is re-distributing or taking credit for someone else's work.. the changes still have to be privately applied on an individual, case-by-case basis.. Only now, instead of staying unknown or being passed around amongst a few individuals simply by word of mouth, the tweaks are now out in the open, where, as Smivs mentioned, the original authors can see the changes and can choose, if they wish, to incorporate them themselves..
Cody wrote:
As a caveat to anyone who tweaks an OXP: be sure to mark/rename it (slightly) so you know you have tinkered. One can lose track of which OXPs have been tweaked.
In one sense, that's what my tip about keeping a folder for recording one's tweaks is about..

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Thu Feb 20, 2014 12:01 am
by Cody
Diziet Sma wrote:
In one sense, that's what my tip about keeping a folder for recording one's tweaks is about..
Aye, I know... but how many ordinary end-users are that well organised? I know that I'm not!

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Posted: Thu Feb 20, 2014 12:05 am
by Diziet Sma
Good point.. which is why I put that in the OP.. (I've added your suggestion there as well now)