Blender for PR Modelling?

Making or wanting help making your own asset? Check in here
Fracsid
Posts: 115
Joined: 2006-12-12 00:35

Blender for PR Modelling?

Post by Fracsid »

Hello there folks,

I decided, for my first foray into modelling ever, I want to model the Sig Sauer M17/M18 MHS because I own a P320 that I can use for references and because it would be cool to see it in game with the US Army. I've been working in Blender so far, so I have to ask; is it possible and/or feasible to import models from Blender 2.78 to 3DSMax 9, or otherwise get them into the game? Or should I turn away from the 2 hours I've spent in Blender and somehow try to find a copy of 3DSMax 9?
Ratface
Retired PR Developer
Posts: 962
Joined: 2011-04-21 18:57

Re: Blender for PR Modelling?

Post by Ratface »

Main reason you need Max 9 is because there have been tools specifically designed that only work within max 9 (as far as I know). Personally I did the flak 18 for PR ww2 in a more modern version of max and regretted it when I went and imported the file into max 9 (lots of fixes that had to be done).

Blender is awesome but for PR personally I recommend going right in max 9, saves time down the line plus the reasons above.

Someone else might have other input but that's just my viewpoint from my experience.
Fracsid
Posts: 115
Joined: 2006-12-12 00:35

Re: Blender for PR Modelling?

Post by Fracsid »

Would animations be more or less difficult to get into PR if made in Blender? Same deal?
Rhino
Retired PR Developer
Posts: 47909
Joined: 2005-12-13 20:00

Re: Blender for PR Modelling?

Post by Rhino »

Animations are far worse as those need to be exported directly. With Modelling you can at least make the model in Blender then port it to max but still easier to just make it in Max.
Image
User avatar
Mats391
PR:BF2 Lead Developer
Posts: 7643
Joined: 2010-08-06 18:06

Re: Blender for PR Modelling?

Post by Mats391 »

[R-DEV]Rhino wrote:Animations are far worse as those need to be exported directly. With Modelling you can at least make the model in Blender then port it to max but still easier to just make it in Max.
Actually I have no idea about porting animation between Blender and 3ds. My guess would be that it might even be easier as you only deal with movement and wont have to care about smoothgroups fucking up or random faces switching normals etc.
Just see how you can export animations in blender and then see if you (or someone else) can import them in 3ds.
Image

Mineral: TIL that Wire-guided missiles actually use wire
Fracsid
Posts: 115
Joined: 2006-12-12 00:35

Re: Blender for PR Modelling?

Post by Fracsid »

If I wanted to try my hand at, say, the red dot magnifier switch animation that was mentioned elsewhere, I'd have to figure out a way to import the model and existing animations (or at least rig) from PR, right? Or is there somewhere I can get the original files? I'm really brand new to this, but animation seems like it would be an easier start than modelling.
Rhino
Retired PR Developer
Posts: 47909
Joined: 2005-12-13 20:00

Re: Blender for PR Modelling?

Post by Rhino »

[quote=""'[R-DEV"]Mats391;2170140']Actually I have no idea about porting animation between Blender and 3ds. My guess would be that it might even be easier as you only deal with movement and wont have to care about smoothgroups fucking up or random faces switching normals etc.
Just see how you can export animations in blender and then see if you (or someone else) can import them in 3ds.[/quote]

The thing about animations is, like Static Modelling, a very big part of it is the exporting process to the game and really the animator needs to be in full control of the export process. With Weapon/Vehicle models etc, that part isn't so important for the modeller to know how to export as those models can be, and are often exported by other people pretty easily, but with animations, I wouldn't even know where to start with the export process but I can export pretty much anything else to BF2.

[quote="Fracsid""]If I wanted to try my hand at, say, the red dot magnifier switch animation that was mentioned elsewhere, I'd have to figure out a way to import the model and existing animations (or at least rig) from PR, right? Or is there somewhere I can get the original files? I'm really brand new to this, but animation seems like it would be an easier start than modelling.[/quote]

I'm sorry but I don't know enough about the way animations work to be of any help to you, but to add to an existing set of animations or modify a current one, I do believe you would need to work with the existing animations for them all to match up yes, which would still mean working in Max, but yes we do have them.
Image
User avatar
Mats391
PR:BF2 Lead Developer
Posts: 7643
Joined: 2010-08-06 18:06

Re: Blender for PR Modelling?

Post by Mats391 »

[R-DEV]Rhino wrote:The thing about animations is, like Static Modelling, a very big part of it is the exporting process to the game and really the animator needs to be in full control of the export process. With Weapon/Vehicle models etc, that part isn't so important for the modeller to know how to export as those models can be, and are often exported by other people pretty easily, but with animations, I wouldn't even know where to start with the export process but I can export pretty much anything else to BF2.
Hmm true. Then again recreating the animation import/export for blender would be the easiest of them, I think :)
Image

