An UnrealScript browser

External tools, software and sites for creating or editing UT99 resources.
User avatar
Shrimp
Adept
Posts: 273
Joined: Wed Oct 10, 2018 11:15 am
Location: Australia
Contact:

An UnrealScript browser

Post by Shrimp »

When I started working on Monster Hunt I realised I'd forgotten most of the tools and things, forgot how to do basic things like dumping scripts or remembering where to get them, etc.

I started on this tool: https://unrealarchive.org/unrealscript/

I know there are tools like UnCodeX which do more-or-less the same and perhaps more extensively, but I also like to make new tools that keep things moving with recent technologies, , since those tools got us through the last 20 years, we also need things that will get us through the next 20.

Anyway, it's JavaScript heavy single-page-app style stuff, so you need JS enabled.

Some of the features are:
  • support for browsing multiple games/versions sources
  • type aware variable/member linking. eg: a local variable defined as local PlayerPawn player; with code later player.PlayerReplicationInfo.HasFlag means that clicking on HasFlag can take you to the variable (or function) definition in PlayerReplicationInfo based on correct type referencing
  • lots of other inter-linking niceties not based on regex assumptions
  • choose a custom style!
  • download the source package directly!
One limitation it has currently is that it doesn't understand type casting yet, which I'll probably add later.

As usual it's MIT licenced, and the code is here: https://github.com/unreal-archive/unrealscript-browser

I need to do some work on a README to explain how it works, since it's also mostly designed to work offline so you can build it yourself without web hosting needed.

As part of the source there's also a fairly comprehensive ANTLR4 UnrealScript grammar definition, so if anyone wants to do more advanced stuff with UnrealScript code parsing in the future, feel free to use that.

I have a request though: Does anyone have an archive of the following, which they can send to me:
  • Unreal 226 Final scripts
  • Unreal 227 (latest) scripts
I would like to add these as well.
ShrimpWorks
Unreal Archive - preserving over 25 years of user-created content for the Unreal series!
User avatar
Shrimp
Adept
Posts: 273
Joined: Wed Oct 10, 2018 11:15 am
Location: Australia
Contact:

Re: An UnrealScript browser

Post by Shrimp »

Updated this thing to the "official" 469c sources.
ShrimpWorks
Unreal Archive - preserving over 25 years of user-created content for the Unreal series!
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: An UnrealScript browser

Post by Barbie »

Nice one, I have similar here on local store, organized by package source and object tree.
Shrimp wrote: Sat Jun 18, 2022 5:48 am Some of the features are:

[*] download the source package directly!
Currently this is grouped by package. Is it possible to get this organized as object tree also?
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
Buggie
Godlike
Posts: 2697
Joined: Sat Mar 21, 2020 5:32 am

Re: An UnrealScript browser

Post by Buggie »

Shrimp wrote: Sat Jun 18, 2022 5:48 am I started on this tool: https://unrealarchive.org/unrealscript/
URL not work - "Not Found".
User avatar
Shrimp
Adept
Posts: 273
Joined: Wed Oct 10, 2018 11:15 am
Location: Australia
Contact:

Re: An UnrealScript browser

Post by Shrimp »

Buggie wrote: Fri Nov 18, 2022 9:58 pm
Shrimp wrote: Sat Jun 18, 2022 5:48 am I started on this tool: https://unrealarchive.org/unrealscript/
URL not work - "Not Found".
My bad, was doing some maintenance recently, it's back.
ShrimpWorks
Unreal Archive - preserving over 25 years of user-created content for the Unreal series!
Buggie
Godlike
Posts: 2697
Joined: Sat Mar 21, 2020 5:32 am

Re: An UnrealScript browser

Post by Buggie »

Not see any link to this from https://unrealarchive.org/
Very hard find it if not know about that topic.
User avatar
_21
Average
Posts: 68
Joined: Mon Aug 30, 2021 10:51 am

Re: An UnrealScript browser

Post by _21 »

Nice source browser! It offers a quick way of accessing and giving someone a link to a class to inspect.
I've been looking at it from time to time to see how certain things done in the game.

I wish there was a link from https://unrealarchive.org to https://unrealarchive.org/unrealscript/ it would be much easier to find.

I notice there is something wrong in the 436 sources. Where were the 436 sources taken from?
The first hint that something was off is the inconsistent spacing for default properties but then upon closer inspection there are bugs in there.
AFAIK these build with ucc make but produce unexpected results.

This is how the default properties look like for last man standing:

Code: Select all

