EternallyAries Posted May 16, 2016 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. 0 Quote Share this post Link to post
EternallyAries Posted May 17, 2016 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. 0 Quote Share this post Link to post
Empyre Posted May 17, 2016 It could be something as simple as you accidentally using a capital O instead of the number 0. 0 Quote Share this post Link to post
Kappes Buur Posted May 17, 2016 map MAP01 "Attack" { levelnum = 1 titlepatch = "MASTE01" next = "MAP02" secretnext = "MAP02" sky1 = "RSKY1" par = 210 music = "d_runnin" } use levelnum = without a leading 0 cluster = is not needed since you did not define any clusters explanations are given here http://zdoom.org/wiki/MAPINFO/Map_definition 0 Quote Share this post Link to post
Gez Posted May 17, 2016 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. 0 Quote Share this post Link to post
Empyre Posted May 17, 2016 Aha! I was wondering why 01 - 07 were fine. Mystery solved! 0 Quote Share this post Link to post
EternallyAries Posted May 19, 2016 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. 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.