News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Doom SNES Level Data  (Read 2030 times)

TheLoneSurvivor

  • Jr. Member
  • **
  • Posts: 12
  • back from the dead
    • View Profile
Doom SNES Level Data
« on: October 11, 2015, 03:59:04 pm »
Welcome to the inescapable depths of hell (Doom SNES ROM Hacking)

Today, I will share my knowledge on the level structure of Doom SNES.

E1M1 will be used only.

I am going to answer some questions before you ask them, because I don't want this post exploding with questions.

Q: Is the level data the same or similar as the PC version?
A: Yes. Very similar.

Q: What data is leftover from the PC version (data equivalant to lumps from DOOM.WAD)?
A: There is: VERTEXES, THINGS, SECTORS, SUBSECTORS, LINEDEFS, SIDEDEFS. (I think NODES is there too) Remember, the SNES port does not have an IWAD, as such this data is in the rom itself, but those are the lumps that have equivalant data in the Doom SNES port. No REJECT and BLOCKMAP.

Q: How are textures dealt with?
A: For wall textures, it uses pointers to the tiles for that texture (they turned the textures into tiles, for obvious reasons), I think the floor and ceiling use a colour index.

Q: What are the differences?
A: Well, THINGS has a smaller structure, the vertices are different due to no transparent mid-textures, the texture system is different (read above this one for details on that) but generally similar. You will have to have a good eye however, as the differences need close observances and analyzing.

Ok, lets go.

Vertices:
start: 18BB38
end: 18C1C8

Things:

start: 1BEBC0
end: ???

I am still figuring out what data is where, so this is all there is for now.
Will be updated when I discover the data.
Doom SNES Hacker.

FAST6191

  • Hero Member
  • *****
  • Posts: 2576
    • View Profile
Re: Doom SNES Level Data
« Reply #1 on: October 11, 2015, 04:11:44 pm »
I had a look at some of the GBA Doom ports a while back (various tools are available for the curious -- http://filetrip.net/gba-downloads/tools-utilities/download-gba-doom-hacking-tools-1-0-f32118.html ) but the only time I even considered the SNES was as part of a discussion of the xband a while back ( http://www.romhacking.net/forum/index.php/topic,17922.0.html ). Ordinarily I am very much of the do what interests you persuasion but the notion of hacking doom when it is ported everywhere else could make it an exception.

With that said do carry on. We do not have many examples of level hacking, much less 3d based on the SNES, to point people at when they are curious.

Fellowzdoomer

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Re: Doom SNES Level Data
« Reply #2 on: October 12, 2015, 11:28:53 am »
Keep up the good work, iI could make A dos utility when this is all done. :-) I'llhhelp you out as much as I can.

Edit: hmm...at offset 0x1BEBC0, I kind of deciphered it a little

1BEBC0 - 1BEBC2 (hex: 4c52) - I'm assuming this is the player start. Changing any one of these values freezes the game after pressing start at the title screen.
1BEBC3 (hex: EF) - I'm going to assume that this is where the player starts. I haven't played around with this too much, but changing this to either "DF" of "FF" starts the player before the Zig Zag nukage point, and turning is kind of weird. You can turn towards the zig zag room itself, but then it switches back to where you were looking before. Its hard to explain.

Each THINGS entry is 10 bytes in size, aaccording to the Doom Wiki. If that's the same deal here, then I THINK I can decipher each iindividual actor in the game. I'll muck around some more with this.
« Last Edit: October 12, 2015, 11:49:47 am by Fellowzdoomer »

mopoz

  • Jr. Member
  • **
  • Posts: 68
  • Russia, Vodka and Bears
    • View Profile
Re: Doom SNES Level Data
« Reply #3 on: October 16, 2015, 01:15:17 pm »
Code: [Select]
$5F/FAF2 22 2E 31 5F JSL $5F312E[$5F:312E]   load map


