shiplist.sst info needed

General Modding Information/Questions; support/discussion/questions

Moderator: thunderchero

Forum rules
:idea: Please search before starting new topic. :idea:
There is a good chance it has already been asked.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

shiplist.sst info needed

Post by thunderchero »

Hi Everyone,

I was looking at the shiplist.sst and noticed some areas are not list/explained. So I created a new table with all the info I could find.

I hope to find/get some help with the unknown lines in image below.

I know some of the hex type is not exactly described correctly (1 byte unsigned ect) I just used term from UE.

old image https://www.armadafleetcommand.com/lib/ ... iplist.png
Image


thunderchero
Dr_Breen
Commodore
Commodore
Posts: 889
Joined: Wed Apr 30, 2008 2:00 am
Location: Zurich, Switzerland
Contact:

Re: shiplist.sst info needed

Post by Dr_Breen »

offset 0xc8:
Did you notice that the Galaxy II (command cruiser II) is the only ship that has a 01 in the first byte (followed by 11 bytes with 00). all the other ships have 12 bytes filled with 00. perhaps they planed something there but never used it. or is there anything special about the Galaxy II?
Public BotF / EF2 Teamspeak 3 Server: 83.169.13.55
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: shiplist.sst info needed

Post by thunderchero »

Dr_Breen wrote: or is there anything special about the Galaxy II?
yup there is
Spocks-cuddly-tribble wrote:-GalaxyII 640points beam bug (DCER)

shiplist.sst - relative offsets of GalaxyII (replace the following values with zeros):

+0xB4 (01), +0xB8 (96), +0xBC (08 ), +0xC0 (50), +0xC4 (0C), +0xC8 (01)
and at +0x101-103 (E0 75 40)
just +0xC8 (01) was never explained.

thunderchero
User avatar
Raider Echo3
Cadet 3rd Year
Cadet 3rd Year
Posts: 14
Joined: Wed May 27, 2015 11:58 am

Re: shiplist.sst info needed

Post by Raider Echo3 »

Since the min plasma range is missing maybe +0xC8 is min range for plasma weapon? ;)
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

AI indicators for offensive/defensive capabilities of ships

Post by Spocks-cuddly-tribble »

thunderchero wrote: Fri Jun 14, 2013 5:38 pmI hope to find/get some help with the unknown lines in image below.
Better late than never.... :wink:


Sub_479D10 reads dword shiplist.sst +9C/+A0 as AI indicators for offensive/defensive capabilities of ships.

E.g. shiplist.sst +9C (AI offensive capability) gets tested for AI Colony & TT ships to set combat ability bit for AI taskforces (sub_42B988).


The unused combat.bin is a ship vs ship odds table (pointless unless 1vs1), so instead the AI reads stats like shipfunction, build cost and:

[shiplist.sst +9C] = AI indicator for offensive capability
[shiplist.sst +A0] = AI indicator for defensive capability

See also 'Combat.bin bug': viewtopic.php?f=272&t=566#p19075

Compare offensive/defensive capability values i.e. sort ships first by value from sub_4797C0 (combat.bin bug) and subordinate by:

AI offensive capability -> ([+9C] * 100 / 15868) + 10 * crew experience level

AI defensive capability -> ([+A0] * 100 / 5862) + 10 * crew experience level



And of course the code has a bug...


Sorting / Selection of AI Ships (Task Forces) Crew Experience Bug-Fix (aka combat.bin AI ship sorting fix)

Code: Select all

0x791CF change 01 C2 89 94 -> 8B F8 01 84

0x7921A change 08 -> 38

00479DCF   8BF8              MOV EDI, EAX             // store 10 * crew experience level ship 1
00479DD1   018424 40020000   ADD [ESP+240], EAX

00479E18   8D1C38            LEA EBX, [EAX+EDI]       // use for ship 1 [+A0h]


EDIT: Following "AI ship sorting by function - deviation fix" might be related to the subject:

Code: Select all

NAME: AI ship sorting by function - deviation fix
DESC: Corrects a cruiser (02) vs artillery sorting deviation in ds:58AEF4 vs sub_4797C0.
AUTHOR: Spocks-cuddly-tribble
URL: https://www.armadafleetcommand.com/onscreen/botf/viewtopic.php?p=50855#p50855

>> 0x188CFA 01 00 02
<< 0x188CFA 02 00 01

# 0x188CF6 04 00 03 00 01 00 02 00 00 00 06 00 FF FF FF FF FF FF 05 00 -> lower more powerful
# cf479841 03 00 04 00 05 00 0A 00 0F 00 01 00 08 00 14 00 1E 00 02 00 -> higher more powerful (combat.bin bug)

---

Code: Select all

NAME: AI ShipUnits Crew Experience Bonuses Bug FIX 2 (@ 1 see combat.bin AI ship sorting fix)
DESC: Fixes the calculation of the total/average build cost of AI TskSh with crew experience bonuses.
AUTHOR: Spocks-cuddly-tribble
URL: https://www.armadafleetcommand.com/onscreen/botf/viewtopic.php?p=50855#p50855

>> 0x00007ce9 94
>> 0x00007cfc 89 94 24 2c 01 00 00 e8 cc 4d 11 00 db 9c
>> 0x0002a3ef 94
>> 0x0002a400 89 94 24 48 01 00
>> 0x0002a407 89 e8 de c1 89 ca e8 c2 26 0f 00 db 9c 24 48 01 00 00

<< 0x00007ce9 84
<< 0x00007cfc e8 d3 4d 11 00 db 1c 24 8b 14 24 90 01 94
<< 0x0002a3ef 84
<< 0x0002a400 de c1 e8 cd 26 0f
<< 0x0002a407 db 1c 24 8b 14 24 01 94 24 48 01 00 00 90 8b c5 8b d1

# set AI Task +C4/+CC total/average build cost of TskSh/station with crew experience bonuses

#004088E8     898424 30010000    MOV [ESP+130],EAX  // build cost

#004088FC     E8 D34D1100        CALL 51D6D4
#00408901     DB1C24             FISTP DWORD [ESP]  // build cost +5%*(crew experience level)
#00408904     8B1424             MOV EDX,[ESP]
#00408907     90                 NOP
#00408908     019424 2C010000    ADD [ESP+12C],EDX  // update total cost TskSh ShipUnits with crew experience bonuses

# Patrol defense task

#0042AFEE     898424 40010000    MOV [ESP+140],EAX  // build cost

#0042B000     DEC1               FADDP ST(1),ST
#0042B002     E8 CD260F00        CALL 51D6D4
#0042B007     DB1C24             FISTP DWORD [ESP]  // build cost +5%*(crew experience level)
#0042B00A     8B1424             MOV EDX,[ESP]
#0042B00D     019424 48010000    ADD [ESP+148],EDX  // update
#0042B014     90                 NOP
#0042B015     8BC5               MOV EAX,EBP
#0042B017     8BD1               MOV EDX,ECX
Last edited by Spocks-cuddly-tribble on Sun Jun 19, 2022 9:22 pm, edited 8 times in total.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

shiplist.sst Beam Minimum 'Range?' Firing Arc in Degrees & Trek.exe Phaser Slots

Post by Spocks-cuddly-tribble »

Gowron wrote:During combat, a ship is designated as "unarmed" if its minimum beam range is equal to zero.
viewtopic.php?f=208&t=79#p596

Apart from this are we sure the 'beam minimum range?' at shiplist.sst +0xDC is actually used?


The 'minimum range?' for beam-weapons of space stations is not read from shiplist.sst but fixed in trek.exe (default -1):

Code: Select all

005224B5                 mov     dword ptr [eax+210h], 0
005224BF                 mov     dword ptr [eax+214h], 0BFF00000h
Since -1 is cosine of pi (fcos function interprets values as radians) this would be 360.0 degree in shiplist.sst.


'Minimum range?' for beam-weapons of ships & monsters from shiplist.sst gets coverted into radians via *pi/360 (stations & 'plasma?' not):

Code: Select all

584CEC BeamMinRange_x_0_5     // * 0.5 = /2
584CF4 BeamMinRange_x_pi      // * pi
584CFC BeamMinRange_x_0_005p  // * 5/900 = /180
Unlike stations the fcos function is applied before storing.


'Minimum range?' for 'plasma?'-weapons of ships in trek.exe at:

Code: Select all

584D04 PlasmaMinRange_0_3926990816987238 // radian PI/8 for fcos function equals 45.0 degree in shiplist.sst
Note that all shiplist.sst values mistakenly referred to with 'plasma'(they are not connected with plasma.hob files) are only used for ships (not stations & monster).

Phaser/plasma switch is in the trek.exe ship slot at +0x10 (0 = use phaser / 1 = use plasma). The info here is false: viewtopic.php?f=150&t=3321#p44235


1. Shiplist.sst +0xDC is an angular degree, converted into radians for fcos function (e.g. degrees/cos = 0/1 180/0 360/-1).
2. The calculated cosine values don't seem to be used but instead values depending on trek.exe phaser-slots.


Trek.exe Phaser Slot values


Sub_52C548 assigns each slot four values depending on set bits:

for C0 (Turret?) set values 1-4 to 1 / 0 / 0 / -1 (360 degree) and exit

for all other calculate values 1-3 using radians A & B:

(remove bits 7-8)

only bit 5 set radian A = 0 & radian B = 0.5pi
only bit 6 set radian A = 0 & radian B = -0.5pi

else (remove bits 5-8) and set radian A for:

0h = not set
1h = 0
2h = pi
3h = not set
4h = 1.5pi
5h = 1.75pi
6h = 1.25pi
7h = not set
8h = 0.5pi
9h = 0.25pi
Ah = 0.75pi
B-F= not set

then check bits 5 & 6 for radian B:

0 or both -- radian B = 0
only bit 5 - radian B = 0.25pi
only bit 6 - radian B = -0.25pi

Calculate values 1-3:

1 = cosine radian A * cosine radian B
2 = sine radian A * cosine radian B
3 = sine radian B

then check bits 7 & 8 for value 4 (firing arc):

0 or both set 0.5 = 120 degree (Beam/Emitter Banks?)
only bit 7 set 0.866 = 60 degree (Dual & Heavy Cannons?)
only bit 8 set 0 = 180 degree (Beam/Emitter Array?)


Have the phaser slots in hob.files a direction value (e.g. rear/aft-mounted or up/down) or is the direction set by radians A & B?

Bits 1-8 (read from right to left): https://kb.iu.edu/d/afdl

Code: Select all

1 - forward
2 - rear
3 - right
4 - left
5 - up
6 - down
7 - narrow firing arc
8 - wide firing arc

In theory one could use different firing arcs for Heavy Cannons, Beam Banks, Arrays or Turrets on the same ship.

Unfortunately the game development stopped before different weapon types, strengths and animations could get assigned to specific weapon slots of the ship model.

- no torpedo and/or unkown ship hob slots
- phaser & plasma hob are mutually exclusive and share same ship hob & trek.exe slots
- the second energy weapon (galaxy class 2 default) has no ingame display for stats, issues when paired with main phasers and shares the phaser/plasma setting
Last edited by Spocks-cuddly-tribble on Sat Sep 02, 2023 4:46 am, edited 1 time in total.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Aft Torpedo Launchers ready to install, tuesday of course...

Post by Spocks-cuddly-tribble »

The new Aft Torpedo Firing Arcs are read from [shiplist.sst +DC] (unused beam firing arc aka 'beam min range')

Patch instructions:
  • Set 'beam min range' of ALL ships WITHOUT Aft Torpedo Launcher to -> 360.0
  • For UNARMED ships set 'beam min range' = 0.0
  • Ships WITH new Aft Torpedo Launcher set 'beam min range' = 360.0 - (aft torpedo firing arc)
E.g. for an extra 45 degree aft torpedo firing arc set 'beam min range' to 360 - 45 = 315.0

STATIONS can be ignored (cf. info on 'beam min range' in post above).

Setting the inverted aft firing arc equal or lower than the forward arc results in a 360.0 degree torpedo firing arc (patch default for stations).

Code: Select all

NAME: Aft Torpedo Launchers / Torpedo Firing Arcs - modifiable via trek.exe and shiplist.sst +DC (aka beam min range)
DESC: Supports optional aft torpedo firing arcs via the unused beam firing arc in shiplist.sst &/or changing the fixed forward cone of 60 degree. 
AUTHOR: Spocks-cuddly-tribble
URL: https://www.armadafleetcommand.com/onscreen/botf/viewtopic.php?p=54576#p54576

# Forward Torpedo Firing Arc - default 60.0 degree ->  cosine value of radian -> cos Pi*60/360 = cos Pi/6 = 0.866025403
# @ Asm 597B08

# >> 0x195908 AF 7C EC E7 7A B6 EB 3F

# modding examples:

# 45.0 degree -> cos Pi/8 = 0.923879533
# << 0x195908 58 B8 75 CF 6B 90 ED 3F

# 90.0 degree -> cos Pi/4 = 0.707106781
# << 0x195908 3E 98 65 66 9E A0 E6 3F

# 120.0 degree -> cos Pi/3 = 0.5
# << 0x195908 00 00 00 00 00 00 E0 3F


# Reading Aft Torpedo Firing Arcs from [shiplist.sst +DC] (unused beam firing arc aka 'beam min range')

# Set 'beam min range' of all ships WITHOUT Aft Torpedo Launcher to -> 360.0
# Unarmed ships to -> 0.0
# Ships WITH Aft Torpedo Launcher to 360.0 -[aft torpedo firing arc] i.e. for extra aft arc of 45.0 degree -> 360 - 45 = 315.0

>> 0x12A90D 1D
<< 0x12A90D 15

>> 0x12A915 0F 82 1D FF FF FF DD 45 16 DC 65 F6 D9 E1 83 C1 04 47 DC 9E 5C 01 00 00 DF E0 9E 0F 87 13 FF FF FF 8B 55 6E
<< 0x12A915 8B 55 6E DC 5A A8 73 0A DF E0 9E 90 0F 83 11 FF FF FF 83 C1 04 47 E8 B1 00 00 00 DF E0 9E 0F 87 10 FF FF FF

>> 0x12A9E1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<< 0x12A9E1 DD 45 16 DC 65 F6 D9 E1 DC 9E 5C 01 00 00 C3


# Stations don't read the 'beam min range' from [shiplist.sst +DC] but -1 from asm 5224B5.
# Changing this to 1 gives them always 360.0 degree torpedo firing arcs when using above patch code (more canon):

>> 0x1218C8 BF
<< 0x1218C8 3F


# ASM Notes:

# 0052B50C     DC15 087B5900    FCOM QWORD [597B08] // cmp forward arc value (default cos radian of 60.0 degree)

# 0052B515     8B55 6E          MOV EDX,[EBP+6E]
# 0052B518     DC5A A8          FCOMP QWORD[EDX-58] // 'beam min range' for aft firing arc
# 0052B51B     73 0A            JNB SHORT 52B527    // target in forward firing arc
# 0052B51D     DFE0             FSTSW AX
# 0052B51F     9E               SAHF
# 0052B520     90               NOP
# 0052B521    ^0F83 11FFFFFF    JNB 52B438          // target not in aft firing arc
# 0052B527     83C1 04          ADD ECX,4
# 0052B52A     47               INC EDI
# 0052B52B     E8 B1000000      CALL 52B5E1        // go now used code space
# 0052B530     DFE0             FSTSW AX
# 0052B532     9E               SAHF 
# 0052B533    ^0F87 10FFFFFF    JA 52B449

# 0052B5E1     DD45 16          FLD QWORD [EBP+16] // now used code space
# 0052B5E4     DC65 F6          FSUB QWORD [EBP-A]
# 0052B5E7     D9E1             FABS
# 0052B5E9     DC9E 5C010000    FCOMP QWORD [ESI+15C]
# 0052B5EF     C3               RETN
The bugged STATUS button in tactical combat shows FIELD = cos radian of 'beam min range', but just as absolute value (e.g. vanilla Galor 0.5 is -0.5 = 240 not 120 degree).

With above code if FIELD is not 1 the ship has an aft torpedo launcher. :idea:
Last edited by Spocks-cuddly-tribble on Tue Feb 15, 2022 11:26 am, edited 1 time in total.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2392
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Re: Aft Torpedo Launchers ready to install, tuesday of course...

Post by Tethys »

I found an error, or at least I think I have found one..

Spocks-cuddly-tribble wrote: Tue Jul 27, 2021 4:14 pm

Code: Select all

>> 0x12A915 0F 87 1D FF FF FF DD 45 16 DC 65 F6 D9 E1 83 C1 04 47 DC 9E 5C 01 00 00 DF E0 9E 0F 87 13 FF FF FF 8B 55 6E
my vanilla code @ 0x12A915

Code: Select all

>> 0x12A915 0F 82 1D FF FF FF DD 45 16 DC 65 F6 D9 E1 83 C1 04 47 DC 9E 5C 01 00 00 DF E0 9E 0F 87 13 FF FF FF 8B 55 6E
                ^
I got the vanilla directly from TC, as far as I know it was clean and I've never edited this area. I have not checked any other locations. (After all, it's only Monday...)
Not for the weak of heart...
Galaxies MOD v0.4.0 <--- GALM/Galaxies Mod latest version
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: shiplist.sst info needed

Post by Spocks-cuddly-tribble »

Nice catch! Corrected it. Thanks thunderchero and Tethys.

I tested JA/JB signed/unsigned and forgot to reset it before copy & paste the vanilla hex code.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2392
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Re: shiplist.sst info needed

Post by Tethys »

I apologize, but the description of how this works is not Pakled enough for me.

I am clear about forward arc being 60 degree.

I am not clear on aft arc. is it 360 degree or 180 degree? Extra 45 degree arc?

Also, how would I make, say, the Akira class fire torpedoes in 360 degree (since the ship comes equipped with port and starboard launchers on studio model)
Tethys wrote:I can only assume 360 = aft arc disabled, and 315 = aft arc 45 degree. If this is the case, 360 degree aft arc would be 360 - 300 = 60 ???
I believe this is how it works, from reading the instructions again, seems to fit the bill.
Not for the weak of heart...
Galaxies MOD v0.4.0 <--- GALM/Galaxies Mod latest version
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: shiplist.sst info needed

Post by Spocks-cuddly-tribble »

Tethys wrote: Fri Feb 18, 2022 9:21 pmI am clear about forward arc being 60 degree.

I am not clear on aft arc. is it 360 degree or 180 degree? Extra 45 degree arc?

Also, how would I make, say, the Akira class fire torpedoes in 360 degree (since the ship comes equipped with port and starboard launchers on studio model)
Tethys wrote:I can only assume 360 = aft arc disabled, and 315 = aft arc 45 degree. If this is the case, 360 degree aft arc would be 360 - 300 = 60 ???
I believe this is how it works, from reading the instructions again, seems to fit the bill.
Sorry I missed this question (currently only sporadic forum reading).

1. Forward Torpedo Firing Arc -> shared for all ships/stations/monster (default 60 degree)

2. The aft arcs are object specific via (360 - [shiplist.sst+DC]) degree -> inverted (360-360 = 0 i.e. no aft arc)

3. 360 degree arc -> if forward = 60 degree then [shiplist.sst+DC] -> 1-60 (aft inverted max 60 but still positive i.e. aft real > 299 but < 360)
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: shiplist.sst info needed

Post by thunderchero »

Spocks-cuddly-tribble wrote:I just tested a Brel / kl1 with 0xC0 and and it was able to fire 180 degrees backwards. So the values have a major importance for tactical battles, not only for cosmetic aspects. Since e.g. the ship scale is affected by hob and trek.exe slots (with different side-effects), figuring the whole mechanism could be very intricate...
did you collect any other info on other vanilla values used in trek slot?

Code: Select all

+0x20 = phaser/plasma slots (16 max) -> meaning of different default values?  
example; if on new model and I place rear phasers hard points should those slots use C0?
did you find any info on side phasers maybe?
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: shiplist.sst info needed

Post by Spocks-cuddly-tribble »

thunderchero wrote: Thu Aug 31, 2023 10:39 pmif on new model and I place rear phasers hard points should those slots use C0?
did you find any info on side phasers maybe?
Info is there (orientation validation pending), but manual editing is a pain:

I think the order of the phaser slot values matches the order of the phaser slots in the HOB file?


C0h = 360 degree (Turret -> lazy workaround used for broken/unfinished ships like vanilla Vor'cha)

else orientation with 45 degree accuracy (lower four bits horizontal, next two bits vertical, last two bits narrow/wide firing arc).

Default arcs are 60, 120, 180 or 360 (Turret) degree (each phaser slot).
Spocks-cuddly-tribble wrote: Sun May 31, 2020 4:17 pmBits 1-8 (read from right to left):

Code: Select all

1 - forward
2 - rear
3 - left
4 - right
5 - up
6 - down
7 - narrow firing arc
8 - wide firing arc

In theory one could use different firing arcs for Heavy Cannons, Beam Banks, Arrays or Turrets on the same ship.

Unfortunately the game development stopped before different weapon types, strengths and animations could get assigned to specific weapon slots of the ship model.
Example: (doublecheck left/right up/down - not certain from code analysis)

01h = forward 120 degree
02h = aft 120 degree
04h = left 120 degree
08h = right 120 degree
10h = up 120 degree
20h = down 120 degree
41h = forward 60 degree -> i.e. 01 + 0x40 for narrow firing arc
81h = forward 180 degree -> i.e. 01 + 0x80 for wide firing arc


You can choose up to four of the eight bits:

Max one each of (read from right to left):

1 - forward or 2 - rear
3 - left or 4 - right
5 - up or 6 - down
7 - narrow firing arc or 8 - wide firing arc (none = medium)

So bits

2 + 3 + 6 + 7

Direction rear/left/down 45 degree each with narrow firing arc for this slot

Bin value 01100110 = 0x66 hex
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: shiplist.sst info needed

Post by thunderchero »

Spocks-cuddly-tribble wrote: Thu Aug 31, 2023 11:21 pm Info is there (orientation validation pending), but manual editing is a pain:

I think the order of the phaser slot values matches the order of the phaser slots in the HOB file?
Yes
I just converted a model with 1.0 scale. the hob file data matched

start of slot 1 at 0x84 (start of slot 1)

Code: Select all

00000084h: 86 74 68 3E AC 3C 31 3F BB 6E D9 40 00 00 80 3F
00000094h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 
000000a4h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 
first 4 bytes 86 74 68 3E = 0.227007 (X position from center of model)
second 4 bytes AC 3C 31 3F = 0.692332 (Z position from center of model)
third 4 bytes BB 6E D9 40 = 6.794767 (Y position from center of model)

this all matches in creator (slot 1 info)
slot1.jpg
slot1.jpg (54.81 KiB) Viewed 901 times
even though the slot is only a vertex it still has a face and the face is orientated facing forward on the model,
The question I am starting to wonder about should the orientation be changed depending on position?
example
right side rotated 90 degrees to right
left side rotated 90 degrees to left
rear rotated 180 degrees

I learned a lot when doing damage textures project about orientation :wink:
the damage slots I used, use the same single vertex as used by phaser slots. (They were just copied and re-named)

then this brings up the question if top bottom angles should be added also depending on hull angle?

But tbh I am still lost reading the rest of your post

I think I should do a small test, change orientation to see how hob/creator files change.
will it change 00 00 00 3F or will it change second set of 16 bytes or third set of 16 bytes?
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: shiplist.sst info needed

Post by Spocks-cuddly-tribble »

thunderchero wrote: Fri Sep 01, 2023 11:06 ameven though the slot is only a vertex it still has a face and the face is orientated facing forward on the model,
The question I am starting to wonder about should the orientation be changed depending on position?
I'm not sure if this has any effect at all (trek.exe slot bitmask used). Or is there an extra flashing animation of the slot area when firing?

Will the slot scale (00 00 80 3F) affect the phaser hob animation?

thunderchero wrote: Fri Sep 01, 2023 11:06 amthen this brings up the question if top bottom angles should be added also depending on hull angle?
For the bitmask this depends on the desired firing direction of the slot.
Say your slot is in a hull area with a up/down or left/right gradient, you still might want the base firing direction straight forward?

Hob angle data might have not effect at all?

thunderchero wrote: Fri Sep 01, 2023 11:06 amBut tbh I am still lost reading the rest of your post
You need to understand/visualise the binary (bitmask) representation of the single byte hex values.

Here is a binary table for 0x00 to 0xFF: https://kb.iu.edu/d/afdl

It might be easier for you you can compose the bits in the binary string from left to right:

Firing arc (0xC0 = turret 360 degree / no arc setting = medium 120 degree) then bits 3-8 orientation:

Code: Select all

1 - wide firing arc (180 degree)
2 - narrow firing arc (60 degree)

3 - down ?
4 - up ?

5 - right ?
6 - left ?

7 - rear
8 - forward
Bin to hex converter: https://www.rapidtables.com/convert/num ... o-hex.html or https://www.binaryhexconverter.com/bina ... -converter

thunderchero wrote: Fri Sep 01, 2023 11:06 amwill it change 00 00 00 3F or will it change second set of 16 bytes or third set of 16 bytes?
You've lost me there.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
Post Reply

Return to “General Modding Information/Questions”