equal
deleted
inserted
replaced
578 |
578 |
579 switch (sld->cmd) { |
579 switch (sld->cmd) { |
580 case SL_VAR: return SlCalcConvFileLen(sld->conv); |
580 case SL_VAR: return SlCalcConvFileLen(sld->conv); |
581 case SL_REF: return SlCalcRefLen(); |
581 case SL_REF: return SlCalcRefLen(); |
582 case SL_ARR: return SlCalcArrayLen(sld->length, sld->conv); |
582 case SL_ARR: return SlCalcArrayLen(sld->length, sld->conv); |
583 case SL_STR: return SlCalcStringLen(sld->s.address, sld->length); |
583 case SL_STR: return SlCalcStringLen(sld->address, sld->length); |
584 default: NOT_REACHED(); |
584 default: NOT_REACHED(); |
585 } |
585 } |
586 break; |
586 break; |
587 case SL_WRITEBYTE: return 1; // a byte is logically of size 1 |
587 case SL_WRITEBYTE: return 1; // a byte is logically of size 1 |
588 case SL_INCLUDE: return SlCalcObjLength(_sl.includes[sld->version_from]); |
588 case SL_INCLUDE: return SlCalcObjLength(_sl.includes[sld->version_from]); |
653 SlSetLength(SlCalcObjLength(sld)); |
653 SlSetLength(SlCalcObjLength(sld)); |
654 if (_sl.need_length == NL_CALCLENGTH) return; |
654 if (_sl.need_length == NL_CALCLENGTH) return; |
655 } |
655 } |
656 |
656 |
657 for (; sld->cmd != SL_END; sld++) { |
657 for (; sld->cmd != SL_END; sld++) { |
658 void *ptr = (byte*)object + sld->s.offset; |
658 void *ptr = (byte*)object + (unsigned long)sld->address; |
659 SlObjectMember(ptr, sld); |
659 SlObjectMember(ptr, sld); |
660 } |
660 } |
661 } |
661 } |
662 |
662 |
663 /** |
663 /** |
670 SlSetLength(SlCalcObjLength((const SaveLoad*)sldg)); |
670 SlSetLength(SlCalcObjLength((const SaveLoad*)sldg)); |
671 if (_sl.need_length == NL_CALCLENGTH) return; |
671 if (_sl.need_length == NL_CALCLENGTH) return; |
672 } |
672 } |
673 |
673 |
674 for (; sldg->cmd != SL_END; sldg++) { |
674 for (; sldg->cmd != SL_END; sldg++) { |
675 SlObjectMember(sldg->s.address, (const SaveLoad*)sldg); |
675 SlObjectMember(sldg->address, (const SaveLoad*)sldg); |
676 } |
676 } |
677 } |
677 } |
678 |
678 |
679 /** |
679 /** |
680 * Do something of which I have no idea what it is :P |
680 * Do something of which I have no idea what it is :P |