» » Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial
Навигация по сайту
Случайная игра

Вступай!!!
Облако тегов
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

If you are reading this then you have shown an interest in creating or porting levels for the Atari Jaguar.
A lot of people claim its hard to do and you'll need special programs to rip out the needed assets, but
as this simple tutorial will show you, that's just not the case.

I have already made some asset wads and these are available by e-mail only I'm afraid, seeing as the
assets are still (c) I will only send them to you if you can send proof that you actually own a copy of
Atari Jaguar Doom. If you want to pass them on or around to people afterwards then that's up to you.
As I see it, you can't steal what you already own. Or you can rip your own assets from the rom using
tools easily found on the internet and edit in the sprites from a doom wad using XWE.

First off you will need a few programs, I started with just a hex editor, a wad manipulation program and
a level builder. To make things slightly easier for you I have also found a file appender. Here are the
programs and stuff you will need.

GZDoom (nice Doom engine)
grafzahl.drdteam. org
Free download
You will need this

The Doom 2 wad file
You will need this

The atari Jaguar Doom rom
You will need this

010 Editor (the daddy of all hex editors)
sweetscape. com/010editor/
You can download the 30 day trial version for free.
You will need this

Doom Builder (Doom map editor)
doombuilder. com
Free download
You will need this

SLumpED (Doom wad manager)
slumped.mancubus . net
Free download
You will need this

File Append and Split Tool (split/rebuild files)
boxersoftware. com/file-append-split-tool.htm
Trial download
You will need this

XWE (Doom wad editor)
doomworld. com/xwe/
Free download
Only needed to make your own asset wads

Project Tempest (Atari Jaguar emulator)
pt.emuunlim. com
Free download
Only needed for testing, unless you have a Skunkboard

First off download GZDoom and copy all files into a folder on the desktop called “DOOM DATA” After
obtaining the Doom 2 wad, copy that into the DOOM DATA folder too. Download and install the trial
version of 010 Editor, download and install Doom Builder, download SLumpED and copy the files into
a desktop folder called "SLumpED". Download and install the trial version of File Append and Split
Tool
. You may also want Project tempest, the Atari Jaguar emulator for testing your hacked rom on
unless you have a skunkboard. Having done all that we are ready to begin.

Getting started

Having downloaded all the programs you need and making the necessary folders the next thing to do is set up Doom Builder.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Go into Tools / Game configurations
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Locate the DOOM DATA folder and add the ASSETS1.WAD, click OK, then repeat the process for
ASSETS2.WAD
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Select Doom, click Add resources
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Then select Doom 2 and repeat the process of selecting the same assets for Doom 2.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Go back into Tools / Game Configurations
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Select the Testing tab and browse for the gzdoom.exe in the DOOM DATA folder. Repeat this
process for both Doom and Doom 2. Doom Builder is set up and now ready to go.

It would be a good idea to get yourself familiar with Doom Builder, there are tutorials for it on Youtube
and also the Doom Builder web site. We will be using the Doom 2 level naming in our level hacking.
Make some test levels and get used to what key does what action.

Hacking fun!

First things first, lets get the wad file from the Atari Jaguar Doom rom.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Start 010 Editor. Use The File / open file menu and locate your Jaguar Doom rom, I put mine in the DOOM DATA folder, and load it in.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Using the side scroll bar, scroll down until you find this address, write it down 4:0000h, its the start of
the doom wad file. you can see it say IWAD over here.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Starting at 4:0000h do a left click and hold, move the mouse down to the bottom of the screen, after a
bit it will come to the end of the file, release button. You have now selected the whole Jaguar Doom
wad. Make a note of the numbers, they should be the same as here, if not try again.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Right click the blue highlighted area, and this menu will appear. Click on copy.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Click on the down arrow underneath Edit, and select New Hex File.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

See we have an empty Untitled1 file waiting for us. Do a right click and select Paste.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

After scrolling up you can see we did indeed capture what we were after, there is the IWAD there.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Go the the file menu, and down to Save As...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Save it as JAGDOOM.WAD into the DOOM DATA folder.

O.K. First lesson completed. You can now quit the program, this file we have saved is the actual wad
file that contains all the data that the Jaguar Doom uses. It's not compatable with any P.C. wad editors
so don't bother trying, next lesson coming soon.

Mapping quirks - making your own maps

Don't copy the steps it's just an information lesson.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

