If you are not a programmer, this page will be of little use to you.

The problems:

The build sequence for Spanish Nethack is changed somewhat from the English version. This was necessary for two reasons:

The solutions:

The files src/monst.c and src/objects.c are changed. Object and monster names are moved into new headers: src/obj-en.h and src/mon-en.h contain the original English names, and src/obj-es.h and src/mon-es.h contain the new names in Spanish.

Each makefile must be changed in the following ways:

An example:

In case the above explanation is not clear, here are the differences for the MSDOS makefile, sys/msdos/Makefile.GCC, between the Spanish and English versions:

*** nethack-3.3.1/sys/msdos/Makefile.GCC	Sat Mar  4 19:11:04 2000
--- nethack-3.3.1-espanol/sys/msdos/Makefile.GCC	Wed Jan  9 01:12:00 2002
***************
*** 157,166 ****
  
  DGNCOMPSRC  = dgn_yacc.c  dgn_$(LEX).c	 dgn_main.c
  
! MAKEOBJS    = makedefs.o  monst.o	 objects.o
  
  SPLEVOBJS   = lev_yacc.o  lev_$(LEX).o	lev_main.o  alloc.o	\
! 		monst.o	    objects.o	    panic.o  \
  		drawing.o	decl.o	stubvid.o
  
  DGNCOMPOBJS = dgn_yacc.o  dgn_$(LEX).o	dgn_main.o  alloc.o	 \
--- 157,166 ----
  
  DGNCOMPSRC  = dgn_yacc.c  dgn_$(LEX).c	 dgn_main.c
  
! MAKEOBJS    = makedefs.o  mon-en.o	 obj-en.o
  
  SPLEVOBJS   = lev_yacc.o  lev_$(LEX).o	lev_main.o  alloc.o	\
! 		mon-en.o	    obj-en.o	    panic.o  \
  		drawing.o	decl.o	stubvid.o
  
  DGNCOMPOBJS = dgn_yacc.o  dgn_$(LEX).o	dgn_main.o  alloc.o	 \
***************
*** 189,197 ****
  
  TILOBJ      = tile.o pctiles.o $(VGAOBJ)
  
! TEXTIO      = tiletext.o tiletxt.o drawing.o decl.o monst.o objects.o stubvid.o
  
! TEXTIO2     = tiletex2.o tiletxt2.o drawing.o decl.o monst.o objects.o stubvid.o
  
  
  PLANAR_TIB  = NetHack1.tib
--- 189,197 ----
  
  TILOBJ      = tile.o pctiles.o $(VGAOBJ)
  
! TEXTIO      = tiletext.o tiletxt.o drawing.o decl.o mon-en.o obj-en.o stubvid.o
  
! TEXTIO2     = tiletex2.o tiletxt2.o drawing.o decl.o mon-en.o obj-en.o stubvid.o
  
  
  PLANAR_TIB  = NetHack1.tib
***************
*** 240,246 ****
  VOBJ20 = vis_tab.o  weapon.o   were.o	  wield.o    windows.o
  VOBJ21 = wintty.o   wizard.o   worm.o	  worn.o     write.o
  VOBJ22 = zap.o	    light.o    dlb.o      dig.o      teleport.o
! VOBJ23 = region.o
  
  SOBJ   = msdos.o    sound.o    sys.o	  tty.o	     unix.o    video.o \
  	vidtxt.o    pckeys.o
--- 240,246 ----
  VOBJ20 = vis_tab.o  weapon.o   were.o	  wield.o    windows.o
  VOBJ21 = wintty.o   wizard.o   worm.o	  worn.o     write.o
  VOBJ22 = zap.o	    light.o    dlb.o      dig.o      teleport.o
! VOBJ23 = region.o   ctype2.o
  
  SOBJ   = msdos.o    sound.o    sys.o	  tty.o	     unix.o    video.o \
  	vidtxt.o    pckeys.o
***************
*** 837,849 ****
  
  monst.o: $(CONFIG_H)	     $(PERMONST_H)	$(ESHK_H)	   \
  	$(EPRI_H)	      $(VAULT_H)	 $(INCL)\monsym.h   \
! 	$(INCL)\color.h	 monst.c
  	$(CC) $(CFLAGS) -omonst.o monst.c
  
  objects.o: $(CONFIG_H)	      $(INCL)\obj.h	 $(INCL)\objclass.h \
! 	$(INCL)\prop.h	    $(INCL)\color.h    objects.c
  	$(CC) $(CFLAGS) -oobjects.o objects.c
  
  panic.c:  $(UTIL)\panic.c
  	copy $(UTIL)\panic.c .
  
--- 837,858 ----
  
  monst.o: $(CONFIG_H)	     $(PERMONST_H)	$(ESHK_H)	   \
  	$(EPRI_H)	      $(VAULT_H)	 $(INCL)\monsym.h   \
! 	$(INCL)\color.h	 monst.c mon-es.h
  	$(CC) $(CFLAGS) -omonst.o monst.c
  
+ mon-en.o: $(CONFIG_H)	     $(PERMONST_H)	$(ESHK_H)	   \
+ 	$(EPRI_H)	      $(VAULT_H)	 $(INCL)\monsym.h   \
+ 	$(INCL)\color.h	 monst.c mon-en.h
+ 	$(CC) $(CFLAGS) -DENGLISH -omon-en.o monst.c
+ 
  objects.o: $(CONFIG_H)	      $(INCL)\obj.h	 $(INCL)\objclass.h \
! 	$(INCL)\prop.h	    $(INCL)\color.h    objects.c obj-es.h
  	$(CC) $(CFLAGS) -oobjects.o objects.c
  
+ obj-en.o: $(CONFIG_H)	      $(INCL)\obj.h	 $(INCL)\objclass.h \
+ 	$(INCL)\prop.h	    $(INCL)\color.h    objects.c obj-en.h
+ 	$(CC) $(CFLAGS) -DENGLISH -oobj-en.o objects.c
+ 
  panic.c:  $(UTIL)\panic.c
  	copy $(UTIL)\panic.c .
  
***************
*** 1038,1043 ****
--- 1047,1053 ----
  bones.o:    $(HACK_H) $(INCL)\lev.h
  botl.o:	    $(HACK_H)
  cmd.o:	    $(HACK_H) $(INCL)\func_tab.h
+ ctype2.o:   $(HACK_H)
  dbridge.o:  $(HACK_H)
  decl.o:	    $(HACK_H) $(INCL)\quest.h
  detect.o:   $(HACK_H) $(INCL)\artifact.h

Here is what the changes do:

OK, I have Spanish Nethack running on my Illudium Q-36 Explosive Space Modulator.

Send me your changes!

Return to top

SourceForge Logo