From: PatR Date: Sat, 1 Feb 2020 16:59:19 +0000 (-0800) Subject: splitting cmd.c, phase I X-Git-Tag: NetHack-3.7.0_WIP-2020-02-14~86 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=70611afc4823e9e8e93fb05da70d696995bc7c6b;p=nethack splitting cmd.c, phase I Preparation for moving enlightenment and conduct into new source file insight.c. Right now it's a stub that shouldn't break anything whether included or omitted. Once makefiles and project files have been updated to compile and link it, the actual code will be moved. unix/Makefile.src has been updated; vms/Makefile.src and vmsbuild.com have been updated but not tested. --- diff --git a/sys/unix/Makefile.src b/sys/unix/Makefile.src index fea1ec531..5293dd70a 100644 --- a/sys/unix/Makefile.src +++ b/sys/unix/Makefile.src @@ -445,7 +445,8 @@ HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \ botl.c cmd.c dbridge.c decl.c detect.c dig.c display.c dlb.c do.c \ do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c drawing.c \ dungeon.c eat.c end.c engrave.c exper.c explode.c extralev.c \ - files.c fountain.c hack.c hacklib.c invent.c isaac64.c light.c \ + files.c fountain.c hack.c hacklib.c \ + insight.c invent.c isaac64.c light.c \ lock.c mail.c makemon.c mapglyph.c mcastu.c mdlib.c mhitm.c \ mhitu.c minion.c mklev.c mkmap.c mkmaze.c mkobj.c mkroom.c mon.c \ mondata.c monmove.c monst.c mplayer.c mthrowu.c muse.c music.c \ @@ -512,7 +513,8 @@ HOBJ = $(FIRSTOBJ) allmain.o alloc.o apply.o artifact.o attrib.o ball.o \ bones.o botl.o cmd.o dbridge.o decl.o detect.o dig.o display.o dlb.o \ do.o do_name.o do_wear.o dog.o dogmove.o dokick.o dothrow.o \ drawing.o dungeon.o eat.o end.o engrave.o exper.o explode.o \ - extralev.o files.o fountain.o hack.o hacklib.o invent.o isaac64.o \ + extralev.o files.o fountain.o hack.o hacklib.o \ + insight.o invent.o isaac64.o \ light.o lock.o mail.o makemon.o mapglyph.o mcastu.o mdlib.o mhitm.o \ mhitu.o minion.o mklev.o mkmap.o mkmaze.o mkobj.o mkroom.o mon.o \ mondata.o monmove.o mplayer.o mthrowu.o muse.o music.o \ @@ -1073,6 +1075,7 @@ files.o: files.c $(HACK_H) ../include/dlb.h #zlib.h fountain.o: fountain.c $(HACK_H) hack.o: hack.c $(HACK_H) hacklib.o: hacklib.c $(HACK_H) +insight.o: insight.c $(HACK_H) invent.o: invent.c $(HACK_H) isaac64.o: isaac64.c $(CONFIG_H) ../include/isaac64.h light.o: light.c $(HACK_H) diff --git a/sys/vms/Makefile.src b/sys/vms/Makefile.src index 559f974c0..40ea87bdc 100644 --- a/sys/vms/Makefile.src +++ b/sys/vms/Makefile.src @@ -148,7 +148,8 @@ HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \ botl.c cmd.c dbridge.c decl.c detect.c dig.c display.c dlb.c do.c \ do_name.c do_wear.c dog.c dogmove.c dokick.c dothrow.c drawing.c \ dungeon.c eat.c end.c engrave.c exper.c explode.c extralev.c \ - files.c fountain.c hack.c hacklib.c invent.c light.c lock.c \ + files.c fountain.c hack.c hacklib.c \ + insight.c invent.c light.c lock.c \ mail.c makemon.c mapglyph.c mcastu.c mhitm.c mhitu.c minion.c \ mklev.c mkmap.c \ mkmaze.c mkobj.c mkroom.c mon.c mondata.c monmove.c monst.c \ @@ -194,7 +195,8 @@ HOBJ1 = allmain.obj,alloc.obj,apply.obj,artifact.obj,attrib.obj, \ detect.obj,dig.obj,display.obj,dlb.obj,do.obj,do_name.obj,do_wear.obj HOBJ2 = dog.obj,dogmove.obj,dokick.obj,dothrow.obj,drawing.obj, \ dungeon.obj,eat.obj,end.obj,engrave.obj,exper.obj,explode.obj, \ - extralev.obj,files.obj,fountain.obj,hack.obj,hacklib.obj,invent.obj + extralev.obj,files.obj,fountain.obj,hack.obj,hacklib.obj, \ + insight.obj,invent.obj HOBJ3 = light.obj,lock.obj,mail.obj,makemon.obj,mapglyph.obj,mcastu.obj, \ mhitm.obj,mhitu.obj,minion.obj,mklev.obj,mkmap.obj,mkmaze.obj, \ mkobj.obj,mkroom.obj,mon.obj,mondata.obj,monmove.obj @@ -519,6 +521,7 @@ files.obj : files.c $(HACK_H) $(INC)dlb.h $(INC)wintty.h #zlib.h fountain.obj : fountain.c $(HACK_H) hack.obj : hack.c $(HACK_H) hacklib.obj : hacklib.c $(HACK_H) +insight.obj : insight.c $(HACK_H) invent.obj : invent.c $(HACK_H) light.obj : light.c $(HACK_H) lock.obj : lock.c $(HACK_H) diff --git a/sys/vms/vmsbuild.com b/sys/vms/vmsbuild.com index 0ab402d1a..9ef56da27 100755 --- a/sys/vms/vmsbuild.com +++ b/sys/vms/vmsbuild.com @@ -3,6 +3,10 @@ $ version_number = "3.7.0" $ ! $NHDT-Date: 1557701799 2019/05/12 22:56:39 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.23 $ $ ! Copyright (c) 2018 by Robert Patrick Rankin $ ! NetHack may be freely redistributed. See license for details. +$ +$!TODO: Separate the lua build and create an object library for it instead +$! of putting lua modules into nethack.olb. +$ $ ! $ ! usage: $ ! $ set default [.src] !or [-.-.src] if starting from [.sys.vms] @@ -61,13 +65,13 @@ $ copy sys$input: sys$error: !p1 usage or "DECC" -- use DEC C to compile everything or "GNUC" -- use GNU C to compile everything or "LINK" -- skip compilation, just relink nethack.exe - or "SPEC[IAL]" -- just compile and link lev_comp.exe + or "SPEC[IAL]" -- just compile and link dlb.exe and recover.exe or "" -- default operation (VAXC unless 'CC' is defined) Note: if a DCL symbol for CC is defined, "VAXC" and "GNUC" are no-ops. If the symbol value begins with "G" (or "g"), then the GNU C library will be included in all link operations. Do not rebuild - lev_comp with "SPECIAL" unless you have a CC symbol setup with + dlb+recover with "SPECIAL" unless you have a CC symbol setup with the proper options. $ abort $p1_ok: @@ -185,6 +189,7 @@ $ nethacklib = "[-.src]nethack.olb" $ create nethack.opt ! nethack.opt nethack.olb/Include=(vmsmain)/Library +![-.lib.lua]liblua.olb/Library ! lib$initialize is used to call a routine (before main()) in vmsunix.c that ! tries to check whether debugger support has been linked in, for PANICTRACE sys$library:starlet.olb/Include=(lib$initialize) @@ -238,7 +243,6 @@ $! $ if f$search("pmatchregex.c").eqs."" then copy [-.sys.share]pmatchregex.c []*.* $ if f$search("random.c").eqs."" then copy [-.sys.share]random.c []*.* $ if f$search("tclib.c") .eqs."" then copy [-.sys.share]tclib.c []*.* -$ if f$search("[-.util]lev_yacc.c").eqs."" then @[-.sys.vms]spec_lev.com $! $ p5 := 'p5' $ ttysrc = "[-.win.tty]getline,[-.win.tty]termcap" - @@ -251,7 +255,7 @@ $ interface = ttysrc !default $ if p5.eqs."CURSES" then interface = cursessrc $ if p5.eqs."TTY+CURSES" then interface = ttysrc + "," + cursessrc $ if p5.eqs."CURSES+TTY" then interface = cursessrc + "," + ttysrc - +$ $ if f$search("[-.include]nhlua.h").eqs."" $ then $ create [-.include]nhlua.h !empty @@ -300,14 +304,15 @@ $ c_list = "decl,version,[-.sys.vms]vmsmain,[-.sys.vms]vmsunix" - $ gosub compile_list $ c_list = interface !ttysrc or cursessrc or both $ gosub compile_list -$ c_list = "allmain,apply,artifact,attrib,ball,bones,botl,cmd,dbridge,detect" - - + ",dig,display,do,do_name,do_wear,dog,dogmove,dokick,dothrow,drawing" - - + ",dungeon,eat,end,engrave,exper,explode,extralev,files,fountain" +$ c_list = "allmain,apply,artifact,attrib,ball,bones,botl,cmd,dbridge" - + + ",dothrow,drawing,detect,dig,display,do,do_name,do_wear,dog" - + + ",dogmove,dokick,dungeon,eat,end,engrave,exper,explode" - + + ",extralev,files,fountain" $ gosub compile_list -$ c_list = "hack,hacklib,invent,light,lock,mail,makemon,mapglyph,mcastu" - - + ",mhitm,mhitu,minion,mklev,mkmap,mkmaze,mkobj,mkroom,mon,mondata" - - + ",monmove,mplayer,mthrowu,muse,music,o_init,objnam,options" - - + ",pager,pickup" +$ c_list = "hack,hacklib,insight,invent,light,lock,mail,makemon" - + + ",mapglyph,mcastu,mhitm,mhitu,minion,mklev,mkmap,mkmaze" - + + ",mkobj,mkroom,mon,mondata,monmove,mplayer,mthrowu,muse" - + + ",music,o_init,objnam,options,pager,pickup" $ gosub compile_list $ c_list = "pline,polyself,potion,pray,priest,quest,questpgr,read" - + ",rect,region,restore,rip,rnd,role,rumors,save,shk,shknam,sit" - @@ -320,7 +325,7 @@ $ gosub compile_list $! $! Files added in 3.7 $! -$ c_list = "sfstruct,nhlua,nhlsel" +$ c_list = "nhlua,nhlobj,nhlsel" !,sfstruct $ gosub compile_list $! $! 3.7 runtime LUA level parser/loader @@ -347,24 +352,10 @@ $ milestone "NetHack" $ if c_opt.eq.o_LINK then goto done !"LINK" only $special: $! -$! build special level and dungeon compilers +$! utilities only [dgn_comp and lev_comp are gone] $! $ set default [-.util] -$! c_list = "#panic,#lev_main,#lev_yacc,#dgn_main,#dgn_yacc" -$! if c_opt.eq.o_SPCL then c_list = "[-.sys.vms]vmsfiles," + c_list -$! gosub compile_list -$! c_list = "#lev_lex,#dgn_lex" -$! copy [-.sys.vms]lev_lex.h stdio.*/Prot=(s:rwd,o:rwd) -$! gosub compile_list -$! rename stdio.h lev_lex.* -$! link/exe=lev_comp.exe lev_main.obj,lev_yacc.obj,lev_lex.obj,- -$! panic.obj,'nethacklib'/Lib,[-.src]ident.opt/Opt,[-.src]crtl.opt/Opt -$! milestone "lev_comp" -$! link/exe=dgn_comp.exe dgn_main.obj,dgn_yacc.obj,dgn_lex.obj,- -$! panic.obj,'nethacklib'/Lib,[-.src]ident.opt/Opt,[-.src]crtl.opt/Opt -$! milestone "dgn_comp" -$! -$ c_list = "#dlb_main,#recover" +$ c_list = "#panic,#dlb_main,#recover" $ gosub compile_list $ link/exe=dlb.exe dlb_main.obj,- panic.obj,'nethacklib'/Lib,[-.src]ident.opt/Opt,[-.src]crtl.opt/Opt