I added the line numbers. just after I realized they weren't there lol it cant be that difficult but I have used the brackets and anything else I can think of or my outdated book says.
Totally unrelated, but why on line 458 is it encased in two sets of parenthesis? if( pObj = get_obj_index( i ) ) should work fine, you shouldn't need a second set.
As for the error, you can't really just drop that case statement anywhere in the file. It's not really associated with anything and that's what it's telling you. You need an identifier before the {. Meaning that needs to be inside another function. Although with a case statement, not only does it need to be inside a function, but also inside some kind of switch statement I would assume.
Kayles right, you just look like you've dropped part of a switch statement in the middle of a file. You need a switch statement around that, AND a function around the switch. In fact it really just looks like out of context garbage at the moment…
It looks like it was meant to go in 'save_object()' not save_objects(), and it's part of a switch statement that was just dropped in by itself in the wrong place. Is that my slots snippet? Nikolai had one I redid a number of years back.
gcc -O -g3 -Wall -DIMC -DIMCROM -c -o obj/olc_mpcode.o olc_mpcode.c
gcc -O -g3 -Wall -DIMC -DIMCROM -c -o obj/olc_save.o olc_save.c
olc_save.c:467: error: expected identifier or '(' before '{' token
make: *** [obj/olc_save.o] Error 1