Jump to content

Things We Know About Modding LRR


Cirevam
 Share

Recommended Posts

Since there have been enough new members thinking that they can mod something that is outside of LRR's limitations, I felt it was necessary to make a topic that logs what we know about modding this game. As I don't know everything about modding, please post what you know, what I missed, or what has yet to be confirmed here and I or another mod will add it to the below list. It might also be a good idea to list examples of modded content along with known stuff.

What We Can Change and How

Textures: All textures, except menu pictures, must be 256-color BMP files, with dimensions that are powers of 2. Such dimensions include 128x128, 16x16, 64x512, and so on. Interface images don't seem to care about what dimensions you use. Example: Armored Rock Raiders, Enhanced Biomes

We can animate textures on any object with an animation. Example: Animated Textures on Models

Models: All models must be in Lightwave 5 format, no exceptions. LWO6.5 or higher is incompatible. Models sometimes crash the game during the first loading screen if they have no texture or pseudotexture applied, and always crash if the game cannot find their textures. Example: High Poly Small Wheel, High Poly Cabin

Animations: All animations must be in Lightwave 5 format, no exceptions. Anything other than LWS5.6 will crash the game when they are encountered in a level. Example: Extended Dynamite Countdown

You can force an animation to use an object in the World\Shared folder by opening the LWS file in Notepad, finding the LWO, and changing the path of the LWO to look like "\\object.lwo"

Sounds: All sounds must be uncompressed WAV files. Sample rate seems to have no effect on playback in-game. Needs more evidence.

Raiders, Creatures, Buildings, and Vehicles: Many aspects of these objects can be altered, including their speed, size, damage values carrying capacities, and overall behaviors. We can also add more of all of these to the game, including multiple raider classes. More than 11 buildings can be added and used, but the game will crash without specific EXE hacks. Example: Rideable Slugs, Multiple Minifigure Classes, Inferno Monster

Upgradeable Objects: We can add new objects that can be attached to vehicles or buildings when they are upgraded. There seems to be a limit of about 75 objects that can be defined as UpgradeTypes. Any more will crash the game when loading.

Levels: We can edit and add new levels in all aspects. The design, goal, and specific AI behavior for each level is customizable, including adding level specific variables. Example: Regroup, The Algorithm

Weapons: We can change how the handheld beams work to a small extent, such as damage and range. Increased fire rate requires an edited animation. We can also change the damage, range, fire rate, and energy drain of vehicle and building weapons. Dynamite damage values and range can also be changed.

Custom movies: I have personally tested my own AVIs and WMVs. Specific settings don't seem to matter too much. For the sake of saving space, use WMV.

Scenery: Things like foliage or structures can be added into levels to give a unique look, but they must be coded as a creature, vehicle, or building. Creatures work best for this. Example: Ice Pillar

Adding Priorities and Properties: In the CFG file, we can mix and match different properties to change how objects and levels work, and even activate ones that are not used by the original game. Some are not interchangeable. Example: Add New Priorities

Notifications and Messages: We can activate unused notifications (the little tabs on the left side) so you can be annoyed twice, or even thrice, as often. Example: Monster Class Messages

Tiny Monsters doing stuff: Tiny monsters can do everything regular monsters can do but only if they're placed in the OL file. Tiny monsters spawned from a dying monster can do nothing but run away and enter walls.

 

Pathfinding: We have limited control over how paths are drawn for units. In the unit's CFG entry, either comment out the RouteAvoidance line or set it to FALSE. The unit will attempt to follow the center of a tile instead of drawing a smooth curve. Some, if not all vehicles do not use smooth curves in their paths. More testing will need to be done to confirm how this affects other vehicles and monsters.

 

Interface Elements: We can change the position of all of the main game's interface panels through the use of Cafeteria.

 


What We Cannot Change and Why

Materials: We cannot add more materials to the game and we cannot edit the existing materials' behaviour. Energy Crystals will always be used for power, and ore and bricks will always be used for building.

