Skip to content

Commit 790e666

Browse files
authored
Revamped the About window (#263)
1 parent d0b6656 commit 790e666

File tree

12 files changed

+182
-53
lines changed

12 files changed

+182
-53
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
- Removed some extra change notifications in Genres lists, which should avoid not necessary refreshes of the games/demos lists
1010
- Added a requester to show the errors occure when iGame is started and a library is missing
1111
- Now the iGame icon is set back to start by Workbench
12+
- Revamped the About window, adding a new logo and links
13+
- Changed the main image in the repository
1214

1315
### Fixed
1416
- The genres lists were not populated when the right sidebar was disabled (#260)

Makefile.docker

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ endif
109109
igame_OBJS = src/funcs_$(CPU).o src/iGameGUI_$(CPU).o \
110110
src/iGameMain_$(CPU).o src/strfuncs_$(CPU).o src/fsfuncs_$(CPU).o \
111111
src/slavesList_$(CPU).o src/genresList_$(CPU).o \
112-
src/chipsetList_$(CPU).o src/WinInfo_$(CPU).o src/WinProps_$(CPU).o
112+
src/chipsetList_$(CPU).o src/WinInfo_$(CPU).o src/WinProps_$(CPU).o \
113+
src/WinAbout_$(CPU).o
113114

114115
##########################################################################
115116
# Rule for building
@@ -141,7 +142,8 @@ src/funcs_$(CPU).o: src/funcs.c src/iGame_strings.h src/strfuncs.h \
141142
src/chipsetList.h
142143

143144
src/iGameGUI_$(CPU).o: src/iGameGUI.c src/iGameGUI.h src/iGame_strings.h \
144-
src/fsfuncs.h src/iGameExtern.h src/version.h src/WinInfo.h src/WinProps.h
145+
src/fsfuncs.h src/iGameExtern.h src/version.h src/WinInfo.h \
146+
src/WinProps.h src/WinAbout.h
145147

146148
src/iGameMain_$(CPU).o: src/iGameMain.c src/iGameExtern.h
147149

@@ -164,6 +166,9 @@ src/WinInfo_$(CPU).o: src/WinInfo.c src/WinInfo.h src/iGameExtern.h \
164166
src/WinProps_$(CPU).o: src/WinProps.c src/WinProps.h src/iGameExtern.h \
165167
src/iGameGUI.h src/iGame_strings.h src/funcs.h src/fsfuncs.h
166168

169+
src/WinAbout_$(CPU).o: src/WinAbout.c src/WinAbout.h src/iGameExtern.h \
170+
src/iGameGUI.h src/iGame_strings.h src/strfuncs.h
171+
167172
##########################################################################
168173
# generic rules
169174
##########################################################################

README.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
[![Translation status](https://translate.igame.rocks/widget/igame/igame-app/status-badge.png)](https://translate.igame.rocks/engage/igame/)
2+
[![Build Status](https://drone-gh.intercube.gr/api/badges/MrZammler/iGame/status.svg)](https://drone-gh.intercube.gr/MrZammler/iGame)
23
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/0c890051ba05476f8ea4f9e4ad846a7c)](https://www.codacy.com/gh/walkero-gr/iGame/dashboard?utm_source=github.com&utm_medium=referral&utm_content=walkero-gr/iGame&utm_campaign=Badge_Grade)
34

45
## Description
56

6-
iGame is a frontend to launching WHDLoad games for the Amiga. It is implemented as a MUI application.
7+
iGame is a frontend to launching WHDLoad games and demos for the Amiga. It is based on Magic User Interface and it works on AmigaOS 3.x Classic Amiga computers, AmigaOS 4 and MorphOS systems.
78

89
http://winterland.no-ip.org/igame/
910

@@ -15,13 +16,18 @@ The iGame_rel folder should contain builds that are done at some point in time,
1516

1617
## Installing
1718

18-
Just place the iGame folder anywhere you want on your drive. iGame also requires the following libraries to work:
19-
20-
* guigfx.mcc
21-
* TextEditor.mcc
22-
* render.library
23-
* guigfx.library
24-
* lowlevel.library (optional, for joystick navigation support)
19+
Just place the iGame folder anywhere you want on your drive. iGame also is looking for the following libraries. Some of them are required to have it working. If any of them is missing, an alert window will show up.
20+
21+
- Kickstart 2.04 or higher
22+
- Workbench 2.1 or higher
23+
- MUI 3.8 or higher
24+
- icon.library v37+ (v44+ Recommended)
25+
- guigfx.library (optional)
26+
- render.library (optional)
27+
- guigfx.mcc (optional)
28+
- Texteditor.mcc
29+
- NListviews.mcc
30+
- Urltext.mcc (optional)
2531

2632
Make sure your installation contains MUI and the above libraries. You can find the latest versions in Aminet.
2733

igame_screen.png

150 KB
Loading

logo.iff

4.11 KB
Binary file not shown.

required_files/extras/logo.png

3.05 KB
Loading

src/WinAbout.c

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/*
2+
iGameGUI.c
3+
GUI source for iGame
4+
5+
Copyright (c) 2019, Emmanuel Vasilakis and contributors
6+
7+
This file is part of iGame.
8+
9+
iGame is free software: you can redistribute it and/or modify
10+
it under the terms of the GNU General Public License as published by
11+
the Free Software Foundation, either version 3 of the License, or
12+
(at your option) any later version.
13+
14+
iGame is distributed in the hope that it will be useful,
15+
but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
GNU General Public License for more details.
18+
19+
You should have received a copy of the GNU General Public License
20+
along with iGame. If not, see <http://www.gnu.org/licenses/>.
21+
*/
22+
23+
/* MUI */
24+
#include <libraries/mui.h>
25+
#include <mui/Urltext_mcc.h>
26+
27+
/* Prototypes */
28+
#include <clib/alib_protos.h>
29+
#include <proto/muimaster.h>
30+
31+
#define iGame_NUMBERS
32+
#include "iGame_strings.h"
33+
34+
#include "iGameExtern.h"
35+
#include "strfuncs.h"
36+
#include "iGameGUI.h"
37+
#include "WinAbout.h"
38+
39+
extern igame_settings *current_settings;
40+
41+
APTR getAboutWindow(struct ObjApp *object)
42+
{
43+
object->GR_WI_About_Links = HSpace(0);
44+
if (current_settings->show_url_links)
45+
{
46+
object->GR_WI_About_Links = VGroup,
47+
Child, UrltextObject,
48+
MUIA_Font, MUIV_Font_Normal,
49+
MUIA_Urltext_Text, "Website",
50+
MUIA_Urltext_Url, "http://winterland.no-ip.org/igame/index.html",
51+
MUIA_Urltext_SetMax, FALSE,
52+
End,
53+
Child, UrltextObject,
54+
MUIA_Font, MUIV_Font_Normal,
55+
MUIA_Urltext_Text, "Translations",
56+
MUIA_Urltext_Url, "https://translate.igame.rocks",
57+
MUIA_Urltext_SetMax, FALSE,
58+
End,
59+
Child, UrltextObject,
60+
MUIA_Font, MUIV_Font_Normal,
61+
MUIA_Urltext_Text, "GitHub Repository",
62+
MUIA_Urltext_Url, "https://github.com/MrZammler/iGame",
63+
MUIA_Urltext_SetMax, FALSE,
64+
End,
65+
Child, UrltextObject,
66+
MUIA_Font, MUIV_Font_Normal,
67+
MUIA_Urltext_Text, "Report issues",
68+
MUIA_Urltext_Url, "https://github.com/MrZammler/iGame/issues",
69+
MUIA_Urltext_SetMax, FALSE,
70+
End,
71+
End;
72+
}
73+
74+
return WindowObject,
75+
MUIA_Window_Title, GetMBString(MSG_WI_About),
76+
MUIA_Window_ID, MAKE_ID('4', 'I', 'G', 'A'),
77+
MUIA_Window_SizeGadget, FALSE,
78+
WindowContents, VGroup,
79+
Child, MUI_NewObject(Dtpic_Classname,
80+
MUIA_Dtpic_Name, DEFAULT_LOGO_FILE,
81+
MUIA_Frame, MUIV_Frame_None,
82+
TAG_DONE),
83+
Child, VGroup,
84+
MUIA_Frame, MUIV_Frame_Virtual,
85+
MUIA_InnerTop, 10,
86+
MUIA_InnerLeft, 10,
87+
MUIA_InnerRight, 10,
88+
MUIA_InnerBottom, 10,
89+
Child, TextObject,
90+
MUIA_Text_Contents, object->STR_TX_About,
91+
MUIA_Text_SetMin, TRUE,
92+
End,
93+
Child, object->GR_WI_About_Links,
94+
End,
95+
Child, MUI_MakeObject(MUIO_HBar, 4),
96+
Child, object->BT_AboutOK = SimpleButton(GetMBString(MSG_BT_AboutOK)),
97+
End,
98+
End;
99+
}
100+
101+
void setAboutWindowMethods(struct ObjApp *object)
102+
{
103+
DoMethod(object->WI_About,
104+
MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
105+
object->WI_About, 3,
106+
MUIM_Set, MUIA_Window_Open, FALSE
107+
);
108+
109+
DoMethod(object->BT_AboutOK,
110+
MUIM_Notify, MUIA_Pressed, FALSE,
111+
object->WI_About, 3,
112+
MUIM_Set, MUIA_Window_Open, FALSE
113+
);
114+
115+
DoMethod(object->WI_About,
116+
MUIM_Window_SetCycleChain, object->BT_AboutOK,
117+
0
118+
);
119+
}

src/WinAbout.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*
2+
iGameGUI.h
3+
GUI header file for iGame
4+
5+
Copyright (c) 2018, Emmanuel Vasilakis
6+
7+
This file is part of iGame.
8+
9+
iGame is free software: you can redistribute it and/or modify
10+
it under the terms of the GNU General Public License as published by
11+
the Free Software Foundation, either version 3 of the License, or
12+
(at your option) any later version.
13+
14+
iGame is distributed in the hope that it will be useful,
15+
but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
GNU General Public License for more details.
18+
19+
You should have received a copy of the GNU General Public License
20+
along with iGame. If not, see <http://www.gnu.org/licenses/>.
21+
*/
22+
23+
#ifndef WIN_ABOUT_H
24+
#define WIN_ABOUT_H
25+
26+
APTR getAboutWindow(struct ObjApp *);
27+
void setAboutWindowMethods(struct ObjApp *);
28+
29+
#endif

src/WinInfo.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ APTR getInformationWindow(struct ObjApp *object)
248248
End,
249249
End,
250250
Child, object->GR_WI_Information_Links,
251-
Child, MUI_MakeObject(MUIO_HBar,4),
251+
Child, MUI_MakeObject(MUIO_HBar, 4),
252252
Child, HGroup, MUIA_Group_SameSize, TRUE,
253253
Child, object->BT_WI_Information_Save = MUI_MakeObject(MUIO_Button, GetMBString(MSG_BT_PropertiesOK)),
254254
Child, object->BT_WI_Information_Cancel = MUI_MakeObject(MUIO_Button, GetMBString(MSG_BT_PropertiesCancel)),

src/iGameExtern.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#define DEFAULT_REPOS_FILE "PROGDIR:repos.prefs"
3131
#define DEFAULT_GENRES_FILE "PROGDIR:genres"
3232
#define DEFAULT_SCREENSHOT_FILE "PROGDIR:igame.iff"
33+
#define DEFAULT_LOGO_FILE "PROGDIR:logo.iff"
3334
#define DEFAULT_SETTINGS_FILE "igame.prefs"
3435
#define DEFAULT_IGAMEDATA_FILE "igame.data"
3536
#define DEFAULT_LOCALHOST_URL "http://localhost"

0 commit comments

Comments
 (0)