www.tombraiderforums.com  

Go Back   www.tombraiderforums.com > Tomb Raider Series > The Last Revelation

Reply
 
Thread Tools
Old 13-04-20, 08:47   #1
jcdbm
Hobbyist
 
Join Date: Mar 2020
Posts: 19
Default Removing Levels from List of Level Select Enabled

Hi, I am trying to edit the TR4/TLR script file using Scripter4. I was able to enable Level Select and remove the entry that comes after the second Temple of Horus, but I noticed that removing the levels listed as "Yes" and "No" in the level list causes the wrong levels to be loaded (as in, selecting Tomb of Semerkhet loads Guardian of Semerkhet). I am seeking help on how I could remove those listings without messing up the other levels and any other data.

Also, on the side, I'd like help with assigning the last unused string to the duplicately-named Temple of Horus (the boss fight JOBY5C, not the entrance JOBY5B) to something like "Tomb of Set" or "Chamber of Set". My end goal is to have a list of levels to choose from when selecting New Game from the main menu, one with no extraneous listings or duplicate strings.

Thank you in advance, and if this topic is posted in the wrong section, please feel free to move it.

Last edited by jcdbm; 13-04-20 at 08:55.
jcdbm is offline   Reply With Quote
Old 13-04-20, 08:56   #2
Joey79100
Professor
 
Joey79100's Avatar
 
Join Date: Mar 2012
Location: France
Posts: 3,078
Default

Short answer: it's not possible.

Long answer:
If you remove levels from the list, it will break the order of the levels, because the finish triggers in the levels refer to other levels by a numerical ID, that represents their position in the script file. If you remove a level, everything moves.
Also, scripts entries have specific properties for the level they refer to, like the main audio track to play in the background, the names of the puzzles, the cutscenes, whether it resets the inventory, how the sky is rendered... If you remove a script entry for a level, and try to make that level be called by another script entry, you will break things the level, because the properties will be different.

Also just for information: the Yes and No levels are not actual levels, but they are believed to be used for the Cennet game, depending on whether you win or lose. EDIT: Actually forget that explanation, I've just said something I've read but haven't checked and apparently it's false, and it may have just been removed levels that they didn't want to remove from the script because it would have broken finish triggers (which makes more sense).
__________________
"sdfgisdgdsfgdsfgdsgfsdgsgfdgsfgdsf" ~ SrDanielPonces

Last edited by Joey79100; 14-04-20 at 06:34.
Joey79100 is offline   Reply With Quote
Old 14-04-20, 01:48   #3
jcdbm
Hobbyist
 
Join Date: Mar 2020
Posts: 19
Default

I see. I figured the Yes and No entries were important if they were affecting the way the rest of the levels worked.

Is there a way to set the names of those entries from Yes and No to an empty string, or a string with no entry? I can edit strings using Scripter4 but I haven't been able to figure out how to set a level's name string to another.
jcdbm is offline   Reply With Quote
Old 14-04-20, 06:38   #4
Joey79100
Professor
 
Joey79100's Avatar
 
Join Date: Mar 2012
Location: France
Posts: 3,078
Default

