New Discovery!

Yes, well distributing any modified files will be the tricky part, or else an instruction pack on how to enable any new features should be ok?

Chris that sounds very interesting!
 
Implementing hidden features in CFS3? Not a problem from this viewpoint. Hacking CFS3 at source? It's not SOH you'd have to worry about, not really: it's Cease-and-Desist letters from Very Expensive Legal Fellows.

Proceed, but with caution.
 
"Hacking" is an emotive word, freeing features that may probably have been implemented from day one and prolonging the life of with all of our mods .... well perhaps we should be charging Microsoft?? ;0)
 
Interesting to say the least!!

I tried adding and assigning a few commands that aroused my curiosity.
These seem to work:

<FUEL_SELECTOR_OFF Caption="Fuel Selector Off" Type="engine"/>
<FUEL_SELECTOR_ALL Caption="Fuel Selector All" Type="engine"/>
<ENGINE_AUTO_SHUTDOWN Caption="Engine Auto Shutdown" Type="engine"/>

Of course, function only, as there is no animation of the fuel selector modelled in the aircraft.
The commands below don't seem to do a thing - most won't even save my key assignment:

<SIM_SYSTEM Caption="Sim System" Type="sim"/>
<ToggleConsole Caption="Console (toggle)" Type="sim"/>
<TossTheChicken Caption="Toss The Chicken" Type="sim"/>
<Orbit Caption="Orbit" Type="sim"/>

I don't even know if I put them under the right heading (the 'type' entered, in this case "sim") but it would surprise me if that had anything to do with it. It seems just a way of quickly organizing the commands by function in the selection list.
Maybe it's an idea to make a list of commands that do work. Animations etc. are another thing.



I came across a few other interesting readable strings/words in the hexeditor:

landrotorwash
waterrotorwash
contrail
cable_force_adjust
tail_hook_position
tail_hook_length
wing_folding_system_type

and a few others. These aren't key events but are things that are floating somewhere in the .exe file (below the key events). There may be more under the hood of this thing than we think... (unfortunately I can't do anything with it but wonder at what it might do)
 
.....that this conversation has not been closed by our moderators. If it is we will need to talk elsewhere. I am sure that the OFF folks have done this with help from M$.....(well not sure but speculating).

Go to ETO PTO WWII Combat Sim Discussion and help Forum???
 
Clive,

Yes, I was quite shocked when I found the AI in CFS3.exe.

Actually, I found them completely by chance. I copied over the WOFF CFS3.exe to my test install and it proved my theory about the AI.

I don't think there's any copyright issues here, but I'll ask one of my computer science friends about copyright in this case.

I'll be doing some more testing over the coming days and weeks, just to confirm.

We may very well have unlocked the secret to making CFS3 what it should have been.

I do know, however, we'll need to work to fully decipher the .dll's to fully understand what they're for.

I've done a little bit, but I'm pretty pressed for time right now and I've not had much of a chance to really work on any of this.

Thanks,

Chris
 
cable_force_adjust
tail_hook_position
tail_hook_length
wing_folding_system_type

The above are from CFS2 and go into the aircraft.cfg Note that in CFS2 wing_fold_system_type is used. Looks like CFS3 added "ing". Below is the full set of keys related to them.

[TailHook]
tailhook_length=4 ;(feet)
tailhook_position = -23.6, 0.0, -1.0 ;(feet) longitudinal, lateral, vertical positions from datum
cable_force_adjust = 1.0

[folding_wings]
wing_fold_system_type = 0 ;0=None (CFS2 key name)
wing_folding_system_type = 0 ;0=None (CFS3 key name)
fold_rates = 0.12,0.11 ;Percent per second

The defalt CFS2 ingame keyboard commands are Shift+W for wing fold and Shift+H for the tail hook. I'm butting them be In the CFS2.cfg the Keyboard keys are listed in [KEYBOARD_MAIN]. If CFS3 has a [KEYBOARD_MAIN] you may be able to add them to the list.

[KEYBOARD_MAIN]
TOGGLE_WING_FOLD=87,9
TOGGLE_TAIL_HOOK_HANDLE=72,9

In CFS2 any aircraft can be give folding wings and tail hook even if the model dosen't have them as all you need to do is add the [folding_wings] and/or [TailHook] sections. When the wings are folder you can taxi around but can't take off no mater how fast you get going so you may be able to test if the folding wings work in CFS3 with any aircraft you have.

Testing the taill hook my not be possable as you need to know if CFS3 still has the carrier logic. For the hook you need the [LANDING AIDS] and cable.#. Even if the carrier logic dosen't work maybe the tail hook could be working as an animation.

If you need a model that uses folding wings and tail hook I have a gMax F4UA Corsair I rebuilt for CFS2. You should be able to convert it to CFS3 for testing purposes.
 
... Note that in CFS2 wing_fold_system_type is used. Looks like CFS3 added "ing". ...

No, that's my bad: it is without the 'ing'. I checked again and the .exe says "wing_fold_system_type".
There's also "fold_rates" and "folding_wings" to be found near that string.

The commands for tailhook toggle and wing fold toggle are already in CFS3. They are mentioned in the SDK (separated in l_wingfold and R_wingfold in the SDK but as a single command in the commands list) but I can't remember if the animations really work. It would be worth investigating how carriers are coded in CFS2 and FS2004 and see if we can learn anything from that. If I am not mistaken, 'hard' or 'full-decked' carriers are still a problem in CFS3. The workaround, though clever, was always a big immersion killer for me.
 
"Hacking" and using hidden features

There's no issues with using hidden, undocumented features in CFS3: the same has been done in FSX for years. If you want to recode the sim .exe or .dll files, that's against the end user license agreement. I believe OFF and now WOFF has been built around new .dll and other files and they use the original CFS3 files only to start the sim. These rate as add-ons, not modified versions of CFS, which the Lawyers cannot prevent.

Recoding the originals is what I mean by "hacking" them. The word carries many connotations, including the one the Press use.

http://www.catb.org/jargon/html/H/hacker.html
 
Last edited:
<FUEL_SELECTOR_OFF Caption="Fuel Selector Off" Type="engine"/>
<FUEL_SELECTOR_ALL Caption="Fuel Selector All" Type="engine"/>
<ENGINE_AUTO_SHUTDOWN Caption="Engine Auto Shutdown" Type="engine"/>

Yep, nice one, they work!

I also tried the cowl flaps, there's references to multiple engines which would be good, alas that one doesn't seem to work, but I'll try again with it.

Also noticed a line in there 'carrier_based', intriguing but it may be more standard FS stuff.
 
Hi Clive,

I think the carrier stuff may be ported over from CFS2, just never fully implemented.

I'll be looking more at the .exe file today and I'll see what I can find out.

Right now, I think the best place to start would be to compare the CFS2 exe file to CFS3's.

That would be my best guess with carriers. AI wise, it's in there, but it's a matter of finding it.

WOFF rewrote the main game .dll's and part of CFS3.exe.

That's how I confirmed the AI was in CFS3.exe

I'll do a little looking today. I've got the day off so, I'll see what I can do.

Gecko,

I sent you a PM about some of the things I managed to track down.

Thanks all,

Chris
 
No, that's my bad: it is without the 'ing'. I checked again and the .exe says "wing_fold_system_type".
There's also "fold_rates" and "folding_wings" to be found near that string.

The commands for tailhook toggle and wing fold toggle are already in CFS3. They are mentioned in the SDK (separated in l_wingfold and R_wingfold in the SDK but as a single command in the commands list) but I can't remember if the animations really work. It would be worth investigating how carriers are coded in CFS2 and FS2004 and see if we can learn anything from that. If I am not mistaken, 'hard' or 'full-decked' carriers are still a problem in CFS3. The workaround, though clever, was always a big immersion killer for me.

