Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - mcneb10

#1
Star Wars Battlefront 2 (2005 Original) / libzeroengine
January 15, 2024, 08:30:05 PM
Hello!

I would like to announce a new rust library libzeroengine that I am developing to extract data from the assets of Star Wars Battlefront II and hopefully any other game that uses Pandemic's ZeroEngine and convert it to a format that's actually usable.

This library can currently parse ucfb containers (the format the game uses to store everything) and extract scripts, cutscenes and levels. I plan to support all asset/chunk types contained within the games files.

The library includes a program called ucfbextract which is an extremely barebones wrapper around the library that will try to extract any file you put into it. It currently "works" with .mvs and .script files.

So far this tool has allowed me to extract all of the cutscenes from the game files, and I'm not sure if this has been done before.

Due to some major tomfoolery on Pandemic's part :wall:, the script extraction does not fully work yet, but the plan is to convert the extracted lua bytecode to lua 5.1 bytecode so it can be fully decompiled.

I plan to use this library one day create a site like Unreal Archive but for ZeroEngine based games.

I would also like to thank the developers of swbf-unmunge, which helped me tremendously in figuring out how to parse these ancient file formats :cheers:.

Also, if anyone has a detailed description of the chunk formats used by this game, please let me know, as it would be tremendously helpful in helping me develop this library.
#2
SWBF2 Modding / How to extract audio from mod map
July 19, 2022, 07:29:06 PM
I recently have been trying to extract the music track from the rathia designated days map 5 (factory). I tried shazaming it first (no results). Then, I unmunged the lvl files from the sound directory. Inside of one of the lvl files was a .mus file, so that lvl file has the music in it. In the munged directory, there are 3 files. 2 are 24k, one is 113MB. The 113MB one most likely has the audio in it. I haven't been able to find a WAV header in the file, and when I raw imported it into audacity, I got a horrible, ear damaging sound. Any ideas?
#3
SWBF2 Modding / Bink Cutscene tool for modders
May 14, 2020, 12:08:54 PM
Bink is a great tool for modders to make cutscenes for SWBF2 maps. Attached to this post are the RAD video tools, which includes Bink. Here is a tutorial on how to use bink to make a custom cutscene: http://www.gametoast.com/viewtopic.php?f=27&t=12622. The attachment is an encrypted 7z file and you will need to use the password RAD to open it.
#4
SWBF2 Modding / Custom Ingame music?
May 01, 2020, 05:37:15 PM
Does anyone know how to add custom music to a swbf2 map and the compression involved? The documentation on https://sites.google.com/site/swbf2modtoolsdocumentation/ is kinda :confused:
#5
SWBF2 Modding / How to add custom music to map?
January 19, 2020, 05:10:45 AM
Does anyone know of any good tutorials for adding custom music to a swbf2 map?
#6
I am working on a arena map where all of the different sides fight eachother.  Every time i try playing it it give me the error FATAL Could not open MISSION\YAPc_con.lvl. Here is the code that adds all of the extra sides [spoiler]--Republic
   SetTeamAsEnemy(3,ATT)
   SetTeamAsEnemy(4,ATT)
   SetTeamAsEnemy(5,ATT)
   SetTeamAsEnemy(6,ATT)
   SetTeamAsEnemy(7,ATT)
   SetTeamAsEnemy(8,ATT)
   SetTeamAsEnemy(9,ATT)
   SetTeamAsEnemy(10,ATT)
   SetTeamAsEnemy(11,ATT)
   SetTeamAsEnemy(12,ATT)
   SetTeamAsEnemy(13,ATT)
   --CIS
   SetTeamAsEnemy(3,DEF)
   SetTeamAsEnemy(4,DEF)
   SetTeamAsEnemy(5,DEF)
   SetTeamAsEnemy(6,DEF)
   SetTeamAsEnemy(7,DEF)
   SetTeamAsEnemy(8,DEF)
   SetTeamAsEnemy(9,DEF)
   SetTeamAsEnemy(10,DEF)
   SetTeamAsEnemy(11,DEF)
   SetTeamAsEnemy(12,DEF)
   SetTeamAsEnemy(13,DEF)
   --Geonosians
   SetTeamAsEnemy(ATT,3)   
    SetTeamAsEnemy(DEF,3)
   SetTeamAsEnemy(4,3)
   SetTeamAsEnemy(5,3)
   SetTeamAsEnemy(6,3)
   SetTeamAsEnemy(7,3)
   SetTeamAsEnemy(8,3)
   SetTeamAsEnemy(9,3)
   SetTeamAsEnemy(10,3)
   SetTeamAsEnemy(11,3)
   SetTeamAsEnemy(12,3)
   SetTeamAsEnemy(13,3)    
   SetTeamName(3, "geo")
    AddUnitClass(3, "geo_inf_geonosian", 4)
   SetUnitCount(3, 6)
   SetReinforcementCount(3, -1)
   
   --Wookies
   SetTeamAsEnemy(ATT,4)   
    SetTeamAsEnemy(DEF,4)
   SetTeamAsEnemy(3,4)
   SetTeamAsEnemy(5,4)
   SetTeamAsEnemy(6,4)
   SetTeamAsEnemy(7,4)
   SetTeamAsEnemy(8,4)
   SetTeamAsEnemy(9,4)
   SetTeamAsEnemy(10,4)
   SetTeamAsEnemy(11,4)
   SetTeamAsEnemy(12,4)
   SetTeamAsEnemy(13,4)    
   SetTeamName(4, "wok")
    AddUnitClass(4, "wok_inf_basic", 4)
   SetUnitCount(4, 6)
   SetReinforcementCount(4, -1)
   
   --Alliance
   SetTeamAsEnemy(ATT,5)   
    SetTeamAsEnemy(DEF,5)
   SetTeamAsEnemy(3,5)
   SetTeamAsEnemy(4,5)
   SetTeamAsEnemy(6,5)
   SetTeamAsEnemy(7,5)
   SetTeamAsEnemy(8,5)
   SetTeamAsEnemy(9,5)
   SetTeamAsEnemy(10,5)
   SetTeamAsEnemy(11,5)
   SetTeamAsEnemy(12,5)
   SetTeamAsEnemy(13,5)    
   SetTeamName(5, "all")
    AddUnitClass(5, "all_inf_rifleman", 4)
   SetUnitCount(5, 6)
   SetReinforcementCount(5, -1)
   
   --Desert People
   SetTeamAsEnemy(ATT,6)   
    SetTeamAsEnemy(DEF,6)
   SetTeamAsEnemy(3,6)
   SetTeamAsEnemy(4,6)
   SetTeamAsEnemy(5,6)
   SetTeamAsEnemy(7,6)
   SetTeamAsEnemy(8,6)
   SetTeamAsEnemy(9,6)
   SetTeamAsEnemy(10,6)
   SetTeamAsEnemy(11,6)
   SetTeamAsEnemy(12,6)
   SetTeamAsEnemy(13,6)    
   SetTeamName(6, "des")
    AddUnitClass(6, "tat_inf_jawa", 4)
   SetUnitCount(6, 6)
   SetReinforcementCount(6, -1)
      
   --Ewoks
   SetTeamAsEnemy(ATT,7)   
    SetTeamAsEnemy(DEF,7)
   SetTeamAsEnemy(3,7)
   SetTeamAsEnemy(4,7)
   SetTeamAsEnemy(6,7)
   SetTeamAsEnemy(5,7)
   SetTeamAsEnemy(8,7)
   SetTeamAsEnemy(9,7)
   SetTeamAsEnemy(10,7)
   SetTeamAsEnemy(11,7)
   SetTeamAsEnemy(12,7)
   SetTeamAsEnemy(13,7)    
   SetTeamName(7, "ewk")
    AddUnitClass(7, "ewk_inf_basic", 4)
   SetUnitCount(7, 6)
   SetReinforcementCount(7, -1)
      
   --Gammoreans
   SetTeamAsEnemy(ATT,8)   
    SetTeamAsEnemy(DEF,8)
   SetTeamAsEnemy(3,8)
   SetTeamAsEnemy(4,8)
   SetTeamAsEnemy(6,8)
   SetTeamAsEnemy(5,8)
   SetTeamAsEnemy(7,8)
   SetTeamAsEnemy(9,8)
   SetTeamAsEnemy(10,8)
   SetTeamAsEnemy(11,8)
   SetTeamAsEnemy(12,8)
   SetTeamAsEnemy(13,8)    
   SetTeamName(8, "gam")
    AddUnitClass(8, "gam_inf_gamorreanguard", 4)
   SetUnitCount(8, 6)
   SetReinforcementCount(8, -1)
      
   --Naboo Guard
   SetTeamAsEnemy(ATT,9)   
    SetTeamAsEnemy(DEF,9)
   SetTeamAsEnemy(3,9)
   SetTeamAsEnemy(4,9)
   SetTeamAsEnemy(6,9)
   SetTeamAsEnemy(5,9)
   SetTeamAsEnemy(7,9)
   SetTeamAsEnemy(8,9)
   SetTeamAsEnemy(10,9)
   SetTeamAsEnemy(11,9)
   SetTeamAsEnemy(12,9)
   SetTeamAsEnemy(13,9)    
   SetTeamName(9, "gar")
    AddUnitClass(9, "gar_inf_vanguard", 4)
   SetUnitCount(9, 6)
   SetReinforcementCount(9, -1)
      
   --Gungans
   SetTeamAsEnemy(ATT,10)   
    SetTeamAsEnemy(DEF,10)
   SetTeamAsEnemy(3,10)
   SetTeamAsEnemy(4,10)
   SetTeamAsEnemy(6,10)
   SetTeamAsEnemy(5,10)
   SetTeamAsEnemy(7,10)
   SetTeamAsEnemy(8,10)
   SetTeamAsEnemy(9,10)
   SetTeamAsEnemy(11,10)
   SetTeamAsEnemy(12,10)
   SetTeamAsEnemy(13,10)    
   SetTeamName(10, "gun")
    AddUnitClass(10, "gun_inf_soldier", 4)
   SetUnitCount(10, 6)
   SetReinforcementCount(10, -1)
      
      --Wampa
   SetTeamAsEnemy(ATT,11)   
    SetTeamAsEnemy(DEF,11)
   SetTeamAsEnemy(3,11)
   SetTeamAsEnemy(4,11)
   SetTeamAsEnemy(6,11)
   SetTeamAsEnemy(5,11)
   SetTeamAsEnemy(7,11)
   SetTeamAsEnemy(8,11)
   SetTeamAsEnemy(9,11)
   SetTeamAsEnemy(10,11)
   SetTeamAsEnemy(12,11)
   SetTeamAsEnemy(13,11)    
   SetTeamName(11, "snw")
    AddUnitClass(11, "snw_inf_wampa", 4)
   SetUnitCount(11, 6)
   SetReinforcementCount(11, -1)
      
   --Imperials
   SetTeamAsEnemy(ATT,12)   
    SetTeamAsEnemy(DEF,12)
   SetTeamAsEnemy(3,12)
   SetTeamAsEnemy(4,12)
   SetTeamAsEnemy(6,12)
   SetTeamAsEnemy(5,12)
   SetTeamAsEnemy(7,12)
   SetTeamAsEnemy(8,12)
   SetTeamAsEnemy(9,12)
   SetTeamAsEnemy(10,12)
   SetTeamAsEnemy(11,12)
   SetTeamAsEnemy(13,12)    
   SetTeamName(12, "imp")
    AddUnitClass(12, "imp_inf_rifleman", 4)
   SetUnitCount(12, 6)
   SetReinforcementCount(12, -1)
      
      --Jedi
   SetTeamAsEnemy(ATT,13)   
    SetTeamAsEnemy(DEF,13)
   SetTeamAsEnemy(3,13)
   SetTeamAsEnemy(4,13)
   SetTeamAsEnemy(6,13)
   SetTeamAsEnemy(5,13)
   SetTeamAsEnemy(7,13)
   SetTeamAsEnemy(8,13)
   SetTeamAsEnemy(9,13)
   SetTeamAsEnemy(10,13)
   SetTeamAsEnemy(11,13)
   SetTeamAsEnemy(12,13)    
   SetTeamName(13, "jed")
    AddUnitClass(13, "jed_knight_01", 4)
   SetUnitCount(13, 6)
   SetReinforcementCount(13, -1)
     [/spoiler] :wall:
#7
How do i add sfx and play it when the republic team wins?
#8
Welcome Center / Hello
June 02, 2019, 03:38:48 PM
Hi I'm mcneb10. I play swbf2 on steam. I have always been fascinated by programming and modding.
#9
SWBF2 Modding / More than 6 units?
June 02, 2019, 08:50:46 AM
How can I have more than 6 units that the player can be