Mineral: TIL that Wire-guided missiles actually use wire
ddeo
Retired PR Developer
Posts: 790
Joined: 2012-04-26 08:16

Re: Blender for PR Modelling?

Post by ddeo »

This question has been asked in the past couple times. I think I am the one in the team who does everything opposite, in this case I work with Blender when everybody else is using 3ds Max.

It is fine to create model in Blender, but You will need to export it later to .max 9 format (for example using .obj). I did warn about the possible issues in this topic: https://www.realitymod.com/forum/f388-p ... ost2115432

As for creating animations, there are couple of things to setup and I never tried it. For 1st person animation You would need hands mesh with bones converted from .max. For 3rd person You would need whole character. As Rhino wrote, we already have proper. max scenes to work with animations. The biggest problem would be adjusting animations further and getting animations into the game, for this You would need 3ds Max 9 anyway.

If you seriously think about working on BF2 or PR it is better to get used to 3ds Max. On the other hand, if You're like me and can't get used to 3ds Max and feel in Blender like in home than it is fine to create content in Blender, just be warned that there are issues after export like:
-scaling (but that's only the case when You import the model into the Blender not from it, at least that's what I've noticed)
-smooth groups/normals
-distorted objects (usually when You have couple objects and You used "Obj as Obj Objects" instead of "...Obj Groups")
-flipped faces
-wierd issues with flipped UVs (might need to change the format of the export file because something is corrupt in the scene after couple of exports between 3ds Max and Blender)

Below are the export settings I think I use, not sure because I lost the profile I've used so there are couple things to note (at least there are not many options to check):
-never used animations options as I never worked on BF2 animations
-not sure about apply modifiers, rather on than off, because of...
-...you can try enabling/disabling smoothgroups/bitflag/normals if things not going well, similar about apply modifiers because of edge split modifier
-write materials can be off, I usually leave adding proper materials to someone who does export from 3ds Max into BF2
Image
In this case better test these export settings together with import settings in 3ds Max 9. In my previous post I've talked about testing/checking it in newer 3ds Max, but Max 9 lacks lots of settings from newer versions.

From my experience besides .obj, the .3ds format worked fine with default settings and also .dae (collada) worked with some of the files (but some models were kicked/distorted after importing into 3ds Max). .obj was usually best option.
B4rr3l
Posts: 259
Joined: 2017-01-19 20:44

Re: Blender for PR Modelling?

Post by B4rr3l »

This guy know how to do it!
Project Reality Forums - View Profile: worldlife

@worldlife #worldlife

I hope he can teach us how at some point, I would love to use more Blender than for undergrowth or having to export to max everytime and then to BF2.
worldlife
Posts: 15
Joined: 2016-06-27 00:07

Re: Blender for PR Modelling?

Post by worldlife »

B4rr3l wrote:This guy know how to do it!
Project Reality Forums - View Profile: worldlife

@worldlife #worldlife

I hope he can teach us how at some point, I would love to use more Blender than for undergrowth or having to export to max everytime and then to BF2.
As I said earlier, there's an alternative way. Other than working on a Blender plugin, we can work with a general-purpose 3d model library such as assimp: https://github.com/assimp/assimp/
I've got a quick read through its docs, and it says it supports .blend format(though the animation part may be imcomplete or a buggy). Hopefully export model/collision/skeleton/animation through assimp directly or through assimp and then SceneParse.exe will be all possible.

What we must do is to create an importer and an exporter based on assimp library, in C/C++. That requires program language knowledge and experience of course. All bf2 files has been analyzed by Remdul so writing an importer is just recreating Remdul's works in C/C++ with assimp. As for the exporter, personally I think exporting a .dat and .material and then use SceneParse.exe like max9 plugin does will be easier and more robust, because it deals with many things like animated uv, staticmesh sample generation, etc. I would look into it when I have free time.
rPoXoTauJIo
PR:BF2 Developer
Posts: 1979
Joined: 2011-07-20 10:02

Re: Blender for PR Modelling?

Post by rPoXoTauJIo »

Wanna contribute to this thread a bit.
'[R-DEV wrote:rPoXoTauJIo;2171216']...Infact i'm already working on export tools for blender, as with zero experience in it i made PoC in just few hours.
Image
Could always utilize some help as the free time ain't infinite :-P
I already have implemented mesh parser in py3, so getting mesh with all the metadata isn't a problem for me.
Anyone who's wanna play with it:
1. Clone repo, and look at box_new.py, it will generate new staticmesh from mocked object.
2. Create new blender scene, make box in it.
3. Use script for extracting vertex positions, their normals, indices.
As the blender works with polygons instead of tris, and meshdata are all tris, we have to triangulate our box first.

