Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
bfc8094
initial gui
PieterVdc Oct 23, 2025
1094a47
add select screen
PieterVdc Oct 23, 2025
9c9d1d4
move mp maps to seperate folder
PieterVdc Oct 23, 2025
ebb04a0
display correct list of mpmappacks
PieterVdc Oct 25, 2025
d3e2e80
.
PieterVdc Oct 25, 2025
2ef0877
first kinda functional
PieterVdc Oct 26, 2025
914dcec
auto change pack for other player as well
PieterVdc Oct 26, 2025
6a83544
Merge branch 'master' into pr/4318
Loobinex Oct 30, 2025
02be776
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Oct 30, 2025
6ae7202
Merge branch 'mp_mappacks' of https://github.com/PieterVdc/keeperfx i…
PieterVdc Oct 30, 2025
8b7a989
Merge branch 'master' into mp_mappacks
PieterVdc Nov 5, 2025
cc7d079
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Nov 9, 2025
628fac8
Merge branch 'mp_mappacks' of https://github.com/PieterVdc/keeperfx i…
PieterVdc Nov 9, 2025
f473898
set a default selected mappack
PieterVdc Nov 9, 2025
83f0f22
add seperate lobby name
PieterVdc Nov 9, 2025
bb6a05b
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Nov 23, 2025
35f941f
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Nov 29, 2025
713a406
Update front_network.c
PieterVdc Nov 29, 2025
ccba796
Update front_network.c
PieterVdc Nov 29, 2025
d268b3c
Merge branch 'master' into mp_mappacks
PieterVdc Dec 1, 2025
2d6e795
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Dec 13, 2025
280e720
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Dec 14, 2025
267f0e2
Merge branch 'master' into mp_mappacks
PieterVdc Jan 13, 2026
37e9f62
Merge branch 'mp_mappacks' of https://github.com/PieterVdc/keeperfx i…
PieterVdc Feb 3, 2026
d8c4e26
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Feb 3, 2026
1d1dabc
Update front_network.c
PieterVdc Feb 3, 2026
71ea7e8
use new instachatr instead
PieterVdc Feb 3, 2026
aaaf22f
fix switching packs
PieterVdc Feb 3, 2026
f439d67
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Mar 14, 2026
112fef5
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Apr 26, 2026
9fd96ae
frontend_draw_mp_mappack_scroll_tab
PieterVdc Apr 26, 2026
388bab9
use "Multiplayer Map Packs" string
PieterVdc Apr 26, 2026
ac3c8fc
frontend_set_state
PieterVdc Apr 26, 2026
a992646
frontend_mp_mappack_select_update
PieterVdc Apr 26, 2026
45ab194
Mappack: translatable
PieterVdc Apr 26, 2026
04c4fdc
copilot feedb
PieterVdc Apr 26, 2026
dc0f545
order file name
PieterVdc Apr 26, 2026
8356c2d
items_num
PieterVdc Apr 26, 2026
ea2ba3a
package extra files correctly
PieterVdc Apr 26, 2026
c337341
load correct moment
PieterVdc Apr 26, 2026
a9368f9
also work in 1Player mode
PieterVdc Apr 26, 2026
cbaace8
Classic
Loobinex Apr 26, 2026
f580274
fix
PieterVdc Apr 26, 2026
584f49c
put MEDIA_LOCATION back
Loobinex Apr 26, 2026
475a4cc
Added standard pack
Loobinex Apr 26, 2026
f51c910
Reworked file structure once again
Loobinex Apr 27, 2026
6c56b26
set campaign for late joiners
PieterVdc Apr 28, 2026
276dee4
pass prefed cmp type
PieterVdc Apr 28, 2026
f3da653
Merge remote-tracking branch 'upstream/master' into mp_mappacks
PieterVdc Apr 29, 2026
3676b07
remove Mappack:
PieterVdc Apr 29, 2026
3c0778e
use lnd hand
PieterVdc Apr 29, 2026
708b67c
Update front_landview.c
PieterVdc Apr 29, 2026
50f3cbc
don't disconnect when choosing pack
PieterVdc Apr 29, 2026
6713906
Fixed linux build warning
Loobinex Apr 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 0 additions & 111 deletions campgns/keeporig.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ MEDIA_LOCATION = ldata
; Single player level numbers, and bonus levels for 'Reveal hidden land' boxes
SINGLE_LEVELS = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
BONUS_LEVELS = 0 0 0 0 0 0 0 100 101 0 0 0 0 0 102 0 103 104 0 0
; Multiplayer level numbers (you may also define multiplayer levels using .LOF files)
MULTI_LEVELS = 50 51 52 53 54 60 61 62 63 64 70 71 72 73 74
; Extra levels: full moon, new moon
EXTRA_LEVELS = 105
; File which stores credits (located in land location folder)
Expand Down Expand Up @@ -354,112 +352,3 @@ ENSIGN_POS = 757 617
ENSIGN_ZOOM = 757 617
PLAYERS = 1
ENSIGN =

