Dungeon Doors Project

View previous topic View next topic Go down

Dungeon Doors Project

Post by SunGodPortal on Fri 16 Dec 2016 - 5:21

Call me crazy, but sometimes I'd just prefer to add my doors in with a hex editor. Too many of the doors look the same in Hyrule Magic while in a hex editor you can see them for what they really are and understand exactly how they are to function without any need for experimentation/trial and error.

Each door is 2 bytes. Byte 1 is the position, byte 2 is the type. They can be found at the end of each room's object data, preceded by F0 FF and followed by FF FF.

Here's the doors (where applicable) for rooms 0-255 and 256-295:
0-255:
Room 001 : 32 46, 93 46
Room 002 : A1 44, A0 40, A1 16
Room 003 : 61 0E
Room 004 : 00 22, 60 28, 82 28, 80 36, 61 00
Room 006 : 61 18
Room 008 : B2 48, 81 0E, 91 40, 91 16

Room 010 : 10 20
Room 011 : 60 36, 82 38, 62 1C
Room 012 : 71 0A
Room 013 : 61 18
Room 014 : 60 22, 82 18, 81 0A
Room 016 : 61 0A, 82 00
Room 017 : 62 28, 82 28, 81 1C
Room 018 : 40 02, 40 16, A1 02, A1 12
Room 019 : 83 1C, 63 00

Room 020 : 81 1C, 22 1C, 00 00, 02 00, 61 00, 63 00, 83 00
Room 021 : 22 18, 02 00
Room 022 : 70 2E, 60 1C, 80 00, 00 00
Room 024 : 30 02, 30 16
Room 025 : 73 2E, 63 1C
Room 026 : 80 1C, 02 1C, 12 2E, 61 1C, 62 00, 81 00
Room 027 : 60 36, 61 00
Room 028 : 80 36, 82 18, 60 28
Room 029 : 00 1E

Room 030 : 83 18, 82 18, 80 36, 81 00
Room 031 : 22 18, 82 38
Room 032 : 61 18
Room 033 : 20 1C, 70 00, 83 00
Room 034 : 71 1C, 22 00
Room 035 : 81 2A, 83 00
Room 036 : 20 1E, 62 38, 60 38, 80 38, 81 0A, 00 00, 22 00, 82 00
Room 038 : 71 1C, 60 36, 80 36, 62 00

Room 040 : 00 22, 71 0A
Room 042 : 20 18, 00 1C, 83 2E, A3 02, 61 00, 81 00
Room 043 : 82 2E, 22 2E, 00 18, 42 02
Room 044 : 60 2E, 80 2E, 82 2E, 81 2E, 61 0E
Room 046 : 20 00
Room 047 : 60 2E, 81 0E
Room 048 : 00 32, 60 38
Room 049 : 60 1E, 82 36

Room 050 : 10 1C
Room 051 : 61 18
Room 052 : 63 00, 83 00
Room 053 : 63 1C, 02 00, 22 00, 80 00, 83 00, A0 02
Room 054 : 63 2E, 10 1C, 02 1C, 22 00, 83 00, A1 02
Room 055 : 02 2E, 63 2E, 60 1C, 83 1C, 22 00, A0 02
Room 056 : 02 2E, 22 1C
Room 057 : 61 18, 82 1C
Room 058 : 71 1C, 00 00, 20 00
Room 059 : 61 00

Room 060 : 20 2E, 81 0E
Room 061 : 80 36, 62 1C, 61 1C, 60 2E
Room 062 : 80 18, 61 1C
Room 063 : 82 18
Room 064 : B2 40
Room 065 : 71 18
Room 067 : 00 1E, 80 1C, 81 1C
Room 068 : 62 38, 82 1C, 63 00, 83 00
Room 069 : 02 18, 60 00, 22 00, 82 00

Room 070 : 40 02, 90 02, B0 02
Room 073 : 00 32, 62 36, 61 1C, 82 00
Room 074 : 60 18, 80 18, 10 1C, 70 00, 71 0A
Room 075 : 00 18, 60 28, 80 28
Room 076 : 83 18
Room 077 : 00 1C, 22 00
Room 078 : 62 18, 00 1C
Room 079 : 22 1C

