Path: utzoo!utgpu!attcan!uunet!munnari!moncskermit!moncsbruce!cjs From: cjs@moncsbruce.oz (Chris Stuart) Newsgroups: comp.sources.games.bugs Subject: Omega's random character bug Message-ID: <485@moncsbruce.oz> Date: 1 Aug 88 13:41:02 GMT Organization: Comp Sci, Monash Uni, Australia Lines: 42 The bug where omega occassionally draws random characters on the terrain map is in drawplayer(), which is in oscr.c This function has a coupls of static variables which keep track of the players last position. They have a sanity check for normal maps, but not the country side. This will give random characters if (for example) you restore a game which was saved in the countryside. The following patch may help: I would also ask the author to have a look and see if inbounds may be used in the countryside. This patch is a hack from someone who is not at sure what he is doing, but thinks it looks better this way. *** ooldscr.c Mon Aug 1 23:35:08 1988 --- onewscr.c Mon Aug 1 23:34:05 1988 *************** *** 371,378 { static int lastx= -1,lasty= -1; if (Current_Environment == E_COUNTRYSIDE) { ! wmove(Levelw,screenmod(lasty),lastx); ! waddch(Levelw,Country[lastx][lasty].current_terrain_type); wmove(Levelw,screenmod(Player.y),Player.x); waddch(Levelw,PLAYER); } --- 371,380 ----- { static int lastx= -1,lasty= -1; if (Current_Environment == E_COUNTRYSIDE) { ! if(inbounds(lastx, lasty)){ ! wmove(Levelw,screenmod(lasty),lastx); ! waddch(Levelw,Country[lastx][lasty].current_terrain_type); ! } wmove(Levelw,screenmod(Player.y),Player.x); waddch(Levelw,PLAYER); } Cheers, Christopher Stuart