View Issue Details

IDProjectCategoryView StatusLast Update
0000018Falcon BMS Known BugsGeneralpublic2021-01-10 12:40
ReporterLogic Assigned To 
PrioritynormalSeveritytrivialReproducibilityalways
Status newResolutionopen 
PlatformPCOSWindowsOS VersionWindows 10
Product VersionBMS 4.35 
Summary0000018: Layout and alignment issues in briefing.txt
DescriptionHello,
i'd like to report some issues with the generated briefing.txt file.
(This file is generated in \User\Briefings as a result of pressing the "Print" button in the Briefing UI window)

The file uses tabs in order to format information contained in tables.
This is totally fine.
But unfortunately, there are some issues with certain lines having too much or too few tabs so that the resulting tables are misaligned, which makes them difficult to read or process.

I am aware that this might be viewed as an extremely minor issue.
But i plan to write a program that can read the birefing.txt file and process it further, for example generate kneeboards page from the contents of the briefing.
As a first step of doing this, the briefing file layout should be sanitized so that it can serve as a more robust input for post-processing.
Also the misalignment issues make the file hard to read even without processing it further.
Finally, i think these issues are trivial to fix.
Steps To ReproduceThe issues in detail:
(See example briefing.txt file provided as well as screenshot from the file opened in Notepad++, tab-size=24 and showing control characters)

- Section "Mission Overview"
The line for Sunrise contains a tab too much, making it misaligned with the line Sunset below.

- Section "Situation"
The heading line contains a tab too much, inconsistent with the other free text lines.

- Section "Package Elements"
The line for the first flight is well aligned.
However subsequent flights contain a tab too much, making them misaligned with the headers and first line.

- Section "Iff"/TIME EVENTS:
The line containing Rot/day should be indented with an additional tab making it aligned with the information to follow.
Optionally, the word "Mode" could be inserted before the second tab in order to give a header for the mode column.

- Section "Ordnance":
The line containing the actual callsign contains a tab too much making it misaligned with the headers.
The actual ordnance lines should be indented with an additional tab each, in order to align them with the respective callsign/position column.

- Section "Support":
The header line should contain an additional tab before "Station Area" in order to align with the information in columns below.
Optionally the word "Aircraft" could be inserted before the second tab to denote the header of that column.
TagsNo tags attached.
Theatre of OperationsKTO

Relationships

related to 0000042 new Generated HTML briefings aren't valid HTML 

Activities

Logic

Logic

2021-01-01 09:10

reporter  

briefing.txt (7,583 bytes)   
--------------------------------------------------------
BRIEFING RECORD generated at 12/31/2020 12:35:22.
Mission Overview:

	Cyborg3  (OCA STRIKE) 

	Package #:	3428  (Offensive Counter Air) 
	Pkg-Mission:	Strike Songhyon
	Target Area:	7 nm south of Sagon-ni.
	Time on Target: 	02:13:00z

	 	Sunrise:	21:01:47z (06:01:47l) 
	Sunset:	10:10:12z (19:10:12l)  

Situation: 

		In an effort to obtain air superiority, air command has initiated an Offensive Counter Air operation targeted at the area around P'Yongyang. If everything goes as planned, earlier DEAD raids and fighter sweeps will have suppressed or cleared most of the air defenses in the region allowing us to strike several airbases, search radars and command facilities including your target, Songhyon.

	Intelligence reports the highest impact targets are:
	 -- Depot Complex	--	100% operational
	 -- Depot Shelter	--	100% operational
	 -- Radar SSR	--	100% operational
	 -- Helipad	--	100% operational

Pilot Roster:

	Callsign:	Flt Lead:	Wing Two:	Elem Lead:	Elem Two:

	Cyborg3	2Lt. Scrontch-Logic	Unassigned	Unassigned	Unassigned
	Hawkeye1	Unassigned	Unassigned
	Bulldog3	Unassigned	Unassigned

Package Elements: 	 x  = Primary Flight

	Callsign:	 Flt #:	Role:	Aircraft:	Task:

	Cyborg3	3430  ( x ) 	OCA STRIKE	4 F-16CM-40 	Destroy Radar SSR or other facilities at target site
	 	T/O: 01:53:00z	Push: 02:05:30z	Tgt: 02:13:00z	IFF: M124/4/171/20654-7/33254-7
		Hawkeye1	3436	SEAD	2 KF-16C ROKAF 	Protect package from enemy air defenses
	 	T/O: 01:53:00z	Push: 02:08:03z	Tgt: 02:11:00z	IFF: M124/4/171/20660-1/33260-1
		Bulldog3	3444	ESCORT	2 F-16CM-40 	Protect package elements from enemy aircraft
	 	T/O: 01:51:00z	Push: 02:05:00z	Tgt: 02:13:00z	IFF: M124/4/171/20664-5/33264-5
	
