6741daa3c8e90

6741daa3c9e3c
3 Guests are here.
 

Topic: SS1src: Modding Tools: InkyBlackness
Page: « 1 ... 3 [4] 5 »
Read 30185 times  

6741daa3ca55eJosiahJack

Re: SS1 Modding Tools: InkyBlackness
6741daa3ca5f4
Hey so I'm using this to determine enemy states and positions as I go through and place enemies for Citadel, at least, following the original in part.  I'm not 100% sure what each enemy state means and can't find an explanation.  Also, the roaming behaviour is random?  Or patrolling to specific cells?  Or what?  Any help is appreciated or pointing out the particular source code files for critter behaviour.

6741daa3ca86bdertseha

Re: SS1 Modding Tools: InkyBlackness
6741daa3ca8c4
Heya!

I'm sorry, critter data is one of the least documented (and worked on). Mostly because their changes and effects couldn't be easily reproduced.
So at this point I'll have to point you to the source until I have done that to update the editor.

6741daa3caad6JosiahJack

Re: SS1 Modding Tools: InkyBlackness
6741daa3cab2d
Ok, codesploring time....

AI Moods:
#define AI_MOOD_FRIENDLY   0
#define AI_MOOD_NEUTRAL    1
#define AI_MOOD_HOSTILE    2  Josiah: seems to force enemy into combat state
#define AI_MOOD_ISOLATION  3
#define AI_MOOD_ATTACKING  4

AI Orders: //Josiah: Oh interesting how in the code it is treated like SHODAN giving orders
#define AI_ORDERS_GUARD    0     // hang out until player comes around
#define AI_ORDERS_ROAM     1     // wander about
#define AI_ORDERS_SLEEP    2     // do nothing ever until awakened
#define AI_ORDERS_PATROL   3     // back n forth between 2 points
#define AI_ORDERS_HIGHWAY  4     // follow invisible highway
#define AI_ORDERS_NOMOVE   5     // like guard, but will never move //Josiah: I guess like a turret mode, I wonder if any cyborg assassins use this?

Hmm...critters can sometimes be flagged with AI_FLAG_CONFUSED which is treated the same as AI_ORDERS_ROAM but critter is more impatient to wander when confused.  I guess this is a possible result of disruptability of some weapons?



Hang on what's this?!
Code: [Select]
if ((rand() & TRANQ_RAND_MASK) < TRANQ_RAND_LEVEL)
         {
            objCritters[osid].flags &= ~AI_FLAG_TRANQ;
            if (CritterProps[CPNUM(objCritters[osid].id)].flags & AI_FLAG_FLYING)
               apply_gravity_to_one_object(objCritters[osid].id,0);
         }

Does this mean that a stunned flyer will fall?  Need to test this.
Acknowledged by: Gawain
Re: SS1 Modding Tools: InkyBlackness
6741daa3cadd4
Couple of requests for HackEd:

  • Custom name for archive instead of archive.dat. SS1EE missions doesn't seem to work with archive.dat as filename. It always loads the original one.
  • Move objects (with edge snap when shift, align to floor height modifier)
  • Copy&paste tiles
  • Copy&paste (or clone) objects
  • Prefabs. Create piece of corridor and then stamp them.
  • Delete object and tiles (make solid) with delete key.



« Last Edit: 16. August 2019, 21:34:50 by Gawain »
Acknowledged by: dertseha
Re: SS1 Modding Tools: InkyBlackness
6741daa3cb07a
More requests:

  • Mirroring selected (textures, slopes, moves selected objects)
  • Rotating (+-90 deg) selected (textures, slopes, moves and rotates objects)
  • List of objects in selected tile. (Sometimes it is necessary to have multiple objects on same XY and selecting is cumbersome)
  • Show object id:s in map icons
  • Rendered 3D objects (bounding boxes would be enough)
  • Arrows to show object orientation in map.
  • Tile floor&ceiling heights shown in map (and corner/side heights for slopes) Maybe match texture view setting for floor/ceiling heights?
  • Use keyboard to set object property values
  • Use mouse to select object from map or list in object id references (traps and doors).

There are also lot of special cases that needs custom value editors, such as screens.

I have been slowly doing FM. That's why I'm posting these :)
« Last Edit: 24. August 2019, 23:51:37 by Gawain »

6741daa3cb165dertseha

Re: SS1 Modding Tools: InkyBlackness
6741daa3cb1b8
Thank you for all the feature requests. I will have a look at them and formulate corresponding tasks. I believe some of them have also been mentioned by 3rdplayer.
While I might not be able to get to them immediately, at least I have a direction to go to when I finally do :)
Re: SS1 Modding Tools: InkyBlackness
6741daa3cb3ab
More requests