$5F/312E AD D1 06    LDA $06D1  [$3F:06D1]   map number
$5F/3131 48          PHA                     A:0000 X:2806 Y:0001 P:envmxdIZc
$5F/3132 0A          ASL A                   A:0000 X:2806 Y:0001 P:envmxdIZc
$5F/3133 AA          TAX                     A:0000 X:2806 Y:0001 P:envmxdIZc
$5F/3134 4B          PHK                     A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/3135 AB          PLB                     A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/3136 BD 82 37    LDA $3782,x[$5F:3782]   A:0000 X:0000 Y:0001 P:envmxdIzc
$5F/3139 8F BF 06 00 STA $0006BF[$00:06BF]   A:0402 X:0000 Y:0001 P:envmxdIzc
$5F/313D BD 14 33    LDA $3314,x[$5F:3314]   A:0402 X:0000 Y:0001 P:envmxdIzc
$5F/3140 8F 80 00 70 STA $700080[$70:0080]   A:18B8 X:0000 Y:0001 P:envmxdIzc
$5F/3144 BD 4A 33    LDA $334A,x[$5F:334A]   A:18B8 X:0000 Y:0001 P:envmxdIzc
$5F/3147 8F 82 00 70 STA $700082[$70:0082]   A:37A8 X:0000 Y:0001 P:envmxdIzc
$5F/314B BD 80 33    LDA $3380,x[$5F:3380]   A:37A8 X:0000 Y:0001 P:envmxdIzc
$5F/314E 8F 84 00 70 STA $700084[$70:0084]   A:7F82 vertex add
$5F/3152 BD B6 33    LDA $33B6,x[$5F:33B6]   A:7F82 X:0000 Y:0001 P:envmxdIzc
$5F/3155 8F 8E 00 70 STA $70008E[$70:008E]   A:01CE  vertex value
$5F/3159 BD EC 33    LDA $33EC,x[$5F:33EC]   A:01CE X:0000 Y:0001 P:envmxdIzc
$5F/315C 8F 86 00 70 STA $700086[$70:0086]   A:C270 linedefs
$5F/3160 BD 22 34    LDA $3422,x[$5F:3422]   A:C270
$5F/3163 8F 90 00 70 STA $700090[$70:0090]   A:01D5  lindefs value
$5F/3167 BD 58 34    LDA $3458,x[$5F:3458]   A:01D5 X:0000 Y:0001 P:envmxdIzc
$5F/316A 8F 88 00 70 STA $700088[$70:0088]   A:D861 X:0000 Y:0001 P:eNvmxdIzc
$5F/316E BD 8E 34    LDA $348E,x[$5F:348E]   A:D861 X:0000 Y:0001 P:eNvmxdIzc
$5F/3171 8F 8A 00 70 STA $70008A[$70:008A]   A:D86B siddefs D86B+1;
$5F/3175 BD FA 34    LDA $34FA,x[$5F:34FA]   A:D86B X:0000 Y:0001 P:eNvmxdIzc
$5F/3178 8F 8C 00 70 STA $70008C[$70:008C]   A:F746 X:0000 Y:0001 P:eNvmxdIzc
$5F/317C BD 30 35    LDA $3530,x[$5F:3530]   A:F746 X:0000 Y:0001 P:eNvmxdIzc
$5F/317F 8F 94 00 70 STA $700094[$70:0094]   A:FACE Texture
$5F/3183 BD C4 34    LDA $34C4,x[$5F:34C4]   A:FACE X:0000 Y:0001 P:eNvmxdIzc
$5F/3186 8F 92 00 70 STA $700092[$70:0092]   A:02CE  texture value
$5F/318A BD D2 35    LDA $35D2,x[$5F:35D2]   A:02CE X:0000 Y:0001 P:envmxdIzc
$5F/318D 8F 9A 00 70 STA $70009A[$70:009A]   A:0055 X:0000 Y:0001 P:envmxdIzc
$5F/3191 BD 08 36    LDA $3608,x[$5F:3608]   A:0055 thing numb (thing)
$5F/3194 8F 9C 00 70 STA $70009C[$70:009C]   A:EBC2 X:0000 Y:0001 P:eNvmxdIzc
$5F/3198 BD 3E 36    LDA $363E,x[$5F:363E]   A:EBC2 things
$5F/319B 85 00         STA $00    [$00:0000]   A:EEEE
$5F/319D 18              CLC                     A:EEEE X:0000 Y:0001 P:eNvmxdIzc
$5F/319E 69 06 00     ADC #$0006              A:EEEE X:0000 Y:0001 P:eNvmxdIzc
$5F/31A1 8F 9E 00 70 STA $70009E[$70:009E]   A:EEF4 X:0000 Y:0001 P:eNvmxdIzc
$5F/31A5 BD 74 36    LDA $3674,x[$5F:3674]   A:EEF4 X:0000 Y:0001 P:eNvmxdIzc
$5F/31A8 8F A0 00 70 STA $7000A0[$70:00A0]   A:FE42
$5F/31AC BD AA 36    LDA $36AA,x[$5F:36AA]   A:FE42 X:0000 Y:0001 P:eNvmxdIzc
$5F/31AF 8F A4 00 70 STA $7000A4[$70:00A4]   A:FE83 X:0000 Y:0001 P:eNvmxdIzc
$5F/31B3 BD E0 36    LDA $36E0,x[$5F:36E0]   A:FE83 X:0000 Y:0001 P:eNvmxdIzc
$5F/31B6 8F A6 00 70 STA $7000A6[$70:00A6]   A:FE8E X:0000 Y:0001 P:eNvmxdIzc
$5F/31BA BD 16 37    LDA $3716,x[$5F:3716]   A:FE8E X:0000 Y:0001 P:eNvmxdIzc
$5F/31BD 8F A2 00 70 STA $7000A2[$70:00A2]   A:FE83 X:0000 Y:0001 P:eNvmxdIzc
$5F/31C1 BD 4C 37    LDA $374C,x[$5F:374C]   A:FE83 X:0000 Y:0001 P:eNvmxdIzc
$5F/31C4 8F A8 00 70 STA $7000A8[$70:00A8]   A:FE8E X:0000 Y:0001 P:eNvmxdIzc
$5F/31C8 8A          TXA                     A:FE8E X:0000 Y:0001 P:eNvmxdIzc
$5F/31C9 0A          ASL A                   A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/31CA AA          TAX                     A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/31CB BD A8 32    LDA $32A8,x[$5F:32A8]   A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/31CE 8F 7C 00 70 STA $70007C[$70:007C]   A:9ED4 nodes
$5F/31D2 BD AA 32    LDA $32AA,x[$5F:32AA]   A:9ED4 X:0000 Y:0001 P:eNvmxdIzc
$5F/31D5 8F 7E 00 70 STA $70007E[$70:007E]   A:0058 X:0000 Y:0001 P:envmxdIzc
$5F/31D9 BD 66 35    LDA $3566,x[$5F:3566]   A:0058 Bank 2
$5F/31DC 8F 96 00 70 STA $700096[$70:0096]   A:E86E sectors (end $524c - stop bytes)
$5F/31E0 BD 68 35    LDA $3568,x[$5F:3568]   A:E86E X:0000 Y:0001 P:eNvmxdIzc
$5F/31E3 8F 98 00 70 STA $700098[$70:0098]   A:005B Bank for adress
$5F/31E7 85 02       STA $02    [$00:0002]   A:005B X:0000 Y:0001 P:envmxdIzc

