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

Messages - Dark_Phantom

I usually recommend trying this first, it has better error handling than the official versions:;sa=view;down=1519

As long as you can create the project using BFBuilder, the rest of the handling can be done within the folder.  That initial creation though really needs done in BFBuilder because it modifies all the template files to be tailored to your map.
At this point, modding an Xbox is easier than ever.  At this point, at the very least, you should open the thing up and check your motherboard if it's not a 1.6 and remove the clock capacitor which tends to leak.

There are hundreds of guides out there now and limiting yourself to an unmodded 20 year old game system is not something that should be pushed to the modders.
What, you thought BF1 was dead? Not yet!

This tutorial will be a quick "How-To" on how to patch the fake console in YOUR game.  Few downloads (except for a hex editor and the mod tools), nothing too complicated.  I've posted other tutorials like this but I hope this one will be more practical.

Things you need:
1.) The SWBF1 Common/Shell Builders that I made in the downloads section
2.) The 1.2 patch of the game (Steam version will not work for this)
3.) A hex editor, such as XVI32 or Hexinator or PSPad or 010 Editor... there's 500 good options for this.
4.) Willingness to read directions

Step 1.)
This is probably the hardest step.  You're going to need the common/shell builders I made here:;sa=view;down=1552
Navigate to Common\Scripts\ifs_pausemenu.lua.  This file can be opened in something like Notepad or any text editor.
Search for "this.buttons.console.hidden" (without quotes)
Put two dashes in front of that line like this:
--this.buttons.console.hidden = gDemoBuild or gFinalBuildSave file, and navigate back to the main folder of the builder. 
Run MungeCommon.bat.  When it is finished, you're going to take the common.lvl which was created in _LVL_PC\Common\ENG\Common.lvl and replace the one in your games folder with it. (Something like C:\Lucasarts\Star Wars Battlefront\Gamedata\_LVL_PC\COMMON\ENG\common.lvl)

Step 2.)
Open up your hex editor and use it to open Battlefront.exe.  Once again, this part will only work on the 1.2 SWBFspy patch. Use your hex editors "Go To" function and enter 0x24a3c (or just 24a3c, if it allows).  This should navigate you to a few bytes like this:
0f 84 b9
Change it to
0f 85 b9

Technical reason: This allows a bypass of the console write instruction anytime it is accessed.  Essentially I changed a "jump if equal" to "jump if not equal" once I found a good place to put my change in as seamless as possible.

Step 3.)
Run your game and enter into any match.  You should be able to run the commands "invincible" and "unlimitedammo" without a crash.  In my experience, in case you were trying to be an expert hacker, this stuff generally does not work online, and can cause your game to desync and/or crash.

OK, so there's some stuff that's in SPTest that's not in the base game or doesn't work right.  Some stuff does not exist at all in the executable. A command like RenderCollision will not work because at compile time the game has already stripped out the debug renderers.  The command will do nothing.

One more cool thing, if you want to prove you're a top of the line hacker.  At 0x29fe9Ch exists a string "debugmenu" that the console menu uses to append to the commands.  Sounds boring right?  Change it to "ai" padded with 0's where the original text was.  When you enter the Fake Console now, the AI commands will populate.  The best ones are camup and camdown, which finally make my dream a reality of a real, accessible spectator mode in BF1.  Most of the others do not work because they require the debug actions or a console input to actually set up correctly.

Good luck and see you on the front!
I don't mean to sound like a stickler but have you asked the creator if that's ok with them? There've been a lot of incidents in the modding community in recent years that make asking for permission before extracting others' assets a good idea.
I'm sorry I haven't gotten back to you about this.  It's hard to explain how to do it succinctly, but a lot of it is trial and error.
I haven't forgotten though - when I have more time I'll get more detailed instructions on how to do what you're asking.
No, that's controlled by the game version, probably due to the console's already tight limitations.
Only if you're willing to remap them to the BF1 skeleton, otherwise straight up converting them to msh will just result in a blob ingame, if it works at all.
Sorry for not replying sooner.  The base mission files were in a different area of the assets and I totally forgot that I didn't write a script to move them if the stock map was selected.  Copying the lua like you did is correct. (I generally just swap out the stock maps and use the stock mission).

Remember if you're using this method, and using it as an addon map, you want to put "ReadDataFile("dc:\TAT1\Tat1.lvl")" or whatever, instead of what the main mission has.  (DC: means "Downloadable Content", and the game has a method of determining the mission file if using the addon folder.

It seems like you've got it right where you want it as well.  If you need help, don't be afraid to ask.
I would also do a couple other things to start:
1.) If you don't already, download this:;sa=view;down=1519
This is an improved version of the BFBuilder Pro file, with some friendly additions by myself, including stock map imports.

2.) Do NOT use the "EDIT TAT1" or whatever the button says from any version of BFBuilder.  ZeroEditor will not load all the layers of a stock map through this method (command line only supports base world loading).  You must open DataTAT1 folder and ZeroEditor from there.  If it doesn't launch, try one or two more times, there's a well documented startup error that resolves by starting again.  Click load and traverse the directory structure like this: BFBuilder\DataTAT1\Worlds\TAT1\World1\tat1.wld.  If you open this file, it will have a prompt asking what layers to load, and you want ALL of them (or everything except sound).

3.) Once you have the map loaded, the CPs will still be missing.  At the top, there is the "Active Layer" field.  Click Change.  Mostly, CPs/vehicle spawns are kept in the "Design" layer of the map.  Swap to this layer, and then you can see how the originals are set up, and try swapping out vehicles using the tutorial given.
Lol, I wish I had remembered this post was here.
I learned this when building my electric trap thingy for Ruusan. Took me a while to figure out as well.
For The Clone Wars, there is a script at XenHax (or Xentax, whatever it's been called) that will split the big data.zwp (ZWP just being a wrapper file) file into parts.  This is great and all, but I think it converts these files based on a commonality with BF.  I don't know whether this is correct or not.

Sticking with the Xbox version as this is closest to PC theoretically, we can start breaking down the formats of files. The msh (model) file format is pretty well documented in several places. Textures have been converted as they are one of the DXT variants and it's pretty well documented I think.  I can figure out the sound engine, there's some common structures to BF (plus on Xbox they're mostly already WAV format).  Movies are self explanatory.  No one has ever successfully replaced any of these files, and even if we could, we'd have to be very aware of memory limits.

World data structures are contained in data.zwp as far as I know.
I have no clue what the files in the bin folder are for.  FIL and ANM are the surface level file types.
After that there's very little to explain the mission structure, which isn't good for modding.

For your questions:
1.) Battlefront had mod tools and a debugger deployed with it.  This simplified many of the investigative tasks because Pandemic provided the keys to the car.
2.) Battlefront plays on PC, which makes it many times easier to test file changes and deploy them right in the game.  Xbox/Gamecube/PS2 all require hardware or emulators that may or may not encompass the original hardware (Dolphin runs every Gamecube game now, but for ages TCW was the only game it COULDN'T run because of custom memory mapping wizardry by Pandemic's programmers that was not seen before or afterward).
3.) Battlefront was much more mainstream than TCW2002. Starting from scratch with only a couple people is no simple task.
4.) In addition to the mod tools, there's a former Pandemic dev who helped out a ton, but he was not part of the team for TCW2002.

Battlefront and TCW are not the same engine, before anyone comes and says that.  For example, Pandemic kept the msh format but the BF1 compilers turn it into a totally new file type.  Comparing the two engines may help on the surface because a lot of the same programmers worked on both, but you can't test in BF and play it in TCW.  The closest to TCW is either Battlezone 2 or Dark Reign 2, both of which only ran on PC.

[end long post for now]
The first problem that needs figured out is the file formats.  I almost need to do everything from scratch except for the msh file format.
What file format contains what/does what/etc, and then a way to view them outside of the actual game.  Without a PC port, this is much harder, and I can't get a working version of the terrain into ZE to even help out there.

My mind is kind of jumbled in this but overall I'm not sure how to push this any further at this moment.
SWBF1 Modding / Re: Third era
May 14, 2022, 04:53:12 PM
Because the tutorial doesn't encompass that.

You've added the "era" references, but it won't matter unless you add mission files to support it. (See "Mission.lvl builder" in the search bar to learn about adding or just compiling the stock missions in the game.)

In missionlist.lua, there's a list of missions. In the game's lua scripting, there's a section of code that says if there's only one "side_x = 1" reference (x being the side code, a/c/i/r) that it will NOT load the 2nd screen to select an era.  This is for cleanliness and makes sense because why have the user select when they don't have a choice anyway? To fix it, you'd have to modify the missionlist table either through the addme (which is how the mod maps work) or modify the original missionlist using the shell.lvl builders on here.

TL;DR - There's many steps to this process that you should probably give the search bar a workout, experiment, then create threads detailing whatever goes wrong.
/adminpw is only supported in 1.3 and Steam/GOG.

1.3 is only playable with the original game disk.  Therefore, the Steam/GOG version is the only way to use this.  These versions do NOT support the dedicated server software.  You can run the Steam/GOG exe with the commands like a dedicated server but in my experience, it is flaky at best and a pain to manage overall.

There is no "console" per se.  The existing 1.3 documentation shows how to use /adminpw, which then can allow you to use admin commands ingame, such as changing the map list and attempting to boot someone.  Changing the map list works, but attempting to use the boot command only boots yourself out of the server.  There's other documentation here: (which mostly comes from the 1.3 patch readme... GOG clearly never tested any of this so I did)

The terminal application referenced does not seem to exist and I highly doubt the source code for that will ever come to light.
SWBF1 Modding / Re: Third era
May 10, 2022, 07:20:30 AM
Quote from: wsa30h on May 09, 2022, 12:49:45 PMfollow this tutorial and download my addme. this is the best way to add new eras since it doesent overwrite any files.
You didn't link anything.