More than one teleportable raider: There is nothing in the code that allows us to add another Teleport Rock Raider to Planet button. You are stuck with whichever raider comes first in the CFG.

Changing the trained skills: Geologists will always scan, explosive experts will always kill themselves, and engineers will always try to repair buildings that are being eaten by lava. Vehicles that only cross land will always require drivers, vehicles that only cross water will always require sailors, vehicles that cross both land and water will always require pilots, and vehicles that cross lava will always require pilots.

Tiny Monsters: Rock Monsters and Lava Monsters always turn into Tiny Rock Monsters, and Ice Monsters always turn into Tiny Ice Monsters. Slugs and custom monsters can never turn into tiny monsters.

Pathfinding Algorithms: Though you can prevent raiders from taking shortcuts over lava, there's no way to change how the game handles pathfinding.

Dynamic Lighting: The only light sources in the game are the cursor light and track object view light. We cannot add other lights.

Priorities and Properties: We cannot add new, original entries of either of these since their functions are hardcoded into the game. We're limited to what already exists.

NPL Scripting: We can't do anything with NPLs other than what's listed here: http://www.rockraide...=Nerpsreference

Saving Progress During a Level: You can only save your game after you complete a level. If you need to go to the bathroom, pause the game.

Adding Wall Types: We can't add more wall types. We're limited to what was programmed into the game, and even then, some wall types can't be used because of changes made to the surf and dugg maps during development.

Speculations

Some members are digging through the game's assembly code to find ways around the game's limitations. Implementations of many such discoveries require editing the game's EXE.

Link to comment
Share on other sites