Code: Select all

import bpy

class VertexObject:

    def __init__(self):
        self.bpy_vert = None
        self.normal = None
        self.index = None

    def __eq__(self, other):
        if (self.bpy_vert.co, self.normal) == (other.bpy_vert.co, other.normal):
            return True
        else:
            return False

def main():
    for object in bpy.data.objects:
        if object.name.startswith('root_'):
            print(object)
            for geom in object.children:
                print(geom)
                for lod in geom.children:
                    print(lod)
                    for bf2object in lod.children:
                        print(bf2object)
                        for bf2child in bf2object.children:
                            print(bf2child)

                        vertices = []
                        indices = []
                        normals = []
                        
                        VBO = []
                        #bf2object.data.vertices # vert array
                        #face.vertices # indicies array
                        for id_f, face in enumerate(bf2object.data.polygons):
                            face_vertices = []
                            face_indices = []

                            triorder = [2, 1, 0, 0, 3, 2]
                            for id_v in triorder:
                                vertex = bf2object.data.vertices[face.vertices[id_v]]
                                index = id_f*4 + id_v
                                
                                VO = VertexObject()
                                VO.bpy_vert = vertex
                                VO.normal = face.normal
                                VO.index = index
                                
                                if VO not in VBO:
                                    VBO.append(VO)

                                face_vertices.append(vertex)
                                face_indices.append(index)

                            vertices.extend(face_vertices)
                            indices.extend(face_indices)

                            for i in range(len(triorder)):
                                normals.append(face.normal)

                            for vertex in face_vertices:
                                vertex
                        

                        #print('VERTICES')
                        for vertex in vertices:
                            #print(vertex.co)
                            pass

                        #print('NORMALS')
                        for normal in normals:
                            #print(normal)
                            pass

                        #print('INDICES')
                        for index in indices:
                            print('{},'.format(index))
                            pass
                        
                        for VO in VBO:
                            #print('[{}] {}'.format(VO.index, VO.bpy_vert.co))
                            print('{},'.format(VO.bpy_vert.co).replace('<Vector ', '').replace(')>', ')'))
                            #print('{},'.format(VO.normal).replace('<Vector ', '').replace(')>', ')'))
                            #pass
                        print('\nNORMALS')
                        for VO in VBO:
                            #print('[{}] {}'.format(VO.index, VO.bpy_vert.co))
                            #print('{},'.format(VO.bpy_vert.co).replace('<Vector ', '').replace(')>', ')'))
                            print('{},'.format(VO.normal).replace('<Vector ', '').replace(')>', ')'))
                            #pass

                        #print('\nINDICES')
                        for VO in VBO:
                            #print('{},'.format(VO.index))
                            #print('{},'.format(VO.bpy_vert.co).replace('<Vector ', '').replace(')>', ')'))
                            #print('{},'.format(VO.normal).replace('<Vector ', '').replace(')>', ')'))
                            pass

if __name__ == "__main__":
    print('\n POC')
    main()
4. Change vertices positions and their normals in function _create_vertices and indices in _create_indices, after that generate test box.

Current problem that's stopping me from working further is vertex order&index being diffirent on export from blender. I think problem laying somewhere in theory where i do suck, so here a raw data if anyone wanna solve it for me faster than i am without setting all the dev shit.

Reference box(evil_box/meshes/evil_box.staticmesh). Keep note that it has 25 vertices for some reason, i've exported&reexported model from max from scratch multiple times to confirm that.
ImageImage

Code: Select all

### VERTICES ###

# bottom
[0] (0.5, 0.0, 0.5),
[1] (-0.5, 0.0, 0.5),
[2] (-0.5, 0.0, -0.5),
[3] (0.5, 0.0, -0.5),

# top
[4] (0.5, 1.0, 0.5),
[5] (0.5, 1.0, -0.5),
[6] (-0.5, 1.0, -0.5),
[7] (-0.5, 1.0, 0.5),

# front
[8] (0.5, 1.0, -0.5),
[9] (0.5, 0.0, -0.5),
[10] (-0.5, 0.0, -0.5),
[11] (-0.5, 1.0, -0.5),

# right
[12] (0.5, 1.0, 0.5),
[13] (0.5, 0.0, 0.5),
[14] (0.5, 0.0, -0.5),
[15] (0.5, 1.0, -0.5),

# back
[16] (-0.5, 1.0, 0.5),
[17] (-0.5, 0.0, 0.5),
[18] (0.5, 0.0, 0.5),
[19] (0.5, 1.0, 0.5),

# left
[20] (-0.5, 1.0, -0.5),
[21] (-0.5, 0.0, -0.5),
[22] (-0.5, 0.0, 0.5),
[23] (-0.5, 1.0, 0.5),

# random vertex, right back front - same as [14]
[24] (0.5, 0.0, -0.5),

### NORMALS ###

# bottom
[0] (0.0, -1.0, 0.0),
[1] (0.0, -1.0, 0.0),
[2] (0.0, -1.0, 0.0),
[3] (0.0, -1.0, 0.0),

# top
[4] (0.0, 1.0, 0.0),
[5] (0.0, 1.0, 0.0),
[6] (0.0, 1.0, 0.0),
[7] (0.0, 1.0, 0.0),

# front
[8] (0.0, 0.0, -1.0),
[9] (0.0, 0.0, -1.0),
[10] (0.0, 0.0, -1.0),
[11] (0.0, 0.0, -1.0),

# right
[12] (1.0, 0.0, 0.0),
[13] (1.0, 0.0, 0.0),
[14] (1.0, 0.0, 0.0),
[15] (1.0, 0.0, 0.0),

# back
[16] (0.0, 0.0, 1.0),
[17] (0.0, 0.0, 1.0),
[18] (0.0, 0.0, 1.0),
[19] (0.0, 0.0, 1.0),

# left
[20] (-1.0, 0.0, 0.0),
[21] (-1.0, 0.0, 0.0),
[22] (-1.0, 0.0, 0.0),
[23] (-1.0, 0.0, 0.0),

# random vertice same as [14]
[24] (1.0, 0.0, 0.0),

### INDICES ###
# those are being rendered in reversed order

# left
22,
23,
20,
20,
21,
22,

# back
18,
19,
16,
16,
17,
18,

# right
# using random 24 vertice
24,
15,
12,
12,
13,
24,

# front
10,
11,
8,
8,
9,
10,

# top
6,
7,
4,
4,
5,
6,

# bottom
2,
3,
0,
0,
1,
2,
Blender export data(24 vertices):

Code: Select all

### VERTICES ###

# front
[0] (-1.0000, -1.0000, -1.0000),
[1] (1.0000, -1.0000, -1.0000),
[2] (1.0000, 1.0000, -1.0000),
[3] (-1.0000, 1.0000, -1.0000),

# back 
[4] (-1.0000, -1.0000, 1.0000),
[5] (-1.0000, 1.0000, 1.0000),
[6] (1.0000, 1.0000, 1.0000),
[7] (1.0000, -1.0000, 1.0000),

# right
[8] (1.0000, -1.0000, 1.0000),
[9] (1.0000, 1.0000, 1.0000),
[10] (1.0000, 1.0000, -1.0000),
[11] (1.0000, -1.0000, -1.0000),

# bottom
[12] (-1.0000, -1.0000, 1.0000),
[13] (1.0000, -1.0000, 1.0000),
[14] (1.0000, -1.0000, -1.0000),
[15] (-1.0000, -1.0000, -1.0000),

# left
[16] (-1.0000, 1.0000, 1.0000),
[17] (-1.0000, -1.0000, 1.0000),
[18] (-1.0000, -1.0000, -1.0000),
[19] (-1.0000, 1.0000, -1.0000),

