News:

Rings of Reznor!

Main Menu

A challenge for someone

Started by Symon, August 11, 2010, 12:29:23 PM

Previous topic - Next topic

Symon

"You fertility deities are worse than Marxists," he said. "You think that's all that goes on between people."

Roger Zelazny, Lord of Light. 1971.

Symon

(Replies to own post and blushes)

So does no one else think scripted mesh edits in game would have potential?
"You fertility deities are worse than Marxists," he said. "You think that's all that goes on between people."

Roger Zelazny, Lord of Light. 1971.

bearded

it does, and i love the idea, but i think the game is hard coded to load the mesh data. so any changes would only take place on a total reload, even a mission reload would not affect the meshes. python on the other hand does change with the mission reload. i think it is only the meshes that would not, if they are like the .dat files which don't change.

tommyboy

I think it's an interesting idea, but I also think that bil is correct and that the meshes get loaded up at the  start of the game. That is certainly the case for ctool. I'm obviously very much busy working out panda related stuff, so I'm afraid I can't really play with this.
Good find though.

Symon

I did think of that but surely it can't be so? All the meshes I have can't be loaded at game start, there are rather a lot. Also what of an item or character that only appears in mid game via scripting?

Perhaps someone skilled with Python/C interfacing might try?
"You fertility deities are worse than Marxists," he said. "You think that's all that goes on between people."

Roger Zelazny, Lord of Light. 1971.

tommyboy

Quote from: Symon on August 25, 2010, 06:33:34 PM
I did think of that but surely it can't be so? All the meshes I have can't be loaded at game start, there are rather a lot. Also what of an item or character that only appears in mid game via scripting?

Perhaps someone skilled with Python/C interfacing might try?

To clarify my somewhat vague generalization a little:
I think that as a campaign is started or a rumble room is run, all the meshes present in that level or possibly campaign (or hero files) are pre-loaded. If one looks to the progress bar one can see meshes being pre-cached

However, that theory is contradicted by the pause one gets upon spawning new foes during a mission/danger room. Unless they are scripted as pre-cached in the mission, IIRC.

In favour of the theory are the following:

1. Hero creation, in-game, has all the meshes in the relevant directory pre-loaded. They do not appear to load and unload if you go through them (I could be wrong, I almost never use it, as I create chars in the editor, never in-game)
2.people with a brazillion hero files get crashes and/or heroically slow load times, yes? Hero files are not, in and of themselves, vast, memory consuming files. The meshes and skins that they refer to, however, are a bit more of a strain on the system. So I suspect that the meshes are loaded for the hero files.. whether they all get played or not..
3. In ffv3r at least, the character tool does load every mesh you have that is in the relevant directory, so perhaps the game does too.

Certainly, I'm not definite about anything here. But like I said, I just haven't the time or energy to try and pull the game apart again, engaged as I am in trying to build a new one..


Symon

#6
That's pretty much what I thought. I do use the in game Ctool and it does seem to pause to load Nifs to me. I could be wrong though. I don't think the external ctools (which do cache things after first load) point to the game behaving that way, though it might. Cached under some circumstances. I always assumed the hero file problem was due to a table getting too large or some such, not Nif caching. Someone with the relevant C skills might be able to experiment. Sadly I am not a C programmer.

The Panda looks very interesting. Downloaded it a while back but haven't had any chance to play with it yet.
"You fertility deities are worse than Marxists," he said. "You think that's all that goes on between people."

Roger Zelazny, Lord of Light. 1971.

daglob

The more hero files you have the slower the game loads, and the more likely you are to have a "Fastheap" error. I have no idea what a Fastheap is, but it seems to happen when you get low on memory.

Sometimes the error messages when I start the game will have to do with heroes I'm not using. This makes me think that the game read all the hero files every time you load the game. It may or may not read all the meshes.

How that would affect the on-the-fly changes I don't know. Can't the game change from one nif to another? I think I've seen a character folder with character1.nif, character2.nif, and so on. It was in a mod (Pulp Fiction's pirates maybe?).

Symon

Put simply, a "Fastheap" is an area of memory (RAM) allocated for use by running programs. (sort of a scratchpad if you like) It will be allocated a size at startup. 'Things' get loaded into it and cleared out of it. If you run out of space in it, bad things can/will happen depending on how the program was written (will it check for error conditions or just fall over?)

Sounds like its falling over, but I'd doubt all the Nifs that can potentially get used would be loaded into it. Not usually enough space for that in a 'heap'.

Anyone who knows more about Windows internals than I feel free to correct me.

"You fertility deities are worse than Marxists," he said. "You think that's all that goes on between people."

Roger Zelazny, Lord of Light. 1971.