SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > SHIII Mods Workshop
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 10-25-08, 09:24 PM   #1
JScones
Navy Seal
 
Join Date: Apr 2005
Posts: 5,501
Downloads: 19
Uploads: 0
Default

Quote:
Originally Posted by privateer
It's not far fetched and has and still is being looked into.


A DLL intercept is also very possible to do.
Quote:
Originally Posted by privateer
Quote:
Originally Posted by geosub1978
dlls! Hmmm! Possible to do....hard to get results!
Not as hard as you invision.

One thing you must be good at?
Reading assembly language!

My first language is assembly.
Then C and on to C++

Then you need the programs to read the assembly code
as the Game is run.
Got those.

One screen runs the Game, the other runs the code!
Why be so convoluted? You only need a small TSR and a smidge of lateral thinking. SH3Cmdr has been using a small TSR for years to intercept SH3 behaviour.

Here's a hint for one great way to use such a simple TSR - saving a game mid-patrol creates a trigger point for any number of game changes that can occur *without* the player needing to exit the career, run a third party app and reload.

Date based graphics changes mid patrol? Let me just say...I know it can be done.

And the way SH3 memory is handled, even simple BASIC Peek/Poke instructions should suffice.

Enjoy reading your assembly!
JScones is offline   Reply With Quote
Old 10-25-08, 10:23 PM   #2
Graf Paper
Ace of the Deep
 
Join Date: Jan 2008
Location: Pacific Northwest United States
Posts: 1,146
Downloads: 41
Uploads: 2
Default

The master has spoken!

Heed his words.

Trust his wisdom.

Learn much.

__________________
Still sailing the high seas, hunting convoys with those who join me.
Graf Paper is offline   Reply With Quote
Old 10-26-08, 02:59 AM   #3
Hitman
Pacific Aces Dev Team
 
Hitman's Avatar
 
Join Date: Sep 2002
Location: Spain
Posts: 6,109
Downloads: 109
Uploads: 2


Default

Forgive my ignorance but....

this all sounds very interesting -and also frighteningly close to the ilegal modification of the program's core- but what exactly could be done with this? I mean, the things that are as of today still the big letdowns in SH3 like Wolfpacks can't be added like this. Or can they? What areas of the game could be improved using this technique?

To add an AI for submarines that allows submerging, evading and such -and hence allow wolfpacks- by adding it to an extra DLL and then telling the game to read it, you would need to know how the game is programmed inside its exe so you can use the same format, right?

Can that be done?

Can it be done without -ilegally- reverse engineering the whole exe? :hmm:

And will all this be worth it?
__________________
One day I will return to sea ...
Hitman is offline   Reply With Quote
Old 10-26-08, 04:40 AM   #4
Commander Gizmo
Watch Officer
 
Join Date: Jan 2007
Posts: 339
Downloads: 76
Uploads: 4
Default

@Hitman: The main method of this sort of thing would be editing the game data in memory while it is running. This is not illegal, and is how trainers work. The main usefulness of this would be to cause events to occur in game such as changing crew stats, adding map data, simulating mechanical problems, etc. These sorts of things would still be limited, but would be far better than having to close the whole game down, run an exe, and then launch and load it all over again.
Commander Gizmo is offline   Reply With Quote
Old 10-26-08, 05:30 AM   #5
Letum
Navy Seal
 
Join Date: Feb 2005
Location: York - UK
Posts: 6,079
Downloads: 43
Uploads: 0
Default

Quote:
Originally Posted by Hitman
Forgive my ignorance but....

this all sounds very interesting -and also frighteningly close to the ilegal modification of the program's core- but what exactly could be done with this? I mean, the things that are as of today still the big letdowns in SH3 like Wolfpacks can't be added like this. Or can they? What areas of the game could be improved using this technique?

To add an AI for submarines that allows submerging, evading and such -and hence allow wolfpacks- by adding it to an extra DLL and then telling the game to read it, you would need to know how the game is programmed inside its exe so you can use the same format, right?

Can that be done?

Can it be done without -ilegally- reverse engineering the whole exe? :hmm:

And will all this be worth it?
On the legal aspect: All modding is a breach of the user agreement and therefor illegal without permission. So I would not worry too much about that.
__________________
Letum is offline   Reply With Quote
Old 10-26-08, 06:29 AM   #6
Uber Gruber
Stowaway
 
Posts: n/a
Downloads:
Uploads:
Default

This is indeed an interesting topic...something which JScones "hinted" at a few Sh3Commander releases ago. There is quite a lot of stuff that can be "played with" in mem via a good TSR.

Takes me back to my Commodore PET days....oh bring back the 6502E....and the horse 'n cart.

  Reply With Quote
Old 10-26-08, 06:52 AM   #7
Graf Paper
Ace of the Deep
 
Join Date: Jan 2008
Location: Pacific Northwest United States
Posts: 1,146
Downloads: 41
Uploads: 2
Default

Actually, modding SH3 is legal...within certain limits.

Although it may or may not give explicit permission in the EULA, the fact that mods are listed and promoted in the Community section of the SH3 homepage and Ubi Forums does give an implicit permission.

Also, the mods we've seen so far do not require decompiling or reverse-engineering the game's program code, either with a tools like a disassembler or by hand (although you'd have to be an uber-programming god and/or crazy to do it by hand).

Ubisoft is very aware that SH3 has been far more popular and successful because of the efforts of dedicated modders. Nobody here is trying to steal Ubisoft's secrets, just make SH3 the best sim it can possibly be and all for the love of the game, not financial profit. It seems Ubisoft understands this and the "suits" are smart enough to realize the goodwill generated with this community can only ensure greater successes for the Silent Hunter Franchise in the future (if they listen to their fans).

As for what can be achieved with the methods speculated upon in this thread, I refer you back to JScones' post to contemplate some ideas.
__________________
Still sailing the high seas, hunting convoys with those who join me.
Graf Paper is offline   Reply With Quote
Old 10-26-08, 08:24 AM   #8
Letum
Navy Seal
 
Join Date: Feb 2005
Location: York - UK
Posts: 6,079
Downloads: 43
Uploads: 0
Default

Quote:
Originally Posted by Graf Paper
Also, the mods we've seen so far do not require decompiling or reverse-engineering the game's program code
Even a simple skin replacement requires basic reverse engineering and it doen't
need to be part of the .exes or .dlls to be against the user agreement.
Even if there was a file called uboatskin.tga, you still have to change it, run the
game and see if the skin has changed. All such activity is reverse engineering.

Of course, there will never be any complaints from the copyright owners because
almost all modding is good for business. Same applies to the modding under
discussion here.

Back on topic:

I had a go at editing some of the .DLL a while ago. I got results, but not the
ones I wanted.
__________________
Letum is offline   Reply With Quote
Old 10-26-08, 11:17 AM   #9
Commander Gizmo
Watch Officer
 
Join Date: Jan 2007
Posts: 339
Downloads: 76
Uploads: 4
Default

Thanks for the input guys. I think this would be a very interesting addition to the game. What are your ideas on how to make use of memory editing as such? Any new events/changes that havn't been mentioned yet?

This thread is for discussing the creation, use, and viablity of this idea from a programming standpoint. All issues regarding legality should be fought over in a seperate thread. Lets keep this on topic people.
Commander Gizmo is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 02:26 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 1995- 2025 Subsim®
"Subsim" is a registered trademark, all rights reserved.