Skip to content
Spiderweb Mystery

Technical Findings

Why the webs keep hours

Nothing triggers the webs. Each one is an ordinary map object, the same kind of wire mesh the game uses for telegraph lines, with a schedule attached. The game draws it only during the hours the schedule allows, and every web allows exactly one hour. That is the whole mechanism: no hidden quest, no counter, no condition to meet.

  1. 1A prop, not a script

    Each web is placed on the map like a pole or a rock. No mission, quest flag or honour level decides whether you see it.

  2. 2One hour switched on

    Every scheduled object carries 24 on/off switches, one per in-game hour. A web has exactly one switched on, so it shows for one hour and is gone for 23.

  3. 3Swaps while you look away

    The game adds or removes a scheduled object only when it is off screen, so a web never pops in front of you. The Butcher Creek pentagram is the one exception: its schedule allows the swap on screen, so it can fade in while you watch.

Object00:0001:0002:0003:0004:0005:0006:0007:00
Center web (in two trees)
Heartland Overflow
Scarlett Meadows
Cornwall Kerosene & Tar
Saint Denis
Emerald Station
Southfield Flats
Butcher Creek pentagram
Ringneck Creek (lower)
Heartland Oil Fields (upper)

Black featherRed featherNo featherHidden for the other 16 hours of the day.

Show the actual file entry (for dataminers)

The schedule lives in a .ytyp file and the position in a .ymap file, both binary until a tool like CodeX or OpenIV exports them as XML. This is the Butcher Creek pentagram's entry, line by line.

<Item type="CTimeArchetypeDef">
This object has an hour schedule. Ordinary props use CBaseArchetypeDef and have none.
<name>cablemesh277747_hvlit001</name>
The model. "cablemesh" is the game's wire type; the pentagram is literally drawn out of telegraph-wire segments.
<timeFlags value="16777232" />
The schedule as one number: hour 04:00 is on, plus the "allow on screen" switch. Decoded below.
<position x="2592.522" y="831.73737" z="82.78772" />
Where it sits in the world. This line lives in the companion .ymap file; the lines above are in the .ytyp.
  1. 00off
  2. 01off
  3. 02off
  4. 03off
  5. 04on
  6. 05off
  7. 06off
  8. 07off
  9. 08off
  10. 09off
  11. 10off
  12. 11off
  13. 12off
  14. 13off
  15. 14off
  16. 15off
  17. 16off
  18. 17off
  19. 18off
  20. 19off
  21. 20off
  22. 21off
  23. 22off
  24. 23off

allow on screen: on

timeFlags is these 25 switches written as one number. Each switch has a value (hour 0 = 1, hour 1 = 2, hour 4 = 16, and so on, doubling; the on-screen switch = 16,777,216) and the number is the sum of the switches that are on: 16 + 16,777,216 = 16,777,232. A web that shows only at 03:00 and swaps off screen would simply be 8.

Web registry

WebFeatherVisibleFeather propWeb meshPackWeb hashFeather hash
Center web (in two trees)none01:00-02:00-cablemesh87397_thvy001 / 87399_thvy001 / 87405_hvlit001 / 87455_hvlit001jklm_7_10--
Heartland Overflowblack02:00-03:00spiderdream05xcablemesh19309_hvlit001jklm_11_140x2195E2140x5B04332C
Scarlett Meadowsred02:00-03:00spiderdream06xcablemesh217268_hvlit001nopq_11_140x709C247F0xC004FE14
Cornwall Kerosene & Tarblack03:00-04:00spiderdream03xcablemesh11342_hvlit001jklm_7_100xAA6249CB0x79B3E083
Saint Denisred03:00-04:00spiderdream08xcablemesh217187_hvlit001nopq_11_140x0BCD910A0xA942CEA4
Emerald Stationblack04:00-05:00spiderdream04xcablemesh19339_hvlit001jklm_11_140x03FB5DDA0x8448EDE9
Southfield Flatsred04:00-05:00spiderdream07xcablemesh217239_hvlit001nopq_11_140x796A1E040x9945B676
Butcher Creek pentagramnone04:00-05:00-cablemesh277747_hvlit001jklm_7_10--
Ringneck Creek (lower)black05:00-06:00spiderdream01xcablemesh19279_hvlit001jklm_11_140xE3CB9D960xD6E7944D
Heartland Oil Fields (upper)black05:00-06:00spiderdream02xcablemesh19374_hvlit001jklm_11_140x9149E0670x0EDF0543