So it looks like all of the needed aircraft.cfg keys are in CFS3. L_wingfold and R_wingfold are the names you give parts in gMax so CFS2 knows to move the parts when you fold the wings. tailhook is the name you gibe the tail hook in gMax so CFS2 knows to move the part when you drop or retract the hook. The *_wingfold and tailhook are user animated in gMax.

As for the carriers. CFS2 has a ship folder and it is set up a lot like aircraft. Each ship has model, panel, sound and texture folder. Ships have a ship.cfg. The ship.cfg has the code for the "harden"/landable decks and cables for the tailhook to snag. I'll attach the stock CFS2 Enterprise.

View attachment 43236

Yep, nice one, they work!

I also tried the cowl flaps, there's references to multiple engines which would be good, alas that one doesn't seem to work, but I'll try again with it.

Also noticed a line in there 'carrier_based', intriguing but it may be more standard FS stuff.


carrier_based is also in CFS2/one of it components and is listed with the [MISC_DATA] keys but seem to have no effect. So are some keys that I know where used for CFS3 so this may work in CFS3.
 
Its a shame none of the original authors ever came forward to enlighten us as to what was planned but not implemented and what was done haffassedly ...
Well, I can dream, can't I?:monkies:
 
I have made a list of all key events (kEvent_) that I found in the cfs3.exe:

View attachment Key Commands.txt

I might have overlooked one or two and maybe have made a few typos on the way but perhaps this makes it easier to experiment a little and see what effect they have in CFS3. The commands are ordered as I encountered them in the hexeditor and I have worked my way through them from the bottom up (don't ask me why - I just did :untroubled:). There seem to be some duplicates, some interesting ones and some obvious ones. Anyway, feel free to report the results...

My first impression is that the commands fully written in capitals are similar to the ones in civvie sims and the ones with only the first letters of words in capitals are more CFS3 related: eg. kEvent_KNEEBOARD (FS series) vs. kEvent_ShowKneeboard (CFS3) - they are both listed.

Q: Wasn't CFS3 developed alongside FS2004? I believe it was said that the whole sim structure was completely changed from CFS2 to CFS3 and that it was more akin to one of the civvie sims. If so, wouldn't it be more logical to study those instead of CFS2?
 
Nice work Joost, that looks very useful! There's a couple in there that warrant further investigation. Yes I think that cfs3 is more akin to fs9 and fsx than cfs2, why-o-why M$ didn't just make an improved cfs2 is beyond me. All it needed was better scenery and gunner positions! Maybe it was a marketing thing, the fs and cfs series would have been to much alike.
 
I did find something about it, IIRC, but nothing new. I'd really like to have some more damagable systems, or have more than one of some things -like coolant and oil reservoirs.
 
Any sections speaking to the damage systems?

Not sure what these do, but they are in there:

kEvent_TOGGLE_ENGINE4_FAILURE
kEvent_TOGGLE_ENGINE3_FAILURE
kEvent_TOGGLE_ENGINE2_FAILURE
kEvent_TOGGLE_ENGINE1_FAILURE
kEvent_TOGGLE_RIGHT_BRAKE_FAILURE
kEvent_TOGGLE_LEFT_BRAKE_FAILURE
kEvent_TOGGLE_TOTAL_BRAKE_FAILURE
kEvent_TOGGLE_HYDRAULIC_FAILURE
kEvent_TOGGLE_STATIC_PORT_BLOCKAGE
kEvent_TOGGLE_PITOT_BLOCKAGE
kEvent_TOGGLE_ELECTRICAL_FAILURE
kEvent_TOGGLE_VACUUM_FAILURE

The only thing I can think of right now when trying to simulate damage to oil and cooling systems etc. is a more elaborate damagebox system. But this requires access to the gmax source files.
I did not come across a key that extends the range of the TAC, other than the ones that we have now. It's probably in another section and has nothing to do with key events.
 
Back
Top