We can't change the position of the message/oxygen panel, and we can't re-position the side-menu icons (the four ones when you start the game and any others that you get from clicking on stuff) (unless it's well hidden, but I find nothing). The background panels the icons are on can be moved though.

Link to comment
Share on other sites

You also can't add separate light sources to levels(By which I mean brightening areas of the map without the cursor) You also can't add aesthetic such as particles or foliage to the level without a building or npc as far as I know.

Link to comment
Share on other sites

Level-specific variables exist.

Under Can't Do,

"You can't do anything with NPLs other than what's listed here: http://rru-stuff.org/nerpfuncs.html So, don't even ask."

Posting this as more of a changelog than suggestions since I'm going to throw those in.

Link to comment
Share on other sites

  • 2 weeks later...

I found something that we can not do We cant make new wall types in the game as that is hard codded as well.

Unfortunately, we do know that. That is why dirt as a wall type hasn't been put back in.

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Something that we can not do to levels :( we can not lock the first training mission even when putting a ; next to Front End Open TRUE we also can not make any level or custom level unlock the first level tutorial # 8 will have to do that :( we can however make any other levels links works to other levels and brand new levels like level 36 to unlock a games original level though we also can make a original levels do the same as-well :) oh crap :( i forgot we also can not make the tutorials unlock any other level and make them unlock other tutorials other then the game set up also.

Link to comment
Share on other sites

  1. we can not lock the first training mission even when putting a ; next to Front End Open TRUE
  2. we also can not make any level or custom level unlock the first level tutorial # 8 will have to do that :(
  3. oh crap :( i forgot we also can not make the tutorials unlock any other level and make them unlock other tutorials other then the game set up also.

  1. For a good reason. If we locked it, the campaign missions would never unlock. Trust me, there was good logic in doing that.
  2. The last tutorial level listed in Lego.cfg, once completed, automatically unlocks the first campaign mission. Once again, good logic as it allows modders/developers the ability to code in any amount of tutorials on the fly.
  3. Pointless, even if we could do it. The tutorials and campaign are designed to be played in a (some-what) linear structure. You finish the tutorials to learn the basics of the game, then unlock level one, and then you can set it up so you can branch the missions out.
Link to comment
Share on other sites

  1. If we locked it, the campaign missions would never unlock
  2. The last tutorial level unlocks the first campaign mission
  3. finish the tutorials then unlock level one

...When has level one ever needed to be unlocked by a tutorial level instead of being open from the start? :/

Link to comment
Share on other sites

What the heck, when has level one ever needed to have unlocked by tutorial missions? :/

I've been having those modding delusions at night again. I guess you can disregard my post...

Link to comment
Share on other sites

What the heck, when has level one ever needed to have unlocked by tutorial missions? :/

I've been having those modding delusions at night again. I guess you can disregard my post...

...oh wad I feel I don't want to know about this O_O

Link to comment
Share on other sites

  • 3 months later...

I updated a bunch of links, mostly what was already put onto the new uploader. If you're the author of a mod listed here and I haven't fixed the link, please tell me the new link and I'll update it.

Link to comment
Share on other sites

  • 6 months later...

Pathfinding: Though you may want to prevent raiders from taking shortcuts over lava, there's no way to change how the game handles pathfinding.

We actually can prevent RRs from drowning themselves in lava by letting them run like most of the vehicles (except small digger which also drives like a drunk). The silly thing is that the RRs then only stand right in the middle of the ground parts and not anywhere on it. So if you have 20 RRs on that ground platform all 20 RRs stand at one position.

You can do this in the cfg where the RR is listed as Pilot:


   RouteAvoidance  TRUE

just add a ";" in the fron:

;   RouteAvoidance  TRUE

But I think you all already knew that? :x

Link to comment
Share on other sites

I didn't know that. I'll have to try that sometime to see how raiders react to it. Maybe vehicles will drive differently with it on too.

Link to comment
Share on other sites

  • 1 month later...

You say "hard code" and I think "engine" -- how much of LRR is "hard code?"

Well, hard code is any element of the engine which can't be modified because it's coded directly into the .exe and there's no possible way to modify it without a lot of practice in hooks/memory editing or having the source code on hand. So, they're not on the same level.

 

Did you actually read the OP? It covers everything we can and can't do, and what of the stuff we can't do is because of hard code. If you're looking for a number, I'd say it's about 40%-75% hard code, probably more. Someone else who has been a little more active in modding as of recent might be able to give you a more accurate estimate.

Link to comment
Share on other sites

I did indeed read the OP, and it did indeed confuse me. 

 

For lack of source code, oi. Hang on -- .EXE decompilers are a thing that exists and spits out source code. Why hasn't this been looked into for RR? Is there a technical bit I'm ignoring?

Link to comment
Share on other sites

I did indeed read the OP, and it did indeed confuse me. 

 

For lack of source code, oi. Hang on -- .EXE decompilers are a thing that exists and spits out source code. Why hasn't this been looked into for RR? Is there a technical bit I'm ignoring?

I guess no-one else here has thought about it, and you're welcome to try because it would probably help us. Although, I don't really trust them...they always get some critical piece of code which I don't know how to fix wrong...

Link to comment
Share on other sites

I did indeed read the OP, and it did indeed confuse me. 

 

For lack of source code, oi. Hang on -- .EXE decompilers are a thing that exists and spits out source code. Why hasn't this been looked into for RR? Is there a technical bit I'm ignoring?

Decompilers do not give you source code. They give you assembly instructions. While useful if you know what you're doing, you aren't getting any thing resembling source code. So ahead and run LegoRR.exe through IDA and see if you get something useful. I dare you.
Link to comment
Share on other sites

Well, I'll certainly try. My headaches are chronic so this won't make it any worse. From what I've read it seems that the main hurdles are knowing what language the .EXE is in and getting your decompiler as close to the original compiler as possible. So, probably going to have to find and use versions from the year LRR was released, or close to that. 

 

Again, -from what I've read-, if somehow I get the nail on the head, supposedly I will get source, otherwise I'll get functional/approximated/spaghetti machine code. Which sounds much less useful.

 

The GODS engine that DDI apparently specialized in -- is that the LRR engine as well?

 

I guess it's the fact that editing the exe is illegal...

 

hopefully I'm not telling something wrong with that...

Is it? Considering this would be done for modding purposes only I'm not too concerned about the legality. However I could be wrong. 

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.