Room 080 : 93 46, B1 40
Room 081 : 10 00, 10 14
Room 082 : 32 46, 91 40, 71 00
Room 083 : 60 36, 82 38, 20 1C
Room 085 : 90 02, 61 00, 61 12
Room 086 : 60 1C, 61 0A, 82 00, 83 00
Room 087 : 62 2E, 60 36, 83 1C, 61 0A, 22 00, 81 00
Room 088 : 00 30, 22 1C, 81 1C, 62 2E, 61 0A, 82 00
Room 089 : 00 1C, 61 0A, 92 40, B2 40

Room 090 : 81 18
Room 091 : 81 1C, 63 18
Room 092 : 80 2E, 02 00
Room 093 : 60 18, 61 18, 62 18
Room 094 : 83 1C, 80 38, 81 00, 82 00
Room 095 : 22 1C
Room 096 : 50 40, A3 40, A3 16, 63 00, 81 00, 81 12
Room 097 : 42 02, 42 16, A3 02, A3 16, A1 02, A1 12, 02 00
Room 098 : 42 40, 42 16, 30 40, 10 00, 61 00, 61 12
Room 099 : 20 60, 36 61, 0A

Room 100 : 82 38
Room 101 : 82 00
Room 102 : B0 08, 91 40, 91 16, 90 40
Room 103 : 20 00, 82 00, 83 00
Room 104 : 22 18, 20 1C
Room 106 : 20 1E
Room 107 : 20 1E, 80 36, 82 18, 60 18
Room 108 : 82 38, 60 18, 83 00
Room 109 : 00 18, 60 18, 22 18

Room 110 : 20 18
Room 113 : 60 1C, 91 44, B2 44
Room 114 : 70 1C
Room 115 : 60 36, 82 38, 80 00
Room 116 : 80 00, 60 00
Room 117 : 60 38, 81 00
Room 118 : 92 02, B2 02, 30 02, 30 16
Room 119 : 30 26, A1 0C

Room 123 : 61 18, 63 1C, 83 00
Room 124 : 20 30, 83 2E, 02 1C, 22 00
Room 125 : 81 18, 22 2E, 60 1C
Room 126 : 81 1C, 82 36, 63 00
Room 127 : 02 18, 60 00
Room 129 : 30 40

Room 131 : 60 36, 61 0A, 82 00
Room 132 : 71 0A
Room 134 : 20 18, 62 1C, 81 0A, 82 00
Room 135 : 62 38, 80 00
Room 139 : 62 36, 82 1C, 63 00, 61 00, 00 00

Room 140 : 63 18, 60 38, 62 1C, 02 00, 61 00, 81 00
Room 141 : 81 18, 62 1C, 02 00, 20 00, 82 00
Room 142 : 20 1C
Room 144 : 61 18
Room 145 : 83 00
Room 146 : 62 2E, 60 2E, 22 00, 82 00, 83 00
Room 147 : 60 38, 80 1C, 22 00
Room 149 : 81 00, 63 00

Room 150 : 82 38, 02 00
Room 151 : 82 00, 60 00
Room 152 : 61 0A
Room 153 : 60 20, 71 1C, 80 00
Room 155 : 62 1C, 00 00, 83 00
Room 156 : 83 18, 00 00, 20 00, 22 00
Room 157 : 20 00, 22 00, 62 00
Room 158 : 20 22, 80 1E, 82 00, 83 00
Room 159 : 22 18, 61 18

Room 160 : 00 1E
Room 161 : 81 1C, 73 00
Room 162 : 71 1C, 12 00, 73 00, 81 00
Room 163 : 12 00, 61 00
Room 164 : 61 18
Room 165 : 20 18, 80 38, 60 38
Room 168 : 82 38, 60 36, 81 1C, 92 40, 93 40, 73 00
Room 169 : 12 18, 73 18, 10 1E, 32 40, 93 40, 71 00

Room 170 : 80 38, 32 40, 62 00, 82 00, 12 00, 61 00
Room 171 : 60 20, 61 00
Room 172 : 81 18
Room 174 : 63 00
Room 175 : 00 00, 02 00
Room 176 : 60 18, 62 18, 82 1C
Room 177 : 60 1E, 20 1C, 81 00, 82 00
Room 178 : 10 1E, 82 38, 80 36, 93 40, 20 00, 61 00, 81 00, 83 00
Room 179 : 60 1C, 32 40, 00 00, 22 00, 61 00