Where the files live

RDR2 / levels_1.rpf / levels / rdr3 / area / cables / *_rds_props.rpf

jklm_7_10_rds_props.rpf

Cornwall web, spider glyph, Butcher Creek pentagram

  • jklm_7_10_scratchin

    Spider glyph object (hash 0x47BAD66F)

  • jklm_7_10_scratchin+hidr.ytd

    Glyph high-detail textures

  • cablemesh11342_hvlit001

    Cornwall web mesh

  • spiderdream03x

    Cornwall feather

  • cablemesh277747_hvlit001

    Pentagram mesh

  • cablemesh87397 / 87399 / 87405 / 87455

    Center web meshes

  • jklm_7_10_rds_props_strm.ytyp

    Archetypes incl. timeFlags

  • jklm_7_10_rds_props_strm_0.ymap

    World positions

jklm_11_14_rds_props.rpf

Four black webs and both pole ciphers

  • cablemesh19279 / 19309 / 19339 / 19374

    Web meshes 01, 05, 04, 02

  • spiderdream01x 02x 04x 05x

    Black feathers

  • jklm_11_14_rds_me2

    "W +++++" pole carving (modelled, palette only)

  • jklm_11_14_rds_me3

    "NW [guitar]" pole carving, 5th pole west of me2

  • jklm1114rdpr_combo09_01-08_lod

    Eight pole-combo LODs

nopq_11_14_rds_props.rpf

All three red-feather webs

  • cablemesh217187 / 217239 / 217268

    Web meshes 08, 07, 06

  • spiderdream06x 07x 08x

    Red feathers

The other cable packs (jklm_15_18, nopq_7_10, rstu_96_99) contain only wire meshes: no spiderdream, glyph or carving names. Outhouse tally marks live elsewhere: area/jklm_15_18/but_01_ (but_01_outhouse_cliff*.ydr).

What the file scan adds

Read straight from the shipped archives with CodeX's RDR2 code, plus a search of five decompiled script sets. Positions come from the .ymap files and the base maps are the game's own minimap tiles.

  • The glyph is drawn as a north-up mapDerived

    Fitting the glyph texture's leg tips to the eight feathers (scale, rotation and offset free, body on the center web) gives no mirroring, a 3.4 degree rotation and 4.05 m per texture pixel. Every leg lands 91-261 m from its web. Only 1 in 2,000 random web layouts fits as well (p = 0.0005).

  • Only 21 one-hour objects exist in the whole gameIn files

    Of 2,167 timed archetype definitions in 2,498 .ytyp files, exactly 21 are visible for a single hour: the 8 webs, 8 feathers, 4 center-web meshes and the pentagram. Nothing else hides on the clock.

  • Tally order draws the pentagramDerived

    Joining the outhouse positions from the .ymap files in tally order, 1-2-3-4-5-1, gives a path that crosses itself exactly five times: a pentagram.

  • "Five poles west" is literalDerived

    The me2 carving sits on a telegraph pole. Walking west along that line the files place four more poles, then the me3 pole: the 5th. The center web to me2 runs 359 degrees, and me3 to Fort Wallace runs 313 degrees.

  • The webs are cable splinesIn files

    Every web mesh uses the cable shader's texture, and the center web's four meshes share one plane facing bearing 56 degrees (ENE), tilted 25 degrees up. That is why the webs live in the cable packs.

  • Two guitars, one tilted skywardIn files

    Fort Wallace has one placed p_guitar01x lying flat in the yard (neck about 268 degrees) and a second inside the tower interior old_tower03_int, 9.4 m up and tilted 80 degrees upward.

  • No script touches the trailIn files

    Hashes and names of every clue model, web, feather, glyph and their map files were searched in five decompiled script sets, single-player and online. None appears. The trail is pure map data plus hour masks.

