Jump to content

Eagle114th

+CHOICE MEMBER
  • Content count

    1,043
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by Eagle114th

  1. Hello everyone! Yesterday and today was a very productive day with Peru and Venezuela Mirage 5s and 50s. I have manged to finish working on the Peruvian Mirage 5P and 5P4, as well Venezuelan Mirage 5DV / 5V / 50DV / 50EV. The Mirage 50EV was lot of work, especially new textures for air to ground mode for Cyrano IV3M. Here is screenshot of Mirage 50EV cockpit with air to ground mode (the air to air mode can be seen from Egyptian Mirage 5SDE and Cyrano IV (Early) in previous posts, along with fixed weapon loads, so it allows Mirage 50EV to carry laser pod for LGB too. Eagle114th
  2. Hello everyone, I am re-creating the posts after hte ideas came up about the name of proejcts and what it is about. This project is to be known as SF2 Avionics Community Pack (SF2:ACP for short), because the purpose of this projects is to create the assets for anyone to usse for our mods, as well for customizing our SF2 installation. You will need to put them into aircraft folder and customize the .ini files, in order, for them to appear in-game. This is what I find so enjoayble and I noticed that not many simulation does this. This s project aims to bring the realistic, immersive expereicnes in cockpits with actual textures for radar scope, RWR, HUD, and any avionics that is currently moddable in SF2 and aircraft mods. I will exlpain the limitation of SF2 engine, so we can get better pictures of what we can and can't do for now. I said "for now, is becauuse I have the hope htat someday, somehow, someone manage to make it possible to make avioincs further moddable in SF2. 1) Texture issues: What can be done is chan ging radar scope texture. But the problem is that, the radar symbols / lines colors can not be changed. We are stuck with default green SF2 radar symbosl /lines / circles. And eve with new textures, the radar lines / symbols/ shapes will be applied on top of it. So it mean, if you have 'black line' on top of radar scope like A-4s as an exampe, the radar still overlap it. Another issues is that, most of SF2 default aircraft does not have texture-able radar scope for 'turned off' radar, so it seem strange how CRT (texture) would suddenly show up when turnig radar on. I wished that the radar scope woudl be texture-able, so that it seem taht only radar lines / symbols / shapes would appear, therefore preserving the immersive experiences. 2) Lighting, after attempting to use the actual colors of radar scope based on the pictures, as an example, they usually show upup too bright comnpared ot another instructments / avionics in cockpit. So they need to be darken, in order to blend naturall in cockpits. And another issue is radar colors of green, it need to be readable, therefore further darken the texture. So they might will appear darker compared to the photo. (I am currenlty wokring on this part on both F-89s and A-4s radar scope and RWR new textures). 3) Avionics DLLs, there are only two DLLs I believe, that we can use either one of Avionics DLL for early and modern aircraft. But I still have the hope. The reason why I have hope is because, I am part of the community that is modding Jane's series simulation. That simulation is almost 30 years old and people still mods it. It amazes me, therefore gives me hopes. Besides the lmitation, it does not stop us from wanting to create the mods that would improve the experiences in avioincs. What inspired me to do this, I was customizing SF2 installation for early cold war era (My favorite era), in Asia, midddle east, and other theatre, along with later cold war era, I noticed that there is always room of growth and improvement for cockpits. That is when I came up the awy to improve F-89 series radar scope, as you can see it in another theatre abou Stary's F-89 cockpits. Then here it is, SF2: Avionics Community Pack! What would be great help if we can share the pictures and information on the avioinics for various planes, so we can get busy with the avioniocs improvement. If anyoneo have the requests for radar scope, or any avioinics improvement, it would be great help if the resources can be provided too. The next posts will cover what I am doing with both F-89s and A-4s gunsights, radar scope, and rwr, along with F-89's radar scope. ------------------------------------------------------------------------------------------------------------------ DOWNLAOD: SF2 ACP v0.2 ------------------------------------------------------------------------------------------------------------------ Cheers!
  3. Hello everyone! I have been working lot on the Pakistan Mirage IIIs and Mirage 5s. I just realized that I forgot to work on Pakistan Mirage IIIEP, Mirage IIIO (ROSE and ROSE I), and Mirage IIIRP. they are now completed. Since I could not find details on the HUD as well the Grifo-3M, I did my best with both. It is the radar used by Mirage IIIO ROSE and ROSE I upgrades. Here are screenshot of Mirage IIIO ROSE: Mirage IIIO ROSE I: Radar view for both ROSE and ROSE I (Grifo-3M Radar): HUD View: Next, finally got to finish working on Mirage 5AP, 5AP2, 5AP3, as well Mirage 5EF. What I found out is that Mirage 5AP is basically Mirage 5 with range finder, while 5AP2 uses Cyrano IV radar, and 5Ap3 uses Agave radar. They all have each of these radar implemented. And for Mirage 5EF, this is new to me. What I found out is that Mirage 5EF is Mirage 5F being upgraded through ROSE II (or III?) with the capability of using FLIR for air to ground attack. In Mirage 5EF, I am using the same cockpit as used in A-4M Skyhawk with TV capable, as well having RWR, ECM, and chaff/flare included. Did some basic .ini editing so Mirage 5EF can carry laser pod and LGB. Please note, this is simple editing, so consider it as 'quick fix' until someone can take over and do more detailed overhaul. Here is screenshot of Mirage 5EF cockpits: Cheers!
  4. Hello everyone! The work on Gabon Mirage 5G (PAULOPANZ) and Mirage 5G-2 (DENISSOLIVEIRA) are now completed with corrected starting / end years, fixed the "Stock fixed fuel tanks", and implemented the CSF Type 97K optical sight. By removing the stock fuel tanks, the add-on Mirage 5G and 5G-2 now can have properly working fuel tanks: Working on next nations' Mirage 5s / 50s. Cheers!
  5. Hello everyone! I am currently working on Gabon, Pakistan, Peru, UAE, Venezuela, and Zaire Mirage 5 / 50 series. The LIBYA Mirage 5s are now completed after finishng working on Egyptian Mirage 5 series. Here are screenshot of the Mirage 5Ds, 5DDs, 5DEs, and 5DRs (both thirdwire, Wrench / TMF, and Paulopanz packs) Mirage 5Ds / 5DDs cockpit Mirage 5DEs (TMF) cockpit Mirage 5DR (Uses TMF's Mirage 5DE, and the RWR part is removed) Right now I am focused on finishing this as soon as possible, so I can finally release this next version of SF2 - CAP, then I can go back working on digging through SF2 DLL files for INI information library (Modder Resource Library). Cheers!
  6. Welcome to the Strike Fighter 2 (SF2) Advanced Modding thread! A quick reminder: We mod ethically, honoring ThirdWire’s life passion in creating SF2. All projects here are strictly freeware, transparent, and require a legit copy of SF2 to use any modified DLL files. This thread also serve as the modder resource library that can assist us finding what we seek for advanced modding. Hello everyone! This thread is dedicated to advanced modding, focusing on DLL file editing using tools like Ghidra and other debugging/reverse engineering tools. We have the rules here: - All projects must remain freeware. Payware is a hard NO! - No links or discussion about pirated SF2, period! - We encourage everyone to share knowledge, collaborate, and keep the community spirit alive! We have the great desires to expand the engine beyond the current limitation, from custom HUDs to radar behaviors, etc... This post will be updated through time with more information. Let's have a happy modding!
  7. Hello everyone! I have extracted all of the Radar(NAME)Class which is used as SymbolType for the Avionics70.DLL based radar. Here is the list of Radar(NAME)Class and UPPER_SNAKE names for SymbolType. SF2_Symbol_Assoicated_Key_list.txt Finally, here is RadarData (with DisplayData* and SymbolType included) containing the sections, keys, and associated keys. I hope it have correct data. If any of codes does not work, please let me know and I'll take look at it. AVIONICS 70 - RADARDATA.txt Cheers!
  8. Thank you for the file, the SymbolType=<NAME>, the NAME part is huge help! And with the list you sent me, I can look into what isn't working too. I am almost done with Avioincs70.DLL's RadarData section as well the SymbolType keys with detailed information, Will post here soon. Cheers!
  9. That is noted, I will still peek through Avionics70 and other Avionics DLL. Maybe it will surprise us if there are some difference wihtin the same name of the functions. By the way, you gave me an idea that saves me a lot of time. Instead of building new notes, I will use an existing Avionics60 text files like HUD.txt and other txt files, then rename it as AVIONICS70 version. I will use it as I go through Avionics70.DLL dump file. That way, if there is any difference, even by a little, it wil be updated in that txt file. Cheers!
  10. Hello @pvince and everyone, I have finally got to complete digging the possible sections and keys, along with assoicaated keys from Avionics60.DLL. WShat is included inthe AVIONICS 60.zip (4 Folders): RTTI - CLASS + FUNC LIST RTTI - DUMP RTTI - STRING LIST SF2 INI MODDING NOTES The recent HUD.txt and other .txt posted above are insdie SF2 INI MODDING NOTES too. however, you will see files: This time, they are labelled whichi DLL file they are from, to avoid the confusion when dealing with various .txt files. The next thing I want to note: AIs, no matter how advacned they are, they are still prone to make mistakes from tim eto time, which can't be helped. That is why the DUMP file come sin handy, as well RTTI String and class / fucntion list, so you can check it. And not everything come in string, sometime the class calls another calss for sections / keys. Next, about the DUMP, I will retreat it again: It is in C Pseudocodes, NOT native codes that SF2 is written in. This C codes is decompiled from Ghidra software and they follow the logic and systems that is natively built using C++. Basically it's C folloiwng how C++ is used in SF2 engine. Keep that mind when looking at DUMP file. Here is the file: AVIONICS 60.zip Now I am moving oni to Avionics70.DLL. Cheers!
  11. @pvince TRhank you for BIG help testing the funcitonality of the HUD / COCKPIT / RADAR! I will keep posting what I can find from the DUMP files and please feel free to make the chagnes to the files I upload here. I forgot to add that the HUD.txt I upload is tied to Avionics60. I have at ehory that Avinoics60 and 70 have a bit different way how HUD works? When I upload the next files, will make sure to add DLL file name, so we wont' get confused among the files. There wil be Avionics60 - HUD.txt and Avionics70 - HUD.txt as an example. By the way, I believe this coudl be huge help: If we could make the table and put all HUD_Functions names on left section, then add to clumn: COCKPIT | HUD | RADAR Then add check or mark which works for either of them. The more people work with us here, the merrier! I am now working on Avionicsdata, RWR, TVDisplay and other sections of Avioincs60.DLL before moving on to Avionics70.DLL. I want to add one more thing, the more we become aware of how SF2 engine works syemtically, the higher chance we can get modifying DLL working in SF2. Cheers!
  12. Hello everyone! It have been incredible challenging going through over 60k lines of C-pseudocodes (Decompiled in Ghidra) that follows the logic of C++ (natively written in SF2 DLL files) in Avionics60.DLL file. The interesting thing is, I have noted how each class of HUD calls another HUD class and/or uses string to handle the key and associated keys for each sections. Spent days and many hours working on both HUD and RadarDisplay key extraction that can be used in INI files. I do NOT guarantee that it works, at least it is what is found in the DUMP files. The AIs have been huge help, cutting down the intense DLL DUMP digging. Here are HUD and RaadarDisplay (WIP) INI usage guide. If some codes (INI) does not work, then I apologize. At least I tried! Here are two Avioincs60 INI information: HUD.txt RADARDISPLAY.txt Eagle114th
  13. Hello everyone! The progress mining through the Avionics60.DLL in the language of C pseudocodes of Ghidra have been full of puzzles and it starts to make sense. Here is how it work, based on what I understand: 1) INI reads the token: "SymbolType=(NAME)" 2) Engine normalizes the token (treats "AirspeedScale", "airspeedscale", "AIRSPEED_SCALE" as the same entities). 3) Engine looks it up in a registry (Table), instantiates the matching "avnHUD(NAME)Class". 4) That class owns the **logic + drawing** for the symbol. The way SF2 handle hte string and names from class is wild! Here is list, so you can see an example: This is based on what is found inside the Avionics60 and SF2.exe dump. I want to add more informaiton about LCOS and CCIP adn why they don ot stay within the limtation of HUD rendering area (ViewportTopLeft and ViewportBottomRight): LCOS and CCIP are HUD symbols, BUT they calls the ballistic code within HUD class, resulting in not being fully integrated in HUD codes as another HUD classes do. Another wild bug I also discovered, this is from Avionics60.DLL DUMP FILE: This means if anyonoe uses "TrackMemoryTime" instead of TrackMemroyTime, wil not work. I plan on correcting it by modifying the DLL files via Ghidra and patching the DLL as first step toward modding DLL files after finishing the ini modding information library. Cheers!
  14. Hello everyone! I figured out what to do now. I’ve been digging through Avionics60.dll to understand how HUD and avionics are handled before any attempts to modify DLL files. By analyzing the Ghidra dump and .ini files, I created detailed notes on .ini editing for Avionics60.dll, starting with the HUD section. Here is note for a start: HUD.txt This is what I just realized from digging through Avionics60.DLL: Keys (Entries) like LCOS and CCIP are tied to the specific ballistic classes (avnHUDLCOSClass, avnHUDCCIPClass), not the generic HUD class, THERFORE is why LCOS and CIPP goes beyond HUD. Slowly will go through each DLL and extract what I can find (Sections and Keys), to build a comprehensive .ini editing library for modders here. Cheers
  15. Hello everyone! I am back to working on ghidra and SF2 DLL files digging. This week I am working on extracting all of available sections (Headers), key values, available values that can be used with it, especially examples how to use it. I am quite shocked to see this in Avonics60, example: UPDATE: For now, the list is removed. There was some mistakes. I am continuing to grow skilsl using AI correclty while extracting huge amounts of codes (over 60K lines of codes from Avionics60.Dll). I apologize for the mistakes. Will post more accurate list when I double check them. However, I do not promise that it do work in SF2, but it is what extracted from avionics60 dll Therefore, this week, I am going to get busy building the large database of information for each .ini sections (headers), keys (entries), and values that can be used with each keys. With that, we can experiment if they do work in SF2. Eagle114th
  16. Hello everyone! I have been working LOT on CSF Type 96 optical sight / HUD and is happy with the result. Here is screenshot of improved CSF Type 96: Navigation Mode: AA Mode: AG Mode: The Mirage 5E2's HUD also have been worked on. Navigation Mode: AA Mode: AG Mode: Eagle114th
  17. Hello everyone! It have been quite epic projects working on CSF Type 96 optical sight / HUD and Cyrano IV-0 for the Mirage 5SDE. While working on Egytpian aircraft, I realized that the Mirage 5SDE actually use Cyrano IV, which makes sense. It is irony because the 'E' of Mirage usually is multi-role. For example, the Mirage IIIC, the 'C" is an interceptor while 'E' (which mean "Equipment"), is multi-role, where the radar (such as Cyrano II) features both air to air and ground mapping. Libyan Mirage 5DE (Note 'E' as well), have multi-role air frame with Cyrano II radar. Egyptian Mirage 5SDE, in other, is also multi-role by nature, BUT uses early Cyrano IV which does not have ground mapping mode. Therefore, is irony but it makes sense. Right after the Six Day war, after devastating losses of hundred of aircraft, it would make sense that Egypt needs equipment that provides more advanced air to air capable for quick intercepting. Going through various references to start working on the radar texture. It is quite tricky because, what I have learned, the Cyrano IV-0 have ground noise background, right where the scanning screen is. Cyrano IV-1, in other hand, is the next version that have 'look down' capable, which means less or none of 'noise' background, I believe. Cyrano IV-2, and later version, in other hand, have the ground mapping and various air to ground radar features. (Please feel free to correct me if I am wrong) Anyway, here is screenshot of Mirage 5SDE's Cyrano IV-0, you will see different layout for different range RANGE MODE: 7 NM RANGE MODE: 15 NM RANGE MODE: 35 NM RANGE MODE: 60 NM BORESIGHT MODE Next screenshots shows the optical sight / HUD. First, I want to give HUGE thanks to the masterpiece of The Mirage Factory for the great work they have done on the CSF Type 96 Optical sight / HUD. It is quite complicated avionics. I am using their excellent work as foundation while improving upon it, such as gunsight, the firing cues, and other symbols. However, this part is still work in progress. NAVIGATION MODE AIR TO AIR MODE AIR TO GROUND MODE Eagle114th
  18. Hello everyone! Lot of works on Egyptian Mirage 5SDE and 5E2. From what I have learned, Mirage 5E2 uses HUD as used in Alpha Jet, so I used thee Alpha Jet HUD. I tis still WIP: NExt is Mirage 5SDE (This one is Mirage Factory, released by Wrench, did some work on implementing the new sight, radar, an d RWR made for Mirage IIIE.) Eagle114th
  19. Hello everyone! It have been a whil since Ihave worked on this project, after two weeks break. What have been done: Overhaul the [DetectSystem] becasue I have noticed that many of data.ini does not have matching of DetectSystem and Avioincs (for radar and Rangefinder), especailly with the RWR. With that, each aircraft will refelct from what is enabled in Avionics.ini in data.ini, especailly for AIs. I went through all aircraft and work inprogress Mirage III and 5 series, as well Nesher and Kfir. The Kfir series (work of Yakorav79) and thirdwire are now completed. Sorry no screenshot for now, the next time I post, will include the screenshots. I am currenlty workin gon Egypt Mirage series, as well Libya. Cheers!
  20. Hello everyone! Sorry for being absence for almost two weeks. It have been quite hectic weeks! Real life caught me, so I had to put projects down for time being. Aat the same time, i needed a short break, a fresh breath and many ideas for bothSF - CAP and Advanced modding (DLL editing). There is one video that shocked me, let me show you: X-wing: Tie fighter, got modernized through reverse engineering, which bought improved graphic, VR suports and other amazing feats! And please note, this sim is from 1993! This shows me that it is definely possible. However, what I have realized is that, as stated, by using Ghidra to reverse engineer and looking at the pseudocodes, there is one extra challenges: As stated, the SF2 engine is natively written in C++, not C. So therefore, by editing the C Pseudocodes, we nbeed to carefully codes while remain in the loop of SF2 with the calls and imports, so it will rrun well in SF2. But atleast, C and C++ are somehwere close toe ach other. C++ is deviated from C, so we have to use extra C codes that work the same way what C++ codes intended to doin SF2. Nextw eek I am going back working on SF2 - CAP and further exploring advanced modding. I will post an additional i nforamtion on what tools I use and how I managed to extract the codes out, so you can view it and edit it as well. I use the tool known as Ghidra 11.4 and scripts to help me extracting the codes. Cheers!
  21. Hello everyone, the new version of modder resource library v1.1 is uploaded, it is posted on the 2nd post above. Eagle114th
  22. Hello my friend! Excellent questions, and this is steps I am working on: 1) Finish working on compiling the text files with list of Class and function associated with them. 2) Analyze and make the list of already available codes for full reference of usage for each tyipes of .ini for cockpits and avionics related 3) Start experimenting modifying the DLL files and see if it works on SF2. I do not have the team. I hope, eventually someone will start the team. Eagle114th
  23. HOLY MOLY!!! I made another breakthrough as I learn more about the tools with Ghidra, as well creating new script python for output (text files) What I recently used is known as RTTI, which stands for Run-Time Type Information. It helps recovering the class names, shows inheritance and virtual function tables (vtables), and making it possible to link function ack to the classes they belong to! For example, from Looks like I will be doing the same for each DLLs and will update the Modder Resource Library. This is another huge steps, which helps us big times!
  24. I have spent the week learning how to use Ghidrea, contemplating on how to find the right information, in order, to make sense out of what is shown as disassembled / decompiled functions and variables. WIth AI help, I am able to come up with an idea: 1) Find the class name that is called by associated functions 2) Find the function with associate strings for possible keywords As first step of building the modder resource library. In the link below, you will see vast number of folder with three types of .txt files: _CLASS_FUNCTION_LIST.txt _STRING_LIST - 1.txt _STRING_LIST - 2.txt And inside each folders, for example: FLIGHT -> AVIONICS 60, you will see the files: AVIONICS60_CLASS_FUNCTION_LIST.txt AVIONICS60_STRING_LIST - 1.txt AVIONICS60_STRING_LIST - 2.txt These files give modders a big head start by helping pinpoint the location of relevant functions, and that's the step one. For next steps, it is up to anyone here. I am here to provide what I can product from the ghidra tools. I will continue to update the resource library as I grow the understanding of Ghidra tools and codes shown in it. MODDER RESOURCE LIBRARY v1.1 SF2 -Resource Library v1.1.zip NOTE about v1.1: I have added two folders, you will see in each folders: REFERENCES RTTI References are the one that I used pyton script to extract the name of class called by functions, as well the strings from the functions. RTTI, in other hand, contains the list of class and the assoicated functions, along with the function names restored. However, please note that, there are two or three of DLL that does not have RTTI, I still ran the script to create the list of class with assoicated functions. Hoowever, I am working an interesting next projects: I just recently realized, after seeing how Ghidra symbolized the native C++ into C Pseudocodes and is working on Name Demangling (Converting C++ mangled symbols back to readable C++ codes). Here is an example: ?MyFunc@@YAHH@Z -> int MyFunc(int)) For now, here is notes that AI generated with me while studying various codes: (NOTE: the note below is incomplete. Will be updated eventualy.) CODES NAME DEMANGLING NOTES.txt Cheers!
  25. Hello everyone! I’ve been grinding for hours to make sense of these massive codebases, and I have an idea! I’m building a huge resource library with lists of class references and the functions handling strings. These will help us zero in on specific functions in Ghidra. Check out the examples: Avionics 60 Class List Avionics String List I’m working through each DLL, generating text files for all of them. It will take some time, but once done, I’ll start a new thread called "Advanced Modding" with the resource library. Eagle114th
×

Important Information

By using this site, you agree to our Terms of Use, Privacy Policy, and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..