Yes, 010 Editor, you've already pointed me to it.
And I SERIOUSLY cannot thank you enough for that recommendation!!!However in the current situation that particular trick you suggested is useless, since I'm after the things you
can't change ingame.
Now the templates function... that one is
PURE UNOBTAINIUM(literally)...along with the scripting and C-like syntax.
I've already written a large 300-line template for some of the structures. However I'm hitting some snags that are very inconsistent/illogical. Like missing data for properties of an object ingame(it is possible it is located somewhere else, but what's the point of placing (almost) all data on an object in one place and some arbitrary property somewhere else). Either that or I have failed to see the pattern somewhere. Meh... I wish I was a cryptanalyst.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
One area I know I'm lacking and where you might be able to help is my string finder function, which is terribly slow. It seems like it could be optimized, however I have yet to figure out how.
- Code: Select all
void goToString ( string str ) {
//local string StrRead;
local char StrRead[Strlen(str)+1];
while ( !FEof() ) {
if ( ReadByte(pos) == str[0] ) {
// StrRead = ReadString(pos);
ReadBytes(StrRead,pos,Strlen(str));
// Printf("%LX - [M] string read: %s \n",pos,StrRead);
if ( Strlen(StrRead) != Strlen(str) ) {
// Printf("%LX - Failed Length Check\n",pos);
pos += Strlen(StrRead);
FSeek(pos);
}
else {
if ( StrRead != str ) {
// Printf("%LX - Failed String Check\n",pos);
pos += Strlen(str);
FSeek(pos);
}
else {
// Printf("FOUND at pos: %LX; Length is: %d\n",pos,Strlen(str));
FSeek(pos);
break;
}
}
}
else {
// Printf("%LX - Failed Letter Check\n",pos);
pos++;
FSeek(pos);
}
}
}
I had it written some while ago so it looks foreign even to me(clumsy too).