Room 180 : 00 1E
Room 181 : 61 18
Room 182 : 00 22, 80 36, 61 1C, 60 1C, 81 00
Room 183 : 61 00
Room 184 : 20 1E, 63 00
Room 185 : 63 1C, 10 00, 71 00, 02 00
Room 186 : 02 1C, 00 18, 62 38
Room 187 : 00 00, 62 00, 82 00, 80 00, 63 00, 83 00
Room 188 : 82 1C, 81 1C, 62 18, 61 2E, 02 00, 22 00, 60 00, 20 00

Room 190 : 81 18, 83 1C, 80 00
Room 191 : 22 1C
Room 192 : 62 36, 82 38, 20 20
Room 193 : 82 1C, 83 1C, 62 36, 60 36, 61 00, 63 00, 20 00, 81 00
Room 194 : 63 1C, 22 1C, 00 00, 02 00, 73 00, 81 00, 83 00, 20 00
Room 195 : 02 1C, 62 38, 72 38, 82 36, 00 00, 12 00, 22 00
Room 196 : 83 1C
Room 197 : 22 1C, 00 00, 61 00
Room 198 : 00 1C, 20 00, 63 00, 83 00, 61 00, 81 00
Room 199 : 00 18, 02 00, 22 00

Room 200 : 81 18
Room 201 : 70 18, 10 18, 60 00, 80 00, 71 0A
Room 203 : 73 28
Room 204 : 20 1E, 00 2E, 12 28
Room 206 : 20 18
Room 208 : 82 1C, 62 38
Room 209 : 82 38, 00 00, 20 00, 80 00

Room 210 : 20 18
Room 213 : 61 2A, 00 00
Room 215 : 00 1A, 81 0A, 20 00
Room 216 : 20 18, 80 36, 83 00
Room 217 : 22 18, 82 18, 83 18
Room 218 : 22 18
Room 219 : 73 18, 71 0A

Room 220 : 12 00
Room 223 : 71 0E
Room 224 : 62 38, 60 38, 20 20, 61 0A
Room 225 : A2 40, 61 0E
Room 226 : 72 00, 81 0E
Room 227 : B2 4A, B0 40, 61 0E
Room 228 : 91 10, 62 00, 73 00
Room 229 : 12 00, 71 0E

Room 230 : 91 10, 93 02
Room 231 : B1 10, 32 02
Room 232 : 81 0E
Room 233 :
Room 234 : 61 0E
Room 235 : 81 0E
Room 236 :
Room 237 : 81 0E
Room 238 : 81 0E
Room 239 : 80 38, 71 0E

Room 240 : 61 0E, A3 02
Room 241 : B1 10, 42 02
Room 242 : 83 00, 81 00, 81 12
Room 243 : 22 00, 61 00, 61 12
Room 244 : 83 28, 81 00, 81 12
Room 245 : 22 28, 61 00, 61 12
Room 248 : 71 0E
Room 249 : 61 0E

Room 250 : 91 04
Room 251 : 71 0E
Room 253 : A1 10
Room 254 : B1 10
Room 255 : 60 2E, 80 2E, 81 0E

----------------------------------------------------

Room 256 : 61 00, 61 12
Room 257 : 61 00, 61 12, 81 00, 81 12
Room 258 : 61 00, 61 12
Room 259 : 00 00, 00 12, 61 00, 61 12, 81 00, 81 12

Room 260 : 81 00, 81 12
Room 261 : 60 28, 61 00, 61 12
Room 262 : 81 2E, 81 12, 61 00, 61 12
Room 263 : 81 2E, 81 12, 61 00, 61 12
Room 264 : 82 2E, 61 00, 61 12
Room 265 : 61 00, 61 12,
Room 266 : 80 2E, 91 10, 62 00
Room 267 : 71 00, 71 12, 70 00
Room 268 : 60 36, 61 0E, 81 0E
Room 269 : 61 00, 61 12,

Room 270 : 91 10, B1 10
Room 271 : 61 00, 61 12
Room 272 : 61 00, 61 12
Room 273 : 61 00, 61 12
Room 274 : 61 0E, 81 0E
Room 275 : 61 00, 61 12
Room 276 : 80 2E, 61 0E, 81 0E
Room 277 : 62 2E, 81 0E, 61 0E
Room 278 : 81 0A
Room 279 : 81 0E