# top
[20] (-1.0000, 1.0000, -1.0000),
[21] (1.0000, 1.0000, -1.0000),
[22] (1.0000, 1.0000, 1.0000),
[23] (-1.0000, 1.0000, 1.0000),

### NORMALS ###

# front
[0] (0.0000, 0.0000, -1.0000),
[1] (0.0000, 0.0000, -1.0000),
[2] (0.0000, 0.0000, -1.0000),
[3] (0.0000, 0.0000, -1.0000),

# back 
[4] (0.0000, -0.0000, 1.0000),
[5] (0.0000, -0.0000, 1.0000),
[6] (0.0000, -0.0000, 1.0000),
[7] (0.0000, -0.0000, 1.0000),

# right
[8] (1.0000, -0.0000, 0.0000),
[9] (1.0000, -0.0000, 0.0000),
[10] (1.0000, -0.0000, 0.0000),
[11] (1.0000, -0.0000, 0.0000),

# bottom
[12] (-0.0000, -1.0000, -0.0000),
[13] (-0.0000, -1.0000, -0.0000),
[14] (-0.0000, -1.0000, -0.0000),
[15] (-0.0000, -1.0000, -0.0000),

# left
[16] (-1.0000, 0.0000, -0.0000),
[17] (-1.0000, 0.0000, -0.0000),
[18] (-1.0000, 0.0000, -0.0000),
[19] (-1.0000, 0.0000, -0.0000),

# top
[20] (0.0000, 1.0000, 0.0000),
[21] (0.0000, 1.0000, 0.0000),
[22] (0.0000, 1.0000, 0.0000),
[23] (0.0000, 1.0000, 0.0000),

### INDICES ###

# front
2,
1,
0,
0,
3,
2,

# back
6,
5,
4,
4,
7,
6,

# right
10,
9,
8,
8,
11,
10,

# bottom
14,
13,
12,
12,
15,
14,

# left
18,
17,
16,
16,
19,
18,

# top
22,
21,
20,
20,
23,
22,
Last edited by rPoXoTauJIo on 2017-08-20 13:16, edited 2 times in total.
Image

assetruler69: I've seen things you smurfs wouldn't believe. Apaches on the Kashan. I watched burned down tank hulls after the launch of the single TOW. All those moments will be lost in time, like tears in rain.

Time to give up and respawn.
B4rr3l
Posts: 259
Joined: 2017-01-19 20:44

Re: Blender for PR Modelling?

Post by B4rr3l »

Shit seems that they are not using the same center point or something like that.
rPoXoTauJIo
PR:BF2 Developer
Posts: 1979
Joined: 2011-07-20 10:02

Re: Blender for PR Modelling?

Post by rPoXoTauJIo »

Apparently there's something wrong with vertex order either triangulated faces.

Max faces vertices goes that way: Bottom -> Top -> Front -> Right -> Back -> Left
Blender goes other way: Front -> Back -> Right -> Bottom -> Left -> Top

After manually fixing indices to be max-like i got some more progress:

Code: Select all

# left
            18,
            17,
            16,
            16,
            19,
            18,
            
            # back
            6,
            5,
            4,
            4,
            7,
            6,

            # right
            10,
            9,
            8,
            8,
            11,
            10,
            
            # front
            2,
            1,
            0,
            0,
            3,
            2,
            
            # top
            22,
            21,
            20,
            20,
            23,
            22,
            
            # bottom
            14,
            13,
            12,
            12,
            15,
            14,
Now it's properly render sides of cube, top&bottom still buggers.
Image
Last edited by rPoXoTauJIo on 2017-08-20 14:16, edited 1 time in total.
Image

assetruler69: I've seen things you smurfs wouldn't believe. Apaches on the Kashan. I watched burned down tank hulls after the launch of the single TOW. All those moments will be lost in time, like tears in rain.

Time to give up and respawn.
B4rr3l
Posts: 259
Joined: 2017-01-19 20:44

Re: Blender for PR Modelling?

Post by B4rr3l »

'[R-DEV wrote:rPoXoTauJIo;2171746']Apparently there's something wrong with vertex order either triangulated faces.

Max faces vertices goes that way: Bottom -> Top -> Front -> Right -> Back -> Left
Blender goes other way: Front -> Back -> Right -> Bottom -> Left -> Top