If you change the level name (or any text string, like puzzle names, etc), you have to change it also in ENGLISH.DAT at least. Because the engine searches for string in ENGLISH.DAT and they have to be identical (that's how it remembers at one line to look for for other languages).

Remember that level select is meant for the level builders to jump easily to their levels while testing, it has not been designed for players at all in TR4, so it's just a simple list of levels with no extra function.
__________________
"sdfgisdgdsfgdsfgdsgfsdgsgfdgsfgdsf" ~ SrDanielPonces
Joey79100 is offline   Reply With Quote
Old 14-04-20, 07:34   #5
mizuno_suisei
Relic Hunter
 
mizuno_suisei's Avatar
 
Join Date: Jan 2006
Location: Perth, Western Australia
Posts: 6,183
Default

Hey guys! I just want to say - Joey79100's description of TR4 script editing may seem strange to you jcdbm and there's a reason for that.

The Tomb Raider Level Editor is based on TR4, it provides the tool that Core Design themselves originally used to actually make the scripts! What you see in Scripter4 is 'post editing'. Joey clearly has extensive experience with the TRLE way of Scripting, as do I and lucky I have experience in both here :P What you edit in Scripter4 is vastly different to how TRLE users can edit the original individual Script.txt and English.txt files - before they become DAT files for use in TR4. Scripter4 edits the final compiled script build.

Quote:
Open your TR4 Script/English.dat in Scripter4. Click on the EDIT STRINGS button along the bottom.

Follow all instructions in order. Think of the Strings are as the CORE of the script, then whatever is outside of the Strings area, references that CORE.

Scroll down and find some redundant strings - for example. 221: and 222: Load OK and Saved OK. These are used in the Playstation version and not on PC as save/load is instantaneous and doesn't show a message on screen, however, you're free to use these slots in your PC version as you please.

So for test sake change to

221: DO NOT USE
222: NO TOUCHY

You could also actually only use One script line if you want, for two level slots (much like the two Temple of Horus's).
for example

221: -----------------
Yeah. Multiple dashes. This could be interpreted as "Ignore this" in game to the eye. I wouldn't get too creative with symbols - not a terrible amount are available in TR4's font table. I'm certain dashes are.

Make sure you click Apply and you'll return to the main Scripter4 window.

Select your Yes or No levels from the left hand side, then in the top right corner of the entire window you will see the level name again but with a dropdown box, scroll down to the string/s you replaced, which in my case would be ---------------- that I just edited over string 221. You'll then see the name change effect on the left hand side
Regardless if you used dashes or a combo of letters, this change will suddenly appear in the left side level select box where YES and NO once where

I just noticed both reference a DATA\A and DATA\B on YES and NO- don't edit that - i think thats a hardcoded kind of script reference regarding the level ordering.

But anyway - Save and play. I did this as I typed it and it works fine.
(^ I typed this - I just quoted it to make it easier to read)

So what you've done here is only changed the "Strings" reference of the level titles. You haven't changed their properties, positions or DATA folder assignments. From our chats regarding TR2's script, I know you really want to delete these lines completely. Yeah, it's visually annoying but, it's how the game works and nothing doooing. The devs didn't intend us to be able to ever enable all level select.

In fact, if you enable ALL LEVEL SELECT in the Playstation TR4 Script.dat, when you press New Game at the title screen and are presented with the levels, the Sound Effect for "Select" glitches on an infinite loop. Its soo loud and annoying, and if you don't choose a level fast enough, that sound glitch out gets worse and causes (epsxe) to crash looooool.

Quick backtrack to TR2 - using my method above, you could probably find similar workings in tombpceditor to change the name entries of those ending 3 DEMO levels in the script? Find a redundant Playstation string in that area, change it, then change that string in the "Demo" levels areas. Not exactly the same as scripter4 process but in my head it's very similar.

Hope that helps
__________________
Australian, Japanese speaking TR addict.

Last edited by mizuno_suisei; 14-04-20 at 07:40.
mizuno_suisei is offline   Reply With Quote
Old 14-04-20, 08:21   #6
jcdbm
Hobbyist
 
Join Date: Mar 2020
Posts: 19
Default

Thank you both for the help! That mid-editing and post-editing analogy is helpful for understanding the process; I used to fiddle around with Pokemon ROM hacking long ago and used hex editors back when there were no disassemblies available.

Anyways, while it would be ideal to completely remove the entries, I managed to get the next best alternative -- blank entries.

Yes is now gone! Not actually gone, but not on the list.

Same with No, and I was able to use one of the unused PS1 string values to rename the very last level to Chamber of Horus.

What I noticed while using Scripter4, interestingly, is that the level name change does not work with the last string value, 357. It must have been why I was stuck, since I assumed that other string values were not changeable as well.
jcdbm is offline   Reply With Quote
Old 14-04-20, 08:50   #7
mizuno_suisei
Relic Hunter
 
mizuno_suisei's Avatar
 
Join Date: Jan 2006
Location: Perth, Western Australia
Posts: 6,183
Default

Hah! why didn't I think of that. Just create a blank string well done. That's much more aesthetically pleasing and probably the best we'll get.
__________________
Australian, Japanese speaking TR addict.
mizuno_suisei is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 03:32.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.