Saturday, March 8, 2008
qmapreader.NET - first build (pre-alpha)
This is the first compiled version of the tools available at filefront: http://dashboard.filefront.com/TouristTam/
Thursday, March 6, 2008
qmaptranslator.NET - baby steps with regex
setting up the project I had grandiose Ideas ... :[ that is usually a nooby way to say that I didn't realised how much input I would have to do with this project. So instead I went back to the drawing board and approach the project thinking about making a simple assemly to be run in cmd line only. It should take one argument (that's right) and read through a file (obviously a .map file) line by line, and copy it over when no difference between the original format (mohaa map file) and the target format (cod2 map file).
The idea is to implement a simple read-transform-copy without the time consumming step of loading objects like vertex/polygon/mesh. But currently I have a hard time running a 'simple' regex. :P
Solution to the 'Regex knowledge wall' I've faced earlier on this week:
I've found out a few interesting things about the Regex that I didn't knew about. the first one being that a regex can have named groups. At first I thought: "what the heck is that about?". And guess what?
It is simply put that grouping a few item together in a regex string can be attributed a name. therefore making the retrieval of the item more easely. Sound complicated? here is what I had in mind: Reading a quake .map file (or any of the game based around the same game engine) line by line and matching the read line with a regex, it is possible to manipulate the string read. The .map file format for a brushgives the following for a brush:
it reads as follow:
the curly brackets are grouping the lines in between them. Then for each line the three items in between parenthesis are the Vertices definition (to be understood as point(x, y, z)). the last part is well documented over the internet, it is the texture's name, X offset, Y offset,
rotation, x scale and y scale. Knowing that the regex to match that string is dead easy:
Here is the trick for named groups; each item (eight of them in this example) can have a "flag" (or "tag") that can be subsequently called, iterating through the retrieved string. The regex string becomes the following:
I actually found this very handy trick reading the Chapter 24 of the O'Reilly book: "C# 3.0 in a Nutshell" and experiencing with the fantastic small software call Expresso. Needless to say that all my trouble with regex were coming from my noobyness as a programmer. But hey life is a learning experience. :)
Hope this helps.
Tam
The idea is to implement a simple read-transform-copy without the time consumming step of loading objects like vertex/polygon/mesh. But currently I have a hard time running a 'simple' regex. :P
Solution to the 'Regex knowledge wall' I've faced earlier on this week:
I've found out a few interesting things about the Regex that I didn't knew about. the first one being that a regex can have named groups. At first I thought: "what the heck is that about?". And guess what?
It is simply put that grouping a few item together in a regex string can be attributed a name. therefore making the retrieval of the item more easely. Sound complicated? here is what I had in mind: Reading a quake .map file (or any of the game based around the same game engine) line by line and matching the read line with a regex, it is possible to manipulate the string read. The .map file format for a brushgives the following for a brush:
// brush 0
{
( 104 128 0 ) ( -72 128 0 ) ( -72 -40 0 ) caulk 64 64 0 0 0 0
( -72 -40 8 ) ( -72 128 8 ) ( 104 128 8 ) caulk 64 64 0 0 0 0
( -72 -40 8 ) ( 104 -40 8 ) ( 104 -40 0 ) caulk 64 64 0 0 0 0
( 104 -40 8 ) ( 104 128 8 ) ( 104 128 0 ) caulk 64 64 0 0 0 0
( 104 128 8 ) ( -72 128 8 ) ( -72 128 0 ) caulk 64 64 0 0 0 0
( -72 128 8 ) ( -72 -40 8 ) ( -72 -40 0 ) caulk 64 64 0 0 0 0
}
it reads as follow:
the curly brackets are grouping the lines in between them. Then for each line the three items in between parenthesis are the Vertices definition (to be understood as point(x, y, z)). the last part is well documented over the internet, it is the texture's name, X offset, Y offset,
rotation, x scale and y scale. Knowing that the regex to match that string is dead easy:
([0-9 \.\-]+\) ([0-9 \.\-]+\) ([0-9 \.\-]+\) [a-z0-9/_]+ [0-9\.\-]+ [0-9\.\-]+ [0-9\.\-]+ [0-9\.\-]+
Here is the trick for named groups; each item (eight of them in this example) can have a "flag" (or "tag") that can be subsequently called, iterating through the retrieved string. The regex string becomes the following:
(?[\t]*)(?\([0-9 \.\-]+\)) (?\([0-9 \.\-]+\)) (?\([0-9 \.\-]+\)) (?[a-z0-9/_]+) (?[0-9\.\-]+) (?[0-9\.\-]+) (?[0-9\.\-]+) (?[0-9\.\-]+) (?[0-9\.\-]+)
I actually found this very handy trick reading the Chapter 24 of the O'Reilly book: "C# 3.0 in a Nutshell" and experiencing with the fantastic small software call Expresso. Needless to say that all my trouble with regex were coming from my noobyness as a programmer. But hey life is a learning experience. :)
Hope this helps.
Tam
Tuesday, February 26, 2008
mp_germania - II
Hi folks,
I manage to get some more pictures uploaded of that project of mine. Not much as each building has been through a process of several iteration until now and most of them will again.
The map looks massive at the moment, but fear not, cause with a worn torn building there should be plenty of broken floors, rumble that will block ways. I am thinking as well to put some “sweet” spot for “sniping bitch”.
The most challenging part is to have a feel of broken buildings in a realistic way. Not just squares kicking around.
Enough talk and let’s just see the latest update.
Tam
I manage to get some more pictures uploaded of that project of mine. Not much as each building has been through a process of several iteration until now and most of them will again.
The map looks massive at the moment, but fear not, cause with a worn torn building there should be plenty of broken floors, rumble that will block ways. I am thinking as well to put some “sweet” spot for “sniping bitch”.
The most challenging part is to have a feel of broken buildings in a realistic way. Not just squares kicking around.
Enough talk and let’s just see the latest update.
Tam
Monday, February 25, 2008
mp_germania - project
My lastest project started last august when I was planning to enter the modsonline competition. But that was counting without issues IRL...
During WWII the Nazi leader had the grandiose idea of rebuilding Berlin as a capital of the world (sic) in a roman style, with 'Kolossale' proportion obviously. The project was to start mid to late 1940s after the Sovietique troups were to be defeated and Berlin to lay in ruins. Well so much for the plan, cause only the second part became eventually true.
As for me, I like the style and I decided to based this project on pictures I found on the internet of some official building of the Bauhaus movement. But in a ruined way.
For the pictures.
During WWII the Nazi leader had the grandiose idea of rebuilding Berlin as a capital of the world (sic) in a roman style, with 'Kolossale' proportion obviously. The project was to start mid to late 1940s after the Sovietique troups were to be defeated and Berlin to lay in ruins. Well so much for the plan, cause only the second part became eventually true.
As for me, I like the style and I decided to based this project on pictures I found on the internet of some official building of the Bauhaus movement. But in a ruined way.
For the pictures.
mp_tannenberg - project
for my second project, and as my first attempt was a disaster on a production point of view, but a fantastic time when I've learned so much. The idea this time is based on a german castle destroyed at the end of the second world war.
Build to commemorate two battles won by the german in a millenium around the same place, a memorial was raised, that would be used as a tools for german nationalisme in the mid 1930s.
Have a look
This time I've put some lights .... XD
Build to commemorate two battles won by the german in a millenium around the same place, a memorial was raised, that would be used as a tools for german nationalisme in the mid 1930s.
Have a look
This time I've put some lights .... XD
mp_rothenburgh - project
That is my first try to create a map for the game CoD2. The idea is based around the typical layout and ambiance of an middle-age town in southern germany. There are plenty of pictures only to get inspiration for the building. And each and every one of those is a new challenge. Rothenburg-ob-der-Tauber didn't suffer much from the war unlike Aschaffenburg.
but enough words for now and here is the link for the pictures
but enough words for now and here is the link for the pictures
qmaptranslator.NET - project
I have been mapping for the Call of Duty (CoD) serie for over a year now. And I’ve found tones of map kicking about on the internet. CoD being a game, which game engine is a developed version of the Quake 3 engine, it is sharing its uncompiled map file format with most of the Quake 3 games out there. But from a version of the map editor to the next one the format change enough for being unloadable at worst in the new game's map editor. That does mean that a map file created for Medal of Honor: Allied Assault won’t be compatible out-of-the-box with a CoD map editor.
That’s why I’ve decided to try and decipher the different map format for the following games: vCoD (for “vanilla flavoured” Call of Duty), CoDUO (Call of Duty: United Offensive), CoD2 (Call of Duty 2) and MoHAA (Medals of Honor: Allied Assault). And produce a small program in C# to act as a translator between those different format.
That’s why I’ve decided to try and decipher the different map format for the following games: vCoD (for “vanilla flavoured” Call of Duty), CoDUO (Call of Duty: United Offensive), CoD2 (Call of Duty 2) and MoHAA (Medals of Honor: Allied Assault). And produce a small program in C# to act as a translator between those different format.
Subscribe to:
Posts (Atom)