Never seen this before...

Users who are viewing this thread

Status
Not open for further replies.

jik

Knight
I'm getting an RGL error that says:
Unexpected End of File while reading file: Modules\Bloodlines\menus.txt

It has to be in one of my jousting menus, but I don't see the issue...  It compiles with no errors...

###MODDING Tournament Menus Start Here
("j_tourney_main",0,
"TEMP - Need text introducing the start of a all tournament games.^Each joust has 3 passes\
  controlled by the next menu, not this one.  This one should reset Joust Global Vars","none",[],
[##option Choices
("join_joust",[],"Participate in the Joust",
[
#(assign,"$joust_tier",0),          ##which tier is competing (to know what participants are next
(assign,"$joust_pass",0),
(jump_to_menu, "mnu_joust_main"),
]
),
("join_archery",[(eq,1,2)],"participate in the Archery Contest",
[
(change_screen_return),
]
),
("join_javlin",[(eq,1,2)],"Participate in Javlin Contest",
[
(change_screen_return),
]
),
("END_TEST",[],"Return to MOD Menu.",    ##Remove this when it's working
[
(jump_to_menu, "mnu_mod_action"),
]
),

]
),

###JOUST 
("joust_main",0,
"Signing up for the Joust","none",[],
##This menu should set the participants for the Joust, then pass them to the next menu to start the joust which will have 3 passes.
##Here you should see who you will next face.  The next menu should come back here after the 3 rounds.  To make it generic, pass
##$jouster_1 and $jouster_2 to joust_pass as the next 2 jousters
[##option Choices
("join_joust_1",[(neq,"$joust_pass",5)],"Test Jousting.  You are ready to move to the next tier of the Joust",
[(assign,"$joust_pass",1),    #reset the pass count for the joust
###Code here should cycle through the participants based on if the current tier is done hope to use regs for pass and tier
#(party_get_slot,$jouster_1,"p_temp_j1",31),
#(party_get_slot,$jouster_2,"p_temp_j1",32),    ##the first 2 participants of the joust
#(val_add,"$joust_tier",1),                      ##increment the tier
(assign,"$jouster_1","trp_player"),    ##TEST Values  $jouster_1 is the first jouster's troop ID
(assign,"$jouster_2","trp_Dranton"),  ##TEST Values
(assign,"$joust_score_1",0),          ##reset jouster 1's score
(assign,"$joust_score_2",0),          ##reset jouster 2's score
(jump_to_menu, "mnu_joust_passes"),
]
),
("back",[(eq,"$joust_pass",5)],"Return to Tournament Menu",
[
(jump_to_menu, "mnu_j_tourney_main"),
]
),
]
),


("joust_passes",0,
"Prepare for the next Round of the Joust","none",[],
##This menu count the pass for the Joust in this round.  After 3 passes it will point back to the main joust menu for the next round to be set.
##the global var $joust_pass will be set to 1 prior to coming to this menu
[##option Choices
("joust_round",
[(try_begin),
(eq,"$joust_pass",1),
(str_store_string,s40,"@1st"),
(else_try),
(eq,"$joust_pass",2),
(str_store_string,s40,"@2nd"),
(else_try),
(eq,"$joust_pass",3),
(str_store_string,s40,"@3rd and final"),
(try_end),
(le,"$joust_pass",3),                        ##do not give this option if the final pass was made
]
,"Begin the {s40} Pass of the Joust",
[(val_add,"$joust_pass",1),
(set_jump_mission, "mt_mod_joust"),
(modify_visitors_at_site, "scn_tournament_arena"),
(set_visitor, 0, "$jouster_1"),
(set_visitor, 1, "$jouster_2"),
(jump_to_scene, "scn_tournament_arena"),
(change_screen_mission),
]
),

("end_round",[(eq,"$joust_pass",4)],"End of This Round of the Joust", ##Jousting round is over when $joust_pass is 4
[
(jump_to_menu, "mnu_joust_main"),
]
),

("back",[(eq,"$joust_pass",5)],"The Jousting Event is over", ##Jousting ends when $joust_pass is 5
[
(jump_to_menu, "mnu_j_tourney_main"),
]
),
]
),



Thanks in advance for the help...
 
hmm, the only time I've seen something that compiled fine and then gave me an 'Unexpected End of File' was with module_skins.py, and I eventually determined there was a hard-coded game limitation of only 16 races.  I doubt you've hit a limit, but what is the maximum value in ID_menus.py ?
 
HokieBT said:
hmm, the only time I've seen something that compiled fine and then gave me an 'Unexpected End of File' was with module_skins.py, and I eventually determined there was a hard-coded game limitation of only 16 races.  I doubt you've hit a limit, but what is the maximum value in ID_menus.py ?


Really?  that's crap if that's the issue here.  Actually, I'm going back to check something.  I don't think I've made a call to the main menu (starting the tournament).  Could that be it?  I commented out the last 2 menus and still get the error...

EDIT:
Nope.  :mad: crap! :mad:  So I make all the menus called up and it fails.  It has to be something in those last 3 menus because when I comment them out, the game runs fine....  Damn crap...
 
whats number is your max ID_menus.py, is it something suspicious like 257 or something?    Maybe create 3 blank menu's and test with those just to verify its an issue with your menu code and not hitting a game limit of max number of menu's or something.....
 
HokieBT said:
whats number is your max ID_menus.py, is it something suspicious like 257 or something?    Maybe create 3 blank menu's and test with those just to verify its an issue with your menu code and not hitting a game limit of max number of menu's or something.....

My last menu is 191.  So I'm not at/over a binary mark.  I'll try commenting them out (it crashes unless I take out all three) and remaking them one at a time, but this is still confusing...
 
Look in your suspect menus for a blank string.  I've found a number of cases where a blank string will compile, but then the resulting file is invalid, either at load time, or at execution time.

one technique is to actually look at the compiled files - and in your case, towards the end.  See if the code produced appears right, or misformatted in some way (missing elements most likely, hence the unexp eol).
 
I think you were right on the blank string thing.  I rewrote most of the 3 menus and it's fine now.  I might have left a call to a string reg that wasn't defined (was doing a bit of test messages).
 
Status
Not open for further replies.
Back
Top Bottom