1.7a1a Issues that can be fixed in XML

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

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 'Varalyn 'nonBinary))
Homelab Servers: Xeon Silver 4110, 16GB | Via Quadcore C4650, 16GB | Athlon 200GE, 8GB | i7 7800X, 32GB | Threadripper 1950X, 32GB | Atom x5 8350, 4GB | Opteron 8174, 16GB | Xeon E5 2620 v3, 8GB | 2x Xeon Silver 4116, 96GB, 2x 1080ti | i7 8700, 32GB, 6500XT
Workstations & Render machines: Threadripper 3990X, 128GB, 6900XT | Threadripper 2990WX, 32GB, 1080ti | Xeon Platinum 8173M, 48GB, 1070ti | R9 3900X, 16GB, Vega64 | 2x E5 2430L v2, 24GB, 970 | R7 3700X, 32GB, A6000
Gaming Systems: R9 5950X, 32GB, 6700XT
Office Systems: Xeon 5318Y, 256GB, A4000
Misc Systems: R5 3500U, 20GB | R5 2400G, 16GB | i5 7640X, 16GB, Vega56 | E5 2620, 8GB, R5 260 | P4 1.8ghz, 0.75GB, Voodoo 5 5500 | Athlon 64 x2 4400+, 1.5GB, FX 5800 Ultra | Pentium D 3.2ghz, 4GB, 7600gt | Celeron g460, 8GB, 730gt | 2x Athlon FX 74, 8GB, 8800gts 512 | FX 9590, 16GB, R9 295x2 | E350, 8GB | Phenom X4 2.6ghz, 16GB, 8800gt | random core2 duo/atom/i5/i7 laptops
User avatar
SolarGalaxy
Miner
Miner
Posts: 40
Joined: Sun Mar 02, 2014 2:29 am
Location: Charting course to new worlds.

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
Fleet Officer
Fleet Officer
Posts: 1190
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

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

Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)

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!)

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
Fleet Officer
Fleet Officer
Posts: 1190
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

Image

Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)

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!)

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: 2620
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

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: 2570
Joined: Wed Sep 01, 2010 12:54 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.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
relanat
Militia Captain
Militia Captain
Posts: 941
Joined: Tue Nov 05, 2013 9:56 am

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.
Stupid code. Do what I want, not what I typed in!
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 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. :)
Mischievous local moderator. She/Her pronouns.
relanat
Militia Captain
Militia Captain
Posts: 941
Joined: Tue Nov 05, 2013 9:56 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: )
Stupid code. Do what I want, not what I typed in!
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 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
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

Another one is the check for equipment level in Eridani not catching armor dealers.
Mischievous local moderator. She/Her pronouns.
User avatar
AssumedPseudonym
Fleet Officer
Fleet Officer
Posts: 1190
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

 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

Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)

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: 2620
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

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