I'm in need of game variable editor (initial values).
It would be nice if you could add name/description to them and it would show in the action.
List of objects (in all of the levels) that use that variable would be very helpful.

Reordering of textures.
Indicator to show what textures can be used as floor and texture
(I had to reorder some textures to be able to use them as floors or ceiling)

Show sprite in object editor and in the drop down to select object type that you want to create. If there is no sprite the editor icon could be used as fallback.

Bug:
Door access level names doesn't seem to match names that are shown in game.
6741daa3cb50e
Sorry for bumping this thread, I wasn't sure where to ask (and I don't have a GitHub account).

Is there a specific reason for this editor requiring a GL3+ card? Isn't this a total overkill? What is it even used for?

While my system is old, it still runs some demanding games just fine, but the thing struggles with hacked (and eventually overheats).

What can I do to improve performance? Or which is the last version that has comparable features yet less performance-hungry?

6741daa3cb6a0dertseha

6741daa3cb6f2
Hello there, Anon, thank you for your message. And yes, you are in one of the right places :)
First of all, I'm with you, the whole thing could be way more performant. Lack of "optimized graphics thinking" and "feature/time pressure" are probably the main causes.

I don't remember precisely why I'm using OpenGL 3.2, at least it's one of the earliest versions to properly support the "core" profile. It might be because I wanted to make use of single-color-channel textures to have palette bitmaps be rendered by the shader. If memory serves right, this is not available in earlier versions. Sure, things can be handled differently.
As for overkill: The editor is surely not using the full featureset of that API. Though, the API itself is probably hardly the issue. I'm pretty sure if I were to port the usage to, say, 2.1, the performance would still suck (if not worse) :)

I believe all of the versions draw a lot of resources. The main culprit is the implementation of the map renderer, which needs to render the 64x64 tiles with all the objects.

I'm sorry I can't help you further. I also can't tell you when I would be able to tackle this. There's a lot of things to do, and little & undeterministic free time available for this hobby project.

6741daa3cb894dertseha

v1.4.0 released - movie editor!
6741daa3cb8e9
This one took a while. HackEd v1.4.0 has been released and I'm very happy to have finally included a movie editor!



Also included are an editor for the sound effects, as well as native file/folder browse dialogs for import/export.

All of this comes paired with a first showcase of movie editing: My first true "mod", System Shock: Female Hacker. (I'm still waiting on moddb to accept my release article there, after which I'll add a separate thread for this.)
Acknowledged by 2 members: voodoo47, JosiahJack

6741daa3cb9bdJosiahJack

6741daa3cba0e
Pony tail seems a little short, but otherwise not too shabby.  I'm not sure how I feel about it but I spose it's cool.  Do you have the pain sound separate for download?

6741daa3cbeccdertseha

v1.5.0 released
6741daa3cbf21
GameState editing! HackEd v1.5.0 has been released with the capabilities to change the game state - even the starting state for fan missions!



The two major features:
First: Allow for GameState override for fan missions - let the protagonist start on a different level, with different inventory, and also have the variables have a different value.
Sadly, this is only for supporting engines, which currently is only the Source Port. Shockolate does not support this yet, and has received a feature request. (Thinking about it, perhaps this could be my first ticket to finally get hacking on there as well...)

This feature also allows for "New Game Plus" missions! To get people started, I created a template project, available here.

Second: Load and edit savegames. This can help struggling players, and also aid in looking for another case of "deleted plot items".

[edit]Oh, the static resources can now also load the source port "sshock.kpf" file, which is a ZIP file in disguise that contains all the resource files.[/edit]

In other news, since I was working on the "mod-examples" project, I updated both the "Cortex Reaver Challenge", as well as the "Museum" missions to have mission.as files for Source-Port.

Since I also figured out a way to let the Source Port load mod/mission files without having to rename the resource files, I documented the recommended project layout in the Wiki as well.
This allows to run the editor and the engine in parallel, without the constant need of renaming/copying files.

What's up next? I have no idea. There are still things like editing of 3D objects or fonts missing, yet there are also a many many feature requests from users. Next to my own unhappyness of the internal structure to "easily" implement these feature requests... All combined with little time to follow up on this.
Acknowledged by 2 members: voodoo47, JosiahJack

6741daa3cc0bbdertseha

6741daa3cc119
Also, @Gawain , I'm now looking at your feature requests. They give me ideas on what to focus on internally to enable them.
At least two features from your lists are possible now:
* There's no need to rename archive.dat, I found a way to structure a mod/mission that allows to work with the original names and have both the editor & engine running on the same files in parallel - see here. (Examples for this are found in the mod-examples - CortexReaverChallenge and Museum work this way - links are above)
* v1.5.0 now allows you to set and modify the values of game variables. User defined names need more work, ideas are forming.

Given that your requests are over a year old - are you still working on a mission? Or: Would you still be available to provide details to some feature requests when I come to them?
6741daa3cc230
I haven't worked on it, but would like to continue.
Ask away :)
Acknowledged by: dertseha

6741daa3cc329szmotsu

6741daa3cc37a
Hello everyone,
first - awesome work! i have never thought that editing SS1 would be so easy! I was playing a lot with these tools and its really powerfull. Unofortunatelly on my side editing bitmaps seems to be broken - i am not able to create any working mod for this - its always ending with error no mather if i edit graphiti or mfd. Could you please confirm if this is working okay?

6741daa3cc476dertseha

6741daa3cc4d4
Hello @szmotsu, thank you for the post - and it's great that you are picking up SS1 modding :)

As for your question, I'd expect bitmap editing to work, yet since it hasn't been touched in a while and automated tests are quite lacking in this area, I have no current proof.
When you say "ending with error" - which app is reporting an error, the editor, or the engine when you load/use the mod?

6741daa3cc67fszmotsu

6741daa3cc6d9
Hello @dertseha
Editing the bitmaps seems to work completly fine in editor - unfortunatelly trying to load things in the game is causing an error: Error - Exception caught in main: see CRASHLOG.TXT for info
and fragment from crashlog: Access violation at 00000000250b0b50. The memory could not be read. ¯\_(ツ)_/¯
What i have done: export one MFD bitmap (SHODAN face) and just import it back to the game.  :cyborg: For me it looks like some issue during  converting png into indexed bitmap but strangely overriting of textures works fully fine. I have also find mod which using MFD overrite and works fine. Download of my "mod" :https://gofile.io/d/5Oo2Qa
Of course its possible that i am doing something wrong...

6741daa3cc7ccdertseha

6741daa3cc847
@szmotsu, I had a look at the .res file - I could not find any image in there - which MFD Bitmap Index did you replace?
Perhaps also, send me the image you wanted to import, so I'll try to reproduce it on my machine.

6741daa3cc9bbszmotsu

6741daa3cca20
Hello
it was index 19. i have prepared new file - image was exported, colours were inverted (using GIMP) and then it was imported back.


Issue still exist - game crashing on startup.
gofile.io/d/sUDzQ8

6741daa3ccafedertseha

6741daa3ccb8d
OK, I've investigated further, thank you for the example files.
It seems there's a change in the engine's behaviour. I'm trying to contact Nightdive devs about this on Discord. I don't know how and when this will be fixed.

6741daa3ccc39szmotsu

6741daa3ccc89
Thank you very much! :) really appreciate your work for whole community

6741daa3cd0f43RDplayer

6741daa3cd15b
I have some recommendations (annoyances) for the sliders in the Archive - Game State Window:

Hacker Position X,Y,Z,Yaw Sliders:
--------------------------------------
Spawning hacker dead center of a tile is impossible. To start hacker in the center of tile 32x32 would be 32.500 for both X and Y value. The way the sliders are right now does make setting this value impossible because it changes the raw value by 000001. Why would anyone want to spawn hacker at game start in the upper right corner of a tile?
My suggestion is to fix the X,Y sliders to 0.500 or 0.250 steps. So if anyone ever wishes to spawn hacker between two tiles, they can (but I highly doubt that).

Z slider: Make it conform to the values for setting F,C heights of the Level Tile Window.
(I know that depending on level height the incremental values change. But maybe having them set to 0.125 steps makes it more precise.)

Same with the Yaw slider. Make it conform with the values found in the Level Object Window Z rotation slider.


This one is hard for me to explain. I try regardless:
---------------------------------------------------------
When setting floor heights and adjusting slope heights, you can see via the green outline between tiles if they are on the same height and go into each other seamless. This makes setting floors with varying slopes very easy.
BUT this does not apply to ceiling heights! Having a setting that allows switching back and forth to check if ceiling heights and slopes go seamless into each other would be much appreciated.
« Last Edit: 22. September 2020, 00:34:37 by 3RDplayer »
6741daa3cd270
Allowing keyboard input on values (+ copy&paste) would help a lot.

Your name:
This box must be left blank:

The deck number where you shall meet Dr. Janice Polito:
Sticky topic
3 Guests are here.
“Toto, I have a feeling we’re not in Kansas anymore.”
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
6741daa3d0650