; Details about multiplayer levels

[map00050]
NAME_TEXT = Multiplayer 1
ENSIGN_POS = 820 618
ENSIGN_ZOOM = 820 618
PLAYERS = 2
ENSIGN =

[map00051]
NAME_TEXT = Multiplayer 2
ENSIGN_POS = 767 542
ENSIGN_ZOOM = 767 542
PLAYERS = 2
ENSIGN =

[map00052]
NAME_TEXT = Multiplayer 3
ENSIGN_POS = 703 616
ENSIGN_ZOOM = 703 616
PLAYERS = 2
ENSIGN =

[map00053]
NAME_TEXT = Multiplayer 4
ENSIGN_POS = 795 680
ENSIGN_ZOOM = 795 680
PLAYERS = 2
ENSIGN =

[map00054]
NAME_TEXT = Multiplayer 5
ENSIGN_POS = 879 654
ENSIGN_ZOOM = 879 654
PLAYERS = 2
ENSIGN =

[map00060]
NAME_TEXT = Multiplayer 6
ENSIGN_POS = 445 530
ENSIGN_ZOOM = 445 530
PLAYERS = 3
ENSIGN =

[map00061]
NAME_TEXT = Multiplayer 7
ENSIGN_POS = 453 594
ENSIGN_ZOOM = 453 594
PLAYERS = 3
ENSIGN =

[map00062]
NAME_TEXT = Multiplayer 8
ENSIGN_POS = 529 578
ENSIGN_ZOOM = 529 578
PLAYERS = 3
ENSIGN =

[map00063]
NAME_TEXT = Multiplayer 9
ENSIGN_POS = 433 706
ENSIGN_ZOOM = 433 706
PLAYERS = 3
ENSIGN =

[map00064]
NAME_TEXT = Multiplayer 10
ENSIGN_POS = 500 692
ENSIGN_ZOOM = 500 692
PLAYERS = 3
ENSIGN =

[map00070]
NAME_TEXT = Multiplayer 11
ENSIGN_POS = 520 385
ENSIGN_ZOOM = 520 385
PLAYERS = 4
ENSIGN =

[map00071]
NAME_TEXT = Multiplayer 12
ENSIGN_POS = 590 385
ENSIGN_ZOOM = 590 385
PLAYERS = 4
ENSIGN =

[map00072]
NAME_TEXT = Multiplayer 13
ENSIGN_POS = 634 405
ENSIGN_ZOOM = 634 405
PLAYERS = 4
ENSIGN =

[map00073]
NAME_TEXT = Multiplayer 14
ENSIGN_POS = 676 429
ENSIGN_ZOOM = 676 429
PLAYERS = 4
ENSIGN =

[map00074]
NAME_TEXT = Multiplayer 15
ENSIGN_POS = 664 357
ENSIGN_ZOOM = 664 357
PLAYERS = 4
ENSIGN =


5 changes: 5 additions & 0 deletions lang/gtext_chi.po
Original file line number Diff line number Diff line change
Expand Up @@ -6880,3 +6880,8 @@ msgstr "传送到集合点"
msgctxt "Game controls"
msgid "Teleport Default"
msgstr "默认传送"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""
5 changes: 5 additions & 0 deletions lang/gtext_cht.po
Original file line number Diff line number Diff line change
Expand Up @@ -6876,3 +6876,8 @@ msgstr "傳送到集合點"
msgctxt "Game controls"
msgid "Teleport Default"
msgstr "預設傳送"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""
5 changes: 5 additions & 0 deletions lang/gtext_cze.po
Original file line number Diff line number Diff line change
Expand Up @@ -7251,3 +7251,8 @@ msgstr "Teleport k výzvě ke zbraním"
msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Teleport výchozí"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""
5 changes: 5 additions & 0 deletions lang/gtext_dut.po
Original file line number Diff line number Diff line change
Expand Up @@ -7252,3 +7252,8 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Teleporteer Standaard"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""

5 changes: 4 additions & 1 deletion lang/gtext_eng.pot
Original file line number Diff line number Diff line change
Expand Up @@ -5862,4 +5862,7 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr ""


#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""
5 changes: 5 additions & 0 deletions lang/gtext_fre.po
Original file line number Diff line number Diff line change
Expand Up @@ -7509,3 +7509,8 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Téléportation Par défaut"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""

5 changes: 5 additions & 0 deletions lang/gtext_ger.po
Original file line number Diff line number Diff line change
Expand Up @@ -7538,3 +7538,8 @@ msgstr "Teleport Aufruf zu den Waffen"
msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Teleport Standard"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr "Mehrspieler-Kartenpakete"
5 changes: 5 additions & 0 deletions lang/gtext_ita.po
Original file line number Diff line number Diff line change
Expand Up @@ -7371,3 +7371,8 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Teletrasporto Predefinito"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""

5 changes: 5 additions & 0 deletions lang/gtext_jpn.po
Original file line number Diff line number Diff line change
Expand Up @@ -7215,3 +7215,8 @@ msgstr "テレポート:出陣旗先"
msgctxt "Game controls"
msgid "Teleport Default"
msgstr "テレポート:既定先"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""
5 changes: 5 additions & 0 deletions lang/gtext_kor.po
Original file line number Diff line number Diff line change
Expand Up @@ -7259,3 +7259,8 @@ msgstr "순간이동 소집"
msgctxt "Game controls"
msgid "Teleport Default"
msgstr "순간이동 기본"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""
5 changes: 5 additions & 0 deletions lang/gtext_lat.po
Original file line number Diff line number Diff line change
Expand Up @@ -7282,3 +7282,8 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Translatio Praedefinita"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""

5 changes: 5 additions & 0 deletions lang/gtext_pol.po
Original file line number Diff line number Diff line change
Expand Up @@ -7359,3 +7359,8 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Teleport domyślny"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""

5 changes: 5 additions & 0 deletions lang/gtext_por.po
Original file line number Diff line number Diff line change
Expand Up @@ -7483,3 +7483,8 @@ msgstr "Teletransporte Chamada às Armas"
msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Teletransporte Padrão"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""
5 changes: 5 additions & 0 deletions lang/gtext_rus.po
Original file line number Diff line number Diff line change
Expand Up @@ -6662,3 +6662,8 @@ msgstr "В создании - К знамени "К оружию!""
msgctxt "Game controls"
msgid "Teleport Default"
msgstr "В создании - К личному логову"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""
5 changes: 5 additions & 0 deletions lang/gtext_spa.po
Original file line number Diff line number Diff line change
Expand Up @@ -7514,3 +7514,8 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Teletransporte Predeterminado"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""

5 changes: 5 additions & 0 deletions lang/gtext_swe.po
Original file line number Diff line number Diff line change
Expand Up @@ -7278,3 +7278,8 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Teleportera Standard"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""

5 changes: 5 additions & 0 deletions lang/gtext_ukr.po
Original file line number Diff line number Diff line change
Expand Up @@ -7333,3 +7333,8 @@ msgctxt "Game controls"
msgid "Teleport Default"
msgstr "Телепорт за замовчуванням"

#: guitext:1110
msgctxt "Menu interface item"
msgid "Multiplayer Map Packs"
msgstr ""

33 changes: 33 additions & 0 deletions mpmaps/classic.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
; KeeperFX multiplayer mappack file
; Classic mappack: PvP maps in the style that Bullfrog did, but balanced and fun.

[common]
NAME = Classic Multiplayer Maps
; todo, add new namestring
;NAME_TEXT_ID = 972
LEVELS_LOCATION = mpmaps/classic
LAND_LOCATION = campgns/keeporig_lnd
;CREATURES_LOCATION = mpmaps/classic_crtr
CONFIGS_LOCATION = mpmaps/classic_cfgs
LAND_VIEW_START = rgmap00 viframe00
LAND_VIEW_END = rgmap21 viframe21
MEDIA_LOCATION = ldata
LAND_MARKERS = ENSIGNS

[strings]
ENG = fxdata/gtext_eng.dat
FRE = fxdata/gtext_fre.dat
GER = fxdata/gtext_ger.dat
ITA = fxdata/gtext_ita.dat
SPA = fxdata/gtext_spa.dat
SWE = fxdata/gtext_swe.dat
POL = fxdata/gtext_pol.dat
DUT = fxdata/gtext_dut.dat
JPN = fxdata/gtext_jpn.dat
CHI = fxdata/gtext_chi.dat
CHT = fxdata/gtext_cht.dat
RUS = fxdata/gtext_rus.dat
CZE = fxdata/gtext_cze.dat
KOR = fxdata/gtext_kor.dat
UKR = fxdata/gtext_ukr.dat
LAT = fxdata/gtext_lat.dat
84 changes: 84 additions & 0 deletions mpmaps/classic_cfgs/rules.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
; KeeperFX Game Rules Configuration file
; Standard KeeperFX ruleset for Multiplayer. Stacks on top of fxdata files.

[game]
DisplayPortalLimit = 1
DungeonHeartHealTime = 8
DungeonHeartHealHealth = 4
AlliesShareVision = 1

[magic]
HoldAudienceTime = 200
ArmageddonCountDown = 200
ArmageddonDuration = 2000

[rooms]
BarrackMaxPartySize = 16

[research]
Research = MAGIC POWER_HAND 250
Research = MAGIC POWER_POSSESS 500
Research = MAGIC POWER_SLAP 500
Research = MAGIC POWER_IMP 1000
Research = ROOM TREASURE 1000
Research = ROOM LAIR 1000
Research = ROOM GARDEN 1000
Research = ROOM TRAINING 1000
Research = ROOM RESEARCH 1000
Research = MAGIC POWER_TUNNELLER 3500
Research = MAGIC POWER_SIGHT 3800
Research = ROOM BRIDGE 4600
Research = MAGIC POWER_SPEED 5700
Research = MAGIC POWER_OBEY 6000
Research = ROOM GUARD_POST 6700
Research = MAGIC POWER_CALL_TO_ARMS 7400
Research = ROOM WORKSHOP 9000
Research = MAGIC POWER_CONCEAL 9400
Research = MAGIC POWER_VISION 10000
Research = ROOM BARRACKS 12000
Research = MAGIC POWER_FLIGHT 10000
Research = MAGIC POWER_HOLD_AUDIENCE 11000
Research = ROOM PRISON 20000
Research = MAGIC POWER_SLOW 11000
Research = MAGIC POWER_CAVE_IN 25000
Research = ROOM TORTURE 20000
Research = MAGIC POWER_FREEZE 13000
Research = MAGIC POWER_HEAL_CREATURE 14000
Research = MAGIC POWER_TIME_BOMB 18000
Research = ROOM TEMPLE 25000
Research = MAGIC POWER_LIGHTNING 15000
Research = ROOM GRAVEYARD 25000
Research = MAGIC POWER_PROTECT 15000
Research = MAGIC POWER_REBOUND 17000
Research = ROOM SCAVENGER 27500
Research = MAGIC POWER_CHICKEN 20000
Research = MAGIC POWER_DISEASE 20000
Research = MAGIC POWER_ARMAGEDDON 40000
Research = MAGIC POWER_DESTROY_WALLS 80000

[sacrifices]
; Sacrifice recipes. First the result, then followed by up to six ingredients. To disable a sacrifice, put a ";" before it - this will turn it into comment. Be careful to avoid conflicts.
; Original Dungeon Keeper sacrifices.
MkCreature = BILE_DEMON SPIDER SPIDER SPIDER
MkCreature = HORNY TROLL BILE_DEMON DARK_MISTRESS
PosUniqFunc = COMPLETE_RESEARCH FLY FLY
PosUniqFunc = COMPLETE_MANUFACTR BUG BUG
NegSpellAll = SPELL_DISEASE VAMPIRE VAMPIRE
MkCreature = SORCEROR FLY SPIDER
MkCreature = DARK_MISTRESS BUG SPIDER
NegSpellAll = SPELL_CHICKEN BILE_DEMON BILE_DEMON
PosUniqFunc = CHEAPER_IMPS IMP
NegUniqFunc = ALL_CREATRS_ANGRY HORNY
NegUniqFunc = KILL_ALL_CHICKENS GHOST
; KeeperFX specific sacrifices.
MkGoodHero = SKELETON SKELETON SKELETON
MkCreature = TENTACLE TROLL SPIDER
MkCreature = HELL_HOUND DRAGON FLY
PosSpellAll = SPELL_SPEED FLY HELL_HOUND
PosSpellAll = SPELL_INVISIBILITY TROLL FLY
PosSpellAll = SPELL_HEAL ORC SPIDER
PosSpellAll = SPELL_REBOUND DARK_MISTRESS BUG
PosSpellAll = SPELL_ARMOUR BILE_DEMON BUG
PosSpellAll = SPELL_FLIGHT DEMONSPAWN FLY
NegSpellAll = SPELL_FREEZE VAMPIRE SPIDER
NegSpellAll = SPELL_SLOW VAMPIRE DEMONSPAWN
3 changes: 3 additions & 0 deletions mpmaps/mp_mappck_order.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#order of the multiplayer mappacks, packs not in the list will be at the bottom alphabetically
classic.cfg
standard.cfg
Loading
Loading