Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
EternallyAries

Doom 2 MAPINFO issue.

Recommended Posts

Good evening everyone. I am EternallyAries and kinda new to the Doom World Forums.

I've been designing my very own MAPINFO file for Doom 2 Master Levels. Even though there is a program to design this for you, I feel like designing my own for learning benefits and what not.

Anyway, for some odd reason I keep getting this error when I load this bad boy up in Zandronum.

"Script error, "DOOM_2_MASTER_LEVELS.WAD:MAPINFO" line 101:"
"SC_GetNumber: Bad numeric constant "08"."

I have no clue what's causing this at line 101 when I check this out on Notepad++. I feel the line is perfect, but seems to be broken for some odd reason. Here the long script for you fellas to check it out and see what I did wrong, even though I could of sworn this MAPINFO is perfectly fine. I could be wrong.


clearepisodes
episode map01
{
name = "Master Levels"
key = "m"
}

defaultmap
{
sucktime = 1
}

// Registered/Retail Episode 1

map MAP01 "Attack"
{
levelnum = 01
titlepatch = "MASTE01"
next = "MAP02"
secretnext = "MAP02"
sky1 = "RSKY1"
cluster = 1
par = 210
music = "d_runnin"
}

map MAP02 "Black Tower"
{
levelnum = 02
titlepatch = "MASTE02"
next = "MAP03"
secretnext = "MAP03"
sky1 = "RSKY3"
cluster = 1
par = 240
music = "d_adrian"
}

map MAP03 "Bloodsea Keep"
{
levelnum = 03
titlepatch = "MASTE03"
next = "MAP04"
secretnext = "MAP04"
sky1 = "RSKY1"
cluster = 1
par = 330
music = "d_shawn"
}

map MAP04 "Canyon"
{
levelnum = 04
titlepatch = "MASTE04"
next = "MAP05"
secretnext = "MAP05"
sky1 = "RSKY1"
cluster = 1
par = 210
music = "d_dead"
}

map MAP05 "The Catwalk"
{
levelnum = 05
titlepatch = "MASTE05"
next = "MAP06"
secretnext = "MAP06"
sky1 = "RSKY1"
cluster = 1
par = 270
music = "d_messag"
}

map MAP06 "The Combine"
{
levelnum = 06
titlepatch = "MASTE06"
next = "MAP07"
secretnext = "MAP07"
sky1 = "RSKY4"
cluster = 1
par = 180
music = "d_tense"
}

map MAP07 "The Fistula"
{
levelnum = 07
titlepatch = "MASTE07"
next = "MAP08"
secretnext = "MAP08"
sky1 = "RSKY1"
cluster = 1
par = 210
music = "d_the_da"
}

map MAP08 "The Garrison"
{
levelnum = 08
titlepatch = "MASTE08"
next = "MAP09"
secretnext = "MAP09"
sky1 = "RSKY1"
cluster = 1
par = 270
music = "d_in_cit"
}

map MAP09 "Geryon: 6th Canto of Inferno"
{
levelnum = 09
titlepatch = "MASTE09"
next = "MAP10"
secretnext = "MAP10"
sky1 = "RSKY4"
cluster = 2
par = 360
music = "d_ddtblu"
}

map MAP10 "Titan Manor"
{
levelnum = 10
titlepatch = "MASTE10"
next = "MAP10"
secretnext = "MAP10"
sky1 = "RSKY5"
cluster = 2
par = 270
music = "d_romero"
}

map MAP11 "Mephisto's Maosoleum"
{
levelnum = 11
titlepatch = "MASTE11"
next = "MAP12"
secretnext = "MAP12"
sky1 = "RSKY1"
cluster = 2
par = 210
music = "d_countd"
}

map MAP12 "Minos' Judgement: 4th Canto of Inferno"
{
levelnum = 12
titlepatch = "MASTE12"
next = "MAP13"
secretnext = "MAP13"
sky1 = "RSKY4"
cluster = 2
par = 510
music = "d_doom"
}

map MAP13 "Nessus: 5th Canto of Inferno"
{
levelnum = 13
titlepatch = "MASTE13"
next = "MAP14"
secretnext = "MAP14"
sky1 = "RSKY4"
cluster = 2
par = 300
music = "d_stalks"
}

map MAP14 "Paradox"
{
levelnum = 14
titlepatch = "MASTE14"
next = "MAP15"
secretnext = "MAP15"
sky1 = "RSKY1"
cluster = 2
par = 240
music = "d_shawn"
}

map MAP15 "Subspace"
{
levelnum = 47
titlepatch = "MASTE15"
next = "MAP16"
secretnext = "MAP616"
sky1 = "RSKY1"
cluster = 2
par = 330
music = "d_messag"
}

map MAP16 "Subterra"
{
levelnum = 16
titlepatch = "MASTE16"
next = "MAP17"
secretnext = "MAP17"
sky1 = "RSKY1"
cluster = 2
par = 390
music = "d_runnin"
}

map MAP17 "The Express Elevator to Hell"
{
levelnum = 17
titlepatch = "MASTE17"
next = "MAP18"
secretnext = "MAP21"
sky1 = "RSKY3"
cluster = 3
par = 750
music = "d_evil"
}