Threat Analysis:

	Air-to-Air Threats:
	Enemy CAP aircraft are likely to be operating within operation area.

	Surface-To-Air Threats:
	Known or suspected enemy air defenses along your flight path include:
	 -- SA-4 (2K11) missile launchers 7 nm south of Sagon-ni

Steerpoints:

	#:	Desc:	Time:		Dist:		Head:		Cas:		Alt:	Action:	Form:	Comments:

	1	Takeoff	01:53:00z		--		--		--		--	Climb immediate	Wedge	Takeoff
	2	--	01:55:33z		21.6		292		375		22.0M	--	Wedge	--
	3	Holding Pt	01:57:14z		14.2		288		375		22.0M	--	Wedge	Hold  (Departure: 02:03:14z)
	4	Push	02:05:30z		16.2		285		315		22.0M	Descend immediate	Wedge	Rendezvous with package
	5	Pre IP	02:09:59z		37.6		288		400		17.0M	Climb immediate	Box	--
	6	IP	02:11:29z		11.7		304		365		18.0M	--	Box	--
	7	Strike	02:13:00z		10.0		324		305		18.0M	--	Box	Attack target
	8	Turn Pt	02:14:06z		8.6		180		370		18.0M	Climb delayed	ArrowHead	--
	9	Split	02:17:45z		26.1		117		335		21.0M	--	ArrowHead	Depart from package
	10	--	02:24:03z		50.4		106		360		21.0M	Descend delayed	Wedge	--
	11	Land	02:27:48z		30.1		108		360		--	--	Wedge	Land
	12	Land	--		--		--		--		--	--	Wedge	Land (Alternate)

Comm Ladder:
 
	Agency:	Callsign:	Uhf [Chnl]:	Vhf [Chnl]:	Notes:
 
	Intra-Flight:	Cyborg3	--	137.800 MHz [15]	Flight Management Comms
 
	Guard:	None	243.000 MHz 	121.500 MHz [13]	Distress / Emergency
	Common:	None	339.750 MHz [14]	123.500 MHz [14]	Advisory / UNICOM
	Base Ops:	None	272.700 MHz [1]	--	Homeplate Operations
 
	Check-In:	Magic4	376.675 MHz [5]	--	AWACS: Global Check-In
	Tactical:	Magic4	289.200 MHz [6]	--	AWACS: Package Comms 
	Tanker / Aar:	Copper5	381.975 MHz [13]	--	Boom Operator
 
	Dep Atis:	Osan ATIS	--	132.125 MHz 	Departure Airbase
	Dep Ground:	Osan Ground	253.700 MHz [2]	--	Departure Airbase
	Dep Tower:	Osan Tower	308.800 MHz [3]	122.100 MHz [3]	Departure Airbase
	Dep Departure:	Osan Departure	306.300 MHz [4]	--	Departure Airbase
 
	Arr Atis:	Osan ATIS	--	132.125 MHz 	Recovery Airbase
	Arr Approach:	Osan Approach	306.300 MHz [4]	--	Recovery Airbase
	Arr Tower:	Osan Tower	308.800 MHz [3]	122.100 MHz [3]	Recovery Airbase
	Arr Ground:	Osan Ground	253.700 MHz [2]	--	Recovery Airbase
 
	Alt Atis:	Pyongtaeg ATIS	--	128.250 MHz 	Alternate Airbase
	Alt Approach:	Pyongtaeg Approach	363.100 MHz [10]	--	Alternate Airbase
	Alt Tower:	Pyongtaeg Tower	257.800 MHz [11]	122.500 MHz [11]	Alternate Airbase
	Alt Ground:	Pyongtaeg Ground	229.700 MHz [12]	--	Alternate Airbase

Iff

	GENERAL:
	Initial STAT Settings:	Modes Active: M124	Codes:	M1: 51	M2: 0654	M3: 3030
	M4 Validity Time (Until):	Key A: Day2 00:00z	Key B: Day3 00:00z
	IFF Policy:	M1: per team	M2: per aircraft	M3: per aircraft
	Code Change Setting:	POS/TIM

	TIME EVENTS:
	Rot/day:	02:00z	03:00z	04:00z	05:00z	06:00z	07:00z	08:00z	09:00z	10:00z	11:00z	12:00z	13:00z

	M1:	24	71	60	43	33	21	22	13	61	72	22	51	63
	M3:	24	3254	6554	0454	7454	5654	6504	1704	7130	5704	5054	4604	3330
	M4:	1	A	A	A	A	A	A	A	A	A	A	A	A

	POS EVENTS:
	Ingress: M4 / WOF4 	Egress: M124 / EOF9 

