memory / code inject request

Tips, tactics, and general discussion for Evochron Legacy.
stuguy909
Ensign
Ensign
Posts: 12
Joined: Sun Apr 24, 2016 10:10 am

memory / code inject request

Post by stuguy909 »

Would it be possible to get memory or code injection for certain ship systems? Electronics, UI, and scripts would be nice.
Radikal
Lieutenant
Lieutenant
Posts: 136
Joined: Fri Sep 25, 2015 7:53 am
Location: VAUSA

memory / code inject request

Post by Radikal »

From post: 187859, Topic: tid=12659, author=stuguy909 wrote:Would it be possible to get memory or code injection for certain ship systems? Electronics, UI, and scripts would be nice.
Right now there is a way to use some ingame stuff with external programs.
You can use the information to create custom MFDs and such as that.
It would be nice to have a DLL hook for more "real time" reads, but I think there are limits on what the game engine is capable of doing.
Saving In-Game Data to Text File:

You can optionally save in-game display data values out to an external text file for use with 3rd party programs and/or devices. To activate the system, create a text file in the game's install folder (where the EXE is located) named savedatasettings.txt Inside the file needs to be an integer value to specify the update rate for the game to use in milliseconds. A good setting to start with is 5000, or 5 second updates, which will generally keep the update rate pretty low and shouldn't impact game performance much. The game will create a file named 'savedata.txt' in the same folder as the EXE and will use the following layout for data:

Pilot Name (string)
Fuel (integer)
Cash (string, includes commas)
Cargo Bay 1 (string, cargo type and number, or will display 'Empty' if nothing)
Cargo Bay 2
Cargo Bay 3
Cargo Bay 4
Cargo Bay 5
Cargo Bay 6
Cargo Bay 7
Cargo Bay 8
Cargo Bay 9
Cargo Bay 10
Player Position X (integer)
Player Position Y (integer)
Player Position Z (integer)
Player Position SX (integer)
Player Position SY (integer)
Player Position SZ (integer)
Local System Name (string)
Energy Level (integer)
Front Shield level (integer)
Right Shield level (integer)
Left Shield level (integer)
Rear Shield level (integer)
Shield Level (integer)
Engine Damage (integer)
Weapon Damage (integer)
Nav Damage (integer)
Target Description (string)
Target Threat Level (string)
Target Range (integer)
Target Front Shield level (integer)
Target Right Shield level (integer)
Target Left Shield level (integer)
Target Rear Shield level (integer)
Target Engine Damage (integer)
Target Weapon Damage (integer)
Target Nav Damage (integer)
Capital Ship Weapon Turret 1 (float, will be 0 if no capital ship is targeted)
Capital Ship Weapon Turret 2 (float)
Capital Ship Weapon Turret 3 (float)
Capital Ship Weapon Turret 4 (float)
Target Cargo Bay 1 (string, cargo type and number, or will display nothing if out of sensor range)
Target Cargo Bay 2
Target Cargo Bay 3
Target Cargo Bay 4
Target Cargo Bay 5
Target Cargo Bay 6
Target Cargo Bay 7
Target Cargo Bay 8
Target Cargo Bay 9
Target Cargo Bay 10
Inbound Missile Alert (0 for off, 1 for on)
Particle Cannon (string)
Beam Cannon (string)
Secondary Weapon Slot 1 (string, will display 'Empty' if no weapon is loaded)
Secondary Weapon Slot 2
Secondary Weapon Slot 3
Secondary Weapon Slot 4
Secondary Weapon Slot 5
Secondary Weapon Slot 6
Secondary Weapon Slot 7
Secondary Weapon Slot 8
Equipment Slot 1
Equipment Slot 2
Equipment Slot 3
Equipment Slot 4
Equipment Slot 5
Equipment Slot 6
Equipment Slot 7
Equipment Slot 8
Equipment Slot 9
Equipment Slot 10
Ship Type (string)
Engine Class (integer)
Shield Class (integer)
Cargo Capacity (integer)
Wing and Thruster Class (integer)
Crew Limit (integer)
Equipment Limit (integer)
Countermeasure Limit (integer)
Hardpoint Limit (integer)
Armor Limit (integer)
Total Kills (integer)
Total Contracts (integer)
Skill and Proficiency Rating (integer)
Military Rank (integer)
Particle Cannon Range (integer)
Armed Missile Range (integer)
Targeted Subsystem (string, will display '----' if no subsystem targeted)
Target Faction (string)
Target Damage Level (integer)
Target Velocity (integer)
Engine/Thruster Heat Indicator (integer, 0 = none/low, 1 = detectable heat signature)
MDTS Status (integer, 0 = off, 1 = on, 2 = locked)
Missile Lock Status (integer, 0 = no lock, 1 = locked)
Countermeasures Remaining (integer)
Energy Bias Setting (string, [shields]S/[weapons]W)
In-Sector Waypoint X Coordinate (integer)
In-Sector Waypoint Y Coordinate (integer)
In-Sector Waypoint Z Coordinate (integer)
Sector Waypoint SX Coordinate (integer)
Sector Waypoint SY Coordinate (integer)
Sector Waypoint SZ Coordinate (integer)
Navigation Waypoint Distance (string)
IDS Status (integer, 0 = on, 1 = off)
IDS Multiplier (integer)
Afterburner Status (integer, 0 = off, 1 = on)
Autopilot Status (integer, 0 = off, 1 = form on target, 2 = fly to nav point)
Navigation Console Status (integer, 0 = off, 1 = on)
Build Console Status (integer, 0 = off, 1 = on)
Inventory Console Status (integer, 0 = off, 1 = on)
Trade Console Status (integer, 0 = off, 1 = on)
Tractor Beam Status (integer, 0 = off, 1 = on)
HUD Status (integer, 0 = off, 1 = partial, 2 = full)
Target Display Status (integer, 0 = detail, 1 = list)
Total Hostiles in Radar Range (integer)
Player Ship Velocity (integer)
Player Ship Set Velocity (integer)
Player Ship Altitude (integer)
Gravity Level (integer)
Heat Signature Level (integer)
Player Ship Total Velocity, AVL (integer)
Player Ship Heading (integer)
Target Engine Class (integer)
Target Resistor Packs (integer)
Target Hull Plating (integer)
Target Module Type (integer)
Target Wing Class (integer)
Player Ship Pitch (integer)
User avatar
Vice
Administrator
Administrator
Posts: 12227
Joined: Fri Apr 25, 2003 1:38 am

