EV:N 1.0.8 përs bugs and undocumented features/conditions/constraints

I thought the denizens of the development community would be interested in some interesting facts I've determined while experimenting with the përs resource:

BUG #1 -

Quote

from Nova Bible 3/19/04 version, përs resource section **
Flags Some control bits
0x0020 Only show HailQuote when ship is disabled**

No hail is issued when this përs flag is set, regardless of whether the përs shďp is disabled in combat with the player's shďp, or the përs is given a gövt with the 0x0800 (start disabled) flag set. I really wanted to establish a short communications dialog with a disabled përs shďp for something I'm working on, but no-go. C'est la Vie. It's also interesting that in the Nova scenario all of the derelict përs resources have the 0x0020 flag set as well. I guess ATMOS tried it and then either forgot about it or just never got around to trying to get it fixed.

BUG #2 -

Quote

from Nova Bible 3/19/04 version, përs resource section **
HailQuote
Index number of an entry in STR# resource 7101, to be displayed at the bottom of the game screen (i.e. over the radio)**

and from Appendix III - Patching STR# Resources **
String Type:......Replacement 'STR ' ID range:
Hail quotes.........5000-5511**

Any use of the 5000 series STR<space> patch facility to alter STR# 7101 results in quotes being displayed that are garbled nonsense that appear to be numbers and NCB expressions from somewhere.
On the other hand, the companion STR# 7100 CommQuote patch STR<space> using the 15000 series RIDs works as documented.
There is a kluge workaround that involves replacing the entire STR#7101 resource, but that makes for guaranteed incompatibility with any other plug that uses the same workaround.

BUG #3 -

Quote

from Nova Bible 3/19/04 version, përs resource section **
Color
The color to paint this person's ship, encoded the same as
HTML colors (00RRGGBB). Set to 00000000 if unused (which is
the same as 00FFFFFF, or "pure white paint" i.e. no shading)
**

HTML color coding is 8-bits per color but përs only uses 5-bits for red and blue. Green is really weird because it only uses 2-bits.
The actual përs shďp color bit usage is:
red 0x00F80000
green 0x00000300
blue 0x000000F8

UNDOCUMENTED - (some of these may be common knowledge, but new folks are always joining us)

• Any përs (or düde or flët) shďp equipped with the repair system oütf (ModType #49) will recover from being disabled in 5 seconds or less. However, a player shďp that has a repair system can take up to 30 seconds to repair itself. Unfair, I say (or at least annoying).

• The përs oütf Grant function only works when there is no LinkMission specified. Put a Gxxx somewhere in the LinkMission itself as a workaround.

• Granted items are not used by the përs shďp.
They could be considered as përs shďp uninstalled carried cargo that is retrieved and then installed in the player's shďp.

• There are three constraints on being able to retrieve përs Grant oütfs:
1. Player's shďp must have sufficient free mass to accomodate the granted item(s).
This constraint is never ignored (i.e.- përs granting is not like Gxxx grants in this respect).
2. Player's shďp MaxGun and MaxTurret parameters may not be exceeded except on a 1st-time basis.
In other words, if the player's shďp has the maximum or greater than the maximum of guns or turrets, then the grant of any guns or turrets will not occur.
If the player's shďp has less than the maximum of guns or turrets, then a grant will occur (assuming 100% GrantProb) that can cause the maximum to be exceeded.
3. The granted oütf Max# parameter may also not be exceeded except on a 1st-time basis (see #2).

• The përs resource shďp Color (including "pure white" no shading) overrides any gövt resource ShipColor parameter values.

• The përs resource flag 0x0002 "Uses escape pod & has afterburner" also means that the përs is immortal. No matter how many times you destroy the përs shďp, it keeps reappearing.

• The përs resource flag 0x0400 "Don’t show (hail) quote when ship’s LinkMission is not available" is applied in one of two ways. Either some requirement within the LinkMission itself has not been met or there is no LinkMission specified at all (i.e. LinkMission = -1).

• The përs ShieldMod parameter will not affect the Target Status Display shield percentage number because ShieldMod changes the shield capacity , not the current shield percentage level.

• The default probability of appearance of 5% can only be increased by specifying a përs in a s˙st resource with a s˙st appearance probability of the developer's choosing.

Hope this helps, and if you've got any tidbits of wisdom to add, please do so.

Later...

Interesting stuff... (ZP bookmarks it in a secret place). Though there are things I expected, such as përs not using stuff they grant us.

On the subject of the <space>, did you read (url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/postdisplay.cgi?forum=Forum9&topic;=005311")my resarch(/url) on resource files?

------------------
The (url="http://"https://secure.ambrosiasw.com/cgi-bin/store/hazel.cgi?action=serve&item;=breakdown.html&BREAKDOWN;_SKUID=1480")Ambrosia Mac CD(/url) with other registrations - 5$. Paying for (url="http://"http://www.ambrosiasw.com/games/evn/")EV Nova(/url) as it's such a great game - 30$.
The (url="http://"http://www.ambrosiasw.com/games/evn/tshirts.html")1337 EV Nova T-shirt(/url)(url="http://"http://www.ambrosiasw.com/webboard/Forum25/HTML/000003.html#ZachaPedro05-18-200409:42AM") (/url) - 22$. The (url="http://"http://w00tware.ev-nova.net/")NovaTools(/url) by wOOtWare to tinker with your Nova - FREE!
The feeling you're a Nova geek - priceless.
There are things money can't buy or that are free, for everything else, there's indeed Mastercard.

(This message has been edited by Zacha Pedro (edited 06-15-2004).)

Quote

Originally posted by Arturo:
< lots of good stuff here>

Wow. Good work, Arturo. The only thing I have to add is something I posted not to long ago:

Quote

Originally posted by seant in a different thread--
**Pers data is stored as either a 1 (alive) or 0 (dead) in the pilot file. When you start a new pilot file, the game engine reads the data files and plugins and sets all the appropriate bits in the new pilot file to 1. As you kill them off in the game (if they are killable) those bits are set to 0 (unless that pers is immortal).

The problem is that there is currently no way for the engine to know whether a brand new pers added in a plug in is new and inactivated or is old and killed. Therefore, if you are designing a plugin and put a new pers in it, that pers will only show up if a new pilot file is made after the plugin is installed. **

I'm snagging the infor from your post and pasting it into my copy of the Bible. Kudos.

-STH

------------------
"Create enigmas, not explanations." -Robert Smithson

(This message has been edited by seant (edited 06-15-2004).)

I'll pass it all on to Matt. blackhole has already posted it to the evnova beta testers group, but I'll make sure it gets to the Boof.

Dave @ Boof Mk. III™

ZP:
Yes, I read your thread on resource arcania with great interest. Good bit of research. I've copied it all into my Nova notebook (but I hope there won't be a quiz). I didn't notice anything specifically addressing the resource title 4th character as <space> though. Did I miss something?

Sean:
Thanks for the addition. I should have remembered to include it, but my brain was getting foggy last night. Maybe all this përs attention will get more people involved and using your new utility (nice one, by the way). Is there anything else regarding the përs resource, other than the alive/dead bit, stored in the NpďL resource?

Dave:
Thanks very much (and to blackhole as well) for passing the info along to the appropriate parties. I was too tired last night after I'd posted this and didn't think to send off the email to help@Ambrosia until today and was going to take care of it tonight. I hope they're easy fixes.

Quote

Originally posted by Arturo:
ZP:
Yes, I read your thread on resource arcania with great interest. Good bit of research. I've copied it all into my Nova notebook (but I hope there won't be a quiz). I didn't notice anything specifically addressing the resource title 4th character as <space> though. Did I miss something?

It's something I noticed while doing the research: the resource types are on 4 bytes, i.e. they are always 4-char long, and resources that do not appear so in ResEdit just have a space at the end (too me some time to find out). It's normal. I suppose it's a fixed size in order to keep the alignment in the resource map. I think I posted the fact there is a space somewhere else, can't find it now...
By the way, as I don't feel like digging the topic, (url="http://"http://www.folklore.org/StoryView.py?project=Macintosh&story;=The_Grand_Unified_Model.txt&sortOrder;=Sort by Date&detail;=medium")Bruce Horn himself posted on folklore his creation of resources(/url) (notice that then resource files were compiled from a text file, and couldn't be edited like we do today, though they were easier to modify than the code and more easy to recompile, thus their interest). Read also the following story about the Finder for the type and creator codes.

------------------
The (url="http://"https://secure.ambrosiasw.com/cgi-bin/store/hazel.cgi?action=serve&item;=breakdown.html&BREAKDOWN;_SKUID=1480")Ambrosia Mac CD(/url) with other registrations - 5$. Paying for (url="http://"http://www.ambrosiasw.com/games/evn/")EV Nova(/url) as it's such a great game - 30$.
The (url="http://"http://www.ambrosiasw.com/games/evn/tshirts.html")1337 EV Nova T-shirt(/url)(url="http://"http://www.ambrosiasw.com/webboard/Forum25/HTML/000003.html#ZachaPedro05-18-200409:42AM") (/url) - 22$. The (url="http://"http://w00tware.ev-nova.net/")NovaTools(/url) by wOOtWare to tinker with your Nova - FREE!
The feeling you're a Nova geek - priceless.
There are things money can't buy or that are free, for everything else, there's indeed Mastercard.

(This message has been edited by Zacha Pedro (edited 06-16-2004).)

For modern Cocoa apps, resources in forks have been replaced by resources in seperate files that live inside packages. A more extensible system, I feel.

Dave @ Boof Mk. III™

Quote

Originally posted by pipeline:
**For modern Cocoa apps, resources in forks have been replaced by resources in seperate files that live inside packages. A more extensible system, I feel.

Dave @ Boof Mk. III™**

I do think so too, but we still have to use them for our plugs... Carbon apps compiled in Mach-O also need to be put in packages.

Back on the matter at hand, for the first problem, remember the dësc when you board the përs to rescue says "You are actually surprised to find...". Has it been added afterwards when they realised 0x0020 wasn't working, or was it so from the beginning (the ship is disabled, it can be considered there is little sense to have its comm systems working, 0x0020 would have been just an experiment with these that has just not been removed). Either way, it would be odd for the scenario-included ships-to-rescue to have that flag working, if it's corrected it would have to be removed from the scenarion derelict-to-rescue ships, but it should be corrected for plug makers, as it can be put to use, for instance having pirates and such make some trash talk after you beat them if you choose to leave them disabled (I kinda like to do it ;)), or other people attempt to beg for mercy if they are disabled.

What you say about përs color is odd. At least it isn't as bad as (url="http://"http://www.ambrosiasw.com/webboard/Forum9/HTML/005036.html#")shipcolor was(/url).

------------------
The (url="http://"https://secure.ambrosiasw.com/cgi-bin/store/hazel.cgi?action=serve&item;=breakdown.html&BREAKDOWN;_SKUID=1480")Ambrosia Mac CD(/url) with other registrations - 5$. Paying for (url="http://"http://www.ambrosiasw.com/games/evn/")EV Nova(/url) as it's such a great game - 30$.
The (url="http://"http://www.ambrosiasw.com/games/evn/tshirts.html")1337 EV Nova T-shirt(/url)(url="http://"http://www.ambrosiasw.com/webboard/Forum25/HTML/000003.html#ZachaPedro05-18-200409:42AM") (/url) - 22$. The (url="http://"http://w00tware.ev-nova.net/")NovaTools(/url) by wOOtWare to tinker with your Nova - FREE!
The feeling you're a Nova geek - priceless.
There are things money can't buy or that are free, for everything else, there's indeed Mastercard.

(This message has been edited by Zacha Pedro (edited 06-16-2004).)

Quote

Originally posted by Arturo:
**Sean:
Thanks for the addition. I should have remembered to include it, but my brain was getting foggy last night. Maybe all this përs attention will get more people involved and using your new utility (nice one, by the way). Is there anything else regarding the përs resource, other than the alive/dead bit, stored in the NpďL resource?
**

Thanks. I hope it is useful or that it becomes useless due to an engine tweek. 🙂

There's only a bit more pers data in the pilot files, but it doesn't impact plug making, really. It just records whether the pers likes or dislikes the player.

-STH

------------------
"Create enigmas, not explanations." -Robert Smithson

Quote

Originally posted by Zacha Pedro:
**...or other people attempt to beg for mercy if they are disabled.
**

I vaguely remember fighting a Voinian pers back in EVO days (the game vs the port). When I finally disabled him, I received a message from him at the bottom of the screen threatening me.

It's only a vague memory, however, so I could be mistaken.

-STH

------------------
"Create enigmas, not explanations." -Robert Smithson

Quote

Originally posted by Arturo:
**I thought the denizens of the development community would be interested in some interesting facts I've determined while experimenting with the përs resource
**

Thanks, these will be fixed in a future update.

mcb

------------------
"If it's not on fire, it's a software problem."