Switch to DuckDuckGo Search
   January 13, 2019  
< | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | >

Toggle Join/Part | bottom
[00:04:13] *** Dwarden <Dwarden!Dwarden@static-84-42-238-19.net.upcbroadband.cz> has quit IRC (Ping timeout: 245 seconds)
[00:14:54] *** SaraDR <SaraDR!~SaraDT@unaffiliated/saradt> has left #gamedev ("Leaving")
[00:21:20] *** rindolf <rindolf!~rindolf@77.125.57.214> has quit IRC (Ping timeout: 258 seconds)
[00:26:09] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has quit IRC (Quit: krychu)
[00:26:50] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has joined #gamedev
[00:26:54] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has quit IRC (Client Quit)
[00:28:49] *** xrash <xrash!~xrash@191.8.113.169> has quit IRC (Ping timeout: 244 seconds)
[00:38:24] *** xrash <xrash!~xrash@191.8.113.169> has joined #gamedev
[00:41:27] *** babuloseo <babuloseo!~babuloseo@unaffiliated/babuloseo> has quit IRC (Remote host closed the connection)
[00:42:58] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[00:44:18] *** rocky1138 <rocky1138!~rocky1138@kwat.chat> has quit IRC (Quit: The Lounge - https://thelounge.github.io)
[00:46:50] *** rocky1138 <rocky1138!~rocky1138@kwat.chat> has joined #gamedev
[00:51:01] *** Beliar <Beliar!~Beliar@2a02:8108:9640:6c42:401a:3b5a:d87a:d1bc> has quit IRC (Quit: The only real mistake is the one from which we learn nothing)
[00:59:49] *** regreg <regreg!~regreg@85.121.54.224> has quit IRC (Ping timeout: 244 seconds)
[01:05:14] *** atomekk <atomekk!~atomekk@unaffiliated/atomekk> has quit IRC (Remote host closed the connection)
[01:05:58] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 250 seconds)
[01:15:04] *** cheakoirccloud <cheakoirccloud!uid293319@gateway/web/irccloud.com/x-hewgwnyqpcbismqb> has quit IRC (Quit: Connection closed for inactivity)
[01:20:22] *** S_Gautam <S_Gautam!uid286066@gateway/web/irccloud.com/x-sduwvdiefaeuoffc> has joined #gamedev
[01:27:14] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[01:37:34] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[01:40:02] *** knops <knops!~yannick@ip-62-143-84-11.hsi01.unitymediagroup.de> has quit IRC (Quit: Konversation terminated!)
[01:59:36] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 260 seconds)
[02:11:36] *** brainzap <brainzap!~brainzap@217.22.129.78> has quit IRC (Quit: My tummy says it's time to sleep Mr. Bubbles.)
[02:20:04] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 250 seconds)
[02:23:03] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has joined #gamedev
[02:27:47] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has quit IRC (Ping timeout: 240 seconds)
[02:48:13] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[02:53:53] *** Kingsqueee <Kingsqueee!~kingsquee@S01069050ca3c92d3.va.shawcable.net> has joined #gamedev
[03:20:12] *** solidfox <solidfox!~solidfox@unaffiliated/snake/x-2550465> has quit IRC (Quit: WeeChat 2.3)
[03:21:47] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 240 seconds)
[03:55:23] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[04:00:50] *** refs <refs!~refs@dslb-094-222-031-234.094.222.pools.vodafone-ip.de> has quit IRC (Quit: refs)
[04:12:16] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[04:20:28] *** LunarJetman <LunarJetman!LunarJetma@94.196.247.102.threembb.co.uk> has quit IRC (Ping timeout: 245 seconds)
[04:29:44] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 268 seconds)
[04:43:28] *** regreg <regreg!~regreg@85.121.54.224> has joined #gamedev
[04:45:47] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 240 seconds)
[04:49:19] *** RoadKillGrill <RoadKillGrill!~RoadKillG@cpe-24-166-114-198.neo.res.rr.com> has joined #gamedev
[04:50:19] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[04:53:00] *** bildramer <bildramer!~bildramer@p57AD65E9.dip0.t-ipconnect.de> has quit IRC (Ping timeout: 246 seconds)
[04:53:18] *** babuloseo <babuloseo!~babuloseo@unaffiliated/babuloseo> has joined #gamedev
[04:54:13] *** bildramer <bildramer!~bildramer@p2003004D8D0899004564E45F72477F45.dip0.t-ipconnect.de> has joined #gamedev
[05:06:15] *** pulse <pulse!~pulse@unaffiliated/pulse> has quit IRC (Quit: pulse)
[05:36:25] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[05:41:46] *** moongazer <moongazer!~moongazer@unaffiliated/moongazer> has joined #gamedev
[05:45:06] *** RoadKillGrill <RoadKillGrill!~RoadKillG@cpe-24-166-114-198.neo.res.rr.com> has quit IRC (Read error: Connection reset by peer)
[05:46:57] *** batman_nair <batman_nair!~batman_na@111.92.77.160> has joined #gamedev
[05:49:25] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 250 seconds)
[06:09:47] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 258 seconds)
[06:16:24] *** regreg <regreg!~regreg@85.121.54.224> has quit IRC (Ping timeout: 272 seconds)
[06:17:39] *** Kingsqueee <Kingsqueee!~kingsquee@S01069050ca3c92d3.va.shawcable.net> has quit IRC (Quit: しょうがない)
[06:30:33] *** babuloseo <babuloseo!~babuloseo@unaffiliated/babuloseo> has quit IRC (Remote host closed the connection)
[06:36:47] *** [Relic] <[Relic]!~Relic]@2602:306:33a3:6d30:89b5:7571:be7f:7527> has quit IRC (Quit: Leaving)
[06:47:05] *** Beliar <Beliar!~Beliar@2a02:8108:9640:6c42:b46b:93:8d5e:5d53> has joined #gamedev
[07:00:21] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[07:02:34] *** pavonia <pavonia!~user@unaffiliated/siracusa> has quit IRC (Quit: Bye!)
[07:19:44] *** R2robot <R2robot!~R2robot@unaffiliated/r2ro> has quit IRC (Ping timeout: 272 seconds)
[07:34:12] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 268 seconds)
[07:45:35] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[07:47:54] *** Beliar <Beliar!~Beliar@2a02:8108:9640:6c42:b46b:93:8d5e:5d53> has quit IRC (Quit: The only real mistake is the one from which we learn nothing)
[07:51:08] *** Tylak <Tylak!~Tylak@074-135-002-092.res.spectrum.com> has quit IRC (Quit: Nettalk6 - www.ntalk.de)
[07:59:47] *** S_Gautam <S_Gautam!uid286066@gateway/web/irccloud.com/x-sduwvdiefaeuoffc> has quit IRC (Quit: Connection closed for inactivity)
[08:18:11] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 260 seconds)
[08:18:59] *** S_Gautam <S_Gautam!uid286066@gateway/web/irccloud.com/x-azuuwtxktarrqezf> has joined #gamedev
[08:23:07] *** xrash <xrash!~xrash@191.8.113.169> has quit IRC (Remote host closed the connection)
[08:24:21] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[08:57:25] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 246 seconds)
[09:03:00] *** Beliar <Beliar!~Beliar@2a02:8108:9640:6c42:b46b:93:8d5e:5d53> has joined #gamedev
[09:15:33] *** rindolf <rindolf!~rindolf@77.125.57.214> has joined #gamedev
[09:42:27] *** atomekk <atomekk!~atomekk@unaffiliated/atomekk> has joined #gamedev
[09:47:10] *** HZun <HZun!~HZun@0x3ec721e2.osd.customer.dk.telia.net> has joined #gamedev
[09:48:22] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[10:03:02] *** rewind__ <rewind__!~rewind@girafe-sage.et.ours-courageux.info> has joined #gamedev
[10:06:54] *** rewind_ <rewind_!~rewind@2a01:e35:87d1:600:385d:ae2a:1eef:1ca> has quit IRC (Ping timeout: 252 seconds)
[10:13:56] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[10:21:43] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 245 seconds)
[10:28:08] *** brainzap <brainzap!~brainzap@217.22.129.78> has joined #gamedev
[10:32:25] *** o][o <o][o!~sjw@pool-98-113-87-89.nycmny.fios.verizon.net> has quit IRC (Ping timeout: 268 seconds)
[10:47:16] *** HZun <HZun!~HZun@0x3ec721e2.osd.customer.dk.telia.net> has quit IRC (Quit: Leaving)
[10:53:18] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 268 seconds)
[11:07:27] *** Serpent7776 <Serpent7776!~Serpent77@90-156-31-193.internetia.net.pl> has joined #gamedev
[11:10:57] <moongazer> Hey everyone
[11:12:26] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[11:15:01] *** rindolf <rindolf!~rindolf@77.125.57.214> has quit IRC (Quit: http://www.shlomifish.org/ ; Some people grow older and wiser. Not I. I grow older and more foolish.)
[11:20:01] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has joined #gamedev
[11:23:39] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has joined #gamedev
[11:35:01] *** iLoVue <iLoVue!~DinoJS@41.107.32.144> has joined #gamedev
[11:45:34] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 250 seconds)
[11:49:13] *** Tiyanki <Tiyanki!~Nick@static-213-100-165-116.cust.tele2.lv> has quit IRC (Remote host closed the connection)
[11:56:50] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[12:03:13] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 244 seconds)
[12:12:48] *** immibis <immibis!~immibis@125-238-72-168-fibre.sparkbb.co.nz> has quit IRC (Ping timeout: 258 seconds)
[12:25:35] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has joined #gamedev
[12:30:53] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has quit IRC (Ping timeout: 245 seconds)
[12:36:47] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[12:41:29] *** xen74 <xen74!~xen74@2001:44b8:2e3:9b00:39b0:b0fa:e5fc:5ea4> has quit IRC (Read error: Connection reset by peer)
[12:48:48] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[12:54:21] <Donitzo> good news everyone
[12:58:11] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 260 seconds)
[13:19:40] <brainzap> good day Donitzo
[13:36:04] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 250 seconds)
[13:44:57] *** knops <knops!~yannick@ip-62-143-84-11.hsi01.unitymediagroup.de> has joined #gamedev
[14:03:21] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[14:13:55] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[14:15:43] *** pulse <pulse!~pulse@unaffiliated/pulse> has joined #gamedev
[14:20:00] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has joined #gamedev
[14:24:19] *** HZun <HZun!~HZun@0x3ec721e2.osd.customer.dk.telia.net> has joined #gamedev
[14:26:55] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has joined #gamedev
[14:30:58] *** Groogy <Groogy!~Groogy@90-227-38-205-no61.tbcn.telia.com> has joined #gamedev
[14:31:34] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has quit IRC (Ping timeout: 258 seconds)
[14:33:23] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[14:36:56] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 258 seconds)
[14:43:57] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has joined #gamedev
[14:44:00] *** refs <refs!~refs@dslb-178-012-114-047.178.012.pools.vodafone-ip.de> has joined #gamedev
[14:53:55] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[14:59:25] <mr_lou> Outrun-ish game made by students for a set-top box. Go thumbs-up this video! https://www.youtube.com/watch?v=injS4j12-mo
[14:59:41] <mr_lou> ...if anyone here remembers what Outrun was...
[15:00:49] *** solidfox <solidfox!~solidfox@unaffiliated/snake/x-2550465> has joined #gamedev
[15:01:16] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 264 seconds)
[15:10:19] <solidfox> so this is strange to me. wonder if my lack of sleep is throwing off my basic spatial reasoning abilities...
[15:10:34] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[15:10:34] <solidfox> in 3d you can rotate x y or z and dont need w.
[15:10:49] <solidfox> but in 2d, with x and y only, you rotate on z
[15:11:09] <solidfox> and you sorta cant rotate on x or y
[15:12:34] <solidfox> why doesnt 3d use w, but 2d uses z...
[15:12:44] <solidfox> is rotating a higher dimension function
[15:13:38] *** brainzap <brainzap!~brainzap@217.22.129.78> has quit IRC (Read error: No route to host)
[15:16:00] *** moongazer <moongazer!~moongazer@unaffiliated/moongazer> has quit IRC (Ping timeout: 246 seconds)
[15:23:04] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has joined #gamedev
[15:27:22] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[15:36:43] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[15:37:25] <solidfox> i guess in a way 2d games are actually like 3d games
[15:38:02] <solidfox> but with a fixed camera, and many flat objects with no depth
[15:38:09] <solidfox> but they have a position in z
[15:38:24] * solidfox adds z to ECS transform component
[15:42:21] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has joined #gamedev
[15:58:29] <Donitzo> ofc
[15:58:36] <Donitzo> you always need depth in 2d games
[15:58:41] <Donitzo> well, "almost" always
[16:00:53] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 258 seconds)
[16:02:37] *** LunarJetman <LunarJetman!LunarJetma@94.196.247.102.threembb.co.uk> has joined #gamedev
[16:04:05] *** HZun <HZun!~HZun@0x3ec721e2.osd.customer.dk.telia.net> has quit IRC (Quit: Leaving)
[16:04:54] <Donitzo> so, the new resident evil game looks pretty great
[16:05:08] <Donitzo> will be getting it, since RE7 was such a pleasent surprise
[16:05:26] *** moongazer <moongazer!~moongazer@unaffiliated/moongazer> has joined #gamedev
[16:11:18] <solidfox> yes just like GTA
[16:11:35] <solidfox> GTAV was the pinnacle of violent crime simulation
[16:11:43] <solidfox> and it never crashed
[16:12:07] <Donitzo> GTA was 2.5D though
[16:12:19] <pulse> it was 2D with 3D tricks
[16:16:35] <solidfox> heh well i dont remember san andreas ever crashing, but i was like 12 when i played that (prolly shouldnt have been but i turned out fine in the end), and GTAV crashes all the time
[16:16:52] <solidfox> same with vice city. never crashed
[16:17:04] <pulse> erm
[16:17:10] <pulse> i played quite a bit of gta v and it never crashed for me
[16:17:11] <pulse> *shrug*
[16:17:16] <solidfox> pulse: what console
[16:17:19] <pulse> PC
[16:17:25] <solidfox> pulse: im on ps3
[16:17:36] <pulse> i think i encountered a few odd glitches but it never outright crashed
[16:17:39] <pulse> solidfox, ah. weird
[16:17:51] <pulse> one would assume it would run better on the actual target platform, heh
[16:17:52] <solidfox> yeah sometimes reinstalling helps, but lately, no avail
[16:36:23] *** pavonia <pavonia!~user@unaffiliated/siracusa> has joined #gamedev
[16:41:46] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[16:45:31] *** R2robot <R2robot!~R2robot@unaffiliated/r2ro> has joined #gamedev
[16:45:34] *** knops <knops!~yannick@ip-62-143-84-11.hsi01.unitymediagroup.de> has quit IRC (Quit: Konversation terminated!)
[16:46:38] *** Tylak <Tylak!~Tylak@074-135-002-092.res.spectrum.com> has joined #gamedev
[16:48:14] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has joined #gamedev
[16:51:24] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[16:54:11] *** Tiyanki <Tiyanki!~Nick@static-213-100-165-116.cust.tele2.lv> has joined #gamedev
[16:56:19] *** Groogy <Groogy!~Groogy@90-227-38-205-no61.tbcn.telia.com> has quit IRC (Quit: WeeChat 2.3)
[16:56:56] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[16:59:47] *** [Relic] <[Relic]!~Relic]@2602:306:33a3:6d30:cdab:4bb7:9427:9551> has joined #gamedev
[17:00:26] *** babuloseo <babuloseo!~babuloseo@unaffiliated/babuloseo> has joined #gamedev
[17:05:45] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 252 seconds)
[17:05:51] *** mobile_c <mobile_c!~mobile_c@2405:7f00:8a02:df00:b5a4:754b:dc79:75f> has quit IRC (Ping timeout: 250 seconds)
[17:11:21] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has quit IRC (Quit: krychu)
[17:12:28] *** babuloseo <babuloseo!~babuloseo@unaffiliated/babuloseo> has quit IRC (Quit: Leaving)
[17:12:37] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has joined #gamedev
[17:19:47] *** regreg <regreg!~regreg@85.121.54.224> has joined #gamedev
[17:24:35] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 244 seconds)
[17:28:22] <dostoyevsky> solidfox: GTA V works well for me on ps4, if that is any consolation to you :)
[17:30:01] <dostoyevsky> solidfox: maybe your playstyle is just too psychotic and hence the crashes
[17:31:02] <solidfox> dostoyevsky: recently i drive a few miles away from anyones house and it freezes
[17:31:12] <solidfox> i think its related to the map
[17:34:52] <pulse> maybe the dvd is kaput
[17:35:49] <solidfox> could be i bought it at gamestop for like $3
[17:35:58] <solidfox> oh wait no gtav was the one i bought online :<
[17:36:03] <solidfox> still it was used
[17:47:01] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has quit IRC (Quit: krychu)
[17:48:30] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has joined #gamedev
[17:50:25] *** babuloseo <babuloseo!~babuloseo@unaffiliated/babuloseo> has joined #gamedev
[17:53:01] <solidfox> rewriting code stresses me out
[18:01:03] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has quit IRC (Quit: krychu)
[18:02:02] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has joined #gamedev
[18:06:18] <babuloseo> solidfox: :o
[18:06:42] <solidfox> alright i give up on ECS
[18:06:53] <solidfox> the way i feel is just too much lol
[18:07:13] <solidfox> next project, i will do one from the start
[18:07:15] <solidfox> that will be better
[18:07:54] *** gareppa <gareppa!~gareppa@unaffiliated/gareppa> has joined #gamedev
[18:08:01] <babuloseo> yeah
[18:08:07] <babuloseo> this is why I work with other people
[18:08:12] <babuloseo> on projects instead of myself
[18:08:27] <babuloseo> more motivation to keep things in scope and get it done
[18:12:11] *** Groogy <Groogy!~Groogy@90-227-38-205-no61.tbcn.telia.com> has joined #gamedev
[18:13:06] *** krychu <krychu!~krychu@2a02:1205:505c:2ab0:71ee:ce21:724d:7a0d> has quit IRC (Quit: krychu)
[18:13:09] *** o][o <o][o!~sjw@pool-98-113-87-89.nycmny.fios.verizon.net> has joined #gamedev
[18:15:27] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[18:17:34] <solidfox> i kinda hate how there are two files for every c++ module. a .h with declarations, and a .cpp with code
[18:17:52] <solidfox> although i suppose there are real modules now
[18:18:18] *** brainzap <brainzap!~brainzap@217.22.129.78> has joined #gamedev
[18:18:43] *** Groogy <Groogy!~Groogy@90-227-38-205-no61.tbcn.telia.com> has quit IRC (Quit: WeeChat 2.3)
[18:19:03] *** Groogy <Groogy!~Groogy@90-227-38-205-no61.tbcn.telia.com> has joined #gamedev
[18:27:21] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has joined #gamedev
[18:31:43] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[18:32:07] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has quit IRC (Ping timeout: 246 seconds)
[18:36:42] *** gareppa <gareppa!~gareppa@unaffiliated/gareppa> has quit IRC (Quit: Leaving)
[18:43:38] *** babuloseo <babuloseo!~babuloseo@unaffiliated/babuloseo> has quit IRC (Remote host closed the connection)
[18:48:48] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 245 seconds)
[18:51:20] *** SuriAttacker <SuriAttacker!~suriattac@2607:ff48:aa81:36f8::86cd> has joined #gamedev
[19:01:48] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[19:09:33] <o][o> solidfox: I have plenty of .h and not many .cpp
[19:10:50] *** RoadKillGrill <RoadKillGrill!~RoadKillG@cpe-24-166-114-198.neo.res.rr.com> has joined #gamedev
[19:11:11] * pulse gives o][o some .cpps
[19:13:59] <solidfox> o][o: not a lot of functions for your structs and classes?
[19:14:41] <pulse> probably way too much template code
[19:14:42] <solidfox> o][o: i make an object out of cpp files, and then combine all the objects into the final exe
[19:14:43] <pulse> :p
[19:21:20] *** fidasx <fidasx!~fidasx@ppp-94-66-221-145.home.otenet.gr> has joined #gamedev
[19:26:58] <o][o> pulse: yup! templates, structs and short small host classes
[19:27:01] <o][o> like LEVEL
[19:27:27] <o][o> #include "Level.h"
[19:34:21] *** fidasx <fidasx!~fidasx@ppp-94-66-221-145.home.otenet.gr> has quit IRC (Remote host closed the connection)
[19:34:51] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 260 seconds)
[19:39:28] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[19:42:20] <LunarJetman> .hpp not .h
[19:42:41] *** regreg <regreg!~regreg@85.121.54.224> has quit IRC (Remote host closed the connection)
[19:42:50] <solidfox> LunarJetman: .h is right
[19:42:59] <LunarJetman> .h is for C not C++
[19:44:53] *** knops <knops!~yannick@ip-62-143-84-11.hsi01.unitymediagroup.de> has joined #gamedev
[19:46:05] <solidfox> ok
[19:54:35] *** Kingsqueee <Kingsqueee!~kingsquee@S01069050ca3c92d3.va.shawcable.net> has joined #gamedev
[19:58:36] *** Glasstree <Glasstree!~Glasstree@82-71-48-195.dsl.in-addr.zen.co.uk> has joined #gamedev
[20:01:06] <pulse> lol
[20:01:11] <pulse> .h/.cpp for life
[20:08:47] <o][o> .h forever
[20:08:53] <o][o> .hpp is for dumbfucks :)
[20:09:03] <pulse> eh
[20:09:07] <pulse> no need to insult people
[20:09:12] <o][o> :(
[20:09:34] * o][o apologizes
[20:10:03] * o][o is back to his slavepen
[20:11:34] <brainzap> time to get codeyyy
[20:25:20] <LunarJetman> https://stackoverflow.com/questions/152555/h-or-hpp-for-your-class-definitions
[20:25:24] <LunarJetman> so gtfo
[20:26:22] <LunarJetman> "File extensions communicate the "type" of the file, both to humans and to computer programs. The '.h' extension is used for C header files, and therefore communicates the wrong thing about C++ header files. Using no extension communicates nothing and forces inspection of file contents to determine type. Using '.hpp' unambiguously identifies it as C++ header file, and works well in actual practice."
[20:28:24] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has joined #gamedev
[20:32:56] *** jlebrech <jlebrech!~jlebrech@89.165.136.2> has quit IRC (Ping timeout: 250 seconds)
[20:34:56] *** freestyledork <freestyledork!~freestyle@unaffiliated/freestyledork> has quit IRC (Quit: freestyledork)
[20:39:25] *** Buoy172 <Buoy172!~Buoy172@95.86.6.187> has joined #gamedev
[20:42:42] <pulse> LunarJetman, https://i.imgur.com/zPs224b.png
[20:42:46] <pulse> this is what i think of that argument
[20:43:56] <pulse> also wtf is hpp anyway
[20:44:02] <pulse> header-plus-plus ? :D
[20:55:08] <pulse> it's remarkable how uptight programmers get about trivial and/or petty shit
[20:55:34] <solidfox> ah man i made a singleton for both my context and states and it got into an infinite loop lol
[20:55:42] <solidfox> doesnt crash though
[20:55:45] <solidfox> strange
[20:56:03] <pulse> singletons are immoral
[20:56:06] <pulse> :p
[20:56:27] <solidfox> pulse: o][o told me not to abuse extern and to use a singleton isntead
[20:56:32] <solidfox> but its making my head spin :/
[20:56:56] <pulse> erm
[20:57:00] <pulse> are you doing C or C++ m9
[20:57:06] <solidfox> c++
[20:57:24] * pulse scratches head
[20:57:34] <solidfox> ???
[20:57:40] <pulse> are you doing global variables?
[20:57:42] <solidfox> singleton is an OOP thing right
[20:57:52] <solidfox> pulse: yes, and i was advised not to
[20:57:55] <pulse> yeah but it kinda goes against every principle of OOP
[20:57:55] <pulse> lol
[20:58:02] * pulse shrugs
[20:58:05] <solidfox> so whats the confusion
[20:58:12] <pulse> i never used extern in C++ i think
[20:58:21] <pulse> no use for it
[20:58:29] <solidfox> well yes thats why i was told it was wrong and should do something else
[20:58:33] <solidfox> namely singleton
[20:58:42] <solidfox> pulse: what else could i do?
[20:58:49] <pulse> a class and then an instance of that class
[20:59:02] <pulse> even if it's a single instance
[20:59:03] <pulse> doesn't matter
[20:59:14] <pulse> i mean that's MY way of doing things
[20:59:18] <pulse> it's not written in stone
[20:59:42] <solidfox> yes well this state pattern is a bit complicated.. so that wont suffice
[20:59:57] *** cheakoirccloud <cheakoirccloud!uid293319@gateway/web/irccloud.com/x-ybreqwnzwscvcwci> has joined #gamedev
[21:00:03] <pulse> https://stackoverflow.com/a/138012
[21:01:19] <solidfox> hm maybe i should just do a FSM instead of state pattern
[21:01:37] <solidfox> damn gotta rewrite everything again
[21:02:17] <pulse> step 1: devise the simplest possible design that works
[21:02:19] <pulse> step 2: implement it
[21:02:25] <pulse> usually works for me
[21:02:41] <pulse> pen and paper helps
[21:02:46] <pulse> and boxes with arrows
[21:03:02] <solidfox> yes. i did plan this on pen and paper which is why the game logic itself is done
[21:03:12] <solidfox> the only thing i didnt know how to do was to switch screens
[21:03:34] <solidfox> start screen, difficulty screen, actual gameplay, the game over screen, the pause screen, the score entry screen
[21:04:30] *** mr_lou <mr_lou!~misthalos@085083077157.dynamic.telenor.dk> has quit IRC (Quit: Leaving)
[21:04:44] <pulse> easy
[21:04:49] <solidfox> so im thinking the easiest way is just a god class that's call FSM. it contains all functions for Draw() and HandleInput()
[21:04:54] *** mr_lou <mr_lou!~misthalos@085083077157.dynamic.telenor.dk> has joined #gamedev
[21:05:02] <pulse> no
[21:05:22] <solidfox> StartScreenDraw(). it runs if State = StateEnum::start_screen
[21:05:24] <pulse> make a class called State
[21:05:26] <pulse> or Screen
[21:05:29] <pulse> or something along those lines
[21:05:36] <pulse> then inherit from it for each screen you have
[21:05:45] <pulse> use polymorphism, it's why you have it
[21:05:48] <solidfox> yes i have that so far
[21:06:09] <pulse> no ifs required
[21:06:12] <pulse> just state.draw()
[21:06:14] <pulse> done
[21:06:17] <solidfox> thats what i have
[21:06:33] <pulse> then you're on the right track
[21:06:46] <solidfox> Context.Action() calls context.current_state.Draw() and HandleInput()
[21:07:18] <solidfox> pulse: where do the instances of each state go?
[21:07:28] <LunarJetman> solidfox: singleton<foo>::instance()
[21:08:51] <solidfox> LunarJetman: this singleton stuff is hard to understand so im not gonna do it anymore
[21:08:58] <LunarJetman> pfft
[21:09:11] <LunarJetman> so what are you going to do instead?
[21:09:24] <pulse> solidfox, just make and delete them on the fly
[21:09:29] <pulse> it's not brain surgery
[21:09:48] <solidfox> pulse: ok but where will it be stored?
[21:09:58] <pulse> :D
[21:10:04] <pulse> wherever you think is appropriate
[21:10:06] <solidfox> heap stack or what?
[21:10:11] <solidfox> i dont wanna have memory leaks..
[21:10:14] <pulse> i usually have some kind of a Scene class
[21:10:18] <pulse> where i keep a state instance
[21:10:31] <LunarJetman> solidfox: I talk about singletons here: http://i42.co.uk/stuff/spaghetti.htm
[21:10:33] <pulse> when i need to switch states, i delete the current instance (if required), then make another
[21:10:50] <pulse> i mean you could make the state global for all the computer cares
[21:10:58] <solidfox> ok but if you have a state field, and your inherited classes are different sizes, there wont be enough room for your states
[21:11:06] <pulse> it's just neater if it's somewhat packed in a proper environment
[21:11:14] <pulse> "state field"?
[21:11:21] <pulse> different sizes?
[21:11:27] <solidfox> State Scene::State;
[21:11:28] <LunarJetman> solidfox: that page says what you should do instead of singleton
[21:11:31] * pulse raises eyebrows
[21:11:43] <solidfox> StartScreenState : public State { more fields than State in here, bigger size }
[21:12:48] <LunarJetman> "State" sounds like a terrible name for a class unless it is part of a FSM
[21:13:05] <solidfox> LunarJetman: https://en.wikipedia.org/wiki/State_pattern
[21:13:24] <pulse> GameState is kinda nice
[21:13:37] <pulse> i mean most names are pretty bad tbh
[21:13:42] <solidfox> the name is kinda irrevelevant right now
[21:15:01] <LunarJetman> the state pattern is occasionally useful but I suspect you are misusing it
[21:16:34] <solidfox> talking to you guys is frustrating
[21:16:56] <solidfox> how do you figure im misusing it?
[21:17:16] <LunarJetman> what made you think you needed it?
[21:17:21] <solidfox> i explained exactly what im doing.. so "suspect" is an odd word choice
[21:18:06] <solidfox> LunarJetman: all my states each have draw() and HandleInput()
[21:18:14] <solidfox> LunarJetman: they all do this differently
[21:18:34] <solidfox> start screen state draws a menu, and lets you press up down and enter to navigate a menu
[21:19:00] <solidfox> difficulty is similar but with different menu and acting on the game object, instead of the records
[21:19:09] <solidfox> (records = game scores)
[21:19:54] <solidfox> the game screen state interacts with the game in handle input, you can press up to rotate, down left right to change position. the score is drawn.
[21:20:17] <solidfox> LunarJetman: because they all do Draw and HandleInput differently, that's why.
[21:21:24] <solidfox> LunarJetman: what else?
[21:27:20] *** immibis <immibis!~immibis@125-238-72-168-fibre.sparkbb.co.nz> has joined #gamedev
[21:29:23] *** Tobbi <Tobbi!~Tobbi@supertux/tobbi> has joined #gamedev
[21:30:39] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[21:34:32] <solidfox> pulse: if i create a new instance of the state with new, then assign it to context.state (which is a pointer to state) i think that will work
[21:34:56] <solidfox> wait no there's a memory leak there
[21:35:33] <solidfox> because i wont be able to delete the current state inside its handle_input function
[21:35:42] <solidfox> or i will get a deleted function error
[21:35:47] <pulse> i think MAYBE just maybe you need to work on some easier projects first :P
[21:36:04] <solidfox> easier than tetris?
[21:36:09] <pulse> you need to delete the previous state
[21:36:12] <pulse> well, tetris is pretty easy
[21:36:16] <pulse> you doing tetris?
[21:36:18] <pulse> nice
[21:36:18] <solidfox> yes
[21:36:28] <pulse> that's a good game to make
[21:36:40] <solidfox> yes its done, i just gotta convert it from curses to sdl
[21:36:55] <solidfox> but sdl allocates resources, which is basically my problem
[21:37:54] <solidfox> well maybe i could make a copy and call it context.previous_state;
[21:38:13] <solidfox> delete it, inside the next state's constructor if its not nullptr
[21:39:41] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has quit IRC (Ping timeout: 260 seconds)
[21:41:28] <LunarJetman> it is quite legal to delete an object from within a member function
[21:41:39] <LunarJetman> delete this;
[21:43:22] <solidfox> LunarJetman: i get an error. and its a pointer.
[21:43:41] <solidfox> its not delete this
[21:43:52] <solidfox> its context.state = &game_screen_state;
[21:44:04] <LunarJetman> delete this was an example
[21:44:25] <LunarJetman> the point is you can delete an object whilst executing one of those object's member functions
[21:44:48] <solidfox> ok.
[21:45:12] <solidfox> i dont remmeber what i was doing when i got the error, it might have been a callback instead of object function
[21:45:19] <LunarJetman> you just cannot access any object member variables after it has been deleted (or call any virtual member functions)
[21:45:21] <solidfox> (that was version 0)
[21:46:49] <solidfox> no it wasnt a callback
[21:47:09] <solidfox> i'll try to just delete it without the extra "previous_state" pointer, and if i get the error again, i'll ask you about it
[21:48:33] *** brainzap <brainzap!~brainzap@217.22.129.78> has quit IRC (Quit: My tummy says it's time to sleep Mr. Bubbles.)
[21:48:46] *** immibis <immibis!~immibis@125-238-72-168-fibre.sparkbb.co.nz> has quit IRC (Ping timeout: 250 seconds)
[21:53:32] *** moongazer <moongazer!~moongazer@unaffiliated/moongazer> has quit IRC (Ping timeout: 250 seconds)
[21:53:47] *** grim002 <grim002!~grim001@ip70-173-209-228.lv.lv.cox.net> has quit IRC (Read error: Connection reset by peer)
[21:55:33] <solidfox> now im getting a different error
[21:55:35] <solidfox> src/state/start_screen_state.cpp:89:28: warning: deleting object of abstract class type ‘State’ which has non-virtual destructor will cause undefined behavior [-Wdelete-non-virtual-dtor]
[21:55:36] <solidfox> delete context.state;
[21:55:45] *** batman_nair <batman_nair!~batman_na@111.92.77.160> has quit IRC (Remote host closed the connection)
[21:56:02] <solidfox> not even my prev_state pointer will fix that sigh
[21:57:02] <solidfox> could i cast here?
[21:59:11] <LunarJetman> no
[22:00:04] <LunarJetman> it is a bug; you are deleting an abstract class type which probably means you are deleting in base class or some such
[22:00:24] <LunarJetman> oh wait
[22:00:28] <LunarJetman> scratch that
[22:00:35] <LunarJetman> you just need to make your base class dtor virtual
[22:04:27] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 240 seconds)
[22:05:47] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[22:05:57] <o][o> solidfox:
[22:06:10] *** Donitzo <Donitzo!~Donitzo@85-156-203-108.elisa-laajakaista.fi> has quit IRC (Read error: Connection reset by peer)
[22:06:12] <o][o> solidfox: https://github.com/thinlizzy/die-tk/blob/master/die-tk/util/singleton.h
[22:06:51] <solidfox> obj/start_screen_state.o: In function `StartScreenState::StartScreenState(Context&)':
[22:06:53] <solidfox> /home/eric/Projects/tetris-clone2/src/state/start_screen_state.cpp:15: undefined reference to `State::~State()'
[22:08:30] *** Tylak <Tylak!~Tylak@074-135-002-092.res.spectrum.com> has quit IRC (Ping timeout: 258 seconds)
[22:09:13] <solidfox> o][o: nice it has a good license too
[22:09:36] <solidfox> never heard of the artistic license
[22:10:03] <o][o> it is basically: "feel free to use it, but don't be a dick to the original author"
[22:10:34] <o][o> that template implements a singleton wrapper that can be accessed (and lazy loaded) with instance()
[22:10:48] <o][o> this solves a lot of static initialization fiasco problems in a non intrusive manner
[22:11:20] <o][o> remember that externs and statics are the same shit. both have undefined initialization order
[22:11:53] <o][o> (among translation units)
[22:12:41] <solidfox> LunarJetman: i dont think that works
[22:12:46] <solidfox> LunarJetman: but the cast is working
[22:12:54] <solidfox> gonna see if i can finish it this way
[22:14:21] <solidfox> oh wait wonder if i could delete this like you said
[22:14:27] <solidfox> its a pointer to the current state as well
[22:14:36] <solidfox> i was using context.state
[22:17:08] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has quit IRC (Ping timeout: 245 seconds)
[22:18:18] <solidfox> sigh nope
[22:18:24] <solidfox> that doesnt work either
[22:19:17] <o][o> brb in 3h
[22:19:24] <o][o> then I can help you with your code, if you want
[22:21:02] <solidfox> o][o: having 3 people telling me different things is hard. dont worry about it
[22:21:27] *** david2_ <david2_!~davidbach@212-186-25-215.cable.dynamic.surfer.at> has joined #gamedev
[22:22:24] *** rindolf <rindolf!~rindolf@77.125.57.214> has joined #gamedev
[22:24:06] <rindolf> hi all
[22:24:18] <pulse> ahoy-hoy
[22:30:07] *** Tylak <Tylak!~Tylak@074-135-002-092.res.spectrum.com> has joined #gamedev
[22:30:10] <LunarJetman> solidfox: cast is not the right thing to do; make the base class dtor virtual
[22:30:41] <solidfox> LunarJetman: i did that and im getting undefined references
[22:30:52] <LunarJetman> then you have another bug
[22:30:57] <LunarJetman> did you define the dtor?
[22:31:00] <solidfox> its not a bug if it doesnt build
[22:31:32] <LunarJetman> by bug I mean mistake
[22:31:37] <solidfox> LunarJetman: virtual ~State() = 0;
[22:31:53] <LunarJetman> don't make it pure
[22:32:06] <LunarJetman> replace "= 0;" with "{}"
[22:32:45] <solidfox> ok that worked
[22:33:01] <solidfox> so there is virtual , virtual with {} and virtual with 0
[22:33:04] <solidfox> ??? lol
[22:33:12] <myke> yeah that's gross
[22:33:18] <myke> 0 is NULL?
[22:33:30] <solidfox> myke: it means its a pure virtual function
[22:33:31] <LunarJetman> well you can define the dtor in the .cpp if you don't like {}
[22:33:46] <myke> {} is just an anonymous null implementation?
[22:33:50] <myke> i never learned C++ properly
[22:33:58] <LunarJetman> it is a function definition
[22:34:08] <LunarJetman> special function (dtor) in this case
[22:34:22] <myke> so setting it to null means it's pure virtual?
[22:34:23] <solidfox> myke: yeah thats just an empty code block {}
[22:34:42] <solidfox> myke: no setting it to 0 means its pure virtual
[22:34:52] <solidfox> although i suppose the value of NULL is 0
[22:35:00] <LunarJetman> don't use that
[22:35:07] <solidfox> i think it doesnt have to be, but im not a c wizard
[22:35:19] <solidfox> LunarJetman: yeah
[22:36:10] <solidfox> LunarJetman: thanks for helping me
[22:36:17] <solidfox> now i can finally start adding sdl code
[22:36:25] <LunarJetman> np
[22:44:33] *** ShadowIce <ShadowIce!~pyoro@unaffiliated/shadowice-x841044> has joined #gamedev
[22:57:00] *** Serpent7776 <Serpent7776!~Serpent77@90-156-31-193.internetia.net.pl> has quit IRC (Quit: leaving)
[23:02:07] *** ShadowIce <ShadowIce!~pyoro@unaffiliated/shadowice-x841044> has quit IRC (Quit: Leaving)
[23:13:36] *** iLoVue <iLoVue!~DinoJS@41.107.32.144> has quit IRC (Quit: Leaving)
[23:27:47] *** terminx <terminx!~terminx@209.58.139.15> has quit IRC (Ping timeout: 240 seconds)
[23:35:29] *** alystar <alystar!~alystar@2601:148:4200:36c7:d412:5414:67f3:2594> has joined #gamedev
[23:36:28] *** Donitzo <Donitzo!~Donitzo@85-156-203-108.elisa-laajakaista.fi> has joined #gamedev
[23:37:00] *** knops <knops!~yannick@ip-62-143-84-11.hsi01.unitymediagroup.de> has quit IRC (Quit: Konversation terminated!)
[23:51:30] *** Beliar <Beliar!~Beliar@2a02:8108:9640:6c42:b46b:93:8d5e:5d53> has quit IRC (Quit: The only real mistake is the one from which we learn nothing)
top

   January 13, 2019  
< | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | >