Skip to content

Commit 5786861

Browse files
committed
hud to bottom screen, automap sticky, default to fullscreen
1 parent 0ac1bae commit 5786861

File tree

12 files changed

+63
-30
lines changed

12 files changed

+63
-30
lines changed

arm11/include/keyboard.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#pragma once
22

3+
/*
34
#define KEY_AUX1 207
45
#define KEY_AUX2 208
56
#define KEY_AUX3 209
@@ -55,7 +56,7 @@
5556
#define KEY_EIGHT 0x38
5657
#define KEY_NINE 0x39
5758
#define KEY_ZERO 0x30
58-
#define KEY_BACKSLASH 0x5C
59+
#define KEY_BACKSLASH 0x5C */
5960

6061
typedef struct {
6162
int x, y, type, dx, dy, key;

arm11/source/keyboard.c

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ static char key_buttons[] = "1234567890";
2525
sregion_t key_button_array[] = {
2626
{ 32, 0, 0, 0, 0, 0, key_buttons, key_buttons },
2727
{ 270, 0, 6, 0, 0, 0x200, 0 },
28-
{ -30, 32 * 1, 7, 0, 0, KEY_AUX1, KEY_AUX1 },
29-
{ -30, 32 * 2, 7, 0, 0, KEY_AUX2, KEY_AUX2 },
30-
{ -30, 32 * 3, 7, 0, 0, KEY_AUX3, KEY_AUX3 },
31-
{ -30, 32 * 4, 7, 0, 0, KEY_AUX4, KEY_AUX4 },
32-
{ 254, 32 * 1, 7, 0, 0, KEY_AUX5, KEY_AUX5 },
33-
{ 254, 32 * 2, 7, 0, 0, KEY_AUX6, KEY_AUX6 },
34-
{ 254, 32 * 3, 7, 0, 0, KEY_AUX7, KEY_AUX7 },
35-
{ 254, 32 * 4, 7, 0, 0, KEY_AUX8, KEY_AUX8 },
28+
{ -30, 32 * 1, 7, 0, 0, KEYD_AUX1, KEYD_AUX1 },
29+
{ -30, 32 * 2, 7, 0, 0, KEYD_AUX2, KEYD_AUX2 },
30+
{ -30, 32 * 3, 7, 0, 0, KEYD_AUX3, KEYD_AUX3 },
31+
{ -30, 32 * 4, 7, 0, 0, KEYD_AUX4, KEYD_AUX4 },
32+
{ 254, 32 * 1, 7, 0, 0, KEYD_AUX5, KEYD_AUX5 },
33+
{ 254, 32 * 2, 7, 0, 0, KEYD_AUX6, KEYD_AUX6 },
34+
{ 254, 32 * 3, 7, 0, 0, KEYD_AUX7, KEYD_AUX7 },
35+
{ 254, 32 * 4, 7, 0, 0, KEYD_AUX8, KEYD_AUX8 },
3636
};
3737

3838
static char key_row_1[] = "~1234567890-=";
@@ -58,23 +58,23 @@ static char key_return[] = "Rtrn";
5858

5959
static sregion_t key_array[] = {
6060
{ 0, 0 * 16, 0, 0, 0, 0, key_row_1, key_row_1_shift },
61-
{ 13 * 16 + 2, 0 * 16, 1, 0, 0, KEY_BACKSPACE, key_backspace },
62-
{ 0, 1 * 16, 1, 0, 0, KEY_TAB, key_tab },
61+
{ 13 * 16 + 2, 0 * 16, 1, 0, 0, KEYD_BACKSPACE, key_backspace },
62+
{ 0, 1 * 16, 1, 0, 0, KEYD_TAB, key_tab },
6363
{ 4 * 8, 1 * 16, 0, 0, 0, 0, key_row_2, key_row_2_shift },
64-
{ 0, 2 * 16, 1, 0, 0, KEY_CAPSLOCK, key_caps },
64+
{ 0, 2 * 16, 1, 0, 0, KEYD_CAPSLOCK, key_caps },
6565
{ 5 * 8, 2 * 16, 0, 0, 0, 0, key_row_3, key_row_3_shift },
6666
{ 5 * 8 +
6767
11 * 16 +
68-
2, 2 * 16, 1, 0, 0, KEY_ENTER, key_return },
69-
{ 0, 3 * 16, 1, 0, 0, KEY_RSHIFT, key_shift },
68+
2, 2 * 16, 1, 0, 0, KEYD_ENTER, key_return },
69+
{ 0, 3 * 16, 1, 0, 0, KEYD_RSHIFT, key_shift },
7070
{ 6 * 8, 3 * 16, 0, 0, 0, 0, key_row_4, key_row_4_shift },
71-
{ 256 - 16 * 2, 3 * 16, 2, 0, 0, KEY_UPARROW, 0 },
72-
{ 0, 4 * 16, 1, 0, 0, KEY_RCTRL, key_ctrl },
73-
{ 5 * 8, 4 * 16, 1, 0, 0, KEY_RALT, key_alt },
71+
{ 256 - 16 * 2, 3 * 16, 2, 0, 0, KEYD_UPARROW, 0 },
72+
{ 0, 4 * 16, 1, 0, 0, KEYD_RCTRL, key_ctrl },
73+
{ 5 * 8, 4 * 16, 1, 0, 0, KEYD_RALT, key_alt },
7474
{ 9 * 8, 4 * 16, 1, 0, 0, ' ', key_space },
75-
{ 256 - 16 * 3, 4 * 16, 3, 0, 0, KEY_LEFTARROW, 0 },
76-
{ 256 - 16 * 2, 4 * 16, 4, 0, 0, KEY_DOWNARROW, 0 },
77-
{ 256 - 16 * 1, 4 * 16, 5, 0, 0, KEY_RIGHTARROW, 0 },
75+
{ 256 - 16 * 3, 4 * 16, 3, 0, 0, KEYD_LEFTARROW, 0 },
76+
{ 256 - 16 * 2, 4 * 16, 4, 0, 0, KEYD_DOWNARROW, 0 },
77+
{ 256 - 16 * 1, 4 * 16, 5, 0, 0, KEYD_RIGHTARROW, 0 },
7878
{ 270, 4 * 16, 6, 0, 0, 0x200, 0 },
7979
};
8080

@@ -217,12 +217,12 @@ void keyboard_mark(sregion_t *region, int index, int in_touch) {
217217
key_touching = last_touching = 0;
218218
key_touching_index = last_index = -1;
219219
break;
220-
case KEY_RSHIFT:
220+
case KEYD_RSHIFT:
221221
//force whole refresh
222222
keyboard_visible_last = -1;
223223
key_in_shift = key_in_shift ? 0 : 1;
224224
break;
225-
case KEY_CAPSLOCK:
225+
case KEYD_CAPSLOCK:
226226
//force whole refresh
227227
keyboard_visible_last = -1;
228228
key_in_caps = key_in_caps ? 0 : 1;
@@ -498,10 +498,10 @@ void keyboard_draw_region_sub(sregion_t *region, int index, u16 cc) {
498498
if (region == key_touching) {
499499
c = keyboard_bg_sub;
500500
}
501-
else if ((region->key == KEY_CAPSLOCK && key_in_caps) || (region->key == KEY_RSHIFT && key_in_shift)) {
501+
else if ((region->key == KEYD_CAPSLOCK && key_in_caps) || (region->key == KEYD_RSHIFT && key_in_shift)) {
502502
c = 11 * 16;
503503
}
504-
else if ((region->key == KEY_CAPSLOCK && !key_in_caps) || (region->key == KEY_RSHIFT && !key_in_shift)) {
504+
else if ((region->key == KEYD_CAPSLOCK && !key_in_caps) || (region->key == KEYD_RSHIFT && !key_in_shift)) {
505505
c = cc;
506506
}
507507
else {
@@ -721,10 +721,10 @@ void keyboard_draw_region(sregion_t *region, int index, u16 c) {
721721
}
722722
else if (region->type == 1)
723723
{
724-
if ((region->key == KEY_CAPSLOCK && key_in_caps) || (region->key == KEY_RSHIFT && key_in_shift)) {
724+
if ((region->key == KEYD_CAPSLOCK && key_in_caps) || (region->key == KEYD_RSHIFT && key_in_shift)) {
725725
c = keyboard_bg;
726726
}
727-
else if ((region->key == KEY_CAPSLOCK && !key_in_caps) || (region->key == KEY_RSHIFT && !key_in_shift)) {
727+
else if ((region->key == KEYD_CAPSLOCK && !key_in_caps) || (region->key == KEYD_RSHIFT && !key_in_shift)) {
728728
c = keyboard_fg;
729729
}
730730
ch = region->text;

prboom.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147
</ItemGroup>
148148
<ItemGroup>
149149
<ClInclude Include="arm11\include\font8x8_basic.h" />
150+
<ClInclude Include="arm11\include\keyboard.h" />
150151
<ClInclude Include="arm11\include\Mixer_dsp.h" />
151152
<ClInclude Include="arm11\source\dbopl.h" />
152153
<ClInclude Include="arm11\source\keyboard.h" />

prboom.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,9 @@
542542
<ClInclude Include="arm11\include\Mixer_dsp.h">
543543
<Filter>Header Files</Filter>
544544
</ClInclude>
545+
<ClInclude Include="arm11\include\keyboard.h">
546+
<Filter>Header Files</Filter>
547+
</ClInclude>
545548
</ItemGroup>
546549
<ItemGroup>
547550
<None Include="src\r_drawcolpipeline.inl">

prboom3ds.3ds

2 KB
Binary file not shown.

prboom3ds.3dsx

496 Bytes
Binary file not shown.

prboom3ds.cia

2 KB
Binary file not shown.

src/doomdef.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,15 @@ typedef enum {
323323
#define KEYD_ZL 0x208
324324
#define KEYD_ZR 0x209
325325

326+
#define KEYD_AUX1 0x20A
327+
#define KEYD_AUX2 0x20B
328+
#define KEYD_AUX3 0x20C
329+
#define KEYD_AUX4 0x20D
330+
#define KEYD_AUX5 0x20E
331+
#define KEYD_AUX6 0x20F
332+
#define KEYD_AUX7 0x210
333+
#define KEYD_AUX8 0x211
334+
326335
// phares 4/19/98:
327336
// Defines Setup Screen groups that config variables appear in.
328337
// Used when resetting the defaults for every item in a Setup group.

src/g_game.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ int autorun = false; // always running? // phares
135135
int totalleveltimes; // CPhipps - total time for all completed levels
136136
int longtics;
137137

138+
boolean automapmode_restart = false;
139+
138140
//
139141
// controls (have defaults)
140142
//
@@ -649,6 +651,10 @@ static void G_DoLoadLevel (void)
649651
// killough 5/13/98: in case netdemo has consoleplayer other than green
650652
ST_Start();
651653
HU_Start();
654+
if (automapmode_restart) {
655+
automapmode_restart |= am_active;
656+
AM_Start();
657+
}
652658
}
653659

654660

@@ -1290,8 +1296,13 @@ void G_DoCompleted (void)
12901296
if (playeringame[i])
12911297
G_PlayerFinishLevel(i); // take away cards and stuff
12921298

1293-
if (automapmode & am_active)
1294-
AM_Stop();
1299+
if (automapmode & am_active) {
1300+
AM_Stop();
1301+
automapmode_restart = true;
1302+
}
1303+
else {
1304+
automapmode_restart = false;
1305+
}
12951306

12961307
if (gamemode != commercial) // kilough 2/7/98
12971308
switch(gamemap)

src/hu_lib.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
/* background and foreground screen numbers
4242
* different from other modules. */
4343
#define BG 1
44-
#define FG 0
44+
#define FG ((viewheight != SCREENHEIGHT) ? 0 : 5)
4545

4646
/* font stuff
4747
* #define HU_CHARERASE KEYD_BACKSPACE / not used / phares

0 commit comments

Comments
 (0)