This'll be a list of every single undocumented change/feature I can find.
Please tell me if any of these are actually parts of mods that happened to stray outside the Custom folders.
As of a222...
Static Parameter
- [+] Static
- If you keep an eye on every post in the forum, you've seen me point this out before, but it's worth mentioning.
This parameter now appears on every single character - if you check it, the character will refuse to move. They also will not detect any hostile enemies.
If you bump into them, they'll get startled and go into an Active Idle pose, but do nothing else.
Pretty useful to make training dummies.
Dialogue Changes
- [+] Dialogue Revamp
- This is probably my favorite bit.
The dialogue system has been revamped; you can now write dialogue entirely in-game.
It's really clunky, but I think I've figured out the controls. Press ENTER to go into typing mode. While in typing mode, you can't switch lines.
In order to type on other lines, you have to exit typing mode and use the Arrow Keys to switch to the other lines.
There isn't anything like this yet: But if there were, it'd make it way, way easier.
Since there's no progress line thingy (as demonstrated above), it's impossible to tell if you're on a blank line.
I've also found these lines in dialogue.as:I tried pressing those keys, but it doesn't work. Probably something on my end.Code: Select all
if(GetInputDown(controller_id, "keypad+")) { // add new line AddLine("", selected_line + 1); text_dirty = true; } if(GetInputDown(controller_id, "keypad-")) { // delete line DeleteLine(selected_line); edit_mode = false; text_dirty = true; }
Also not exactly new, but I've found two useful shortcuts you can use.
- CTRL + R - Toggle Recording
SHIFT + (Up/Down) - Switch to next Dialogue Line (skip all technical stuff like cam pos)
The dialogue editor now scrolls.
Just keep scrolling down with arrow keys and the editor screen will adjust accordingly. No more awful hat tricks to get longer dialogue scenes working! - CTRL + R - Toggle Recording
Disappearing Object Hotspot
- [+] Sometimes I Wanna Disappear
- I found a script in Data/Scripts/hotspots/object_disappear.as
This hotspot is pretty interesting.
If you don't feel like reading the code, I'll explain it, along with details of what I found with some experiments.Code: Select all
void Init() { } string _default_path = "Unknown"; void SetParameters() { params.AddString("Object name to disappear", _default_path); } void HandleEvent(string event, MovementObject @mo){ if(event == "enter"){ OnEnter(mo); } } void OnEnter(MovementObject @mo) { if(mo.controlled){ string to_disappear = params.GetString("Object name to disappear"); array<int> @object_ids = GetObjectIDs(); int num_objects = object_ids.length(); for(int i=0; i<num_objects; ++i){ Object @obj = ReadObjectFromID(object_ids[i]); ScriptParams@ params = obj.GetScriptParams(); if(params.HasParam("Name")){ string name_str = params.GetString("Name"); if(to_disappear == name_str){ Log(info, "Test"); DeleteObjectID(object_ids[i]); } } } } }
When you walk into this hotspot, it'll disappear every single object marked with a 'Name' parameter.
So, say you have an object you want to disappear when your character gets near it.
The script doesn't have an object to spawn it, but if you're versed in .xml wizardry, you can easily plop it down.
If not, just make a .xml with this data and load it into the game:
So, load that and plop it down next to the box.Code: Select all
<?xml version="2.0" ?> <Type>generic</Type> <Hotspot> <BillboardColorMap>Data/UI/spawner/thumbs/Hotspot/sign_icon.png</BillboardColorMap> <Script>object_disappear.as</Script> </Hotspot>
Here's your object, and here's your hotspot.
Right now, the hotspot doesn't do anything, so we need the two linked.
So, edit the hotspot with the Parameters screen first and edit the "Object name to disappear" string and replace it with your very favorite name.
Let's name the box we want to disappear 'Houdini'.
Once the player walks into this hotspot, the hotspot will look for every single object named Houdini and will absolutely annihilate and crush it to dust. Just, y'know, quietly.
But, of course, the box isn't actually named yet. So, let's name it.
Go into the box's parameters.
Click on 'Text', and you'll have this.
I'm sure you can figure out what to do here.
From here, you're set.
I've experimented with each type of object and this hotspot.
- Static Objects: Works perfectly. Object will disappear as soon as you enter the hotspot.
Hotspots: Also works perfectly. Unless the level script somehow absolutely definitely needs the hotspot to stay, it won't crash nor will any side effects occur.
Characters: Works just fine, until about a second passes and the game crashes.
However, if you save the level right after you disappear the object, and reload the level back, then Houdini will be permanently gone.
This hotspot is basically like if you deleted something in the Editor, just without accessing the Editor at all, nor pressing BACKSPACE.
- Static Objects: Works perfectly. Object will disappear as soon as you enter the hotspot.
Volume Sliders
- [+] Loudness
Really minor, but kinda cool.
I'll expand this list the more stuff that I find.