Nova: Working around limitations

@darthkev, on 16 April 2011 - 04:14 PM, said in Nova: Working around limitations:

There are ways to require the player to buy multiple housings if they want multiple assemblies, but that's a little more complicated. I can elaborate on it, however, if you ask. 🙂

Yes please elaborate as that would be exactly what I would want if I don't go with the 30k burst cycle method.

Going off the previous example, you would need to edit the housing outfit a bit. In three of the 'outfit type' sections, you'd need to set it to the 'Increase Maximum' option, and then enter the IDs for the three assembly outfits. The assembly outfits themselves would have maximum counts of 0 (zero). Now, even without the Availability strings, the assembly outfits cannot be bought unless the player buys the housing.

You'll want to leave the NCBs there, however, in order to limit the player to one type at a time. But in this way, the player is required to buy more housings in order to buy more assemblies.

I guess I imagined the extra complications. I seem to remember wanting to mention it in my previous post, but for some reason saw some other complication that I don't remember now.

Increase Maximum doesn’t work like that. It just multiplies the maximum, so if it’s already 0 it’ll stay zero.

Here is a way to make it so you can buy a “laser” but it will not fire unless you have a “crystal” for it. That is to say, each laser that you want to work, must have its own crystal. And each individual laser may have a different type of crystal if you want. There is one catch, in which the Laser cannot be sold directly, but must be removed by buying a Remove Laser outfit. I will describe this to work with 4 different types of crystals.

Weapons:
128 Beam A
129 Beam B
130 Beam C
131 Beam D

Outfits:
128 Crystal A
Is weapon 128
Availability: O134
OnPurchase: D134 G128 (note, this would just be D134, except for an engine bug)
OnSell: G134 D128 (similar note)

129 Crystal B
Is weapon 129
Availability: O134
OnPurchase: D134 G129
OnSell: G134 D129

130 Crystal C
Is weapon 130
Availability: O134
OnPurchase: D134 G130
OnSell: G134 D130

131 Crystal D
Is weapon 131
Availability: O134
OnPurchase: D134 G131
OnSell: G134 D131

132 Laser
Does nothing. Cannot be sold.
OnPurchase: G134

133 Remove Laser
Does nothing.
Availability: O132 & O134
OnPurchase: D132 D133 D134

134 Token 1
Does nothing. Invisible.

In essence, what we have done is create a new sort of “gun slot”, which is called a “laser” and allows “crystals” to be installed, using “tokens” to count them. You could also just dedicate real gun (or turret) slots to this purpose, if you don’t need them for something else. Then you could do away with all the bit parsing and extra outfits, and just make the Laser grant a gun slot, and the Crystals each occupy one.

Some more questions from new findings:

Q6 Is there a way to change the ID of the "load screen" and "logo screen" or are there some images with set IDs that need to stay that way?

Q7 Is there a way to change the size of the "spaceport" image? (or any of the other text box images and such.)
I have made a new spaceport/planet interface image at 1440x900 and when I try to use it as the replacement, it resizes the image to the size of the normal image (618x517). How do I keep it at 1440x900 (if possible)?

Q9 Is there a way to change the shape of the buttons for the spaceport?
The button images are broken up into 3 sections left, right, and center. I made a shape that is somewhat different then the normal buttons and the areas that are suppose to be transparent are white if I use jpeg (from flattening I know) or an odd black with png which should hold the transparency... is there a way to make it work or do I have to use the same shape buttons as the originals... Oh and I am using a mask for the middle part of the button but I dont think it is working even though there is an ID slot "open" for it.

(I use Mission Computer for editing EVN files if that changes anything)

This post has been edited by Artemis : 20 April 2011 - 09:02 PM

@artemis, on 20 April 2011 - 08:55 PM, said in Nova: Working around limitations:

Q6 Is there a way to change the ID of the "load screen" and "logo screen" or are there some images with set IDs that need to stay that way?

Fixed IDs, cannot be changed.

@artemis, on 20 April 2011 - 08:55 PM, said in Nova: Working around limitations:

Q7 Is there a way to change the size of the "spaceport" image? (or any of the other text box images and such.)
I have made a new spaceport/planet interface image at 1440x900 and when I try to use it as the replacement, it resizes the image to the size of the normal image (618x517). How do I keep it at 1440x900 (if possible)?

Modify the appropriate DITL and DLOG resources accordingly.

@artemis, on 20 April 2011 - 08:55 PM, said in Nova: Working around limitations:

Q9 Is there a way to change the shape of the buttons for the spaceport?
The button images are broken up into 3 sections left, right, and center. I made a shape that is somewhat different then the normal buttons and the areas that are suppose to be transparent are white if I use jpeg (from flattening I know) or an odd black with png which should hold the transparency... is there a way to make it work or do I have to use the same shape buttons as the originals... Oh and I am using a mask for the middle part of the button but I dont think it is working even though there is an ID slot "open" for it.

I’ve never tried changing the button end masks, but I imagine they should work properly when valid PICT resources are present. I don’t think you can mask the middle part of the button.

@qaanol, on 20 April 2011 - 09:19 PM, said in Nova: Working around limitations:

I’ve never tried changing the button end masks, but I imagine they should work properly when valid PICT resources are present. I don’t think you can mask the middle part of the button.

Actually, it's quite possible, and the buttons are in fact supposed to be masked. I've done it myself for EVN:UGF, changing them from round to pointed, and red to blue. And I did it with MS Paint, not Photoshop. This file contains the button images in question.

For making button masks, follow this simple rule: the black part is the button, the white part is the surrounding area.

This post has been edited by StarSword : 20 April 2011 - 10:10 PM

@starsword, on 20 April 2011 - 10:09 PM, said in Nova: Working around limitations:

Actually, it's quite possible, and the buttons are in fact supposed to be masked. I've done it myself for EVN:UGF, changing them from round to pointed, and red to blue. And I did it with MS Paint, not Photoshop. This file contains the button images in question.

For making button masks, follow this simple rule: the black part is the button, the white part is the surrounding area.

A) You’ve got some serious problems with that file, at least as downloaded from that link. The button PICT resources are empty, for starters. Size 0 bytes.

B) The relevant PICT resources that are present in that file (even though they are empty) still only correspond to masking the ends of buttons, which we all agree works properly. It’s the middle of the button that I don’t think can be masked, and your file in no way suggests otherwise.

This post has been edited by Qaanol : 20 April 2011 - 10:21 PM

So are you saying to use .pic or .pics or something as the image format not png or jpeg?

@artemis, on 20 April 2011 - 10:28 PM, said in Nova: Working around limitations:

So are you saying to use .pic or .pics or something as the image format not png or jpeg?

An uncompressed PNG image with no transparency can be imported into MissionComputer as a PICT resource and should work correctly.

What matters for the mask is that the pixel values be true black (hex color #000000) and true white (#FFFFFF).

hmm I do that here ill link the button shape I am trying:
Posted Image
thats what I am going for (for now at least).

@artemis, on 20 April 2011 - 10:36 PM, said in Nova: Working around limitations:

hmm I do that here ill link the button shape I am trying:
Posted Image
thats what I am going for (for now at least).

The center of the button is just repeated horizontally between the ends. So you can make something like this:

Posted Image

Although you can sculpt the ends of the buttons however you like, the text of the button will only appear in the middle section.

If you know what the background behind the button will be (for instance, pure black) then you may be able to do something with the tiling of the middle section so it looks shaped.

Furthermore, if the button will always be visible (such as the “leave” button on planets) then you can actually make the sculpted perimeter of the button a permanent fixture of the background itself.

Indeed, you can go one better than that, and make a “disabled” version of the button a permanent part of the background. That way there could be an unclickable (perhaps grayed-out) button to say “refuel ship” when the player already has a full tank. Similarly, something like “No Outfitter Present”.

This post has been edited by Qaanol : 20 April 2011 - 11:21 PM

@artemis, on 20 April 2011 - 10:28 PM, said in Nova: Working around limitations:

So are you saying to use .pic or .pics or something as the image format not png or jpeg?

PICT resources are the same format as PICT files, apart from a few minor details concerning packaging. If you’re using any other format, your resource editor will just convert it into PICT when you paste it into the file.

JPEG should particularly be avoided, as it’s a lossy format (image quality decreases every time you save as JPEG). PNG should be all right, although of course any alpha transparency will be lost unless you manually replicate it in your black-and-white mask.

@david-arthur, on 21 April 2011 - 07:44 AM, said in Nova: Working around limitations:

JPEG should particularly be avoided, as it’s a lossy format (image quality decreases every time you save as JPEG). PNG should be all right, although of course any alpha transparency will be lost unless you manually replicate it in your black-and-white mask.

Ok so I do have the masks for the ends of the buttons where black is the button and white is not. But i need the mask for the middle part of the button to work. The mask IDs I see in Nova Graphics 3 are:
7600 left
7602 right
7603 left click
7605 right click
7606 left gray
7608 right gray

So as you can see there are IDs missing along with middle button masks... I was assuming they would work... I have the masks made and in my plug but the there is still white where it should be transparent. I might just make the "transparent" part like the background it will be on...

This post has been edited by Artemis : 21 April 2011 - 12:27 PM

@qaanol, on 20 April 2011 - 10:19 PM, said in Nova: Working around limitations:

A) You’ve got some serious problems with that file, at least as downloaded from that link. The button PICT resources are empty, for starters. Size 0 bytes.

🆒 The relevant PICT resources that are present in that file (even though they are empty) still only correspond to masking the ends of buttons, which we all agree works properly. It’s the middle of the button that I don’t think can be masked, and your file in no way suggests otherwise.

A. That's odd. It looks fine when I downloaded it from the link.

B. Huh. Well, admittedly I didn't try to mask it, but based on a new analysis I think you're right about the center not being maskable: it looks like it just repeats a single segment until the end of the button.

This post has been edited by StarSword : 21 April 2011 - 04:18 PM

@qaanol, on 20 April 2011 - 09:19 PM, said in Nova: Working around limitations:

Modify the appropriate DITL and DLOG resources accordingly.

Ok what ID would the DITL and DLOG have for say the spaceport? Is it the same ID as the spaceport image (8500)? and then is the box I make a picture or user item?

Find the DITL and DLOG resources in the EV Nova application, and copy them into your plug-in. The spaceport appears to be ID 1000.

For most of the in-game dialogue boxes, all of the controls are ‘user items’ that the engine fills in at run time, so they aren’t labelled when you view them in an editor. You’ll have to guess from their positions which fields and buttons they represent. It might help to have screenshot of the real thing handy.

And don’t re-number or delete any of the controls, because the engine won’t understand.

@david-arthur, on 21 April 2011 - 05:05 PM, said in Nova: Working around limitations:

Find the DITL and DLOG resources in the EV Nova application, and copy them into your plug-in. The spaceport appears to be ID 1000.

For most of the in-game dialogue boxes, all of the controls are ‘user items’ that the engine fills in at run time, so they aren’t labelled when you view them in an editor. You’ll have to guess from their positions which fields and buttons they represent. It might help to have screenshot of the real thing handy.

And don’t re-number or delete any of the controls, because the engine won’t understand.

Alright so how do I find the resource ID (in more depth) as im not sure how to view the application resource IDs... (Mac) I'd rather not have to ask here evry time heh and I am sure people don't want to answer all the individual ID questions... or is there a spreadsheet somewhere with all that already?

Oh and I am trying to edit the DITL and DLOG and I know I'll need to figure out the positioning thing but it keeps resetting after I save the file. I start with the values of:
top 450
left 720
hight 900
width 1440

and it always resets to:
(not always i guess... it keep changing but the values are always wonky)

-3174
-2457
33796
40966

which is nuts... why is this happening?

This post has been edited by Artemis : 21 April 2011 - 05:27 PM

Quote

Alright so how do I find the resource ID (in more depth) as im not sure how to view the application resource IDs... (Mac) I'd rather not have to ask here evry time heh and I am sure people don't want to answer all the individual ID questions... or is there a spreadsheet somewhere with all that already?

The files themselves are the list of resource IDs. I got that ID number for you by opening the file, clicking on DLOG, and looking at the number of the one named ‘Spaceport’. In all versions prior to 1.1, you can get the application resources by dragging the EV Nova icon itself onto MissionComputer or ResEdit.

In version 1.1, it’s unfortunately more complicated. First, you need to open the application bundle by control-clicking it and choosing ‘Show Package Contents’; then, open the Contents folder and then the Resources folder. Inside is a file called ‘Nova-DF.rsrc’, which you should copy to somewhere else on your computer. Rename the copy to end in ‘.ndat’, and MissionComputer will be able to open it.

This file contains all the DITL/DLOG resources (which you should always copy and modify, rather than attempting to re-create from scratch), as well as a few PICTs and STR#s.

EDIT: Which dialogue boxes are you trying to edit that are presenting this problem?

I think I figured out my problem as I did not know about all the different user items... thought it was just one so I am going to try your technique of copy paste and see if I can make this work. I'll post again if I have further problems.

Yeah I am all set now. Thanks David!

This post has been edited by Artemis : 21 April 2011 - 06:14 PM

Q10: Is there a way to add a new button to the spaceport?
If I wanted to add a new feature to the game (like a game center or something) Is that possible?