Useful links

Stuff for my 3dxChat Extender:
Zinnia's 3dx Stuff — pre-made house layouts you can merge into your homes!

Other 3dx Chat hacks:*
Rochie's 3DXChat Tweaked

*Be advised that some features may be not cross-compatible.

Tuesday, November 1, 2016

3dxChat Extender v0.5.0.2 alpha


3dxChat Extender v0.5.0.2 alpha
  • FIX: a quickfix allowing you to login to 1.0 and continue using the home builder.

Download link:

Sunday, August 14, 2016

3dxChat Extender v0.5.0.1 alpha

3dxChat Extender v0.5.0.1 alpha
  • FIX a quickfix to a devs' bug with enormous loading times for heavily furnished rooms and some other stuff.

Download link:

Thursday, June 23, 2016

3dxChat v2.0 beta quick fix

A very quick fix to the annoying «G-bug» for the public 3dxChat v2.0 beta:

Doesn't fix anything else, just removes a few debug function calls bound to the [G] button, which apparently have been forgotten there :)

Wednesday, June 22, 2016

Zinnia's 3dx Stuff

Somebody has created a page where you can get some pre-made house layouts which you can later merge into your homes with my Home Editor, yay! Check out Zinnia's 3dx Stuff blog for more info! :)

Sunday, June 19, 2016

3dxChat Extender v0.5.0.0 alpha

3dxChat Extender v0.5.0.0 alpha

A very major update, most of the code has been completely rewritten. Now the mod uses reflection methods for almost everything, which renders the necessity of patching the original .dll to a minimum, and is probably more future compatible.
Some fixes and optimizations have peen performed as well.

New features have been added to the Character and Home Editors.


Home Editor

  • Some extra items have been unlocked and can now be used in the editor. You can see all of those items on the screenshot below.
    The stools, the deckchair, the toilet and the sink come with working animations.
  • New items can be selected from an additional floating window and work the same way as the usual ones: clicking on a button places an item at the default position, Ctrl-clicking applies the stored transform values to the item.
  • Since all of those items have never been intended to be used in the home editor, they may act somewhat differently from the normal ones. Some of them won't be showing a glowing effect on mouse hover, some won't react to the scene lightning as expected. Door 2 and Sink have their local axes rotated in another direction, so it's better to place them in World editing space since they will be moving in a wrong direction in Local.
  • Remember to never edit the room with those extra items present with an unpatched client, or with other patched versions that don't have those items unlocked since they will not be saved to the server in such a case.
  • All other options of the Home Editor have been described in previous posts.


Character Editor

  • All of the features that can be both edited and saved to the game server have been unlocked. Unfortunately, the original client checks a lot of values on load, so modifying them makes no point since other people just won't be able to see them. For the most part, this editor provides the same functionality as the Rochi's one does, but sometimes with different means.
  • Skin color can now be set to any value using a predefined color at the bottom of the «Shape and Colors» menu, or by picking any RBG value from the palette.
  • Some of the face adjustment sliders have been modified to provide a wider range.
    For men: eyebrows and beard intensity.
    For women: eyes makeup intensity, eyebrows volume and intensity, rouge intensity, and lipstick intensity and shininess. For lipstick shininess the range can be switched between 0–20 and 0–900, allowing you to fine-tune. Highest values will add a weird effect of a glowing mouth :)
  • A lot of items now have a copy in other categories, allowing you to combine multiple items in a way you like. Also, some of the items can now be colored if used from a different category even if they can't be colored in their own. For a complete list see the screenshot.
  • New items unlocked: headphones for men and women, and strapon for women. Thanks to someone who chose to stay anonymous for the nice icons!
  • Coloring options have been unlocked for everything that can be colored. Some of the categories can't be colored at all because they don't save a corresponding variable. Those categories are Hats, Beard, Bijouterie and Collars.
  • Color 2 has been unlocked for all of the items for which it can affect something.
  • Changing the alpha channel (transparency) of a color has been unlocked as well, though it doesn't do anything most of the times, so the option will only show up for the categories where the change can at least be noticeable. You can now edit transparency values for eyes, hair (the effect is slight), skin (affects glossiness and also nipples opacity for women), stockings and some of the bracelets (you may try it on the «furry» ones).
    If you wish to unlock the alpha value sliders for all of the items (even those unaffected), you can change the option «UserSettings\CharacterEditor\ShowAllAlphaSliders» in the «ExtraSettings.xml» config file to «true».
  • Prints have been unlocked for all of the items on which they at least show up. Most of the time the alignment will be off and it will look weird, but nothing can be done about that.
  • All of the additional options, if available, will show on a small floating window called «Extra settings». The window can be dragged around.


  • You can now save and load your character setup, and even share the save file with others :)
    And you can also undress your character.
    The save/load options works in the same manner they do for the Home editor.
    Please don't edit the save files manually, it won't let you unlock things that are not unlockable, and the editor will refuse to load manually modified files for safety reasons (i.e. breaking your character server data).


Other updates

  • Chat History Logger has been updated to properly support public locations which have been opened as private rooms.
  • Clicking on a chat message while holding [Shift] or [Ctrl] will copy it with a sender name.
  • New option in the settings file: «UserSettings\GeneralGeneral\LogOutputLevelLogOutputLevel» which allows you to change the verbose level of the logger. Allowed options are: «Error», «Warning», «Info» and «Debug». Default value is «Info».

Installation

  • Extract the contents of the archive file into the game's root folder maintaining the folder structure. You may want to backup the replaced original file «3DXChat_Data\Managed\Assembly-UnityScript.dll» prior to that though.

Download link



Monday, May 23, 2016

3dxChat Extender v0.1.1.1 alpha

3dxChat Extender v0.1.1.1 alpha

  • FIX A quick fix to the History viewer, it no more throws an exception when a message body is null.


Download link:
https://drive.google.com/file/d/0B69cimUES2lVdlp5eVc0NHdhQVk/view?usp=sharing

Saturday, May 21, 2016

3dxChat Extender v0.1.1.0 alpha

3dxChat Extender v0.1.1.0 alpha

  • NEW Chat messages history logger. Now all of the messages you send or receive in the chat window are automatically saved to .xml files in a special folder «ChatHistory» inside the game's root folder. All types of chats (World, Local, Group, Private, etc.) are saved and appropriate tags are set.
  • NEW A very lame chat history viewer — a separate executable «ChatHistoryViewer.exe». When launched, automatically loads all of the .xml files from the «ChatHistory» folder. You can choose your login name, chat type and filter messages by dates (see screenshot below).
  • NEW You can now choose to view messages sent by ignored users. The option can be turned on or off in the settings file (UserSettings\Chat\ShowMessagesFromBlockedUsers, default: true).
  • NEW Chat text colors are now configurable via the settings file, section UserSettings\Chat\TextColors. You can set custom colors for the «/me» command, for the sender name and for the message body, plus for service (system) messages. Colors for ignored users can be set separately. Settings names in the config file should be self explanatory. The rules for color definitions can be found in the Unity manual: http://docs.unity3d.com/Manual/StyledText.html

Download link:

Wednesday, May 18, 2016

3dxChat Extender v0.1.0.1 alpha

3dxChat Extender v0.1.0.1 alpha
  • FIXED a bug when loading a house was not processing some of the textures correctly.
  • FIXED a few other minor bugs.
  • Builder controls are no longer active when the chat window is focused, so that typing into chat doesn't interfere with the builder tools.
  • [Space] can now be used the same way as the left mouse button in Builder.


Download link:
https://drive.google.com/file/d/0B69cimUES2lVSUN5amhTRWdzOU0/view?usp=sharing

Monday, May 16, 2016

3dxChat Extender v0.1.0.0 alpha

3dxChat Extender v0.1.0.0 alpha
Download link:

3dxChat Extender

Modified version of 3dxChat files, extending some of its features, primarily (for now) the Home editor.

Features

  1. Extended user-configurable settings

Some of the game settings are now configurable via an “ExtraSettings.xml” file stored in the same folder with the main 3dxChat.exe file. It is a simple .xml file, which consists of two main sections:
  • UserSettings — settings configurable by user (you may edit them);
  • AppSettings — settings stored by the application (better leave them alone, most of them will be overwritten by the game anyway).
User settings section allows you to configure the following parameters:
General:
  • UseCtrlShift (bool, default true) — changes all of the [Shift+...] combinations to [Ctrl+Shift+...] instead, so you no more accidentally switch off the interface or turn on Oculus Rift while typing in chat. With option on you will have:
[Ctrl+Shift+C] — toggle mouse cursor on/off;
[Ctrl+Shift+O] — toggle Oculus Rift mode on/off;
[Ctrl+Shift+X] — toggle DOF on/off;
[Ctrl+Shift+Z] — toggle interface windows on/off.
  • ForceEnableUndressOptionsForSex (bool, default true) — it true, allows you to put on and off any piece of clothing at any time, sex included.
Chat:
  • MaxMessagesToDisplay (int, default 127) — maximum number of messages to show in chat windows, if set to anything below 20 or above 127 will be reverted to 127.
  • CopyMessageWithoutSenderName (bool, default true) — if true, chat messages will be copied without the sender name (useful for copying links).
HomeEditor:
  • See the Home editor section of the description.
The settings file will be automatically recreated with default values if deleted or damaged (at least, it’s supposed to). It’s safe to delete the settings file at any time if you suspect it may be causing some problems, or if you just want to revert to defaults.
  1. Extended Home editor

The Home editor has been majorly reworked and now has a lot of new features. The objects can collide with each other and be moved around and rotated in any directions.
Whenever you enter your house customization, you should see the following interface:

The group of horizontal elements on top of the window indicates you of the tools and modes you are currently using, the block on the left shows you the current coordinates and Euler angles of an object, and some previous values you can reuse.
Pressing [~] will toggle the interface elements on/off.


[Backspace] Working axes (1).
You may work in either World or Local coordinate space, moving and/or rotating an object relative to global or its own axes. Pressing [Backspace] toggles between two modes, also changing your transform options so that World and Local spaces are aligned control wise. This is required because Local space of each object is rotated 90° around the X-axis in relation to Global space — see the image below:

[Tab] Transform options #1 and #2 and corresponding steps (2, 3, 4, 5).
Pressing [Tab] allows you to switch between three working modes, affecting what you can do to a selected object. Basically, those modes are:
  • moving an object in its “horizontal” plane (XW–ZW or XL–YL);
  • changing object’s elevation and rotating it around the vertical axis (YW or ZL);
  • rotating an object around its horizontal axes (XW–ZW or XL–YL).
Switching working space with [Tab] adjusts working axes accordingly.
Transform steps are configurable via user options and allow you to move or rotate an object in fixed steps instead of continuous drag or rotation, making it easier to nicely align objects to each other, serving as a sort of a “grid snap”. Depending on your current working space, this snap will be relative to the World or the Local axes, allowing nice object alignment at any angle in space.
Transform steps are configurable separately for each tool mode and are calculated as the product of a base value and a multiplier, the base values and the multipliers are user-configurable (see further in the settings description).
In each mode you can control an object transformations by either the keyboard ([Up], [Down], [Left] or [Right] arrow keys) or the mouse (moving the cursor for dragging and using the wheel for rotation). Since mouse controls override keyboard controls (the object just jumps to the mouse position anyway), you can’t move the object with mouse and keyboard at the same time and have to switch the Mouse drag mode by pressing [M]. Options for mouse controls are: Off, Drag only, Rotate only, Drag and rotate.
General rule for keyboard control is: [Up], [Down], [Left] and [Right] arrow keys move the object along or rotate it around the corresponding axes (which are indicated by the interface), each keypress advancing the transformation by the selected step value. You may cycle between different step values by pressing [Z] (for [Up]/[Down]) or [X] (for [Left]/[Right]) at any time. Holding [Shift] while pressing the arrow buttons switches to continuous transformation/rotation, advancing continuously by the selected step.
Mouse drag options work pretty much the same way, allowing you to move an object in the same steps, or holding [Shift] to move it without “grid snap”.
Mouse rotation is different: you have to hold [Ctrl] or [Alt] and rotate the mouse wheel to rotate around an axis (look at the interface hints for directions). The same rules for steps and holding [Shift] apply.
Right mouse button doesn’t switch to rotation any more and just controls the camera.
Left mouse button drops the object in place or picks up an already placed one.