OK, start up Doom Builder, go to File, click on New Map
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Select Doom 2 for Game Configuration, and name the level MAP01. Then click OK.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

We are now ready to start making our own map.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Here is a very simple box room, with a start point, and teleporter finish, but I'm going to be cheeky and
add a Doom 2 enemy sprite, lets try adding a Mancubus.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Hmmm, that don't look right. All I see is a big question mark. Lets click OK anyway.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Hmmm, an empty box. What does that mean? All it means is the sprite is not supported in the wad file.
If you are using the ASSET wads you will see this . As we are trying to make Jaguar Doom compatible
wad files, we can only have what's in the game originally. That means enemies, objects, floors and
walls. So when we are making our own levels from scratch. If it has a quesion mark, or an empty
coloured box we can't use it.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

OK, now i have changed the Mancubus to a demon, that works! Now I'm going to add a few more
things then I will test the map.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

That looks a bit better, now to test our map, click on the arrow in the top right.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

What an awesome looking map, I set up GZDOOM to use windowed mode. I love the map, now I want
to save it. So exit the game, back to Doom Builder.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Click on File and then Save Map As...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Lets call it MAP01.WAD, click on save and we're done.

Ok so this lesson, we have created a simple (Jaguar Compatible) map and saved it.
Next lesson, we are gonna port a Doom 2 map and make it Jaguar Compatible.

Mapping quirks - porting maps

Don't copy the steps it's just an information lesson
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Start Doom Builder, go to the File Menu, Open Map...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Select the Doom2.wad, click open
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Select MAP01 from the Doom2 wad and click OK
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

OK map has loaded in, lets have a 3D look at the map.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Hang on a minute, this map is using the Doom 2 assets. Hmmm, I know what we have to do now. We
have to disassociate the map from the Doom 2 assets. But how do we do that I hear you ask... easy!
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Go back to the File menu, Select Save Map Into...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Remember, this is just an information lesson. Lets save the map into a wad file called MAP01.WAD. Its the first map so why not
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Having saved the map, lets have another look at it. Bloody Hell, whats happened here? What are all
these question marks everywhere. Well those are things that don't appear in Jaguar Doom. Now we
can just replace them with compatible stuff. If it has a question mark or an empty coloured box it's not
compatible. The same goes for transparent textures (grills/gates) and certain linedefs and sector
effects. Have a look at the text files.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Now that looks better. Not as hard as you thought now was it? Well there is a bit more to it than that.
You may have to simplify some areas to make them work on the Jaguar. Quite a lot of it is trial and
error. I'm still finding out new things all the time. Have a play with Doom Builder and replacing stuff to
make it Jaguar compatible. Next lesson, I will take the compatible version of this map and hack it into
the Jaguar rom.. I bet you can't wait.





The big hack

Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

So here it is the Jaguar compatible version of MAP01 from Doom 2. I've saved it into the DOOM DATA folder and will now use other programs to start the "injection" process.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Start SLumpEd, go to the File menu, click on open.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Locate the DOOM DATA folder and select MAP01.WAD, click Open.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

This shows us a quick outline of the map, and the 10 important files we need and their respective sizes, we can forget the MAP01 entry it is of no use. Even in this day and age of computers we still need pen and paper. I normally use that to write down the info but for ease of use I will use M$ Excel for a screenshot. But you should get the general idea.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Here we go, I use this sort of arrangement every time I do a map. As you can see we have a row for each file and three columns. Size, self explanatory. Padding, this is used to write down how much padding the file will need. Lastly we have start address, this will point to a location within the Atari jaguar Doom wad file. Because this will be the first map I already know the start address. When adding more maps the start address for the first file of the next map will be this number here (i know its empty now... but wait a bit)
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

We will now save out all the files from the wad. Highlight the 10 needed files, go to Lump and then Export.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Locate the DOOM DATA folder, and while we are there, create a new folder. Lets call it MAP01, click
on the newly created folder, and we should now be in DOOM DATA / MAP01
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Save all 10 files, the save dialogue should change 10 times, just keep clicking save
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

The program should return back to this screen, its job has been done. We can quit the program.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Start up 010 Editor, go to the File menu, click on open File...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Find the MAP01 folder inside the DOOM DATA folder, open it and select all files, Click open.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

