Menu Content/Inhalt

October 12, 2008, 08:53:29 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Overview   Help Search Login Register  
Pages: [1]
  Send this topic  |  Print  
Author Topic: Galaxy Separator  (Read 1703 times)
Chael

Offline Offline

Posts: 2


« on: December 13, 2007, 12:01:00 AM »

Hi, I'm Chael. I've been working on a little modification in my spare time and was wondering if you fleetops guys have any advice for me. It apperears you guys are waist deep in disassembled armada code and as it happens, so am I. I've been attempting to modify the .exe to allow a second separatingweapon function, possibly with 3 or more ships. I know you have developed something similar to this and I was hoping you might share some of your information with me. I do not intend to release my mod due it's obvious obsolescence and the legal issues that everyone keeps telling me about, but I do want to complete it simply for the challenge. Thanks in advance.
Logged
DOCa Cola
*
Offline Offline

Posts: 2494



« Reply #1 on: December 14, 2007, 07:30:15 PM »

welcome to the forums.
modifying is not enough, you need to inject some self written code. basically you need to look at some of the weapon class functions (you should find these with the pdb) and create a new class inheriting from it. when this is done you need to create a prototype class and register it within armada.
creating the inherince class is the biggest part of work here. i did this entirely in delphi. i don't know if you can do this easier in c++ as i did in pascal. i had to recreate everything from ground up that means even virtual function table and object descriptors as obviously delphi uses its own data structures for classes. as armada 2 was programmed in ms c++ 6.0 it may be easier to create a new class with c++.
Logged

Chael

Offline Offline

Posts: 2


« Reply #2 on: December 15, 2007, 12:13:43 AM »

Thank you for your reply! I'm sure i don't know quite as much about this as you, but here's what I've been looking at: I used a disassembler to get a rough understanding of the code. I traced the separatingweapon class all the way back to the other special weapons (I think). I beleive I can copy separatingweapon and it's dependants and then rework all of the address references. Do you follow? Or is this a ridiculous waste of my time? I know enough C++ to do as you described, I think. But I've never tried it. Basically I've been working with assembly and a hex version of the exe. I can't find a program that will disassemble it and reassemble it, so all my modifications are done to the hex using the assembly as a reference.
Logged
DOCa Cola
*
Offline Offline

Posts: 2494



« Reply #3 on: December 15, 2007, 01:20:15 PM »

you need to write a hooking dll and loader, that attaches the dll to armada (google for hooking). it's alot easier to write a new weaponclass from scratch as modifying the existing one. you need to call a lot of armadas existing functions for that. i don't know how that works in c++ but you could always do some assembler calls.
Logged

Pages: [1]
  Send this topic  |  Print  
 
Jump to:  

© 2003-2008 DOCa Cola. All rights reserved.
Star Trek and related marks are trademarks of Paramount Pictures.
Powered by Joomla
Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Joomla Bridge by JoomlaHacks.com