defaultproperties
{
     bTournament=True
     StartUpMessage="Last Man Standing.  How long can you live?"
	 AltStartUpMessage"Last Man Standing - already in progress!"
     BeaconName="LMS"
     GameName="Last Man Standing"
     ScoreBoardType=Class'Botpack.LMSScoreBoard'
     RulesMenuType="UTMenu.UTLMSRulesSC"
	 bAlwaysForceRespawn=true
}
There is a missing equals after AltStartUpMessage

Link: https://unrealarchive.org/unrealscript/ ... anStanding

Then the TranslocOutEffect also has some fishy business with `Physics==PHYS_None` instead of `Physics=PHYS_None`

Code: Select all

defaultproperties
{
	 Physics==PHYS_None
     RemoteRole=ROLE_SimulatedProxy
     LifeSpan=1.000000
     AnimSequence=All
     DrawType=DT_Mesh
     Style=STY_Translucent
	 bMeshEnviromap=true
     DrawScale=0.600000
     bParticles=True
     LightType=LT_Pulse
     LightEffect=LE_NonIncidence
     LightBrightness=255
     LightHue=170
     LightSaturation=96
     LightRadius=6
     Texture=Texture'Botpack.TPEffect'
}
Link: https://unrealarchive.org/unrealscript/ ... cOutEffect

Then in UnrealShare.Tree9 you have a property value on multiple lines:

Code: Select all

defaultproperties
{
     Mesh=UnrealShare
	 .Tree9M
     CollisionRadius=+00015.000000
     CollisionHeight=+00039.000000
}
https://unrealarchive.org/unrealscript/ ... hare/Tree9

To me it looks like there were somehow some kind of accidental modifications made to these files.
User avatar
Shrimp
Adept
Posts: 273
Joined: Wed Oct 10, 2018 11:15 am
Location: Australia
Contact:

Re: An UnrealScript browser

Post by Shrimp »

Thanks for bringing this up.

Looking at the LastManStanding example, I looked at the 469c version and it has the same issue.

Since I sourced the 469c files from the "officially" released "SDK" (from https://github.com/OldUnreal/UnrealTour ... s/releases), it seems the issues exist upstream as well.

Indeed the same problems are present in the other files within that release as well.

I don't recall the exact place I sourced the 436 files from, but considering the same quirks are present in the 469c SDK, I'd say it's a long-standing issue.

I presume it doesn't get readily picked up since most people only use these packages for reference, not compiling, so it's not normally an issue.

As for a more convenient link or way to find the browser, it's something I'm working on.
ShrimpWorks
Unreal Archive - preserving over 25 years of user-created content for the Unreal series!
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: An UnrealScript browser

Post by UT Sniper (SJA94) »

I think the tree9m was fixed in a 469 version, but reverted because of some network compatibility issue(I might be wrong though).
Buggie
Godlike
Posts: 2697
Joined: Sat Mar 21, 2020 5:32 am

Re: An UnrealScript browser

Post by Buggie »

_21 wrote: Sat Jul 08, 2023 1:51 pm I notice there is something wrong in the 436 sources.
It is original sources, from which compile game scripts. Not decompiled data.

First two mistake can be fixed (second one in fact not change anything).

But third can't be fixed without break network compatibility.
User avatar
_21
Average
Posts: 68
Joined: Mon Aug 30, 2021 10:51 am

Re: An UnrealScript browser

Post by _21 »

I see.

If these are the original sources that was originally used to build the package then in that case it make sense to archive them like this to preserve history.
User avatar
Shrimp
Adept
Posts: 273
Joined: Wed Oct 10, 2018 11:15 am
Location: Australia
Contact:

Re: An UnrealScript browser

Post by Shrimp »

Thanks Buggie, good to know.

While this topic is active, does anyone have a clean copy of the 226 final scripts, as well as the latest 227 ones which I can add? 🙂
ShrimpWorks
Unreal Archive - preserving over 25 years of user-created content for the Unreal series!
Buggie
Godlike
Posts: 2697
Joined: Sat Mar 21, 2020 5:32 am

Re: An UnrealScript browser

Post by Buggie »

Try talk with Marco or Smirftsch. They for sure must have this. You can found both in OldUnreal Discord for sure.
User avatar
Shrimp
Adept
Posts: 273
Joined: Wed Oct 10, 2018 11:15 am
Location: Australia
Contact:

Re: An UnrealScript browser

Post by Shrimp »

Finally put a "Miscellaneous" link on the homepage, which goes to this page: https://unrealarchive.org/misc/index.html

Which contains the UScript browser link and other things.
ShrimpWorks
Unreal Archive - preserving over 25 years of user-created content for the Unreal series!
User avatar
_21
Average
Posts: 68
Joined: Mon Aug 30, 2021 10:51 am

Re: An UnrealScript browser

Post by _21 »

Thanks for the update! Appreciate it! And superb job with the website unrealarchive, it's a pleasure to browse!
Post Reply