syntax fixes, some things were out of sync

develop
Petr Mrázek 2010-01-01 02:30:35 +00:00
parent c7c446a33a
commit 037d1369cb
3 changed files with 146 additions and 134 deletions

@ -876,7 +876,7 @@ void API::getItemIndexesInBox(vector<uint32_t> &indexes,
temp2 temp2; temp2 temp2;
for(int i =0;i<size;i++){ for(int i =0;i<size;i++){
uint32_t temp = *(uint32_t *) d->p_itm->at(i); uint32_t temp = *(uint32_t *) d->p_itm->at(i);
Mread(temp+sizeof(uint32_t),5 * sizeof(uint16_t), (uint8_t *) &temp2); g_pProcess->read(temp+sizeof(uint32_t),5 * sizeof(uint16_t), (uint8_t *) &temp2);
if(temp2.flags & (1 << 0)){ if(temp2.flags & (1 << 0)){
if (temp2.coords[0] >= x1 && temp2.coords[0] < x2) if (temp2.coords[0] >= x1 && temp2.coords[0] < x2)
{ {
@ -947,7 +947,7 @@ bool API::ReadCreature (const int32_t &index, t_creature & furball)
for(uint32_t i = 0;i<furball.numLikes;i++) for(uint32_t i = 0;i<furball.numLikes;i++)
{ {
uint32_t temp2 = *(uint32_t *) likes[i]; uint32_t temp2 = *(uint32_t *) likes[i];
Mread(temp2,sizeof(t_like),(uint8_t *) &furball.likes[i]); g_pProcess->read(temp2,sizeof(t_like),(uint8_t *) &furball.likes[i]);
} }
g_pProcess->readDWord (temp + d->creature_happiness_offset, furball.happiness); g_pProcess->readDWord (temp + d->creature_happiness_offset, furball.happiness);
@ -1332,6 +1332,9 @@ bool API::ReadItemTypes(vector< vector< t_itemType > > & itemTypes)
} }
return true; return true;
} }
// FIXME: Too dangerous. Contains hardcoded addresses and some arbitrary stuff
/*
bool API::ReadAllMatgloss(vector< vector< string > > & all) bool API::ReadAllMatgloss(vector< vector< string > > & all)
{ {
memory_info * minfo = d->offset_descriptor; memory_info * minfo = d->offset_descriptor;
@ -1381,3 +1384,4 @@ bool API::ReadAllMatgloss(vector< vector< string > > & all)
all.push_back(stringsForVec); all.push_back(stringsForVec);
return true; return true;
} }
*/

@ -209,8 +209,10 @@ namespace DFHack
memory_info getMemoryInfo(); memory_info getMemoryInfo();
Process * getProcess(); Process * getProcess();
DFWindow * getWindow(); DFWindow * getWindow();
/*
// FIXME: BAD!
bool ReadAllMatgloss(vector< vector< string > > & all); bool ReadAllMatgloss(vector< vector< string > > & all);
*/
bool ReadItemTypes(vector< vector< t_itemType > > & itemTypes); bool ReadItemTypes(vector< vector< t_itemType > > & itemTypes);
}; };
} // namespace DFHack } // namespace DFHack

@ -177,11 +177,10 @@ int main (void)
uint32_t numCreatures = DF.InitReadCreatures(); uint32_t numCreatures = DF.InitReadCreatures();
for(uint32_t i = 0; i < numCreatures; i++) for(uint32_t i = 0; i < numCreatures; i++)
{ {
DF.Suspend();
DFHack::t_creature temp; DFHack::t_creature temp;
DF.ReadCreature(i, temp); DF.ReadCreature(i, temp);
DF.ForceResume(); if(string(creaturestypes[temp.type].id) == "DWARF")
if(string(creaturestypes[temp.type].id) == "DWARF"){ {
cout << "address: " << temp.origin << " creature type: " << creaturestypes[temp.type].id << ", position: " << temp.x << "x " << temp.y << "y "<< temp.z << "z" << endl; cout << "address: " << temp.origin << " creature type: " << creaturestypes[temp.type].id << ", position: " << temp.x << "x " << temp.y << "y "<< temp.z << "z" << endl;
bool addendl = false; bool addendl = false;
if(temp.first_name[0]) if(temp.first_name[0])
@ -195,7 +194,8 @@ int main (void)
addendl = true; addendl = true;
} }
string transName = DF.TranslateName(temp.last_name,names,creaturestypes[temp.type].id); string transName = DF.TranslateName(temp.last_name,names,creaturestypes[temp.type].id);
if(!transName.empty()){ if(!transName.empty())
{
cout << ", trans name: " << transName; cout << ", trans name: " << transName;
addendl=true; addendl=true;
} }
@ -211,10 +211,13 @@ int main (void)
} }
*/ */
cout << ", likes: "; cout << ", likes: ";
for(uint32_t i = 0;i<temp.numLikes; i++){ for(uint32_t i = 0;i<temp.numLikes; i++)
{
if(printLike(temp.likes[i],mat,itemTypes)) if(printLike(temp.likes[i],mat,itemTypes))
{
cout << ", "; cout << ", ";
} }
}
if(addendl) if(addendl)
{ {
cout << endl; cout << endl;
@ -232,14 +235,17 @@ int main (void)
cout << endl; cout << endl;
cout << "happiness: " << temp.happiness << ", strength: " << temp.strength << ", agility: " cout << "happiness: " << temp.happiness << ", strength: " << temp.strength << ", agility: "
<< temp.agility << ", toughness: " << temp.toughness << ", money: " << temp.money << ", id: " << temp.id; << temp.agility << ", toughness: " << temp.toughness << ", money: " << temp.money << ", id: " << temp.id;
if(temp.squad_leader_id != -1){ if(temp.squad_leader_id != -1)
{
cout << ", squad_leader_id: " << temp.squad_leader_id; cout << ", squad_leader_id: " << temp.squad_leader_id;
} }
cout << ", sex: "; cout << ", sex: ";
if(temp.sex == 0){ if(temp.sex == 0)
{
cout << "Female"; cout << "Female";
} }
else{ else
{
cout <<"Male"; cout <<"Male";
} }
cout << endl; cout << endl;