> Yup, You would have to use separate files for each player. Think about this:
> What happens when you save the larger struct into the space of a smaller one?
> Yikes!
Think about this, and mind i'm poor at ansi diagrams. =)
Pfile
-----------------
| int here | This is the version info.. we load the size of
- - - - - - - one int, and use the correct struct to load up the
| Size = 2 | rest of the file (rewinding first of course!).
| |
-----------------
| int here | Same starting 'int', same routine to determine struct
- - - - - - - version to use.
| Size = 3 |
| | Different size, but we're loading up a different (the
| | 'correct') struct.
-----------------
Repeat.
Result: different structs in the same file, no hassle about which is
which, its determined on load time. I'd suggest that you would also want
to make a run-time converter for each file load too.. you wouldn't want
'old' players running around your 'made-for-new-people' mud. Would be
rough to handle. But, on the bright side, you only have to do it once for
each revision, and i'm sure I can think of a good way to make this easy.
After all, write a ver 1 to ver 2 converter, write a ver 2 to ver 3
converter (and make the ver 1 to ver 2 run ver 2 through the ver 3 if you
catch someone at that version..)
Or, could I be horribly wrong about this?
PjD
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST