Open angband-import opened 4 years ago
Modified by magnate on 26 Jul 2009 19:34 UTC
Modified by elly on 7 Apr 2013 23:10 UTC
Comment by elly on 7 Apr 2013 23:14 UTC Fyi, here's the current hack counts:
borg/borg6.c 111 borg/borg5.c 88 borg/borg9.c 80 borg/borg4.c 80 borg/borg7.c 76 borg/borg3.c 71 main-win.c 65 borg/borg2.c 55 borg/borg8.c 42 spells1.c 40 dungeon.c 39 z-term.c 38 util.c 37 monster/mon-make.c 35 borg/borg1.c 33 object/obj-util.c 31 main-crb.c 31 monster/melee2.c 29 spells2.c 27 cave.c 21 borg/borg1.h 19 main-x11.c 17 store.c 16 monster/mon-lore.c 16 wizard.c 14 variable.c 14 ui-options.c 13 load.c 13 generate.c 13 player/calcs.c 12 pathfind.c 12 monster/mon-power.c 12 main-nds.c 12 cmd-context.c 11 target.c 10 object/obj-ui.c 10 cmd4.c 10 cmd2.c 10 ui-knowledge.c 9 score.c 9 files.c 9 cmd3.c 9 main-gcu.c 8 xtra3.c 7 monster/mon-util.c 7 z-form.c 6 player/timed.c 5 object/obj-make.c 5 init2.c 5 defines.h 5 wiz-spoil.c 4 trap.c 4 object/randart.c 4 h-basic.h 4 save.c 3 main-sdl.c 3 cmd-obj.c 3 cmd0.c 3 birth.c 3 attack.c 3 xtra2.c 2 win/win-term.h 2 win/include/zlib.h 2 spells.h 2 player/player.c 2 object/identify.c 2 main.c 2 death.c 2 cmd1.c 2 borg/borg3.h 2 z-rand.c 1 x-spell.c 1 wiz-stats.c 1 ui-birth.c 1 types.h 1 savefile.c 1 player/p-util.c 1 object/tvalsval.h 1 object/obj-info.c 1 object/obj-flag.h 1 nds/ds_win.h 1 nds/ds_gfx.h 1 monster/mon-util.h 1 monster/mon-timed.c 1 monster/mon-msg.c 1 monster/constants.h 1 main-stats.c 1 effects.c 1 borg/borg4.h 1 angband.h 1 z-virt.h 0 z-virt.c 0 z-util.h 0 z-util.c 0 z-type.h 0 z-type.c 0 z-textblock.h 0 z-textblock.c 0 z-term.h 0 z-rand.h 0 z-queue.h 0 z-queue.c 0 z-quark.h 0 z-quark.c 0 z-msg.h 0 z-msg.c 0 z-form.h 0 z-file.h 0 z-file.c 0 z-debug.h 0 z-bitflag.h 0 z-bitflag.c 0 wizard.h 0 win/win-menu.h 0 win/win-layout.c 0 win/scrnshot.c 0 win/readpng.c 0 win/readdib.h 0 win/readdib.c 0 win/include/zconf.h 0 win/include/png.h 0 win/include/pngconf.h 0 win/include/libpng12/png.h 0 win/include/libpng12/pngconf.h 0 ui-spell.c 0 ui-menu.h 0 ui-menu.c 0 ui.h 0 ui-event.h 0 ui-event.c 0 ui.c 0 ui-birth.h 0 trap.h 0 textui.h 0 tests/z-virt/string.c 0 tests/z-virt/mem.c 0 tests/z-textblock/textblock.c 0 tests/z-quark/quark.c 0 tests/unit-test-types.h 0 tests/unit-test.h 0 tests/unit-test-data.h 0 tests/unit-test.c 0 tests/trivial/trivial.c 0 tests/test-utils.h 0 tests/test-utils.c 0 tests/store/store.c 0 tests/player/player.c 0 tests/player/history.c 0 tests/player/birth.c 0 tests/pathfind/pathfind.c 0 tests/parse/z-info.c 0 tests/parse/v-info.c 0 tests/parse/store.c 0 tests/parse/s-info.c 0 tests/parse/r-info.c 0 tests/parse/p-info.c 0 tests/parse/parser.c 0 tests/parse/owner.c 0 tests/parse/names.c 0 tests/parse/k-info.c 0 tests/parse/h-info.c 0 tests/parse/flavor.c 0 tests/parse/f-info.c 0 tests/parse/e-info.c 0 tests/parse/c-info.c 0 tests/parse/a-info.c 0 tests/object/util.c 0 tests/object/attack.c 0 tests/monster/monster.c 0 tests/monster/attack.c 0 tests/command/lookup.c 0 tests/artifact/randname.c 0 target.h 0 tables.c 0 store.h 0 stats/structs.h 0 stats/db.h 0 stats/db.c 0 squelch.h 0 squelch.c 0 snd-sdl.c 0 signals.c 0 savefile.h 0 randname.h 0 randname.c 0 prefs.h 0 prefs.c 0 player/types.h 0 player/spell.c 0 player/race.c 0 player/player.h 0 player/class.c 0 pathfind.h 0 parser.h 0 parser.c 0 osx/osx_tables.h 0 option.h 0 option.c 0 object/slays.h 0 object/slays.c 0 object/pval.h 0 object/pval.c 0 object/obj-power.c 0 object/obj-flag.c 0 object/object.h 0 object/obj-desc.c 0 object/list-slays.h 0 object/list-object-flags.h 0 object/inventory.h 0 object/chest.c 0 nds/ds_main.h 0 nds/ds_kbd.h 0 nds/ds_io.h 0 nds/ds_errfont.h 0 nds/ds_btn.h 0 nds/arm7_main.c 0 monster/mon-timed.h 0 monster/monster.h 0 monster/mon-spell.h 0 monster/mon-spell.c 0 monster/mon-power.h 0 monster/mon-msg.h 0 monster/mon-make.h 0 monster/mon-lore.h 0 monster/mon-init.h 0 monster/mon-init.c 0 monster/melee1.c 0 monster/list-spell-effects.h 0 monster/list-mon-spells.h 0 monster/list-mon-flags.h 0 monster/list-blow-methods.h 0 monster/list-blow-effects.h 0 Makefile.crb 0 main-xxx.c 0 main-test.c 0 main.h 0 list-player-flags.h 0 list-gf-types.h 0 list-effects.h 0 keymap.h 0 keymap.c 0 init.h 0 history.h 0 history.c 0 guid.h 0 guid.c 0 grafmode.h 0 grafmode.c 0 generate.h 0 game-event.h 0 game-event.c 0 game-cmd.h 0 game-cmd.c 0 FunctionLength.hs 0 FunctionLength.hi 0 files.h 0 externs.h 0 effects.h 0 dungeon.h 0 doc/doxygen.conf 0 debug.h 0 debug.c 0 death.h 0 config.h 0 cmds.h 0 cmd-misc.c 0 cave.h 0 button.h 0 button.c 0 buildid.h 0 buildid.c 0 borg/borg9.h 0 borg/borg8.h 0 borg/borg7.h 0 borg/borg6.h 0 borg/borg5.h 0 borg/borg2.h 0 birth.h 0 autoconf.h.in 0 autoconf.h 0 attack.h 0
And mega-hacks:
borg/borg4.c 15 borg/borg6.c 12 util.c 9 borg/borg9.c 9 borg/borg5.c 8 spells1.c 3 borg/borg1.c 3 main-win.c 2 dungeon.c 2 borg/borg8.c 2 borg/borg7.c 2 borg/borg3.c 2 object/obj-make.c 1 monster/mon-util.c 1 monster/mon-make.c 1 main-x11.c 1 main-gcu.c 1 generate.c 1 borg/borg2.c 1 borg/borg1.h 1 z-virt.h 0 z-virt.c 0 z-util.h 0 z-util.c 0 z-type.h 0 z-type.c 0 z-textblock.h 0 z-textblock.c 0 z-term.h 0 z-term.c 0 z-rand.h 0 z-rand.c 0 z-queue.h 0 z-queue.c 0 z-quark.h 0 z-quark.c 0 z-msg.h 0 z-msg.c 0 z-form.h 0 z-form.c 0 z-file.h 0 z-file.c 0 z-debug.h 0 z-bitflag.h 0 z-bitflag.c 0 xtra3.c 0 xtra2.c 0 x-spell.c 0 wiz-stats.c 0 wiz-spoil.c 0 wizard.h 0 wizard.c 0 win/win-term.h 0 win/win-menu.h 0 win/win-layout.c 0 win/scrnshot.c 0 win/readpng.c 0 win/readdib.h 0 win/readdib.c 0 win/include/zlib.h 0 win/include/zconf.h 0 win/include/png.h 0 win/include/pngconf.h 0 win/include/libpng12/png.h 0 win/include/libpng12/pngconf.h 0 variable.c 0 ui-spell.c 0 ui-options.c 0 ui-menu.h 0 ui-menu.c 0 ui-knowledge.c 0 ui.h 0 ui-event.h 0 ui-event.c 0 ui.c 0 ui-birth.h 0 ui-birth.c 0 types.h 0 trap.h 0 trap.c 0 textui.h 0 tests/z-virt/string.c 0 tests/z-virt/mem.c 0 tests/z-textblock/textblock.c 0 tests/z-quark/quark.c 0 tests/unit-test-types.h 0 tests/unit-test.h 0 tests/unit-test-data.h 0 tests/unit-test.c 0 tests/trivial/trivial.c 0 tests/test-utils.h 0 tests/test-utils.c 0 tests/store/store.c 0 tests/player/player.c 0 tests/player/history.c 0 tests/player/birth.c 0 tests/pathfind/pathfind.c 0 tests/parse/z-info.c 0 tests/parse/v-info.c 0 tests/parse/store.c 0 tests/parse/s-info.c 0 tests/parse/r-info.c 0 tests/parse/p-info.c 0 tests/parse/parser.c 0 tests/parse/owner.c 0 tests/parse/names.c 0 tests/parse/k-info.c 0 tests/parse/h-info.c 0 tests/parse/flavor.c 0 tests/parse/f-info.c 0 tests/parse/e-info.c 0 tests/parse/c-info.c 0 tests/parse/a-info.c 0 tests/object/util.c 0 tests/object/attack.c 0 tests/monster/monster.c 0 tests/monster/attack.c 0 tests/command/lookup.c 0 tests/artifact/randname.c 0 target.h 0 target.c 0 tables.c 0 store.h 0 store.c 0 stats/structs.h 0 stats/db.h 0 stats/db.c 0 squelch.h 0 squelch.c 0 spells.h 0 spells2.c 0 snd-sdl.c 0 signals.c 0 score.c 0 savefile.h 0 savefile.c 0 save.c 0 randname.h 0 randname.c 0 prefs.h 0 prefs.c 0 player/types.h 0 player/timed.c 0 player/spell.c 0 player/race.c 0 player/p-util.c 0 player/player.h 0 player/player.c 0 player/class.c 0 player/calcs.c 0 pathfind.h 0 pathfind.c 0 parser.h 0 parser.c 0 osx/osx_tables.h 0 option.h 0 option.c 0 object/tvalsval.h 0 object/slays.h 0 object/slays.c 0 object/randart.c 0 object/pval.h 0 object/pval.c 0 object/obj-util.c 0 object/obj-ui.c 0 object/obj-power.c 0 object/obj-info.c 0 object/obj-flag.h 0 object/obj-flag.c 0 object/object.h 0 object/obj-desc.c 0 object/list-slays.h 0 object/list-object-flags.h 0 object/inventory.h 0 object/identify.c 0 object/chest.c 0 nds/ds_win.h 0 nds/ds_main.h 0 nds/ds_kbd.h 0 nds/ds_io.h 0 nds/ds_gfx.h 0 nds/ds_errfont.h 0 nds/ds_btn.h 0 nds/arm7_main.c 0 monster/mon-util.h 0 monster/mon-timed.h 0 monster/mon-timed.c 0 monster/monster.h 0 monster/mon-spell.h 0 monster/mon-spell.c 0 monster/mon-power.h 0 monster/mon-power.c 0 monster/mon-msg.h 0 monster/mon-msg.c 0 monster/mon-make.h 0 monster/mon-lore.h 0 monster/mon-lore.c 0 monster/mon-init.h 0 monster/mon-init.c 0 monster/melee2.c 0 monster/melee1.c 0 monster/list-spell-effects.h 0 monster/list-mon-spells.h 0 monster/list-mon-flags.h 0 monster/list-blow-methods.h 0 monster/list-blow-effects.h 0 monster/constants.h 0 Makefile.crb 0 main-xxx.c 0 main-test.c 0 main-stats.c 0 main-sdl.c 0 main-nds.c 0 main.h 0 main-crb.c 0 main.c 0 load.c 0 list-player-flags.h 0 list-gf-types.h 0 list-effects.h 0 keymap.h 0 keymap.c 0 init.h 0 init2.c 0 history.h 0 history.c 0 h-basic.h 0 guid.h 0 guid.c 0 grafmode.h 0 grafmode.c 0 generate.h 0 game-event.h 0 game-event.c 0 game-cmd.h 0 game-cmd.c 0 FunctionLength.hs 0 FunctionLength.hi 0 files.h 0 files.c 0 externs.h 0 effects.h 0 effects.c 0 dungeon.h 0 doc/doxygen.conf 0 defines.h 0 debug.h 0 debug.c 0 death.h 0 death.c 0 config.h 0 cmds.h 0 cmd-obj.c 0 cmd-misc.c 0 cmd-context.c 0 cmd4.c 0 cmd3.c 0 cmd2.c 0 cmd1.c 0 cmd0.c 0 cave.h 0 cave.c 0 button.h 0 button.c 0 buildid.h 0 buildid.c 0 borg/borg9.h 0 borg/borg8.h 0 borg/borg7.h 0 borg/borg6.h 0 borg/borg5.h 0 borg/borg4.h 0 borg/borg3.h 0 borg/borg2.h 0 birth.h 0 birth.c 0 autoconf.h.in 0 autoconf.h 0 attack.h 0 attack.c 0 angband.h 0
Reported by shanoah@cox.net on 27 Aug 2007 08:52 UTC The current code, as of revision 543, has no less then 1212 occurrences of the word "hack". Perhaps we should evaluate these, and determine which can be reworked, which are necessary evils, and which aren't really hacks at all?
Here is the breakdown, simply based on how many times the word hack was used. Note that I haven't checked for context, and this is from svn, so some of this code may be hacks simply because it is in flux: main files: main-crb.c 35 main-x11.c 21 main-xaw.c 20 main-gtk.c 9 main-sdl.c 4 maid-x11.c 2
Others: cave.c 54 util.c 53 spells1.c 52 object1.c 48 xtra2.c 47 dungeon.c 45 cmd4.c 43 z-term.c 38 files.c 32 melee2.c 28 variable.c 24 store.c 23 birth.c 19 wizard2.c 18 score.c 16 monster1.c 14 cmd2.c 14 attack.c 14 melee1.c 13 pathfind.c 12 init2.c 8 h-basic.h 4 z-rand.c 2 types.h 2 x-spell.c 1 option.h 1 cmd0.c 1 cmd-obj.c 1 angband.h 1