thing #0 - #5 (1 - 4 spawn, 5 - teleport) = 8 byte (8 bit - settings; 8 bit - index things; 16 bit - X; 16 bit - Y; 16 bit - angle) 
         {Player}
things_name[$00]:='Player 1 start';         
things_name[$01]:='Player 2 start';         
things_name[$02]:='Player 3 start';         
things_name[$03]:='Player 4 start';         
things_name[$04]:='Player Deathmatch start';
        {Teleport}
things_name[$05]:='Teleport Destination';

thing #6-#$3F - 6 byte (8 bit - settings; 8 bit - index things; 16 bit - X; 16 bit - Y) 

============================================
Sector 10 byte settings
0 = sector_special; (sector_special shr 2)
1 = bright_room
2 = sector_bright_flash;
3-4 = sector_floor_height;
5-6 = sector_ceil_height
7 = sector_floor_color
8 = sector_ceil_color
9 = sector_tag
============================================
Lindefs 16 bytes settings
0-1 = linedefs_vertx_strt
2-3 = linedefs_vertx_end
4-5 = linedefs_type
6-7 = linedefs_angle
8-9 = linedefs_texture_offset
10 = linedefs_action
11 = linedefs_tag
========================================
SideDefs 12 byte
0-1 = sidedefs_vertx_strt
2-3 = sidedefs_vertx_end
4 = sidedefs_flags
5 = sidedefs_horizontal_scroll
6 = sidedefs_vertical_scroll
7-8 = sidedefs_texture_offset
9-10 = sidedefs_linedf_number
11 = sidedefs_sector_number
« Last Edit: October 18, 2015, 02:34:23 am by mopoz »
Skate-punk rulezzzz

