1.7a1a Issues that can be fixed in XML

Discussions on patches, enhancements, and other engine changes.
User avatar
Wolfy
Fleet Admiral
Fleet Admiral
Posts: 5348
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

Sat Mar 26, 2016 11:14 pm

Please post descriptions of issues that need to be fixed in the main tdb (this includes XML and tlisp code)

Thanks!
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'hycrotan 'nonBinary))
Image

User avatar
SolarGalaxy
Miner
Miner
Posts: 37
Joined: Sun Mar 02, 2014 2:29 am
Location: Aboard the Radon class Assault Carrier

Sun Mar 27, 2016 12:37 am

Do spelling errors go here too?

There's the minor one with "outpust" instead of "outpost" in Benedict01.xml on line 734.

Someone already mentioned it on ministry: https://ministry.kronosaur.com/record.hexm?id=54304

User avatar
AssumedPseudonym
Militia Captain
Militia Captain
Posts: 943
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

Sun Mar 27, 2016 3:41 am

SolarGalaxy wrote:Do spelling errors go here too?

There's the minor one with "outpust" instead of "outpost" in Benedict01.xml on line 734.

Someone already mentioned it on ministry: https://ministry.kronosaur.com/record.hexm?id=54304
 Someone *cough*me*cough* mentioned that one back when Benedict’s tutorial was first implemented back in 1.3, actually. ^.~
Image

My mods on Xelerus: Click here!

Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)

User avatar
sun1404
Militia Captain
Militia Captain
Posts: 527
Joined: Thu Nov 03, 2011 10:32 am
Location: Heretic. (Finally!)

Sun Mar 27, 2016 6:36 am

Uh, I can't remember Benedict from 1.3, I thought he was just from 1.6 or somewhere about that?
Yes, look at my avatar, I have a wyvera type ship.

User avatar
AssumedPseudonym
Militia Captain
Militia Captain
Posts: 943
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

Sun Mar 27, 2016 7:17 am

Image

My mods on Xelerus: Click here!

Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)

User avatar
sun1404
Militia Captain
Militia Captain
Posts: 527
Joined: Thu Nov 03, 2011 10:32 am
Location: Heretic. (Finally!)

Sun Mar 27, 2016 9:31 am

Indeed. Benedict is older than I thought.
Yes, look at my avatar, I have a wyvera type ship.

User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2595
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

Sun Mar 27, 2016 6:34 pm

Hello,
I made a list.
It contains informations of all the code lines containing deprecated functions, all of them.

If we are going to push patches to George's git, I think it would be a great idea to update the code for George. This will improve readability of the code by new modders. This is really important if we want to increase the modders community.

I can't paste it here as it's 1463 lines.
Here is the file:
https://dl.dropboxusercontent.com/u/720 ... ctions.txt

PM
Fleet Admiral
Fleet Admiral
Posts: 2219
Joined: Wed Sep 01, 2010 12:54 am

Mon Mar 28, 2016 1:46 am

There are recent tickets for minor weapon mismatches.
* Single Flenser has WMD:3, but dual Flenser has WMD:2.
* XM900 missile does 7d24 (87.5) damage, but NM900 disposable launcher does 6d24 (75) damage.
Download and Play in 1.7 Beta...
Playership Drones v7 (Beta): Acquire and command almost any ship in Stars of the Pilgrim or Eternity Port.
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Relive classic arcade gaming in a new Transcendence adventure!
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.

relanat
Militia Commander
Militia Commander
Posts: 385
Joined: Tue Nov 05, 2013 9:56 am

Tue Mar 29, 2016 12:03 pm

Wolfy wrote:Please post descriptions of issues that need to be fixed in the main tdb (this includes XML and tlisp code)

Thanks!
I'm pretty vague on what this means. Others might not know either. I'm fairly sure the main tdb is the file that gets decompiled by Transdata to give you a heap of .xml's in Transcendence_Source. But I'm clueless on what tlisp code is. Could you go into a bit more detail, please. Possibly with a few examples of what sort of things you're looking for.

User avatar
Shrike
Fleet Admiral
Fleet Admiral
Posts: 2692
Joined: Mon Aug 17, 2009 4:27 am
Location: Scouting the borders of sanity (there's a lovely view of the abyss).

Wed Mar 30, 2016 2:38 am

relanat wrote:
Wolfy wrote:Please post descriptions of issues that need to be fixed in the main tdb (this includes XML and tlisp code)

Thanks!
I'm pretty vague on what this means. Others might not know either. I'm fairly sure the main tdb is the file that gets decompiled by Transdata to give you a heap of .xml's in Transcendence_Source. But I'm clueless on what tlisp code is. Could you go into a bit more detail, please. Possibly with a few examples of what sort of things you're looking for.

TBD's are the way the game bundles up content for download from the multiverse. They're what you're decompiling when you run transdata to get the source code for the game content. By "main TBD", wolfy means the main game (SOTP Part I) source code...or anything in the 'Transcendence Source' folder, if you've just run a decompile without doing any of the fancy stuff to get the EP/CC/TSB/etc source code.

XML and tlisp are the two programming languages in them. XML is basically data for the game to read. tlisp is code that gets run by the game.

XML looks like this (sample from the dual laser cannon):

Code: Select all

<Weapon
				type=				"beam"

				configuration=		"dual"
				damage=				"laser:1d4"
				fireRate=			"10"
				lifetime=			"30"
				powerUse=			"30"

				effect=				"&efLaserBeamDefault;"
				sound=				"&snLaserCannon;"
				>
Generally you'll see lots of <angled brackets> and </closing tags>, and it's just information telling the game what to look at for certain things: it doesn't do anything fancy.

tlisp looks like this (from the katana starcannon's hiteffect):

Code: Select all

(block (
							(damageHP (@ gData 'damageHP))
							)
							
							{
								radius: (if (= damageHP 0) 10 (mathScale damageHP 10 140 30 70 50))
								lifetime: (if (= damageHP 0) 4 (mathScale damageHP 10 140 12 48 50))
								}
							)
It uses a lot of rounded brackets, has a different style of writing entirely, and gets used for calculations and fancy stuff. Also if you're opening transcendence sourcecode XMLs in something like notepad, tlisp will show up black (no syntax highlighting) when using the stock XML syntax highlighter.

-----

The super short version is: if there's a typo, deprecated function or bug in the core game source code, and it can be fixed with a simple edit to those XML files....put it here so Wolfy can take a look.

----------

Hope that helps a bit. :)
Your friendly local genderqueer weapons designer & forum moderator. My pronoun is "They".

relanat
Militia Commander
Militia Commander
Posts: 385
Joined: Tue Nov 05, 2013 9:56 am

Wed Mar 30, 2016 8:36 am

Thanks, Shrike. Excellent work. It helps a lot. I used to think everything in an .xml file was XML but now know better.
I'll keep my eyes open when I'm looking at George's code (although I think digdug might have got most of it! :shock: )

User avatar
Shrike
Fleet Admiral
Fleet Admiral
Posts: 2692
Joined: Mon Aug 17, 2009 4:27 am
Location: Scouting the borders of sanity (there's a lovely view of the abyss).

Sat Apr 02, 2016 4:03 am

Here's one from me: Mining charges don't have 100% passthrough. This means you get false negatives, and thus they're even more useless than they would otherwise be.

(The shockwave continues after it fails a passthrough check, but will not detect or mine anything after that point, anywhere on the ring)

Code to fix (Note: Taken from 1.6.2, you'll need to check that George didn't alter any parameters. Honestly though it's just one line per thing):

Code: Select all

	<ItemType UNID="&vtSeismicScannerPower;"
			name=				"seismic scanner power"
			virtual=			"true"
			inherit=			"&baSeismicScannerPower;"
			level=				"2"
			>

		<Weapon
				type=				"area"

				damage=				"blast:3d6"
				fireRate=			"30"
				expansionSpeed=		"80"
				missileSpeed=		"0"
				lifetime=			"20"
				powerUse=			"500"
				passthrough=		"100"
				canHitSource=		"true"
				
				sound=				"&snArmorHit1;"
				>

			<Effect>
				<Shockwave
						style=			"glowRing"
						width=			"2"
						glowSize=		"12"
						primaryColor=	"#ffd4cb"
						secondaryColor=	"#f24b29"
						/>
			</Effect>
		</Weapon>
		
		<StaticData>
			<Data id="podType">&itSeismicScannerPod;</Data>
		</StaticData>
		
		</ItemType>
		
		<ItemType UNID="&vtClassAExcavationPower;"
			name=				"class A excavation power"
			virtual=			"true"
			level=				"3"
			>

		<Weapon
				type=				"area"

				damage=				"blast:4d6; mining:5"
				fireRate=			"30"
				expansionSpeed=		"80"
				missileSpeed=		"0"
				lifetime=			"20"
				passthrough=		"100"
				powerUse=			"500"
				canHitSource=		"true"
				>

			<FireEffect
					sound="&snArmorHit1;"
							>
				<Flare
						style=			"fadingBlast"
						radius=			"120"
						primaryColor=	"#ffc29a"
						lifetime=		"8"
								/>
			</FireEffect>
			
			<Effect>
				<Shockwave
						style=			"image"
						>
					<Image imageID=				"&rsShockwave3;"
							imageX=				"0" 
							imageY=				"0" 
							imageWidth=			"512" 
							imageHeight=		"128"
							/>
				</Shockwave>
			</Effect>
		</Weapon>
	</ItemType>
	
	<ItemType UNID="&vtClassBExcavationPower;"
			name=				"class B excavation power"
			virtual=			"true"
			level=				"5"
			>

		<Weapon
				type=				"area"

				damage=				"blast:6d6; mining:6"
				fireRate=			"30"
				expansionSpeed=		"80"
				missileSpeed=		"0"
				lifetime=			"25"
				passthrough=		"100"
				powerUse=			"500"
				canHitSource=		"true"
				>

			<FireEffect
					sound="&snArmorHit1;"
							>
				<Flare
						style=			"fadingBlast"
						radius=			"180"
						primaryColor=	"#ffc29a"
						lifetime=		"8"
								/>
			</FireEffect>
			
			<Effect>
				<Shockwave
						style=			"image"
						>
					<Image imageID=				"&rsShockwave3;"
							imageX=				"0" 
							imageY=				"0" 
							imageWidth=			"512" 
							imageHeight=		"128"
							/>
				</Shockwave>
			</Effect>
		</Weapon>
	</ItemType>
	
	<ItemType UNID="&vtAdvancedScannerPower;"
			name=				"advanced scanner power"
			virtual=			"true"
			inherit=			"&baSeismicScannerPower;"
			level=				"6"
			>

		<Weapon
				type=				"area"

				damage=				"blast:5d6"
				fireRate=			"30"
				expansionSpeed=		"80"
				missileSpeed=		"0"
				lifetime=			"38"
				passthrough=		"100"
				powerUse=			"500"
				canHitSource=		"true"
				
				sound=				"&snArmorHit1;"
				>

			<Effect>
				<Shockwave
						style=			"glowRing"
						width=			"2"
						glowSize=		"12"
						primaryColor=	"#f7ffcc"
						secondaryColor=	"#d1f229"
						/>
			</Effect>
		</Weapon>
		
		<StaticData>
			<Data id="podType">&itAdvancedScannerPod;</Data>
		</StaticData>
	</ItemType>
	
	<ItemType UNID="&vtClassCExcavationPower;"
			name=				"class C excavation power"
			virtual=			"true"
			level=				"8"
			>

		<Weapon
				type=				"area"

				damage=				"thermo:8d12; mining:7"
				fireRate=			"30"
				expansionSpeed=		"80"
				missileSpeed=		"0"
				lifetime=			"38"
				passthrough=		"100"
				powerUse=			"500"
				canHitSource=		"true"
				>

			<FireEffect
					sound="&snArmorHit1;"
							>
				<Flare
						style=			"fadingBlast"
						radius=			"240"
						primaryColor=	"#ffc29a"
						lifetime=		"8"
								/>
			</FireEffect>
			
			<Effect>
				<Shockwave
						style=			"image"
						>
					<Image imageID=				"&rsShockwave3;"
							imageX=				"0" 
							imageY=				"0" 
							imageWidth=			"512" 
							imageHeight=		"128"
							/>
				</Shockwave>
			</Effect>
		</Weapon>
These are originally from StdMiningEquipment.XML
Your friendly local genderqueer weapons designer & forum moderator. My pronoun is "They".

User avatar
Shrike
Fleet Admiral
Fleet Admiral
Posts: 2692
Joined: Mon Aug 17, 2009 4:27 am
Location: Scouting the borders of sanity (there's a lovely view of the abyss).

Sat Apr 02, 2016 5:28 am

Another one is the check for equipment level in Eridani not catching armor dealers.
Your friendly local genderqueer weapons designer & forum moderator. My pronoun is "They".

User avatar
AssumedPseudonym
Militia Captain
Militia Captain
Posts: 943
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

Sat Apr 09, 2016 11:17 am

 Here’s something: Update the NPC Sapphires, EI500s, and Wolfens up to 120 facings, since the graphics already exist for them. Don’t forget the Arena variants. I’d suggest doing likewise with the Manticore, borrowing CC’s playership graphics, but I remember someone mentioning that George needs to re-render it.
Image

My mods on Xelerus: Click here!

Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)

User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2595
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

Mon Apr 11, 2016 4:14 pm

I have another:
- some weapons after the 1.7 update still have a few bugs here and there: for example there are a few weapons still using the old WMD.
moskva 21 uses WMD3, it should be changed to WMD:2

(as soon as I have more, i'll update this post.)

Post Reply