Menu

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.

Show posts Menu

Messages - lemmy101

#61
Quote from: subspark on Sun 04/05/2008 06:54:11
This AGX Plugin suite sure sounds like near on the horizon. I can't wait to adopt it into my production pipeline. Congrats to the you and the fantastic hard work you've all put into it. I can imagine it's something we really couldn't do without once it's available. Top stuff Lemmy!

Cheers,
Paul.

Thanks :) though tbh while it's quite usable for TFE development it's still very rough around the edges. We're kinda apprehensive about releasing it yet as it's very TFE orientated at the moment (320x200 only, Lucasarts speech only, etc), and if anything goes wrong or there are any big jobs to do on it only TFE will be held back. We need to make sure all bases are covered before we have the responsibility of other people using it I guess. :)
#63
yes that's probably the route to take, but it's a fair bit of work as we don't want to specify locations for every bit of text, adding new functionality to the script editor to parse it, and all the wizard dialogs to take it into consideration. Also since the text is centered and wrapped based on the screen, I was hoping it was possible to effectively change the screen borders so the text wraps as if it reaches the end of the screen.

So basically I was just wondering if there was some existing way to do that, then that'd have been great (I wondered if the edges set in the room editor had anything to do with it, as I've still not figured out what that's for :D), but yeah as you say it is technically possible to work this out in AGX so no biggie at all :)

thanks CJ!

lemmy
#64
Thanks Rui!

The only problem with that approach is that all the conversations are running through AGX script, not AGS script, so this approach would not work for us without severe changes to how AGX works. I guess if there is no other existing way to limit text position more generally, then I guess this is the answer, I'm assuming it's not really that much of a requirement for many AGS users to take up any more of CJ's time when this method would probably work perfectly well for most people :D

Thanks again!

lemmy
#65
Quote from: GarageGothic on Sat 03/05/2008 18:52:00
I should clarify that this is a module, not a plugin.

Thanks for the code, lemmy. I already have a bit of script that converts RGB values to the S and V part of HSV and then applies them as the Saturation and Luminance value in the tint. I didn't find any need to do the arithmetic for the hue, since I don't really need that value anywhere. But I'll try to add it in a way that makes sense, and also HSL.

NP :)
#66
We would love to have everything we need to convert from HSV to RGB and back.

i.e. for HSV you have a tint function that passes the hue parameter, but this is handled in AGS at the moment as a scaled RGB value that (I assume) is converted to the hue parameter internally.

For me, the ability to specify the hue itself, or a way to ascertain it from the passed rgb would be mega useful. Then we could convert our end to RGB colour spaces, and do light/colour maps, I assume,  in full RGB.

In one part, for e.g. we want characters to be coloured by a fire, depending on where they are stood, but also the light level of the character, and also simulating the siloette effect you get when an object is in front of a bright lightsource. this is easy to do in RGB, less so in HSV unless we do this conversion.

Since we find RGB the more useful colourspace for such things, we'd love to be able to edit the 360 degree hue, 100% saturation and 100% luminance so we can make this conversion back and forth.

Thanks!

lemmy

PS: GG here are two c# functions we have to convert between HSV (or HSL, same difference) and RGB, if you find them useful (HSV values being between 0 and 1).

Code: ags

                public static Color HSL_to_RGB(HSL hsl) 
		{ 
			int Max, Mid, Min;
			double q;

			Max = Round(hsl.L * 255);
			Min = Round((1.0 - hsl.S)*(hsl.L/1.0)*255);
			q   = (double)(Max - Min)/255;

			if ( hsl.H >= 0 && hsl.H <= (double)1/6 )
			{
				Mid = Round(((hsl.H - 0) * q) * 1530 + Min);
				return Color.FromArgb(Max,Mid,Min);
			}
			else if ( hsl.H <= (double)1/3 )
			{
				Mid = Round(-((hsl.H - (double)1/6) * q) * 1530 + Max);
				return Color.FromArgb(Mid,Max,Min);
			}
			else if ( hsl.H <= 0.5 )
			{
				Mid = Round(((hsl.H - (double)1/3) * q) * 1530 + Min);
				return Color.FromArgb(Min,Max,Mid);
			}
			else if ( hsl.H <= (double)2/3 )
			{
				Mid = Round(-((hsl.H - 0.5) * q) * 1530 + Max);
				return Color.FromArgb(Min,Mid,Max);
			}
			else if ( hsl.H <= (double)5/6 )
			{
				Mid = Round(((hsl.H - (double)2/3) * q) * 1530 + Min);
				return Color.FromArgb(Mid,Min,Max);
			}
			else if ( hsl.H <= 1.0 )
			{
				Mid = Round(-((hsl.H - (double)5/6) * q) * 1530 + Max);
				return Color.FromArgb(Max,Min,Mid);
			}
			else	return Color.FromArgb(0,0,0);
		} 

                public static Color HSL_to_RGB(HSL hsl) 
		{ 
			int Max, Mid, Min;
			double q;

			Max = Round(hsl.L * 255);
			Min = Round((1.0 - hsl.S)*(hsl.L/1.0)*255);
			q   = (double)(Max - Min)/255;

			if ( hsl.H >= 0 && hsl.H <= (double)1/6 )
			{
				Mid = Round(((hsl.H - 0) * q) * 1530 + Min);
				return Color.FromArgb(Max,Mid,Min);
			}
			else if ( hsl.H <= (double)1/3 )
			{
				Mid = Round(-((hsl.H - (double)1/6) * q) * 1530 + Max);
				return Color.FromArgb(Mid,Max,Min);
			}
			else if ( hsl.H <= 0.5 )
			{
				Mid = Round(((hsl.H - (double)1/3) * q) * 1530 + Min);
				return Color.FromArgb(Min,Max,Mid);
			}
			else if ( hsl.H <= (double)2/3 )
			{
				Mid = Round(-((hsl.H - 0.5) * q) * 1530 + Max);
				return Color.FromArgb(Min,Mid,Max);
			}
			else if ( hsl.H <= (double)5/6 )
			{
				Mid = Round(((hsl.H - (double)2/3) * q) * 1530 + Min);
				return Color.FromArgb(Mid,Min,Max);
			}
			else if ( hsl.H <= 1.0 )
			{
				Mid = Round(-((hsl.H - (double)5/6) * q) * 1530 + Max);
				return Color.FromArgb(Max,Min,Mid);
			}
			else	return Color.FromArgb(0,0,0);
		} 