The spider glyph texture fitted over the game map, legs reaching the eight web positions with the body on the center web.
The glyph texture fitted to the eight webs.
Overview map of the trail from Butcher Creek through Fort Brennand, Cornwall, the center web and both pole carvings to Fort Wallace.
The whole trail in file coordinates.

Hiding methods

1Timed archetype

A CTimeArchetypeDef in a .ytyp carries a 24-bit hour mask. The world streamer shows or hides the object on the clock.

  • 8 feathered webs, 2-6 AM
  • Center web, 1-2 AM
  • Butcher Creek pentagram, 4-5 AM

Find more by: Filter CTimeArchetypeDefs with few hours set. Only 21 in the whole game have a single hour, and all 21 are the webs, feathers, center web and pentagram.

2Destruction reveal

A breakable outer object hides a separate model behind it. Shooting the pole or plank exposes it.

  • "W +++++" = jklm_11_14_rds_me2
  • "NW [guitar]" = jklm_11_14_rds_me3
  • LJ & SM behind Outhouse 4 planks

Find more by: Unique model names on otherwise generic props. The pole carvings carry only a palette texture, so their marks are geometry.

3Palette-black geometry

The mark is a few small polygons whose vertex colour selects entry 0, pure black, of the model's tint palette. No texture holds the mark.

  • Tally 6 = civ_01_outhouse
  • Tally 7 + 3 pictograms = civ_twr_03b
  • "W +++++" and "NW [guitar]" pole carvings

Find more by: In models that use a tintpalettetex, look for tight clusters of vertices whose blue channel is near 0.

4Scratched paint

The Butcher Creek outhouse marks sit on two-layer painted planks (standard_2lyr). The strokes show the bare-wood layer through the white paint, steered by vertex alpha.

  • Outhouse tally marks 1-5
  • Fort Brennand symbol on Outhouse 4

Find more by: Open the outhouse in CodeX and inspect the woodPaintedOverlap planks. Our own renderer does not reproduce this shader yet.

5Baked into geometry

Marks are modelled into the mesh itself, so no tell-tale texture exists.

  • Fort Wallace tower roof: three notch shapes in old_fort_twr3's shingle mesh

Find more by: Inspect the model's wireframe in CodeX or Blender (Sollumz RDR2).

6Texture cover

A reused texture is placed over a larger one so only part shows in game.

  • Bacchus Bridge heart (orange pole texture covers the rest)
  • Spider glyph as its own texture dictionary

Find more by: Export the drawable and view its full UV texture.

Observed behaviour

  • Webs spawned with a trainer stay invisible until their hour: visibility belongs to the archetype. source
  • All webs and black feathers spawn from hash; red feather hashes fail with "model is invalid". source
  • A shot feather respawns the next night where it fell, not on the web. source
  • Each feather has its own despawn zone. source
  • Each feather is its own numbered model; dreamcatcher feathers reuse 5-6 models. source
  • Everything ships in base-game levels_1.rpf, not an update_*.rpf patch. source

RDR2 file structure

Top-level archives (game folder)

levels_0.rpf
Navmeshes, cover, cliff points, LOD lights
levels_1.rpf
Area map data per grid block, cables, rails, discoverables, camps
levels_2.rpf
More area blocks, rails, destruction, generic, interiors
levels_3.rpf
Props (generic, urban, vegetation, vfx), interiors, terrain start
levels_4-7.rpf
Terrain tiles per grid block, water, occlusion, ambient map data
textures_0/1.rpf
UI, skydome, probes, shared textures
data_0.rpf
Gameplay data: item database, lighting, effects, lang
anim_0.rpf
Animations, cutscenes, animscenes
packs_0/1.rpf
Peds, models, base packs
hd_0.rpf
High-detail versions of props and textures
update_1-4.rpf
Patches; same paths override base files
shaders_x64.rpf
Compiled shaders

The world grid: folder names are map blocks