TheLoneSurvivor

  • Jr. Member
  • **
  • Posts: 12
  • back from the dead
    • View Profile
Re: Doom SNES Level Data
« Reply #4 on: October 17, 2015, 04:46:18 pm »
Code: [Select]
$5F/FAF2 22 2E 31 5F JSL $5F312E[$5F:312E]   load map


$5F/312E AD D1 06    LDA $06D1  [$3F:06D1]   map number
$5F/3131 48          PHA                     A:0000 X:2806 Y:0001 P:envmxdIZc
$5F/3132 0A          ASL A                   A:0000 X:2806 Y:0001 P:envmxdIZc
$5F/3133 AA          TAX                     A:0000 X:2806 Y:0001 P:envmxdIZc
$5F/3134 4B          PHK                     A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/3135 AB          PLB                     A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/3136 BD 82 37    LDA $3782,x[$5F:3782]   A:0000 X:0000 Y:0001 P:envmxdIzc
$5F/3139 8F BF 06 00 STA $0006BF[$00:06BF]   A:0402 X:0000 Y:0001 P:envmxdIzc
$5F/313D BD 14 33    LDA $3314,x[$5F:3314]   A:0402 X:0000 Y:0001 P:envmxdIzc
$5F/3140 8F 80 00 70 STA $700080[$70:0080]   A:18B8 X:0000 Y:0001 P:envmxdIzc
$5F/3144 BD 4A 33    LDA $334A,x[$5F:334A]   A:18B8 X:0000 Y:0001 P:envmxdIzc
$5F/3147 8F 82 00 70 STA $700082[$70:0082]   A:37A8 X:0000 Y:0001 P:envmxdIzc
$5F/314B BD 80 33    LDA $3380,x[$5F:3380]   A:37A8 X:0000 Y:0001 P:envmxdIzc
$5F/314E 8F 84 00 70 STA $700084[$70:0084]   A:7F82 vertex add
$5F/3152 BD B6 33    LDA $33B6,x[$5F:33B6]   A:7F82 X:0000 Y:0001 P:envmxdIzc
$5F/3155 8F 8E 00 70 STA $70008E[$70:008E]   A:01CE  vertex value
$5F/3159 BD EC 33    LDA $33EC,x[$5F:33EC]   A:01CE X:0000 Y:0001 P:envmxdIzc
$5F/315C 8F 86 00 70 STA $700086[$70:0086]   A:C270 linedefs
$5F/3160 BD 22 34    LDA $3422,x[$5F:3422]   A:C270
$5F/3163 8F 90 00 70 STA $700090[$70:0090]   A:01D5  lindefs value
$5F/3167 BD 58 34    LDA $3458,x[$5F:3458]   A:01D5 X:0000 Y:0001 P:envmxdIzc
$5F/316A 8F 88 00 70 STA $700088[$70:0088]   A:D861 X:0000 Y:0001 P:eNvmxdIzc
$5F/316E BD 8E 34    LDA $348E,x[$5F:348E]   A:D861 X:0000 Y:0001 P:eNvmxdIzc
$5F/3171 8F 8A 00 70 STA $70008A[$70:008A]   A:D86B siddefs D86B+1;
$5F/3175 BD FA 34    LDA $34FA,x[$5F:34FA]   A:D86B X:0000 Y:0001 P:eNvmxdIzc
$5F/3178 8F 8C 00 70 STA $70008C[$70:008C]   A:F746 X:0000 Y:0001 P:eNvmxdIzc
$5F/317C BD 30 35    LDA $3530,x[$5F:3530]   A:F746 X:0000 Y:0001 P:eNvmxdIzc
$5F/317F 8F 94 00 70 STA $700094[$70:0094]   A:FACE Texture
$5F/3183 BD C4 34    LDA $34C4,x[$5F:34C4]   A:FACE X:0000 Y:0001 P:eNvmxdIzc
$5F/3186 8F 92 00 70 STA $700092[$70:0092]   A:02CE  texture value
$5F/318A BD D2 35    LDA $35D2,x[$5F:35D2]   A:02CE X:0000 Y:0001 P:envmxdIzc
$5F/318D 8F 9A 00 70 STA $70009A[$70:009A]   A:0055 X:0000 Y:0001 P:envmxdIzc
$5F/3191 BD 08 36    LDA $3608,x[$5F:3608]   A:0055 thing numb (thing)
$5F/3194 8F 9C 00 70 STA $70009C[$70:009C]   A:EBC2 X:0000 Y:0001 P:eNvmxdIzc
$5F/3198 BD 3E 36    LDA $363E,x[$5F:363E]   A:EBC2 things
$5F/319B 85 00         STA $00    [$00:0000]   A:EEEE
$5F/319D 18              CLC                     A:EEEE X:0000 Y:0001 P:eNvmxdIzc
$5F/319E 69 06 00     ADC #$0006              A:EEEE X:0000 Y:0001 P:eNvmxdIzc
$5F/31A1 8F 9E 00 70 STA $70009E[$70:009E]   A:EEF4 X:0000 Y:0001 P:eNvmxdIzc
$5F/31A5 BD 74 36    LDA $3674,x[$5F:3674]   A:EEF4 X:0000 Y:0001 P:eNvmxdIzc
$5F/31A8 8F A0 00 70 STA $7000A0[$70:00A0]   A:FE42
$5F/31AC BD AA 36    LDA $36AA,x[$5F:36AA]   A:FE42 X:0000 Y:0001 P:eNvmxdIzc
$5F/31AF 8F A4 00 70 STA $7000A4[$70:00A4]   A:FE83 X:0000 Y:0001 P:eNvmxdIzc
$5F/31B3 BD E0 36    LDA $36E0,x[$5F:36E0]   A:FE83 X:0000 Y:0001 P:eNvmxdIzc
$5F/31B6 8F A6 00 70 STA $7000A6[$70:00A6]   A:FE8E X:0000 Y:0001 P:eNvmxdIzc
$5F/31BA BD 16 37    LDA $3716,x[$5F:3716]   A:FE8E X:0000 Y:0001 P:eNvmxdIzc
$5F/31BD 8F A2 00 70 STA $7000A2[$70:00A2]   A:FE83 X:0000 Y:0001 P:eNvmxdIzc
$5F/31C1 BD 4C 37    LDA $374C,x[$5F:374C]   A:FE83 X:0000 Y:0001 P:eNvmxdIzc
$5F/31C4 8F A8 00 70 STA $7000A8[$70:00A8]   A:FE8E X:0000 Y:0001 P:eNvmxdIzc
$5F/31C8 8A          TXA                     A:FE8E X:0000 Y:0001 P:eNvmxdIzc
$5F/31C9 0A          ASL A                   A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/31CA AA          TAX                     A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/31CB BD A8 32    LDA $32A8,x[$5F:32A8]   A:0000 X:0000 Y:0001 P:envmxdIZc
$5F/31CE 8F 7C 00 70 STA $70007C[$70:007C]   A:9ED4 nodes
$5F/31D2 BD AA 32    LDA $32AA,x[$5F:32AA]   A:9ED4 X:0000 Y:0001 P:eNvmxdIzc
$5F/31D5 8F 7E 00 70 STA $70007E[$70:007E]   A:0058 X:0000 Y:0001 P:envmxdIzc
$5F/31D9 BD 66 35    LDA $3566,x[$5F:3566]   A:0058 Bank 2
$5F/31DC 8F 96 00 70 STA $700096[$70:0096]   A:E86E sectors (end $524c - stop bytes)
$5F/31E0 BD 68 35    LDA $3568,x[$5F:3568]   A:E86E X:0000 Y:0001 P:eNvmxdIzc
$5F/31E3 8F 98 00 70 STA $700098[$70:0098]   A:005B Bank for adress
$5F/31E7 85 02       STA $02    [$00:0002]   A:005B X:0000 Y:0001 P:envmxdIzc

thing #0 - #5 (1 - 4 spawn, 5 - teleport) = 8 byte (8 bit - settings; 8 bit - index things; 16 bit - X; 16 bit - Y; 16 bit - angle) 
         {Player}
things_name[$00]:='Player 1 start';         
things_name[$01]:='Player 2 start';         
things_name[$02]:='Player 3 start';         
things_name[$03]:='Player 4 start';         
things_name[$04]:='Player Deathmatch start';
        {Teleport}
things_name[$05]:='Teleport Destination';

thing #6-#$3F - 6 byte (8 bit - settings; 8 bit - index things; 16 bit - X; 16 bit - Y; 16 bit - angle) 

============================================
Sector 10 byte settings
0 = sector_special; (sector_special shr 2)
1 = bright_room
2 = sector_bright_flash;
3-4 = sector_floor_height;
5-6 = sector_ceil_height
7 = sector_floor_color
8 = sector_ceil_color
9 = sector_tag
============================================
Lindefs 16 bytes settings
0-1 = linedefs_vertx_strt
2-3 = linedefs_vertx_end
4-5 = linedefs_type
6-7 = linedefs_angle
8-9 = linedefs_texture_offset
10 = linedefs_action
11 = linedefs_tag
========================================
SideDefs 12 byte
0-1 = sidedefs_vertx_strt
2-3 = sidedefs_vertx_end
4 = sidedefs_flags
5 = sidedefs_horizontal_scroll
6 = sidedefs_vertical_scroll
7-8 = sidedefs_texture_offset
9-10 = sidedefs_linedf_number
11 = sidedefs_sector_number