Also nice idea for a plugin, GG, I don't think this is "too much" for a plugin at all, or I'd hope not :D will look forward to seeing it as it's something we're experimenting with in AGX.
#67
Hi CJ! Thanks for adding the sprite stuff to source control.

One problem that caused a few crashes and game corruption was I didn't realise that sprindex.dat isn't handled under source control. Could this also be added at some point?

Thank you!

lemmy
#68
Hi guys, was just wondering if there was any way to limit where Lucasart style dialogue is able to appear on a screen?

Say specifying a rectangle of the screen that is allowed to appear, as we have a room with the main character eavesdropping on a conversation in the distance, but due to the positioning of the characters she has their dialogue text over her face for the majority of the time, which doesn't look very good. Being able to budge the text to the left without moving the characters would be brilliant.

Is there any way to do this? Without hacking it with hidden characters with the same text colour? which for various technical reasons would be a right arse to manage across the game.

Thanks!

lemmy
#69
Awesmoe stuff CJ! :D Lovely goodies!! *drools* Thanks again! :)
#70
We think an early alpha of DP will be released before any of the other tools, or TFE Prologue itself. Just... when it's ready! :) The first version will be missing some features but will hopefully have most things pixel artists commonly use. :)
#71
yup. That's the thing that detects if your debug hotkeys etc are enabled. I need some way of detecting if the game has been run with Run instead of Run without Debugging.

Cheers!

lemmy
#72
Hi all. Is there a way of detecting whether you are running the game thru the actual debugger?

I tried:

#ifdef DEBUG

but that only seems to work on the General Settings "Enable Debug Mode" and has nothing to do with whether you're debugging the script or not.

Reason I ask is at the moment AGX is not working in debugging as the working directory of the game is different. So I want to modify the path of loaded files to match.

Any help would be much appreciated! :)

Thanks!

lemmy
#73
That's cool, thanks CJ! :)
#74
Nice catch thanks I'll add that! :) though being able to disable DX5 option totally would be the better option I guess this makes it even lower priority ;D
#75
Advanced Technical Forum / AGS 3.02 Wishlist
Thu 24/04/2008 14:11:48
Thanks again for 3.0.1 CJ, it's fabbo! :) Since there was no suggestions thread yet and I had one I thought I'd make this, hope that's okay!

A few times I've buggered up the game slightly as I've now become reliant on the source control feature,  but the acsprset.spr file and alike aren't handled under source control so if I try and save after adding sprites, at best the changes don't happen and I have views pointing at invalid sprite numbers. If when I edited the sprite folders in any way it requested I checked out the relevant files that would be fab. :)

Also, and low priority one this, if there was a way to block out the DX5 option in games that rely on the DX9 interface, that would be great. A couple of times team members have been getting broken versions of the game and it has turned out their settings have somehow ended up on DX5. No biggie for now but for release it could cause a lot of problems.

Thanks again!

lemmy
#76
:D hehe yup. progress is thundering along. We're just investing time that will cut down on TFE development as much as possible over the three acts with the happy side effect of some cool stuff we can release to the community.

Thanks! :)

L&B Team
#77
Another AGX update guys! :) Announcing the latest addition to the AGX toolset in its early stages of development:

DP AGX!

Click for full image.


A faithful recreation of Deluxe Paint Animation on Windows for the first time! along with functionality to create and export animations straight into AGX + AGS, it loads and saves Deluxe Paint Animation ANM files (along with other common formats), Wacom pad pen pressure support, multiple undo/redo, and will hopefully be a competitive free pixel-art program with lots of AGS specific functionality.

We're adding features that we need for development, but we hope ultimately it will contain most, if not all, of the DPaint Animation functionality, and we'd like to get layers and other cool features in there too. :) With the option of having it seperate or integrated fully into AGS.

W00t! :)

Thanks!

To subspark: I'm not 100% sure, but I don't actually think that DPaint was ever made officially public domain and EA still retain the rights, unfortunately. :( Which is some of the reason we undertook this DPAGX project (apart from being able to add some modern features to it)

L&B Team
#78
  <Component Name="SourceControl">
    <ProjectUnderControl>True</ProjectUnderControl>
    <SourceControlPath>P4SCC#lemmy:1666##chris##lemmy</SourceControlPath>
    <SourceControlProjectName>Perforce Project</SourceControlProjectName>
  </Component>

Ahh I see, it's because I'm using Perforce :( the path contains the username (chris).

Ok I guess this is Perforce's fault then, sorry CJ.

lemmy
#79
Source Control and non-native stuff works a charm, thanks CJ! :)

One thing re: Source Control. I notice it adds the source control username into the Game.agf, and since this is under source control at the moment it doesn't seem to be possible to have multiple perforce users edit ags files at the same time without readding Game.agf to source control with their own username. Is there any way around this?

Thanks you lots!! :D

lemmy
#80
That's totally awesmoe! Thanks again CJ! :D:D:D
SMF spam blocked by CleanTalk