Room 280 : 81 00, 81 12
Room 281 : 71 00, 71 12
Room 282 : 80 28, 81 00, 81 12
Room 283 : 80 2E, 91 04, 81 0E
Room 284 : 61 00, 61 12, 81 00, 81 12
Room 285 : 70 2E
Room 286 : 80 2E, 81 0E, 61 0E
Room 287 : 61 00, 61 12, 81 00, 81 12
Room 288 : 80 2E, 61 0E, 81 0E, 60 00, 62 00
Room 289 : 61 00, 61 12

Room 290 : 61 00, 61 12, 81 00, 81 12
Room 291 : 60 36, 61 0E
Room 292 : 61 0E, 81 0E
Room 293 : 61 0E, 81 0E
Room 294 : 61 0E, 81 0E
Room 295 : 61 0E ,81 0E

Door positions and their corresponding hex values:


Door type values:
00 : normal door
02 : normal door in lower area
04 : for exit/entrance door in lower area
08 : transition through waterfall door in lower area
0A : dungeon entrance/exit
0C : dungeon entrance/exit for lower area
0E : cave entrance/exit
10 : cave entrance/exit for lower area
12 : entrance/exit that looks like normal dungeon door
14 : transition from Hyrule Castle dungeon to Sanctuary dungeon?
16 : trap door in lower area (that closes behind you?)
18 : normal trap door
1A : don't know, only appears in the data for room 215 (room twin?)
1C : key door
1E : big key door
20 : key door in front of staircase
22 : key door in front of staircase, difference between this and 20?
26 : key door in front of staircase in lower area
28 : bombable wall that can be rammed through with boots?
2A : bombable wall that turns into entrance/exit
2E : bombable wall that cannot be broken with boots?
30 : wall that explodes when switch is pulled
32 : door hidden behind curtains/vines
36 : trap door that opens with pushable block, enemy killed, etc.
38 : normal trap door (that closes behind you?)
40 : normal door in lower area, difference between this and 02?
44 : trap door in lower area that opens with pushable block, enemy killed, etc.
46 : door in lower area that leads to non-adjacent room in "global dungeon grid"
48 : cave entrance/exit on BG1, only used in room 8
4A : trap door that closes behind you in lower area, only used in room 227

*Updated at 5:15 AM, December 18th*


Last edited by SunGodPortal on Sun 18 Dec 2016 - 6:22; edited 8 times in total
avatar
SunGodPortal
                             
                             

Since : 2015-01-26

Back to top Go down

Re: Dungeon Doors Project

Post by Puzzledude on Fri 16 Dec 2016 - 6:57

I'm not sure where you have problems, as editing this really hasn't prooven to have any major bugs or major problems if you do it right with the editor and test it later on in the game itself.

It is follwed by FF FF because this is the end of a room layer, it also is after FF FF since that is the end of the layer2. It is "last" since doors are usually always put to bg3. Imagine editing doors which have to be put to bg2 or bg1, imagine editing doors when an entire section of actual room elements is also on bg3 - then the door will be somewhere in between the other elements on bg3 in the hex code.

There are multiple door types which look the same. I can not suggest for you to edit doors via hex as you are basically limited to the amount of doors already in the room, but nice that you have the motivation of doing it so far.

Puzzledude
   
   

Since : 2012-06-20

Back to top Go down

Re: Dungeon Doors Project

Post by qwertymodo on Fri 16 Dec 2016 - 12:12

Trap doors (i.e.type... 12, I think?) must be within the first 4, or possibly 5 data slots, otherwise they will cause the bug seen often in PW where you walk through it in the closed animation state, then it quickly opens and closes once you're through it. I'm not sure if the same rule applies to any other door types.
avatar
qwertymodo
                   
                   

Since : 2014-10-21

Back to top Go down

Re: Dungeon Doors Project

Post by SunGodPortal on Fri 16 Dec 2016 - 14:56

qwertymodo wrote:Trap doors (i.e.type... 12, I think?) must be within the first 4, or possibly 5 data slots, otherwise they will cause the bug seen often in PW where you walk through it in the closed animation state, then it quickly opens and closes once you're through it. I'm not sure if the same rule applies to any other door types.

K. Thanks. I'll keep that in mind. These are the sort of details that I def want in this thread.

Anyway, I'm updating my list to include the rest of the rooms in the original game, have included a short list of the isolated door numbers that are actually used and for the time being I am renaming the 2nd byte to the "attribute byte". My next goal will be to study and label the door types themselves.
avatar
SunGodPortal
                             
                             

