imustafin / brie_doom Goto Github PK
View Code? Open in Web Editor NEWDOOM source port in Eiffel with SDL2
Home Page: https://briedoom.imustafin.tatar
License: GNU General Public License v2.0
DOOM source port in Eiffel with SDL2
Home Page: https://briedoom.imustafin.tatar
License: GNU General Public License v2.0
When a feature has the c_doom
note, it means that this function is a part of that original function. This will allow us to split long functions, rename functions while still having proper stats
This is a good first issue to work on in this project. Additionally, this issue can be an introduction of how DOOM was originally programmed
For this issue we need to translate missing/stubbed functions from C to Eiffel.
To translate the function, first check how it is implemented in https://github.com/id-Software/DOOM/ and optionally compare it to the implementation of https://github.com/chocolate-doom/chocolate-doom/.
Please only translate the function if it is used on E1M1 and maybe on E1M2 of the original Doom 1.9 WAD.
Additionally, make sure that the function is actually called when running the game. We don't want to have code which is not called yet from {I_MAIN}.main
.
Feel free to ask any questions in this issue
Using version 3c33bb7
Running the attached demo produces after tick 552
brie_doom: system execution failed.
Following is the set of recorded exceptions:
-------------------------------------------------------------------------------
Class / Object Routine Nature of exception Effect
-------------------------------------------------------------------------------
FIXED_T min @5 current_if_not_greater:
<00007F329C6B04A8> (From COMPARABLE) Postcondition violated. Fail
-------------------------------------------------------------------------------
FIXED_T min @5
<00007F329C6B04A8> (From COMPARABLE) Routine failure. Fail
-------------------------------------------------------------------------------
R_SEGS r_rendermaskedsegrange @27
<00007F329C924058> Routine failure. Fail
-------------------------------------------------------------------------------
R_THINGS r_drawsprite @25
<00007F329C6C6DF8> Routine failure. Fail
-------------------------------------------------------------------------------
R_THINGS r_drawmasked @6
<00007F329C6C6DF8> Routine failure. Fail
-------------------------------------------------------------------------------
R_MAIN r_renderplayerview @11
<00007F329C5B4DA8> Routine failure. Fail
-------------------------------------------------------------------------------
D_DISPLAY d_display @30
<00007F329C7E7408> Routine failure. Fail
-------------------------------------------------------------------------------
D_MAIN d_runframe @27
<00007F329C571538> Routine failure. Fail
-------------------------------------------------------------------------------
D_MAIN d_doomloop @7
<00007F329C571538> Routine failure. Fail
-------------------------------------------------------------------------------
D_MAIN d_doommain @52
<00007F329C571538> Routine failure. Fail
-------------------------------------------------------------------------------
I_MAIN main @2
<00007F329C565B98> Routine failure. Fail
-------------------------------------------------------------------------------
I_MAIN root's creation
<00007F329C565B98> Routine failure. Exit
-------------------------------------------------------------------------------
Strange stuff.......
In https://imustafin.tatar/brie_doom/ported-functions-breakdown we should see LOC increases for contracts too.
Include line counts from require
and ensure
clauses to LOC
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.