Ordnance:

	Callsign:	Flt Lead:	Wing Two:	Elem Lead:	Elem Two:

	 	Cyborg3	-- Cyborg31 --	-- Cyborg32 --	-- Cyborg33 --	-- Cyborg34 --
	510 x 20mm M61	510 x 20mm M61	510 x 20mm M61	510 x 20mm M61
	2 x AIM-120C AMRAAM	2 x AIM-120C AMRAAM	2 x AIM-120C AMRAAM	2 x AIM-120C AMRAAM
	2 x AIM-9X Sidewinder	2 x AIM-9X Sidewinder	2 x AIM-9X Sidewinder	2 x AIM-9X Sidewinder
	2 x GBU-10C/B /HE	2 x GBU-10C/B /HE	2 x GBU-10C/B /HE	2 x GBU-10C/B /HE
	2 x Tank 370gal	2 x Tank 370gal	2 x Tank 370gal	2 x Tank 370gal
	1 x AN/ALQ-184	1 x AN/ALQ-184	1 x AN/ALQ-184	1 x AN/ALQ-184
	1 x AN/AAQ-13 NAVPOD	1 x AN/AAQ-13 NAVPOD	1 x AN/AAQ-13 NAVPOD	1 x AN/AAQ-13 NAVPOD
	1 x AN/AAQ-33 SNIPER	1 x AN/AAQ-33 SNIPER	1 x AN/AAQ-33 SNIPER	1 x AN/AAQ-33 SNIPER

	 	Hawkeye1	-- Hawkeye11 --	-- Hawkeye12 --
	510 x 20mm M61	510 x 20mm M61
	2 x AIM-120B AMRAAM	2 x AIM-120B AMRAAM
	2 x AIM-120C AMRAAM	2 x AIM-120C AMRAAM
	2 x AGM-88 HARM	2 x AGM-88 HARM
	2 x Tank 370gal	2 x Tank 370gal

	 	Bulldog3	-- Bulldog31 --	-- Bulldog32 --
	510 x 20mm M61	510 x 20mm M61
	2 x AIM-120C AMRAAM	2 x AIM-120C AMRAAM
	2 x AIM-120B AMRAAM	2 x AIM-120B AMRAAM
	2 x AIM-9X Sidewinder	2 x AIM-9X Sidewinder
	2 x Tank 370gal	2 x Tank 370gal
	1 x AN/ALQ-184	1 x AN/ALQ-184

Weather:

	Conditions @ 	Take Off:	Target Area:	Landing:

	Situation: 	Fair	Fair	Fair
	Wind:	224 deg @ 13 kts.	224 deg @ 13 kts.	224 deg @ 13 kts.
	Visibility:	48km	48km	48km
	Temp:	21 deg C.	21 deg C.	21 deg C.
	Cloud Base:	5,000 ft MSL base	5,000 ft MSL base	5,000 ft MSL base
	Con Layer:	28,000 ft MSL base	28,000 ft MSL base	28,000 ft MSL base

Support:

	Callsign:	Station Area: 

	Magic4 (AWACS):	1 E-3	Friendly AWACS aircraft will be operating 1 nm southeast of Choongwon. Available for air detection and warning.

	Copper5 (Tanker): 	1 KC-135R	Friendly tankers will be operating 21 nm west of Weonju. Available for mid-air refueling.

Rules of Engagement:

	Visually ID unknown aircraft before engaging, unless authorized by AWACS.
	Note: Friendly aircraft may be operating in the area.

Emergency Procedures:

	Distress call:
	For aircrew in a hostile area, prior to ejection, transmit on the working frequency: �MAYDAY� (three times); call-sign; and position in relation to BULLSEYE.

	Combat Search and Rescue:
	SAR helos are available within 30 km of FLOT. In case of shoot-down, mark closest coordinates of the survivor�s position and report the incident to the CSAR assets. Establish radio communication with survivor and execute the On Scene Commander procedures.

	Alternate airfield:
	Pyongtaeg Airbase, 20 nm south of Suwon

	Sanitise yourself and review your evasion plan of action.

	Good Luck!


END_OF_BRIEFING

briefing.txt (7,583 bytes)   
Screenshot-briefing-2.png (85,426 bytes)   
Screenshot-briefing-2.png (85,426 bytes)   
Screenshot-briefing-3.png (73,920 bytes)   
Screenshot-briefing-3.png (73,920 bytes)   
Screenshot-briefing-1.png (100,585 bytes)   
Screenshot-briefing-1.png (100,585 bytes)   
anonymous

anonymous

2021-01-02 02:34

viewer   ~0000034

Have you tried opening it with Microsoft Notepad? Notepad and Notepad++ handle tabs differently.
Blu3wolf

Blu3wolf

2021-01-02 04:31

manager   ~0000035

How does notepad handle tabs differently?
Logic

Logic

2021-01-02 05:19

reporter   ~0000036

The problem with MS Notepad is that you can't afaik set tab sizes. So it does indeed look differently with the small tab size in the sense that even tables that are aligned properly in my example will look distorted in MS Notepad because the contents of table columns will exceed the tab size and thus shift contents of subsequent columns to the right.
But that is a tab size problem of Notepad.
Here i am talking about an intrinsic BMS problem where tables aren't aligned even when viewed in "good faith", that is with sufficiently large tab sizes.
Kolbe

Kolbe

2021-01-09 07:59

reporter   ~0000062

This is unfortunately not likely to be fixed in the near (or far) future.
This would mean a complete rewrite of the code handling.

The code processes the data once from top to bottom and is unaware of string lenghts.
Tab is the only way to align data horizontally for both, UI Briefing and txt output.
The difference is that you can define a value in px for the UI briefing. For txt it's a pure Tabstop.

Long story short, if you need a well formed briefing output just try html briefings
(you can activate that in your config) and see if you can go from there.
Logic

Logic

2021-01-09 10:08

reporter   ~0000064

Hi Kolbe, thanks for the answer. Sad, but have to live with it. Would it have any chance of success to ask for an improvement in the generated HTML then? Unfortunately it isn't well-defined XML at this time but could be with cosmetic minor improvements.
ertiyu

ertiyu

2021-01-09 10:51

reporter   ~0000065

logic, I did this to format the briefing.

https://www.benchmarksims.org/forum/showthread.php?40555-Briefing-txt-file-reader

To work around the problem I did a test by line and when it finds 2 "Tab" it replace them by 1 "Tab".
Kolbe

Kolbe

2021-01-09 10:53

reporter   ~0000066

Sure, I could have a look at it.
As the code is html aware (you can even use classes, IDs...) almost anything is possible layout-wise.
Can you give me an example?

Btw., I just noticed that the html output is currently, well, in need of improvement, anyway.
Logic

Logic

2021-01-09 14:06

reporter   ~0000067

@Kolbe:
The following issues wiht the HTML are most annoying for automatic processing:
The current link tags are horribly off in terms of format:
<LINK REL=StyleSheet HREF='style.css' TYPE='text/css' MEDIA=screen><LINK REL=StyleSheet HREF='printstyle.css' TYPE='text/css' MEDIA=print>
Could this be changed to
<link rel="stylesheet" href="style.css" type="text/css" media="screen" /><link rel="stylesheet" href="printstyle.css" type="text/css" media="print" />
please.
(See https://www.w3schools.com/Tags/tag_link.asp)
Another point is the closing </html> is missing.
Then there is an issue with excessive use of  , but that can be coped with otherwise.
Logic

Logic

2021-01-09 14:32

reporter   ~0000068

I realize a lot of other things are off as well, should i create a separate issue?
Kolbe

Kolbe

2021-01-09 17:57

reporter   ~0000069

What do you mean with "off" an "use of "?
Blu3wolf

Blu3wolf

2021-01-09 18:40

manager   ~0000070

Please do make another issue to report any separate problems or suggestions for improvement. They can even be linked as being related.
Logic

Logic

2021-01-10 05:33

reporter   ~0000074

I have created issue 0000042 for follow-up of the HTML issues.

Issue History

Date Modified Username Field Change
2021-01-01 09:10 Logic New Issue
2021-01-01 09:10 Logic File Added: briefing.txt
2021-01-01 09:10 Logic File Added: Screenshot-briefing-2.png
2021-01-01 09:10 Logic File Added: Screenshot-briefing-3.png
2021-01-01 09:10 Logic File Added: Screenshot-briefing-1.png
2021-01-01 09:14 administrator Severity minor => @30@
2021-01-01 09:14 administrator Description Updated
2021-01-01 09:14 administrator Steps to Reproduce Updated
2021-01-02 02:34 anonymous Note Added: 0000034
2021-01-02 04:31 Blu3wolf Note Added: 0000035
2021-01-02 05:19 Logic Note Added: 0000036
2021-01-09 07:59 Kolbe Note Added: 0000062
2021-01-09 10:08 Logic Note Added: 0000064
2021-01-09 10:51 ertiyu Note Added: 0000065
2021-01-09 10:53 Kolbe Note Added: 0000066
2021-01-09 14:06 Logic Note Added: 0000067
2021-01-09 14:32 Logic Note Added: 0000068
2021-01-09 17:57 Kolbe Note Added: 0000069
2021-01-09 18:40 Blu3wolf Note Added: 0000070
2021-01-10 01:18 administrator Severity @30@ => trivial
2021-01-10 05:33 Logic Note Added: 0000074
2021-01-10 12:40 administrator Relationship added related to 0000042