memory / code inject request

Post by Vice »

Would it be possible to get memory or code injection for certain ship systems? Electronics, UI, and scripts would be nice.
No, not directly manipulating core game functions. Editing values in memory or injecting code, which is effectively attempting to change the fundamental rules of the game, would likely be considered by many to be cheating/hacking (and please review forum rule 3).

If changes to core game mechanics are desired, it would generally be better to start threads about the idea of what you want first, then gauge community feedback and interest to see if it's something others would like to see as well. If it is, then it could be considered for an authorized change in an official update.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

memory / code inject request

Post by matchbox2022 »

you can write your own missions through the quest system however...where a lot of things can be done. It is still a bit limited though, it isn't like scripting through an API meant for the game. Played a lot of starfleet command so know what you're talking about all too well. The only option you'd have would definitely be ripping the game apart and looking at hexadecimal values, there's plenty of programs that help but reverse engineering things is generally not looked on kindly.
Add to that generally any values stored can be shared variables and it can be a mess to try this hack n slash workaround method, it'd be a whole lot easier coding it (if you had the source), and even easier if the community as a whole would like it :)

[Edited on 4-26-2016 by matchbox2022]
Do, or do not, there is no try.
- An Asian father.
stuguy909
Ensign
Ensign
Posts: 12
Joined: Sun Apr 24, 2016 10:10 am

memory / code inject request

Post by stuguy909 »

From post: 187863, Topic: tid=12659, author=Vice wrote:No, not directly manipulating core game functions. Editing values in memory or injecting code, which is effectively attempting to change the fundamental rules of the game, would likely be considered by many to be cheating/hacking (and please review forum rule 3).

If changes to core game mechanics are desired, it would generally be better to start threads about the idea of what you want first, then gauge community feedback and interest to see if it's something others would like to see as well. If it is, then it could be considered for an authorized change in an official update.
Not looking for cheats. I will stick with my radar post in general discussion. Thanks.
Misunderstood Wookie
Lieutenant
Lieutenant
Posts: 224
Joined: Tue Jan 26, 2016 11:46 am
Location: Australia

memory / code inject request

Post by Misunderstood Wookie »

No harm no foul, I remember when I was new to this series too and enquired about decompile of the EvochronLegacy.pck for modding uses, I was never expecting a straight yes and honestly I have been at it here long enough now that I don't really need access to this file anything major Vice added directly to the engine if the community agreed it was worth it.