Revive Amiga port for NetHack 3.7

Update the Amiga Intuition window port (AMII/AMIV) for the 3.7
window_procs API. Key changes:

- Update all window function signatures for 3.7
- Add assembly trampolines for AmigaOS register-based callbacks
- Convert all K&R function definitions to C99
- Add cross-compilation build system (cross-pre1/pre2/post.370)
  using bebbo's m68k-amigaos-gcc with -noixemul -std=gnu17 -m68000
- Clipping fixes: viewport centering, simplified ScrollRaster,
  duplicate Ctrl-R suppression, glyph buffer invalidation
- Add menucolor support in menu rendering
- Move native txt2iff.c and xpm2iff.c to outdated/
- Add nethack.cnf and README.amiga
This commit is contained in:
Ingo Paschke
2026-03-23 20:48:06 +01:00
parent 7b89255ea8
commit 2d597cb9fa
27 changed files with 1101 additions and 908 deletions

View File

@@ -48,13 +48,9 @@ typedef long off_t;
#define PATHLEN 130
/* data librarian defs */
#ifndef NOCWD_ASSUMPTIONS
#define DLBFILE "NetHack:nhdat" /* main library */
#define DLBFILE2 "NetHack:nhsdat" /* sound library */
#else
#define DLBFILE "nhdat" /* main library */
#define DLBFILE2 "nhsdat" /* sound library */
#endif
/* nhsdat sound library not used in 3.7 */
#undef DLBFILE2
#ifndef CROSS_TO_AMIGA
#define FILENAME_CMP stricmp /* case insensitive */

View File

@@ -22,6 +22,7 @@ typedef struct amii_mi {
char gselector; /* Group selector */
char canselect; /* Can user select this entry. */
char attr; /* Attribute for the line. */
int color; /* Color for the line (from menucolors). */
char *str; /* The text of the item. */
} amii_menu_item;

View File

@@ -13,8 +13,11 @@
enum wp_ids { wp_tty = 1, wp_X11, wp_Qt, wp_mswin, wp_curses,
wp_chainin, wp_chainout, wp_safestartup, wp_shim,
wp_hup, wp_guistubs, wp_ttystubs,
#if defined(AMIGA)
wp_amii, wp_amiv,
#endif
#ifdef OUTDATED_STUFF
wp_mac, wp_Gem, wp_Gnome, wp_amii, wp_amiv,
wp_mac, wp_Gem, wp_Gnome,
#endif
wp_trace // XXX do we need this? should chainin/out get an id? TBD
};