You are legendary bro. May you please post the sector colour index, and how to use textures on linedefs?

October 17, 2015, 04:52:19 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Keep up the good work, iI could make A dos utility when this is all done. :-) I'llhhelp you out as much as I can.

Edit: hmm...at offset 0x1BEBC0, I kind of deciphered it a little

1BEBC0 - 1BEBC2 (hex: 4c52) - I'm assuming this is the player start. Changing any one of these values freezes the game after pressing start at the title screen.
1BEBC3 (hex: EF) - I'm going to assume that this is where the player starts. I haven't played around with this too much, but changing this to either "DF" of "FF" starts the player before the Zig Zag nukage point, and turning is kind of weird. You can turn towards the zig zag room itself, but then it switches back to where you were looking before. Its hard to explain.

Each THINGS entry is 10 bytes in size, aaccording to the Doom Wiki. If that's the same deal here, then I THINK I can decipher each iindividual actor in the game. I'll muck around some more with this.

Why a DOS utility? Because of all the libraries you would have to use on Windows? I think it should be for Windows, as a DOS editor would have alot more limitations, and less people would use it, but maybe I can port it to Windows, even though I can't really write code (I can read and understand a fair amount of code, but have not learned to write code yet. But hey, you learn to read before you learn to write.)

Anyways, good luck dude.
« Last Edit: October 17, 2015, 04:52:20 pm by TheLoneSurvivor »
Doom SNES Hacker.

mopoz

  • Jr. Member
  • **
  • Posts: 68
  • Russia, Vodka and Bears
    • View Profile
Re: Doom SNES Level Data
« Reply #5 on: October 18, 2015, 01:51:19 am »
Quote
You are legendary bro. May you please post the sector colour index, and how to use textures on linedefs?

256 colors for the floor and ceiling.

BTW, color $FF -> F_Sky
Skate-punk rulezzzz

Fellowzdoomer

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Re: Doom SNES Level Data
« Reply #6 on: October 18, 2015, 08:29:19 pm »
You are legendary bro. May you please post the sector colour index, and how to use textures on linedefs?

October 17, 2015, 04:52:19 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Why a DOS utility? Because of all the libraries you would have to use on Windows? I think it should be for Windows, as a DOS editor would have alot more limitations, and less people would use it, but maybe I can port it to Windows, even though I can't really write code (I can read and understand a fair amount of code, but have not learned to write code yet. But hey, you learn to read before you learn to write.)

Anyways, good luck dude.

Because I don'thave access to windows ATM. Im on an aandroid with dosbox. Anyway great, iI'll look into it more later. This is cool! Keep it up, I want to make GZDooM for the SNES haha :p

Edot: hmm, messing with the first few bytes of vertexes proves that you CAN have midtextures in SNES doom! Change the first value to ff, start the game and turn around. Walk forward. Profit. :-D
« Last Edit: October 18, 2015, 09:07:59 pm by Fellowzdoomer »

TheLoneSurvivor

  • Jr. Member
  • **
  • Posts: 12
  • back from the dead
    • View Profile
Re: Doom SNES Level Data
« Reply #7 on: October 22, 2015, 06:18:47 pm »
all you did was move the vertex at the left-back side alot.

October 22, 2015, 06:21:51 pm - (Auto Merged - Double Posts are not allowed before 7 days.)

256 colors for the floor and ceiling.

BTW, color $FF -> F_Sky

Now, here is my most important question.

Can you find the music data? and if so, change it and tell us how to change it?
Doom SNES Hacker.