Black Hawk Down Team Sabre Mapping and Mod Site
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Announcements
Welcome to our Forums.
You must be a member to post in Forum.
So take a minute and register to get full access to forum.
Help keep BHD Alive.
Thank's for visiting our Forum's.
Log in

I forgot my password

Who is online?
In total there are 3 users online :: 0 Registered, 0 Hidden and 3 Guests

None

Most users ever online was 144 on Tue May 14, 2019 5:05 pm
BHD/BHDTS Servers
"
Local Time

Vote for us

Baldo's BIN2TXT-TXT2BIN Tutorial

View previous topic View next topic Go down

Baldo_the_Don
Baldo_the_Don
Administrator
Administrator
Posts : 121
Join date : 2012-07-27
Location : Germany
https://www.youtube.com/BaldotheDon

PostBaldo_the_Don Mon May 15, 2017 12:40 pm

Baldo's BIN2TXT-TXT2BIN Tutorial

A .bin file is a text string container for NovaLogic games and mission editors.

I'm aware that there are a few .bin file tools out there, and I'm fairly certain I've tried them all, but I have an affinity for Devilsclaw's BIN2TXT.exe and TXT2BIN.exe. Find them here:

http://www.dfreload.com/forum/files.php?action=file&id=367

There's a very brief explanation of how to use these tools on that page. I have little enough to add to the information there.

However...

If you crack open a .bin from one of NeverLogic's stock maps, you'll more often than not find a confusing bowl of code-salad. I can help you there.

The following tips pertain to .bin files for single-player missons in DFBHD.

I suggest copying the following code and saving in your DFBHD game folder as BlankBin.txt

Code:
'[Info]'
Title = "MISSION TITLE";
briefing = "MISSION TITLE
Date: MMMM dd, YYYY - HHmm hours
Location: LOCATION NAME

Situation:
SHORT DESCRIPTION OF THE SITUATION. SHORT DESCRIPTION OF THE MISSION.";
briefing2 = "<cFC8932>MISSION TITLE<-co>
OPORD: #-YY  PLAYER'S UNIT  Date Time: HHmmDD MMMM YY 

1. <ucFC8932>Situation<-uco>
Basically, what you want to write here is what the player will find at the start of the mission. Don't be too spoilerish about what's beyond that.
      <cFC8932>Weather:<-co> Describe the sky, temperature, and visibility.
      <cFC8932>Terrain:<-co> Describe the terrain.
      <cFC8932>Enemy:<-co> Describe what the player will be up against. Be vague. Avoid spoilers.
      <cFC8932>Friendly:<-co> List friendly units, preferably by name, use lots of jargon. Mention if non-combatants are involved.

2. <ucFC8932>Mission<-uco>
      <cFC8932>Who:<-co> Tell the player what his unit name is. Again, be jargony.
      <cFC8932>What:<-co> Tell what the main mission is supposed to be. Be brief.
      <cFC8932>When:<-co> Immediately after briefing.

3. <ucFC8932>Execution<-uco>
      <cFC8932>Command's Intent:<-co> Tell what the player's mission described above is supposed to accomplish.
      <cFC8932>Concept of Operation:<-co> Briefly tell the player what'll be going on from spawn point to area of action. Hint at what's to come before the end.
      <cFC8932>Coordinating instructions:<-co> Briefly tell what the friendlies in the area will be doing.

4. <ucFC8932>Service and Support<-uco>
      <cFC8932>Basic Load:<-co> PRIMARY, SECONDARY, ACCESSORY

5. <ucFC8932>Command and Signal:<-uco>
      Here's where a knowledge of military commo jargon looks cool.";

'[WinConditions]'
StrWinCond000 = "Null";
StrWinDirective000 = "Null";
StrWinMsg000 = "Null";
StrWinCond001 = "Win Condition String One";
StrWinDirective001 = "This is the message that appears when win condition one is displayed.";
StrWinMsg001 = "This is the message that appears when win condition one is completed.";
StrWinCond002 = "Win Condition String Two";
StrWinDirective002 = "This is the message that appears when win condition two is displayed.";
StrWinMsg002 = "This is the message that appears when win condition two is completed.";
StrWinCond003 = "Win Condition String Three";
StrWinDirective003 = "This is the message that appears when win condition three is displayed.";
StrWinMsg003 = "This is the message that appears when win condition three is completed.";
StrWinCond004 = "Win Condition String Four";
StrWinDirective004 = "This is the message that appears when win condition four is displayed.";
StrWinMsg004 = "This is the message that appears when win condition four is completed.";
StrWinCond005 = "Win Condition String Five";
StrWinDirective005 = "This is the message that appears when win condition five is displayed.";
StrWinMsg005 = "This is the message that appears when win condition five is completed.";
StrWinCond006 = "Win Condition String Six";
StrWinDirective006 = "This is the message that appears when win condition six is displayed.";
StrWinMsg006 = "This is the message that appears when win condition six is completed.";
StrWinCond007 = "Win Condition String Seven";
StrWinDirective007 = "This is the message that appears when win condition seven is displayed.";
StrWinMsg007 = "This is the message that appears when win condition seven is completed.";
StrWinCond008 = "Win Condition String Eight";
StrWinDirective008 = "This is the message that appears when win condition eight is displayed.";
StrWinMsg008 = "This is the message that appears when win condition eight is completed.";

'[LoseConditions]'
StrLoseCond000 = "Null";
StrLoseDirective000 = "Null";
StrLoseMsg000 = "Null";
StrLoseCond001 = "Lose Condition String One (Displays only in the MED)";
StrLoseDirective001 = "This is the message that appears when lose condition one is shown.";
StrLoseMsg001 = "This is the message that appears when lose condition one is met.";
StrLoseCond002 = "Lose Condition String Two (Displays only in the MED)";
StrLoseDirective002 = "This is the message that appears when lose condition two is shown.";
StrLoseMsg002 = "This is the message that appears when lose condition two is met.";
StrLoseCond003 = "Lose Condition String Three (Displays only in the MED)";
StrLoseDirective003 = "This is the message that appears when lose condition three is shown.";
StrLoseMsg003 = "This is the message that appears when lose condition three is met.";
StrLoseCond004 = "Lose Condition String Four (Displays only in the MED)";
StrLoseDirective004 = "This is the message that appears when lose condition four is shown.";
StrLoseMsg004 = "This is the message that appears when lose condition four is met.";
StrLoseCond005 = "Lose Condition String Five (Displays only in the MED)";
StrLoseDirective005 = "This is the message that appears when lose condition five is shown.";
StrLoseMsg005 = "This is the message that appears when lose condition five is met.";
StrLoseCond006 = "Lose Condition String Six (Displays only in the MED)";
StrLoseDirective006 = "This is the message that appears when lose condition six is shown.";
StrLoseMsg006 = "This is the message that appears when lose condition six is met.";
StrLoseCond007 = "Lose Condition String Seven (Displays only in the MED)";
StrLoseDirective007 = "This is the message that appears when lose condition seven is shown.";
StrLoseMsg007 = "This is the message that appears when lose condition seven is met.";
StrLoseCond008 = "Lose Condition String Eight (Displays only in the MED)";
StrLoseDirective008 = "This is the message that appears when lose condition eight is shown.";
StrLoseMsg008 = "This is the message that appears when lose condition eight is met.";

'[WPNames]'
StrWPName000 = "Unnamed";
StrWPName001 = "Alpha";
StrWPName002 = "Bravo";
StrWPName003 = "Charlie";
StrWPName004 = "Delta";
StrWPName005 = "Echo";
StrWPName006 = "Foxtrot";
StrWPName007 = "Golf";
StrWPName008 = "Hotel";
StrWPName009 = "India";
StrWPName010 = "Juliet";
StrWPName011 = "Kilo";
StrWPName012 = "Lima";
StrWPName013 = "Mike";
StrWPName014 = "November";
StrWPName015 = "Oscar";
StrWPName016 = "Papa";
StrWPName017 = "Quebec";
StrWPName018 = "Romeo";
StrWPName019 = "Sierra";
StrWPName020 = "Tango";
StrWPName021 = "Uniform";
StrWPName022 = "Victor";
StrWPName023 = "Whiskey";
StrWPName024 = "X-Ray";
StrWPName025 = "Yankee";
StrWPName026 = "Zulu";
StrWPName027 = "Able";
StrWPName028 = "Baker";
StrWPName029 = "Cancer";
StrWPName030 = "Dog";
StrWPName031 = "Easy";

There are four main sections in this BlankBin.txt. These are really all you need for a decent SP mission.

'[Info]'
The Info section contains three strings:

Title
This is the text that displays on the buttons in the CAMPAIGN MISSION and INSTANT ACTION lists on the SINGLE PLAYER screen. It also appears on the HUD in game. Color or formatting options are not available for this string.

briefing
This is the text that displays in the MISSION BRIEFING window on the SINGLE PLAYER screen. Color or formatting options are not available for this string.

If you do not include a briefing2 string in your .bin file, then this text also displays in game when you press the Mission Briefing key (default G key).

briefing2
This is the text that displays in game when you press the Mission Briefing key (default G key). Color and formatting options are available for this string.

If you know a little HTML, the tags used to format text will not be unfamiliar.

<cRRGGBB>Color tags.<-co>
<u>Underline tags.<-uo>
<b>Bold tags.<-bo>
<i>Italics tags.<-io>
<ubcFC8932>Mixed underline, bold, and color tags.<-ubco>

'[WinConditions]'
The main reason mappers want to learn .bin editing. The BlankBin.txt explains these strings already.

'[LoseConditions]'
As with the WinCondition strings, so goes it with the LoseCondition strings. Less necessary, but often wanted.

'[WPNames]'
Waypoint names are the reason I wanted to learn .bin editing (although this skill was a drastic help in my modding).

I could rant about how much I hate mappers that neglect to name their waypoints, but I'll save that for another post. As you see above, I include names for thirty-two different waypoints, which is not coincidentally the exact maximum number of waypoints any waypoint list can have in DFBHD. Changing 'Null' to 'Unnamed' seemed logical to me, and I think the last five waypoint names are clever enough, and call back to World War II era phonetic alphabet designations.

Those were the strings most pertinent to DFBHD, but by using Col. Pappy's BIN File Editor, available here:

http://www.dfreload.com/forum/files.php?action=file&id=52

You can also have these sections in your .bin:

'[Mission Dialog]'
I'm not sure how Mission Dialog strings work, but they might possibly just be text string names for .wav files. Using .bms triggered .wav dialog requires a mission specific .lwf file, and trust me, if you're married, have kids, or any daily responsibilities, you don't have time to figure out how to get this shit to work. Avoid divorce and stick with .wac controlled sound effects.

'[Triggered Text]'
Triggered Text displays text on the HUD, much like .wac file text and consol lines, but don't trigger the infamous sixty-three-character-per-line-limit crash. The method requires an unlocked MED and is really convoluted, though.

'[PeopleNames]'
I think you can give friendlies names that float over their heads with these strings, but only in other NeverLogic games. I've never seen it in DFBHD.

'[CineText]'
In Comanche 4, the opening cinematic before most of the campaign missions would display a Courier New text crawl stating the location and time of the mission you were about to fly, and that text is saved in these strings. I don't believe this works in DFBHD.

Anyway, none of these strings are very useful in DFBHD.



So, that's my BlankBin.txt explained. Replace the example lines I inserted with what you need it to say, ensure that every string starts with a double-quote and ends with a double-quote and semi-colon, save it as a .txt with the name of your mission, then convert it to a .bin with the TXT2BIN.exe.

Pappy's .bin editor is good in that it can directly open and save .bin files, but it's not a user-friendly program, it has no search functions, and rearranging strings is a nightmare. It's great for quick edits, though. REMEMBER TO CLICK 'UPDATE' TO SAVE CHANGES IN EACH STRING!

I'm hoping you find this information useful, and I await your rage and praise-filled comments.

(Oh. I can just attach the BlankBin.txt. Excellent!)
Attachments
Baldo's BIN2TXT-TXT2BIN Tutorial Attachment
BlankBin.txt You don't have permission to download attachments.(7 Kb) Downloaded 4 times

franekma likes this post

View previous topic View next topic Back to top

Similar topics

Create an account or log in to leave a reply

You need to be a member in order to leave a reply.

Create an account

Join our community by creating a new account. It's easy!


Create a new account

Log in

Already have an account? No problem, log in here.


Log in

 
Permissions in this forum:
You cannot reply to topics in this forum