66485af89ed7a

66485af89f324
1 Guest is here.
 

66485af89f9eahank morgan

66485af89fa56
Found and fixed the particular bugs that caused the problem for you.  I've uploaded a partially repaired save file on the github issue thread.

I've also just uploaded a new binary release and the development environment at
https://github.com/hankmorgan/UnderworldExporter/releases

Configuration of the game paths has changed slightly so please read the readme.txt before beginning.

Main changes from the previous release is Underworld 2 support which has vastly improved but is still incomplete.

66485af89fcc1icemann

66485af89fd1e
On a side note it's a shame that development on the Terra Nova end isn't planned for anything further. Be good if much later on down the line once Underworld 1&2 and System Shock are fully working to get that operation as well. A all in one engine (much like the Doom source ports which also do Heretic, Hexen and Strife) would be great to have around.
« Last Edit: 17. January 2018, 09:19:31 by icemann »
66485af89fe9a
Didn't realize terra nova used the same engine.

66485af89ff8dKilg0re_Tr0ut

66485af89ffd7
Hank, I ran into a problem with that same flying potion segment in Level 2. When I drink the potion, the view screen goes black. I sent Save files to Github.

66485af8a00bfhank morgan

66485af8a010d
Just dropping by to say I've pushed out some updated binaries recently. Including Linux support, a raft of bug fixes and an overhauled AI.

https://github.com/hankmorgan/UnderworldExporter/releases

Acknowledged by 2 members: Marvin, hemebond

66485af8a01aaBlackAddler

66485af8a01f5
You should add the ability to bind to the other mouse buttons, and resize the UI elements in fullscreen.

66485af8a0301gertius

Soundblaster Music Pack
66485af8a034c
Even though Hank supplied 3 nice Music Packs, I was missing the simple soundblaster music from when I used to play it back in the day.
Found it on YouTube here: https://www.youtube.com/watch?v=UfFYJ42Rfws&list=PL7530A6F8A020F77C
And created a Music Pack for Underworld Exporter here: http://www.mediafire.com/file/7474inhr0p6j725/UW1_SB.zip

Hank, feel free to include it in the Git Release if you like!

66485af8a03e7icemann

66485af8a0440
Damn. It's been ages since we got an update.

Hank, we want an update :p.

66485af8a0553hank morgan

66485af8a05a5
I'll try and write up a proper update in a couple of weeks. Took a wee break for a while to recharge. I've been ripping into Underworld 2 mainly. A lot of previously undocumented systems. I've discovered 2 new categories of game variables that were not documented in previous projects and an event system are the highlights of those. I have to sit down and fully test  but I think having the critical path completable is not a million miles away at this point.
66485af8a069d
Any update on your little project?
Acknowledged by: icemann

66485af8a0addhank morgan

66485af8a0b2c
Yes. I have. Finally.

First up. Development has slowed a bit, not due to lack of enthusiasm on my part but mainly from a mix of real life work pressures getting in the way. I last posted here almost a year ago so here are some highlights since then.

+ UW2 has become very playable. 
+ I have a basic save game functionality working in UW2. Unfortunately this is not backwardly compatible due to a lack of a working compressor for UW2 data files. Most of the save game formats are now almost fully understood. Loading of save files works fairly well but I need to audit it in detail to ensure I am not missing key values.
+ Many of the previously undiscovered scheduled events in UW2 are now implemented.
+ A recent discovered allowed me to properly implement usage of all game variables in UW2. Previously undocumented on top of quest and game variables there were two other types of variables which explain why the save files are so large compared to UW1.
+ Inspired by developments with System Shock editing I've cobbled together a simple save/map/object and art editor in C# for the two underworlds. This is as much for providing a future tool for editing as an aid for research to eventually replace the original exporter tool which is showing it's age.
+Most conversations are working as they should.
+All lot of the steps in the main quest are working in isolation.
+I have (ugly) 3d models implemented for the items that need them.
+I finally have a texture shader that handles the palette cycles properly and reacts to light consistently.
+Most triggers and a vast majority of the traps are implemented. I have a fairly full list of the "hack_traps" compiled and working. A lot of the levels are in a stable, traversable state.  My favourite discovery in the implementation of the traps was how the ice collapsing works in the Ice Caverns. I think there are about three known hack traps that I don't understand at this point.
+A number of UW2 specific spells are implemented but the main code structure for UW2 magic has been built. Just detail work from here on for specific spells.