Row03_0607_1011_1415_18
fghiColter, Wapiti, Adler RanchThe Loft
jklmValentine, Cornwallweb packEmerald Ranch, Bacchusweb packAnnesburg, Butcher Creek, Van Horn
nopqStrawberryBlackwaterRhodes, Braithwaite, Lagrasweb packSaint Denis
rstuMacFarlane's

Letters run north to south, numbers west to east (inferred from which towns sit where). *_92_95 / *_96_99 are New Austin (Armadillo is rstu_96_99); abcd_11_14 is Guarma. Each block exists twice: area/ for buildings and props, terrain/ for ground tiles.

File types

TypeWhat it isIn the spider web mystery
.rpfArchive (RPF8). Nested: an RPF can hold RPFs.jklm_7_10_rds_props.rpf
.ydrOne drawable model, may embed texturesWeb meshes, feathers, outhouses
.yddDictionary of drawables, e.g. LOD sets-
.yftFragment: breakable or vehicle model-
.ytdTexture dictionaryjklm_7_10_scratchin+hidr
.ybnStatic collision bounds-
.ytypArchetypes: what an object is, LOD distance, time flagsCTimeArchetypeDef timeFlags
.ymapPlacements: which archetype goes whereCEntityDef position
.ymtCompressed metadata (items, peds, scenarios)-
_manifestForces dependent .ytyp files to loadPresent in every cable pack
_lod / _slodLow and super-low detail stand-inscombo09 pole LODs
+hidrHigh-detail texture variantSpider glyph texture

Location prefixes inside area blocks

  • val_ Valentine
  • cor_ Cornwall Kerosene & Tar
  • but_ Butcher Creek
  • eme_ Emerald Ranch
  • new_ Saint Denis (dev name New Bordeaux)
  • rho_ Rhodes
  • bla_ Blackwater
  • str_ Strawberry
  • ann_ Annesburg
  • lof_ The Loft
  • wap_ Wapiti
  • arm_ Armadillo
  • agu_ Guarma

File names are hashed in the archives (joaat). Readable names come from community string lists like OpenIV's RAGE-StringsDatabase.

Tools

CodeX
Fly the map, click any object to get its archetype, file and model. Used to find the center web.
OpenIV
Browse and extract RPF archives; converts .ytyp/.ymap to XML.
Sollumz (RDR2) + Blender
Import exported models to inspect vertices and UVs.
Rampage trainer
Spawn objects by hash, show coordinates and in-game time.
Lenny's Mod Loader
Stream edited files back into the game for tests.

Open questions

  • Where is me1?

    Pole carvings are me2 and me3. No me1 exists in any shipped .ytyp, by name or by hash, and the cable packs hold no unnamed models. source

  • Why is the pentagram filed with Cornwall?

    The Cornwall pack (jklm_7_10) holds two objects far outside its area: the pentagram, 2 km from anything else in the pack, and the center web, 1 km away. With the glyph and Cornwall web, they look like one batch authored together. Why they were batched is still open. source

  • Do the feather colours mean anything?

    The black/red split matches the pack split exactly. One researcher argues two artists packed them and the red texture came from a cut Valentine asset. source

  • Why does the Cornwall feather share the glyph's textures?

    spiderdream03x uses the glyph's texture dictionary (0xF6C867AC) and a val_doc_feather01 texture. The other seven feathers use generic prop dictionaries.

  • What is the feather particle effect?

    All eight feathers carry the same CExtensionDefParticleEffect (fx 0xC5876498, fxType 4). Its name is unresolved; fxType 4 is usually played on destruction.

  • What freezes the clock near the spider pole?

    Reproduced on Xbox and PC along certain headings. No file-side trigger identified: none of five decompiled script sets references a clue asset, its map file or its coordinates, though 200 scripts can pause the clock. source

  • Why does Outhouse 3 have no effect helper?

    Outhouses 1, 2, 4 and 5 each sit beside a but_vfx_outhouse_cliff* effect model. Outhouse 3 (but_01_outhouse_cliff_01) has none.

  • Are the Fort Wallace roof notches the birds?

    The tower roof mesh holds three small notch shapes, one more than the two birds usually reported. Which ones read as birds in game is unconfirmed.

Sources