![]() |
SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
![]() |
#1 |
Watch Officer
![]() Join Date: Jan 2007
Posts: 339
Downloads: 76
Uploads: 4
|
Taking MODs in another direction
There are many things in SH3 that are not modifyalbe by us poor commoners due to copywrites and hard coding. These limitations are certainly felt in the moding community. I have stumbled upon a possiblity that I don't think has been yet explored.
Has anyone considered trying to locate the memory addresses for the different data points in SH3? Doing so would allow a trainer-esque type of MOD that edited the data in real time to create senarios that would be otherwise impossible. While this is certainly trickier than regular moding and could be impossible, I think it is worth a look. If anyone has checked into this or considered it, please let me know what you found. My programming expertise are not well practiced in this particular area, but I get the mechanics of it. Perhaps we could make a go of it together? |
![]() |
![]() |
![]() |
#2 |
Hellas
![]() |
![]()
nobody? !!
very strange this modder's silence...maybe there is something special here ! gismo, my knowledge at theese things are pretty poor but if your idea have no answer by modders does that mean that is out of discassion? i don't understand theese things but a modder ,sure, can and if i was one of them i defenately search it! good luck |
![]() |
![]() |
![]() |
#3 |
Stowaway
Posts: n/a
Downloads:
Uploads:
|
![]()
It's not far fetched and has and still is being looked into.
![]() A DLL intercept is also very possible to do. ![]() |
![]() |
![]() |
#4 |
Ace of the Deep
![]() Join Date: Jan 2008
Location: Pacific Northwest United States
Posts: 1,146
Downloads: 41
Uploads: 2
|
![]()
YARRR! Thar she codes, mateys! Get the DLL Hooks ready and prepare to board!
![]()
__________________
Still sailing the high seas, hunting convoys with those who join me. |
![]() |
![]() |
![]() |
#5 |
Samurai Navy
![]() Join Date: Oct 2006
Location: Salamis Base
Posts: 567
Downloads: 229
Uploads: 0
|
![]()
dlls! Hmmm! Possible to do....hard to get results!
__________________
![]() |
![]() |
![]() |
![]() |
#6 |
Hellas
![]() |
![]()
(this is out of the theme of this thread)
geosub which is the skin of the sub in your signature? (very nice...) |
![]() |
![]() |
![]() |
#7 | |
Stowaway
Posts: n/a
Downloads:
Uploads:
|
![]() Quote:
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! ![]() |
|
![]() |
![]() |
#8 |
Ace of the Deep
![]() Join Date: Jan 2008
Location: Pacific Northwest United States
Posts: 1,146
Downloads: 41
Uploads: 2
|
![]()
DLL hooking and injecting is an old, tried and true method for making software do things the original programmers did not intend.
Cracks and game trainers have used that method for years... along with pointer spoofing, stack insertion, and buffer swapping. Makes me feel all misty-eyed and nostalgic for the good ol' days! *sniff* ![]()
__________________
Still sailing the high seas, hunting convoys with those who join me. |
![]() |
![]() |
![]() |
#9 |
Stowaway
Posts: n/a
Downloads:
Uploads:
|
![]() ![]() ![]() |
![]() |
![]() |
#10 |
Eternal Patrol
![]() Join Date: Mar 2006
Location: CATALINA IS. SO . CAL USA
Posts: 10,108
Downloads: 511
Uploads: 0
|
![]()
While I don't have a clue what you guys are talking about , I'm impressed and even envious.
![]() ![]() |
![]() |
![]() |
![]() |
#11 |
Silent Hunter
![]() Join Date: Aug 2006
Posts: 3,528
Downloads: 118
Uploads: 0
|
![]()
Will people use programs which will most certainly be picked up as viruses/trojans? This seems like a dangerous path to go down to be honest. While the OP might have only noble goals in mind, I can certainly see someone taking advantage of this in other ways.
|
![]() |
![]() |
![]() |
#12 | |||
Navy Seal
![]() Join Date: Apr 2005
Posts: 5,501
Downloads: 19
Uploads: 0
|
![]() Quote:
Quote:
![]() 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! |
|||
![]() |
![]() |
![]() |
#13 |
Ace of the Deep
![]() Join Date: Jan 2008
Location: Pacific Northwest United States
Posts: 1,146
Downloads: 41
Uploads: 2
|
![]()
The master has spoken!
Heed his words. Trust his wisdom. Learn much. ![]()
__________________
Still sailing the high seas, hunting convoys with those who join me. |
![]() |
![]() |
![]() |
#14 |
Pacific Aces Dev Team
|
![]()
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 ... |
![]() |
![]() |
![]() |
#15 |
Watch Officer
![]() Join Date: Jan 2007
Posts: 339
Downloads: 76
Uploads: 4
|
![]()
@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.
|
![]() |
![]() |
![]() |
|
|