<- 1  -   of 75 ->
List results:
Search options:
Use \ before commas in usernames
Yea, the more we add to URDE, the more features there are to keep integrated (feature creep). It's kinda slowed us down lately, and I don't have as much free time to work on it as when we started.

URDE certainly hasn't been abandoned though, just back-burnered somewhat.
Edit history:
Aruki: 2016-12-12 01:58:35 pm
Aruki: 2016-12-12 01:56:24 pm
Aruki: 2016-12-12 01:54:55 pm
Aruki: 2016-12-12 01:52:56 pm
Aruki: 2016-12-12 01:52:27 pm
Aruki: 2016-12-12 01:52:15 pm
Aruki: 2016-12-12 01:38:51 pm
SkippyJr alerted me to the existence of a few new MP1/2 kiosk demos so I had a look and HOLY SHIT THE PAL MP1 KIOSK DEMO HAS FILENAMES FOR EVERY ASSET IN METROID1.PAK

Other than that well... the three demos I was able to look at were the PAL MP1 kiosk demo and the NTSC/PAL MP2 kiosk demos.

* PAL MP1 kiosk demo from EUR Interactive Multi-Game Demo Disc: February 2003 (build v1.101, 1/14/2003 17:57:24) - This is actually a new demo of the game. I'm guessing it's because the NTSC demo they used for E3 and for the NTSC kiosks didn't actually support string/font localization so they needed to create a new demo out of a more recent build. Other than the filename list it doesn't seem like there's anything too terribly interesting on here, it's very similar to the final PAL release. Not sure of all the gameplay differences but the build seems to be midway between NTSC and PAL (it has the PAL narrator and the missile counter but you can still scan dash and it has the NTSC Parasite Queen death cutscene).

* NTSC MP2 kiosk demo from Multi-Game Demo Disc v20, v23-26 (build v0.227, 9/21/2004 10:45:09) - Despite having a completely different build number/date this is actually pretty much identical to the bonus disc demo. The only differences I've spotted is there's less videos on this disc than on the bonus disc, there's some Sound property which is 0.0 in the Bonus Disc demo and 1.0 on this demo in two rooms, and there is some texture in Metroid7.pak that apparently has a difference. Other than that there's no changes. I haven't noticed any gameplay differences either, except there's a 15-minute time limit now -w-

* PAL MP2 kiosk demo from EUR Interactive Multi-Game Demo Disc: November 2004 (build v0.237, 9/29/2004 14:51:17) - Same as the NTSC kiosk demo. The main two differences I noticed is first there's a new file called "New Text Document.txt" (yes seriously lmao) which contains the text "setdac NTSC | Pal". They also finally removed the debug RELs from the disc (which are still present in the NTSC kiosk demo). Other than that it's the same AFAIK. Dunno if there's gameplay differences since I didn't really bother actually playing it much.

There's apparently also Australian and Japanese kiosk demos that might have other interesting content on them but I haven't been able to get a hold of those, so this is all I've got for now I think. Still just having filenames for Metroid1.pak is fucking amazing.
that's quite serendipitous.

was this just in some text file in the disc filesystem?
Yeah, they're in a file called Metroid1.pak.contents.txt. The leaked MP3 prototype build has similar files for every pak, but we've never found them in any other build prior to now. Judging by some debug strings in the MP3 proto's dol, I think basically debug builds of the game read the .contents.txt file and uses it to create an ID-to-filename mapping which I guess would be used for some debug messages. None of the retail builds have the capability to read those files.
Soo if anyone's interested here is a list of the internal area names in MP1: http://pastebin.com/gV64XagK

MP2/3 have internal names for every room in the MLVL but MP1 doesn't, but MP1 does reference internal names in various script object names (mainly docks, POIs, and ScriptLayerControllers). So after seeing the Frigate internal names in the PAL filename list, I got curious to see how many of the names for the rest of the game were deducible from the script data. Turns out almost all of them. Almost every room had a name and a lot of the ones that didn't were pretty easy to guess due to Retro's naming conventions. The only two that don't have names and that I can't really guess at are Burning Trail and Chapel of the Elders.