We now have all 10 files loading into 010 Editor, lets check to see if the files need padding. The Jaguar reads files 4 bytes at a time, any file that does not have a 4 byte boundary needs padding until it does. We pad out the files with 00 in hex, and make a note on our grid how much padding we used for each file. I checked all the files and only 4 need padding (BLOCKMAP,SECTORS,SIDEDEFS and THINGS). Lets pad those files now.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

OK, I have closed the tabs for the files that do not need padding. Looking at the end of the first file BLOCKMAP we can see we are indeed 2 bytes short of the 4 bytes boundary. I will add a couple of null bytes (00 in hex)
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

BLOCKMAP is now padded, the added bytes are highlighted in orange. So +2 bytes are written in the grid for blockmap.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

SECTORS is now padded, the added bytes are highlighted in orange. So +2 bytes are written in the grid for sectors.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

SIDEDEFS is now padded, the added bytes are highlighted in orange. So +2 bytes are written in the grid for sidedefs.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

THINGS is now padded, the added bytes are highlighted in orange. So +2 bytes are written in the grid
for things. Also notice the asterisk next to each file name. It means the file has been modified but not
saved. To save the file click on the disk icon. The asterisk will disappear, click on the tabs for each file,
then on the disk icon. when done exit the program.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

There we go, the padding values have been transfered over onto our grid. Time to get the calculator out and fill up the grid. There is a calculator in 010 Editor, but i prefer to do it this way, although we will be using its decimal to hex converter a bit later on. The way to fill out the grid is like this. SIZE + PADDING + START ADDRESS, the total is written in the start address for the next file. Then you carry on until the final total is written in the START ADDRESS box on its own.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Here is the completed grid, and that I'm afraid is the end of todays lesson, the next lesson will be up in a day or so and will see us doing some cheesy hacking 8-).

The big hack continued

Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Start up F.A.S.T (File Append and Split Tool), and click on the add icon.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Locate the DOOM DATA folder, then open the MAP01 folder. Select all 10 files inside, click Open
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

You should see something like this. Now we need to re-arrange the files so they are in the correct order. The order is very important, is should be from top to bottom. THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SEGS, SSECTORS, NODES, SECTORS, REJECT and finally BLOCKMAP. To change the order of files, just select them and use the Move Up or Move down arrows to change its position.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

All files have now been moved into their correct position. Now click on the Append icon.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Click on Browse...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Make sure we are back in the MAP01 folder, we are going to call our joined up files MAP01 JOINED,
now click on Save.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

You will see this screen, just click on Append.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

The output file has been successfully created. Excellent, click OK, and then quit program. What we have just done is joined all our files back together after they have been padded, so we now have a file that can easily be injected into the Atari Jaguar wad file. I used to do it all with the hex editor, but after finding this program it saves me about 20 minutes for each map.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

OK start up 010 Editor, click on File menu, and then Open File...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Locate the JAGDOOM.WAD file in the DOOM DATA folder, click on Open.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Excellent, now the hacking can begin. First of all, make sure we are operating in big endian mode. Click the icon, and make sure Big Endian is ticked. Next we need to find the start of where our map data file should go. So scroll down until you come to 16:9990h, then go across to the start of column C.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Great we are finally here, make sure the flashing marker is at this address. It should read 1481116 in the Pos: at the bottom.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Now is the time to inject our new map data, Go to Edit, down to Insert/Overwrite and then click on Overwrite File...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Locate the DOOM DATA folder, open the MAP01 folder and select the MAP01 JOINED file, click Open.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

We have just injected the new data into the wad file, now what we need to do is edit the wad files table of contents to point to the new data. Scroll down to address 31:C870h.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Here we are, although the writing is overlapping the line you should be able to see where is says MAP01. Before we do anything else, lets save the file, so click on the disk icon. This helps as any changes made will be highlighted in orange so we know what we have done. Lets take a closer look at the table of contents for the map data.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

We can clearly make out the MAP01 entry, but what about the others. Yes they are all there too, but they look wrong, the first letter of the map entries is different. The way it works is like this, some files in the Jaguar wad file are compressed to save space, the only way that the game engine knows that a file is compressed is by looking at the first character of the entry name in the table of contents. If a file is compressed it will have 80h added to the hex value of the first character. So THINGS becomes ÔHINGS because it is compressed, LINEDEFS becomes ÌINEDEFS and so on. What we are going to do is cheat. We will be using uncompressed files, because its the easiest thing to do. If you want to use compressed files then I can show you in a later tutorial. But for now we are cheating by using uncompressed files. They will take up more space but to be honest, I bet you didn't think you'd be doing this.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

So lets start changing the entry names back, so they loose the special first character. Highlight the first character under the M in MAP. Make sure caps lock is on, now press T.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

We have changed it back so it says THINGS, and the change we have made is highlighted. Now do the same, change the first character of the rest of MAP01 entries, so they say LINEDEFS, SIDEDEFS, VERTEXES, SEGS, SSECTORS, NODES, SECTORS, REJECT and BLOCKMAP.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

There we go, all done. Time for a well earnt cup of tea! Next we are going to change the file start addresses.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

These are the file start addresses for MAP01, as you can see some of them are the same, 16999C at the top has 2 entries, 1 is for the MAP01, which is a zero bytes placement holder, and THINGS, which is the actual start of the data. The one at the bottom 16F6E8, is the start address for the placement holder for MAP02 and the THINGS data file for MAP02, but we will be overwriting them, when we use the numbers we already have in our grid that we filled out earlier on. So lets change some numbers.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Click this icon to bring up the base converter, which we will use to convert numbers from decimal to hex. So lets start inputting those numbers from the grid, seeing as don't have to change the entry for THINGS we will start with LINE.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

OK so 1481808 (the start address for the LINEDEFS) = 169C50 in hex, lets put that in
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Thats interesting, only the 2 digits need changing, so highlight the digits like this (blue), and type in 50, so we change the value from 169C30 to 169C50. Its best when changing values to do them one value at a time, do not select the whole number, i.e. 169C30 and try to change it, if something goes wrong then click on the undo arrow at the top to undo the last change. I will continue to change the values over.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

There we go, all the start addresses have been changed. If you remember from the grid, we had a start address box on its own at the bottom, the value in that goes into these 2 places. Which are the start addresses for the MAP02 files. So if you wanted to do another map this number would be the start address for THINGS in MAP02's grid, and you would carry on from there. OK now lets change all the file sizes to the correct size so they match the grid we made.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

These are the values that will need changing for the sizes of the files. The first one 038E, needs to be changed to 2B2, or to put it correctly 02B2, as that is the size of the new THINGS file that is written in our grid. So go ahead and change them over to the new values.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

There we go, all done, so we have changed the names of the files to match their uncompressed status (first character changed), changed the start addresses, and finally changed the file sizes so everything matches what's in our grid. So what do we do next. Close the Base Converter, and click on the disk icon to save all our changes. Then click on the closer for the JAGDOOM.WAD. We are now only a few steps away from finishing... I bet you are excited!
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Locate the original Doom - Evil Unleashed.jag rom file in the DOOM DATA folder and load it in. Scroll down to 4:0000h. Make sure Pos: is reading [40000h]. Go to Edit, down to Insert/Overwrite and then click on Overwrite File...
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

Locate the JAGDOOM.WAD in the DOOM DATA folder, select it and click on open.
Изменение уровней в Doom для Atari Jaguar / Doom Level Hacking Tutorial

It's done the job, now go to File menu and click on Save As... Give it a new name, I'm using DOOM - NEW MAP.JAG click on Save and quit the program, our hacking job is done. Load up the new rom into Project Tempest and give it a go. But first a word of warning, because we cheated by using uncompressed files they would have overwritten data for other maps too, if you finish the first map it will try to load the second map, but it will not be able to find the data for it and crash the game, the game may also crash when it tries to load demos in. I managed to cram 14 new maps into the rom doing the Doom 2 stuff before I ran out of space. But there are winners and losers in everything. This is only a
cheesy hack to show you it's possible and not beyond the scope of everyone to do what I'm doing. In the not too distant future there will be a utility you can use that will be able to fix all these problems, it won't be a 1 click solution, but it won't be as many clicks as this tutorial was 8-). Now... questions please.



Вернуться
  • Комментарий: 1
  • Просмотров: 222109
Doom 3D
#1
  • 26 августа 2013 17:18
  • Регистрация: --
  • ICQ: {icq}
  • Комментариев: 0
  • Новостей: 0
Отличный материал! +100 всегда не хватает статей по хакингу и модификации игр для старых консолей. А тут ещё и такой игры как Doom. Полагаю, что написанное в данной статье можно применить не только к Doom для Atari Jaguar но, и так же для Doom для PlayStation или даже для Quake 2 для PSX. Было бы хорошо сделать новые уровни для диадматча в кваку на зыч.

Комментарии:

Оставить комментарий