Jump to content

Fixing "Editor Names"


Recommended Posts

In an ARE file, each actor and container is given an "Editor Name". This is a 32 character string that's used to refer to the character or container. These strings have no effect on the game, but they're important for modders.

 

When you're browsing in DLTCEP, a creature's editor name is listed, not its real name. A lot of the time, they're the same, but there are cases in the game when a strange or incorrect value is used.

 

I'd like to propose an addition to the Modder Pack Component that would fix creature editor names. This is not a project that needs to be done all at once, but the idea is, if you come across something that you believe should be changed, reply with it. I haven't looked at containers much yet, but I assume a few could be made a little more obvious.

 

In the vast majority of the cases, the editor name should probably be set to the creature's Long Name.

 

Here's the first area I've gone through:

 

 

 

 

AR0602 (Irenicus's Dungeon 1st Floor)

--------------------------

-"Waste Golem" -> "Sewage Golem" (IGOLEM01)

-"Clay Golem" -> "Jailkeep Golem" (IGOLEM02)

-"Genie" -> "Aataqah" (AATAQAH)

-"Dryad of the Cloudpe" -> "Ulene" (IDRYAD01)

-"Dryad of the Cloudpe" -> "Cania" (IDRYAD02)

-"Dryad of the Cloudpe" -> "Elyme" (IDRYAD03)

-"Clay Golem" -> "Cambion" (IDEMON01)

-"Duergar" -> "Duergar Mage" (DUEMAG01)

-"Duergar Clan Chief" -> "Ilyich" (DUECLA01)

-"Duergar" -> "Duergar Archer" (DUEARC01)

-"Genie" -> "Malaaq" (IDJINNI) Long Name is set to Genie, but I've always referred to it by its death variable. This is questionable

-"Flesh Golem" -> "Lesser Clay Golem" (IGOLFLE1)

-"Flesh Golem" -> "Lesser Clay Golem" (IGOLFLE2)

Link to comment

IMO, this issue is too trivial for the fixpack team to bother with.

 

Furthermore, it would fill the override folder with a copy of all .ARE files which are altered and thus unnecessarily increase its size and the number of files it contains, both of which have been known to cause stutter and overall slowdown.

Link to comment

I propose separating the modder pack entirely -- stick it with the debugging suite or something. There isn't any use for it at all anymore (questionably, it may have been a good idea at one point, but it's no longer worth the headache).

 

That said, this would take Cam all of 5 minutes to code. It's easily doable, although you'll get some dumb results (<No such index -1> labels and stuff) for invisible or special creatures. The game should easily handle at least 10,000 files in override, but the big performance hit apparently comes when the files are too large (gigabytes of data in there slows to a crawl).

Link to comment

It ought to be harmless, yes. Most likely, the "open associated file in a new window" function of NI is going to be more useful than relying on the internal name. If you want it, though, something like this ought to suffice.

COPY_EXISTING_REGEXP ~^.+\.are$~ ~override~
 PATCH_IF (SOURCE_SIZE > 0x11b) THEN BEGIN
READ_LONG 0x54 "ao"
FOR (READ_SHORT 0x58 "ac"; "ac" > 0x00; "ac" -= 0x01) BEGIN
  SPRINT ~ln~ ~~
  READ_ASCII ("ao" + (("ac" - 0x01) * 0x110) + 0x80) ~rr~
  INNER_ACTION BEGIN
	ACTION_IF (FILE_EXISTS_IN_GAME ~%rr%.cre~) THEN BEGIN
	  COPY_EXISTING - ~%rr%.cre~ ~override~
		PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN
		  READ_LONG 0x08 "sr"
		  PATCH_IF (("sr" > 0x00) AND ("sr" < 0xf423f)) THEN BEGIN
			READ_STRREF 0x08 ~ln~
		  END ELSE BEGIN
			SPRINT ~ln~ ~%SOURCE_RES%~
		  END
		END ELSE BEGIN
		  SPRINT ~ln~ ~File fragment: %SOURCE_RES%~
		END
	END ELSE BEGIN 
	  ACTION_IF !(FILE_EXISTS_IN_GAME ~%rr%.cre~) THEN BEGIN
		OUTER_SPRINT ~ln~ ~%rr% : Does not exist~
	  END
	END
  END
  WRITE_ASCIIE ("ao" + (("ac" - 0x01) * 0x110) + 0x00) ~%ln%~ #32
END
 END
BUT_ONLY

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...