Jump to content

Finding the first step?


NephilimNexus

Recommended Posts

  • Replies 229
  • Created
  • Last Reply

Top Posters In This Topic

I also use HxD(for about 2 or 3 days now? :P ) and look at what I "found out" just now:

 

 

Its actually like I said(even though that constant is still not being used ;) ). Without actually converting anything to Hex, I can just search for the constants whole hash data inside the .exe and then edit the corresponding number(in this case it was a 1 edited to a 4) on the right. UE Explorer shows that change actually "happened".

So now I´ll have to check out those functions Daemonjax mentioned...

Link to comment
Share on other sites

What file are you opening to change these constant values?

 

Looks like he's decompressing XComGame.upk and editing that.

 

On the note of hex editors, I prefer 010 Editor because I can easily create templates that parse out data structures for me. Makes deciphering things a lot easier once you've figured out what things are.

Edited by Lethargus
Link to comment
Share on other sites

I´m editing it inside the actual xcomgame.upk, but I search for the proper Hex Values using the whole Hex Values of the const(Base_Num_Rockets.const ; still open in the Hex Editor; like described elsewhere on the forum), which you get when you unpack (UPKpacker) the xcomgame.upk(it is inside the XGTacticalGameCoreNativeBase folder).

 

@Lethargus:

Exactly. I decompressed it so I can edit it in the Hex editor.

Would it be possible to make such a template with everything shared until now?

+=	B8
-=	B9
Abs	BA
Sin	BB
Cos	BC
Tan	BD
Atan	BE
Exp	BF
Loge	C0
Sqrt	C1
Square	C2
FRand	C3
FMin	F4
FMax	F5
FClamp	F6
Lerp	F7
Round	C7
-	D3
*	D4
*	D5
*	28
/	D6
+	D7
-	D8
<<	13
>>	14
==	D9
!=	DA
Dot	DB
Cross	DC
*=	DD
*=	29
/=	DE
+=	DF
-=	E0
VSize	E1
VSizeSq	E4
Normal	E2
VRand	FC
MirrorVectorByNormal	2C
ProjectOnTo	DC
IsZero	DD
==	8E
!=	CB
*	1F
*	20
/	21
*=	22
/=	23
+	3C
-	3D
+=	3E
-=	3F
GetAxes	E5
GetUnAxes	E6
RotRand	40
$	70
@	A8
<	73
>	74
<=	78
>=	79
==	7A
!=	7B
~=	7C
$=	42
@=	43
-=	44
Len	7D
InStr	7E
Mid	7F
Left	80
Right	EA
Caps	EB
Locs	EE
Chr	EC
Asc	ED
Repl	C9
==	72
!=	77
ClassIsChildOf	20
IsA	C5
==	FE
!=	FF
+	E0
-	F0
LogInternal	E7
WarnInternal	E8
GotoState	71
IsInState	19
GetStateName	1C
Enable	75
Disable	76
SaveConfig	18
Sleep	00
FinishAnim	50
SetCollision	60
SetCollisionSize	1B
Move	A0
SetLocation	B0
SetRotation	2B
MoveSmooth	81
AutonomousPhysics	83
SetBase	2A
SetOwner	10
SetPhysics	82
Trace	15
FastTrace	24
Destroy	17
SetTimer	18
MakeNoise	00
PlayerCanSeeMe	14
GetURLMap	23
AllActors	30
DynamicActors	39
ChildActors	31
BasedActors	32
TouchingActors	33
TraceActors	35
VisibleActors	37
VisibleCollidingActors	38
CollidingActors	41
LineOfSightTo	20
CanSee	15
CanSeeByPoints	19
PickTarget	13
MoveTo	F4
MoveToward	F6
FinishRotation	FC
FindPathTo	60
FindPathToward	50
FindRandomDest	D0
PointReachable	90
ActorReachable	80
PickWallAdjust	E0
WaitForLanding	F0
UpdateURL	22
FindStairRotation	C0
IsSeatControllerReplicationViewer	E7
BUILD SUCCESSFUL (total time: 0 seconds)

0		25
1		26
YES             27
NO              28

 

If it is possible- I´d very much like you to share that. :)

Edited by Caiman
Link to comment
Share on other sites

I found this in XcomGame under XcomTacticalGameCore

 

simulated function int GetBasicKillXP(XGUnit kUnit)
{
local int iKillXP;
local float fKillBonus;

iKillXP = 30;
// End:0x5b Loop:False
if(kUnit.GetPlayer().m_arrOTSHistory[6] > 0)
{
	fKillBonus = 1.25;
}
// End:0x6a
else
{
	fKillBonus = 1.00;
}
return int(float(iKillXP) * fKillBonus);
}

 

The reason i bring this up is because I thought personally the Const XP_KILL = 50 in the XGTacticalGameCoreNativeBase would have been used... So i think we really need to dig in to the files to find out where the values for all this s*** really is... I might to change kill XP to something stupid like 9000 and see what happens.

Link to comment
Share on other sites

You should try changing a constant that isn't part of a perk.. like low/high cover defense.. or something along those lines.

 

I actually made a tutorial for changing those... at the end I had to say that it didn't work. ;)

 

I'm beginning to think all those constants are there just to f*** with us :D

Edited by Daemonjax
Link to comment
Share on other sites

I´m editing it inside the actual xcomgame.upk, but I search for the proper Hex Values using the whole Hex Values of the const(Base_Num_Rockets.const ; still open in the Hex Editor; like described elsewhere on the forum), which you get when you unpack (UPKpacker) the xcomgame.upk(it is inside the XGTacticalGameCoreNativeBase folder).

 

@Lethargus:

Exactly. I decompressed it so I can edit it in the Hex editor.

Would it be possible to make such a template with everything shared until now?

 

If it is possible- I´d very much like you to share that. :)

 

It might be possible if I knew the structure of upk files better. As it is I'm just hard coding in jumps to the areas of the file I'm interested in and creating structures around that. For instance, take a look at the same place in the file that you showed. I have the rocket value highlighted under the cursor. All the green is set by the template and shows the other values surrounding it. If someone can find a structure definition for upk files I can put together a full template.

 

 

 

Since this is just editing without recompiling, we're kinda limited on keeping things the same size. Since it appears to use strings for the values we have a little more freedom, but if it's 50, we could only change it to 99. Even if we change the associated size field to match the new value field's size, I would suspect there's an overall size field for the file section somewhere else that would also need to be updated. Again, if I knew the upk structure better...

Edited by Lethargus
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...