RAGE Plugin Hook Development Enhancer ALPHA
Visit us at http://ragepluginhook.net

Installation
==========
Requires RAGE Plugin Hook v0.43 or newer (http://ragepluginhook.net)
Place RagePluginHookDevelopmentEnhancer.dll in the Plugins folder in the game folder.

Starting
==========
To run the plugin, open the console (default F4) and type "LoadPlugin RagePluginHookDevelopmentEnhancer.dll" (without the quotes), then press enter.

Issues
==========
Camera sticks to one direction and refuses to move. Solution: Go into the game's Settings menu, Keyboard / Mouse, then set Mouse Input Method to DirectInput or Raw Input.



Usage
==========
During normal play, press F12 to toggle the tool.

The top of the screen will show the version of RAGE Plugin Hook Development Enhancer, as well as all available tools.
The bottom of the screen shows a compass with the current camera heading, as well as a status bar with information such as camera position, camera speed, camera field of view, time scale, number of entities currently in the game world, as well as information about the active scene (See the scene manager tool).

Camera controls
==========
To control the camera, hold the right mouse button.
Move the mouse to look around.
Use W,A,S,D or Up,Left,Down,Right to move the camera forwards, left, backwards and right respectively.
Use E,Q to move the camera up and down.
Scroll the mouse wheel to change the field of view. Hold the mouse wheel to change the field of view towards the default value.
While moving the camera, hold shift to move faster or hold control to move slow. Hold shift and alt to move super fast, and hold shift, alt and control to move super duper fast.
Hold alt and move the mouse to orbit the camera around a point. While orbiting hold both mouse buttons and move the mouse forth and back to move in and away from the orbiting point.

Time Controls
==========
Use digits 1-6 to change the time scale of the game. Available values are 1x, 0.75x, 0.5x, 0.25x, 0.001x and PAUSED.

Tools
==========
Entity selector
----------
Shortcut: F1
The selection tool is active in most other modes as well.
To select a single entity, click it.
To add or remove an entity to the current selection hold control and click it.
Hold the left mouse button and drag the mouse to rectangle select multiple entities. Hold control to add the entities to the current selection.
Hold alt and the left mouse button and drag the mouse to circle select multiple entities. Hold control to add the entities to the current selection.

Easy move
----------
Shortcut: F2
This tool allows easily moving entities around.
To move entities, select the entities to move, then hold down the left mouse button on one of the selected entities and drag the mouse to move them.
To rotate entities, select the entities to rotate, then hold down shift and the left mouse button on one of the selected entities and drag the mouse to make them face the mouse.
To rotate entities to the same angle, select the entities to rotate, then hold down shift and alt and the left mouse button on one of the selected entities and drag the mouse to make that entity face the mouse. The rest will copy the rotation of that entity.
While moving entities, hold control to create a physical force field at the mouse.
While moving entities, hold alt to physically drag the selected entities with the mouse.
Turn on caps lock to ignore the relative offset between the entities being moved.

Entity spawner
----------
Shortcut: F3
The entity spawner allows spawning entities in the game world.
Select the entities to choose from on the left.
Use A,D or Left,Right to switch between entities, or hold the left mouse button and drag the mouse across the screen to select. The horizontal position of the cursor indicates the percentage into the entity list. Eg. if there are 2000 entities in the current filter, centering the mouse will go to entity number 1000.
Press Ctrl+F to open the search dialog and limit the entities to a specific keyword.
Press the space bar to switch to placing mode.
While in placing mode, hold shift and move the mouse to rotate the object.
While in placing mode, left click to spawn the entity. The entity will be added to the active scene (See the scene manager tool).
While in placing mode, press space to switch back to the entity selection screen.

Character control
----------
Shortcut: F4
This tool allows ordering characters around.
Select the characters to issue orders to, then right click to order them to move.
Hold control and right click to issue a vehicular order. Issuing a vehicular order on a vehicle will make the selected characters get into that vehicle. Issuing a vehicular order to the driver of a vehicle, will make the driver drive to the specified location.

Scene manager
----------
Shortcut: F5
The scene manager tool allows adding entities to a scene for saving, and loading.
At least one scene must exist, which will be created automatically.
To set a scene as the active scene, select it in the 'Scenes' list on the left.
All spawned entities will be added to the active scene.
An entity can only belong to one scene at a time.
While in this mode, left click an entity to add it to the current scene, or right click it to remove it from its current scene.
To rename a scene, activate it in the 'Scenes' list, then edit the name in the text box below the list, and press enter to apply.
Scenes named "Default Scene" cannot be saved. To save the default scene, please rename it first.
Click "Add Scene" to create a new scene.
Click "Remove Scene" to remove the active scene and all entities belonging to the active scene.
Click "Save Scene" to save the active scene to the hard drive. If a scene with the same name already exists, it will be overwritten.
To load a scene from the harddrive, select the scene to load from the "Saved scenes" list, and click "Load Scene". If a scene with the same name is already loaded, that scene will be replaced by the loaded scene.

Actions
==========
Press H to toggle the in-game action list.


Movie Making
==========
v0.4 of the tool introduces features to assist in advanced movie making.

While the plugin is loaded, replays can be recorded at any time. During cutscenes, while the game is paused, etc (See Time Controls above). Furthermore, camera extents are removed in the replay editor (The plugin must be loaded both when working with the replay editor, and when exporting).
This allows for advanced movie making, where players can record footage, pause the game, then manipulate the game world, eg. by triggering explosions, throwing people around, or spawning new entities.

To start a new recording, open up the tool (F12), then press the ADD (+) symbol on the numpad keys. This will pause the game and start recording a new clip. You can now start manipulating the game world, or press F12 to resume time and walk around.
At any time during recording, press F12 to bring the tool back up, and pause the game.

To save the currently recording clip, press the ADD (+) symbol again. To discard the clip, press the SUBTRACT (-) symbol.



Changelog
==========
v0.7
-----
Fixed an issue where the 'Generate C# code' button in the scene manager would generate code with ',' instead of '.' in numbers where the OS was configured to use ',', resulting in invalid code.
Fixed the camera orientation being crooked when opening the editor.
Field of view is now smoothly animated to 75° when opening the editor.
Fixed a crash when using the 'Clone entity' action through its shortcut.
Action 'Play ambient speech' now shows a list of all the phrases the selected characters can say.
Fixed action 'Rename entity' erroring when cancelling.
Action 'Rename entity' now verifies the name.
Added generic task action to invoke any task in TaskInvoker.
Fixed cloned Peds walking away.
Made spawn tool settings dialog a lot more compact.
Added options to choose when entities are automatically added to the current scene.
F10 now unloads the plugin (This should be used in favor of UnloadPlugin to ensure all resources are freed).
Selected entities are now highlighted by the regular bounding box while in the ped control action.
Added animation tool. Scenes can now contain animations to quickly execute from the context menu.
Fixed Ctrl+F in the spawn tool not being too responsive.
It's now possible to filter items in the game like menu using Ctrl+F.
It's now possible to click in the game like menu to select and accept an item.
It's now possible to use the mouse wheel to scroll in the game like menu.
Entity info shown for selected entities now includes Peds' voice and relationship group.
Added action to generate code to access the selected entities.
Fixed Peds teleporting back to their original location after rotating them if LMB was released before Shift.
The scene manager now shows entities' variable name.
Game no longer freezes when ticking entity types in the spawn tool, but instead shows an on-screen message while it 'thinks', allowing other types to be ticked/unticked faster.
In addition to filtering by name, the spawn tool can now filter by number of wheels, length and whether a vehicle has emergency lighting.
Code generation now checks whether variable names are valid C# identifiers.
Now generates much better default variable names for entities added to scenes instead of just "tmp{handle}".

v0.6
-----
Fixed a bug introduced in 0.5, causing recordings to be cancelled at certain times (Closing the tool, pausing the game, etc.).
Fixed a crash when trying to clone entities or save a scene to disk.
Fixed a rare crash in the spawn tool.
Fixed a rare crash.
Fixed the context menu sometimes refusing to appear.
Made context menu items taller.
Fixed a crash in the 'Explode entity' action.
Context menu items are now ordered alphabetically.
Added weapon list for 'Give weapon' action.
Added line tool.
Added temporary variable to set the key that toggles the editor (Needs to be set every time the plugin is loaded).

v0.5
-----
Fixed an access violation on retail game copies, preventing loading the plugin.
Fixed a crash when loading the plugin while other plugins were loaded, possibly due to a race condition.
Fixed a memory access violation when unloading the plugin.
Slightly decreased boot time.
Added 'Submarines' filter to the spawn tool.
Added 'Trailer' filter to the spawn tool.
Fixed characters falling from the sky after closing the spawn tool.
Fixed certain models being shown multiple times in the spawn tool.
It's now possible to click select peds inside vehicles.
Fixed bounding box for peds selected inside vehicles.
Made bounding box for peds more narrow.
Now shows ped variation info in the spawn tool.
Added buttons to copy positions and orientations/headings of scene components.

v0.4
-----
Added features for advanced movie making.
Added 'perform burn out' character control action.
Fixed bad camera angle in spawn tool.
Added direction, quaternion, rotation and heading to info drawn on selected entities.

v0.3
-----
Updated to RAGE Plugin Hook v0.34.

v0.2
-----
Massive update. Too many changes for me to bother making a list.
This release includes the scene manager and deformation painter, but not replay features.

v0.1
-----
First public release.