After manually fixing indices to be max-like i got some more progress:

Code: Select all

# left
            18,
            17,
            16,
            16,
            19,
            18,
            
            # back
            6,
            5,
            4,
            4,
            7,
            6,

            # right
            10,
            9,
            8,
            8,
            11,
            10,
            
            # front
            2,
            1,
            0,
            0,
            3,
            2,
            
            # top
            22,
            21,
            20,
            20,
            23,
            22,
            
            # bottom
            14,
            13,
            12,
            12,
            15,
            14,
Now it's properly render sides of cube, top&bottom still buggers.
Image
Very nice man!

What I could notice is that Blender open an .obj from autodesk with inverted normals.
worldlife
Posts: 15
Joined: 2016-06-27 00:07

Re: Blender for PR Modelling?

Post by worldlife »

'[R-DEV wrote:rPoXoTauJIo;2171746']Apparently there's something wrong with vertex order either triangulated faces.

Max faces vertices goes that way: Bottom -> Top -> Front -> Right -> Back -> Left
Blender goes other way: Front -> Back -> Right -> Bottom -> Left -> Top

After manually fixing indices to be max-like i got some more progress:

Code: Select all

# left
            18,
            17,
            16,
            16,
            19,
            18,
            
            # back
            6,
            5,
            4,
            4,
            7,
            6,

            # right
            10,
            9,
            8,
            8,
            11,
            10,
            
            # front
            2,
            1,
            0,
            0,
            3,
            2,
            
            # top
            22,
            21,
            20,
            20,
            23,
            22,
            
            # bottom
            14,
            13,
            12,
            12,
            15,
            14,
Now it's properly render sides of cube, top&bottom still buggers.
Image
Did you write directly to a .staticmesh file or use SceneParse.exe to generate one?
rPoXoTauJIo
PR:BF2 Developer
Posts: 1979
Joined: 2011-07-20 10:02

Re: Blender for PR Modelling?

Post by rPoXoTauJIo »

All work done directly, nothing from maxtools is used.
Image

assetruler69: I've seen things you smurfs wouldn't believe. Apaches on the Kashan. I watched burned down tank hulls after the launch of the single TOW. All those moments will be lost in time, like tears in rain.

Time to give up and respawn.
B4rr3l
Posts: 259
Joined: 2017-01-19 20:44

Re: Blender for PR Modelling?

Post by B4rr3l »

[R-DEV]rPoXoTauJIo wrote:All work done directly, nothing from maxtools is used.
For me that's one of the best news I've heard from the modding community in the last 6 years, Since PR,AiX and FH nothing really new was developed, please don't give up, that's the best games I' ve ever played and Blender could do wonders for it.

Some Blender contribution to BF2 ;)

Image
rPoXoTauJIo
PR:BF2 Developer
Posts: 1979
Joined: 2011-07-20 10:02

Re: Blender for PR Modelling?

Post by rPoXoTauJIo »

Managed to remove weird 25's vertex from referenced box from max, now only need to remove uv2-4 to have it completely same to exported box from blender, after that i'll be able to do more precise comparisons.
Apparently it fucks up UV a bit, but #14 is strange in array aswell and not even being used by index initially. Will look at this later.
Image
Image

It seems that it's being added by sceneparser for some reason, as exporting non-closed box or pyramind doesn't have such strange vertices.
Image

assetruler69: I've seen things you smurfs wouldn't believe. Apaches on the Kashan. I watched burned down tank hulls after the launch of the single TOW. All those moments will be lost in time, like tears in rain.

Time to give up and respawn.
B4rr3l
Posts: 259
Joined: 2017-01-19 20:44

Re: Blender for PR Modelling?

Post by B4rr3l »

'[R-DEV wrote:rPoXoTauJIo;2171823']Managed to remove weird 25's vertex from referenced box from max, now only need to remove uv2-4 to have it completely same to exported box from blender, after that i'll be able to do more precise comparisons.
Apparently it fucks up UV a bit, but #14 is strange in array aswell and not even being used by index initially. Will look at this later.
Image
Image

It seems that it's being added by sceneparser for some reason, as exporting non-closed box or pyramind doesn't have such strange vertices.

Any update on that?
Post Reply

Return to “PR:BF2 Community Modding”