Page 1 of 1

The BF2 Camera

Posted: Thu Feb 04, 2016 9:44 pm
by JoshuaTedder
Hello, does anybody know how to change the angle the camera views your character? I would love to look directly on top of my character (or even change the range that I can look around me, that might be even more cool, so I don't have to look down or behind myself the whole time), instead of his back, that would be so awesome!

I saw these properties on another forum that was talking about editing vehicles (Found in odf files? Not sure where it is in the compiled files.).

EyePointOffset, TrackCenter, TrackOffset, TiltValue, NormalDirection

Camera placement parameters that use an X, Y, Z orientation system.

PitchLimits, YawLimits

The limitations of how far the camera can pitch or yaw until it hits a “wall”

FirstPersonFOV – What your frame of view will be when seated inside the vehicle.

Do these apply to other units as well? If so I'm guessing each unit has a section in a file where the camera angles are set (or maybe it goes by the class of unit).

Thanks!

Re: The BF2 Camera

Posted: Thu Feb 04, 2016 9:46 pm
by AnthonyBF2
Give me a minute to find my notes. I did something like this one time...

EDIT:

In data\common\odf look at com_inf_default.odf. This is the class parent file that all trooper types get their base values from.
I took this part:

Code: Select all

CAMERASECTION       	= "STAND"
EyePointOffset      	= "0.0 1.8 0.0"
TrackCenter         	= "0.0 1.8 0.0
TrackOffset         	= "0.0 0.0 3.2"
TiltValue           	= "10.0"
And changed it to this:

Code: Select all

CAMERASECTION       	= "STAND"
EyePointOffset      	= "0.0 25.0 0.0"
TrackCenter         	= "0.0 25.0 0.0"
TrackOffset         	= "0.0 0.0 25.0"
TiltValue           	= "50.0"
Now, that specific bit of code puts the camera top down like bird's view (similar to the original GTA games)
And that bit of code was only for "STAND" mode (regular stance you have when you spawn and aren't moving/doing anything)

com_inf_default.odf is munged into ingame.lvl but you don't need to edit ingame.lvl or remake an ingame.lvl
You may take the modded code and place it directly in a character's ODF file in their respective side (etc: ALL\ODF\all_inf_default_sniper.odf)
When a single character odf has it's own values, it doesn't need to look for those same values in the class parent file (com_inf_default.odf)

Re: The BF2 Camera

Posted: Thu Feb 04, 2016 10:51 pm
by JoshuaTedder
Very cool. Thanks for the reply! I'll have to try this out tomorrow. I briefly experimented with this today but found that replacing the code would change the file size. Will it still work?

Re: The BF2 Camera

Posted: Thu Feb 04, 2016 10:58 pm
by AnthonyBF2
Just copy the sides assets (folders: ALL, IMP, CIS, REP, COMMON) to the sides folder in your data_mod project. Copy the camera codes to the "default" character odf files in each of the 4 sides. In each character odf, make sure the codes go under [Properties].

When you get ready to munge, check "everything" for sides. The munge will take a few minutes. When it ends, copy the new SIDE *.lvl files from your _lvl_pc output and replace them over the side files in GameData\Data\_LVL_PC\SIDE and now your troops have the new camera values.

Backup your old side files in case you break something, if you don't you'll be re-installing the game.

Re: The BF2 Camera

Posted: Fri Feb 05, 2016 7:06 am
by JoshuaTedder
anthonybf2 wrote:Just copy the sides assets (folders: ALL, IMP, CIS, REP, COMMON) to the sides folder in your data_mod project. Copy the camera codes to the "default" character odf files in each of the 4 sides. In each character odf, make sure the codes go under [Properties].

When you get ready to munge, check "everything" for sides. The munge will take a few minutes. When it ends, copy the new SIDE *.lvl files from your _lvl_pc output and replace them over the side files in GameData\Data\_LVL_PC\SIDE and now your troops have the new camera values.

Backup your old side files in case you break something, if you don't you'll be re-installing the game.
I'm a total noob at modding so I've never tried munging anything before. :D Which of the programs do you use? I tried to open up the BF2_modtools.exe but it just said "the program can't start because binkw32.dll is missing from your computer." What in the world? xD EDIT: I found the solution to this, but wrong program anyways. :)

I opened OdfMunge.exe in C:\BF2_ModTools\ToolsFL\bin but I'm not sure if this is the right method.

I believe Zeroeditor and VisualMunge are only for creating worlds (and Zeroeditor won't start anyways, which i heard was due to graphics card or something?)?

Thanks in advance!

Re: The BF2 Camera

Posted: Fri Feb 05, 2016 7:16 am
by thelegend
Have a look at this: http://www.gametoast.com/viewtopic.php?f=27&t=12729
It might be the best to first follow some tutorials explaining how to munge maps for Battlefront II. Munging worlds works similair like munging sides.

Re: The BF2 Camera

Posted: Sun Feb 07, 2016 1:41 pm
by JoshuaTedder
OK, I will certainly take a look. Thanks for the link!


EDIT
anthonybf2 wrote:Just copy the sides assets (folders: ALL, IMP, CIS, REP, COMMON) to the sides folder in your data_mod project. Copy the camera codes to the "default" character odf files in each of the 4 sides. In each character odf, make sure the codes go under [Properties].

When you get ready to munge, check "everything" for sides. The munge will take a few minutes. When it ends, copy the new SIDE *.lvl files from your _lvl_pc output and replace them over the side files in GameData\Data\_LVL_PC\SIDE and now your troops have the new camera values.

Backup your old side files in case you break something, if you don't you'll be re-installing the game.
Okay, I went into C:\BF2_ModTools\data\_BUILD and started Modtools VisualMunge. I then created a new world folder called CAM (located as C:\BF2_ModTools\data_CAM). I clicked all the game modes for this world (and I did not select Space Map), but I think that doesn't matter? I originally called it TES, but I redid it several times and it wound up being CAM. Here are the screens:


http://postimg.org/image/uc93u8zmh/full/


http://postimg.org/image/zc6k27595/full/


I then copied the all, imp, cis, rep, Common asset folders to C:\BF2_ModTools\data_CAM\Sides from C:\BF2_ModTools\assets\sides. I left the TUR folder in there, which is for turrets, but I don't suppose that matters? It looks like this:


http://postimg.org/image/dxcxalnh9/full/


I decided to edit the sniper class for the different factions. I opened up all_inf_default_sniper, cis_inf_default_sniper, imp_inf_default_sniper, and rep_inf_default_sniper (there was nothing about snipers in the Common folder). Here are the changes that I made:

http://postimg.org/image/vpexzw0dn/full/


http://postimg.org/image/rhk5r4yy3/full/


http://postimg.org/image/sz5m2p3or/full/


http://postimg.org/image/56war61nv/full/


I saved these files, then went into C:\BF2_ModTools\data_CAM\_BUILD and started up Modtools VisualMunge. I selected CAM as my world, selected "Common", and selected "EVERYTHING" for the sides option. I then selected "Munge". It munged super-quickly, which seemed dubious at first, and the hunch was correct. At the end it said "/AMD was unexpected at this time".


http://postimg.org/image/cxmfsbu73/full/


http://postimg.org/image/auc0knue7/full/


So, since the tools were made when Windows XP was around, I put the program in compatibility mode and ran as an administrator. It still said "/AMD was unexpected at this time". So I started the Program Compatibility Assistant, and ran the program with the recommended settings (it wanted Service Pack 3). This time, it worked without the message. However, the munging process still only took like one second, and when I looked at my addon folder (location E:\Games\LucasArts\Battlefront 2\GameData\addon), the CAM world was there, with the addme script, but there was absolutely nothing in the _LVL_PC folder. I am running Windows 8.1, and that is probably the problem. I'm sorry to bother you guys, but is there anything else that I could do?


EDIT: This thread helped me (and I also used the compatibility settings), and it worked! http://www.gametoast.com/viewtopic.php?f=27&t=15662

However, the camera looks totally crazy. There is absolutely no way I can aim lol! Is there a way to get the camera closer down to the unit? Here is a screen of the sniper:

http://postimg.org/image/pcgc5dee5/full/


Would it be possible for someone to explain these values, so I could tinker with them myself and create different versions of the camera angle mod?

EyePointOffset, TrackCenter, TrackOffset, TiltValue, NormalDirection

PitchLimits, YawLimits

FirstPersonFOV

Also, which of these can be added to the default character odf files, and how would I go about adding them? Are there any other properties affecting the camera that I may have missed? Thanks in advance!

Re: The BF2 Camera

Posted: Sun Feb 07, 2016 6:42 pm
by AnthonyBF2
The changed cameras values I listed are the only bits I ever bothered with and I still don't know what most of those mean. I was just doing that thing where you change stuff over and over until you get close to what you want.

FirstPersonFOV and ThirdPersonFOV are pretty good ones, this determines how close/far /up/down the default camera position is. The default Gamorrean Guard has the camera really close to his shoulders with bothered me a lot. I put ThirdPersonFOV = 80 in the odf file gam\odf\gam_inf_gamorreanguard.odf and it set the camera much father back so I can then see the surroundings. It is not recommended you change FirstPersonFOV because if you make it different you will have your hand models too far out or too far in.

And, you can add any odf commands/values to the individual character odf files - if any playable entity (tanks, heroes, infantry) detect new values, it will use those instead of using the base values (com_inf_default).
If there are values not detected on an individual character it will see them from the parent, com_inf_default.

Of course there are lots of other things you can add to playable entity odf files. A good example is CapturePosts = 1. If that command is on com_inf_default then all characters (troop types) are not allowed to capture command posts. If the code is just on 1 character odf file then only that character is not allowed to capture command posts. I am trying to explain the best way I can how the bf2 class parent system works.

Re: The BF2 Camera

Posted: Sun Feb 07, 2016 7:41 pm
by JoshuaTedder
anthonybf2 wrote:The changed cameras values I listed are the only bits I ever bothered with and I still don't know what most of those mean. I was just doing that thing where you change stuff over and over until you get close to what you want.

FirstPersonFOV and ThirdPersonFOV are pretty good ones, this determines how close/far /up/down the default camera position is. The default Gamorrean Guard has the camera really close to his shoulders with bothered me a lot. I put ThirdPersonFOV = 80 in the odf file gam\odf\gam_inf_gamorreanguard.odf and it set the camera much father back so I can then see the surroundings. It is not recommended you change FirstPersonFOV because if you make it different you will have your hand models too far out or too far in.

And, you can add any odf commands/values to the individual character odf files - if any playable entity (tanks, heroes, infantry) detect new values, it will use those instead of using the base values (com_inf_default).
If there are values not detected on an individual character it will see them from the parent, com_inf_default.

Of course there are lots of other things you can add to playable entity odf files. A good example is CapturePosts = 1. If that command is on com_inf_default then all characters (troop types) are not allowed to capture command posts. If the code is just on 1 character odf file then only that character is not allowed to capture command posts. I am trying to explain the best way I can how the bf2 class parent system works.
Thanks for the help! I'm really liking the FOV attribute best right now, but I will continue to play around with the EyePointOffset, TrackCenter, TrackOffset, and TiltValue properties. To the rest of the community, feel free to shed some light on what the heck those other values are (or other secret values we don't know about). :D