ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/freezethaw.h
(Generate patch)

Comparing deliantra/server/include/freezethaw.h (file contents):
Revision 1.7 by root, Thu Apr 29 12:24:04 2010 UTC vs.
Revision 1.13 by root, Mon Oct 29 23:55:53 2012 UTC

1/* 1/*
2 * This file is part of Deliantra, the Roguelike Realtime MMORPG. 2 * This file is part of Deliantra, the Roguelike Realtime MMORPG.
3 * 3 *
4 * Copyright (©) 2005,2006,2007,2008,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team 4 * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
5 * 5 *
6 * Deliantra is free software: you can redistribute it and/or modify it under 6 * Deliantra is free software: you can redistribute it and/or modify it under
7 * the terms of the Affero GNU General Public License as published by the 7 * the terms of the Affero GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your 8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version. 9 * option) any later version.
10 * 10 *
11 * This program is distributed in the hope that it will be useful, 11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details. 14 * GNU General Public License for more details.
15 * 15 *
16 * You should have received a copy of the Affero GNU General Public License 16 * You should have received a copy of the Affero GNU General Public License
17 * and the GNU General Public License along with this program. If not, see 17 * and the GNU General Public License along with this program. If not, see
18 * <http://www.gnu.org/licenses/>. 18 * <http://www.gnu.org/licenses/>.
19 * 19 *
20 * The authors can be reached via e-mail to <support@deliantra.net> 20 * The authors can be reached via e-mail to <support@deliantra.net>
21 */ 21 */
22 22
23#ifndef FREEZETHAW_H__ 23#ifndef FREEZETHAW_H__
24#define FREEZETHAW_H__ 24#define FREEZETHAW_H__
203 // skip the current key-value (usually fetch next line, for 203 // skip the current key-value (usually fetch next line, for
204 // multiline-fields, skips till the corresponding end-kw 204 // multiline-fields, skips till the corresponding end-kw
205 MTH void skip (); 205 MTH void skip ();
206 MTH void skip_block (); // skips till and over KW_end 206 MTH void skip_block (); // skips till and over KW_end
207 207
208 // returns true IFF a value was specified and it is not the empty string
209 // formerly, this just etsetd for a value, but the editor is too dumb
210 // and creates lots of empty values.
208 bool has_value () const { return value; } 211 bool has_value () const { return *value_nn; }
209 const_utf8_string get_str () const { return value_nn; } // empty string when missing 212 const_utf8_string get_str () const { return value_nn; } // empty string when missing
210 void get_ml (keyword kend, shstr &sh); 213 void get_ml (keyword kend, shstr &sh);
211 214
212 void get_ornull (shstr &sh) const { sh = value; } 215 void get_ornull (shstr &sh) const { sh = value; }
213 void get (shstr &sh) const { sh = value; } // might want to check for non-null here 216 void get (shstr &sh) const { sh = value; } // might want to check for non-null here
229 232
230 void get (uint32 &i) const { i = get_sint64 (); } 233 void get (uint32 &i) const { i = get_sint64 (); }
231 void get (sint64 &i) const { i = get_sint64 (); } 234 void get (sint64 &i) const { i = get_sint64 (); }
232 235
233 void get (region_ptr &r) const; 236 void get (region_ptr &r) const;
234 void get (materialtype_t *&m) const; 237 void get (materialtype_t *&mt) const;
235 238
236 MTH void parse_warn (const_utf8_string msg) const; 239 MTH void parse_warn (const_utf8_string msg) const;
237 MTH bool parse_error (const_utf8_string type = 0, const_utf8_string name = 0, bool skip = true) const; 240 MTH bool parse_error (const_utf8_string type = 0, const_utf8_string name = 0, bool skip = true) const;
238 241
239 struct delayed_ref { 242 struct delayed_ref {
244 std::vector<delayed_ref> delrefs; 247 std::vector<delayed_ref> delrefs;
245 248
246 void delayed_deref (attachable *op, object_ptr &ptr, const_utf8_string ref); 249 void delayed_deref (attachable *op, object_ptr &ptr, const_utf8_string ref);
247 MTH void resolve_delayed_derefs (bool deref = true); 250 MTH void resolve_delayed_derefs (bool deref = true);
248private: 251private:
252 void init (const_utf8_string path);
249 void new_from_path (const_utf8_string path); 253 void init_from_file (const_utf8_string path);
250}; 254};
251 255
252#endif 256#endif
253 257

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines