Fractal Softworks Forum

Please login or register.

Login with username, password and session length

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Armithaig

Pages: [1]
1
Modding / SpawnDamagingExplosion: NullPointerException
« on: November 16, 2019, 05:05:06 AM »
Keep getting a NullPointerException in applyDamageInner() when a spawned explosion's dealing damage, whether's to/has a source or not.
Fairly recent addition with no discussion so maybe'm not being a knucklehead.

Code
val spec = DamagingExplosionSpec(
    0.1f, // duration
    30f, // radius
    15f, // coreRadius
    500f, // maxDamage
    250f, // minDamage
    CollisionClass.HITS_SHIPS_AND_ASTEROIDS, // collisionClass
    CollisionClass.HITS_SHIPS_AND_ASTEROIDS, // collisionClassByFighter
    5f, // particleSizeMin
    3f, // particleSizeRange
    1f, // particleDuration
    50, // particleCount
    Color(255, 75, 75, 55), // particleColor
    Color(255, 75, 75, 55) // explosionColor
)
combat.spawnDamagingExplosion(spec, ship, ship.location, true)

Callstack (full log)
Spoiler
java.lang.NullPointerException
   at com.fs.starfarer.combat.entities.Ship.applyDamageInner(Unknown Source)
   at com.fs.starfarer.combat.entities.Ship.applyDamageInner(Unknown Source)
   at com.fs.starfarer.combat.entities.Ship.applyDamage(Unknown Source)
   at com.fs.starfarer.combat.class.A.D.o00000(Unknown Source)
   at com.fs.starfarer.combat.class.A.o00000(Unknown Source)
   at com.fs.starfarer.combat.class.A.o00000(Unknown Source)
   at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source)
   at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source)
   at com.fs.starfarer.combat.CombatState.traverse(Unknown Source)
   at com.fs.state.AppDriver.begin(Unknown Source)
   at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
[close]

2
Some pedantic stuff've noted down while whittling, free to ignore.

Sprite Interpolation
Fair few hardpoint sprites've got heights not evenly divisible by 4 -> unnecessary interpolation.
L: 70px, R: 68px

Diagonals're also affected though ain't nearly as stark.


Bounty board;
Spoiler
Annihilator Rocket Launcher
Arbalest Autocannon
Atropos & Harpoon (Single)
Autopulse Laser
Devastator Cannon
Flak Cannon
Hypervelocity Driver (turret.y % 2 == 1)
IR Pulse Laser
Light Assault Gun
Light Dual Autocannon
Light Machine Gun
Light Mortar
Light Needler
Mark IX Autocannon
Mining Laser
Paladin PD System
Railgun
Salamander (Single)
[close]

Burn Drive Click
Noticed an audible click in burn_drive_deactivate.ogg since's cut at a non-zero value.
Captured here, isolated at end if's troublesome to hear.
Shaved 99 samples from start to get at the nearest zero-crossing, plenty of software can do it automatically like Audacity, Wavosaur, Reaper, Cubase, etc.
Few other sounds also suffer similarly but barely noticeable.

Drone Collision
Drones without a lesser HullSize cause the host to enter collision panic when they form up, regardless of CollisionClass.
Peeking at obfuscated collision module, seems to be some considerations for both collision class != SHIP and drones specifically, falls through here.
Panic (HullSize.FRIGATE & CollisionClass.FIGHTER)
Expected (HullSize.FIGHTER & CollisionClass.FIGHTER)

3
Modding / Ship Module Drift
« on: September 02, 2019, 01:22:30 PM »
Reinforcing this issue with some data.

Download mini-mod. Fixed.

Reproduction steps:
Enter variant editor, select AAA Tajmahir at top, run simulation, press A<->D intermittently n' watch modules slide outta their sockets.
Tried changing CSV properties: mass, max turn rate, turn acceleration.

ship_data.csv
Spoiler
Code
Tajmahir,hgn_carrier,Carrier,Midline,targetingfeed,16,9000,750,12000,,700,140,4,60,40,30,135,250,2000,OMNI,,180,0.5,0.9,,,150,450,400,200,2,100,8,140000,3,15,420,0.25,18,18,"SHIP_WITH_MODULES, CARRIER",midline_bp,,0.6,2,3,
Fighter Facility,hgn_c_production_fighter,Facility,,,,1000,300,0,,100,0,,0,0,0,10,10,0,NONE,,0,0,0,,,0,0,0,0,1,0,,,,1,,,0,0,"UNBOARDABLE, HIDE_IN_CODEX",hgn_c_production_facility,,0.5,2,3,
[close]

hgn_carrier.ship (Ship)
Spoiler
Code
{
"bounds": [
12,
-41.5,
-44.5,
-32,
-49.5,
-61,
-62,
-61,
-70.5,
-32,
-95.5,
-23.5,
-137.5,
-20.5,
-137.5,
21,
-95.5,
23.5,
-74.5,
32,
-13,
32,
12,
41.5,
97,
41.5,
145.5,
29.5,
187,
10.5,
176,
-28.5,
145.5,
-41.5
],
"center": [
48,
142
],
"collisionRadius": 245,
"engineSlots": [
{
"angle": 180,
"contrailSize": 30,
"length": 30,
"location": [
-140,
9
],
"style": "MIDLINE",
"width": 10
},
{
"angle": 180,
"contrailSize": 30,
"length": 30,
"location": [
-140,
-9
],
"style": "MIDLINE",
"width": 10
},
{
"angle": 180,
"contrailSize": 30,
"length": 30,
"location": [
-140,
0
],
"style": "MIDLINE",
"width": 10
}
],
"height": 365,
"width": 120,
"hullId": "hgn_carrier",
"hullName": "Tajmahir",
"hullSize": "CRUISER",
"shieldCenter": [
40,
0
],
"shieldRadius": 200,
"spriteName": "graphics/ships/hgn/carrier/hull.png",
"style": "MIDLINE",
"viewOffset": 0,
"weaponSlots": [
{
"angle": 0,
"arc": 5,
"id": "LB 001",
"locations": [
165,
-19.5,
170,
-11,
173.5,
-27,
156.5,
-15,
153.5,
-25.5
],
"mount": "HIDDEN",
"size": "LARGE",
"type": "LAUNCH_BAY"
},
{
"angle": 90,
"arc": 5,
"id": "LB 002",
"locations": [
51,
47,
39.5,
49.5,
22.5,
45,
63.5,
44.5,
75,
47,
86,
44.5
],
"mount": "HIDDEN",
"size": "LARGE",
"type": "LAUNCH_BAY"
},
{
"angle": 0,
"arc": 0,
"id": "PF 001",
"locations": [
122,
-18
],
"mount": "HARDPOINT",
"size": "SMALL",
"type": "STATION_MODULE"
},
{
"angle": 0,
"arc": 0,
"id": "PF 002",
"locations": [
54.5,
-18
],
"mount": "HARDPOINT",
"size": "SMALL",
"type": "STATION_MODULE"
},
{
"angle": 0,
"arc": 0,
"id": "PF 003",
"locations": [
54.5,
26
],
"mount": "HARDPOINT",
"size": "SMALL",
"type": "STATION_MODULE"
},
{
"angle": -90,
"arc": 0,
"id": "GM 001",
"locations": [
-30.5,
-11
],
"mount": "HARDPOINT",
"size": "SMALL",
"type": "STATION_MODULE"
},
{
"angle": -90,
"arc": 90,
"id": "GM 002",
"locations": [
-55.5,
-11
],
"mount": "HARDPOINT",
"size": "SMALL",
"type": "STATION_MODULE"
},
{
"angle": 0,
"arc": 90,
"id": "SA 001",
"locations": [
153,
4.5
],
"mount": "HARDPOINT",
"size": "SMALL",
"type": "STATION_MODULE"
},
{
"angle": 45,
"arc": 0,
"id": "WS 001",
"locations": [
101,
20
],
"mount": "HIDDEN",
"size": "SMALL",
"type": "BALLISTIC"
},
{
"angle": 135,
"arc": 0,
"id": "WS 002",
"locations": [
7.5,
20
],
"mount": "HIDDEN",
"size": "SMALL",
"type": "BALLISTIC"
},
{
"angle": 0,
"arc": 0,
"id": "WS 003",
"locations": [
176.5,
5
],
"mount": "HIDDEN",
"size": "SMALL",
"type": "BALLISTIC"
},
{
"angle": -110,
"arc": 0,
"id": "WS 004",
"locations": [
0.5,
-24.5
],
"mount": "HIDDEN",
"size": "SMALL",
"type": "BALLISTIC"
},
{
"angle": 110,
"arc": 0,
"id": "WS 005",
"locations": [
-81.5,
20
],
"mount": "HIDDEN",
"size": "SMALL",
"type": "BALLISTIC"
},
{
"angle": -110,
"arc": 0,
"id": "WS 007",
"locations": [
-82,
-19
],
"mount": "HIDDEN",
"size": "SMALL",
"type": "BALLISTIC"
},
{
"angle": -45,
"arc": 0,
"id": "WS 008",
"locations": [
147,
-34
],
"mount": "HIDDEN",
"size": "SMALL",
"type": "BALLISTIC"
}
]
}
[close]

hgn_c_production_fighter.ship (Module)
Spoiler
Code
{
"bounds": [
25,
-10,
-24,
-10,
-24,
10,
25,
10
],
"builtInMods": [ ],
"center": [
11.5,
25.5
],
"collisionRadius": 32.5,
"engineSlots": [ ],
"height": 61,
"width": 23,
"hullId": "hgn_c_production_fighter",
"hullName": "Fighter Facility",
"hullSize": "FRIGATE",
"moduleAnchor": [ 0, 0 ],
"shieldCenter": [ 0, 0 ],
"shieldRadius": 44,
"spriteName": "graphics/ships/hgn/carrier/production/fighter.png",
"style": "MIDLINE",
"viewOffset": 0,
"weaponSlots": [ ]
}
[close]

4


Honoring the 20th anniversary of the Homeworld franchise and the upcoming sequel announced today, a small mod to introduce the ships of Homeworld 2 into Starsector.

All fresh out of the factory midlines without paint jobs, any faction with midline blueprints'll sport them.
Rare painted versions'll show up as loot out in the fringes.

Download 1.3.1
Source on Gitlab
Donations welcome
Integrated with Version Checker


Ships
Fighters
(Large by Starsector standards, wing size reduced)

Class: Sahir
Role: Recon Scout
Arms: 1x Light Kinetic Autogun
Class: Nasir
Role: Heavy Interceptor
Arms: 1x Kinetic Autogun
Class: Midhi
Role: Plasma Bomber
Arms: 2x Plasma Bomb Launcher
Class: Kashaf
Role: Survey Scout
Arms: 1x Light Flechette Cannon
Class: Alharis
Role: Assault Craft
Arms: 1x Flechette Cannon
Class: Mufajir
Role: Plasma Bomber
Arms: 2x Plasma Bomb Launcher
Class: Ramah
Role: Lance Fighter
Arms: 1x Light Plasma Lance

Corvettes
Class: Tira
Role: Corvette
System: Wing Leader [Video]
Mounts: 1x Medium Energy

Frigates
Class: Banika
Role: Transport
System: Ram Drive [Video]
Mounts: 1x Small Ballistic
Mods: Modular Holds
Class: Hinsra
Role: Heavy Frigate
System: Ram Drive [Video]
Mounts: 1x Medium Ballistic, 2x Small Ballistic,
1x Small Missile

Destroyers
Class: Vidhvansak
Role: Heavy Destroyer
System: Missile Defense [Video]
Mounts: 1x Large Ballistic, 2x Medium Composite
Arms: 1x Rajih MRM Battery

Cruisers
Class: Tajmahir
Role: Carrier
System: Reserve Deployment
Mounts: 1x Large Composite, 2x Medium Missile,
5x Small Ballistic, 3x Fighter Bay

Capitals/Utility
TODO

Weapons
Light Zenith Cannon
Role: Point Defense (Area)
Mount: Small Ballistic
Damage: Fragmentation
Pulsar Cannon
Role: General
Mount: Medium Energy
Damage: Energy
Kitar Flechette Cannon
Role: Anti Shield
Mount: Large Ballistic
Damage: Kinetic

Feedback
    Welcome suggestions of what to prioritise.
    Balance's taken a backseat to making more ships, pipe up if anything's over/underperforming.
    Homeworld's right sparse on information about its ships or technology, will begrudgingly take corrections and fan theories.


Credit
  • Relic Entertainment for the original ship designs and sounds.
Homeworld is a registered trademark of Sierra Entertainment 1999-2007, Gearbox Entertainment 2013-2019.
All rights reserved.

5
Suggestions / [MODDING] Flip Weapon Sprites
« on: August 28, 2019, 10:38:32 AM »
'Ello!

Would it be entirely outta the realm of possibility to add an option for flipping/mirroring weapon sprites to ship files, thinkin' something like this.
Code
"weaponSlots": [{
        "angle": 0,
        "arc": 0,
        "id": "WS 001",
        "locations": [
            -6,
            14
        ],
        "mount": "HARDPOINT",
        "size": "SMALL",
        "type": "UNIVERSAL",
        "flip": "HORIZONTAL" <----
}]

Example use-case fighter.

Snagged the hardpoint sprite for the left weapon, turret sprite for the right, borked coordinates be damned. Alternatively'd have merged 'em into a single multi-barrel weapon, ignoring the paltry "1x Plasma Bomb Launcher" in the codex/tooltip. Last option's making two entirely separate weapons just for the changed sprite, skewed only slightly too far towards lazy for that (maybe a weapon .skin system).
But neither'll fly for anything the player can remount.

Thank you for your seemingly unceasing hard work!

Edit: test if edits broken

Pages: [1]