June 27, 2014

Bug tracker for STK addons

Mid-term evaluation is here and I wanted to give some feedback to the community on what was accomplished as far as the regular user can see on stkaddons (the name of the website should be changed to something more meaningful ;) ).
I finished with my exams just a couple of days ago, so from now on I can work full time :D.
Enough with the chit-chat let’s get into the actual work.

On the first glance on the new interface you can see that the website is much wider and some of the user and addon pages look quite different (aka they look kinda ugly, this is only a temporary measure for now as the website transitions to the new modern look).
You can get a feel of how the whole website will look in the new bug tracker for addons.

This is a bug tracker built from the ground up just for the addons of STK where users can report if they have some problems with the some of the addons.

There is also the ability to sort (click on a column header or footer to sort in a direction) or to search by different criteria (by close status, search in title, search in description).

The view of a bug is quite different depending if you are logged in, you are the bug owner, you have edit privileges, etc.

The user that is not logged in.

The user is logged in and has full privileges (besides being the bug owner).

The bug owner (or moderators/administrator) can edit or close the bug.

Other work besides the bug tracker has been put in restructuring the code and changing how a lot of things are done (hopefully making it easier for other developers to join in the future) and to add a new role system alongside new management options (but I will not be showing those here because only a handful of people will ever see this when the website is live).

If you have any question or just want to bash me, just leave a comment or contact me in the IRC channel at #stk (can find me as leyyin). The code is available at https://github.com/leyyin/stkaddons.

June 25, 2014

Another few words about the Track Editor

I decided to skip the “meaningless text about my progress” part, and I won’t even mention cats. I’ll rather write about the Track Editor this time – fortunately I have something to write about. I don’t want to waste more characters on the introduction part – I already wrote more than 2 lines of nothing, and another 1.5 is wasted as well just to notice that.
The icons are just temporary. I drew them : )

Here is a windows binary version of the current state:

You can also download the newest source from project’s github repository (but you have to build that for yourself, and Irrlicht is required):


What should you expect from the Editor? Crashes. Terrible GUI. Nice cats. I suppose that is all.

Here is a quick list of the existing features: there is a categorized model library, which can be extended with new models. You can pick the models and place them on the map. Later you can select, move, rotate, scale and delete them as you desire. You can also draw terrain, and paint texture. There is also a tool to create driveline and road mesh.

There are 2 cameras. The default looks down, and it can be controlled with the w, a, s ,d buttons and the mouse wheel. The other is a free camera from Irrlicht. It works like the camera in Maya: press and hold mouse buttons and move mouse to control it. Editing anything isn’t possible while the second camera is active currently, but it will be replaced or modified to support some actions too.


There is a panel at the right side of the window, which contains the required things for terrain manipulation. It can be done with brushes.

At the moment there are 4 textures to choose from. The amount of usable textures in the terrain is limited to 4 as well, but you will be able to pick 4 desired textures from a list later. 4 brushes can be picked at the moment. 

The first can be selected by clicking on the spade icon: you can use it to create mountains, hills, valleys. Hover your mouse (it’s safe, there aren’t any cats so far) over the terrain to do so - red highlighting will guide your brush. To do some changes, you have to press and hold left/right mouse button. But be careful: the selected texture will be applied to the modified area as well. You can use the checkboxes and the text fields to limit the terrain’s height to a specific value/interval.

The remaining three brushes have something to do with textures. Their buttons are placed next to each other under the spade icon. The first is a soft brush: use it to mix different textures. The second is a hard brush: it replaces textures with the selected one, or erases the selected texture from the affected area. The third one changes brightness, but the surface can’t be brighter than the original texture.

There are buttons to switch between panels at the top of the toolbox. The first was the terrain panel, the second is the model library. We already have an unimaginably high amount of objects to choose from, feel free to select a cat you like. Hover the cursor over the terrain: the cat will most likely follow your mouse, but fortunately it cannot jump, so it will stay on the ground. Press left mouse button: the cat doesn’t see your mouse anymore, so it keeps still.

It is an important part: if you want to modify something, you have to select it first. Click on the cursor icon in the toolbar – this will activate the selection tool. Now click on objects. If you find it cool to modify more than one object in the same time, press and hold ctrl while selecting them.

Once you selected something, you have the power to change its position, orientation or thickness. All you have to do is to select the right icon, press down a mouse button, and move the mouse. I hope something happens. Hold ctrl and click on other objects to select them without switching back to selection mode.
Move: holding the left mouse button down while moving the mouse lets you modify the position along the x and z axes (horizontally). Use right mouse button to modify height. If shift is pressed before you press left mouse button, the position changing is limited along a single axis.

You can rotate the object around the x,y,z axes. It works exactly like moving.

Scaling works almost like the others. If shift is pressed, it will scale in every direction symmetrically.
Click on the remove button to remove selected objects
Undo/Redo: some actions are reversible, but not everything. You can’t cancel terrain modification.

The third panel contains a few gui elements related to roads. It is possible to create a single driveline, and more road meshes. Road meshes don't have textures at the moment, so they are rendered in wireframe mode.

To create a road or the driveline, you have to define a spline with its control points. There are three buttons with red background on the road panel. Click on the first to place control points. The second doesn’t do anything currently. Click on the third to leave the creation. Every control point is visualized as 3 spheres in the viewport. Move the red one to change the point’s position, that will modify the curve as well. Moving the blue one will change the road’s width, and moving the green one will change the road’s orientation.
You can create new road meshes with the imageless button. Use the upper combo box to choose which road you want to edit.

If a road is active, you won’t be able to select any other object. The button in the toolbar between the eye and the car (yes, that is an eye and that is a car) switches between road editing mode and normal mode.

It is all for now, i hope you like it : )