Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
openjazz
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PocketInsanity
openjazz
Commits
5eb0197a
Commit
5eb0197a
authored
Apr 15, 2010
by
alistert
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support for bonus level font.
parent
6b2a8919
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
73 additions
and
27 deletions
+73
-27
bonus.cpp
src/bonus/bonus.cpp
+11
-10
font.cpp
src/io/gfx/font.cpp
+52
-14
font.h
src/io/gfx/font.h
+2
-1
main.cpp
src/main.cpp
+8
-2
No files found.
src/bonus/bonus.cpp
View file @
5eb0197a
...
...
@@ -312,8 +312,7 @@ Bonus::Bonus (char * fileName, unsigned char diff) {
paletteEffects
=
new
RotatePaletteEffect
(
240
,
16
,
F32
,
paletteEffects
);
// Adjust fonts to use bonus level palette
fontsFont
->
mapPalette
(
0
,
32
,
15
,
-
16
);
// Adjust panelBigFont to use bonus level palette
panelBigFont
->
mapPalette
(
0
,
32
,
15
,
-
16
);
...
...
@@ -325,7 +324,6 @@ Bonus::Bonus (char * fileName, unsigned char diff) {
Bonus
::~
Bonus
()
{
// Restore font palettes
fontsFont
->
restorePalette
();
panelBigFont
->
restorePalette
();
return
;
...
...
@@ -570,17 +568,20 @@ void Bonus::draw () {
// Show gem count
spriteSet
[
47
].
draw
(
0
,
0
);
fontsFont
->
showString
(
"x"
,
15
,
0
);
fontsFont
->
showNumber
(
localPlayer
->
getItems
(),
64
,
0
);
fontsFont
->
showNumber
(
items
,
117
,
0
);
bonusFont
->
showString
(
"*"
,
0
,
0
);
bonusFont
->
showNumber
(
localPlayer
->
getItems
()
/
10
,
50
,
0
);
bonusFont
->
showNumber
(
localPlayer
->
getItems
()
%
10
,
68
,
0
);
bonusFont
->
showString
(
"/"
,
65
,
0
);
bonusFont
->
showNumber
(
items
,
124
,
0
);
// Show time remaining
if
(
endTime
>
ticks
)
x
=
(
endTime
-
ticks
)
/
1000
;
else
x
=
0
;
fontsFont
->
showNumber
(
x
/
60
,
242
,
0
);
fontsFont
->
showNumber
(
x
%
60
,
286
,
0
);
bonusFont
->
showNumber
(
x
/
60
,
250
,
0
);
bonusFont
->
showString
(
":"
,
247
,
0
);
bonusFont
->
showNumber
((
x
/
10
)
%
6
,
274
,
0
);
bonusFont
->
showNumber
(
x
%
10
,
291
,
0
);
return
;
...
...
@@ -720,7 +721,7 @@ int Bonus::play () {
// If paused, draw "PAUSE"
if
(
pmessage
&&
!
pmenu
)
font
sFont
->
showString
(
"pause"
,
(
canvasW
>>
1
)
-
44
,
32
);
bonu
sFont
->
showString
(
"pause"
,
(
canvasW
>>
1
)
-
44
,
32
);
// Draw statistics
drawStats
(
stats
,
0
);
...
...
src/io/gfx/font.cpp
View file @
5eb0197a
...
...
@@ -184,12 +184,12 @@ Font::Font (unsigned char* pixels, bool big) {
map
[
count
++
]
=
37
;
map
[
count
++
]
=
39
;
for
(;
count
<
48
;
count
++
)
map
[
count
]
=
0
;
for
(;
count
<
58
;
count
++
)
map
[
count
]
=
count
-
47
;
for
(;
count
<
58
;
count
++
)
map
[
count
]
=
count
-
47
;
// Numbers
map
[
count
++
]
=
38
;
for
(;
count
<
65
;
count
++
)
map
[
count
]
=
0
;
for
(;
count
<
91
;
count
++
)
map
[
count
]
=
count
-
54
;
for
(;
count
<
91
;
count
++
)
map
[
count
]
=
count
-
54
;
// Upper-case letters
for
(;
count
<
97
;
count
++
)
map
[
count
]
=
0
;
for
(;
count
<
123
;
count
++
)
map
[
count
]
=
count
-
86
;
for
(;
count
<
123
;
count
++
)
map
[
count
]
=
count
-
86
;
// Lower-case letters
for
(;
count
<
128
;
count
++
)
map
[
count
]
=
0
;
}
else
{
...
...
@@ -198,7 +198,7 @@ Font::Font (unsigned char* pixels, bool big) {
// Use :; to represent the infinity symbol
for
(
count
=
0
;
count
<
48
;
count
++
)
map
[
count
]
=
0
;
for
(;
count
<
60
;
count
++
)
map
[
count
]
=
count
-
47
;
for
(;
count
<
60
;
count
++
)
map
[
count
]
=
count
-
47
;
// Numbers and :;
for
(;
count
<
128
;
count
++
)
map
[
count
]
=
0
;
}
...
...
@@ -208,18 +208,18 @@ Font::Font (unsigned char* pixels, bool big) {
}
Font
::
Font
()
{
Font
::
Font
(
bool
bonus
)
{
File
*
file
;
unsigned
char
*
pixels
;
int
fileSize
;
int
count
,
width
,
height
;
// Load font from FONTS.000
// Load font from FONTS.000
or BONUS.000
try
{
file
=
new
File
(
F_FONTS
,
false
);
file
=
new
File
(
bonus
?
F_BONUS
:
F_FONTS
,
false
);
}
catch
(
int
e
)
{
...
...
@@ -232,6 +232,25 @@ Font::Font () {
nCharacters
=
file
->
loadShort
();
if
(
bonus
)
{
count
=
file
->
loadShort
();
nCharacters
-=
count
;
// Skip sprites
for
(;
count
>
0
;
count
--
)
{
file
->
seek
(
4
,
false
);
width
=
file
->
loadShort
();
if
(
width
==
0xFFFF
)
width
=
0
;
file
->
seek
((
width
<<
2
)
+
file
->
loadShort
(),
false
);
}
}
// Load characters
...
...
@@ -245,9 +264,12 @@ Font::Font () {
}
width
=
file
->
loadShort
()
<<
2
;
width
=
file
->
loadShort
();
height
=
file
->
loadShort
();
if
(
bonus
)
width
=
(
width
+
3
)
&
~
3
;
else
width
<<=
2
;
file
->
seek
(
4
,
false
);
pixels
=
file
->
loadPixels
(
width
*
height
);
...
...
@@ -275,14 +297,30 @@ Font::Font () {
// Create ASCII->font map
for
(
count
=
0
;
count
<
37
;
count
++
)
map
[
count
]
=
nCharacters
;
map
[
count
++
]
=
36
;
for
(;
count
<
48
;
count
++
)
map
[
count
]
=
nCharacters
;
for
(;
count
<
58
;
count
++
)
map
[
count
]
=
count
-
22
;
count
=
0
;
if
(
bonus
)
{
for
(;
count
<
42
;
count
++
)
map
[
count
]
=
nCharacters
;
map
[
count
++
]
=
37
;
// *
for
(;
count
<
46
;
count
++
)
map
[
count
]
=
nCharacters
;
map
[
count
++
]
=
39
;
// .
map
[
count
++
]
=
38
;
// /
for
(;
count
<
59
;
count
++
)
map
[
count
]
=
count
-
22
;
// Numbers and :
}
else
{
for
(;
count
<
37
;
count
++
)
map
[
count
]
=
nCharacters
;
map
[
count
++
]
=
36
;
// %
for
(;
count
<
48
;
count
++
)
map
[
count
]
=
nCharacters
;
for
(;
count
<
58
;
count
++
)
map
[
count
]
=
count
-
22
;
// Numbers
}
for
(;
count
<
65
;
count
++
)
map
[
count
]
=
nCharacters
;
for
(;
count
<
91
;
count
++
)
map
[
count
]
=
count
-
65
;
for
(;
count
<
91
;
count
++
)
map
[
count
]
=
count
-
65
;
// Upper-case letters
for
(;
count
<
97
;
count
++
)
map
[
count
]
=
nCharacters
;
for
(;
count
<
123
;
count
++
)
map
[
count
]
=
count
-
97
;
for
(;
count
<
123
;
count
++
)
map
[
count
]
=
count
-
97
;
// Lower-case letters
for
(;
count
<
128
;
count
++
)
map
[
count
]
=
nCharacters
;
nCharacters
++
;
...
...
src/io/gfx/font.h
View file @
5eb0197a
...
...
@@ -44,7 +44,7 @@ class Font {
public
:
Font
(
const
char
*
fileName
);
Font
(
unsigned
char
*
pixels
,
bool
big
);
Font
();
Font
(
bool
bonus
);
~
Font
();
int
showString
(
const
char
*
s
,
int
x
,
int
y
);
...
...
@@ -69,6 +69,7 @@ EXTERN Font *fontmn2; /* Taken from .0FN file name */
EXTERN
Font
*
panelBigFont
;
/* Found in PANEL.000 */
EXTERN
Font
*
panelSmallFont
;
/* Found in PANEL.000 */
EXTERN
Font
*
fontsFont
;
/* Found in FONTS.000 */
EXTERN
Font
*
bonusFont
;
/* Found in BONUS.000 */
#endif
src/main.cpp
View file @
5eb0197a
...
...
@@ -400,6 +400,8 @@ int loadMain (int argc, char *argv[]) {
// Load fonts
fontsFont
=
NULL
;
bonusFont
=
NULL
;
panelBigFont
=
NULL
;
panelSmallFont
=
NULL
;
font2
=
NULL
;
...
...
@@ -409,7 +411,8 @@ int loadMain (int argc, char *argv[]) {
try
{
fontsFont
=
new
Font
();
fontsFont
=
new
Font
(
false
);
bonusFont
=
new
Font
(
true
);
panelBigFont
=
new
Font
(
pixels
+
(
40
*
320
),
true
);
panelSmallFont
=
new
Font
(
pixels
+
(
48
*
320
),
false
);
font2
=
new
Font
(
F_FONT2_0FN
);
...
...
@@ -421,6 +424,7 @@ int loadMain (int argc, char *argv[]) {
}
catch
(
int
e
)
{
if
(
fontsFont
)
delete
fontsFont
;
if
(
bonusFont
)
delete
bonusFont
;
if
(
panelBigFont
)
delete
panelBigFont
;
if
(
panelSmallFont
)
delete
panelSmallFont
;
if
(
font2
)
delete
font2
;
...
...
@@ -479,7 +483,9 @@ void freeMain () {
int
scaleFactor
;
delete
net
;
delete
fontsFont
;
delete
bonusFont
;
delete
panelBigFont
;
delete
panelSmallFont
;
delete
font2
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment