Re: Stumped on loading

Michael Barton <[email protected]>
Newsgroups gmane.games.devel.mud.rom
Message-ID <[email protected]>
What's the fread_temp_char do?  I'm assuming it reads from the file. 
Might it be what is causing problems when the #PLAYER section is
missing?

How is the player not being loaded?  At all?  Where does it exit from
the function at?

On 4/23/05, Tom Whiting <[email protected]> wrote:
> hi, gang
> usually, I have no problems going through code and debugging crap myself, but, occasionally (a bit more often than I'd like), I need the advice of "experts" ;) This is one of those times, hopefully someone can point me into the right direction, cuz I'm beating my head against the wall here (and it's sore:))
> 
> The goal:
> To effectively load users FROM an SQL database, rather than from files.
> That  part is easy, really. I've been over this one pretty thoroughly, crossed my T's, dotted my I's, that usual stuff. Everything is saving (and loading) from the database quite successfully.
> 
> So, what's the problem?
> The pfile is the problem, to be honest. Something, inside of the code is looking for #PLAYER at the top of the pfile. Eventually, I'll be getting rid of those entirely, loading everything (objects, pets, spells, affects, etc) from SQL, and when that's done, there will be no pfile. For now,  #PLAYER in the pfile is fine, but when everything gets done, there will be nowhere to put that.
> 
> Now, I know of this code in save.c which reads that line:
> 
>             if      ( !str_cmp( word, "PLAYER" ) ) fread_char ( ch, fp );
>             else if ( !str_cmp( word, "OBJECT" ) ) fread_obj  ( ch, fp );
>             else if ( !str_cmp( word, "O"      ) ) fread_obj  ( ch, fp );
>             else if ( !str_cmp( word, "BOX"    ) ) fread_bobj ( ch, fp );
>             else if ( !str_cmp( word, "PET"    ) ) fread_pet  ( ch, fp );
>             else if ( !str_cmp( word, "MOUNT"  ) ) fread_mount( ch, fp );
>             else if ( !str_cmp( word, "END"    ) ) break;
> 
> And I've modified that to read:
> fread_temp_char(ch, fp); // the new loading structure, checking for any old players
>             word = fread_word( fp );
> 
>           if ( !str_cmp( word, "OBJECT" ) ) fread_obj  ( ch, fp );
>             else if ( !str_cmp( word, "O"      ) ) fread_obj  ( ch, fp );
>             else if ( !str_cmp( word, "BOX"    ) ) fread_bobj ( ch, fp );
>             else if ( !str_cmp( word, "PET"    ) ) fread_pet  ( ch, fp );
>             else if ( !str_cmp( word, "MOUNT"  ) ) fread_mount( ch, fp );
>             else if ( !str_cmp( word, "END"    ) ) break;
> 
> So, the word "PLAYER" isn't even called here, or it shouldn't be
> Yet (and this is after many clean compiles, shutdowns, reboots, etc), the problem remains that IF that #PLAYER line is not at the top of the pfile, then the player's file is not even loaded. When it is, the file is loaded perfectly, when not, the file isn't. Like I said, I'm stumped on this one, is there somewhere else that the #player check is made here?
> 
> --
> ROM mailing list
> [email protected]
> Unsubscribe here ->>> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>
-- 
ROM mailing list
[email protected]
Unsubscribe here ->>> http://www.rom.org/cgi-bin/mailman/listinfo/rom
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.