Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 06/27/21 in all areas

  1. Cirevam

    Forum Upgrade

    Rock Raiders United has been recently upgraded with new software. A new theme will be coming soon as well. Please report any bugs you find (posting in this thread is fine) or any other oddities. In addition, the broken Contact Us form should be fixed, so you can use that if you have trouble with logging in.
    6 points
  2. trigger_segfault

    In-depth Look at the CFG Syntax

    Sounds good! I've actually already gotten an assembly patch working to fix this, though I've only done tests with the Masterpiece executable, (and very few tests at that)... and it's in Python (which I need to port to some more-accessible language). As long as the Improvement Pack's order is "sound1,sound1,sound2,sound2,...", then it shouldn't cause problems whether the user has the patch applied or not. And on an unrelated note... Dependencies So all dependencies have an "AlwaysCheck:" prefix in Lego.cfg, it turns out there actually is another prefix that can be used: "HitOnceStay:" - This is the only prefix the game actually checks for in the Dependencies block. This states that once the requirements are met. The player never needs to meet the requirements again. The only exception is for objects that need a place to teleport in. (i.e. Vehicles cannot be teleported if there's no power/or Power Station) Dependencies { HitOnceStay:Hoverboard Pilot:0,ToolStation:1,TeleportPad:0,PowerStation:0 AlwaysCheck:SmallDigger Pilot:0,ToolStation:1,TeleportPad:0,PowerStation:0 ; any prefix besides "HitOnceStay" can be used in-place of "AlwaysCheck" ; just make sure to include the ':' FooBarBaz12:SmallTruck Pilot:0,ToolStation:1,TeleportPad:0,PowerStation:0 } Example Using the example for HitOnceStay above, this shows that removing the LV1 ToolStation will still allow the Hover Scout to teleport in, while the Small Digger cannot.
    5 points
  3. IAmFozzieBear

    Realistic Illustration of Chief

    New to this group so thought this would be a cool introduction! I played the PC version of Rock Raiders when it released and fell in love with the music, characters, and overall aesthetic of the game. Around that time I had several of the Lego sets but later on all the pieces got lost or put in storage. It wasn't until a few years ago that I went ahead and bought all the sets again including some I never owned before. I also bought Pohatu (with his original canister/disc) and did a realistic drawing of him. This started a series of realistic interpretations of Lego mini figures including one from Ice Planet (2002) and a Zotaxian from the UFO 1997 sets. So being a huge fan of Rock Raiders I want to do realistic illustrations of all the characters from the Rock Raiders sets so thought I'd start with Chief.
    4 points
  4. trigger_segfault

    NO WADS! or 10 Wads

    I can clarify a bit more on some of the loose ends like the CD priority, and expand on some information: File System Priorities: Data File Reading LegoRR9.WAD - LegoRR0.WAD Working Data folder (in current working directory, which should be your executable directory unless you want to have a bad time) CD-ROM Data folder (in first-located CD drive (`C-Z`) containing the file `CD:\Data\cd.key` (contents don't matter), this excludes Floppy-reserved drive letters `A,B`) Data File Streaming For AVI videos (needs more checking) and Streamed sounds (Sample properties defined with `@` path prefix). Working Data folder CD-ROM Data folder Data File Writing This is seen a few times in assembly, but I don't think any of it is reachable code. (There's some leftover code used to scan the Working Data directory and write a list of relative file names, which was likely used when preparing to build a WAD file) Working Data folder (only) Non-Game Data Priority Music, Saves, etc... TODO. Everything outside the data folder doesn't use LegoRR's built in File System manager, and technically streamed media doesn't either. (Rule of thumb is Working Data is checked before CD-ROM Data though) Misc CD-ROM drives will always be checked for on boot. As far as I can tell from the code, you can throw any data file in any different-numbered WAD file, as long as you're not relying on priority. Higher number WAD files can still be loaded even when lower numbered files don't exist. I have no clue about the machine-specific issue with the blaster though. WAD File Names: WAD file names are determined by the game executable name (without the extension). Renaming the executable to something else means it will no longer look for WAD files named `LegoRR#.wad`, but for `<exename>#.wad`. This is identical to how the root `Lego*` and `LegoRR` properties are handled in CFG-type files (Lego.cfg, *.ol, *.ptl, *.ae). Community Edition & Cafeteria LRR:CE supports WAD files just like the original, as long as they use the same executable name `LegoRRCE`. Cafeteria only outputs a WAD file named `LegoRR0.wad` when rebuilding mods, so this is why LRR:CE only functions when using the "Data method". WAD File Format: This info is entirely useless, but interesting none-the-less. There's one extra feature of WAD files that are never seen, but are supported by LegoRR (and LRR:CE). That being file compression. The WAD Entry metadata structure uint32 version -> flags // (1 = Store, 2 = Compressed) uint32 size -> packed_size // size in the WAD file uint32 size2 -> original_size // size of the file when decompressed uint32 offset In reality, version is a flags field, of which only the second bit (`0x2`) is ever checked. When set, the file is treated as RNC (Rob Northern Compression), not to be confused with the other RNC acronym: "Rob Northern Copylock". Following this, size is actually the packed_size (as present in the WAD file) while size2 is the unpacked original_size. When not compressed, these two sizes must be identical. Using the reversed tool rnc_propack, and creating WAD files with the output (while writing the appropriate metadata), the game still manages to read the game data files as expected... until it tries to read certain compressed .wav files and crashes mid-loading screen... All other file types seem to work fine, though. This means there's at least a few wav files that are read or used in unexpected ways... or the compression/decompression fails at some point. It's also not all wav files, since LegoRR1.WAD is fully converted and contains numerous interface SFX. I managed to get the 2 WAD file sizes down to nearly half their original size using compression. (74MB -> 40MB, and 3.6MB -> 1.9MB). And the game still loads a lot faster with compressed WAD data over using the Data directory method (which is the biggest benefit of WAD files: faster, more compact even without compression, and much less stress on the file system and Windows indexer).
    4 points
  5. trigger_segfault

    In-depth Look at the CFG Syntax

    Progress Bar Direction: The prefix seen in front of the ProgressWindow property near the top of Lego.cfg states the direction the loading bar expands in. Valid values are: U p R ight D own L eft ProgressWindow L:142,450,353,9 ; loading to the left for a fresh new look You can also leave out the prefix (and the engine checks for that), but it'll end up placing the loading text in the top left corner. Map File Modifiers: This is the most bizarre find so far, and I can't think of any conceivable use for this, considering how strict many of the MAP file formats are. A handful of Map file properties defined in individual level blocks allow a numeric modifier postfix: "Map\file\path.map:2" (valid range is -128 to 127) When reading the respective map file, all block values (as can be checked in the RRU knowledge base), will have this modifier number subtracted from them. Positive numbers (which are subtracted) seem to be less useful, considering many maps will always contain block values with 0, forcing the value into an invalid range. MAP types with modifiers: PredugMap TerrainMap CryoreMap PathMap BlockPointersMap In practice (many crashes were had in finding good fits): PathMap Levels\GameLevels\Level23\Path_23.map:1 ; change the starting power paths into Rubble TerrainMap Levels\GameLevels\Level23\Surf_23.map:-1 ; Reduce the hardness level of all walls? (and other effects) CryoreMap Levels\GameLevels\Level23\Cror_23.map:-1 ; every block without spawns now produces 1 energy crystal (also ore and energy crystal spawns are swapped) PredugMap Levels\GameLevels\Level23\Dugg_23.map:-2 ; change undiscovered caverns into undiscovered Slimy Slug holes (this could break everything because I recall seeing a very low hard limit on number of holes) .
    4 points
  6. lol username

    Atlantis website items/lore

    hey remember that lego atlantis site with the items you could find and stuff found an old screenshot and wanted to revisit it/see what the item descriptions were luckily the BMP has it archived: http://biomediaproject.com/bmp/files/LEGO/gms/download/Atlantis/ but actually getting ingame didn't seem to quite work, and a partially-complete wiki claims the remaining 10 items are part of the quest for the golden king game: https://legoatlantis.fandom.com/wiki/The_Atlantis_Adventure#The_Treasure_Chest but all most of the data is exposed in pngs/xmls so I figured I might as well make it all more accessible here RevolverTreas Billy the Squid's Gun One of the fabled guns used by Billy the Squid himself! This gun has seen its fair share of warfare and is certain to help its wielder through the tightest of undersea scuffles. But beware; there are most certainly others in search of its enchanted power! WheelTreas Wheel of the Deep A ship without a wheel is like a pirate without a peg leg. Researchers speculate that it once belonged to the Flying Dutchman. Is this why the Flying Dutchman is doomed to roam the ocean waters for eternity? HookTreas Captain Hook's Hook As the right hand of one of the most despicable pirates to have ever sailed the seven seas, Captain Hook’s hook saw a lot of destruction and havoc in its life. At the time of the Captain’s eventual death, so feared was his legacy that his crew declared the hook cursed and sank it to the bottom of the ocean. RingTreas Poseidon's Ring Poseidon himself wore this ring during his rule of Atlantis. Made from blinding diamonds and pure gold, this piece of jewelry had fantastic powers, from controlling tidal waves to winning a fickle bride to be. MaskTreas Mask of the Ancients The ancients of Atlantis wore this all-powerful mask during major rituals. Like a seashell, it echoes the beats of the drum and the shouts of the civilization from so long ago. While it has been out of use for centuries, it still radiates the power it used to hold. WrenchTreas Trench Wrench Lost in the deep ocean trenches of the sea, this wrench once played an integral role in the industrial revolution of Atlantis. It was used to build everything from their famed seahorse chariots to H2O-tanks for exploring the lands above water. It is surely a very useful tool to have on hand! IdolTreas King Midas Jr. Gold Micro Fig Even the crushing depths of the ocean are incapable of suppressing the beauty and lure held by the legendary Golden mini-fig of King Midas Jr. Countless ships intent upon capturing the opulent statue found their ultimate doom amongst the treacherous waves that protect its watery burial ground. EvilskullTreas Evil Skull There's something not quite right with this skull. It might be the mischievous smirk, its puckered brows or the depths of its glowing red eyes. Perhaps it's hiding knowledge of the treasures of Atlantis or readying a terrible curse. Either way, it seems best not to mess with it. HelmetTreas Lost Diver’s Helmet An explorer must have lost this helmet during a struggle with one of the guardians of Atlantis. Though dented, rusted, and dirty, the helmet should serve as a relic of bravery…and as a warning to those who seek out the treasures of Atlantis. TridentTreas Poseidon’s Trident Poseidon’s great Trident was by his side during his reign over Atlantis. He often used it to rule with an iron, albeit watery, fist; as well as to pick fish out from between his teeth. Perhaps this versatility is one of the reasons Poseidon’s Trident is so sought-after. CrablegTreas Temple Crab Leg This missing appendage seems to be a relic left behind from one of the Atlantis temple's sentinel crabs. Although it's covered with seaweed and been battered by the ocean water, its pointed claw can still impale the thickest of steel or make the tastiest of meals. WandTreas Sea Witch's Wand While nobody knows if this wand was used to cast spells on humans or grant wishes to mermaids, it still sparkles likes its brand new. Magic is definitely hidden within its star-shaped tip, but only a real Sea Witch can to activate it. ScepterTreas Mermaid Scepter Since the mysterious disappearance of the Mythic Merpeople, many have sought the fabled Mermaid Scepter. Said to grant any who wield it the ability to breathe underwater, this powerful apparatus is one of the most sought after treasures of the deep! SugarskullTreas Skull of a Thousand Wishes With its mysterious grin and eyes, this gemmed skull seems to hold all the powers of the sea! If rescued from its murky grave, perhaps its bejeweled brain could help fulfill the dreams of its keeper! HarpoonbaseTreas Harpoon Though battered and dirty, this harpoon was once the mighty weapon of choice for treasure hunters trying to survive against the terrifying beasts of the deep. Its casing may be rusted, but with a little polish and elbow grease, this could once again be a wicked weapon. HarpoonhookTreas Harpoon's Hook Lost during a fierce battle between the Atlantis warriors and treasure hunters attempting to steal from the Temple of Atlantis, the harpoon hook lay hidden by rocks and seaweed on the ocean floor. Though it was heavily damaged in a chaotic fight, it would still make an excellent trophy for those sharp enough to find it. CrystalTreas Lost Power Crystal This Lost Crystal pulsates purple with power and is believed to grant its holder super-human strength. Once located in abundance along the ocean depths, scientists theorize that Atlantis warriors were sent to battle with pendants of these very crystals slung from their necks. PropellerTreas Old Explorer's Ship Propeller This propeller was attached to a fearsome pirate ship that once terrorized the seven seas! A curse cast by a sorceress to punish the crew’s dastardly deeds caused it to detach from the vessel and sink into the inky deep. TreasureTreas Treasure Island Treasure It’s every Captain’s dream to find a treasure chest full of gemeralds! Now that it has been uncovered, what will they be spent on? A pocketful of these gleaming beauties is enough to buy a magnificent ship, and the chest itself would make any sailor a splendid trophy. MessagebottleTreas Message in a Bottle It’s a container. It’s junk. It’s a secret message that somebody wants passed on! This weathered bottle must have been drifting in the open sea for an extended period of time. Isn’t it time its message is announced to the world? ok so that's the first 20 of 30, they have pngs defined outside of the main flash files the other 10 have their images inside one of the swfs, so I ripped em SwordTreas Captain’s Sword Once adorned with hundreds of gemeralds and able to cut through steel like jellyfish, this Captain’s pirate sword was lost during an epic battle between pirates and the creatures of the deep. It now lies hidden amidst the muck at the bottom of the sea. SharkTreas Shark Helmet The ancients of Atlantis wore these helmets as a disguise while hunting sharks. No one knows if these actually fooled the sharks, but they sure came in handy as protective gear while playing sea-sports. JoneslockerTreas Davy Jones' Locker The mystery of Davy Jones’ locker has haunted the sea for centuries. No sailor has come back from seeking the truth, but when explorers finally uncovered the legendary locker, any lost souls had seemingly been transformed into nothing but dirty socks and gym shorts. HornscepterTreas Shark Tooth Scepter This ancient weapon was long used by undersea warriors like the Shark Men of Atlantis. It is adorned with a razor-sharp shark tooth, and has been known to snap tridents in two. HatTreas Captain's Hat Somewhere out there a Captain is without his hat. It’s a little bit dirty and battered, but with the right solvent, it’s bound to compliment any pirate’s outfit perfectly. GobletTreas Golden Goblet Legend has it that whomever drinks out of the golden goblet gains eternal youth. Abandoned in the depths of the ocean, it's become one of the most sought after treasures of Atlantis lore. Who knows if its magic is still intact? GemeraldsTreas Gemeralds of the Sea emeralds are not only said to change colors depending on their owner’s mood, but also to reflect one’s soul. Because of this, they are the most sought after of all crystals and make excellent lie detectors for the sailor’s lucky enough to own them! (yes that seems to be a typo at the start of the description...?) EyepatchTreas Captain's Eye Patch While its appearance may be ordinary, for ages this Eye Patch has remained tangled in seaweed, absorbing the secrets of the deep. By now, the power and mystery held within its aged threads could assist in even the most difficult of quests. DiamondTreas Diamond of the Deep According to ancient maritime legend, this extraordinary jewel is not only flawless, but also the size of ninety ordinary diamonds! Keep your eyes peeled, its radiance is supposedly visible from the surface of the sea. BagTreas Old Explorer's Leather Bag Though it seems just an ordinary leather bag, this satchel belonged to one of the greatest ocean adventurers of all time. Packed full with priceless deep-sea research, what aquatic beast could have possibly forced the explorer to leave it behind? there's then what appear to be two unused treasures, FlippersTreas and LegobottleTreas, no text for them exists though:
    3 points
  7. Brickome

    Forum Upgrade

    I'm reporting this site to the EPA... It's an environmental hazard, for my eyes!
    2 points
  8. Raven319s

    Sweet!

    Just listened to the latest Bits and Bricks episode and had to immediately join this forum. For the past several months I’ve been trying to create my own Open World, Free Build, unlimited adventure Lego Game. I’m only at the very beginnings but having a blast bringing my MOCs and official Lego sets to life. https://youtu.be/poDl-Wybfug
    2 points
  9. Crystalyzer

    Discussion: Closing the Discord server

    Hi everyone, So I've heard quite a couple of people say that they think the RRU forum is dead or dying, and that a lot of the discourse has moved to, Discord. Whilst I think this is a natural development - seeing as that Discord servers have been increasing in popularity and becoming more numerous all together - it seems detrimental to the continuity and the future of our cozy little Lego club. I'm aware of the benefits that Discord brings, as well as of the disadvantages of the forum. Discord supplies us with a much more instantanious form of communication and the ability to call, share screens, and engage socially in other ways. Especially when synergizing/brainstorming about user projects and mods, this is very handy. Having said that: the benefits that the forum provides us with that we don't find in the Discord server, outweigh those of the Discord server. Primarily the loss of conversations and what follows from discussions due to the temporal nature of chat channels, as well as no form of categorization being present (boards, threads, topics), seems to be the problem. Mostly everything on our Discord is temporary; fire and forget. Maybe this is not the case to some who are active every day, but it is to anyone who isn't amongst those few. I am curious about what everyone thinks of potentially closing the Discord server and moving back to the forum as our main means of communication. Also, if you have alternative solutions to the problems named above (that doesn't involve a Discord exodus) please share them; I'll add them here. Lastly: I myself am fine with there not being a Discord server and I know that our most dedicated raiders are pretty active on there. But realize that it's you who are the main forces in our community, responsible for creating most of the (interesting) content. The 90% least-active users don't read Discord everyday, so they miss out on the majority of new content and discussions that would otherwise end up on the forum. Compare it to gamers who stream: their most dedicated fans watch all their streams live, yet the majority of their views come from the clips/sessions they upload to YouTube (assuming they upload them at all). Only in our situation, nothing is archived or uploaded for everyone to see. You can see what this could potentially mean for the future of RRU. Kind regards, Crystalyzer P.S. I've added a poll with public vote results (to encourage discussion amongst ourselves). P.P.S. Just a disclaimer: I'm by no means an active user. I just thought this topic warrants a discussion, so I took the initiative and wrote the initial post.
    2 points
  10. trigger_segfault

    In-depth Look at the CFG Syntax

    I'm looking through the LegoRR.exe assembly for how exactly it reads Lego.cfg, and other cfg-like files (.ol Object Lists, .ptl Mission AI, etc.). The basic syntax already makes sense, but knowing the boundaries helps a lot with weird edge cases. There's already been some fun finds. Base CFG Syntax: Back to Extended Syntax Basics The most interesting aspect is that there seems to be almost no concept of lines. All whitespace characters (tabs, spaces, line feeds, carriage returns, and ';' comments) are treated the same, they all separate tokens (i.e. keys, values, block names, and block braces {}). There is one exception, and that is the newline character '\n', which is required to end ';' line comments. All properties (whether the beginning of a property block {}, or a property key value pair) consume exactly 2 tokens from the config file. A property block's "value" is actually the '{' character, while the '}' character is a special case that's consumed but not assigned anywhere. Because every property consumes 2 tokens, missing a property value/key/etc., or adding one too many can throw off the entire file. Double-slash `//` comments are NOT supported... yet they still appear in Lego.cfg if you search for `// ROCK FOG`. And look! This creates 3 tokens which would throw off the file... except it doesn't, because they appear in pairs every time when defining `FogColourRGB` and `HighFogColourRGB`. This essentially removes the `HighFogColourRGB` property, because the parser ends up treating it as a property value and not a key like so: { FogColourRGB = 110:110:155, // = ROCK, FOG = HighFogColourRGB, 155:155:110 = //, ROCK = FOG } Special Characters ';' - Comments, you see them everywhere. Not much more to add to this, other than the fact that these do not need to be separated by real whitespace. If a value has a ';' in it, it will immediately end (although this is never done in Lego.cfg). As an example, this would be 100% valid: `CreditsTextFile Credits.txt;comment`. '{' '}' - On the other hand, block open/close braces must be separated by whitespace, otherwise they will be considered part of the block name, property key, or property value. e.g. `BlockName{` will not count as an opening brace. A token can start with, end with, or have '{' '}' characters anywhere in the middle, as long as the token is at least 2 characters long, it will be treated like a name, and not as a block brace. '*' - The asterisk is used as a wildcard in block/property key names (at the root level only), and is used as a method for defining base information that can easily be overridden. Most notably, this is seen with the root `Lego* {}` block name. If you look at the bottom of Lego.cfg, you'll see the `LegoRR {}` block "; Settings for the final version", Rock Raiders uses the executable name (LegoRR.exe) -> `LegoRR::Block::Path::To::PropertyKey` when looking up configuration values. If you want to change the executable name, make sure the name starts with Lego, and then you can define custom config settings depending in the full name of the exe when launched. Which brings us to the next character(s): "::" - You'll see this syntax with Levels::LevelName, and Textures::Rock|Ice|Lava,. Internally, Lego Rock Raiders uses this to lookup any property or block key. It uses the same syntax as C++'s namespaces. I'm not quite sure how the usage of "::" is done with property keys, as is seen with `Stream_Objective_Levels::Level01 @Sounds\Streamed\Objectiv\MisObj01` and such, it's possible the handling for this is hardcoded. You cannot use double-quotes to include spaces in key names or values. Spaces can only be used for certain non-file-path text by inserting '_' underscore characters. Common Lego.cfg Syntaxes: Common Keywords and Literals Keywords: TRUE, FALSE, YES, NO, ON, OFF, NULL Integer: 25, -100, +32 Float: 0.1, -2.5, +1.0, 60.0f RGB: 255:0:13 (the `#.#f` float syntax is only seen with the 2 `PolyRange` properties. This is, again, a C/C++ syntax) Common Value Delimiters Very often, a single property key will require multiple points of information to fill in its value. There are 3 common characters used to separate this information, however these are only used for certain properties. Many will use multiple delimiters to signal different things. And many blocks will have comments stating how to format said property value. Delimiters: ':' ',' '|' Commen Key/Value Prefixes Three special prefix characters are seen on many property key and value names. These are as-always, used on a case-by-case basis: '@' (values) - Presumably specifies to stream a sound property value (rather than loading it in memory all at once). This prefix is also utilized in the ToolTips section to denote an image name instead of text (however this is never actually used in Lego.cfg, only commented on). '*' (values) - Seen on a handlful of Sounds\ path property values. Purpose is unknown. '!' (keys) - Seen on a handfull of SFX/SND/etc. property keys. Purpose isn't fully understood, but it seems this is used to denote that a property is an "expensive" resource, that can be ignored/excluded when using an appropriate `-reduceX` command line argument. Format Characters (sprintf) A few property values have dynamic information that needs to be replaced at runtime. These property values expect special "%_" format character patterns. More than anything else, messing up these property values can and will crash the game (immediately upon usage). This is because a program will pass in N values to replace N format characters, any difference in number will imbalance the program's execution stack, and immediately start causing all kinds of unexpected behavior until a crash is inevitable. See the printf reference for all existing format characters, however "%d" and "%%" are only ever seen in Lego.cfg. You can change up and replace "%d" with a different format specifier in-some-cases, but beware that it's a bit more complicated than just keeping the same number of format specifiers. "%%" - An escape to insert in a real '%' percent sign. This does not consume one of those N values passed by the program, it is simply the only way to specify a percent sign without causing formatting to occur. "%d" - Insert a signed integer (whole number that can be negative or positive). All Format Usages: Making Use of this Information: Syntax Highlighting for VSCode (WIP) This syntax highlighting is based on information that was only known before going into the assembly, a lot of the edge cases listed above aren't added in yet, but your average cfg file should be as readable as ever. The extension development is available on GitHub, (along with the rest of this research). It's not in any finished state, or on the VSCode Marketplace, but it can be installed by dropping the containing folder, vscode-lrr, into `C:\Users\<YOU>\.vscode\extensions\`. Fixing the ROCK FOG Comments Comparison of changing `HighFogColourRGB` to `255:0:0` without removing the `// ROCK FOG` comments, and with removing them: Changing the "LegoRR" Root Block Name As explained in the section describing '*' block name wildcard characters, the root namespace at the bottom of Lego.cfg is looked up based on the name of the game executable. When put into practice, here's an example of 3 game variations added to a single Lego.cfg file (ignore the fact that I created duplicate WAD files to match the exe names). The following executable-name-specific properties are defined: LegoRR::Main::PowerCrystalRGB 255:000:000 ; RED Energy Crystals for "LegoRR.exe" LegoSL::Main::PowerCrystalRGB 000:255:255 ; CYAN Energy Crystals for "LegoSL.exe" LegoSS::Main::PowerCrystalRGB 000:000:255 ; BLUE Energy Crystals for "LegoSS.exe"
    2 points
  11. Agent2583

    Lego Racers 2 - RL Cars

    I've noticed that the pictures for the Arctic Cars have expired or something. Is it possible to reupload them? Also I have given them nicknames for each car: (Most of them are Official) Sandy Bay: Prop Car (Undrivable) 4x4 Police Car Coast Guard Truck Coast Guard Buggy Small Dump Truck Fire Engine Post Van Construction Crew Digger Dino Island: T Rex Transport Car Compound Car Jungle Jeep Track Master Alt Compound Car Egyptian Truck Alt Track Master Sam Sanisters Island Racer Mars: Rough Rover Small Rover Mobile Station Mini Shuttle Twin Jet Spaceship Scout Spaceship Blast Rover Cave Searcher Arctic: Expedition Car Polar Scout Small Sled Outpost Sled Outpost Truck Expedition Plow Arctic Base Truck Ice Surfer Xalax: Small Turbo Racer Static Racer Winged Racer Turbo Jet Racer A Turbo Jet Racer B Gauntlet Racer Rama Cars (All Undrivable) I thought of these names because they seemed like a good idea to name them. Most of them are my Nicknames.
    2 points
  12. bradleybrand

    LEGO Racers 1 & 2 Cars

    Yeah, a lot were sets from what I recall. Were some custom ones like bonus game 2-seater car. Unique ones like Rocket Racer's car. In fact bought Sam Sinister's boss race car before. There was a Dino Island truck which looked unique to me. If anyone has sources to LEGO Racers 2 unique builds, that be great. Recently found this - LEGO Racers 2 Sets | Brickset: LEGO set guide and database
    1 point
  13. Arthuriel

    Realistic Illustration of Chief

    Hello there! Nice to see professional illustrations on RRU : ). I don't really remember many other comparable examples on this site (there are more examples from other sites like DeviantArt). A few years back (2 or 3?) a comic artist posted a picture of the Granite Grinder (and probably other pictures), but there wasn't any further activity. RRU also has an art thread (and sometimes members made separate ones), but they are basically all inactive now (I tried to revive one, but it didn't work). I like the addition (or rather change) of the mechanical arm since the original was just a simple turquoise pipe (to be fair: it's a minifigure and the print options were more limited back then). In theory you could argue that a protective cover like for industrial robots would be more realistic, but on the other side it would just look lame and like something wrapped in foil XD. By the way: Is there a part that you personally found the most challenging or interesting?
    1 point
  14. dy_enforcer

    All Cars.png

    From the album: Custom cars from Lego Racers 2

    All my Lego Racers 2 car creation in High Resolution UPDATE: There are a few changes to my collection so look out for them if you see one
    1 point
  15. Ben24x7

    Bits N' Bricks Podcast

    I understand most people are well-aware about this series (especially those of you on the RRU Discord), but for the sake of future reference/preservation, here's a topic dedicated to the official LEGO Games "Bits N' Bricks" podcast. [Side-note to any avid listeners of the podcast: feel free to correct me if I get any information about this podcast incorrect. I'll try to fix any errors post-haste] [ The full playlist of the "Bits N' Bricks" podcast, hosted on the official LEGO Gaming Youtube channel ] What IS the Bits N' Bricks podcast? Bits N' Bricks - Season 2 Full Episode List Episodes of the "Bits N' Bricks" podcast release every Wednesday, at roughly 12 noon [GMT]. The series is available on: - Apple Podcast - Spotify - Stitcher - Youtube - Google Podcast - ...and RSS Full transcripts of every episode are available on LEGO's website. More information about the series, as well as info on the 25th anniversary of LEGO video games, can be found on LEGO's website here: https://www.lego.com/en-gb/legogames-25
    1 point
  16. aidenpons

    Bits N' Bricks Podcast

    In continuing with the theme of future preservation etc (even though it is quietly sitting there in the OP already - good job @Ben24x7 for quietly keeping it up to date), I thought it'd be worth mentioning that Rock Raiders got its own entire episode! Included is an interview with Karl White (that'd be the same dev as in this topic) which didn't unfortunately contain too many extra new insights into development, and an interview with our very own Cirevam (who runs the forum) and Baraklava (developing Manic Miners)! It's very neat stuff for Lego to acknowledge the classic games and this forum to such an extent.
    1 point
  17. aidenpons

    CrystAlien Conflict Level 9 Aliens strategy

    Some of you might remember CrystAlien Conflict. It's a neat RTS made in 2007 as part of Lego's vast collection of Flash games for their products - this time to promote the theme Mars Mission. Kinda like LRR, the game always stuck with me, even though I found it often times easy and wished there was more to the game. Either way, it's still a playably fun game with infinitely less jank than LRR. You send out miners onto the crystals to get money to build buildings, train vehicles, and bring scores of lasers to your enemy! If you want to play it, it's on BioMediaProject's Lego archive. Anyway, the game has a set of story missions. Most of these are simple, some of them are cheesable, and a select few are very difficult. One of them is Alien Level 9, accessed with cheat code 5050. Your job is to get a Saboteur into the Satellite Uplink. But in order to do so, you have to get past the Astro defenses, and you only have a starting force (no base-building this time round!) to do it with. At first glance, this seems downright impossible and a recipe to pull out one of the cheat codes, as your starting units just can't destroy even one of the turrets. You're literally stuck, with no way off your little island home other than death. But! Each unit in the game has a hidden "priority" number. This ranges from the lowest of the low (which is probably Drones, the basic, fodder, infantry unit) to the most threatening units (Recon Dropships and Astro Fighters). This determines in particular what the AI will choose to shoot at, and it's a large part of what makes some of the other levels so challenging: you can't just sit with a tanky unit and send in glass cannons to destroy or sneak past, as the AI will retarget those higher-priority glass cannon units and destroy them. However we can use this to our advantage. By sending the Hyper Carrier (a top-priority unit) along with the Drones, the Defense Turrets will target the Hyper Carrier, giving you just that extra tiny bit of time to destroy a single Defense Station! What then? Well, it turns out this is nearly all you need. If you walk your Saboteurs down the dead center tile, they'll get shot at, and some of them will be destroyed, but reliably at least one Saboteur always makes it out alive. Yippe-kai-yay, we've got everything we need to finish the level! Well, not quite everything: there's a single infantry unit (make sure at least 1, preferably 2, Drones survive the onslaught to deal with this) standing between you and a hidden (but incredibly obvious) Breeding Pit. You can use this, combined with the two cash crates around the map ($2000 near home and $8000 hidden just below the left of the defenses) to build another Drone army, along with some Viper Attacks to dispatch the jetpack unit. Just don't make sure you accidentally aggro the Trikes at the wrong time (they have a pesky habit of sniping Saboteurs) and the level is straightforward! Addendum: The strat used in the current WR sells its Experiment Lab for a Viper Attack which then kites and slowly destroys one of the Defense Turrets for much of the same result. However you now only have a single Viper to deal with the Jetpack at the end of the map, and it's much slower, more tedious, and click-heavy. Addendum 2: There's a lot of RNG involved - in particular, whether the Hyper Carrier gets hit going diagonally, how many Saboteurs and Drones make it through, but I've found that the RNG is consistent enough for this to be a reliable strategy. Addendum 3: It's also possible to use three Saboteurs to tank instead, leaving your Hyper Carrier alive. However this isn't helpful, as the Hyper Carrier isn't able to fly through the gap without being shot down, as its hitbox is larger than that of a Saboteur. Addendum 4: Fun fact: If you don't own the Breeding Pit, and you use your last Saboteur to capture the Uplink, you'll lose the level. Despite fulfilling the win condition. But you lose. I thought RRU would be a good place to post what I found I'd searched for a cheat-less strategy, but hadn't found any, and thought there must be a way. And I found one!
    1 point
  18. aidenpons

    (Almost) Everything You Wanted To Know about Vehicles, Upgrades, and .ae files

    LRR vehicles are an interesting mess of an interaction between their Stats { InternalVehicleName { section in Lego.cfg and their relevant .ae file. Let’s run over the basics first: In Lego.cfg , take a look at VehicleTypes { (line 2000 or so). This is where you actually define “this is a vehicle and you should pay attention to it.” There’s some trickery going on with the Granite Grinder (internal name: WalkerDigger) that I don’t fully understand, but for everything else the format is InternalNameThatLegoCFGUses Path\To\Relevant\Folder That folder must also contain an .ae file of the same name. So Vehicles\Hoverboard must contain Hoverboard.ae . Vehicles\SMLP must contain SMLP.ae . This is what I refer to as the “ae file.” You’ll also need to define it under ObjectNames, as well as just below at ObjectTheNames; ObjectNames defines the tooltip text and ObjectTheNames defines the “You can now transport *the Tunnel Scout*“ or whatever. There’s also InterfaceBuildImages, which defines the icon, Dependencies, which says what you need to teleport it. You’ll need to add new lines to this if you’re making a new unit. There’s also ObjTtSFXs , which defines the hover-over tooltip sound, but is not necessary to get a vehicle working. Anyway, now onto the interesting stuff. THE CFG SECTION This is in the Stats { section, under InternalVehicleName (the one you defined under VehicleTypes). Browse around! If you want something super-basic with no upgrades to confuse you (highly recommended) take a look at the Tunnel Scout (SmallHeli) or Cargo Carrier (LargeCat). Here’s the contents of LargeCat { : LargeCat { ; [Carry][Scan][Speed][Drill] (No carry) (Drill???) Levels 1 RouteSpeed 01.500 SurveyRadius 0 TrackDist 80.0 CollRadius 22.0 CollHeight 25.0 PickSphere 50.0 CanBeDriven TRUE CrossWater TRUE UseWaterTeleporter TRUE ClassAsLarge TRUE CarryVehicles TRUE CostCrystal 4 EngineSound SND_Catamaran ShowHealthBar TRUE } Some of this is mentioned under Creature Modding for the Cadet. It should be pretty obvious when you take a simple example: Levels is upgrade shenanigans (more on this below) RouteSpeed is how fast it moves (tiles per second? Never bothered to quantify the units. Just look at other things) SurveyRadius is the scan radius (for the radar minimap) TrackDist is how far the pop-out tracker camera keeps away from it (you know, the one you never use because it’s on minimap mode?) CollRadius is the collision radius. LRR only handles collision as cylinders, and this is the radius. This is used for First and Second Person View, whether a Rock Monster punch actually hits the vehicle, as well as whether a laser will hit it or not. CollHeight is, as you expect, collision height. PickSphere is the radius from which it can pick things up. Mostly relevant for things like raiders and monsters, as vehicles just drive over to stuff and it goes into their bucket (more on this later). CanBeDriven implies this is a vehicle. CrossWater. Guess what this does! There’s also CrossLand and CrossLava. As you can see, if you leave out any of those it automatically assumes FALSE (this is true of most things). UseWaterTeleporter. Does it use the Docks to teleport down? ONLY use this if the vehicle CANNOT cross land (=> it’s a boat). Otherwise RRs don’t know how to get to it as they can’t walk on water to get to it. ClassAsLarge Solely used for designating things into the Small and Large Vehicles menus. CarryVehicles. This is the Cargo Carrier’s function, after all! CostCrystal, crystal cost. CostOre and CostStuds won’t do anything if you try to use that. EngineSound. Calls Sounds { to point it to the relevant file ShowHealthBar – haven’t toyed around with this I won’t explain all the parameters because a) they’re not needed and b) you should be copy-pasting out an existing vehicle and editing it as opposed to making your own from scratch! Some more interesting parameters are to do with lasers. There are many things you need to do if you want a vehicle to have a laser on it. One of these things is the lines Tracker TRUE CanDoubleSelect TRUE Just look an existing vehicle and you'll get a good idea. The next entertaining bit is to do with Levels. This has some odd behaviour. Many of the vanilla objects have sections that are not defined as they should, with extra values – fortunately LRR ignores those extra values. The Rapid Rider has 3 levels which is utterly absurd! Let’s look at the Small Digger. (FYI, a DrillTime of 0 indicates “undrillable.” Handy for lasers and when you upgrade things to get drills). SmallDigger { Levels 8 RouteSpeed 02.000:02.000:04.000:04.000:02.000:02.000:04.000:04.000 SoilDrillTime 01.000:01.000:01.000:01.000:01.000:01.000:01.000:01.000 LooseDrillTime 02.000:01.000:02.000:01.000:02.000:01.000:02.000:01.000 MedDrillTime 04.000:02.000:04.000:02.000:04.000:02.000:04.000:02.000 HardDrillTime 180.000:150.000:180.000:150.000:180.000:150.000:180.000:150.000 SeamDrillTime 08.000:04.000:08.000:04.000:08.000:04.000:08.000:04.000 MaxCarry 0:0:0:0:0:0:0:0 SurveyRadius 0:0:0:0:4:4:4:4 TrackDist 50.0 CollRadius 10.0 CollHeight 12.0 PickSphere 20.0 CanBeDriven TRUE CrossLand TRUE RouteAvoidance FALSE UseSmallTeleporter TRUE VehicleCanBeCarried TRUE CostCrystal 1 UpgradeCostOre 0:5:10:10 UpgradeCostStuds 0:1:2:2 ShowHealthBar TRUE EngineSound SND_SmallEngine } This now has 8 Levels! But wait, there are only four upgrades. This is because there are 8 combinations of the upgrades it gets. (That’s a lie but keep going with it until I explain more): No Upgrades Drill Only Engine Only Drill + Engine Scanner Only Drill + Scanner Engine + Scanner Drill+Engine+Scanner There, that’s 8 levels. This is just the way LRR works, as opposed to specifying EngineNoUpgradeSpeed and EngineUpgradeSpeed. One positive of this is that it means you can change what the upgrades do with extra stuff – so you could make a Loader Dozer that has its Carry upgrade go slower. (Please don’t do that, they’re slow enough as it stands). However if you now look at SmallTruck, the Transport Truck, you’ll see it has 16 levels. :S That’s funny… it only gets three upgrades, which is 8 total, right? SmallTruck { ; [Carry][Scan][Speed][Drill] (No drill) Levels 16 RouteSpeed 2.0:2.0:3.0:3.0:2.0:2.0:3.0:3.0:2.0:2.0:3.0:3.0:2.0:2.0:3.0:3.0 MaxCarry 003:003:003:003:003:003:003:003:006:006:006:006:006:006:006:006 CarryStart 000:000:000:000:000:000:000:000:003:003:003:003:003:003:003:003 SurveyRadius 000:000:000:000:004:004:004:004:000:000:000:000:004:004:004:004 TrackDist 50.0 CollRadius 10.0 CollHeight 12.0 PickSphere 20.0 CanBeDriven TRUE CrossLand TRUE UseSmallTeleporter TRUE VehicleCanBeCarried TRUE CostCrystal 2 EnterToolStore TRUE UpgradeCostOre 5:5:10:0 UpgradeCostStuds 1:1:2:0 ShowHealthBar TRUE EngineSound SND_SmallEngine } And you’ll notice that several of the parameters are just duplicated: for instance look at the first and second levels, RouteSpeed 2.0:2.0 MaxCarry 003:003 CarryStart 000:000 SurveyRadius 000:000 Utterly identical! That’s because the game doesn’t determine max levels by how many upgrade combinations it has. Instead, it determines it by what the highest upgrade is. Bear with me as I explain this: Drill works like OFF:ON:OFF:ON:OFF:ON:etcetera . That is why the Small Digger looks like MedDrillTime 04.000:02.000:04.000:02.000:04.000:02.000:04.000:02.000 Off, on, off, on, off, on, etcetera. The Engine upgrade looks like OFF:OFF:ON:ON : OFF:OFF:ON:ON (added extra spaces for clarity) . Which is why the Small Transport Truck looks like RouteSpeed 2.0:2.0:3.0:3.0:2.0:2.0:3.0:3.0:2.0:2.0:3.0:3.0:2.0:2.0:3.0:3.0 The Scanner upgrade looks like OFF:OFF:OFF:OFF : ON:ON:ON:ON (again, extra spaces for clarity) . So stuff like the SmallTruck SurveyRadius 000:000:000:000:004:004:004:004:000:000:000:000:004:004:004:004 And the Carry upgrade looks like OFF:OFF:OFF:OFF:OFF:OFF:OFF:OFF : ON:ON:ON:ON:ON:ON:ON:ON Regardless of what upgrades it actually gets, you need to make sure that the sections are filled out properly. So if you want just one carry upgrade – which has only two combinations, carry on and carry off, you’ll still need to fill everything out to 16 levels. Just duplicating the stuff is fine. UpgradeCostOre and UpgradeCostStuds are the upgrade costs (surprise!). What is a little more surprising is their order. It is Carry:Scanner:Engine:Drill If you can spot why this is the case, well done you, and if you can’t, don’t worry about it. So you may have filled out the Stats section correctly but your vehicle doesn’t actually have the upgrade capability. Or you want to take an upgrade off a vehicle, and it won’t go away. This can be rationalized by thinking about the Carry upgrade, which goes up to 16. If I had Carry and Drill the numbers in SoilDrillTime would change. But there would still be numbers in SoilDrillTime anyway. How does LRR determine from that that it’s supposed to get a Drill upgrade – or not get a drill upgrade? Maybe it’s UpgradeCostOre / UpgradeCostStuds. Good guess, but it isn’t. It’s controlled in a different file entirely! … the AE file! AE files control graphics. More importantly, they control graphics in such a way that if you fail to specify graphics the function will fail to execute. Let’s take a look at the Rapid Rider (SmallCat), as it’s the simplest. It’s a bit big for me to be able to paste it out here in full. The top stuff specifies some nifty things that we’ll get to later. Scale is handy for bodging monsters. Also, all vehicles need 4 wheels or the game doesn’t know where they go. For an example of wheels not working correctly see this: https://www.rockraidersunited.com/topic/1740-frozen-wheel-frenzy/?do=findComment&comment=34469 Then there’s some stuff about mediumpoly { and highpoly { , and in other files there’s FPPoly { , which can come in handy but isn’t necessary unless you’re trying to change the look of a vehicle (which is beyond the scope of this document). Next is Upgrades { , which we’ll get to in a moment. What we want at the moment is Activties! This specifies what the vehicle can do. So the SmallCat (Rapid Rider) has: Activities { Activity_Stand Stand Activity_Route Drive !Activity_HitLeft HitLeft !Activity_HitRight HitRight !Activity_HitFront HitFront !Activity_HitBack HitBack Activity_TeleportIN TeleportIN } The left column is an internal name for the activity. Stand means idle, Route means move, and most of them are self-explanatory (at least if English is your native language). The right column is just a label identifier for later in the file. So just below this for instance is TeleportIN { FILE SC_Teleport LWSFILE TRUE LOOPING FALSE } FILE specifies the name of the Lightwave .lws (LightWave Script) that is the animation. LWSFILE is always set to TRUE (don’t know what it does). LOOPING turns up occasionally but seems ignorable. There’s also TRANSCOEF, which seems to be a speed up/slow down parameter for the animation. 0 (and 1?) mean no change. I haven’t toyed with this but you’re welcome to. So the Rapid Rider can stand (idle), route (move), get hit, and teleport in. Not much, eh? In a lot of these cases the game defaults to the idle (or just the first? I don’t actually know) animation if you haven’t specified it – for instance, with Carry (which you can specify, at least if monsters and raiders are any judge) the game seems to know to default to the move animation. Which is nice. I don’t know what the exclamation marks do, so don’t ask me. However, the .ae also determines what a vehicle can do. If you want it to be drillable, you’ll need to add Activity_Drill. If you want it to shovel, you’ll need to add Activity_Clear. If you want it to carry vehicles, you’ll need to add the activity for that too. (Just grab it out of another vehicle’s .ae file to know what you need to do). At this point it’s worth noting the full list of vehicle functionality: carry ore and crystals carry small vehicles drill walls have a laser clear rubble scan things Until LRR 2 comes out, it is impossible for vehicles to be able to do anything else. So these are off the list, for instance: reinforcing picking up studs smooth Power Paths automatically zapping monsters on Action Stations anything that isn’t a functionality of an existing vehicle in LRR However, it is possible for one vehicle to do all of these at once! https://www.rockraidersunited.com/topic/8467-hover-scout-upgrade/ Although curiously if a vehicle is carrying something it is unable to drill, clear rubble. Dropping the cargo enables drilling again. This is probably why the Small Digger has no Carry functionality. (This is also why the Loader Dozer carry sucks hard as it’s impossible for it to shovel whilst carrying…) However, what’s also needed are these things called nulls. These basically define where stuff goes. For instance, the Small Transport Truck has a null to define where its wheel goes. It has another null to define where the driver goes. It has another null to define where the camera goes. More usefully, it has a null to define where its resources go. Actually, it has a null to define where one resource goes. It has 8 more nulls too. Wait, 9 total? Yep. It has 3 for the initial carry. But then its 6 upgrades are in a different spot – meaning it needs more nulls for that. That’s what CarryStart does in the CFG – it specifies the null offset for carry nulls. A carry null isn’t exactly necessary as if you leave it out the resource will graphically just stay at the position you picked it up, but be with the vehicle – so you probably want one anyway. A drill null is also necessary. Not entirely sure why, but you’ll need it. These nulls are defined in the .lws file for the activity. Editing .lws files properly requires LightWave, however it’s super easy to add new nulls in Notepad!++. (I highly recommend this tool over Notepad. It’s fantastic!). You'll probably want to add your nulls to the move and stand animation, but don't bother with the Hit ones unless you really want to - the stuff will just disappear for that animation and come back when it's finished. (This is why the STT drops its cargo when hit: it doesn't have carry nulls in its hit animation!) Also, you can point multiple activties to the same file, which is nice. Take a look at SmallHeli\SH_Hover.lws . There’s a whole bunch of interesting stuff which we don’t really care about but we’re interested in the nulls. Somewhere you’ll find something like AddNullObject CAMERANULL ShowObject 8 7 ObjectMotion (unnamed) 9 2 0 17.12506 -71.58105 0 11.9 0 1 1 1 0 0 0 0 0 0 17.12506 -71.58105 0 11.9 0 1 1 1 30 0 0 0 0 EndBehavior 1 ParentObject 1 ShadowOptions 7 I don’t know what most of this does but I do know this much: 0 17.12506 -71.58105 0 11.9 0 1 1 1 This controls the position and probably rotation of the null. The co-ordinates are of the form X Y Z ????????????????? That is to say, “side-to-side” “up-and-down” “forward-and-back.” So you can see that this camera null is quite high up and quite far back, and I don’t know what the other numbers do. So, if we want a carry null, we might write something like this: AddNullObject CARRY_NULL ShowObject 8 7 ObjectMotion (unnamed) 9 2 0 5 -11 0 0 0 1 1 1 0 0 0 0 0 0 5 -11 0 0 0 1 1 1 30 0 0 0 0 EndBehavior 1 ShadowOptions 7 And we would paste it at the end of the null list. Pasting it in the middle causes things to break occasionally as occasionally nulls reference other things by their position in in the list, so don’t interrupt it. And we can now define it up the top of the .ae, like so CarryNullName CARRY_NULL CarryNullFrames 1 If we had multiple carry nulls we’d adjust CarryNullFrames accordingly. The same idea goes for adding a drill null! If you’re adding a null to put a laser there’s a little more work you need to do in the .ae file. Just copy and paste it from the other vehicles with lasers, but it seems you need xPivot Rotator PivotMaxZ 0.3 PivotMinZ -0.3 FireNullName Fire_Null You don’t need to make a null and call it Fire_Null. That line just needs to exist. Similarily xPivot and Rotator have nothing to do with the .lws file. There’s probably more that could be played around with here (probably allows you to mount lasers on the side of something, like yPivot, but I haven’t needed to try this). Now, what if you want upgrades? Well, even if you don’t you still need to specify what happens at the “no upgrades” level! Most of the stuff is pretty explanatory. Take a look at SmallHeli.ae : Upgrades { ; '000' represents a three bit binary number for each type of upgrade... ; All the parts in every section will be removed when any other level is selected... ; Format (No spaces are allowed in the second column: ; <Upgrade part (defined in Lego.cfg)> [TAB] <Null object name>,<Null instance (1-n)> ; Object Null ;Binary sequence order is [carry] [scan] [speed] [drill] ;therefore a vehicle with carry and speed upgrade will be 1010 Level0000 { ROTORS Blades_NULL,1 ;NO UPGRADES AS OF 9/11/98 } This defines what to put where. In the case of the SmallHeli, it’s just putting the rotors on the first Blades_Null. There’s one more thing – if you want to put a laser on a null you specify the WeaponType (from WeaponTypes { in the cfg) you want it to use after that. So BIGlaser BM_TurretNULL,1,BigLazer “What” can be anything as defined under UpgradeTypes { in the .cfg . In particularly, Sbucket is a handy bucket that you can put on a vehicle. You could mount anything on anywhere! Most of this is pretty straightforward. Copy and paste, fill out stuff as you think it’s necessary, add your new things, and so on. You’ll need to do this for every combinations of upgrade. If you leave out a combination here, it just means that when you upgrade to that combination none of the stuff that should be showing will be showing. But now! If you try out your new vehicle, it can now upgrade! Yep, whether a vehicle can upgrade or not is defined in the .ae file. It’s very easy to break this by leaving out something anywhere. If you want an example, take a look at Hover Scout Upgrade: https://www.rockraidersunited.com/topic/8467-hover-scout-upgrade/ (Still got to troubleshoot its carry upgrade…) And that’s mostly it, I think! I wrote this while tired so I may have forgotten something important EDIT: Yes, there was one more thing! The driving animations are handled somewhere entirely differently - Pilot.ae . I'm not too sure what's going on there either but if you try and copypaste an existing vehicle you should be all good.
    1 point
  19. Cyberbrickmaster86

    LEGO Alpha Team - Windows 10 Setup Guide

    The issues I had previously must of been from a faulty setup I had with Windows 10. Now it's working fine as of today when I reinstalled it. Being able to play without a disc, with full screen display and 1080p graphics does wonders on top of working around an installation that wouldn't normally work in modern Windows operating systems due to lack of support for Direct X these days. And that is always good, because playing it on an old Windows XP computer is out of the question, when doing so gives you an annoying audio loop bug.
    1 point
  20. Smithy

    Discussion: Closing the Discord server

    Delete the Discord? B-but where will the circle-jerk go to?! Lmao, delete it. nobody ever posted anything of worth outside of the modding pages (which, almost always got posted here as well) If you wanted a general LEGO discussion then there's a million other FAR BETTER places then RRU. Some muppet insta-banned me for doing a little bit of trolling to some geek who was clear-as-day trying to start an argument and "stir the pot" so to speak (something this person did often, even though it was explicitly against the rules) Gives you an idea what it was like.
    1 point
  21. mumboking

    High mouse sensitivity when lego program runs

    This could be because of the resolution the games run in. A mouse sensitivity setting for a high resolution may feel too fast when the games switch to 640x480. EDIT: Another possibility might be something to do with the virtual machine's mouse integration.
    1 point
  22. bradleybrand

    Rocket Stunt Bike

    An alternative print for "Rocket Racer" from LEGO Racers 2, perhaps? Rocket Stunt Bike 60298 | City | Buy online at the Official LEGO® Shop GB Has "RR" print on torso.
    1 point
  23. lol username

    Atlantis website items/lore

    yknow what I'm gonna make a second post for this bit treasures from the quest for the golden king game (I guess the wiki above is inaccurate in saying the other 10 adventure items are in there...? some of these are duplicates of the "main" treasures) is it possible those other 10 items in the main "game" were unused...? I never figured out how to get them anyway on with it Stone Breaker Hammer This ancient tool was used by the first inhabitants of the Long Lost City to construct the walls of the majestic temple. But, who first stepped foot on Atlantis ground to this day remains a mystery – was it the dark guardians or the army of the Golden King? Golden Goblet Legend has it that whomever drinks out of the golden goblet gains eternal youth. Abandoned in the depths of the ocean, it has become one of the most sought after treasures of Atlantis lore. Who knows if its magic is till in tact? Captain’s Sword Once adorned with hundred’s of gemeralds and able to cut through steel like jelly fish, this Captain’s pirate sword was lost during an epic battle between pirates and the creatures of the deep. It now lies hidden amidst the depths of the ocean muck. Angler Helmet The ancients of Atlantis wore these helmets as a disguise while hunting angler fish. No one knows if these actually fooled the fish, but they sure came in handy as protective gear while playing sea sports! Lobster Claw A preserved relic left over from the infamous evil lobster invasion that dates back 200,000 years. The golden warriors defeated the lobster guardians in this epic battle by severing the claw of the Lobster Leader, Sir Larimus Lobsterus. His missing appendage has never been found. The King’s Warrior Shield Once held by the Golden King, this shield was used to protect against the evil guardian’s attacks. Made by the strongest of golden titanium steel, it is said to be indestructible to any strike making it the most coveted defense in all of Atlantis. Lost Tooth of Robby the Angler An early species of angler fish bit down too hard on its prey and lost one of its many sharp teeth. His fish friends constantly made fun of him for his toothless smile, so he offered a handsome reward to anyone who could find it. Atlantis natives have been searching for thousands of years. Sea Snake Whenever this venomous villain sheds its skin, it becomes fossilized to solid gold making it one of the most valued treasures in all of Atlantis. Treasure hunters comb the waters near and far looking for these reptile remains. The Wise Fish This relic knows the answers to almost everything in the world. The secrets of Atlantis are truthfully known by this wise fish. Ask it a question and you shall receive the answer. Perfect for helping schools of fish with their homework. Shell Cracker This sturdy axe was used by Atlantis warriors to defend against dark guardians during attacks on Atlantis. The axe was proven to be especially effective against the crustacean guardians like the lobster and crab! This weapon is sure to put any enemy in a crabby mood.
    1 point
  24. aidenpons

    In-depth Look at the CFG Syntax

    Wow, amazing finds once again! Huh. Not only is this amusingly jank, I'm also surprised at how it means some sounds that were intended to play just never do - particularly those slipup and groan sounds (which relate to small spiders): what was supposed to be a choice of two sounds becomes only a choice of one. The scared scream is a choice of three not four. Rock monster steps, electric fence zaps, raider hup's & haa's, and some other sounds are also affected by this, but they're much less noticeable. I kinda want to see if I can restore them in Improvements Pack... This would make a lot of sense - using those various command line parameters you can stop those animations from playing (I particularly remember toying around with the rockfall due to it behaving weirdly on one of my PCs), and it makes sense that the sounds wouldn't play as well. On boot makes a lot of sense with some of the modding crashes I've encountered. Whilst I've never poked sound modding, I noticed that some invalid model etc files were causing crashes on model load, as opposed to eg any time you actually teleport the model in. Using Community Edition you can enable the -logging parameter which tells you what the game is loading when. I can see that LRR is loading a whole bunch of sound files, like the Catamaran's splash (Rapid Rider), but not the mission briefings - which would make sense with what you've specified and how the Streamed section works. Fascinating discoveries!
    1 point
  25. trigger_segfault

    In-depth Look at the CFG Syntax

    Finally found the usages for the key and value prefixes (at least for sounds) Key Prefixes: Reduce Prefix: '!' This tells the game that the sound (and presumably any other resource) will be removed with `-reduce____` command-line arguments. This has been tested on sound effects using `-reducesamples`. This will eliminate a large number of tooltip and interface sounds we all known and love. !SurfaceSFX_Medium Sounds\Voices\Surfaces\looserock !SurfaceSFX_Rubble Sounds\Voices\Surfaces\rubble Other spotted uses of this prefix: Probably for `-reduceflics`: Flics { !Score Avi\Capt.flh|121|153|234|327 } Probably for `-reduceanimation`: !MenuWipe Interface\FrontEnd\Rock_Wipe\RockWipe Value Prefixes: I've only researched usages of this for sound at the moment. Though again, the config file states other areas where this should be supported. Multiple Instance Prefix: '*' States a sound can have multiple instances playing at once. If this prefix is not present, and a new sound needs to play, it will cut off any currently playing instance of the sound and start a new one. SFX_Drill *Sounds\drtdrillc Streamed Prefix: '@' Sound is streamed (and it will sound a bit louder). Cannot be used with '*' to play multiple instances at once. When this prefix is not specified. The sound file will be fully loaded in memory, supposedly on boot. Stream_Objective_Levels::Level01 @Sounds\Streamed\Objectiv\MisObj01 BUG: When defining a Sound Group (with ','), the Streamed flag will be applied to all future sounds in a group after the first-listed sound with '@'. (Note: It hasn't exactly been tested if Streaming functionality is even supported with Sound Groups) Reduce Volume Prefix: '#' Reduces the volume of a sound. This one follows a format: #number# Where number should be a whole number between -10000 and 0 (anything else is set to 0). The lowest number will make it silent, while the highest (0), will keep it at the original volume. (this prefix is never used) !SurfaceSFX_Immovable #-100#Sounds\Voices\Surfaces\solidrock Combinations with '#' This prefix can be combined with '*' or '@', however note that the order is important: The Multiple Instance prefix must come before the Reduced Volume prefix: !SurfaceSFX_Immovable *#-100#Sounds\Voices\Surfaces\solidrock Meanwhile the Steamed prefix must come *after* the Reduced Volume prefix: !SurfaceSFX_Immovable #-100#@Sounds\Voices\Surfaces\solidrock POSSIBLE BUG (technical): When parsing the this prefix, it seems the program doesn't properly terminate the number string, which can potentially allow for garbage data to be included in the number. Worst-case-scenario is the volume would be quieter, but it entirely depends on what data was previously in this location. Miscellaneous: Sound Group: ',' This is used a lot in the samples Block to define multiple sound effects that can randomly be selected from a single type of sound: !SFX_Drip Sounds\drip1,Sounds\drip2,Sounds\drip3,Sounds\dripsA,Sounds\dripsB,Sounds\dripsC Different Value Prefixes listed above should supposedly work with each individual sound (the prefixes are parsed individually for each sound in a group). LIMITATION: The game engine only has room for 200 total extra sounds defined in groups. (1 slot is used for each sound defined after the first comma ','). BUG: When defining a second sound (turning it into a group), the first sound's information is overwritten with that of the second sound (which also makes the second sound twice-as-likely to play when more than 2 sounds are listed. You may notice a lot of first-listed sounds that you've never heard before in-game. Listen to groan1.wav or slip1.wav for good examples: !SND_Slipup Sounds\Minifigure\slip1,Sounds\Minifigure\slip2 SND_Groan Sounds\Minifigure\groan1,Sounds\Minifigure\groan2
    1 point
  26. Crystalyzer

    Discussion: Closing the Discord server

    I presumed it could happen, but this is good news! Thanks for clearing that up, I guess you can understand where I was coming from. Indeed, and I think it's a shame because (I assume) people post interesting stuff all the time in the Discord and that stuff gets lost in the stream of messages. On the Discord people argued that they don't want everything they say to be archived, which I fully agree with. I think it's better to look at it from a different perspective though: the original forum conversations. I can't speak for others, but for me posting on a forum has always been more than just chatting up some people in an online chatroom. You're making a statement, a point, an argument, instructions, explanations, personal and professional opinions... It's up to you to decide what to write and what not to write. You know it's going to be out there for other (anonymous) people to read, so you put some extra effort in. Discord feels, in that regard, like a safe space where none of that applies which inevitably leads to lower quality discussions. Lastly, there were some other insightful (and slightly agitated) comments on the Discord discussion that I think were valuable, but it's up to those people to post them here; I'll quote someone like @Cirevam did with me if I think it applies to my original post. (btw, thanks Cirevam for quoting me like that, I've never been quoted cross-platform before and it's nice, I think.) Edit: @JimbobJeffers You made some very valid points btw. For me that's exactly how I saw the internet and how I found RRU. EE Heaven is one of such communities that has posts from before I saw my first YT video that I still found relevant last year when reinstalling Empire Earth 1. And there are lots of those communities around the web, sadly not all with such dedicated admins as we have.
    1 point
  27. Sunchipp

    LEGO Racers 2 - Lego Island Race Car Remade

    From the album: Sunchipp Mods

    Its the best I coulda done but you can see the resemblance
    1 point
  28. I'm still reading through the first post, so I'll add addendums here and keep editing until I get through all of it. I'm finished. PickSphere is used for the size of the selection box around units, as well as their collision for the mouse. If you set it to zero, you cannot directly click on the unit to select it. You must click and drag. Generally, units pick up things either by putting their origin directly over the object's origin (trucks picking up materials), or by putting a specific null on the target object's origin (monsters, Cargo Carrier). But I remember that, sometimes, units don't need to move to pick up nearby materials if they are close enough. Maybe it uses CollRadius. I haven't tested that. An easier way to explain the vehicle upgrade system, if you understand binary, is to consider that upgrades are (probably) stored as four bits. If 0000 is the beginning state of the vehicle, then 0100 is an upgraded state. It goes like [Carry][Scan][Speed][Drill], so that upgrade state is a vehicle with a scanner and nothing else. 1001 means it has a carry and drill upgrade. 1111 means it has everything. Since Carry is first, you can ignore it if the vehicle has no carrying ability. That's why the SmallDigger has eight levels and the SmallTruck has sixteen. 0111 is 7 in decimal, and 1000 is 8. The SmallDigger's level variable will never go higher than 7, so you don't need to specify anything further than that. This is false but I wish it were true. Any driver nulls you see are unused. The driver is always positioned at the origin and his animations are manually synced to the vehicle's. This is extremely annoying as it means I have to copy a blank raider to a new vehicle, position him, tie him to the null I'm using to animate the vehicle, then delete the vehicle (without deleting that animation null) and export the raider animation. I can't just sit a raider at the origin. Repeat this for each of the vehicle's animations. If you ever looked into Time Raiders' files, you might see LWS files like "DigTankDrillCombined.lws". Anything with "combined" is one of these vehicle-with-raider animations I saved before deleting either the vehicle or the raider. If I ever make revisions to the vehicle's animations, I use this file. The game checks to see if this null collides with a wall to know when to start drilling it. It has to be out far enough because the null rides up the wall... sometimes. The specifics are still unknown to me. Some vehicles like to ride up walls and others don't. There are also differences between first and third person drilling. X Y Z H P B X Y Z X position, Y position (height), Z position, horizontal rotation (clockwise positive), pitch (downwards positive), roll (anticlockwise positive, labeled as B for some reason), X scale, Y scale, Z scale These values do correspond to an LWS file. They are used by the laser object that gets tacked onto the vehicle. Rotator is a null that is a parent of every object in the animation, but you can use anything from the animation as long as everything else is a descendent of it. Fire_Null is where the laser shot is spawned. These MUST be specified correctly or the laser will not work right. It will not rotate and it will not create the laser shot, but it may still fire if you click. Usually the laser sound plays and nothing else happens. I don't remember ever messing with yPivot. The funny thing about this is that, up until recently, I thought this was true. It's actually false, which sucks. Activities merely allow you to specify an animation for a given activity. The actual activities are hard coded by object type. I discovered this when trying to make a raider type that could only do a limited number of things. I will post my findings here because CYREM HID HIS TOPIC FROM PUBLIC VIEW -------------------------------------------------------------------- There's something interesting about raider types that all of you should know if you decide to pursue your own additional raiders in the future. It seems like the activities that objects can do are not limited by the Activities listed in the object's AE file. The real factors are a combination of CFG entries and (assuming) hard code. I created a brand new raider type with only a few basic activities to see if it was possible to limit what it could do, but the game doesn't ignore missing activities. So while this new raider will pick up and drop materials as expected, since it has the right activities and animations... ...it will also drive vehicles even though there's no activity. Also, things like teleportation and training/upgrades happen instantly since there's no animation defined (which is specified by the activity). The result is a floating robot that does everything much more quickly than the standard raider.
    1 point
  29. Reddius

    Scooter

    A simple port from the original Lego Racers. Download: http://rrubucket.s3.amazonaws.com/scooter_142254.zip
    1 point
  30. ogun

    Ogun's Wad Tool

    Just a repost of my old WAD tool. It can extract and build Lego RR's WAD archives. github at https://github.com/jgrip/wadtool Command line tool only. Mirror Downloads of windows version: Source Compiled edit: Added link to github, removed stale links.
    1 point
  31. Jessietail

    NO WADS! or 10 Wads

    It isn't serious. You can still use the pusher and freezer normaly. And before saying "But those do so little damage", the wads are open aren't they? Now edit the cfg to increase damage values.
    1 point
  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • 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.