One thing I'm running into a lot is things that happen in the game but are never really noticed by the player. For instance if you are familiar with the tomb of praetor Loth you'll know that on the last level there is a switch that spawns a mist cloud. Passing through the mist gives a cryptic message about a tingling feeling and as far as the player is concerned that is that. Well what happens and is not mentioned anywhere in walk-throughs is that if you are carrying a healing potion then that gets turned into a poison potion. Not only that but a poison potion that (from a data storage point of view) is different to all other potions in the game. I'm probably the only person to ever notice that in 25+ years.

Another thing I see with the event system is actions that were seemingly set up to happen in game but for whatever reason doesn't happen. Notable examples. Returning the Banner to Killorn keep is supposed to to change a texture on a wall to show it has been returned and hung up. Another one is a minor character you meet has to move position after you meet them. As a result there is scripting to extinguish his camp-fire when he moves away. Again this doesn't happen in vanilla but because I've implemented the rules with a currently partial understanding of how things are enabled both these events happen in game.
Understanding how this file works is my big technical hurdle to jump. I can read the events and the conditions that drive them but there is a header to each set of events in the file but I still don't understand what is happening and how/why the file should change as each  event occurs. I've been putting off looking at it just to avoid frustration...

Again all these little details have to be understood and implemented. From how getting thrown in jail works to this weekends big discovery about how animated objects control themselves (looping, duration etc). Much of this was partially documented in the original documentation but not in a complete way that made me realise what was happening. So again implementing/testing this fully will take a bit of time. However I look at it like building a rope bridge. Each rope I put across the river makes the whole structure better and as I eliminate one mystery it makes the remaining mysteries easier to understand.

66485af8a0db0JosiahJack

66485af8a0dff
Do you mind sharing your palette cycling shader?   :)  :thumb:

Sounds fun.  In the end will we still need the original game files put in our StreamingAssets folder to play?

66485af8a0ebeicemann

66485af8a0f27
I'd also highly recommend documenting all your game engine discoveries. That stuff can be of tremendous help to future projects.

All the stuff TSSHP documented helped many later on projects.
66485af8a1b86
Most triggers and a vast majority of the traps are implemented. I have a fairly full list of the "hack_traps" compiled and working.
That's really great - my assumption was that they were always there for implementing built-in effects so the fact you've traced what they're doing is fantastic.

One thing I'm running into a lot is things that happen in the game but are never really noticed by the player. For instance if you are familiar with the tomb of praetor Loth you'll know that on the last level there is a switch that spawns a mist cloud. Passing through the mist gives a cryptic message about a tingling feeling and as far as the player is concerned that is that. Well what happens and is not mentioned anywhere in walk-throughs is that if you are carrying a healing potion then that gets turned into a poison potion.
I remember playing UW2 again recently and wondering what the message meant - now I know!  I don't tend to carry healing potions but that's something I'll definitely test on my next playthrough.

As icemann says - if you can make sure the stuff you're learning is documented within the project files (or elsewhere) then that'd be extremely useful for future reference as well as for your "tool" (I think it's gone a bit further than that by now...) :)

66485af8a1f07hank morgan

66485af8a1f5f
Do you mind sharing your palette cycling shader?   :)  :thumb:

Sounds fun.  In the end will we still need the original game files put in our StreamingAssets folder to play?

No problem. It's up on the github. Shader
To cycle the colours create a texture2D array of the various palette cycles and periodically update the shader parameter for the palette as follows
Shader.SetGlobalTexture("_ColorPaletteIn", paletteArray[paletteIndex]);

Note I have an issue with it in the editor that causes it to not render there. So when you are working on it in development you can change the word ForwardAdd to ForwardBase and it will display in fullbright in the editor window.

In terms of loading assets all you need to do is point the path in the config.ini to the location of the game executable folder.
     
66485af8a228d
You can also use my shader as is or change it as needed.
It should work nicely with shadows. It currently uses separate emissive texture. I would like it to filter the lower palette indexes in shader and use color as emissive when appropriate. Now I build the emission texture when parsing the bitmap.
Acknowledged by: JosiahJack
1 Guest is here.
"Soon" has always been a very angsty and tense word. It's simply ridiculous now.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
66485af8a23ab