Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - otto-san

Pages: 1 2 3 4 5 [6] 7 8 9 10 11 ... 20
76
Modification Help / Control object switch is delayed by an arbitrary time
« on: January 28, 2014, 10:32:59 PM »
I've no idea why this is happening. Basically, I have a path camera set up to go between a few nodes (which it does), and after pushing all of them back, the player(s) have their control objects set to the path camera object.

The trouble is that there is a strange, irregular delay to the control object being set. This is not a hang, as nothing else in the simulation is slowed or stopped, and when the control object is finally set, the path camera has moved along its path the amount you would expect by that time. There is no point in the script where a schedule would cause this time (i tried making zero-length schedules to see if that would help; it didn't), and there is no obvious pattern to the length of the delay.

The relevant code:
Code: [Select]
function CEPathCamera::EventExecute(%this)
{
if(%this.type !$= "PathCamera" || %this.parent.viewers == 0)
return false;

%group = %this.getSpawnedObject("NodeGroup");

%cam = %this.getSpawnedObject("PathCamera");
if(isObject(%cam))
%cam.delete();

%cam = %this.PCCreateCam();

if(!isObject(%cam))
return false;

%this.PCSortNodes();
%cam.reset();
%cam.pushBack(%cam.getTransform(), 1.0, "Normal", "Linear"); //this was added to try and fix, didn't work
for(%i = 1; %i < %group.nodes; %i++)
{
%node = %group.node[%i];
%pos = getField(%node, 0);
%trans = getField(%node, 1);
%type = getField(%node, 2);
%path = getField(%node, 3);
%lastNode = %group.node[%i - 1];
if(%lastNode !$= "")
{
%lastPos = getField(%lastNode, 0);
%lastTrans = getField(%lastNode, 1);
%posA = getWords(%trans, 0, 2);
%posB = getWords(%lastTrans, 0, 2);
%sec = (%pos - %lastPos) / 1000;
%speed = getPathCamSpeed(%posA, %posB, %sec);
}
else
%speed = 1.0;
%cam.pushBack(%trans, %speed, %type, %path);
echo(%trans TAB %speed TAB %type TAB %path);
}
%this.parent.schedule(0, setControlObject, %cam);
//localClientConnection.setControlObject(%cam);
//%cam.schedule(0, setTarget, 1.0);
%cam.schedule(0, setState, "forward");
return true;
}

tl;dr: Path camera works, but the control object switch is delayed for no apparent reason with no obvious pattern to the delay length.

EDIT:
This is a more concise but fundamentally identical implementation of this that I used to test the idea. It's obviously not pretty or anything, but it worked properly.
Code: [Select]
function PathCamera::testmovie(%this, %stack, %s)
{
cancel(%stack.unhide);
%stack.HideCamShapes(1);
%ct = %stack.getCount();
%this.reset();
%this.setState("forward");
%this.pushBack(%stack.getObject(0).getTransform(), getPathCamSpeed(%this.getPosition(), %stack.getObject(0).getPosition(), 0.1), "Normal", "Linear");
for(%i = 1; %i < %ct; %i++)
%this.pushBack(%stack.getObject(%i).getTransform(), getPathCamSpeed(%this.getPosition(), %stack.getObject(%i).getPosition(), %s), "Normal", "Linear");
%len = (%ct - 1) * (%s * 1000);
%stack.unhide = %stack.schedule(%len, HideCamShapes, 0);
}

77
i want a graphics tablet because the one i currently borrow is gross (and not really mine)

this is da one i borrow (Wacom Bamboo Fun CTE-650):



i would like to know if it's worth trying to get another one with a budget of around $100 (and a product you would recommend). that budget may be extended to around $150, so feel free to suggest up to there as well.

or maybe you guys think it's a terrible idea to get a new one because the one i have

78
Modification Help / Show cursor in singleplayer/Bitmap button not working
« on: January 19, 2014, 05:22:15 PM »
idk if i'm getting a weird bug or if this is intentional but it seems impossible to show the cursor ingame whilst in singleplayer

i've tried using canvas.showCursor and ToggleCursor both and neither do anything

is this supposed to happen because i've never heard of this before



eughh i don't want to make another thread so soon so even though i hate doing this i'm doing a dual-question coding help topic

if it helps i promise i'll never lock this topic


I have a script making bitmap buttons on a HUD I created, and they don't appear to be working at all. The HUD is a child of newChatHud, and at one point they did work, but only on the bottom half of the button, and it only showed the _n and _d images.

Is there a minimum size for bitmap buttons to work properly? The ones I have are 10x10. This is the code creating them:
Code: [Select]
%bitmap = new GuiBitmapButtonCtrl("timelineDot_" @ %event.sid)
{
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = (%epos - 5) SPC "11";
extent = "10 10";
minExtent = "10 10";
enabled = true;
visible = true;
clipToParent = true;
bitmap = $Cutscene::Root @ getField($DMIMG, %event.good + 1);
wrap = false;
lockAspectRatio = true;
alignLeft = false;
alignTop = false;
overflowImage = false;
keepCached = false;
mColor = "255 255 255 255";
mMultiply = false;
director_event = %event;
command = "echo(" @ %event @ ");";
text = " ";
};
%bitmap.setColor($DMCOLOR_[%event.type]);
directorEventSwatch.add(%bitmap);
Director_EventKeeper.eventbitmap[%event.sid] = %bitmap;

79
Off Topic / youtube you did it
« on: January 18, 2014, 09:47:01 PM »
i barely ever make topics here but this makes up for all the stuff i've put up with in the past week on youtube

ok so for a long time i was really upset about how the subscriptions list would choose seemingly random channels to show so if i wanted to look at one guy i'm subscribed to i'd oftentimes have to actually go into my list and find them

but i went to do that just now AND I SAW THIS




SUBSCRIPTION COLLECTIONS OH MY GOD YES

I DON'T KNOW HOW LONG THIS HAS BEEN HERE BUT I LOVE IT

thx google u did it c:

80
Games / Ottosparks's 2nd New Year's Steam Giveaway [$120USD] (Ended)
« on: December 27, 2013, 10:41:30 PM »
You guys liked it last year, so I'm going to try and do this every year now. This year, the prizes are worth a whopping five dollars more than last year! wow so good!!! what a deal!!!!!!!!




Like last year, there are three prizes and any leftover money will go toward as many next third place winners as possible.


Won last year by UltimaMax/Dr.Kirby & Moriarty (Ace of Spades + The Binding of Isaac; Ace of Spades)
Won this year by Filipe (Saint's Row IV)


Won last year by Reinforcements (FTL, Borderlands 2 Mechromancer DLC, GTA 3)
Won this year by Muzzles56 (DayZ + Damned)



sry 4 weird cutoff thing
Won last year by tikitai (Borderlands 2 Season Pass, XCOM Slingshot Pack, and Cladun X2)
Won this year by Brian Smith (Another World, BioShock Triple Pack, Pixel Piracy, Fallout: New Vegas, Gunpoint, Half-Life Complete)



To Enter:
Post in a format like so (Or you can contact me by PM or Steam [ID is ottosparks, as is name]):
Code: [Select]
Steam ID (Links in plain text appreciated!)
Preferred Grand
Preferred Second
Preferred Third

You do not have to have a preference for all possible prizes.
Winners will be arranged logically according to order drawn and availability for prizes.
(e.g. Sam may be drawn before Harold, but Sam doesn't have a grand preference, so Harry gets grand, and Sam gets second.)
You may forward your win to others for certain prize slots.
Any modifications to your prize choices before the drawing should be told to me via PM
Prizes are limited to games, DLC, software, etc. (aka no items, steam funds, cards, other steam inventory items, etc.)

One entry per person. Winners will be talked to on Steam to confirm choices.

The drawing has ended.

81
Modification Help / Cutscene Control [UI reworking, pg5]
« on: December 22, 2013, 06:55:13 PM »

Cutscene Control allows for builders and modders to create cutscenes for use in their projects.



How they're made

Cutscenes can be made in three ways. In-game, using text, and through TorqueScript.

•Director Mode
During gameplay, players can enter "Director Mode", during which they will be given a series of tools and some more HUD to create cutscenes. The player controls time using the timeline, and controls events by placing elements in the game world (such as actors, cameras, etc.). The player can create, review, edit, and save cutscenes from this mode in a more easy-to-understand and interactive fashion. Mockup of the HUD and more detail on this may be coming soon.

•Cutscene Scripting
A more in-depth and tweak-able way of creating cutscenes is to directly create the cutscene files. Cutscenes will be stored using this simple text format, and even though it gives less visual aid, some scripters may find this convenient for more simple work. Some sample script and more detail may be coming soon.

•TorqueScript
It should be very straightforward to create cutscenes dynamically in TorqueScript. I'm trying as hard as I can to make this easy for everyone to use as they need to. TorqueScript would be the most direct and flexible way to create cutscenes since you can modify, expand, and use all the systems as seen fit.



How it works

There are two basic parts of the cutscene system that work together: the Cutscene object and the Event objects.

The cutscene object stores the general data about the scene, the timeline, and all events involved. Its purpose is to organize events and centralize bits of important general information.

The event objects are the active components of the cutscene system. Each event has a type and a series of parameters to fit their purpose. Event types can be added via script to allow modders to extend the event system if necessary. Each event carries out an action upon its execution.




Events
There are a few basic event types that will be included with the system by default.

•Camera
Camera events do basic camera actions. They set the view of the player to a defined object or place. They're an important part of creating a good cutscene.

•PathCamera
Although it's slightly redundant to have this separate from the Camera type, its purpose is completely different. Path cameras are used to set a camera on a specified path rather than being fixed in one place or on one object.

•Actor
Actors are AI players that are created as dummies to move around and manipulate. The actor system features tools to outfit, animate, and generally make these bots come to life.

•Caption
Caption events will display text on the viewer's HUD. These messages can appear in the basic centre, bottom, and chat, as well as in 3D space. They can be accompanied by sound files if supplied.

•Effect
Effect events will create explosions, particle effects, sounds, etc. to help with the cinematic aspect of cutscenes.

•Script
A simple event type that will execute a specified script. Temporary variables are assigned with relevant information so the script will have access to the cutscene and event objects, as well as any other important stuff. It's a nice alternative to scripting an entirely new event type if none of the others fit your needs.

•End

End events are used to signal the end of a cutscene more accurately. If one isn't present, the cutscene will assume the position of the last event is the end.

•Control
Control events are used to handle the viewers' control objects. Note that players will automatically be returned to the player objects when the cutscene ends.



How close is it? (Progress updates will be given as I work, see thread for more details)
The main cutscene system is basically complete. Elements of director mode have been created on the client and server side. Several event types are completed. Some work on the actor system is finished. CutsceneScript is developing.

82
Suggestions & Requests / A camera model for a potential add-on
« on: November 21, 2013, 03:52:54 PM »
I'd like to have a simple .dts+.obj format generic camera model for use in a mod I'm currently developing, however I am not experienced with 3D modeling software. I'd basically want one similar in design to the one spawned by the Garry's Mod Camera Tool.




I will credit the model creator in any iteration of the mod, released or unfinished, and make clear their role in its creation.

83
Add-Ons / Speedrun Events v1 [8/19/2013]
« on: August 19, 2013, 04:41:51 PM »
I've already released this as a .cs file, but people started to actually use it, so I figure this is more convenient.



Events

Player -> SpeedrunStart
This event takes one argument: the name of the speedrun. This is used for record keeping. It defaults to "Speedrun".

Player -> SpeedrunEnd
This event takes one argument: a checkbox for if record keeping is active. When set to true, records will be saved and stored in "config/server/platformerspeedrun.txt" (by default). Speedruns with the name of "Speedrun" are excluded from record keeping.



Download (Dropbox)
& in RTB Holding Tank

Note: this was created during development of Platformer Bricks. Please don't eat my organs for not changing variables.

84
monty
(i don't think it's that loud, but i don't know what volume you kids use. not for those afraid of basic video effects and slow zoom-ins)

monty 2: the rebellion
responding to the fantastic feedback of monty; monty 2 continues the story of monty. in this thrilling sequel, monty leads a rebellion against the tyrannic grox emperor

85
Add-Ons / Platformer Bricks v1 [8/7/2013]
« on: August 07, 2013, 01:13:54 PM »
Platformer Bricks
By Armageddon and ottosparks
Featuring sounds from Sonic Colors.


Video Demonstration



Grind Rails
Left+Right Rails: These are for diagonal rails.
Up+Down Rails: Self-explanatory. They go up and they go down.
Left+Right Turn Rails: These confuse people. With ordinary left and right rails, 90° turns aren't possible in reverse. These fix that.
Reversal Rails: These will reverse the player's grind direction.
Detachment Rails: These make a player detach from the rail.
Super-jump Rails: These will add velocity if the player jumps off on them.
Auto-jump Rails: Similar to detachment rails, but acts as if the player's jumping off instead.
Controls:
Right and Left Click to switch to rails within five blocks to the left and right. (distance modifiable in grind.cs)
Space to exit rail. (certain rails won't allow exiting, since they caused problems)

Grind Rail Tutorial
Grind Rail Test by Freek



Bumpers


These bricks will bounce players. They come with some events for customization as well as a feature that allows you to bump players toward a named brick.

There are standard bumpers that go straight up, as well as directional bumpers. Both come in 2x2 and 4x4 sizes.
A non-evented bumper will still work, just with a power fixed by the brick datablock.

Targeted Bumper Demonstration



Boosters


These add velocity to the player upon touching it. Like bumpers, they have an optional event feature to allow custom power settings.



Current Issues:
• Players find it difficult to learn how to use grind rail bricks. This is something that I can't fix without a custom 1x1F brick that indicates its direction.
• Other players appear to lag on grind rails. As far as I know, this is because your position is updated faster than other player's. If you need to see where another player is, you need to use their grind spark trail instead.
• Lag will break targeted bumpers. I have tried many things to fix this, but nothing has worked. Either make sure your server isn't laggy or design your challenges/whatever to make players hit a wall when this happens.
• Boosters sometimes just don't work properly. I don't know why.
• Exiting rails right as you attach will make you 'superjump'. I don't plan on fixing this, as it adds interesting speedrun possibilities.


Download (Dropbox)
[in RTB holding tank]

Also see:
Speedrun Events (these were made along with these, but not included in the release)

86
Modification Help / Platformer Bricks [Released]
« on: July 10, 2013, 01:50:34 PM »
Platformer Bricks
By Armageddon (Modeling + Bugtesting) and ottosparks (Coding)
Featuring sounds from Sonic Colors

gotta go fast



ottosparks can't make introductions to modification discussion topics



Grind Rails
Place these down in lines and then jump on. There are a few different types of rails outside the ordinary one.

Left+Right Rails: These are for diagonal rails.
Up+Down Rails: Self-explanatory. They go up and they go down.
Left+Right Turn Rails: These confuse people. With ordinary left and right rails, 90° turns aren't possible in reverse. These fix that.
Reversal Rails: These will reverse the player's grind direction.
Detachment Rails: These make a player detach from the rail.
Super-jump Rails: These will add velocity if the player jumps off on them.
Auto-jump Rails: Similar to detachment rails, but acts as if the player's jumping off instead.


Bumpers

These bricks will bounce players. They come with some events for customization as well as a feature that allows you to bump players toward a named brick.

There are standard bumpers that go straight up, as well as directional bumpers. Both come in 2x2 and 4x4 sizes.
A non-evented bumper will still work, just with a power fixed by the brick datablock.



Boosters

These add velocity to the player upon touching it. Like bumpers, they have an optional event feature to allow custom power settings.



Current Issues

• Players find it difficult to learn how to use grind rail bricks. This is something that I can't fix without a custom 1x1F brick that indicates its direction.
• Other players appear to lag on grind rails. As far as I know, this is because your position is updated faster than other player's. If you need to see where another player is, you need to use their grind spark trail instead.
• Lag will break targeted bumpers. I have tried many things to fix this, but nothing has worked. Either make sure your server isn't laggy or design your challenges/whatever to make players hit a wall when this happens.
• Boosters sometimes just don't work properly. I don't know why.
• I can't get the icons to work. For some reason they make the game crash when set to the correct path. Anyone that might know why, please tell me.
• Exiting rails right as you attach will make you 'superjump'. I don't plan on fixing this, as it adds interesting speedrun possibilities.
Video Demonstration
Targeted Bumper Demonstration


Latest Version [RC1]
Related: speedrun.cs
Grind Rail Tutorial

try and find bugs and give suggestions on any other improvements i should make.
a tip if grinding causes performance issues for you:

in grinding.cs, at the top, there is a line that says $Platformer::Grind::RailSpeed = 30;. changing the 30 to a higher number will increase performance, but it will also reduce the speed. keep in mind this is in milliseconds, as in, every Xms you will advance to the next grind rail. this was originally at ~75, i believe. it was lowered because []----[] has the need for speed
These are basically ready for release, but I'd like to get some feedback and make several improvements beforehand.

87
Suggestions & Requests / 1x1F with 'pointing'
« on: June 22, 2013, 03:45:15 PM »
Basically I need a 1x1F brick that uses a method like teledoors to point in its facing direction.

As an alternative, I'd also be OK with a brick that uses the vehicle spawn graphic to point, but I'd much prefer the aforementioned.

88
I've had this problem for as long as I've had steam, and reinstalling does nothing. I can find absolutely nothing about this on Google, and no one else seems to have this issue.

When certain types of windows are open, for instance the game content conversion one, steam completely disallows me from using any other steam-related windows. For instance, if someone sends me a message, I can't respond to the message until the window is able to be closed. When trying to switch to a different window, I'll just get the generic steam error noise.

Most of the time, these windows are ones that can't be closed until an operation is complete.

i don't know why i even had the impulse ask here lol

89
Modification Help / Progress Bar Profile Bitmap Array?
« on: June 07, 2013, 12:12:36 AM »
I don't know if this version of Torque even supports it, but what would a bitmap array for a progress bar profile look like?

90
I decided to remake saveDup in a way that makes certain tasks easier for me since it's broken, but I ran into the same issue. (probably was a good idea to do the exact same thing as something known to be broken to achieve the same goal)

I'm just looping through a given brick's upBricks and saving them to a .bls file using their positions relative to it (using VectorSub(%upBrick.getPosition(), %brick.getPosition());).

However, when doing so with this:



I get this result:



Is there a solution to this or should I go with another method?

edit:
'incorrect' may be a bad word to use for this. i guess some bricks determine position oddly?

Pages: 1 2 3 4 5 [6] 7 8 9 10 11 ... 20