The left interface block with transform coordinates and Euler rotation angles serves as a reference, showing you your current object parameters, and allows you to store some of the values to use them later. By default, whenever you place an object on scene (with your left mouse button), it remembers its coordinates, showing them in the “stored values” fields. Pressing numbers on your keyboard allows you to apply chosen values to an object you currently drag, placing and rotating it accordingly (don’t forget to switch off Mouse drag, otherwise the object will be attached to the cursor regardless). The available options are: [1], [2], [3] — to apply transform X, Y or Z values (in World space) respectfully, or [8] — to apply all three of them at once; [4], [5], [6] — to apply X, Y, Z Euler angles respectfully, or [9] — to apply all rotation transformations at once (applying Euler angles separately probably doesn’t make much sense anyway). Alternatively, you may hit [0] to apply all of the transformations at once, just placing an object in the exact same position.
If you want to keep some values and not make them change every time you place a new object, you may “lock” them by pressing [Ctrl+1]...[Ctrl+0] — the selected values will be changed to red color, indicating that they are “locked”, and won’t change until you unlock them by hitting [Ctrl+1]...[Ctrl+0] again.


Alternatively, you may use some other useful methods:
  • Whenever you’re not dragging any object you may press [C] to make a copy of the last placed object (it will appear merged with a previously placed one, you’ll have to move it to actually see it).
  • Holding [Ctrl] and left-clicking on a highlighted object on a scene will create a copy of it as well, working the same way as above.
  • Holding [Ctrl] and left-clicking on an object icon in the menu will create the clicked object, applying the stored transformation and rotation values to it.
  • Pressing [[] or []] (left or right square brackets) while dragging an object allows you to cycle between similar objects (selecting different lamps, sofas, light cubes, etc. for example) without the need to choose a different object from the menu.


All of the Extended Home editor settings are stored in the main “ExtraSettings.xml” file in the section “HomeEditor”. The general settings are:
UseExtendedEditor (bool, default true) — if set to false, allows you to revert to the default in-game Home editor.
MaxLightsAllowed (int, default 127) — maximum number of lights (light cubes excluded) you can place in your home, if set to anything below 7 or above 127 will be reverted to 127.
DragToleranceAngle (int, default 3) — angle tolerance for displayed and stored values.
DragToleranceCoord (int, default 4) — coordinate tolerance for displayed and stored values.
All of the other values define step values for manipulating objects:
DragStepDX, DragStepDY, DragStepDZ (float, default 0.6) — base step setting for move operations on objects, in game units.
DragStepUX, DragStepUY, DragStepUZ (float, default 1.0) — base step setting for rotate operations on objects, in degrees.
DragStepD_Multipliers (float[] array, default {0.125, 0.25, 0.5, 1.0}) — multipliers for move operations on objects.
DragStepU_Multipliers (float[] array, default {1.0, 3.0, 15.0, 45.0}) — multipliers for rotate operations on objects.
The final step values used by the editor are calculated as a product of a base value and a multiplier, i. e. for default values we will get the transformation steps {0.075, 0.15, 0.3, 0.6} in game units. 0.6 is approximately the size of our main “building block”, a. k. a. the light cube, so it make sense to set steps as its fractions. And 1.0° looks like a reasonable minimal rotation step.
The multipliers are array values, so you may add as many members to them as you like.


Every time you’re working with the Home editor the tools and values you have selected are being saved so after restarting the game you will have your tools selected as you left them. In case you think you’ve messed something up or just want back your defaults you may just delete the settings file, it will be recreated with default values on the next run.
  1. Home layout Save/Load options.

Whenever you exit to the main menu from the Home editor you will see an additional panel with a few options:

Load house layout — allows you to load a previously saved house layout file, restoring all of the objects and their position. Warning! Loading a save file will erase your existing layout!
Merge house layout — mostly works the same way as the Load option, but doesn’t remove any existing objects from the house, allowing you to merge two saves.
Save house layout — pretty much what it says, allows you to save your house as an .xml file for safekeeping, reloading it later, or sharing with friends ;)
Backup server layout — downloads raw house data from the game server, purely for backup purposes (save option reads the data from memory).
Clear house layout — removes all of the objects from your home, in case you want to start from scratch.


Wallpapers, floorings and so on are saved/loaded as well.


None of the Save/Load options upload anything to the game server, so to actually save your house or apply any changes you should proceed as usual — leave the house to any other location to let it save.

Installation

Place the two .dll files into the “3DXChat_Data\Managed\” folder, replacing Assembly-UnityScript.dll (better backup it somewhere first).
Place the ExtraSettings.xml file into the main game folder (where 3DXChat.exe is).

Version history

v0.1.0.0 alpha [2016.05.16]
  • Initial version.