Since : 2015-01-26

Back to top Go down

Re: Dungeon Doors Project

Post by superskuj on Fri 16 Dec 2016 - 15:14

To save you some time: http://alttp.run/hacking/index.php?title=Underworld#Object_Data
See "Type 2 Object Structure:"

superskuj
Rank: Cucumber
Rank: Cucumber

Since : 2015-07-07

Back to top Go down

Re: Dungeon Doors Project

Post by SunGodPortal on Fri 16 Dec 2016 - 15:25

Puzzledude wrote:I'm not sure where you have problems, as editing this really hasn't prooven to have any major bugs or major problems if you do it right with the editor and test it later on in the game itself.

I find it annoying because it requires the number pad and my laptop does not have one. The doors have minimal labeling so I find it confusing. Some of the doors also should not be accessible in the editor because they are bugged (the case with some of the walls that you bomb). That is probably the same situation as with the sprites where Sephiroth3 gave people access to something that was either mislabeled, misinterpreted or simply incomplete.

Puzzledude wrote:It is follwed by FF FF because this is the end of a room layer, it also is after FF FF since that is the end of the layer2. It is "last" since doors are usually always put to bg3. Imagine editing doors which have to be put to bg2 or bg1, imagine editing doors when an entire section of actual room elements is also on bg3 - then the door will be somewhere in between the other elements on bg3 in the hex code.

Noted. Thanks. I'll do some more research on this aspect and update the OP as needed when the time comes/when more detailed information is available.

EDIT: Coming back to this...

From what I can tell there is no need to keep a door of for example, BG1 with the BG1 objects. Hyrule Magic might allow this, but I'm not yet convinced that this is the way the original game actually did it (or that such a door would even work, it might though). The game appears to determine which layer it corresponds to by door type. For example, I think some of the higher door values such as 9x, Ax, Bx are for transitions in or out of BG2 areas.

Puzzledude wrote:There are multiple door types which look the same. I can not suggest for you to edit doors via hex as you are basically limited to the amount of doors already in the room, but nice that you have the motivation of doing it so far.

EDIT: I did an experiment earlier. It appears to only be a matter of whether there is space in the ROM.

Anyway, part of the reason why I'm doing this is because up to this point I have intentionally tried to stay within the limits of what Hyrule Magic can do and what I can do with the documentation and resources provided by others. Having unlimited options causes my brain to shut down. Therefore, it was necessary for me to box myself in at first. Now the box is off and being inspired by the work of some of my friends at baddesthacks.net (mainly the work of Dr. Floppy, Rotwang and MasterGwonam) and of course Seph, I have decided to dig deeper than ever before.

superskuj wrote:To save you some time: http://alttp.run/hacking/index.php?title=Underworld#Object_Data
See "Type 2 Object Structure:"

Awesome. Thanks. I'll review this information and adjust accordingly.
avatar
SunGodPortal
                             
                             

Since : 2015-01-26

Back to top Go down

Re: Dungeon Doors Project

Post by SunGodPortal on Sat 17 Dec 2016 - 0:43

I updated the OP to include a diagram of the door positions and their values in ROM. I also corrected a mistake concerning the format.
avatar
SunGodPortal
                             
                             

Since : 2015-01-26

Back to top Go down

Re: Dungeon Doors Project

Post by SunGodPortal on Sat 17 Dec 2016 - 3:46

OP updated once again. I added the values for the door types with descriptions. I guess that's it. All that's left is whatever corrections and refinements are necessary.

EDIT: I forgot to mention that for doors like the one in Link's house you must do as you do in HM where you place two different door types on one position. Of course, that's part of the reason why I provided the data for the stock door configurations, so people could study how things work without having to waste time searching through the ROM in case I forget something important.

The information provided should be more than enough but I'll see what else I can add to this tomorrow. When I feel that this is truly finished I'll move it over to the docs section.
avatar
SunGodPortal
                             
                             

Since : 2015-01-26

Back to top Go down

Re: Dungeon Doors Project

Post by SunGodPortal on Sun 18 Dec 2016 - 6:18

I updated my diagram to include the hex values so that it no longer requires additional lists.

I'd like to do a little more testing on the door types before I consider myself done but I'll probably work on some other stuff before I get to that. After spending so much time in a hex editor and word processor I'm ready for some dungeon work.
avatar
SunGodPortal
                             
                             

Since : 2015-01-26

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum