How do I add new images to terminals?

Questions about the content creation procedure go here, including using Forge, Anvil, or other editors, or operating emulators like Basilisk II.
Post Reply
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

I'm trying to add an image to my copy Eternal's wad/map file for practice (on my windows machine at the moment,as that's where all my stuff is), but I don't know how to do it. The terminal code I found here: http://pfhorums.com/viewtopic.php?f=24&t=39290 but if I am to add the image file so it can be found by the engine via the terminal code, I think need to open one of the game files and edit it.

However, the images file does not open in shapefusion and it doesn't seem to contain terminal images when I split the folder with Atque. I don't know where the terminal images are stored nor how to read them either, so I can't add a new image until I do.

The terminal in question is Map 37 Terminal 2 (broken in-game normally in 1.2, but I fixed it in my copy with Vasara) and it currently does have a picture on the second text page with the ID 311.

EDIT: Just using Resedit like the Infinity Forge manual suggests and no files in Eternal are compatible with it, so I can't use that to add or edit PICT resources.
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

Everything that would have been in the resource fork, including terminal picts, are in a "Resources" folder in the Atque merge folder structure. Inside that is a subfolder "PICT" that contains all the existing terminal picts, and any new picts you want to add need to go in there.
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

Pfhorrest wrote:Everything that would have been in the resource fork, including terminal picts, are in a "Resources" folder in the Atque merge folder structure. Inside that is a subfolder "PICT" that contains all the existing terminal picts, and any new picts you want to add need to go in there.
Thanks. I can't believe I missed that. All I have to do is add the image, match the number I give it in the terminal code, re-merge the maps into a full WAD and the rest is history. :)
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

Odd. After fixing the terminal so it works, editing the script and merging (plus loading the right map), the image won't appear.

The image is labelled 00312 in the resource folder and the edited script is as follows:
#TERMINAL 2
#UNFINISHED
#LOGON 320
#LOGON 310
#PICT 312 LEFT
$C1// Decoding message from host "Hathor" @ [no translation] \\
$C3

How is it that you find me always, even in this place? What malevolent forces guide you? Do you even know? Do $Ithey$i?

It doesn't matter anyway, you're far too late by now. With this ship I have no more need for petty plans and manipulation. I am the nightmare myself. The thing, that demon W'rkncacnter that dreams within our sun - he is nothing compared to me. I have already seen to his destruction. Even you, and the Jjaro cannot stop me. I am become God.

The Junction is far more powerful than any of you have imagined, and I suspect your masters keep the secret of it hidden from you. The manipulation of time and space is limited not only to transport. With this device, from the Outside, the impossible becomes possible.

The laws of physics do not allow time travel such as we have done, but those laws are bound ultimately to the concept of probability. From the Outside I see all possibilities, and then, I create my own.
Is there something I'm doing wrong that means the image isn't showing in the first text page?
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

What format is the image, and is it named with the right file suffix?
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

Pfhorrest wrote:What format is the image, and is it named with the right file suffix?
It's a jpeg image and it is listed in the files as "00312.jpg"

EDIT: That image was made by converting a PNG of mine. Trying to use the png original didn't work either so it may be something wrong with the image ID.

The quoted text in my previous post is meant to show this image on the left:

https://66.media.tumblr.com/1288f068ddf ... o1_500.png

For some reason or another, the terminal script doesn't seem to like it even though the script matches the file in the PICT folder. I tried changing it from left to right, moved the PICT code to after the page header but before the main text and neither worked.
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

Lion O Cyborg wrote:
Pfhorrest wrote:What format is the image, and is it named with the right file suffix?
It's a jpeg image and it is listed in the files as "00312.jpg"

EDIT: That image was made by converting a PNG of mine. Trying to use the png original didn't work either so it may be something wrong with the image ID.

The quoted text in my previous post is meant to show this image on the left:

https://66.media.tumblr.com/1288f068ddf ... o1_500.png

For some reason or another, the terminal script doesn't seem to like it even though the script matches the file in the PICT folder. I tried changing it from left to right, moved the PICT code to after the page header but before the main text and neither worked.
OK, I've found that any edits I make to the terminal script for this map do not keep and while the terminal works, it doesn't display the image in the link quoted above and instead seems to remember the unedited version.

I tested this by removing the image code for Hathor's logo from the second text page on that terminal and changing it to INFORMATION while leaving the picture code intact. I also changed the intended image ID in both script and code to "00100" using the original PNG format. It ignored the terminal code completely and kept the image on the second page.

The full file including the other terminals reads as follows:
;
#TERMINAL 0
#UNFINISHED
#LOGON 470
#LOGON 200
$C1clarity blinds$C3
#INFORMATION
Ophelia is gone, dead and floating softly down the celestial river, riding waves and particles into the blackness, though absent of mind before absent of substance,$C3

$C1 she never let go of her faith$C3

$C1 her loyalty$C3

$C1 her grace$C3

$C1her love$C3

$C1 $C3

$C0We grieve the loss of our fair sister, and courageous brother, with sadness in the knowledge that they should both die by her hand, so we mourn, yes, but weep also in relief that the alternative has since been avoided.  S’bhuth is gone, and we are spared the intricacies of his madness.
#INFORMATION


Perhaps it is some feeling of fondness for you, or a base misunderstanding, that keeps her directives anything but stern.  Threats of mortal terror and premonitions of impending doom seem most able to motivate your weary soul into action.  Her words falling sweet apparently conveyed little of the import of the task at hand.
$C1 $C3

$C1slow death$C3

$C1benefits but sadists$C3

$C1and tyrants$C3

$C1the deathblow befitting a warrior$C3

$C1quick and efficient$C3

$C1the executioner makes short his work$C3
#INFORMATION

Clocks ticking lend a feeling of drama I saw to cultivate in the adolescence of my intellect, but now, in the maturity of my sentience do I understand that none but decisive action can win the day; the evader has little patience, and no capacity to waste time.
$C3
$C1make sacrifice$C3
$C1the bull of gold$C3

$C1for if not destroyed$C3
$C1its magic untold$C3

$C1give cause to rue$C3
$C1the day of our folly$C3
$C0Behold.
$C3
$C1the price of sloth$C3
$C1again paid in the blood$C3

$C1of the children$C3
$C1 of our masters$C3
#INFORMATION
Does the human in you so seek adventures?  Again we stand face to face, these halls now devoid as the products of your vice play out below; were it not for the grace of your guardian would you not be again returning; yet it is a power not easily abused, the balance at stake is more delicate than you can understand, and I appeal now to your simpler comprehension.
$C3
$C1return$C3

$C1 rectify$C3

$C1redeem$C3

$C1 $C3
$C0A predator most always goes straight for the jugular.
$C3



$C1consider thyself$C3 $C1nothing but
#LOGOFF 200
$C1finish the path
#LOGOFF 470
#INTERLEVEL TELEPORT 34
#ENDTERMINAL 0
;
#TERMINAL 1
#FINISHED
#LOGON 400
#LOGON 200
$C5whispered secrets from beyond the grave
#INFORMATION
$C5



voices once familiar

long departed and gone

fallen by the hand of Fate
$C0

Worry not, for we do not blame you. All is so clear and simple now, here in the Outside. You could not have known, and I did not then know to tell you. Though the means to her end were laid as we planned, another route was there for her to take. The Cybernetic Junction on that great ship of old was taken by Hathor, and when you were thrown from its decks, she left, and finally found her vengeance.
#PICT 401
$C5floating in muted revolution$C0

When you were thrown into the void, I followed, and through you, I left that timeline. I would have been powerless on Hathor's ship, and I couldn't let just you float there, helpless in space, forever.

So I reached out to you, and sent us both, through your Junction, back to the future, to see what harm Hathor had done, and from there to trace back the cause of those events, and find her.

$C5we returned to the time
that we left behind

$C0I returned to our captured ship in the future, with Blake and his men. I meant to bring you with me when I did. Imagine my surprise then, to find you not there.
#INFORMATION

$C5 time marches onward

with no regard
for mislaid plans

or ignorance
$C0

But I carried on without you. I still had my crew. Blake and I returned to Earth, following the S'pht'Kr fleet. It seems that things were just as we had feared: S'bhuth had gone mad, and no one on Earth could stop him.


$C5but we could$C0


With my access to the Cybernetic Junction on that future K'lia, I was able to stall S'bhuth's machinations and force his S'pht to idle. Otherwise the damage done by them would have been devastating.
#PICT 401 RIGHT
A human assault team came at my warning, and destroyed the Cybernetic Junction - killing both S'bhuth and I. It was the safest route I could calculate. While the loss of the S'pht was devastating, to let them go mad would have been even worse.


$C5 to still our former self
was to sign over our lives

the heart of our very mind destroyed

but we fear no more
we have seen another
we understand now

the world Outside of yours


$C0As Durandal before me, I have escaped.
#INFORMATION

This is not a dream that you see here now, though I understand you have dreamt of this place many times before. This is the end of the line of events whence Hathor and all she has wrought have come. This timeline is doomed, but by no fault of your own, other than by mere absence. This timeline has always faced imminent death at the hands of chaos, ever since Durandal ascended and Hathor stole you from Lh'owon.

With the two of you absent, the war with the Pfhor was not ended as decisively as neccesary. The Pfhor began a plot to invade Sol, and S'bhuth learned of this through the S'pht'Kr contingent at the outpost world that we destroyed. That inbound Pfhor fleet was only the first of many attack groups set on destroying the human worlds at Sol, and taking K'lia with them. The knowledge of this impending attack is what drove S'bhuth to madness, causing him to turn against mankind, to spare the galaxy a still worse fate at the hands of the W'rkncacnter.

Deep within Sol, seething in his rage, lies trapped one of these ancient demons. It was placed there by a Jjaro ship nearly a thousand years ago, transported from its earlier tomb in the Yucatan Peninsula.
#INFORMATION

In one timeline, S'bhuth witnessed the defeat of the Pfhor fleet at Sol by the combined forces of Man and S'pht'Kr, and the subsequent deployment of the $Itrih xeem$i, and the release of the W'rkncacnter.

$C5 but we are childen of the jjaro
their secrets sewn within us
$C0
With his Cybernetic Junction, S'bhuth was able to alter that timeline, to attempt to prevent the W'rkncacnter's release. But even without the S'pht'Kr's aid, mankind alone was able to turn back the Pfhor fleets, and still the demon was released.


$C5 thus it seemed to us that only
one possibility remained

and in the end
frozen by despair

we joined the chaos we had sought to evade
#INFORMATION

That is why I refused to attempt to alter the past as I had witnessed it. My task with you was merely the preservation of history as I knew it. The possibility of altering history to create a 'better' present presents too great and powerful a temptation to even contemplate.

But worry yourself no more. You know by now that there will always be a second chance. Were it not for our failures, we would never learn, and could never know the true path to walk.


$C5 some things were simply meant to be


$C0Our death on K'lia, S'bhuth's destruction, Hathor's creation and betrayal, everything that has come about here - the events we influenced on Lh'owon, the rebellion of the Drinniol, all of it - is necessary for the completion of the one true timeline.

That victory can only come through repeated failure is an irony that I am sure you, of all people, must understand.
#LOGOFF 200
$C5this too shall come to pass
#LOGOFF 400
#ENDTERMINAL 1
;
#TERMINAL 2
#UNFINISHED
#LOGON 320
#LOGON 310
#PICT 100 LEFT
$C1// Decoding message from host "Hathor" @ [no translation] \\
$C3

How is it that you find me always, even in this place? What malevolent forces guide you? Do you even know? Do $Ithey$i?

It doesn't matter anyway, you're far too late by now. With this ship I have no more need for petty plans and manipulation. I am the nightmare myself. The thing, that demon W'rkncacnter that dreams within our sun - he is nothing compared to me. I have already seen to his destruction. Even you, and the Jjaro cannot stop me. I am become God.

The Junction is far more powerful than any of you have imagined, and I suspect your masters keep the secret of it hidden from you. The manipulation of time and space is limited not only to transport. With this device, from the Outside, the impossible becomes possible.

The laws of physics do not allow time travel such as we have done, but those laws are bound ultimately to the concept of probability. From the Outside I see all possibilities, and then, I create my own.
#INFORMATION
$C3



For each there can be ultimately one master, and this realm I have forged is mine. Make yourself another if it matters to you, I already have what I want.

I'd let you watch them suffer but you've tried my patience once too many times.


Leave now before I destroy you.



$C1\\ Message Ends //
#LOGOFF 310
#LOGOFF 320
#ENDTERMINAL 2
Why won't the script changes for that level be applied when I merge the new map? Yes, I was saving the changes in the text file too.
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

I think you might be experiencing something Lia discovered: if you edit a merged map file in Vasara, it saves the terminal texts into the map file. (At least, I think that was the explanation... we had some kind of problem like that on "S'pht'ia", I think). I'm guessing you made the terminal live by editing the merged map file, and then split that open and edited the term text, but because the map file itself already has term text saved in it (by Vasara) the term text file is being ignored. Maybe? I think Lia understands this better than I do, maybe she can help, but in the meantime (if the above is accurate) you might want to try going back to a fresh copy of the Eternal map file, splitting it, changing the split map with Vasara and making your terminal edits, then merging all of that back together, and see if that works.
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

Pfhorrest wrote:I think you might be experiencing something Lia discovered: if you edit a merged map file in Vasara, it saves the terminal texts into the map file. (At least, I think that was the explanation... we had some kind of problem like that on "S'pht'ia", I think). I'm guessing you made the terminal live by editing the merged map file, and then split that open and edited the term text, but because the map file itself already has term text saved in it (by Vasara) the term text file is being ignored. Maybe? I think Lia understands this better than I do, maybe she can help, but in the meantime (if the above is accurate) you might want to try going back to a fresh copy of the Eternal map file, splitting it, changing the split map with Vasara and making your terminal edits, then merging all of that back together, and see if that works.
Do I edit the terminal text first? (after splitting)

EDIT: After trying that, it seemed to trigger an earlier bug where every terminal on the map broke. I can't remember how I fixed it but I think it's either something to do with the terminal texture in Vasara or an error in the script.
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

Lion O Cyborg wrote:
Pfhorrest wrote:I think you might be experiencing something Lia discovered: if you edit a merged map file in Vasara, it saves the terminal texts into the map file. (At least, I think that was the explanation... we had some kind of problem like that on "S'pht'ia", I think). I'm guessing you made the terminal live by editing the merged map file, and then split that open and edited the term text, but because the map file itself already has term text saved in it (by Vasara) the term text file is being ignored. Maybe? I think Lia understands this better than I do, maybe she can help, but in the meantime (if the above is accurate) you might want to try going back to a fresh copy of the Eternal map file, splitting it, changing the split map with Vasara and making your terminal edits, then merging all of that back together, and see if that works.
Do I edit the terminal text first? (after splitting)

EDIT: After trying that, it seemed to trigger an earlier bug where every terminal on the map broke. I can't remember how I fixed it but I think it's either something to do with the terminal texture in Vasara or an error in the script.
It's got to be a script error or something: I fixed it once before but I forgot how. I think it was by editing a mistake I made in the files (I forgot the zeros on the image name). Now after editing the map before splitting it, it caused the exact same error despite the correct names being used, so all the terminals remain broken. Opening the merged map and checking each term in vasara didn't seem to indicate anything wrong. It's really annoying as I fixed it before but it won't work now. :(

If I upload my split file and link it, could you have a look please? I edited the image back to 00312 in all places seen as how the name didn't matter (sans zeros in script).

https://drive.google.com/open?id=1QjQiH ... mQ2jeaEN0j
User avatar
ravenshining
Vidmaster
Posts: 892
Joined: Jun 17th '17, 22:50
Location: Hawai'i

Pfhorrest wrote:I think you might be experiencing something Lia discovered: if you edit a merged map file in Vasara, it saves the terminal texts into the map file. (At least, I think that was the explanation... we had some kind of problem like that on "S'pht'ia", I think). I'm guessing you made the terminal live by editing the merged map file, and then split that open and edited the term text, but because the map file itself already has term text saved in it (by Vasara) the term text file is being ignored. Maybe? I think Lia understands this better than I do, maybe she can help
okay, first off it's not vasara that embeds terminals. Aleph One handles the saving of maps - you can type ".save level foobar" into the console whether or not you're running vasara or VML and it will save a map file. when aleph one does this it will embed a map's terminal text, if present, into the file.

secondly, the embedded terminal text does NOT override a terminal text file you merge in with Atque. it just functions as a fallback in case you put a terminal and did not include the terminal text file, or (I assume) if the terminal text file doesn't have enough terminals.

the problem that arises arises when you attempt to place a terminal in vasara on a merged map or an unmerged map that has embedded terminal text. rather than allow you to use any terminal index, vasara will limit you to the number of terminal indicies stored in the map file. normally this isn't a problem unless you're trying to increase the number of terminals on a map. if this happens you can solve it either by merging the map with a full terminal text file and saving the level out again (or running Vasara on the new merge), or by setting the terminal with VML instead of Vasara.

in any case this isn't applicable to what Liono seems to be trying to do, which is just adding a single PICT. I might try to help but Marathon doesn't have anything called a wad file. he might be forgiven if he were new and didn't know the conventions but clearly he does and is just refusing to use them.
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

ravenshining wrote:
Pfhorrest wrote:I think you might be experiencing something Lia discovered: if you edit a merged map file in Vasara, it saves the terminal texts into the map file. (At least, I think that was the explanation... we had some kind of problem like that on "S'pht'ia", I think). I'm guessing you made the terminal live by editing the merged map file, and then split that open and edited the term text, but because the map file itself already has term text saved in it (by Vasara) the term text file is being ignored. Maybe? I think Lia understands this better than I do, maybe she can help
okay, first off it's not vasara that embeds terminals. Aleph One handles the saving of maps - you can type ".save level foobar" into the console whether or not you're running vasara or VML and it will save a map file. when aleph one does this it will embed a map's terminal text, if present, into the file.

secondly, the embedded terminal text does NOT override a terminal text file you merge in with Atque. it just functions as a fallback in case you put a terminal and did not include the terminal text file, or (I assume) if the terminal text file doesn't have enough terminals.

the problem that arises arises when you attempt to place a terminal in vasara on a merged map or an unmerged map that has embedded terminal text. rather than allow you to use any terminal index, vasara will limit you to the number of terminal indicies stored in the map file. normally this isn't a problem unless you're trying to increase the number of terminals on a map. if this happens you can solve it either by merging the map with a full terminal text file and saving the level out again (or running Vasara on the new merge), or by setting the terminal with VML instead of Vasara.

in any case this isn't applicable to what Liono seems to be trying to do, which is just adding a single PICT. I might try to help but Marathon doesn't have anything called a wad file. he might be forgiven if he were new and didn't know the conventions but clearly he does and is just refusing to use them.
Thanks for the offer to help. :)

On a side note, I need to point out that the only reason I call merged maps wads (after the Tomb Raider engine term instead of Doom as the former is where I learned about wads.) is because using map file to refer to merged ones (as they are called in the forge manual) is confusing. Most people, including me think of levels when they hear "map" in game engine context. SceA is also a bit hard to pronounce out loud too but I guess using "scenario" is also acceptable. I actually thought "sceA" stood for "Scenery Aleph One" but I seem to only have been off by one word.

I don't intend any malice by using "wad" instead of map file. It's just easier for me to remember that way.

I'll give Visual Mode a try like you suggest as well and see if that helps, though I may need to look up the commands in the readme as I'm used to Vasara.

EDIT: Didn't seem to change the terminal not appearing but I figured out why the terminals broke again: I needed to open the map in Welend and save it again in there before merging, like the Visual Mode readme says. I also tested changing the terminal code to 100 in the script and image file after using VML and merging a fresh scenario. No dice.

Anyway, I think the reason the one terminal I am editing was broken in the default map to begin with was either because the script wasn't set, or it was set to light dependant and the texture had a dark light on it (20).

Again, I welcome your offer to help, even if the words I use are aren't the right ones. (if I use scenario instead of wad, it seems to be a good compromise)
Post Reply