map MAP18 "Trapped on Titan"
{
levelnum = 18
titlepatch = "MASTE18"
next = "MAP19"
secretnext = "MAP19"
sky1 = "RSKY5"
cluster = 3
par = 390
music = "d_ddtblu"
}

map MAP19 "Vesperas: 7th Canto of Inferno"
{
levelnum = 19
titlepatch = "MASTE519"
next = "MAP20"
secretnext = "MAP20"
sky1 = "RSKY4"
cluster = 3
par = 330
music = "d_in_cit"
}

map MAP20 "Virgil's Lead: 3rd Canto of Inferno"
{
levelnum = 20
titlepatch = "MASTE520"
next = "EndGame2"
secretnext = "EndGame2"
sky1 = "RSKY4"
cluster = 3
par = 240
music = "d_dead"
}

map MAP21 "Bad Dream"
{
levelnum = 21
titlepatch = "MASTE21"
next = "MAP18"
secretnext = "MAP18"
sky1 = "RSKY3"
cluster = 4
par = 120
music = "d_ultima"
}


It should be totally fine, but I can't seem to understand why it breaks at this MAPINFO part.


map MAP08 "The Garrison"
{
levelnum = 08 (This is the line that it seems to break at)
titlepatch = "MASTE08"
next = "MAP09"
secretnext = "MAP09"
sky1 = "RSKY1"
cluster = 1
par = 270
music = "d_in_cit"
}


Any ideas anyone? Would love to get this bad boy working haha.

Share this post


Link to post

Oddly enough, I've decided to just push all the map numbers up pass MAP32. Which fixed the problem for me. I do not understand what would cause the issue to keep leaving MAPINFO errors. But it seems to work now. Here the MAPINFO for those who wants to see it.


episode map33
{
name = "Master Levels"
key = "m"
}

defaultmap
{
sucktime = 1
}

map MAP33 "Attack"
{
levelnum = 33
titlepatch = "MASTE33"
next = "MAP34"
secretnext = "MAP34"
sky1 = "RSKY1"
cluster = 10
par = 210
music = "d_runnin"
}

map MAP34 "Black Tower"
{
levelnum = 34
titlepatch = "MASTE34"
next = "MAP35"
secretnext = "MAP35"
sky1 = "RSKY3"
cluster = 10
par = 240
music = "d_adrian"
}

map MAP35 "Bloodsea Keep"
{
levelnum = 35
titlepatch = "MASTE35"
next = "MAP36"
secretnext = "MAP36"
sky1 = "RSKY1"
cluster = 10
par = 330
music = "d_shawn"
}

map MAP36 "Canyon"
{
levelnum = 36
titlepatch = "MASTE36"
next = "MAP37"
secretnext = "MAP37"
sky1 = "RSKY2"
cluster = 10
par = 210
music = "d_dead"
}

map MAP37 "The Catwalk"
{
levelnum = 37
titlepatch = "MASTE37"
next = "MAP38"
secretnext = "MAP38"
sky1 = "RSKY3"
cluster = 10
par = 270
music = "d_messag"
}

map MAP38 "The Combine"
{
levelnum = 38
titlepatch = "MASTE38"
next = "MAP39"
secretnext = "MAP39"
sky1 = "RSKY4"
cluster = 10
par = 180
music = "d_tense"
}

map MAP39 "The Fistula"
{
levelnum = 39
titlepatch = "MASTE39"
next = "MAP40"
secretnext = "MAP40"
sky1 = "RSKY1"
cluster = 10
par = 210
music = "d_the_da"
}

map MAP40 "The Garrison"
{
levelnum = 40
titlepatch = "MASTE40"
next = "MAP41"
secretnext = "MAP41"
sky1 = "RSKY2"
cluster = 10
par = 270
music = "d_in_cit"
}

map MAP41 "Geryon: 6th Canto of Inferno"
{
levelnum = 41
titlepatch = "MASTE41"
next = "MAP42"
secretnext = "MAP42"
sky1 = "RSKY4"
cluster = 11
par = 360
music = "d_ddtblu"
}

map MAP42 "Titan Manor"
{
levelnum = 42
titlepatch = "MASTE42"
next = "MAP43"
secretnext = "MAP43"
sky1 = "RSKY5"
cluster = 11
par = 270
music = "d_romero"
}

map MAP43 "Mephisto's Maosoleum"
{
levelnum = 43
titlepatch = "MASTE43"
next = "MAP44"
secretnext = "MAP44"
sky1 = "RSKY2"
cluster = 11
par = 210
music = "d_countd"
}

map MAP44 "Minos' Judgement: 4th Canto of Inferno"
{
levelnum = 44
titlepatch = "MASTE44"
next = "MAP45"
secretnext = "MAP45"
sky1 = "RSKY4"
cluster = 11
par = 510
music = "d_doom"
}

map MAP45 "Nessus: 5th Canto of Inferno"
{
levelnum = 45
titlepatch = "MASTE45"
next = "MAP46"
secretnext = "MAP46"
sky1 = "RSKY4"
cluster = 11
par = 300
music = "d_stalks"
}