probably going to be using this somehow, not totally sure how yet.
Edit history:
Aruki: 2016-12-29 12:09:28 am
Hey just on the offchance anyone's interested in doing more work on DKCR, there is a SHITTON of debug info in the 3DS version. Not only does every asset have an actual filename (which could be manually ported to the Wii version tho I'm not sure if it could be automated since all the asset IDs are different), but the executable has symbols, tons of debug strings that got compiled out of the Wii version, and a ton of script property names. The properties don't seem like they're in order so it would still take some work to map them to the property IDs (unless there's a more straightforward mapping in the code with an actual disassembly) but there is DEFINITELY a ton of stuff in there that we could use in the Wii version if someone gets it organized.
This video in the Boundary Break series moves the camera around in Prime away from the player position.

It shows many things known for years, but there might be some new and useful information including:
- how the HUD is rendered and what it looks like
- the skybox is a textured model always centered on the player's location
- there is a secret in the cutscene after Prime's defeat
well, that was frustrating.
I don't know what you're talking about, those are totally unknown, I'm absolutely surprised I never noticed those things before.
Edit history:
Aruki: 2017-01-08 12:06:22 am
I actually commented on that video back when it was posted. There's some neat stuff in there and it definitely showed a couple things I didn't know but probably nothing exceptionally useful? I definitely don't want to bash the video or the author of the video but there's also a fair bit of stuff in there that is not correct. ie the "secret" you mentioned is just a scripting mistake and doesn't mean anything but he tries to attribute it to some sort of unused content.

edit: also we obviously know how the skybox works given I've been rendering the sky in PWE for quite a while lol
"What if I could take a morph ball there? Well, now we have the technology to find that out."

Datel published an AR code for moonjump ... 13 years ago?

here's Tixov 0.1:

Edit history:
Aruki: 2017-02-05 06:25:25 pm
Aruki: 2017-02-05 06:24:41 pm
I found another .pak.contents.txt file in MP2!!!!!!!

...except it's for the frontend GuiDVD.pak in Wii de Asobu, so it doesn't map to any vanilla MP2 assets at all, lol. So this one isn't very interesting unfortunately. Here it is tho.

If any Retro devs are reading this thread, if yall ever rerelease your games again do us a favor and leave one of these files in the game for every pak, ok? Thanks <3
Hi, are the known MAPA POI type values documented anywhere?

Also, I think there's an error in the MAPA page on the wiki. In the primitive header section it says the table start and end offsets are relative to the current primitive header, but I am seeing that they are relative to the end of the MAPA header. Just in case anyone considers that important enough to verify & fix.
I think the wiki page for MAPA is a little bit out of date. I haven't done any real work with the minimap formats yet but when I do I'll try to update the page.

The only POI type documentation I'm aware of is the URDE header, which you can find here: https://github.com/AxioDL/urde/blob/master/DataSpec/DNACommon/MAPA.hpp
Perfect, thanks!
oh yeah, in case anyone's interested, we're mostly on our own Discord server now. Here's the link: https://discord.gg/edCR3hd
Edit history:
Aruki: 2017-02-24 09:27:12 pm
Aruki: 2017-02-24 09:26:05 pm
New particle stuff in MP3 (except CRSC)

DBPS (Bool)
ORTC (Bool)
PMLT (Bool)
PMTF (Bool)
STOP (Bool)
VGD1 (Bool)
VGD2 (Bool)
VGD3 (Bool)
VGD4 (Bool)
ALSC (Int)
AMSC (Int)
HJAK (Int)
MBDM (Int)
PBDM (Int)
VSPC (Int)
VJAK (Int)
EADV (Real)
ISVF (Real)
SVEO (Real)

BLDM (Int)

ALSC (Int)
SBDM (Int)
XROT (Real)
YROT (Real)
ZROT (Real)

BEAM (Bool)
SREL (Bool)
TCND (Bool)
FADD (Real)
FADS (Real)

BTMI (Int)
B0CH (Real)
B1CH (Real)
B2CH (Real)
B3CH (Real)
B4CH (Real)
B5CH (Real)
B6CH (Real)
B7CH (Real)
B0VL (Real)
B1VL (Real)
B2VL (Real)
B3VL (Real)
B4VL (Real)
B5VL (Real)
B6VL (Real)
B7VL (Real)
OVLH (Real)
OVLW (Real)
SHVR (Real)

IPM0 (Int)
IPM1 (Int)
IPM2 (Int)
IPM3 (Int)
IPM4 (Int)
RPM0 (Real)
RPM1 (Real)
RPM2 (Real)
RPM3 (Real)
RPM4 (Real)
RPM5 (Real)
RPM6 (Real)
RPM7 (Real)
RPM8 (Real)
RPM9 (Real)
VEC0 (Vector)
VEC1 (Vector)
VEC2 (Vector)
MVC0 (Mod Vector)
MVC1 (Mod Vector)
CLR1 (Color)
EMT1 (Emitter)

MULV(Real, Int)

SWLC(Real, Real)

CFDL(Color, Color)

TEXP(Asset, Int, Int, Real)

AFAIK all parameters and functions from previous games are still around, except WPSC's APS1 parameter (APS2 is still there). Again, didnt bother extensively with CRSC. For the most part for sound effects they just added new properties instead of changing the old sound properties to use CAUD IDs instead of sound IDs. For instance WPSC actually still supports the PJFX sound ID property, and it still maps to a sound ID (not a CAUD ID), but it's unused. Instead they use a new property, PSFX, which is a CAUD ID.

DKCR soonish.
The real reason the MAPA node types aren't documented is because we're not sure on all of them, and we really only know MP1's with any degree of accuracy
Edit history:
Aruki: 2017-05-26 09:55:19 pm
hi! Just finished going over DKCR particles. It's kind of interesting - they actually changed a fair bit of stuff. Its still the same format, mind (albeit with a new asset header at the beginning), but they added/removed a -lot- of parameters and elements. One of the most notable additions is they added new element types for Bool and Rotation. There have always been Bool parameters/inputs, but previously they could only reference pre-determined constant values. Now you can dynamically create bools and use them as inputs for elements. Bool constants are actually read in with a completely different function than bool elements (GetBool vs GetBoolElement), so I've marked them differently (BoolConstant and Bool) in the list below. Rotation is entirely new, it's represented via a quaternion. There's mechanisms to fetch bone position/scale which seems like it could probably allow for some pretty interesting effects.

There's also been a ton of params and elements removed. I haven't worked on actually implementing particles yet, so I'm not clear on what each param/element actually does and how significant their removals are. However one of the most notable removals that jumps out to me is that most of the asset parameters in PART are gone, which means it seems like particle systems can't have child particle systems anymore. I'm not sure why they would have taken that out but it seems like they did.

Also, I've been able to get names for quite a lot of these. Most of the elements I was able to look up in the corresponding Tropical Freeze loader function and just grab the class name from Tropical Freeze's symbols. I also have names for some parameters, which I was able to get because for some reason some parameters randomly have pointers to a string with their name in it. Some of them have it and some (most) don't, I have no idea why.

New stuff:

PART Params
DDIT (BoolConstant)
DFOG (BoolConstant)
EMTU (BoolConstant)
FXBI (BoolConstant)
FXBT (BoolConstant)
INDP (BoolConstant)
ITPE (BoolConstant)
NTIK (BoolConstant)
ONET (BoolConstant)
SCNV (BoolConstant)
IAV0 (Int)
IAV1 (Int)
IAV2 (Int)
IAV3 (Int)
MSLT (Int)
PWGT (Int) ParticleWeight
SCTR (Int) SpriteCenter
SSWT (Int) SoftWarmupTime
SVI0 (Int)
SVI1 (Int)
DBIS (Real) DepthBias
SVR0 (Real)
SVR1 (Real)
SVR2 (Real)
FXBM (Vector)
PMPV (Vector)
SAXS (Vector)
SVV0 (Vector)
SVV1 (Vector)
VAV4 (Vector)
CAV0 (Color)
CAV1 (Color)
CAV2 (Color)
CAV3 (Color)
SVC0 (Color)
SVC1 (Color)
MDL1 (Asset)
MDL2 (Asset)
MDL3 (Asset)
MDL4 (Asset)
MDL5 (Asset)
MDL6 (Asset)
MDL7 (Asset)
MDL8 (Asset)
MDL9 (Asset)

SWHC Params
PTMG (BoolConstant)
SCNV (BoolConstant)

XFSC Params
IAV0 (Int)
IAV1 (Int)
IAV2 (Int)
IAV3 (Int)
ADV1 (Real)
ADV2 (Real)
ADV3 (Real)
ADV4 (Real)
ADV5 (Real)
ADV6 (Real)
ADV7 (Real)
ADV8 (Real)
ADV9 (Real)
EFSC (Real)
EOFS (Vector)
SOFS (Vector)
VAV1 (Vector)
VAV2 (Vector)
VAV3 (Vector)
VAV4 (Vector)
EROT (Rotation)
ROT0 (Rotation)
SROT (Rotation)

Bool Elements
CNST() Constant
EQUL(Real, Real) RealEqual
LTHN(Real, Real) RealLessThan
MIRR() Mirrored
NORM(Vector) Normalizeable
P50H() AreWePal50

Int Elements
BNID(string, BoolConstant) BoneIndex (always CNST+string joint name, then BoolConstant)
Removed: SPAH

Real Functions
CEXT(Int, Real) ExternalValue (this was in MP3 but the Real parameter is new in DKCR)
CREL(Bool, Real, Real) Conditional

Vector Elements
BNPS(Int) BonePosition
BNSC(Int) BoneScale
CMPS() CameraPosition
CVEC(Bool, Vector, Vector) Conditional
IRTV(Rotation, Vector) InvRotateVector
ROTV(Rotation, Vector) RotateVector
VEXT(Int, Vector) ExternalValue

Color Elements

Rotation Elements
BNRT(Int) BoneRotation
CNST() Const
CROT(Bool, Rotation, Rotation) RotationConditional
ISWT(Rotation, Rotation) InitialSwitch
KPIN(Rotation) KeepInitial
NONE() None
RADD(Rotation, Rotation) RotationAdd
RADN(Rotation, Rotation) RotationNegAdd
RAXZ(Vector, Vector, Rotation) RotationFromAxis
REUL(Real, Real, Real) RotationEuler
RLCL() RotationInternal
RSBN(Rotation, Rotation) RotationNegSub
RSUB(Rotation, Rotation) RotationSub
RSYS() RotationInternal

Emitter Elements
Removed: SETR

And here's a full list of names I was able to get from DKCTF - some of these are new, some aren't

PART Params
ALSC (Int) ParticleAlphaSourceChannel
AMSC (Int) ModelAlphaSourceChannel
LFOT (Int) LightFalloff
LTYP (Int) LightType
MAXP (Int) MaxParticles
MBDM (Int) ModelBlendMode
PBDM (Int) ParticleBlendMode
PSLT (Int) SystemLifetime
PSWT (Int) WarmupTime
PWGT (Int) ParticleWeight
SCTR (Int) SpriteCenter
SSWT (Int) SoftWarmupTime
VSPC (Int) EmitterVelocitySpace
XTAD (Int) XTimesAdditive
DBIS (Real) DepthBias

SPSC Params
GIVL (Int) TranslationMode

SWHC Params
ALSC (Int) AlphaSourceChannel
LENG (Int) Length
SBDM (Int) BlenDMode
SIDE (Int) Sides
SPLN (Int) SplineNodeCount

Int Elements
ADD_(Int, Int) Add
BNID(string, BoolConstant) BoneIndex
CHAN(Int, Int, Int) TimeChain
CLMP(Int, Int, Int) Clamp
CNST() Constant
DETH(Int, Int) Death
DIVD(Int, Int) Divide
GAPC() GetActiveParticleCount
GEMT() EmitterTime
GTCP() GetTotalCreatedParticleCount
ILPT(Int) ParticleLifetime
IMPL(Int) Impulse
ISWT(Int, Int) InitialSwitch
KEYE(KeyframeEmitterData) KeyframeEmitter
KEYF(KeyframeEmitterData) KeyframeInput
KEYP(KeyframeEmitterData) KeyframeParticle
KPIN(Int) KeepInitial
MODU(Int, Int) Modulus
MULT(Int, Int) Multiply
PULS(Int, Int, Int, Int) Pulse
RAND(Int, Int) Random
RTOI(Real) RealToInt
SUB_(Int, Int) Subtract
TSCL(Real) TimeScale

Real Elements
ADD_(Real, Real) Add
CEQL(Real, Real, Real, Real) ConditionalEquals
CEXT(Int, Real) ExternalValue
CHAN(Real, Real, Int) TimeChain
CLMP(Real, Real, Real) Clamp
CLTN(Real, Real, Real, Real) ConditionalLessThan
CNST() Constant
CREL(Bool, Real, Real) Conditional
CRNG(Real, Real, Real, Real, Real) ConditionalRange
DOTP(Vector, Vector) DotProduct
GTCA(Color) GetColorA
GTCB(Color) GetColorB
GTCG(Color) GetColorG
GTCP() GetTotalCreatedParticleCount
GTCR(Color) GetColorR
IRND(Real, Real) InitialRandom
ISWT(Real, Real) InitialSwitch
ITRL(Int, Real) IntToReal
KEYE(KeyframeEmitterData) KeyframeEmitter
KEYF(KeyframeEmitterData) KeyframeInput
KEYP(KeyframeEmitterData) KeyframeParticle
KPIN(Real) KeepInitial
LFTW(Real, Real) BlendByLifetimeConstant
MULT(Real, Real) Multiply
MULV(Real, Int) MULV(AddVarIdx) - deprecated
OCSP(Int) OscillatingSweep
PNO1(Real, Real, Real, Int) PerlinNoiseOctave1d
PNO2(Real, Real, Real, Real, Int) PerlinNoiseOctave2d
PNO3(Vector, Real, Real, Int) PerlinNoiseOctave3d
PNO4(Vector, Real, Real, Real, Int) PerlinNoiseOctave4d
PRLW() ParticleValue_Rotation_LineWidth
PRN1(Real) PerlinNoise1d
PRN2(Real, Real) PerlinNoise2d
PRN3(Vector) PerlinNoise3d
PRN4(Vector, Real) PerlinNoise4d
PSLL() ParticleValue_Size_LineLength
PULS(Int, Int, Real, Real) Pulse
RAND(Real, Real) Random
RLPT(Real) ParticleLifetime
SCAL(Real) TimeScale
SINE(Real, Real, Real) SineWave
SUB_(Real, Real) Subtract
TOCS(BoolConstant, Int, Int, Int) TimeOscillatingSweep
VMAG(Vector) VectorMagnitude
VXTR(Vector) VectorXToReal
VYTR(Vector) VectorYToReal
VZTR(Vector) VectorZToReal

Vector Elements
ADD_(Vector, Vector) Add
ANGC(Real, Real, Real, Real, Real) AngleCone
BNPS(Int) BonePosition
BNSC(Int) BoneScale
CCLU(Vector, Vector, Int, Real) CircleCluster
CHAN(Vector, Vector, Int) TimeChain
CIRC(Vector, Vector, Real, Real, Real) Circle
CMPS() CameraPosition
CNST(Real, Real, Real) Constant
CONE(Vector, Real) Cone
CTVC(Color) ColorToVector
CVEC(Bool, Vector, Vector) Conditional
IRTV(Rotation, Vector) InvRotateVector
ISWT(Vector, Vector) InitialSwitch
KEYE(KeyframeEmitterData) KeyframeEmitter
KEYF(KeyframeEmitterData) KeyframeInput
KEYP(KeyframeEmitterData) KeyframeParticle
KPIN(Vector) KeepInitial
MULT(Vector, Vector) Multiply
NORM(Vector) NormalizeVector
PNCV() NormalizedCompensatedVelocity
PSOF() InternalOrientationForward
PSOR() InternalOrientationRight
PSOU() InternalOrientationUp
PULS(Int, Int, Vector, Vector) Pulse
PVEL() ParticleVelocity
RNDV(Real) RandomVector
ROTV(Rotation, Vector) RotateVector
RTOV(Real) RealToVector
SUB_(Vector, Vector) Subtract
VEXT(Int, Vector) ExternalValue

Mod Vector Elements
BNCE(Vector, Vector, Real, Real, BoolConstant) Bounce
BOXV(Vector, Vector, ModVector) BoxVolume
CHAN(ModVector, ModVector, Int) TimeChain
CNST(Real, Real, Real) Constant
EMPL(Vector, Real, Real, Real, BoolConstant) ExponentialImplosion
EXPL(Real, Real) Explode
GRAV(Vector) Gravity
IMPL(Vector, Real, Real, Real, BoolConstant) Implosion
LMPL(Vector, Real, Real, Real, BoolConstant) LinearImplosion
PULS(Int, Int, ModVector, ModVector) Pulse
SPHV(Vector, Real, ModVector) SphereVolume
SPOS(Vector) SetPosition
SWRL(Vector, Vector, Real, Real) Swirl
WIND(Vector, Real) Wind

Color Elements
CFDE(Color, Color, Real, Real) FadeEnd
CFDL(Color, Color) FadeLifetimeConstant
CHAN(Color, Color, Int) TimeChain
CNST(Real, Real, Real, Real) Constant
FADE(Color, Color, Real) Fade
ISWT(Color, Color) InitialSwitch
KEYE(KeyframeEmitterData) KeyframeEmitter
KEYF(KeyframeEmitterData) KeyframeInput
KEYP(KeyframeEmitterData) KeyframieParticle
KPIN(Color) KeepInitial
MDAO(Color, Real) ModifyAlphaOnly
MULT(Color, Color) Multiply
PCOL() ParticleColor
PULS(Int, Int, Color, Color) Pulse
VRTC(Vector, Real) VectorAndRealToColor

UV Elements
ATEX(Asset, Int, Int, Int, Int, Int, BoolConstant) AnimTexture
CNST(Asset) Constant
TEXP(Asset, Int, Int, Real) TexturePalette

Emitter Elements
ASPH(Vector, Real, Real, Real, Real, Real, Real) AngleSphere
ELPS(Vector, Vector, Vector, Real, BoolConstant) Ellipsoid
PLNE(Vector, Vector, Vector, Real, Real, Real) Plane
SEMR(Vector, Vector) SimpleEmitter
SPHE(Vector, Real, Real) Sphere

Last note: there's still an ELSC loader in the code even though that format is unused in DKCR lol. Didn't bother going through it.
Edit history:
Antidote: 2017-05-28 10:28:48 pm
heh, i doubt anything really changed from MP3 with ELSC, though it's interesting that it's still supported
yeah, i doubt they maintained it much since it got scrapped. I bet you could just take a MP3 ELSC, add the asset header to the beginning, and then just drop it into a DKCR level and assign it to a particle property on some actor and have it work :p
Out of curiosity, did anyone ever figure out what was weird about the spider track that allows you to trackjump into Furnace early?
Edit history:
Aruki: 2017-06-16 02:26:45 pm
IIRC screwed up collision flags. The entire spider track's collision has the "floor" collision flag enabled, which means any slope short of a completely vertical wall is considered standable.
nice, makes sense. thanks.