Jump to content

Finally: Unlimited Free Play Mode in LEGOLAND


MonoWizard
 Share

Recommended Posts

Hello there, I'm not good at introductions or knowing how to start out a written post, so I'll just do a "cold open" here. There are three methods for getting around LEGOLAND's free play mode restriction. Spoiler: >99% of you are almost certainly going to use the first method for convenience, but I've listed my other two methods as well just for documentation's sake.

 

F2Mdiqi.png

 

Method 1: Downloading a blank map save game file with all the rides unlocked.

 

First, the link: https://mega.nz/file/BypzyLrI#bmQfi6_b_ClPPyXacqocvOCaMIiMj6lUKjFE2FnWdc0

 

If you want to be quick, just unpack the zip file, move the files from the archive's "profiles" subfolder into the other "profiles" subfolder in the game's installation directory, and you'll find the blank park with all rides unlocked under the eighth player slot and then the eighth saved game slot.

 

The following is pretty basic information, but just in case anyone needs it, the default installation directory and subsequent location of the "profiles" folder on 64-bit versions of Windows is here:

 

C:\Program Files (x86)\LEGO Media\Games\LEGOLAND\profiles

 

Note that on 32-bit versions of Windows, there's only one "Program Files" folder but it will not have the "(x86)" at the end of the folder name, so in that case LEGOLAND should have installed itself in there as the default directory instead.

 

Anyways, the reason I chose eighth and eighth like this was to minimize the chances of someone accidentally overwriting anything else. But if you want to move that to the first player slot and the corresponding first save game slot, or elsewhere, then note the following structure of the save game file's filenames:

 

 Tells the game which profile the saved game will appear in
    |
    |    Tells the game which slot the park will be listed
    |    under in the save games menu for a given profile
    |    |
    V    V
    
    8save8.sav
    8save8.sh
    ------------
    Profile8.txt

           ^
           |
           |
           Location of profile in main/player menu slots


I should also point out that the third "Profile8.txt" file is technically optional if you already have a current profile that you want to use, I only included it just in case. And of course, you can also change the name of the saved park by simply loading it, and then saving it again under a different name before building anything, just in case FREEBLANKHACK wasn't quite exciting enough for a LEGOLAND park name.

 

Method 2: Using a memory scanner/editor.

 

This was the method I used to originally bypass this restriction. I don't really wish to go into detail here about how to use a memory scanner/editor (I only have a surface-level knowledge of it myself) but the relevant memory address is 007CB3A0. Just force the value in that address to remain at zero and you can add all the rides you want. The limiter bar will flicker for a split second whenever you add something, which is especially noticable when it's a larger ride/attraction, but that's amusing more than it is concerning as the flicker is just the memory scanner forcing the limiter bar back down to zero again.

 

Method 3: Hex Editing the .EXE file.

 

The only reason I was even able to figure this method out was because of the memory scanner method. The game doesn't quantify the capacity of the limiter bar, but I found it ranges from 0 to 20,000. So I did a search through the EXE file and sure enough, there was a value of 20,000 in there. And wouldn't you know it, hex editing that bit of code and increasing that value to something else made the limiter bar less restrictive, or better yet no longer restrictive at all! Once again, I want to stress that I only have a surface-level understanding of how to use/find data with a hex editor, so I can't really give much help with that, but here's the relevant addresses/values:

 

Address:    Old:    New:
0008AF0A    20        68
0008AF0B    4E        94
0008AF0C    00        01

 

In base-10, the old value was 20,000 but the new value is 103,528 (which is the sum of every single ride, attraction, plant, etc. in the game), although typing in "FF FF FF" would work too. Also note that VISUALLY the limiter bar still fills up as normal, but it no longer prevents you from adding the rest of the rides.

The value of "20 4E 00" can also be found at these addresses...

 

000BA8F0
000BA8F1
000BA8F2

000BA8FC
000BA8FD
000BA8FE

 

...but changing the values of those addresses does not seem to result in any sort of change, at least not that I could notice at first glance.

 

Miscellanous notes:

 

Here are some other memory addresses that may be of interest:

 

004B90F8 - Amount of gold you have

00832BD0 - Amount of power your park is PRODUCING

00832BD4 - Amount of power your park is CONSUMING

 

I know those don't matter for free play mode, but still, there they are.

 

I also want to mention that I only tested this on my version of LEGOLAND. I don't know if there were ever multiple versions of this game like v1.0 and v1.1 or whatever, but I do know that this game was released in multiple languages and I only tested this on the English version. What I'm trying to say is that I hope the save game file works with all versions, but I can't guarantee this. Even if it doesn, the above documentation should be sufficient to recreate a save file if said files are not compatible between different languages and their releases.

 

Also, shameless self promotion where I made a video talking about this, but all the technical detail that's really needed is already spelled out in this post.

 

 

And finally a question for you all: do any of you know why the developers implemented this limitation in the first place? I never found an answer for that.

  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.