map MAP46 "Paradox"
{
levelnum = 46
titlepatch = "MASTE46"
next = "MAP47"
secretnext = "MAP47"
sky1 = "RSKY2"
cluster = 11
par = 240
music = "d_shawn"
}

map MAP47 "Subspace"
{
levelnum = 47
titlepatch = "MASTE47"
next = "MAP48"
secretnext = "MAP48"
sky1 = "RSKY1"
cluster = 11
par = 330
music = "d_messag"
}

map MAP48 "Subterra"
{
levelnum = 48
titlepatch = "MASTE48"
next = "MAP49"
secretnext = "MAP49"
sky1 = "RSKY3"
cluster = 11
par = 390
music = "d_runnin"
}

map MAP49 "The Express Elevator to Hell"
{
levelnum = 49
titlepatch = "MASTE49"
next = "MAP50"
secretnext = "MAP53"
sky1 = "RSKY3"
cluster = 11
par = 750
music = "d_evil"
}

map MAP50 "Trapped on Titan"
{
levelnum = 50
titlepatch = "MASTE50"
next = "MAP51"
secretnext = "MAP51"
sky1 = "RSKY5"
cluster = 12
par = 390
music = "d_ddtblu"
}

map MAP51 "Vesperas: 7th Canto of Inferno"
{
levelnum = 51
titlepatch = "MASTE51"
next = "MAP52"
secretnext = "MAP52"
sky1 = "RSKY4"
cluster = 12
par = 330
music = "d_in_cit"
}

map MAP52 "Virgil's Lead: 3rd Canto of Inferno"
{
levelnum = 52
titlepatch = "MASTE52"
next = "EndGame2"
secretnext = "EndGame2"
sky1 = "RSKY4"
cluster = 12
par = 240
music = "d_dead"
}

map MAP53 "Bad Dream"
{
levelnum = 53
titlepatch = "MASTE53"
next = "MAP50"
secretnext = "MAP50"
sky1 = "RSKY3"
cluster = 13
par = 120
music = "d_ultima"
}


At least it now works. Still not sure why I can't simply just use the lower map numbers.

Share this post


Link to post

It could be something as simple as you accidentally using a capital O instead of the number 0.

Share this post


Link to post
EternallyAries said:

Good evening everyone. I am EternallyAries and kinda new to the Doom World Forums.

I've been designing my very own MAPINFO file for Doom 2 Master Levels. Even though there is a program to design this for you, I feel like designing my own for learning benefits and what not.

Anyway, for some odd reason I keep getting this error when I load this bad boy up in Zandronum.

"Script error, "DOOM_2_MASTER_LEVELS.WAD:MAPINFO" line 101:"
"SC_GetNumber: Bad numeric constant "08"."


The levelnum value is a number, not a character string. This means that for MAP07, the number is 7, not 07. And for MAP08, it's 8, not 08.

Why is this important? Well, as you might know, computers don't actually use decimal numbers, they use binary numbers. Binary is kind of cumbersome for humans, so when it comes to representing binary values in ways that remain accurate to how they're stored in memory and yet are more convenient to read, computer scientists have come up with two different bases that are kinda close to decimal but are based on powers of two so that they map to binary easily: octal (base 8) and hexadecimal (base 16).

Now comes the question of what to do when a number has to be represented as a string: if you have "105", is it in decimal (105), octal (69), or hexadecimal (261)?

The standard they came up with is this: if the number has a leading 0, it's octal, and if it has a leading 0x, it's hexadecimal.

So when you have levelnum 08, it's parsed as an octal number, but since 8 does not exist in octal (the decimal value 8 is represented by 10 in octal), you get a bad numeric value error.

Share this post


Link to post
Gez said:

The levelnum value is a number, not a character string. This means that for MAP07, the number is 7, not 07. And for MAP08, it's 8, not 08.

Why is this important? Well, as you might know, computers don't actually use decimal numbers, they use binary numbers. Binary is kind of cumbersome for humans, so when it comes to representing binary values in ways that remain accurate to how they're stored in memory and yet are more convenient to read, computer scientists have come up with two different bases that are kinda close to decimal but are based on powers of two so that they map to binary easily: octal (base 8) and hexadecimal (base 16).

Now comes the question of what to do when a number has to be represented as a string: if you have "105", is it in decimal (105), octal (69), or hexadecimal (261)?

The standard they came up with is this: if the number has a leading 0, it's octal, and if it has a leading 0x, it's hexadecimal.

So when you have levelnum 08, it's parsed as an octal number, but since 8 does not exist in octal (the decimal value 8 is represented by 10 in octal), you get a bad numeric value error.


Oh wow sorry for the late reply, this helped loads for me by the way. Plus the computer knowledge you gave me is quite impressive as well. Never knew about anything like this haha. Also thanks for the information all of you, never knew 0 should not be use like this "01 to 09" I'm very used to engines doing MAPINFO exactly like that. Like Sonic Robo Blast 2 once did back in the day.

Also the cluster numbers I added in are just place holders for now. I might one day use them but for now they are useless but will be left unchange since they affect nothing till I actually assign them to something in the future.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×